diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index a89b6fadf..37c0f65fd 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -1143,6 +1143,7 @@ E4D261E237D5D45E6DF2D0F1 /* ManageRoomMemberSheetModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 787E84119E626E2F0E0BFBE8 /* ManageRoomMemberSheetModels.swift */; }; E4F924DECC66389C1C810550 /* AuthenticationStartScreenBackgroundImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50D685B4DB38BB5BD87C956A /* AuthenticationStartScreenBackgroundImage.swift */; }; E58F1F3276E98A93F7D39219 /* RoomPollsHistoryScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1D8479BB704B7EF696F8ABE /* RoomPollsHistoryScreenCoordinator.swift */; }; + E591742E509A2A009BF25F9D /* RoomEventStringBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE5800184E93CD5E02C6543 /* RoomEventStringBuilderTests.swift */; }; E5AB28123E2488F97E953AC0 /* CallNotificationRoomTimelineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1ED17433ADC77287F8904F9 /* CallNotificationRoomTimelineItem.swift */; }; E5E43A0CA99AF5BA11B194A2 /* EncryptionSettingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57AD14D3ADADE8F6A10F9E88 /* EncryptionSettingsTests.swift */; }; E5F4C992845388B50BABACAA /* ServerSelectionScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8BC4C791D0E88CFCF4E5DF /* ServerSelectionScreenCoordinator.swift */; }; @@ -1875,6 +1876,7 @@ 6A8E19C4645D3F5F9FB02355 /* UnitTestsAppCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnitTestsAppCoordinator.swift; sourceTree = ""; }; 6AB54B4F94686CCF0289B72F /* UserIndicatorPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserIndicatorPresenter.swift; sourceTree = ""; }; 6AD1A853D605C2146B0DC028 /* MatrixEntityRegex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MatrixEntityRegex.swift; sourceTree = ""; }; + 6AE5800184E93CD5E02C6543 /* RoomEventStringBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomEventStringBuilderTests.swift; sourceTree = ""; }; 6B2A421198FD20AAAED20004 /* RoomChangeRolesScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangeRolesScreen.swift; sourceTree = ""; }; 6B5E29E9A22F45534FBD5B58 /* EmojiPickerScreenHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiPickerScreenHeaderView.swift; sourceTree = ""; }; 6C113E0CB7E15E9765B1817A /* EmojiProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiProvider.swift; sourceTree = ""; }; @@ -4318,6 +4320,7 @@ 00E5B2CBEF8F96424F095508 /* RoomDetailsEditScreenViewModelTests.swift */, 2EFE1922F39398ABFB36DF3F /* RoomDetailsViewModelTests.swift */, EE6BFF453838CF6C3982C5A3 /* RoomDirectorySearchScreenScreenViewModelTests.swift */, + 6AE5800184E93CD5E02C6543 /* RoomEventStringBuilderTests.swift */, 4FCB2126C091EEF2454B4D56 /* RoomFlowCoordinatorTests.swift */, 8AE0C9653870803E4F91F474 /* RoomListFiltersStateTests.swift */, EC589E641AE46EFB2962534D /* RoomMemberDetailsViewModelTests.swift */, @@ -6802,6 +6805,7 @@ 9DD84E014ADFB2DD813022D5 /* RoomDetailsEditScreenViewModelTests.swift in Sources */, EA974337FA7D040E7C74FE6E /* RoomDetailsViewModelTests.swift in Sources */, 5B7D24A318AFF75AD611A026 /* RoomDirectorySearchScreenScreenViewModelTests.swift in Sources */, + E591742E509A2A009BF25F9D /* RoomEventStringBuilderTests.swift in Sources */, 095D3906CF2F940C2D2D17CC /* RoomFlowCoordinatorTests.swift in Sources */, 4C8C0C9FC10BA73AB7780534 /* RoomListFiltersStateTests.swift in Sources */, 6B31508C6334C617360C2EAB /* RoomMemberDetailsViewModelTests.swift in Sources */, diff --git a/ElementX/Resources/Localizations/be.lproj/Localizable.strings b/ElementX/Resources/Localizations/be.lproj/Localizable.strings index 247907ef3..d10441791 100644 --- a/ElementX/Resources/Localizations/be.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/be.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Галасавое паведамленне"; "common_waiting" = "Чакаем…"; "common_waiting_for_decryption_key" = "Чакаю гэта паведамленне"; +"common_you" = "Вы"; "common.copied_to_clipboard" = "Скапіравана ў буфер абмену"; "common.do_not_show_this_again" = "Не паказваць гэта зноў"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Ліцэнзіі з адкрытым зыходным кодам"; "common.pinned" = "Замацаваны"; "common.send_to" = "Адправіць"; -"common.you" = "Вы"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Ваша рэзервовая копія чата зараз не сінхранізавана. Вам трэба пацвердзіць ключ аднаўлення, каб захаваць доступ да рэзервовай копіі чата."; diff --git a/ElementX/Resources/Localizations/bg.lproj/Localizable.strings b/ElementX/Resources/Localizations/bg.lproj/Localizable.strings index a0034bf4d..11394dfd2 100644 --- a/ElementX/Resources/Localizations/bg.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/bg.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Гласово съобщение"; "common_waiting" = "Waiting…"; "common_waiting_for_decryption_key" = "В очакване на това съобщение"; +"common_you" = "You"; "common.copied_to_clipboard" = "Copied to clipboard"; "common.do_not_show_this_again" = "Do not show this again"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open source licenses"; "common.pinned" = "Pinned"; "common.send_to" = "Send to"; -"common.you" = "You"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Резервното копие на чатовете ви в момента не е синхронизирано. Въведете ключа си за възстановяване, за да потвърдите достъпа до резервното копие на чатовете си."; diff --git a/ElementX/Resources/Localizations/cs.lproj/Localizable.strings b/ElementX/Resources/Localizations/cs.lproj/Localizable.strings index 50a9c2e9e..77b6316c1 100644 --- a/ElementX/Resources/Localizations/cs.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/cs.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Hlasová zpráva"; "common_waiting" = "Čekání..."; "common_waiting_for_decryption_key" = "Čekání na dešifrovací klíč"; +"common_you" = "Vy"; "common.copied_to_clipboard" = "Zkopírováno do schránky"; "common.do_not_show_this_again" = "Znovu nezobrazovat"; "common.empty_file" = "Prázdný soubor"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licence s otevřeným zdrojovým kódem"; "common.pinned" = "Připnuto"; "common.send_to" = "Odeslat do"; -"common.you" = "Vy"; "common_unable_to_decrypt_insecure_device" = "Šifrováno nezabezpečeným zařízením"; "common_unable_to_decrypt_verification_violation" = "Ověřená identita odesílatele se změnila"; "confirm_recovery_key_banner_message" = "Potvrďte klíč pro obnovení, abyste zachovali přístup k úložišti klíčů a historii zpráv."; diff --git a/ElementX/Resources/Localizations/cy.lproj/Localizable.strings b/ElementX/Resources/Localizations/cy.lproj/Localizable.strings index ea1069782..40d8b4a02 100644 --- a/ElementX/Resources/Localizations/cy.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/cy.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Voice message"; "common_waiting" = "Waiting…"; "common_waiting_for_decryption_key" = "Waiting for this message"; +"common_you" = "Chi"; "common.copied_to_clipboard" = "Wedi'i gopïo i'r clipfwrdd"; "common.do_not_show_this_again" = "Do not show this again"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open source licenses"; "common.pinned" = "Piniwyd"; "common.send_to" = "Anfon at"; -"common.you" = "Chi"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Confirm your recovery key to maintain access to your key storage and message history."; diff --git a/ElementX/Resources/Localizations/de.lproj/Localizable.strings b/ElementX/Resources/Localizations/de.lproj/Localizable.strings index a5e0c3bca..95a2eaba7 100644 --- a/ElementX/Resources/Localizations/de.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/de.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Sprachnachricht"; "common_waiting" = "Warten…"; "common_waiting_for_decryption_key" = "Warte auf diese Nachricht"; +"common_you" = "Sie"; "common.copied_to_clipboard" = "In die Zwischenablage kopiert"; "common.do_not_show_this_again" = "Nicht mehr anzeigen"; "common.empty_file" = "Leere Datei"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open-Source-Lizenzen"; "common.pinned" = "Fixiert"; "common.send_to" = "Senden an"; -"common.you" = "Sie"; "common_unable_to_decrypt_insecure_device" = "Von einem ungesicherten Gerät gesendet"; "common_unable_to_decrypt_verification_violation" = "Die verifizierte Identität des Senders hat sich geändert"; "confirm_recovery_key_banner_message" = "Bestätigen Sie die Validität Ihres Wiederherstellungsschlüssels, um weiterhin auf Ihren Schlüsselspeicher und den Nachrichtenverlauf zugreifen zu können."; diff --git a/ElementX/Resources/Localizations/el.lproj/Localizable.strings b/ElementX/Resources/Localizations/el.lproj/Localizable.strings index 6bf8d9f42..856879f46 100644 --- a/ElementX/Resources/Localizations/el.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/el.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Φωνητικό μήνυμα"; "common_waiting" = "Αναμονή…"; "common_waiting_for_decryption_key" = "Αναμονή για αυτό το μήνυμα"; +"common_you" = "Εσύ"; "common.copied_to_clipboard" = "Αντιγράφηκε στο πρόχειρο"; "common.do_not_show_this_again" = "Να μην εμφανιστεί ξανά"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Άδειες ανοιχτού κώδικα"; "common.pinned" = "Καρφιτσωμένο"; "common.send_to" = "Αποστολή σε"; -"common.you" = "Εσύ"; "common_unable_to_decrypt_insecure_device" = "Στάλθηκε από μια μη ασφαλής συσκευή"; "common_unable_to_decrypt_verification_violation" = "Η επαληθευμένη ταυτότητα του αποστολέα έχει επαναφερθεί"; "confirm_recovery_key_banner_message" = "Επιβεβαίωσε το κλειδί ανάκτησης για να διατηρήσεις την πρόσβαση στο χώρο αποθήκευσης κλειδιών και στο ιστορικό μηνυμάτων."; diff --git a/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings b/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings index bf9a278e4..6240a9e55 100644 --- a/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Voice message"; "common_waiting" = "Waiting…"; "common_waiting_for_decryption_key" = "Waiting for this message"; +"common_you" = "You"; "common.copied_to_clipboard" = "Copied to clipboard"; "common.do_not_show_this_again" = "Do not show this again"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open source licenses"; "common.pinned" = "Pinned"; "common.send_to" = "Send to"; -"common.you" = "You"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Confirm your recovery key to maintain access to your key storage and message history."; diff --git a/ElementX/Resources/Localizations/en.lproj/Localizable.strings b/ElementX/Resources/Localizations/en.lproj/Localizable.strings index 2e9c7d465..50fcd376e 100644 --- a/ElementX/Resources/Localizations/en.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/en.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Voice message"; "common_waiting" = "Waiting…"; "common_waiting_for_decryption_key" = "Waiting for this message"; +"common_you" = "You"; "common.copied_to_clipboard" = "Copied to clipboard"; "common.do_not_show_this_again" = "Do not show this again"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open source licenses"; "common.pinned" = "Pinned"; "common.send_to" = "Send to"; -"common.you" = "You"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Confirm your recovery key to maintain access to your key storage and message history."; diff --git a/ElementX/Resources/Localizations/es.lproj/Localizable.strings b/ElementX/Resources/Localizations/es.lproj/Localizable.strings index e01c914df..ff8ea0ae5 100644 --- a/ElementX/Resources/Localizations/es.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/es.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Mensaje de voz"; "common_waiting" = "Esperando…"; "common_waiting_for_decryption_key" = "Esperando este mensaje"; +"common_you" = "Tú"; "common.copied_to_clipboard" = "Copiado al portapapeles"; "common.do_not_show_this_again" = "No mostrar de nuevo"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licencias de código abierto"; "common.pinned" = "Fijado"; "common.send_to" = "Enviar a"; -"common.you" = "Tú"; "common_unable_to_decrypt_insecure_device" = "Enviado desde un dispositivo no seguro"; "common_unable_to_decrypt_verification_violation" = "La identidad verificada del remitente ha cambiado"; "confirm_recovery_key_banner_message" = "Confirma tu clave de recuperación para mantener el acceso a tu almacén de claves y al historial de mensajes."; diff --git a/ElementX/Resources/Localizations/et.lproj/Localizable.strings b/ElementX/Resources/Localizations/et.lproj/Localizable.strings index 7422234dc..cd0cc4822 100644 --- a/ElementX/Resources/Localizations/et.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/et.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Häälsõnum"; "common_waiting" = "Ootame…"; "common_waiting_for_decryption_key" = "Ootame selle sõnumi dekrüptimisvõtit"; +"common_you" = "Sina"; "common.copied_to_clipboard" = "Kopeeritud lõikelauale"; "common.do_not_show_this_again" = "Ära enam näita seda uuesti"; "common.empty_file" = "Tühi fail"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Avatud lähtekoodiga litsentsid"; "common.pinned" = "Esiletõstetud"; "common.send_to" = "Saada kasutajale"; -"common.you" = "Sina"; "common_unable_to_decrypt_insecure_device" = "Saadetud ebaturvalisest seadmest"; "common_unable_to_decrypt_verification_violation" = "Saatja verifitseeritud identiteet on lähtestatud"; "confirm_recovery_key_banner_message" = "Säilitamaks ligipääsu vestluste ja krüptovõtmete varukoopiale, palun sisesta kinnituseks oma taastevõti."; diff --git a/ElementX/Resources/Localizations/eu.lproj/Localizable.strings b/ElementX/Resources/Localizations/eu.lproj/Localizable.strings index fbe0ff266..a70df1608 100644 --- a/ElementX/Resources/Localizations/eu.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/eu.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Ahots-mezua"; "common_waiting" = "Zain…"; "common_waiting_for_decryption_key" = "Mezu honen zain"; +"common_you" = "Zeu"; "common.copied_to_clipboard" = "Arbelean kopiatu da"; "common.do_not_show_this_again" = "Ez erakutsi berriro"; "common.empty_file" = "Fitxategia hutsik dago"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Kode irekiko lizentziak"; "common.pinned" = "Finkatuta"; "common.send_to" = "Bidali"; -"common.you" = "Zeu"; "common_unable_to_decrypt_insecure_device" = "Egiaztatu gabeko gailu batetik bidalia"; "common_unable_to_decrypt_verification_violation" = "Igorlearen egiaztatutako identitatea berrezarri da"; "confirm_recovery_key_banner_message" = "Confirm your recovery key to maintain access to your key storage and message history."; diff --git a/ElementX/Resources/Localizations/fa.lproj/Localizable.strings b/ElementX/Resources/Localizations/fa.lproj/Localizable.strings index 7baae5f1f..80a31aa89 100644 --- a/ElementX/Resources/Localizations/fa.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/fa.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "پیام صوتی"; "common_waiting" = "در انتظار…"; "common_waiting_for_decryption_key" = "در انتظار این پیام"; +"common_you" = "شما"; "common.copied_to_clipboard" = "در تخته‌گیره رونوشت شد"; "common.do_not_show_this_again" = "این مورد را دوباره نشان نده"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "پروانه‌های نرم‌افزاری آزاد"; "common.pinned" = "سنجاق شده"; "common.send_to" = "فرستادن به"; -"common.you" = "شما"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Confirm your recovery key to maintain access to your key storage and message history."; diff --git a/ElementX/Resources/Localizations/fi.lproj/Localizable.strings b/ElementX/Resources/Localizations/fi.lproj/Localizable.strings index edfe14974..4e1b00248 100644 --- a/ElementX/Resources/Localizations/fi.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/fi.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Ääniviesti"; "common_waiting" = "Odotetaan…"; "common_waiting_for_decryption_key" = "Odotetaan viestiä"; +"common_you" = "Sinä"; "common.copied_to_clipboard" = "Kopioitu leikepöydälle"; "common.do_not_show_this_again" = "Älä näytä tätä uudelleen"; "common.empty_file" = "Tyhjä tiedosto"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Avoimen lähdekoodin lisenssit"; "common.pinned" = "Kiinnitetty"; "common.send_to" = "Jaa"; -"common.you" = "Sinä"; "common_unable_to_decrypt_insecure_device" = "Lähetetty suojaamattomasta laitteesta"; "common_unable_to_decrypt_verification_violation" = "Lähettäjän vahvistettu identiteetti nollattiin"; "confirm_recovery_key_banner_message" = "Vahvista palautusavaimesi, jotta pääset edelleen käyttämään avainten säilytystä ja viestihistoriaa."; diff --git a/ElementX/Resources/Localizations/fr.lproj/Localizable.strings b/ElementX/Resources/Localizations/fr.lproj/Localizable.strings index 0c59d7eba..3726e20f5 100644 --- a/ElementX/Resources/Localizations/fr.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/fr.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Message vocal"; "common_waiting" = "En attente…"; "common_waiting_for_decryption_key" = "En attente de la clé de déchiffrement"; +"common_you" = "Vous"; "common.copied_to_clipboard" = "Copié dans le presse-papiers"; "common.do_not_show_this_again" = "Ne plus afficher"; "common.empty_file" = "Fichier vide"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licences open source"; "common.pinned" = "Épinglé"; "common.send_to" = "Envoyer vers"; -"common.you" = "Vous"; "common_unable_to_decrypt_insecure_device" = "Envoyé depuis un appareil non sécurisé"; "common_unable_to_decrypt_verification_violation" = "L'identité vérifiée de l'expéditeur a été réinitialisée"; "confirm_recovery_key_banner_message" = "Confirmez votre clé de récupération pour conserver l’accès à votre stockage de clés et à l’historique des messages."; diff --git a/ElementX/Resources/Localizations/hu.lproj/Localizable.strings b/ElementX/Resources/Localizations/hu.lproj/Localizable.strings index aa9a2fb74..b6b7b6656 100644 --- a/ElementX/Resources/Localizations/hu.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/hu.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Hangüzenet"; "common_waiting" = "Várakozás…"; "common_waiting_for_decryption_key" = "Várakozás a visszafejtési kulcsra"; +"common_you" = "Ön"; "common.copied_to_clipboard" = "A vágólapra másolva"; "common.do_not_show_this_again" = "Ne jelenjen meg többé"; "common.empty_file" = "Üres fájl"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Nyílt forráskódú licencek"; "common.pinned" = "Kitűzve"; "common.send_to" = "Címzett"; -"common.you" = "Ön"; "common_unable_to_decrypt_insecure_device" = "Nem biztonságos eszközről küldve"; "common_unable_to_decrypt_verification_violation" = "A feladó ellenőrzött személyazonossága megváltozott"; "confirm_recovery_key_banner_message" = "Erősítse meg a helyreállítási kulcsát, hogy továbbra is hozzáférjen a kulcstárolójához és az üzenetelőzményekhez."; diff --git a/ElementX/Resources/Localizations/id.lproj/Localizable.strings b/ElementX/Resources/Localizations/id.lproj/Localizable.strings index 2c63ab300..397038d15 100644 --- a/ElementX/Resources/Localizations/id.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/id.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Pesan suara"; "common_waiting" = "Menunggu…"; "common_waiting_for_decryption_key" = "Menunggu pesan ini"; +"common_you" = "Anda"; "common.copied_to_clipboard" = "Disalin ke papan klip"; "common.do_not_show_this_again" = "Jangan tampilkan ini lagi"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Lisensi sumber terbuka"; "common.pinned" = "Disematkan"; "common.send_to" = "Kirim ke"; -"common.you" = "Anda"; "common_unable_to_decrypt_insecure_device" = "Dikirim dari perangkat yang tidak aman"; "common_unable_to_decrypt_verification_violation" = "Identitas terverifikasi pengirim diatur ulang"; "confirm_recovery_key_banner_message" = "Konfirmasikan kunci pemulihan Anda untuk mempertahankan akses ke penyimpanan kunci dan riwayat pesan Anda."; diff --git a/ElementX/Resources/Localizations/it.lproj/Localizable.strings b/ElementX/Resources/Localizations/it.lproj/Localizable.strings index 3129cf036..69498671a 100644 --- a/ElementX/Resources/Localizations/it.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/it.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Messaggio vocale"; "common_waiting" = "In attesa…"; "common_waiting_for_decryption_key" = "In attesa del messaggio"; +"common_you" = "Tu"; "common.copied_to_clipboard" = "Copiato negli appunti"; "common.do_not_show_this_again" = "Non mostrarlo più"; "common.empty_file" = "File vuoto"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licenze open source"; "common.pinned" = "Fissato"; "common.send_to" = "Invia a"; -"common.you" = "Tu"; "common_unable_to_decrypt_insecure_device" = "Inviato da un dispositivo non sicuro"; "common_unable_to_decrypt_verification_violation" = "L'identità verificata del mittente è stata reimpostata"; "confirm_recovery_key_banner_message" = "Conferma la chiave di recupero per mantenere l'accesso all'archiviazione delle chiavi e alla cronologia dei messaggi."; diff --git a/ElementX/Resources/Localizations/ka.lproj/Localizable.strings b/ElementX/Resources/Localizations/ka.lproj/Localizable.strings index 15c7fb96d..d33159c22 100644 --- a/ElementX/Resources/Localizations/ka.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/ka.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "ხმოვანი შეტყობინება"; "common_waiting" = "მოცდა..."; "common_waiting_for_decryption_key" = "ლოდინი ამ შეტყობინებისათვის"; +"common_you" = "You"; "common.copied_to_clipboard" = "Copied to clipboard"; "common.do_not_show_this_again" = "Do not show this again"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open source licenses"; "common.pinned" = "Pinned"; "common.send_to" = "Send to"; -"common.you" = "You"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "დაადასტურეთ თქვენი აღდგენის გასაღები რათა გქონდეთ წვდომა გასაღებების დამგროვებელთან და შეტყობინებების ისტორიასთან."; diff --git a/ElementX/Resources/Localizations/lt.lproj/Localizable.strings b/ElementX/Resources/Localizations/lt.lproj/Localizable.strings index 3af33cd38..21d96ef8e 100644 --- a/ElementX/Resources/Localizations/lt.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/lt.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Voice message"; "common_waiting" = "Waiting…"; "common_waiting_for_decryption_key" = "Waiting for this message"; +"common_you" = "You"; "common.copied_to_clipboard" = "Copied to clipboard"; "common.do_not_show_this_again" = "Do not show this again"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open source licenses"; "common.pinned" = "Pinned"; "common.send_to" = "Send to"; -"common.you" = "You"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Confirm your recovery key to maintain access to your key storage and message history."; diff --git a/ElementX/Resources/Localizations/nb.lproj/Localizable.strings b/ElementX/Resources/Localizations/nb.lproj/Localizable.strings index 49cdd2dbf..b1951cfd1 100644 --- a/ElementX/Resources/Localizations/nb.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/nb.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Talemelding"; "common_waiting" = "Venter..."; "common_waiting_for_decryption_key" = "Venter på denne meldingen"; +"common_you" = "Du"; "common.copied_to_clipboard" = "Kopiert til utklippstavlen"; "common.do_not_show_this_again" = "Ikke vis dette igjen"; "common.empty_file" = "Tom fil"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Åpen kildekode-lisenser"; "common.pinned" = "Festet"; "common.send_to" = "Sendt til"; -"common.you" = "Du"; "common_unable_to_decrypt_insecure_device" = "Sendt fra en usikker enhet"; "common_unable_to_decrypt_verification_violation" = "Avsenderens verifiserte identitet ble tilbakestilt"; "confirm_recovery_key_banner_message" = "Verifiser gjenopprettingsnøkkelen for å opprettholde tilgangen til nøkkellageret og meldingshistorikken."; @@ -403,7 +403,7 @@ "screen_advanced_settings_show_media_timeline_always_show" = "Vis alltid"; "screen_advanced_settings_show_media_timeline_private_rooms" = "I private rom"; "screen_advanced_settings_show_media_timeline_subtitle" = "Et skjult medium kan alltid vises ved å trykke på det"; -"screen_advanced_settings_show_media_timeline_title" = "Vis media i tidslinjen"; +"screen_advanced_settings_show_media_timeline_title" = "Vis medier i tidslinjen"; "screen_bottom_sheet,manage_room_member_remove" = "Fjern fra rommet"; "screen_bottom_sheet_create_dm_confirmation_button_title" = "Send invitasjon"; "screen_bottom_sheet_create_dm_message" = "Vil du starte en chat med %1$@?"; diff --git a/ElementX/Resources/Localizations/nl.lproj/Localizable.strings b/ElementX/Resources/Localizations/nl.lproj/Localizable.strings index 541765652..f6bb756c0 100644 --- a/ElementX/Resources/Localizations/nl.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/nl.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Spraakbericht"; "common_waiting" = "Wachten…"; "common_waiting_for_decryption_key" = "Wachten op dit bericht"; +"common_you" = "Jij"; "common.copied_to_clipboard" = "Gekopieerd naar klembord"; "common.do_not_show_this_again" = "Dit niet meer weergeven"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open-sourcelicenties"; "common.pinned" = "Vastgezet"; "common.send_to" = "Sturen naar"; -"common.you" = "Jij"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Je chatback-up is momenteel niet gesynchroniseerd. Je moet je herstelsleutel invoeren om toegang te behouden tot je chatback-up."; diff --git a/ElementX/Resources/Localizations/pl.lproj/Localizable.strings b/ElementX/Resources/Localizations/pl.lproj/Localizable.strings index 007661e2c..d03ac1662 100644 --- a/ElementX/Resources/Localizations/pl.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/pl.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Wiadomość głosowa"; "common_waiting" = "Oczekiwanie…"; "common_waiting_for_decryption_key" = "Oczekiwanie na tę wiadomość"; +"common_you" = "Ty"; "common.copied_to_clipboard" = "Skopiowano do schowka"; "common.do_not_show_this_again" = "Nie pokazuj ponownie"; "common.empty_file" = "Pusty plik"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licencje open-source"; "common.pinned" = "Przypięte"; "common.send_to" = "Wyślij do"; -"common.you" = "Ty"; "common_unable_to_decrypt_insecure_device" = "Wysłane z niebezpiecznego urządzenia"; "common_unable_to_decrypt_verification_violation" = "Zweryfikowana tożsamość nadawcy uległa zmianie"; "confirm_recovery_key_banner_message" = "Potwierdź klucz przywracania, aby zachować dostęp do magazynu kluczy i historii wiadomości."; diff --git a/ElementX/Resources/Localizations/pt-BR.lproj/Localizable.strings b/ElementX/Resources/Localizations/pt-BR.lproj/Localizable.strings index 4247b6f23..a1b6f6be1 100644 --- a/ElementX/Resources/Localizations/pt-BR.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/pt-BR.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Mensagem de voz"; "common_waiting" = "Esperando..."; "common_waiting_for_decryption_key" = "Aguardando esta mensagem"; +"common_you" = "Você"; "common.copied_to_clipboard" = "Copied to clipboard"; "common.do_not_show_this_again" = "Não mostrar isto novamente"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licenças de código aberto"; "common.pinned" = "Pinned"; "common.send_to" = "Enviar para"; -"common.you" = "Você"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Confirme sua chave de recuperação para manter o acesso ao seu armazenamento de chaves e histórico de mensagens."; diff --git a/ElementX/Resources/Localizations/pt.lproj/Localizable.strings b/ElementX/Resources/Localizations/pt.lproj/Localizable.strings index 617576b13..22f178795 100644 --- a/ElementX/Resources/Localizations/pt.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/pt.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Mensagem de voz"; "common_waiting" = "A aguardar…"; "common_waiting_for_decryption_key" = "À espera desta mensagem"; +"common_you" = "Tu"; "common.copied_to_clipboard" = "Copiado para a área de transferência"; "common.do_not_show_this_again" = "Não mostrar novamente"; "common.empty_file" = "Ficheiro vazio"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licenças de código aberto"; "common.pinned" = "Afixado"; "common.send_to" = "Enviar para"; -"common.you" = "Tu"; "common_unable_to_decrypt_insecure_device" = "Enviado de um dispositivo inseguro"; "common_unable_to_decrypt_verification_violation" = "A identidade verificada do remetente foi reposta"; "confirm_recovery_key_banner_message" = "Confirma a tua chave de recuperação para manteres o acesso ao teu armazenamento de chaves e ao histórico de mensagens."; diff --git a/ElementX/Resources/Localizations/ro.lproj/Localizable.strings b/ElementX/Resources/Localizations/ro.lproj/Localizable.strings index 73d7217b2..1216e07ff 100644 --- a/ElementX/Resources/Localizations/ro.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/ro.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Mesaj vocal"; "common_waiting" = "Se aşteaptă…"; "common_waiting_for_decryption_key" = "Mesaj în așteptare"; +"common_you" = "Dumneavoastră"; "common.copied_to_clipboard" = "Copiat în clipboard"; "common.do_not_show_this_again" = "Nu mai afișa acest mesaj"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licențe open source"; "common.pinned" = "Fixat"; "common.send_to" = "Trimiteți către"; -"common.you" = "Dumneavoastră"; "common_unable_to_decrypt_insecure_device" = "Trimis de pe un dispozitiv nesigur"; "common_unable_to_decrypt_verification_violation" = "Identitatea verificată a expeditorului s-a schimbat"; "confirm_recovery_key_banner_message" = "Backup-ul pentru chat nu este sincronizat în prezent. Trebuie să confirmați cheia de recuperare pentru a menține accesul la backup."; diff --git a/ElementX/Resources/Localizations/ru.lproj/Localizable.strings b/ElementX/Resources/Localizations/ru.lproj/Localizable.strings index 3300a0162..944c7a875 100644 --- a/ElementX/Resources/Localizations/ru.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/ru.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Голосовое сообщение"; "common_waiting" = "Ожидание…"; "common_waiting_for_decryption_key" = "Ожидание ключа расшифровки"; +"common_you" = "Вы"; "common.copied_to_clipboard" = "Скопировано в буфер обмена"; "common.do_not_show_this_again" = "Не показывать больше"; "common.empty_file" = "Пустой файл"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Лицензии с открытым исходным кодом"; "common.pinned" = "Закрепленный"; "common.send_to" = "Отправить"; -"common.you" = "Вы"; "common_unable_to_decrypt_insecure_device" = "Отправлено с незащищенного устройства"; "common_unable_to_decrypt_verification_violation" = "Подтвержденная личность отправителя была сброшена"; "confirm_recovery_key_banner_message" = "Подтвердите ключ восстановления, чтобы сохранить доступ к хранилищу ключей и истории сообщений."; diff --git a/ElementX/Resources/Localizations/sk.lproj/Localizable.strings b/ElementX/Resources/Localizations/sk.lproj/Localizable.strings index 3797a5ce9..0714dae1f 100644 --- a/ElementX/Resources/Localizations/sk.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/sk.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Hlasová správa"; "common_waiting" = "Čaká sa…"; "common_waiting_for_decryption_key" = "Čaká sa na dešifrovací kľúč"; +"common_you" = "Vy"; "common.copied_to_clipboard" = "Skopírované do schránky"; "common.do_not_show_this_again" = "Nezobrazovať toto znova"; "common.empty_file" = "Prázdny súbor"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licencie s otvoreným zdrojom"; "common.pinned" = "Pripnuté"; "common.send_to" = "Odoslať"; -"common.you" = "Vy"; "common_unable_to_decrypt_insecure_device" = "Odoslané z nezabezpečeného zariadenia"; "common_unable_to_decrypt_verification_violation" = "Overená totožnosť odosielateľa bola obnovená"; "confirm_recovery_key_banner_message" = "Potvrďte svoj kľúč na obnovenie, aby ste zachovali prístup k úložisku kľúčov a histórii správ."; diff --git a/ElementX/Resources/Localizations/sv.lproj/Localizable.strings b/ElementX/Resources/Localizations/sv.lproj/Localizable.strings index 577f85900..a87be76b2 100644 --- a/ElementX/Resources/Localizations/sv.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/sv.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Röstmeddelande"; "common_waiting" = "Väntar …"; "common_waiting_for_decryption_key" = "Väntar på detta meddelande"; +"common_you" = "Du"; "common.copied_to_clipboard" = "Kopierad till klippbordet"; "common.do_not_show_this_again" = "Visa inte detta igen"; "common.empty_file" = "Tom fil"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Licenser för öppen källkod"; "common.pinned" = "Fäst"; "common.send_to" = "Skicka till"; -"common.you" = "Du"; "common_unable_to_decrypt_insecure_device" = "Skickad från en osäker enhet"; "common_unable_to_decrypt_verification_violation" = "Avsändarens verifierade identitet återställdes"; "confirm_recovery_key_banner_message" = "Bekräfta din återställningsnyckel för att behålla åtkomsten till din nyckellagring och meddelandehistorik."; diff --git a/ElementX/Resources/Localizations/tr.lproj/Localizable.strings b/ElementX/Resources/Localizations/tr.lproj/Localizable.strings index b6cbff16d..09595649a 100644 --- a/ElementX/Resources/Localizations/tr.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/tr.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Sesli Mesaj"; "common_waiting" = "Bekleniyor…"; "common_waiting_for_decryption_key" = "Bu mesajı bekliyorum"; +"common_you" = "Sen"; "common.copied_to_clipboard" = "Panoya kopyalandı"; "common.do_not_show_this_again" = "Bunu bir daha gösterme"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Açık kaynak lisansları"; "common.pinned" = "Sabitlendi"; "common.send_to" = "Şuraya gönder"; -"common.you" = "Sen"; "common_unable_to_decrypt_insecure_device" = "Güvenli olmayan bir cihazdan gönderildi"; "common_unable_to_decrypt_verification_violation" = "Gönderenin doğrulanmış kimliği değişti"; "confirm_recovery_key_banner_message" = "Anahtar depolama alanınıza ve mesaj geçmişinize erişimi sürdürmek için kurtarma anahtarınızı onaylayın."; diff --git a/ElementX/Resources/Localizations/uk.lproj/Localizable.strings b/ElementX/Resources/Localizations/uk.lproj/Localizable.strings index f1bc192c9..e7055724b 100644 --- a/ElementX/Resources/Localizations/uk.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/uk.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Голосове повідомлення"; "common_waiting" = "Очікування..."; "common_waiting_for_decryption_key" = "Чекаємо на це повідомлення"; +"common_you" = "Ви"; "common.copied_to_clipboard" = "Скопійовано до буферу обміну"; "common.do_not_show_this_again" = "Не показувати це знову"; "common.empty_file" = "Порожній файл"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Ліцензії відкритого коду"; "common.pinned" = "Закріплено"; "common.send_to" = "Надіслати до"; -"common.you" = "Ви"; "common_unable_to_decrypt_insecure_device" = "Надіслано з незахищеного пристрою"; "common_unable_to_decrypt_verification_violation" = "Ідентичність відправника скинуто"; "confirm_recovery_key_banner_message" = "Підтвердіть свій ключ відновлення, щоб мати доступ до сховища ключів та історії повідомлень."; diff --git a/ElementX/Resources/Localizations/uz.lproj/Localizable.strings b/ElementX/Resources/Localizations/uz.lproj/Localizable.strings index b74409987..b33fae292 100644 --- a/ElementX/Resources/Localizations/uz.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/uz.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "Ovozli xabar"; "common_waiting" = "Kutilmoqda…"; "common_waiting_for_decryption_key" = "Waiting for this message"; +"common_you" = "You"; "common.copied_to_clipboard" = "Copied to clipboard"; "common.do_not_show_this_again" = "Do not show this again"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "Open source licenses"; "common.pinned" = "Pinned"; "common.send_to" = "Send to"; -"common.you" = "You"; "common_unable_to_decrypt_insecure_device" = "Sent from an insecure device"; "common_unable_to_decrypt_verification_violation" = "Sender's verified identity was reset"; "confirm_recovery_key_banner_message" = "Confirm your recovery key to maintain access to your key storage and message history."; diff --git a/ElementX/Resources/Localizations/zh-Hans.lproj/Localizable.strings b/ElementX/Resources/Localizations/zh-Hans.lproj/Localizable.strings index 582677982..558e7f701 100644 --- a/ElementX/Resources/Localizations/zh-Hans.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/zh-Hans.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "语音消息"; "common_waiting" = "等待..."; "common_waiting_for_decryption_key" = "正在等待解密密钥"; +"common_you" = "您"; "common.copied_to_clipboard" = "已复制到剪贴板"; "common.do_not_show_this_again" = "不再显示此内容"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "开源许可证"; "common.pinned" = "已置顶"; "common.send_to" = "发送至"; -"common.you" = "您"; "common_unable_to_decrypt_insecure_device" = "从不安全的设备发送"; "common_unable_to_decrypt_verification_violation" = "发送者的已验证身份已改变"; "confirm_recovery_key_banner_message" = "确认恢复密钥,以保持对密钥存储和消息历史的访问。"; diff --git a/ElementX/Resources/Localizations/zh-Hant-TW.lproj/Localizable.strings b/ElementX/Resources/Localizations/zh-Hant-TW.lproj/Localizable.strings index 85c28b4c7..663ad36e7 100644 --- a/ElementX/Resources/Localizations/zh-Hant-TW.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/zh-Hant-TW.lproj/Localizable.strings @@ -271,6 +271,7 @@ "common_voice_message" = "語音訊息"; "common_waiting" = "等待中..."; "common_waiting_for_decryption_key" = "等待此則訊息"; +"common_you" = "您"; "common.copied_to_clipboard" = "已複製到剪貼簿"; "common.do_not_show_this_again" = "不再顯示"; "common.empty_file" = "Empty file"; @@ -278,7 +279,6 @@ "common.open_source_licenses" = "開放原始碼授權條款"; "common.pinned" = "已釘選"; "common.send_to" = "傳送給"; -"common.you" = "您"; "common_unable_to_decrypt_insecure_device" = "從不安全的裝置傳送"; "common_unable_to_decrypt_verification_violation" = "傳送者的驗證身份已變更"; "confirm_recovery_key_banner_message" = "確認您的復原金鑰以維持對金鑰儲存空間與訊息歷史紀錄的存取權。"; diff --git a/ElementX/Sources/Generated/Strings.swift b/ElementX/Sources/Generated/Strings.swift index 67164ed1c..61a6ffd5d 100644 --- a/ElementX/Sources/Generated/Strings.swift +++ b/ElementX/Sources/Generated/Strings.swift @@ -610,6 +610,8 @@ internal enum L10n { internal static var commonWaiting: String { return L10n.tr("Localizable", "common_waiting") } /// Waiting for this message internal static var commonWaitingForDecryptionKey: String { return L10n.tr("Localizable", "common_waiting_for_decryption_key") } + /// You + internal static var commonYou: String { return L10n.tr("Localizable", "common_you") } /// Confirm your recovery key to maintain access to your key storage and message history. internal static var confirmRecoveryKeyBannerMessage: String { return L10n.tr("Localizable", "confirm_recovery_key_banner_message") } /// Enter your recovery key @@ -2969,8 +2971,6 @@ internal enum L10n { internal static var pinned: String { return L10n.tr("Localizable", "common.pinned") } /// Send to internal static var sendTo: String { return L10n.tr("Localizable", "common.send_to") } - /// You - internal static var you: String { return L10n.tr("Localizable", "common.you") } } } // swiftlint:enable explicit_type_interface function_parameter_count identifier_name line_length diff --git a/ElementX/Sources/Mocks/SDK/EventTimelineItem.swift b/ElementX/Sources/Mocks/SDK/EventTimelineItem.swift index 5ce6b2d9c..a0fc4c1c6 100644 --- a/ElementX/Sources/Mocks/SDK/EventTimelineItem.swift +++ b/ElementX/Sources/Mocks/SDK/EventTimelineItem.swift @@ -12,6 +12,7 @@ import MatrixRustSDK struct EventTimelineItemSDKMockConfiguration { var eventID: String = UUID().uuidString var sender = "" + var senderProfile: ProfileDetails? var isOwn = false var content: TimelineItemContent = .msgLike(content: .init(kind: .redacted, reactions: [], threadRoot: nil, inReplyTo: nil)) } @@ -21,7 +22,7 @@ extension EventTimelineItem { self.init(isRemote: true, eventOrTransactionId: .eventId(eventId: configuration.eventID), sender: configuration.sender, - senderProfile: .pending, + senderProfile: configuration.senderProfile ?? .pending, isOwn: configuration.isOwn, isEditable: false, content: configuration.content, diff --git a/ElementX/Sources/Services/Room/RoomSummary/RoomEventStringBuilder.swift b/ElementX/Sources/Services/Room/RoomSummary/RoomEventStringBuilder.swift index 58a5ef043..5c85e309a 100644 --- a/ElementX/Sources/Services/Room/RoomSummary/RoomEventStringBuilder.swift +++ b/ElementX/Sources/Services/Room/RoomSummary/RoomEventStringBuilder.swift @@ -17,7 +17,9 @@ struct RoomEventStringBuilder { func buildAttributedString(for eventItemProxy: EventTimelineItemProxy) -> AttributedString? { let sender = eventItemProxy.sender let isOutgoing = eventItemProxy.isOwn - let displayName = if shouldDisambiguateDisplayNames { + let displayName = if isOutgoing { + L10n.commonYou + } else if shouldDisambiguateDisplayNames { sender.disambiguatedDisplayName ?? sender.id } else { sender.displayName ?? sender.id diff --git a/UnitTests/Sources/RoomEventStringBuilderTests.swift b/UnitTests/Sources/RoomEventStringBuilderTests.swift new file mode 100644 index 000000000..f45947fb8 --- /dev/null +++ b/UnitTests/Sources/RoomEventStringBuilderTests.swift @@ -0,0 +1,67 @@ +// +// Copyright 2023, 2024 New Vector Ltd. +// +// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial +// Please see LICENSE files in the repository root for full details. +// + +@testable import ElementX +import MatrixRustSDK +import XCTest + +class RoomEventStringBuilderTests: XCTestCase { + var ownUserID: String! + var stringBuilder: RoomEventStringBuilder! + + override func setUp() { + ownUserID = "@alice:matrix.org" + let stateEventStringBuilder = RoomStateEventStringBuilder(userID: ownUserID) + let attributedStringBuilder = AttributedStringBuilder(mentionBuilder: MentionBuilder()) + + stringBuilder = RoomEventStringBuilder(stateEventStringBuilder: stateEventStringBuilder, + messageEventStringBuilder: RoomMessageEventStringBuilder(attributedStringBuilder: attributedStringBuilder, + destination: .roomList), + shouldDisambiguateDisplayNames: true, + shouldPrefixSenderName: true) + } + + func testSenderPrefix() { + let ownMessageString = stringBuilder.buildAttributedString(for: makeTextMessageItem(senderID: ownUserID, senderDisplayName: "Alice")) + XCTAssertEqual(ownMessageString?.string, "You: Hello, World!", + "Your own messages should be prefixed with 'You'") + + let otherMessageString = stringBuilder.buildAttributedString(for: makeTextMessageItem(senderID: "@bob:matrix.org", senderDisplayName: "Bob")) + XCTAssertEqual(otherMessageString?.string, "Bob: Hello, World!", + "Everyone else's messages should be prefixed with their display name.") + + let ambiguousMessageString = stringBuilder.buildAttributedString(for: makeTextMessageItem(senderID: "@charlie:matrix.org", + senderDisplayName: "Charlie", + senderDisplayNameAmbiguous: true)) + XCTAssertEqual(ambiguousMessageString?.string, "Charlie (@charlie:matrix.org): Hello, World!", + "Messages from senders with ambiguous display names should include their user ID in the prefix.") + } + + // MARK: - Helpers + + private func makeTextMessageItem(senderID: String, + senderDisplayName: String? = nil, + senderDisplayNameAmbiguous: Bool = false, + message: String = "Hello, World!") -> EventTimelineItemProxy { + .init(item: .init(configuration: .init(eventID: "1234", + sender: senderID, + senderProfile: .ready(displayName: senderDisplayName, displayNameAmbiguous: senderDisplayNameAmbiguous, avatarUrl: nil), + isOwn: senderID == ownUserID, + content: .msgLike(content: .init(kind: .message(content: .init(msgType: makeTextContent(message: message), + body: message, + isEdited: false, + mentions: nil)), + reactions: [], + threadRoot: nil, + inReplyTo: nil)))), + uniqueID: .init("0")) + } + + private func makeTextContent(message: String) -> MessageType { + .text(content: .init(body: message, formatted: nil)) + } +} diff --git a/localazy.json b/localazy.json index 3158afc15..22911f675 100644 --- a/localazy.json +++ b/localazy.json @@ -8,7 +8,7 @@ "output": "ElementX/Resources/Localizations/${iosLprojFolder}/Localizable.strings", "excludeKeys": ["REGEX:.*_android"], "conditions": [ - "equals: ${languageCode}, en | equals: ${file}, content.json" + "equals: ${langIosStrings}, en | equals: ${file}, content.json" ], "filterPlurals": true, "replacements": { @@ -24,7 +24,7 @@ "output": "ElementX/Resources/Localizations/${iosLprojFolder}/Localizable.stringsdict", "excludeKeys": ["REGEX:.*_android"], "conditions": [ - "equals: ${languageCode}, en | equals: ${file}, content.json" + "equals: ${langIosStrings}, en | equals: ${file}, content.json" ], "replacements": { "%s": "%@", @@ -40,7 +40,7 @@ "changeExtension": "strings", "output": "ElementX/Resources/Localizations/${iosLprojFolder}/${file}", "conditions": [ - "equals: ${languageCode}, en | equals: ${file}, InfoPlist.json" + "equals: ${langIosStrings}, en | equals: ${file}, InfoPlist.json" ] }, @@ -52,7 +52,7 @@ "output": "ElementX/Resources/Localizations/${iosLprojFolder}/Localizable.strings", "excludeKeys": ["REGEX:.*_android"], "conditions": [ - "!equals: ${languageCode}, en | equals: ${file}, content.json" + "equals: ${file}, content.json" ], "filterPlurals": true, "replacements": { @@ -69,7 +69,7 @@ "output": "ElementX/Resources/Localizations/${iosLprojFolder}/Localizable.stringsdict", "excludeKeys": ["REGEX:.*_android"], "conditions": [ - "!equals: ${languageCode}, en | equals: ${file}, content.json" + "equals: ${file}, content.json" ], "replacements": { "%s": "%@", @@ -86,7 +86,7 @@ "changeExtension": "strings", "output": "ElementX/Resources/Localizations/${iosLprojFolder}/${file}", "conditions": [ - "!equals: ${languageCode}, en | equals: ${file}, InfoPlist.json" + "equals: ${file}, InfoPlist.json" ] } ]