From e5d37a324dd6b94971a5d78df0647d433d9a6835 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Mon, 24 Mar 2025 13:02:20 +0100 Subject: [PATCH] Localazy Download (#29577) * [create-pull-request] automated change * Fix playwright tests * Update tests to reflect string changes --------- Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> Co-authored-by: R Midhun Suresh Co-authored-by: Andy Balaam --- playwright/e2e/crypto/event-shields.spec.ts | 2 +- .../e2e/crypto/invisible-crypto.spec.ts | 2 +- .../views/rooms/UserIdentityWarning.tsx | 2 +- src/i18n/strings/cs.json | 25 +++++-- src/i18n/strings/de_DE.json | 35 +++++++-- src/i18n/strings/en_EN.json | 10 +-- src/i18n/strings/fr.json | 4 +- src/i18n/strings/hu.json | 68 +++++++++++++++++ src/i18n/strings/nb_NO.json | 13 +++- src/i18n/strings/uk.json | 17 +++-- .../DecryptionFailureBody-test.tsx.snap | 2 +- .../components/views/rooms/EventTile-test.tsx | 2 +- .../views/rooms/UserIdentityWarning-test.tsx | 73 ++++++------------- 13 files changed, 175 insertions(+), 80 deletions(-) diff --git a/playwright/e2e/crypto/event-shields.spec.ts b/playwright/e2e/crypto/event-shields.spec.ts index 7ac0df28ec..f73f190e10 100644 --- a/playwright/e2e/crypto/event-shields.spec.ts +++ b/playwright/e2e/crypto/event-shields.spec.ts @@ -324,7 +324,7 @@ test.describe("Cryptography", function () { await expect(lastE2eIcon).toHaveClass(/mx_EventTile_e2eIcon_warning/); await lastE2eIcon.focus(); await expect(await app.getTooltipForElement(lastE2eIcon)).toContainText( - "Sender's verified identity has changed", + "Sender's verified identity was reset", ); }); }); diff --git a/playwright/e2e/crypto/invisible-crypto.spec.ts b/playwright/e2e/crypto/invisible-crypto.spec.ts index 198abdac6d..aadb6817ff 100644 --- a/playwright/e2e/crypto/invisible-crypto.spec.ts +++ b/playwright/e2e/crypto/invisible-crypto.spec.ts @@ -52,6 +52,6 @@ test.describe("Invisible cryptography", () => { /* should show an error for a message from a previously verified device */ await bobSecondDevice.sendMessage(testRoomId, "test encrypted from user that was previously verified"); const lastTile = page.locator(".mx_EventTile_last"); - await expect(lastTile).toContainText("Sender's verified identity has changed"); + await expect(lastTile).toContainText("Sender's verified identity was reset"); }); }); diff --git a/src/components/views/rooms/UserIdentityWarning.tsx b/src/components/views/rooms/UserIdentityWarning.tsx index f8a8b8bb9e..12d1ee924f 100644 --- a/src/components/views/rooms/UserIdentityWarning.tsx +++ b/src/components/views/rooms/UserIdentityWarning.tsx @@ -33,7 +33,7 @@ interface UserIdentityWarningProps { /** * Displays a banner warning when there is an issue with a user's identity. * - * Warns when an unverified user's identity has changed, and gives the user a + * Warns when an unverified user's identity was reset, and gives the user a * button to acknowledge the change. */ export const UserIdentityWarning: React.FC = ({ room }) => { diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 548d74d1db..128b182f61 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -64,6 +64,7 @@ "go": "Ok", "go_back": "Zpět", "got_it": "Rozumím", + "hide": "Skrýt", "hide_advanced": "Skrýt pokročilé možnosti", "hold": "Podržet", "ignore": "Ignorovat", @@ -952,8 +953,8 @@ "warning": "Pokud jste nenastavili nový způsob obnovy vy, mohou se pokoušet k vašemu účtu dostat útočníci. Změňte si raději ihned heslo a nastavte nový způsob obnovy v Nastavení." }, "not_supported": "", - "pinned_identity_changed": "%(displayName)s(%(userId)s) se zřejmě změnil. Více informací", - "pinned_identity_changed_no_displayname": "Identita %(userId)s se zřejmě změnila. Další informace", + "pinned_identity_changed": "Identita %(displayName)s (%(userId)s) byla změněna. Další informace", + "pinned_identity_changed_no_displayname": "Identita %(userId)s byla změněna. Další informace", "recovery_method_removed": { "description_1": "Tato relace zjistila, že byla odstraněna vaše bezpečnostní fráze a klíč pro zabezpečené zprávy.", "description_2": "Pokud se vám to stalo neúmyslně, můžete znovu nastavit zálohu zpráv pro tuto relaci. To znovu zašifruje historii zpráv novým způsobem.", @@ -1065,8 +1066,8 @@ "waiting_other_user": "Čekám až nás %(displayName)s ověří…" }, "verification_requested_toast_title": "Žádost ověření", - "verified_identity_changed": "Ověřená identita %(displayName)s (%(userId)s) se změnila. Další informace", - "verified_identity_changed_no_displayname": "Ověřená identita uživatele %(userId)s se změnila. Další informace", + "verified_identity_changed": "Ověřená identita %(displayName)s (%(userId)s) byla změněna. Další informace", + "verified_identity_changed_no_displayname": "Ověřená identita uživatele %(userId)s byla změněna. Další informace", "verify_toast_description": "Ostatní uživatelé této relaci nemusí věřit", "verify_toast_title": "Ověřit tuto relaci", "withdraw_verification_action": "Zrušit ověření" @@ -2101,6 +2102,19 @@ "add_space_label": "Přidat prostor", "breadcrumbs_empty": "Žádné nedávno navštívené místnosti", "breadcrumbs_label": "Nedávno navštívené místnosti", + "empty": { + "no_chats": "Zatím žádné chaty", + "no_chats_description": "Začněte tím, že někomu pošlete zprávu nebo vytvoříte místnost", + "no_chats_description_no_room_rights": "Začněte tím, že někomu pošlete zprávu", + "no_favourites": "Zatím nemáte oblíbený chat", + "no_favourites_description": "Chat si můžete přidat do oblíbených v nastavení chatu", + "no_people": "Zatím s nikým nemáte přímé chaty", + "no_people_description": "Můžete zrušit filtry, abyste viděli své další chaty", + "no_rooms": "Ještě nejste v žádné místnosti", + "no_rooms_description": "Můžete zrušit filtry, abyste viděli své další chaty", + "no_unread": "Gratulujeme! Nemáte žádné nepřečtené zprávy", + "show_chats": "Zobrazit všechny chaty" + }, "failed_add_tag": "Nepodařilo se přidat štítek %(tagName)s k místnosti", "failed_remove_tag": "Nepodařilo se odstranit štítek %(tagName)s z místnosti", "failed_set_dm_tag": "Nepodařilo se nastavit značku přímé zprávy", @@ -3139,6 +3153,7 @@ "view": "Zobrazí místnost s danou adresou", "whois": "Zobrazuje informace o uživateli" }, + "sliding_sync_legacy_no_longer_supported": "Starší klouzavá synchronizace již není podporována: odhlaste se a znovu přihlaste, abyste povolili nový způsob posuvné synchronizace", "space": { "add_existing_room_space": { "create": "Chcete místo toho přidat novou místnost?", @@ -3352,7 +3367,7 @@ "historical_event_no_key_backup": "Historické zprávy nejsou v tomto zařízení k dispozici", "historical_event_unverified_device": "Pro přístup k historickým zprávám je třeba toto zařízení ověřit.", "historical_event_user_not_joined": "K této zprávě nemáte přístup", - "sender_identity_previously_verified": "Ověřená identita se změnila", + "sender_identity_previously_verified": "Ověřená identita odesílatele se změnila", "sender_unsigned_device": "Šifrováno zařízením, které nebylo ověřeno jeho majitelem.", "unable_to_decrypt": "Zprávu nelze dešifrovat" }, diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 890508a829..3c24710f76 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -64,6 +64,7 @@ "go": "Los", "go_back": "Zurück", "got_it": "Verstanden", + "hide": "Verstecken", "hide_advanced": "Erweiterte Einstellungen ausblenden", "hold": "Halten", "ignore": "Blockieren", @@ -455,6 +456,7 @@ "access_token": "Zugriffstoken", "accessibility": "Barrierefreiheit", "advanced": "Erweitert", + "all_chats": "Alle Chats", "analytics": "Analysedaten", "and_n_others": { "other": "und %(count)s weitere …", @@ -950,8 +952,8 @@ "warning": "Wenn du die neue Wiederherstellungsmethode nicht festgelegt hast, versucht ein Angreifer möglicherweise, auf dein Konto zuzugreifen. Ändere dein Kontopasswort und lege sofort eine neue Wiederherstellungsmethode in den Einstellungen fest." }, "not_supported": "", - "pinned_identity_changed": "Die Identität von %(displayName)s (%(userId)s)) hat sich geändert. Mehr erfahren", - "pinned_identity_changed_no_displayname": "Die Identität von %(userId)s hat sich geändert. Mehr erfahren", + "pinned_identity_changed": "%(displayName)s's (%(userId)s) Identität wurde zurückgesetzt. Mehr erfahren ", + "pinned_identity_changed_no_displayname": "%(userId)sDie Identität wurde zurückgesetzt. Erfahre mehr ", "recovery_method_removed": { "description_1": "In dieser Sitzung wurde festgestellt, dass deine Sicherheitsphrase und dein Schlüssel für sichere Nachrichten entfernt wurden.", "description_2": "Wenn du dies versehentlich getan hast, kannst du in dieser Sitzung \"sichere Nachrichten\" einrichten, die den Nachrichtenverlauf dieser Sitzung mit einer neuen Wiederherstellungsmethode erneut verschlüsseln.", @@ -1063,8 +1065,8 @@ "waiting_other_user": "Warte darauf, dass %(displayName)s bestätigt…" }, "verification_requested_toast_title": "Verifizierung angefragt", - "verified_identity_changed": "Die verifizierte Identität von %(displayName)s (%(userId)s) hat sich geändert. Weitere Informationen", - "verified_identity_changed_no_displayname": "Die Identität von %(userId) hat sich geändert. Weitere Informationen", + "verified_identity_changed": "%(displayName)s's (%(userId)s) Identität wurde zurückgesetzt. Erfahren Sie mehr ", + "verified_identity_changed_no_displayname": "%(userId)sDie Identität wurde zurückgesetzt. Erfahren Sie mehr ", "verify_toast_description": "Andere Benutzer vertrauen ihr vielleicht nicht", "verify_toast_title": "Sitzung verifizieren", "withdraw_verification_action": "Verifizierung zurückziehen" @@ -2094,6 +2096,19 @@ "add_space_label": "Space hinzufügen", "breadcrumbs_empty": "Keine kürzlich besuchten Räume", "breadcrumbs_label": "Kürzlich besuchte Räume", + "empty": { + "no_chats": "Noch keine Chats", + "no_chats_description": "Beginnen Sie, indem Sie jemandem eine Nachricht senden oder einen Raum erstellen", + "no_chats_description_no_room_rights": "Beginnen Sie damit, jemandem eine Nachricht zu senden", + "no_favourites": "Sie haben noch keinen Lieblingschat", + "no_favourites_description": "Sie können einen Chat in den Chat-Einstellungen zu Ihren Favoriten hinzufügen", + "no_people": "Sie haben noch keine direkten Chats", + "no_people_description": "Sie können Filter deaktivieren, um Ihre anderen Chats anzuzeigen", + "no_rooms": "Sie sind noch in keinem Raum", + "no_rooms_description": "Sie können Filter deaktivieren, um Ihre anderen Chats anzuzeigen", + "no_unread": "Glückwunsch! Sie haben keine ungelesenen Nachrichten", + "show_chats": "Alle Chats anzeigen" + }, "failed_add_tag": "Fehler beim Hinzufügen des \"%(tagName)s\"-Tags an dem Raum", "failed_remove_tag": "Entfernen der Raum-Kennzeichnung %(tagName)s fehlgeschlagen", "failed_set_dm_tag": "Fehler beim Setzen der Nachrichtenmarkierung", @@ -2110,6 +2125,14 @@ "other": "Betrete %(count)s Räume" }, "list_title": "Raumliste", + "more_options": { + "copy_link": "Raumlink kopieren", + "favourited": "Favorisiert", + "leave_room": "Raum verlassen", + "low_priority": "Niedrige Priorität", + "mark_read": "Als gelesen markieren", + "mark_unread": "Als ungelesen markieren" + }, "notification_options": "Benachrichtigungsoptionen", "open_space_menu": "Menü „Raum öffnen“", "primary_filters": "Filter für die Raumliste", @@ -2118,6 +2141,7 @@ "other": "Entferne Nachrichten in %(count)s Räumen" }, "room": { + "more_options": "Weitere Optionen", "open_room": "Raum öffnen %(roomName)s" }, "show_less": "Weniger anzeigen", @@ -3123,6 +3147,7 @@ "view": "Raum mit angegebener Adresse betrachten", "whois": "Zeigt Informationen über Benutzer" }, + "sliding_sync_legacy_no_longer_supported": "Legacy Sliding Sync wird nicht mehr unterstützt: Bitte melden Sie sich ab und wieder an, um das neue Sliding Sync-Flag zu aktivieren", "space": { "add_existing_room_space": { "create": "Willst du einen neuen Raum hinzufügen?", @@ -3336,7 +3361,7 @@ "historical_event_no_key_backup": "Der historische Nachrichtenverlauf ist auf diesem Gerät nicht verfügbar.", "historical_event_unverified_device": "Sie müssen dieses Gerät verifizieren, um auf den Nachrichtenverlauf zugreifen zu können", "historical_event_user_not_joined": "Sie haben keinen Zugriff auf diese Nachricht", - "sender_identity_previously_verified": "Die verifizierte Identität des Absenders hat sich geändert", + "sender_identity_previously_verified": "Die verifizierte Identität des Absenders wurde zurückgesetzt", "sender_unsigned_device": "Von einem unsicheren Gerät verschickt.", "unable_to_decrypt": "Entschlüsselung der Nachricht nicht möglich" }, diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 19fd6475d8..6130c2cada 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -953,8 +953,8 @@ "warning": "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings." }, "not_supported": "", - "pinned_identity_changed": "%(displayName)s's (%(userId)s) identity appears to have changed. Learn more", - "pinned_identity_changed_no_displayname": "%(userId)s's identity appears to have changed. Learn more", + "pinned_identity_changed": "%(displayName)s's (%(userId)s) identity was reset. Learn more", + "pinned_identity_changed_no_displayname": "%(userId)s's identity was reset. Learn more", "recovery_method_removed": { "description_1": "This session has detected that your Security Phrase and key for Secure Messages have been removed.", "description_2": "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.", @@ -1066,8 +1066,8 @@ "waiting_other_user": "Waiting for %(displayName)s to verify…" }, "verification_requested_toast_title": "Verification requested", - "verified_identity_changed": "%(displayName)s's (%(userId)s) verified identity has changed. Learn more", - "verified_identity_changed_no_displayname": "%(userId)s's verified identity has changed. Learn more", + "verified_identity_changed": "%(displayName)s's (%(userId)s) identity was reset. Learn more", + "verified_identity_changed_no_displayname": "%(userId)s's identity was reset. Learn more", "verify_toast_description": "Other users may not trust it", "verify_toast_title": "Verify this session", "withdraw_verification_action": "Withdraw verification" @@ -3369,7 +3369,7 @@ "historical_event_no_key_backup": "Historical messages are not available on this device", "historical_event_unverified_device": "You need to verify this device for access to historical messages", "historical_event_user_not_joined": "You don't have access to this message", - "sender_identity_previously_verified": "Sender's verified identity has changed", + "sender_identity_previously_verified": "Sender's verified identity was reset", "sender_unsigned_device": "Sent from an insecure device.", "unable_to_decrypt": "Unable to decrypt message" }, diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index d816ea9c25..640bbbb412 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -1065,8 +1065,8 @@ "waiting_other_user": "En attente de la vérification de %(displayName)s…" }, "verification_requested_toast_title": "Vérification requise", - "verified_identity_changed": "%(displayName)s l'identité vérifiée de (%(userId)s) a changé. En savoir plus ", - "verified_identity_changed_no_displayname": "L'identité vérifiée de %(userId)s a changé. En savoir plus ", + "verified_identity_changed": "L'identité de %(displayName)s (%(userId)s) a été réinitialisée. En savoir plus", + "verified_identity_changed_no_displayname": "L'identité de %(userId)s a été réinitialisée. En savoir plus ", "verify_toast_description": "D’autres utilisateurs pourraient ne pas lui faire confiance", "verify_toast_title": "Vérifier cette session", "withdraw_verification_action": "Révoquer la vérification" diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 86c6b1909b..0a1c201a10 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -64,6 +64,7 @@ "go": "Meghívás", "go_back": "Vissza", "got_it": "Értem", + "hide": "Elrejtés", "hide_advanced": "Speciális beállítások elrejtése", "hold": "Várakoztatás", "ignore": "Mellőzés", @@ -103,6 +104,7 @@ "reply": "Válasz", "reply_in_thread": "Válasz üzenetszálban", "report_content": "Tartalom jelentése", + "report_room": "Szoba jelentése", "resend": "Újraküldés", "reset": "Visszaállítás", "resume": "Folytatás", @@ -407,6 +409,15 @@ "download_logs": "Naplók letöltése", "downloading_logs": "Naplók letöltése folyamatban", "error_empty": "Mondja el nekünk, hogy mi az, ami nem működött, vagy még jobb, ha egy GitHub-jegyben írja le a problémát.", + "failed_download_logs": "A hibakeresési naplók letöltése sikertelen: ", + "failed_send_logs_causes": { + "disallowed_app": "A hibajelentését elutasították. A rageshake kiszolgáló nem támogatja ezt az alkalmazást.", + "rejected_generic": "A hibajelentését elutasították. A rageshake kiszolgáló egy irányelv miatt elutasította a jelentés tartalmát.", + "rejected_recovery_key": "A hibajelentését biztonsági okokból elutasították, mivel helyreállítási kulcsot tartalmazott.", + "rejected_version": "A hibajelentését elutasították, mivel a futtatott verziója túl régi.", + "server_unknown_error": "A rageshake kiszolgáló ismeretlen hibát észlelt, és nem tudta kezelni a jelentést.", + "unknown_error": "A naplók elküldése sikertelen." + }, "github_issue": "GitHub-jegy", "introduction": "Ha a GitHubon keresztül küldött be hibajegyet, akkor a hibakeresési naplók segítenek nekünk felderíteni a problémát. ", "log_request": "Segítsen abban, hogy ez később ne fordulhasson elő, küldje el nekünk a naplókat.", @@ -446,6 +457,7 @@ "access_token": "Hozzáférési kulcs", "accessibility": "Akadálymentesség", "advanced": "Speciális", + "all_chats": "Összes csevegés", "analytics": "Analitika", "and_n_others": { "és még: %(count)s ...": "other", @@ -1288,6 +1300,7 @@ "error_connecting_heading": "Nem lehet kapcsolódni az integrációkezelőhöz", "explainer": "Az integrációkezelők megkapják a beállításokat, módosíthatják a kisalkalmazásokat, szobameghívókat küldhetnek és a hozzáférési szintet állíthatnak be az Ön nevében.", "manage_title": "Integrációk kezelése", + "toggle_label": "Az integrációkezelő engedélyezése", "use_im": "Integrációkezelő használata a botok, kisalkalmazások és matricacsomagok kezeléséhez.", "use_im_default": "Integrációkezelő használata (%(serverName)s) a botok, kisalkalmazások és matricacsomagok kezeléséhez." }, @@ -1787,6 +1800,12 @@ "spam_or_propaganda": "Kéretlen tartalom vagy propaganda", "toxic_behaviour": "Mérgező viselkedés" }, + "report_room": { + "description": "A szoba jelentése a Matrix-kiszolgáló rendszergazdájának. Ez elküldi a szoba egyedi azonosítóját, de ha az üzenetek titkosítva vannak, a rendszergazda nem fogja tudni elolvasni azokat, vagy megtekinteni a megosztott fájlokat.", + "reason_placeholder": " A jelentés oka…", + "sent": "A jelentés elküldve.", + "title": "Szoba jelentése" + }, "restore_key_backup_dialog": { "count_of_decryption_failures": "%(failedCount)s munkamenetet nem lehet visszafejteni!", "count_of_successfully_restored_keys": "%(sessionCount)s kulcs sikeresen helyreállítva", @@ -2069,6 +2088,19 @@ "add_space_label": "Tér hozzáadása", "breadcrumbs_empty": "Nincsenek nemrégiben meglátogatott szobák", "breadcrumbs_label": "Nemrég meglátogatott szobák", + "empty": { + "no_chats": "Még nincsenek csevegések", + "no_chats_description": "Kezdje azzal, hogy üzenetet küld valakinek, vagy létrehoz egy szobát", + "no_chats_description_no_room_rights": "Kezdje azzal, hogy üzenetet küld valakinek", + "no_favourites": "Még nincs kedvenc csevegése", + "no_favourites_description": "A csevegési beállításokban adhat hozzá csevegést a kedvencekhez", + "no_people": "Még nincs közvetlen csevegése senkivel", + "no_people_description": "Kikapcsolhatja a szűrőket a többi csevegés megtekintéséhez", + "no_rooms": "Még nincs egy szobában sem", + "no_rooms_description": "Kikapcsolhatja a szűrőket a többi csevegés megtekintéséhez", + "no_unread": "Gratulálunk! Nincsenek olvasatlan üzenetei.", + "show_chats": "Összes csevegés megjelenítése" + }, "failed_add_tag": "Nem sikerült hozzáadni a szobához ezt: %(tagName)s", "failed_remove_tag": "Nem sikerült a szobáról eltávolítani ezt: %(tagName)s", "failed_set_dm_tag": "Nem sikerült a közvetlen beszélgetés címkét beállítani", @@ -2083,10 +2115,25 @@ "joining_rooms_status": { "%(count)s szobába lép be": "other" }, + "list_title": "Szobalista", + "more_options": { + "copy_link": "Szoba hivatkozásának másolása", + "favourited": "Kedvencnek jelölve", + "leave_room": "Szoba elhagyása", + "low_priority": "Alacsony prioritás", + "mark_read": "Megjelölés olvasottként", + "mark_unread": "Megjelölés olvasatlanként" + }, "notification_options": "Értesítési beállítások", + "open_space_menu": "Tér menü megnyitása", + "primary_filters": "Szobalistaszűrők", "redacting_messages_status": { "Üzenet törlése %(count)s szobából": "other" }, + "room": { + "more_options": "További lehetőségek", + "open_room": "A(z) %(roomName)s szoba megnyitása" + }, "show_less": "Kevesebb megjelenítése", "show_n_more": { "Még %(count)s megjelenítése": "one" @@ -2096,6 +2143,10 @@ "sort_by_activity": "Aktivitás", "sort_by_alphabet": "A-Z", "sort_unread_first": "Olvasatlan üzeneteket tartalmazó szobák megjelenítése elöl", + "space_menu": { + "home": "Tér kezdőlapja", + "space_settings": "Tér beállításai" + }, "space_menu_label": "%(spaceName)s menű", "sublist_options": "Lista beállításai", "suggested_rooms_heading": "Javasolt szobák" @@ -2457,20 +2508,35 @@ "breadcrumb_title_forgot": "Elfelejtette a helyreállítási kulcsot? Újra be kell állítania a személyazonosságát.", "breadcrumb_warning": "Csak akkor tegye ezt, ha úgy gondolja, hogy fiókját feltörték.", "details_title": "Titkosítás részletei", + "do_not_close_warning": "Ne zárja be ezt az ablakot, amíg az alaphelyzetbe állítás be nem fejeződik", "export_keys": "Kulcsok exportálása", "import_keys": "Kulcsok importálása", "other_people_device_description": "Alapértelmezés szerint titkosított szobákban ne küldjön titkosított üzeneteket senkinek, amíg nem ellenőrizte őket.", "other_people_device_label": "Sose küldjön titkosított üzeneteket nem ellenőrzött eszközökre", "other_people_device_title": "Mások eszközei", "reset_identity": "Kriptográfiai személyazonosság alaphelyzetbe állítása", + "reset_in_progress": "Alaphelyzetbe állítás folyamatban…", "session_id": "Munkamenet-azonosító:", "session_key": "Munkamenetkulcs:", "title": "Speciális" }, + "delete_key_storage": { + "breadcrumb_page": "Kulcstároló törlése", + "confirm": "Kulcstároló törlése", + "description": "A kulcstároló törlése eltávolítja a kriptográfiai személyazonosságát és üzenetkulcsait a kiszolgálóról, és kikapcsolja a következő biztonsági funkciókat:", + "list_first": "Nem lesznek meg a titkosított üzenetek előzményei az új eszközein", + "list_second": "Elveszíti a titkosított üzenetekhez való hozzáférését, ha mindenhol kijelentkezik az %(brand)sből.", + "title": "Biztos, hogy kikapcsolja a kulcstárolót és törli azt?" + }, "device_not_verified_button": "Az eszköz ellenőrzése", "device_not_verified_description": "A titkosítási beállítások megtekintéséhez ellenőriznie kell ezt az eszközt.", "device_not_verified_title": "Az eszköz nincs ellenőrizve", "dialog_title": "Beállítások: Titkosítás", + "key_storage": { + "allow_key_storage": "Kulcstárolás engedélyezése", + "description": "Tárolja biztonságosan a kriptográfiai személyazonosságát és az üzenetkulcsokat a kiszolgálón. Ez lehetővé teszi az üzenetek előzményeinek megtekintését bármely új eszközön. További információk", + "title": "Kulcstároló" + }, "recovery": { "change_recovery_confirm_button": "Új helyreállítási kulcs megerősítése", "change_recovery_confirm_description": "A befejezéshez adja meg alább az új helyreállítási kulcsot. A régi már nem fog működni.", @@ -2587,6 +2653,7 @@ "inline_url_previews_room": "Webcím-előnézetek alapértelmezett engedélyezése a szobatagok számára", "inline_url_previews_room_account": "Webcím-előnézetek engedélyezése ebben a szobában (csak Önt érinti)", "insert_trailing_colon_mentions": "Záró kettőspont beszúrása egy felhasználó üzenet elején való megemlítésekor", + "invite_avatars": "Azon szobák profilképének megjelenítése, melybe meghívták", "jump_to_bottom_on_send": "Üzenetküldés után az idővonal aljára ugrás", "key_backup": { "backup_in_progress": "A kulcsaid mentése folyamatban van (az első mentés több percig is eltarthat).", @@ -3064,6 +3131,7 @@ "view": "Megadott címmel rendelkező szobák megjelenítése", "whois": "Információt jelenít meg a felhasználóról" }, + "sliding_sync_legacy_no_longer_supported": "A régi csúszóablakos szinkronizálás már nem támogatott: jelentkezzen ki, és lépjen be újra az új csúszóablakos szinkronizálás engedélyezéséhez.", "space": { "add_existing_room_space": { "create": "Inkább új szobát adna hozzá?", diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index 791a4bddd2..d2fc530894 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -104,6 +104,7 @@ "reply": "Svar", "reply_in_thread": "Svar i tråd", "report_content": "Rapporter innhold", + "report_room": "Rapporter rom", "resend": "Send på nytt", "reset": "Nullstill", "resume": "Fortsett", @@ -953,7 +954,7 @@ }, "not_supported": "", "pinned_identity_changed": "%(displayName)ss (%(userId)s) identitet ser ut til å ha endret seg. Finn ut mer", - "pinned_identity_changed_no_displayname": "%(userId)ss identitet ser ut til å ha endret seg. Finn ut mer", + "pinned_identity_changed_no_displayname": "%(userId)ss identitet ble tilbakestilt. Finn ut mer", "recovery_method_removed": { "description_1": "Denne sesjonen har oppdaget at din sikkerhetsfrase og nøkkelen for sikre meldinger har blitt fjernet.", "description_2": "Hvis du gjorde dette ved et uhell, kan du konfigurere sikre meldinger på denne økten som vil kryptere denne øktens meldingshistorikk på nytt med en ny gjenopprettingsmetode.", @@ -1065,8 +1066,8 @@ "waiting_other_user": "Venter på at %(displayName)s skal bekrefte..." }, "verification_requested_toast_title": "Verifisering ble forespurt", - "verified_identity_changed": "%(displayName)ss (%(userId)s) verifiserte identitet har endret seg. Lær mer ", - "verified_identity_changed_no_displayname": "%(userId)s's verifiserte identitet har endret seg. Lær mer om dette", + "verified_identity_changed": "%(displayName)ss (%(userId)s) verifiserte identitet ble tilbakestilt. Lær mer ", + "verified_identity_changed_no_displayname": "%(userId)s's verifiserte identitet ble tilbakestilt. Lær mer om dette", "verify_toast_description": "Andre brukere kan kanskje mistro den", "verify_toast_title": "Verifiser denne økten", "withdraw_verification_action": "Trekk tilbake verifisering" @@ -1810,6 +1811,12 @@ "spam_or_propaganda": "Spam eller propaganda", "toxic_behaviour": "Giftig oppførsel" }, + "report_room": { + "description": "Rapporter dette rommet til hjemmeserveradministratoren din. Dette vil sende rommets unike ID, men hvis meldinger er kryptert, vil ikke administratoren kunne lese dem eller se delte filer.", + "reason_placeholder": " Årsak til rapportering...", + "sent": "Rapporten din ble sendt.", + "title": "Rapporter rom" + }, "restore_key_backup_dialog": { "count_of_decryption_failures": "Kunne ikke dekryptere %(failedCount)s økter!", "count_of_successfully_restored_keys": "Vellykket gjenoppretting av %(sessionCount)s nøkler", diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 6a5156a14a..e778d947d5 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -104,6 +104,7 @@ "reply": "Відповісти", "reply_in_thread": "Відповісти у гілці", "report_content": "Поскаржитись на вміст", + "report_room": "Поскаржитися на кімнату", "resend": "Перенадіслати", "reset": "Скинути", "resume": "Продовжити", @@ -953,8 +954,8 @@ "warning": "Якщо ви не встановлювали нового способу відновлення, ймовірно хтось намагається зламати ваш обліковий запис. Негайно змініть пароль до свого облікового запису й встановіть новий спосіб відновлення в налаштуваннях." }, "not_supported": "<не підтримується>", - "pinned_identity_changed": "Схоже, особистість %(displayName)s (%(userId)s) змінилася. Докладніше", - "pinned_identity_changed_no_displayname": "Схоже, особистість %(userId)s змінилася. Докладніше", + "pinned_identity_changed": "Ідентичність %(displayName)s (%(userId)s) скинуто. Докладніше", + "pinned_identity_changed_no_displayname": "Ідентичність %(userId)s скинуто. Докладніше", "recovery_method_removed": { "description_1": "Цей сеанс виявив, що ваша фраза безпеки й ключ до захищених повідомлень були видалені.", "description_2": "Якщо це ненароком зробили ви, налаштуйте захищені повідомлення для цього сеансу, щоб повторно зашифрувати історію листування цього сеансу з новим способом відновлення.", @@ -1066,8 +1067,8 @@ "waiting_other_user": "Очікування звірки %(displayName)s…" }, "verification_requested_toast_title": "Запит перевірки", - "verified_identity_changed": "Підтверджена особистість %(displayName)s (%(userId)s) змінилася. Докладніше", - "verified_identity_changed_no_displayname": "Верифіковану особистість %(userId)s змінено. Докладніше ", + "verified_identity_changed": "Ідентичність %(displayName)s (%(userId)s) скинуто. Докладніше", + "verified_identity_changed_no_displayname": "Ідентичність %(userId)s скинуто. Докладніше ", "verify_toast_description": "Інші користувачі можуть не довіряти цьому", "verify_toast_title": "Звірити цей сеанс", "withdraw_verification_action": "Відкликати верифікацію" @@ -1812,6 +1813,12 @@ "spam_or_propaganda": "Спам чи пропаганда", "toxic_behaviour": "Токсична поведінка" }, + "report_room": { + "description": "Поскаржитися на цю кімнату адміністратору домашнього сервера. Це надішле унікальний ID кімнати, але якщо повідомлення зашифровані, адміністратор не зможе прочитати їх або переглянути спільні файли.", + "reason_placeholder": "Причина для скарги...", + "sent": "Вашу скаргу надіслано.", + "title": "Поскаржитися на кімнату" + }, "restore_key_backup_dialog": { "count_of_decryption_failures": "Не вдалося розшифрувати %(failedCount)s сеансів!", "count_of_successfully_restored_keys": "Успішно відновлено %(sessionCount)s ключів", @@ -3366,7 +3373,7 @@ "historical_event_no_key_backup": "Історичні повідомлення недоступні на цьому пристрої", "historical_event_unverified_device": "Щоб отримати доступ до історичних повідомлень, потрібно верифікувати цей пристрій", "historical_event_user_not_joined": "Ви не маєте доступу до цього повідомлення", - "sender_identity_previously_verified": "Верифіковану особистість змінено", + "sender_identity_previously_verified": "Верифіковану ідентичність відправника скинуто", "sender_unsigned_device": "Зашифровано пристроєм, який не верифіковано його власником.", "unable_to_decrypt": "Не вдалося розшифрувати повідомлення" }, diff --git a/test/unit-tests/components/views/messages/__snapshots__/DecryptionFailureBody-test.tsx.snap b/test/unit-tests/components/views/messages/__snapshots__/DecryptionFailureBody-test.tsx.snap index 599a7719d5..8c67d88bb4 100644 --- a/test/unit-tests/components/views/messages/__snapshots__/DecryptionFailureBody-test.tsx.snap +++ b/test/unit-tests/components/views/messages/__snapshots__/DecryptionFailureBody-test.tsx.snap @@ -38,7 +38,7 @@ exports[`DecryptionFailureBody should handle messages from users who change iden d="M12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12q0-1.35-.437-2.6A8 8 0 0 0 18.3 7.1L7.1 18.3q1.05.825 2.3 1.262T12 20m-6.3-3.1L16.9 5.7a8 8 0 0 0-2.3-1.263A7.8 7.8 0 0 0 12 4Q8.65 4 6.325 6.325T4 12q0 1.35.438 2.6A8 8 0 0 0 5.7 16.9" /> - Sender's verified identity has changed + Sender's verified identity was reset diff --git a/test/unit-tests/components/views/rooms/EventTile-test.tsx b/test/unit-tests/components/views/rooms/EventTile-test.tsx index 0a9a53d60a..b04633925a 100644 --- a/test/unit-tests/components/views/rooms/EventTile-test.tsx +++ b/test/unit-tests/components/views/rooms/EventTile-test.tsx @@ -305,7 +305,7 @@ describe("EventTile", () => { [EventShieldReason.AUTHENTICITY_NOT_GUARANTEED, "can't be guaranteed"], [EventShieldReason.MISMATCHED_SENDER_KEY, "Encrypted by an unverified session"], [EventShieldReason.SENT_IN_CLEAR, "Not encrypted"], - [EventShieldReason.VERIFICATION_VIOLATION, "Sender's verified identity has changed"], + [EventShieldReason.VERIFICATION_VIOLATION, "Sender's verified identity was reset"], ])("shows the correct reason code for %i (%s)", async (reasonCode: EventShieldReason, expectedText: string) => { mxEvent = await mkEncryptedMatrixEvent({ plainContent: { msgtype: "m.text", body: "msg1" }, diff --git a/test/unit-tests/components/views/rooms/UserIdentityWarning-test.tsx b/test/unit-tests/components/views/rooms/UserIdentityWarning-test.tsx index 7aad13643e..4f0c58f7a4 100644 --- a/test/unit-tests/components/views/rooms/UserIdentityWarning-test.tsx +++ b/test/unit-tests/components/views/rooms/UserIdentityWarning-test.tsx @@ -145,9 +145,7 @@ describe("UserIdentityWarning", () => { renderComponent(client, room); await waitFor(() => - expect( - getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), - ).toBeInTheDocument(), + expect(getWarningByText("Alice's (@alice:example.org) identity was reset.")).toBeInTheDocument(), ); await userEvent.click(screen.getByRole("button")!); await waitFor(() => expect(crypto.pinCurrentUserIdentity).toHaveBeenCalledWith("@alice:example.org")); @@ -168,7 +166,7 @@ describe("UserIdentityWarning", () => { renderComponent(client, room); await waitFor(() => - expect(getWarningByText("Alice's (@alice:example.org) verified identity has changed.")).toBeInTheDocument(), + expect(getWarningByText("Alice's (@alice:example.org) identity was reset.")).toBeInTheDocument(), ); expect( @@ -192,8 +190,7 @@ describe("UserIdentityWarning", () => { renderComponent(client, room); await sleep(10); // give it some time to finish initialising - expect(() => getWarningByText("Alice's (@alice:example.org) identity appears to have changed.")).toThrow(); - expect(() => getWarningByText("Alice's (@alice:example.org) verified identity has changed.")).toThrow(); + expect(() => getWarningByText("Alice's (@alice:example.org) identity was reset.")).toThrow(); }); // We don't display warnings in non-encrypted rooms, but if encryption is @@ -213,7 +210,7 @@ describe("UserIdentityWarning", () => { renderComponent(client, room); await sleep(10); // give it some time to finish initialising - expect(() => getWarningByText("Alice's (@alice:example.org) identity appears to have changed.")).toThrow(); + expect(() => getWarningByText("Alice's (@alice:example.org) identity was reset.")).toThrow(); // Encryption gets enabled in the room. We should now warn that Alice's // identity changed. @@ -234,9 +231,7 @@ describe("UserIdentityWarning", () => { null, ); await waitFor(() => - expect( - getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), - ).toBeInTheDocument(), + expect(getWarningByText("Alice's (@alice:example.org) identity was reset.")).toBeInTheDocument(), ); }); @@ -255,9 +250,7 @@ describe("UserIdentityWarning", () => { crypto.pinCurrentUserIdentity = jest.fn(); renderComponent(client, room); - await waitFor(() => - expect(getWarningByText("@a:example.org's identity appears to have changed.")).toBeInTheDocument(), - ); + await waitFor(() => expect(getWarningByText("@a:example.org's identity was reset.")).toBeInTheDocument()); }); it("Ensure existing prompt stays even if a new violation with lower lexicographic order detected", async () => { @@ -273,9 +266,7 @@ describe("UserIdentityWarning", () => { crypto.pinCurrentUserIdentity = jest.fn(); renderComponent(client, room); - await waitFor(() => - expect(getWarningByText("@b:example.org's identity appears to have changed.")).toBeInTheDocument(), - ); + await waitFor(() => expect(getWarningByText("@b:example.org's identity was reset.")).toBeInTheDocument()); // Simulate a new member joined with lower lexico order and also in violation mockMembershipForRoom(room, ["@a:example.org", "@b:example.org"]); @@ -285,9 +276,7 @@ describe("UserIdentityWarning", () => { }); // We should still display the warning for @b:example.org - await waitFor(() => - expect(getWarningByText("@b:example.org's identity appears to have changed.")).toBeInTheDocument(), - ); + await waitFor(() => expect(getWarningByText("@b:example.org's identity was reset.")).toBeInTheDocument()); }); }); @@ -307,7 +296,7 @@ describe("UserIdentityWarning", () => { await sleep(50); }); - expect(() => getWarningByText("Alice's (@alice:example.org) identity appears to have changed.")).toThrow(); + expect(() => getWarningByText("Alice's (@alice:example.org) identity was reset.")).toThrow(); // The user changes their identity, so we should show the warning. act(() => { @@ -317,9 +306,7 @@ describe("UserIdentityWarning", () => { }); await waitFor(() => - expect( - getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), - ).toBeInTheDocument(), + expect(getWarningByText("Alice's (@alice:example.org) identity was reset.")).toBeInTheDocument(), ); // Simulate the user's new identity having been approved, so we no @@ -330,7 +317,7 @@ describe("UserIdentityWarning", () => { client.emit(CryptoEvent.UserTrustStatusChanged, "@alice:example.org", newStatus); }); await waitFor(() => - expect(() => getWarningByText("Alice's (@alice:example.org) identity appears to have changed.")).toThrow(), + expect(() => getWarningByText("Alice's (@alice:example.org) identity was reset.")).toThrow(), ); }); @@ -355,7 +342,7 @@ describe("UserIdentityWarning", () => { }); await waitFor(() => - expect(getWarningByText("@alice:example.org's identity appears to have changed.")).toBeInTheDocument(), + expect(getWarningByText("@alice:example.org's identity was reset.")).toBeInTheDocument(), ); // Bob is invited. His identity needs approval, so we should show a @@ -372,12 +359,8 @@ describe("UserIdentityWarning", () => { emitMembershipChange(client, "@alice:example.org", "leave"); }); - await waitFor(() => - expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(), - ); - await waitFor(() => - expect(getWarningByText("@bob:example.org's identity appears to have changed.")).toBeInTheDocument(), - ); + await waitFor(() => expect(() => getWarningByText("@alice:example.org's identity was reset.")).toThrow()); + await waitFor(() => expect(getWarningByText("@bob:example.org's identity was reset.")).toBeInTheDocument()); }); it("when invited users cannot see encrypted messages", async () => { @@ -399,7 +382,7 @@ describe("UserIdentityWarning", () => { emitMembershipChange(client, "@alice:example.org", "join"); }); await waitFor(() => - expect(getWarningByText("@alice:example.org's identity appears to have changed.")).toBeInTheDocument(), + expect(getWarningByText("@alice:example.org's identity was reset.")).toBeInTheDocument(), ); // Bob is invited. His identity needs approval, but we don't encrypt @@ -419,12 +402,8 @@ describe("UserIdentityWarning", () => { mockMembershipForRoom(room, [["@bob:example.org", "invited"]]); emitMembershipChange(client, "@alice:example.org", "leave"); }); - await waitFor(() => - expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(), - ); - await waitFor(() => - expect(() => getWarningByText("@bob:example.org's identity appears to have changed.")).toThrow(), - ); + await waitFor(() => expect(() => getWarningByText("@alice:example.org's identity was reset.")).toThrow()); + await waitFor(() => expect(() => getWarningByText("@bob:example.org's identity was reset.")).toThrow()); }); it("when member leaves immediately after component is loaded", async () => { @@ -448,7 +427,7 @@ describe("UserIdentityWarning", () => { renderComponent(client, room); await sleep(10); }); - expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(); + expect(() => getWarningByText("@alice:example.org's identity was reset.")).toThrow(); }); it("when member leaves immediately after joining", async () => { @@ -496,7 +475,7 @@ describe("UserIdentityWarning", () => { null, ); await sleep(10); // give it some time to finish - expect(() => getWarningByText("@alice:example.org's identity appears to have changed.")).toThrow(); + expect(() => getWarningByText("@alice:example.org's identity was reset.")).toThrow(); }); }); @@ -516,9 +495,7 @@ describe("UserIdentityWarning", () => { renderComponent(client, room); // We should warn about Alice's identity first. await waitFor(() => - expect( - getWarningByText("Alice's (@alice:example.org) identity appears to have changed."), - ).toBeInTheDocument(), + expect(getWarningByText("Alice's (@alice:example.org) identity was reset.")).toBeInTheDocument(), ); // Simulate Alice's new identity having been approved, so now we warn @@ -534,9 +511,7 @@ describe("UserIdentityWarning", () => { }); client.emit(CryptoEvent.UserTrustStatusChanged, "@alice:example.org", newStatus); }); - await waitFor(() => - expect(getWarningByText("@bob:example.org's identity appears to have changed.")).toBeInTheDocument(), - ); + await waitFor(() => expect(getWarningByText("@bob:example.org's identity was reset.")).toBeInTheDocument()); }); it("displays the next user when the verification requirement is withdrawn", async () => { @@ -556,7 +531,7 @@ describe("UserIdentityWarning", () => { renderComponent(client, room); // We should warn about Alice's identity first. await waitFor(() => - expect(getWarningByText("Alice's (@alice:example.org) verified identity has changed.")).toBeInTheDocument(), + expect(getWarningByText("Alice's (@alice:example.org) identity was reset.")).toBeInTheDocument(), ); // Simulate Alice's new identity having been approved, so now we warn @@ -575,8 +550,6 @@ describe("UserIdentityWarning", () => { new UserVerificationStatus(false, false, false, false), ); }); - await waitFor(() => - expect(getWarningByText("@bob:example.org's identity appears to have changed.")).toBeInTheDocument(), - ); + await waitFor(() => expect(getWarningByText("@bob:example.org's identity was reset.")).toBeInTheDocument()); }); });