MESSENGER-3304 string in separate files

This commit is contained in:
Frank Rotermund
2022-09-19 11:53:45 +02:00
parent 84ccb9378d
commit 226e55caf7
91 changed files with 2975 additions and 1342 deletions

10
Podfile.rej Normal file
View File

@@ -0,0 +1,10 @@
diff a/Podfile b/Podfile (rejected hunks)
@@ -44,7 +44,7 @@ $matrixSDKVersionSpec = $matrixSDKVersion
end
# $matrixSDKVersionSpec = { :git => 'https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk', :branch => 'master' }
-$matrixSDKVersionSpec = { :git => 'https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk.git', :tag => 'v0.23.13_bwi_2' }
+$matrixSDKVersionSpec = { :git => 'https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk.git', :tag => 'v0.23.13_bwi_3' }
# Method to import the MatrixSDK
def import_MatrixSDK

View File

@@ -14,33 +14,41 @@
* limitations under the License.
*/
// MARK: - Attachment
// MARK: - Content Scanner
"content_scan_status_failed" = "Fehler beim Laden";
"content_scan_status_in_progress" = "Scanne...";
"content_scan_status_infected" = "Blockiert";
"content_scan_status_trusted" = "✓ Sicher";
// MARK: - Server Downtime
"downtime_title" = "Server nicht erreichbar";
"downtime_default_message" = "Wir führen gerade Wartungsarbeiten durch. Bitte versuche es später erneut.";
"downtime_alert_dismiss_button" = "Zurück";
"settings_downtime_message_same_day" = "Der BwMessenger steht von %@-%@ Uhr (UTC%@) nicht zur Verfügung.";
"settings_downtime_message_different_days" = "Der BwMessenger steht von %@ Uhr (UTC%@) bis %@ Uhr (UTC%@) nicht zur Verfügung.";
// MARK: - Server Selection (beta)
"bwi_auth_beta_selection_title" = "Serverauswahl";
"bwi_auth_beta_selection_button_title" = "Vorauswahl";
// MARK: - Developer Settings (beta)
"bwi_settings_developer_apply_app_config" = "MDM Config: MSG Demo";
"bwi_settings_developer_apply_orig_app_config" = "MDM Config: BW";
"bwi_settings_developer_reset_app_config" = "MDM Config: Reset";
"bwi_settings_developer_restrict_user" = "Nutzer einschränken";
"bwi_settings_developer_unrestrict_user" = "Nutzereinschränkung aufheben";
"bwi_settings_developer_unmark_banner" = "Banner als nicht gelesen markieren";
// MARK: - MDM
"bwi_mdm_logout_message" = "Die Konfiguration hat sich geändert. Bitte melde dich neu an.";
// MARK - Notification Times bwi
// MARK: - Notification Times
"bwi_notification_times_monday" = "Montag";
"bwi_notification_times_tuesday" = "Dienstag";
"bwi_notification_times_wednesday" = "Mittwoch";
@@ -67,6 +75,8 @@
"bwi_notification_times_status_activated" = "Am %@ bekommst du Benachrichtigungen";
"bwi_notification_times_status_deactivated" = "Am %@ bekommst du keine Benachrichtigungen";
// MARK: - Room Member
"bwi_room_member_details_userlabel" = "Funktion in %@: %@";
"bwi_room_member_section_userlabels" = "Funktion in %@";
"bwi_room_member_userlabels_description" = "Als Administrator kannst du für Personen im Raum eine Funktion hinzufügen und entfernen.\nDiese ist für alle Raummitglieder sichtbar.";
@@ -74,9 +84,398 @@
"bwi_room_member_userlabels_button_save" = "Sichern";
"bwi_room_member_userlabels_button_delete" = "Löschen";
// MARK: - Timeline
"bwi_timeline_userlabel_removed_for_user" = "für %@ die Funktion entfernt: %@";
"bwi_timeline_userlabel_added_for_user" = "%@ zur Funktion ernannt: %@";
"bwi_timeline_userlabel_prefix_you" = "Du hast %@";
"bwi_timeline_userlabel_prefix_other_user" = "%@ hat %@";
// MARK: - Onboarding
"onboarding_use_case_message" = "Wir helfen dir, dich zu verbinden.";
"onboarding_use_case_skip_button" = "diese Frage überspringen";
"onboarding_congratulations_message" = "Dein Account %@ wurde erstellt.";
// MARK: -
"view" = "Ansehen";
"next" = "Nächster";
"continue" = "Weiter";
"create" = "Erstelle";
"start" = "Starte";
"invite" = "Einladen";
"retry" = "Wiederholen";
"cancel" = "Abbruch";
"save" = "Speichern";
"join" = "Betreten";
"collapse" = "Einklappen";
"send_to" = "Senden an %@";
"sending" = "Senden";
"close" = "Beenden";
"skip" = "Überspringen";
"joined" = "Beigetreten";
"switch" = "Switch";
"more" = "mehr";
"room_details_title" = "Raumdetails";
"room_details_title_for_dm" = "Details";
"title_favourites" = "Favoriten";
"title_people" = "Personen";
"title_rooms" = "Räume";
"warning" = "Warnung";
"search_people_placeholder" = "Name von Kontakt eingeben";
// MARK: - Authentication
"auth_user_id_placeholder" = "Benutzername";
"auth_forgot_password" = "Passwort vergessen?";
"bwi_auth_forgot_password_alert_text" = "Falls du dein Passwort vergessen hast, wende dich an deinen Poolverwalter oder gehe auf das SelfServicePortal im IntranetBw und setze dein Passwort zurück.";
// MARK: - Room Participants
"room_participants_leave_prompt_title_for_dm" = "Verlassen";
"room_participants_leave_prompt_msg_for_dm" = "Bist du sicher, dass du die Konversation verlassen möchtest?";
"room_participants_cant_leave_prompt_message" = "Du kannst den Raum nicht verlassen, da es keine weiteren Admins im Raum gibt.";
"room_participants_invite_prompt_to_msg" = "Bist du sicher, dass du %@ zu %@ einladen möchtest";
"room_participants_filter_room_members" = "Filtere Raum-Mitglieder";
"room_participants_filter_room_members_for_dm" = "Mitglieder filtern";
"room_participants_action_ban" = "Aus diesem Raum bannen";
"room_participants_action_ignore" = "Alle Nachrichten von diesem Nutzer verbergen";
"room_participants_action_unignore" = "Zeige alle Nachrichten von diesem Nutzer";
"room_participants_action_set_moderator" = "Gib Moderationsrechte";
"room_participants_action_set_admin" = "Mache zum Administrator";
"room_participants_action_permalink" = "Nutzer teilen";
"room_event_action_permalink" = "Nachricht teilen";
// MARK: - Settings
"settings_default" = "Benachrichtigungen";
"settings_mentions_and_keywords" = "Mentions and Keywords";
"settings_other" = "Erweitert";
"settings_notify_me_for" = "Benachrichtige mich für";
"settings_direct_messages" = "Direktnachrichten";
"settings_encrypted_direct_messages" = "Direktnachrichten";
"settings_group_messages" = "Räume";
"settings_encrypted_group_messages" = "Räume";
"settings_messages_containing_display_name" = "Erwähnungen";
"settings_messages_containing_user_name" = "Mein Nutzername";
"settings_messages_containing_at_room" = "@room";
"settings_messages_containing_keywords" = "Keywords";
"settings_room_invitations" = "Einladungen";
"settings_call_invitations" = "Call invitations";
"settings_messages_by_a_bot" = "Messages by a bot";
"settings_room_upgrades" = "Room upgrades";
"settings_your_keywords" = "Your Keywords";
"settings_new_keyword" = "Add new Keyword";
"settings_mentions_and_keywords_encryption_notice" = "You wont get notifications for mentions & keywords in encrypted rooms on mobile.";
"settings_unignore_user_message" = "Diese Aktion kann eine Weile dauern.";
"settings_element_version" = "Element-Version %@";
"settings_old_password" = "Aktuelles Passwort";
"settings_new_password" = "Neues Passwort";
"settings_confirm_password" = "Neues Passwort bestätigen";
"settings_password_updated" = "Dein Passwort wurde aktualisiert";
"settings_password_condition" = "Regeln: Mindestlänge 8 Zeichen, mind. 1 Sonderzeichen, 1 Groß- und 1 Kleinbuchstaben und 1 Ziffer";
"settings_password_too_short_message" = "Das Passwort muss aus mindestens 8 Zeichen bestehen";
"settings_password_has_no_digit" = "Das Passwort muss mindestens eine Ziffer enthalten";
"settings_password_has_no_symbol" = "Das Passwort muss mindestens ein Sonderzeichen enthalten";
"settings_password_has_no_uppercase_letter" = "Das Passwort muss mindestens einen Großbuchstaben enthalten";
"settings_password_has_no_lowercase_letter" = "Das Passwort muss mindestens einen Kleinbuchstaben enthalten";
"settings_about" = "Erweitert";
"bwi_settings_ignored_users_text" = "Ignorierte Nutzer";
// MARK: - Room Details
"room_details_access_section_for_dm" = "Wer hat Zugriff hierauf?";
"room_details_access_section_access_toggle_bw" = "Öffentlicher Raum";
"room_details_access_section_anyone_apart_from_guest" = "Jeder, der den Raumlink kennt - außer Gäste";
"room_details_no_local_addresses_for_dm" = "Keine lokalen Adressen vorhanden";
"room_details_advanced_room_id_for_dm" = "ID:";
"room_details_advanced_e2e_encryption_enabled_for_dm" = "Verschlüsselung ist hier aktiviert";
"room_details_advanced_e2e_encryption_disabled_for_dm" = "Verschlüsselung ist hier nicht aktiviert.";
"room_creation_invite_another_user" = "Name von Kontakt eingeben";
"directory_search_results" = "%tu Treffer gefunden für %@";
"directory_search_results_more_than" = ">%tu Treffer gefunden für %@";
"room_participants_invite_another_user" = "Name von Kontakt eingeben";
"settings_fail_to_update_profile_message" = "Das Ändern des Anzeigenamens ist nicht erlaubt";
"settings_support" = "Support";
"room_details_search" = "Suche";
"room_details_files" = "Dateien";
"room_details_access_section_directory_toggle" = "Zeige alle Räume in diesem Verzeichnis";
"room_details_access_section_directory_toggle_for_dm" = "Im Raum-Verzeichnis auflisten";
"network_offline_title" = "Du bist offline";
"network_offline_message" = "Du bist offline. Überprüfe deine Netzwerkverbindung!";
"homeserver_connection_lost" = "Die Verbindung zum Heimserver ist fehlgeschlagen.";
// MARK: - Key Backup
"key_backup_setup_passphrase_title" = "Sichere dein Backup mit einem Wiederherstellungsschlüssel";
"key_backup_setup_passphrase_info" = "Wir speichern eine verschlüsselte Kopie deiner Schlüssel auf unserem Server. Schütze deine Sicherung mit einem Wiederherstellungsschlüssel, um sie sicher zu halten.\n\nFür maximale Sicherheit sollte sich dieser von deinem Passwort unterscheiden.";
"key_backup_setup_passphrase_passphrase_title" = "";
"key_backup_setup_passphrase_passphrase_placeholder" = "Wiederherstellungsschlüssel";
"key_backup_setup_passphrase_passphrase_invalid" = "Versuche ein weiteres Zeichen hinzuzufügen";
"key_backup_setup_passphrase_confirm_passphrase_title" = "";
"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Wiederherstellungsschlüssel";
"key_backup_setup_passphrase_confirm_passphrase_invalid" = "Keine Übereinstimmung";
"key_backup_setup_passphrase_set_passphrase_action" = "Setze Wiederherstellungsschlüssel";
"key_backup_setup_passphrase_setup_recovery_key_info" = "Oder sichere deine Sicherung mit einem Wiederherstellungsschlüssel, und sichere sie an einem sicheren Ort.";
"key_backup_setup_passphrase_setup_recovery_key_action" = "(Erweitert) Mit Wiederherstellungsschlüssel einrichten";
"key_backup_setup_success_from_passphrase_info" = "Deine Schlüssel werden gesichert.\n\nDein Wiederherstellungsschlüssel ist ein Sicherheitsnetzwerk - Du kannst damit den Zugriff auf deine verschlüsselten Nachrichten wiederherstellen, wenn du deine Verschlüsselungskennwort vergisst.\n\nBewahre den Wiederherstellungsschlüssel an einem sehr sicheren Ort auf, beispielsweise einem Kennwortmanager (oder einem Tresor).";
"key_backup_setup_success_from_passphrase_save_recovery_key_action" = "Wiederherstellungsschlüssel speichern";
"key_backup_setup_success_from_recovery_key_info" = "Deine Schlüssel werden gesichert.\n\nErstelle eine Kopie dieses Wiederherstellungsschlüssels und bewahre ihn auf.";
"key_backup_setup_success_from_recovery_key_recovery_key_title" = "Verschlüsselungskennwort";
"key_backup_recover_title" = "Sichere Nachrichten";
"key_backup_recover_invalid_passphrase_title" = "Falscher Wiederherstellungsschlüssel";
"key_backup_recover_invalid_passphrase" = "Sicherung konnte nicht mit diesem Wiederherstellungsschlüssel entschlüsselt werden: Bitte stelle sicher, dass du den richtigen Wiederherstellungsschlüssel eingegeben hast.";
"key_backup_recover_invalid_recovery_key_title" = "Verschlüsselungskennwort passt nicht";
"key_backup_recover_invalid_recovery_key" = "Sicherung konnte mit diesem Schlüssel nicht entschlüsselt werden: Bitte stelle sicher, dass du das richtige Verschlüsselungskennwort eingegeben hast.";
"key_backup_recover_from_passphrase_info" = "Nutze dein Verschlüsselungskennwort um deinen sicheren Chatverlauf zu entschlüsseln";
"key_backup_recover_from_passphrase_passphrase_title" = "Gebe";
"key_backup_recover_from_passphrase_passphrase_placeholder" = "Wiederherstellungsschlüssel eingeben";
"key_backup_recover_from_passphrase_lost_passphrase_action_part1" = "Wiederherstellungsschlüssel vergessen? Du kannst ";
"key_backup_recover_from_passphrase_lost_passphrase_action_part2" = "nutze dein Wiederherstellungsschlüssel";
"key_backup_recover_from_recovery_key_info" = "Nutze dein Verschlüsselungskennwort um deinen sicheren Chatverlauf zu entschlüsseln";
"key_backup_recover_from_recovery_key_recovery_key_placeholder" = "Gebe Verschlüsselungskennwort ein";
"key_backup_recover_from_recovery_key_lost_recovery_key_action" = "Hast du dein Verschlüsselungskennwort verloren? Du kannst in den Einstellungen ein neues einrichten.";
"e2e_key_backup_wrong_version" = "Eine neues Schlüsselbackup wurde erkannt.\n\nWenn dies nicht der Fall war, lege in den Einstellungen ein neues Verschlüsselungskennwort fest.";
// MARK: - Device Verification
"device_verification_verified_got_it_button" = "Fertig";
"device_verification_verified_title" = "Geschafft!";
"image_picker_action_remove_photo" = "Foto entfernen";
"room_participants_security_information_room_not_encrypted_for_dm" = "Die Nachrichten hier sind nicht Ende-zu-Ende verschlüsselt.";
"room_participants_security_information_room_encrypted" = "Nachrichten in diesem Raum sind Ende-zu-Ende verschlüsselt.\n\nDeine Nachrichten sind mit digitalen Schlüsseln gesichert, nur du und der/die Empfänger!n haben die einzigen Schlüssel, um jene zu entschlüsseln.";
"security_settings_crypto_sessions_description" = "Vertraue Sitzungen, um Zugriff auf Ende-zu-Ende verschlüsselte Nachrichten zu gewähren. Wenn du eine Sitzung nicht kennst, ändere dein Passwort und setze dein Nachrichtenpasswort für die Nachrichtensicherung zurück.";
"room_participants_security_information_room_encrypted_for_dm" = "Nachrichten hier sind Ende-zu-Ende verschlüsselt.\n\nDeine Nachrichten sind mit digitalen Schlüsseln gesichert, nur du und der/die Empfänger!n haben die einzigen Schlüssel, um jene zu entsperren.";
"room_widget_permission_avatar_url_permission" = "Deine Profilbild-URL";
"device_verification_self_verify_wait_title" = "Verifiziere dieses Gerät";
"device_verification_self_verify_wait_information" = "Verfiziere dieses Gerät von einer Deiner anderen Sitzungen, um Zugriff auf die verschlüsselten Nachrichten zu erhalten.";
"device_verification_self_verify_wait_information_more" = "Benutze die neuste Messenger-Sitzung auf deinem anderen Gerät:";
"client_desktop_name" = "BundesMessenger Desktop";
"client_web_name" = "BundesMessenger Web";
"client_ios_name" = "BundesMessenger iOS";
"client_android_name" = "BundesMessenger Android";
"skip" = "Überspringen";
"room_member_power_level_admin_in" = "Administrator in %@";
"room_member_power_level_moderator_in" = "Moderator in %@";
"security_settings_secure_backup_delete" = "Lösche";
"security_settings_crosssigning_info_ok" = "Cross-signing ist angeschaltet.";
"security_settings_crosssigning_reset" = "Cross-signing zurücksetzen";
"security_settings_user_password_description" = "Bestätige deine Identität durch Eingabe des Passwort";
"secure_key_backup_setup_intro_title" = "Wiederherstellungsschlüssel";
"secure_key_backup_setup_intro_info" = "Damit du deine Nachrichten bei einem erneuten Login auf diesem Gerät entschlüsseln kannst, richte einen Wiederherstellungsschlüssel ein.";
"secure_key_backup_setup_intro_use_security_passphrase_title" = "Wiederherstellungsschlüssel";
"secure_key_backup_setup_intro_use_security_passphrase_info" = "Nutze deinen Wiederherstellungsschlüssel, um alle deine Nachrichten zu entschlüsseln.";
"key_verification_this_session_title" = "Wiederherstellungsschlüssel";
"device_verification_self_verify_wait_recover_secrets_without_passphrase" = "Verschlüsselungskennwort verwenden";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Alternative Wiederherstellung";
"device_verification_self_verify_wait_recover_secrets_additional_information" = "Nutze Dein Wiederherstellungsschlüssel um alle Deine Nachrichten zu entschlüsseln";
"key_verification_verified_new_session_information" = "Du kannst nun sichere Nachrichten auf deinem neuen Gerät lesen. Andere Benutzer wissen, dass sie es vertrauen können.";
"key_verification_verified_this_session_information" = "Deine Chats wurden erfolgreich wiederhergestellt.";
// MARK: - Secrets Recovery
"secrets_recovery_reset_action_part_1" = "Keine anderen Geräte zur Verfikation verfügbar oder Kennwort vergessen?";
"secrets_recovery_reset_action_part_2" = "Verschlüsselungskennwort zurücksetzen";
"secrets_recovery_with_passphrase_recover_action" = "Weiter";
"secrets_recovery_with_passphrase_title" = "Wiederherstellungsschlüssel";
"secrets_recovery_with_passphrase_information_default" = "Gib dein Wiederherstellungsschlüssel ein, um auf deine verschlüsselten Nachrichten und deine Cross-Signing-Identität zuzugreifen. Mit der Cross-Signing-Identität kannst du andere Sitzungen verifizieren.";
"secrets_recovery_with_passphrase_information_verify_device" = "Nutze deinen Wiederherstellungsschlüssel, um alle deine Nachrichten zu entschlüsseln.";
"secrets_recovery_with_passphrase_passphrase_placeholder" = "Wiederherstellungsschlüssel";
"secrets_recovery_with_passphrase_lost_passphrase_action_part1" = "Wenn du deinen Wiederherstellungsschlüssel nicht weißt, kannst du ";
"secrets_recovery_with_passphrase_lost_passphrase_action_part2" = "nutze deinen Wiederherstellungsschlüssel";
"secrets_recovery_with_passphrase_invalid_passphrase_message" = "Bitte stell sicher, dass du den korrekten Wiederherstellungsschlüssel eingegeben hast.";
"secrets_recovery_with_key_title" = "Verschlüsselungskennwort";
"secrets_recovery_with_key_information_default" = "Gib dein Verschlüsselungskennwort ein, um auf deine verschlüsselten Nachrichten und deine Cross-Signing-Identität zuzugreifen. Mit der Cross-Signing-Identität kannst du andere Sitzungen verifizieren.";
"secrets_recovery_with_key_information_verify_device" = "Nutze dein Verschlüsselungskennwort um dieses Gerät zu verifizieren.";
"secrets_recovery_with_key_recovery_key_placeholder" = "Verschlüsselungskennwort eingeben";
"secrets_recovery_with_key_invalid_recovery_key_message" = "Bitte stell sicher, dass du das korrekte Verschlüsselungskennwort benutzt hast.";
"secrets_setup_recovery_key_title" = "Wiederherstellungsschlüssel";
"secrets_setup_recovery_key_information" = "Geschafft!\n\nDer Wiederherstellungsschlüssel wurde erfolgreich gesetzt.";
"secrets_setup_recovery_key_done_action" = "Fertig";
"secrets_recovery_with_passphrase_passphrase_title" = "";
"secrets_recovery_with_key_recovery_key_title" = "";
"secrets_setup_recovery_passphrase_title" = "Wiederherstellungsschlüssel";
"secrets_setup_recovery_passphrase_information" = "Ein Wiederherstellungsschlüssel kann ein Satz sein, den du dir gut merken kannst.\n\nWenn du diesen vergisst, können deine Nachrichten nicht mehr entschlüsselt werden.";
"secrets_setup_recovery_passphrase_additional_information" = "⚠️ Benutze hier nicht dein Passwort.";
"secrets_setup_recovery_passphrase_confirm_information" = "Gib deinen Wiederherstellungsschlüssel zur Bestätigung erneut ein.";
"secrets_setup_recovery_passphrase_confirm_passphrase_title" = "";
"secrets_setup_recovery_passphrase_confirm_passphrase_placeholder" = "Wiederherstellungsschlüssel";
"secrets_reset_title" = "Verschlüsselung zurücksetzen";
"secrets_reset_information" = "Bitte fahre nur fort, wenn Du kein anderes Gerät hast um diesen Login zu verifizieren.";
"secrets_reset_warning_title" = "Wenn Du die Verschlüsselung zurücksetzt:";
"secrets_reset_warning_message" = "Du verlierst dadurch deinen gesamten bisherigen Nachrichtenverlauf, sowie verfizierte Geräte oder Nutzer!";
"secrets_reset_reset_action" = "Zurücksetzen";
"secrets_reset_authentication_message" = "Bestätige mit deinem Passwort!";
// MARK: - PIN Protection
"pin_protection_confirm_pin" = "Bestätige deine PIN";
"pin_protection_confirm_pin_to_change" = "Aktuelle PIN eingeben";
"pin_protection_settings_section_header_x" = "PIN";
"pin_protection_choose_pin_welcome_after_login" = "Willkommen!";
"pin_protection_choose_pin_welcome_after_register" = "Willkommen!";
// MARK: - Biometrics Protection
"biometrics_mode_cant_unlock_button_title" = "PIN eingeben";
// MARK: - Searchable Directory View Controller
"searchable_directory_create_new_room" = "Erstelle einen neuen Raum";
"searchable_directory_x_network" = "%@ Netzwerk";
"searchable_directory_search_placeholder" = "Raumname suchen";
"searchable_directory_room_title" = "Raumverzeichnis";
"create_room_placeholder_topic" = "Thema";
// MARK: - Jailbreak
"jailbreak_alert_title" = "Systemanforderungen";
"jailbreak_alert_message" = "%@ unterstützt nur nicht modifizierte iOS-Versionen.";
// MARK: - Integrity
"integrity_alert_title" = "Fehler beim Appstart";
"integrity_alert_message" = "Deine Zugangsdaten sind leider nicht mehr in der App gespeichert. Bitte beende den Messenger und logge dich neu ein. Dabei musst du deinen Pin Code neu setzen und dich durch dein Verschlüsselungskennwort verifizieren.";
// MARK: - Splash Screen
"splash_screen_title" = "Dein Messenger für unser Land";
"splash_screen_first_info" = "Chats mit Kameraden und Kollegen";
"splash_screen_second_info" = "Sicher Medien und Dateien übertragen";
"splash_screen_third_info" = "Immer verschlüsselt";
"splash_screen_start" = "Loslegen";
"secrets_setup_recovery_passphrase_summary_information" = "Erinnere dich an deinen Wiederherstellungsschlüssel. Dieser dient zur Entschlüsselung deiner bereits empfangenen Nachrichten und Daten.";
"secrets_setup_recovery_passphrase_summary_title" = "Sichere deinen Wiederherstellungsschlüssel";
// Mark: - Room Creation
"room_intro_cell_information_dm_sentence1_part1" = "Das ist der Anfang deiner Direktnachricht mit ";
"room_avatar_view_accessibility_hint" = "Raumbild ändern";
"room_avatar_view_accessibility_label" = "Profilbild";
"room_details_permalink" = "Raum teilen";
"settings_enable_notification_times" = "Benachrichtigungszeiten";
"user_avatar_view_accessibility_hint" = "Profilbild ändern";
"user_avatar_view_accessibility_label" = "Profilbild";
"secrets_recovery_with_key_information_unlock_secure_backup_with_phrase" = "Zum Forfahren gib deinen Wiederherstellungsschlüssel ein.";
// Mark: - Voice Messages
"voice_message_release_to_send" = "Zur Aufnahme halten, zum Senden loslassen";
"voice_message_remaining_recording_time" = "noch %@s";
"voice_message_stop_locked_mode_recording" = "Klick die Nachricht um zu stoppen oder zu hören";
"voice_message_lock_screen_placeholder" = "Sprachnachricht";
"voice_message_slide_to_cancel" = "Sliden zum Abbrechen";
// MARK: - Developer Menu
"bwi_settings_developer" = "Entwickler";
"bwi_settings_show_developer_settings" = "Einstellungen";
"bwi_settings_developer_create_new_personal_notes_room" = "Neuen Notizen-Raum Raum erstellen";
"bwi_settings_developer_reset_matomo_info" = "Matomo-Info-Screen zurücksetzen";
"bwi_settings_developer_settings_reset_birthday_banner" = "Geburtstagsbanner zurücksetzen";
"bwi_settings_developer_new_personal_notes_room_created" = "Der alte Notizen-Raum Raum wurde durch einen neuen ersetzt.";
"bwi_settings_developer_show_matomo_privacy_notes_resetted" = "Der Matomo-Info-Screen wird wieder angezeigt.";
// MARK: - Personal Notes Room
"bwi_personal_notes_beginning_notes_room" = "Das ist dein privater Notizen-Raum. Du bist der einzige, der auf die Inhalte in diesem Raum zugreifen kann.";
"bwi_personal_notes_room_profile_encrypted_subtitle" = "Nachrichten in diesem Raum sind Ende-zu-Ende-verschlüsselt.";
"bwi_personal_notes_hint_message" = "Dir steht jetzt ein privater Raum für deine Notizen und Dateien zur Verfügung. Klicke, um den Raum zu öffnen.";
"bwi_settings_enable_notes_room_title" = "Zeige meine Notizen";
"bwi_settings_enable_notes_room_summary" = "Einen Raum für private Notizen anzeigen";
"bwi_notes_room_title" = "Meine Notizen";
// MARK: - Personal State
"bwi_edit_personal_state_title" = "Statusmeldungen bearbeiten";
"bwi_edit_personal_state_description" = "Du kannst eine eigene Statusnachricht setzen, wenn du dich zum Beispiel auf einer Dienstreise oder im Urlaub befindest. Der Status ist für andere Nutzer sichtbar.";
"bwi_edit_personal_state_my_state" = "Mein Status";
"bwi_edit_personal_state_placeholder" = "Statusmeldung erstellen";
"bwi_edit_personal_state_text_limit" = "max 160 Zeichen";
"bwi_edit_personal_state_option_homeoffice" = "Im Homeoffice";
"bwi_edit_personal_state_option_work" = "Auf der Arbeit";
"bwi_edit_personal_state_option_not_available" = "Abwesend";
"bwi_edit_personal_state_option_reset" = "Nachricht entfernen";
// MARK: - Roles and Rights
"bwi_rolls_and_rights" = "Rollen und Berechtigungen";
"bwi_rolls_and_rights_main_title" = "Berechtigungen";
"bwi_rolls_and_rights_main_header_admin" = "Rollen, die zum Ändern verschiedener Teile des Raums erforderlich sind, auswählen";
"bwi_rolls_and_rights_main_header_no_admin" = "Rollen, die zum Ändern verschiedener Teile des Raums erforderlich sind, auswählen";
"bwi_rolls_and_rights_general" = "Raumeigenschaften (Name, Thema, Raumbild) anpassen";
"bwi_rolls_and_rights_send" = "Nachrichten senden";
"bwi_rolls_and_rights_invite" = "Nutzer einladen";
"bwi_rolls_and_rights_redact" = "Nachrichten löschen";
"bwi_rolls_and_rights_ban" = "Nutzer entfernen";
"bwi_rolls_and_rights_admin" = "Admin";
"bwi_rolls_and_rights_moderator" = "Moderator";
"bwi_rolls_and_rights_user" = "Standard";
"bwi_rolls_and_rights_reset_button" = "Werte zurücksetzen";
"bwi_rolls_and_rights_reset_title" = "Bist du sicher, dass die Rechteeinstellungen dieses Raumes zurück gesetzt werden sollen?";
"bwi_rolls_and_rights_reset_cancel" = "Abbruch";
"bwi_rolls_and_rights_reset_ok" = "Zurücksetzen";
// MARK: - Valide App Version
"bwi_deprecated_version_warning_title" = "App aktualisieren";
"bwi_deprecated_version_warning_message" = "Du nutzt eine App-Version, die nicht mehr unterstützt wird. Bitte führe ein Update durch.";
"bwi_deprecated_version_logout_button" = "Abmelden";
"bwi_deprecated_version_appstore_button" = "Zum App Store";
"bwi_outdated_version_warning_title" = "App aktualisieren?";
"bwi_outdated_version_warning_message" = "Wir empfehlen die neuste Version des %@ herunterzuladen.";
"bwi_outdated_version_logout_button" = "Später";
"bwi_outdated_version_appstore_button" = "Zum App Store";
"bwi_outdated_settings_header" = "App Update";
"bwi_outdated_settings_message" = "Wir empfehlen, die neuste Version des %@ herunterzuladen.";
// MARK: - Timeline Settings
"settings_enable_simple_time_line" = "Zeige Zeitlinienereignisse";
"settings_enable_time_stamp" = "Zeige Zeitstempel";
"settings_enable_deleted_messages" = "Zeige gelöschte Nachrichten";
"settings_enable_name_change" = "Zeige Kontoereignisse";
"settings_enable_chat_effects" = "Zeige Chateffekte";
"settings_enable_room_avatar" = "Zeige Raumereignisse";
"settings_enable_user_avatar" = "Zeige Kontoereignisse";
"settings_enable_enter_room" = "Zeige Betreten und Verlassen";
// MARK: - Last Admin Downgrade
"room_member_details_downgrade_last_admin" = "Du kannst dich nur zurückstufen, wenn du vorher einen weiteren Admin benennst.";
"space_avatar_view_accessibility_label" = "Raumbild";
"space_avatar_view_accessibility_hint" = "Raumbild ändern";
// MARK: - Registration
"bwi_auth_register_button_title" = "Konto erstellen";
"bwi_auth_register_alert_title" = "Konto erstellen";
// MARK: - Error Codes
"bwi_error_invite_already_in_room" = "%@ ist bereits im Raum.";
"bwi_error_invite_banned_in_room" = "%@ ist vom Raum gebannt.";
"bwi_error_invite_general" = "%@ konnte nicht eingeladen werden.";
// MARK: - Matomo
"MATOMO_USER_INFO" = "Wir brauchen Deine Hilfe, um einige Fehler im Messenger besser analysieren zu können.\nDazu erfassen wir Diagnosedaten.\nDetails dazu findest Du in der Datenschutzerklärung.";
"MATOMO_USER_INFO_BUTTON_OK" = "OK";
"MATOMO_USER_INFO_BUTTON_MORE_INFO" = "Datenschutzerklärung";
"MATOMO_SETTINGS_SEND_DIAGNOSTIC_DATA" = "Diagnosedaten senden";
// MARK: - New features
"bwi_settings_new_features_header" = "Neue Funktionen";
"bwi_settings_new_features_show_features" = "Neue Funktionen anzeigen";

File diff suppressed because it is too large Load Diff

View File

@@ -14,32 +14,42 @@
* limitations under the License.
*/
// MARK: - Attachment
"content_scan_status_failed" = "Fail to load";
"content_scan_status_in_progress" = "Scanning";
// MARK: - Content Scanner
"content_scan_status_failed" = "Download failed";
"content_scan_status_in_progress" = "Scanning...";
"content_scan_status_infected" = "Blocked";
"content_scan_status_trusted" = "✓ Trusted";
// MARK: - Server Downtime
"downtime_title" = "Server not available";
"downtime_default_message" = "We are working on our maintenance. Please try again later.";
"downtime_alert_dismiss_button" = "Back";
"settings_downtime_message_same_day" = "The BwMessenger is not available on %@-%@ (UTC%@). Messages may not be sent or received during that time.";
"settings_downtime_message_same_day" = "The BwMessenger is not available between %@-%@ (UTC%@). Messages may not be sent or received during that time.";
"settings_downtime_message_different_days" = "The BwMessenger is not available from %@ (UTC%@) to %@ (UTC%@). Messages may not be sent or received during that time.";
// MARK: - Server Selection (beta)
"bwi_auth_beta_selection_title" = "Server selection";
"bwi_auth_beta_selection_button_title" = "Preselection";
// MARK: - Developer Settings (beta)
"bwi_settings_developer_apply_app_config" = "MDM Config: MSG Demo";
"bwi_settings_developer_apply_orig_app_config" = "MDM Config: BW";
"bwi_settings_developer_reset_app_config" = "MDM Config: Reset";
"bwi_settings_developer_restrict_user" = "Restrict user";
"bwi_settings_developer_unrestrict_user" = "Remove user restriction";
"bwi_settings_developer_unmark_banner" = "Unmark Feature Banner";
// MARK: - MDM
"bwi_mdm_logout_message" = "The configuration has changed. Please reconnect.";
// MARK - Notification Times bwi
// MARK: - Notification Times
"bwi_notification_times_monday" = "Monday";
"bwi_notification_times_tuesday" = "Tuesday";
"bwi_notification_times_wednesday" = "Wednesday";
@@ -64,6 +74,8 @@
"bwi_notification_times_button_activate" = "Activate notifications on %@";
"bwi_notification_times_button_deactivate" = "Deactivate notifications on %@";
// MARK: - Room Member
"bwi_room_member_details_userlabel" = "Function in %@: %@";
"bwi_room_member_section_userlabels" = "Function in %@";
"bwi_room_member_userlabels_description" = "As an admin, you can add and remove a function label for a room member. This function label is visible to all room members.";
@@ -71,9 +83,270 @@
"bwi_room_member_userlabels_button_save" = "Save";
"bwi_room_member_userlabels_button_delete" = "Delete";
// MARK: - Timeline
"bwi_timeline_userlabel_removed_for_user" = "removed for user %@ the function: %@";
"bwi_timeline_userlabel_added_for_user" = "added for user %@ the function: %@";
"bwi_timeline_userlabel_prefix_you" = "You %@s";
"bwi_timeline_userlabel_prefix_other_user" = "%@s";
"bwi_settings_ignored_users_text" = "Ignored users";
// MARK: - Titles
"title_people" = "Direct Messages";
// MARK: - Onboarding
"onboarding_use_case_message" = "Well help you get connected.";
"onboarding_use_case_not_sure_yet" = "Not sure yet? You can %@";
"onboarding_use_case_skip_button" = "skip this question";
"onboarding_congratulations_message" = "Your account %@ has been created.";
"onboarding_avatar_message" = "You can change this anytime.";
"onboarding_celebration_title" = "Youre all set!";
"onboarding_celebration_message" = "Your preferences have been saved.";
// MARK: - Authentication
"authentication_terms_title" = "Server policies";
"auth_user_id_placeholder" = "User name";
"auth_forgot_password" = "Forgot password?";
"bwi_auth_forgot_password_alert_text" = "If you have forgotton your password, contact your pool manager or go to the SelfServicePortal at IntranetBw and reset your password.";
"auth_forgot_password_error_no_configured_identity_server" = "No identity server is configured: add one to reset your password.";
// MARK: - Room Participants
"room_participants_cant_leave_prompt_message" = "You cannot leave the room because there are no other admins in the room.";
"room_participants_action_permalink" = "Share user";
// MARK: - Settings
"settings_fail_to_update_profile_message" = "Changing display name is disabled on this server";
"settings_unignore_user_message" = "This action may take a while.";
"settings_element_version" = "Element Version %@";
"settings_support" = "Support";
"settings_send_crash_report" = "Send anon crash & usage data";
"settings_old_password" = "old password";
"settings_new_password" = "new password";
"settings_confirm_password" = "confirm password";
"settings_fail_to_update_password" = "Fail to update password";
"settings_password_updated" = "Your password has been updated";
"settings_password_condition" = "Rules: Minimum length 8 characters, at least 1 special character, 1 uppercase and 1 lowercase letter and 1 number";
"settings_password_too_short_message" = "The password must be at least 8 characters long";
"settings_password_has_no_digit" = "The password must include at least one digit";
"settings_password_has_no_symbol" = "The password must include at least one symbol";
"settings_password_has_no_uppercase_letter" = "The password must include at least one uppercase letter";
"settings_password_has_no_lowercase_letter" = "The password must include at least one lowercase letter";
"settings_deactivate_my_account" = "Deactivate my account";
"settings_enable_inapp_notifications" = "Enable In-App notifications";
// MARK: - Room Details
"room_details_permalink" = "Share room";
"room_details_access_section_access_toggle_bw" = "Public room";
// MARK: - Image Picker
"image_picker_action_remove_photo" = "Remove photo";
// MARK: - Key Backup
"e2e_key_backup_wrong_version" = "A new secure message key backup has been detected.\n\nIf this wasnt you, set a new recovery key in settings.";
"secure_key_backup_setup_intro_title" = "Recovery Key";
"secure_key_backup_setup_intro_info" = "To decrypt your messages when you login on this or any other device, assign a recovery key.";
"secure_key_backup_setup_intro_use_security_passphrase_title" = "Recovery Key";
"secure_key_backup_setup_intro_use_security_passphrase_info" = "Set up recovery key.";
"key_backup_setup_passphrase_confirm_passphrase_title" = "";
"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Recovery Key";
"key_backup_setup_passphrase_confirm_passphrase_invalid" = "doesnt match";
"key_backup_recover_invalid_passphrase_title" = "Incorrect Recovery Key";
"key_backup_recover_invalid_passphrase" = "Backup could not be decrypted with this phrase: please verify that you entered the correct recovery key.";
"key_backup_recover_from_passphrase_info" = "Use your recovery key to unlock your secure message history";
"key_backup_recover_from_passphrase_lost_passphrase_action_part1" = "Dont know your recovery key? You can ";
// MARK: - Device Verification
"key_verification_this_session_title" = "Recovery Key";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Use recovery key or key";
"device_verification_verified_title" = "Completed!";
"device_verification_verified_got_it_button" = "Finish";
"key_verification_verified_this_session_information" = "Your chats have been successfully decrypted.";
// MARK: - Secrets Recovery
"secrets_recovery_reset_action_part_1" = "Forgot recovery key?";
"secrets_recovery_with_passphrase_title" = "Recovery Key";
"secrets_recovery_with_passphrase_information_default" = "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.";
"secrets_recovery_with_passphrase_information_verify_device" = "Enter your recovery key to decrypt all your messages.";
"secrets_recovery_with_passphrase_passphrase_title" = "";
"secrets_recovery_with_passphrase_passphrase_placeholder" = "Recovery Key";
"secrets_recovery_with_passphrase_recover_action" = "Next";
"secrets_recovery_with_passphrase_lost_passphrase_action_part1" = "Dont know your recovery key? You can ";
"secrets_recovery_with_passphrase_lost_passphrase_action_part2" = "use your security key";
"secrets_recovery_with_passphrase_invalid_passphrase_message" = "Please verify that you entered the correct recovery Key.";
"secrets_recovery_with_key_information_unlock_secure_backup_with_phrase" = "Enter your recovery key to continue.";
"secrets_setup_recovery_key_title" = "Recovery Key";
"secrets_setup_recovery_key_information" = "Completed!\n\Your recovery key has been set successfully.";
"secrets_setup_recovery_key_done_action" = "Finish";
"secrets_setup_recovery_passphrase_additional_information" = "⚠️ Do not use your password.";
"secrets_setup_recovery_passphrase_confirm_information" = "Enter your recovery key again to confirm it.";
"secrets_setup_recovery_passphrase_confirm_passphrase_title" = "";
"secrets_setup_recovery_passphrase_confirm_passphrase_placeholder" = "Recovery Key";
"secrets_setup_recovery_passphrase_summary_title" = "Save your recovery key";
"secrets_setup_recovery_passphrase_summary_information" = "Remember your recovery key. It can be used to unlock your encrypted messages & data.";
"secrets_reset_authentication_message" = "Confirm with your password!";
// MARK: - PIN Protection
"pin_protection_settings_section_header_x" = "PIN";
// MARK: - Biometrics Protection
"biometrics_mode_cant_unlock_button_title" = "PIN eingeben";
// MARK: - Searchable Directory View Controller
"searchable_directory_search_placeholder" = "Roomname";
"searchable_directory_room_title" = "Room directory";
// MARK: - Jailbreak
"jailbreak_alert_title" = "System Requirements";
"jailbreak_alert_message" = "%@ is only supported on unmodified versions of iOS.";
// MARK: - Integrity
"integrity_alert_title" = "Integrity Breach";
"integrity_alert_message" = "Integrity check failed. You need to sign out or close and reinstall the application.";
// MARK: - Splash Screen
"splash_screen_title" = "Your Messenger for our country";
"splash_screen_first_info" = "Chats with comrades and colleagues";
"splash_screen_second_info" = "Secure transfer of media and files";
"splash_screen_third_info" = "Always encrypted";
"splash_screen_start" = "Let go";
// MARK: Clients
"client_desktop_name" = "BundesMessenger Desktop";
"client_web_name" = "BundesMessenger Web";
"client_ios_name" = "BundesMessenger iOS";
"client_android_name" = "BundesMessenger Android";
// Mark: - Room Creation
"room_intro_cell_information_dm_sentence1_part1" = "This is the beginning of your conversation with ";
// MARK: - Notification Times
"settings_enable_notification_times" = "Notification Times";
// Mark: - Voice Messages
"voice_message_slide_to_cancel" = "Slide to cancel";
// MARK: - Developer Menu
"bwi_settings_developer" = "Developer";
"bwi_settings_show_developer_settings" = "Settings";
"bwi_settings_developer_create_new_personal_notes_room" = "Create new note-taking room";
"bwi_settings_developer_reset_matomo_info" = "Reset Matomo Info Screen";
"bwi_settings_developer_settings_reset_birthday_banner" = "Reset birthday banner";
"bwi_settings_developer_new_personal_notes_room_created" = "The existing note-taking room was replaced by a new one.";
"bwi_settings_developer_show_matomo_privacy_notes_resetted" = "The matomo info screen will be shown again.";
// MARK: - Personal Notes Room
"bwi_personal_notes_beginning_notes_room" = "This is your private note-taking room. You are the only one who can access the contents in this room.";
"bwi_personal_notes_room_profile_encrypted_subtitle" = "Messages here are end-to-end encrypted.";
"bwi_personal_notes_hint_message" = "You now have a private room for your notes and files. Click to open the room.";
"bwi_settings_enable_notes_room_title" = "My notes";
"bwi_settings_enable_notes_room_summary" = "how personal notes room.";
"bwi_notes_room_title" = "My notes";
// MARK: - Personal State
"bwi_edit_personal_state_title" = "Edit state";
"bwi_edit_personal_state_description" = "You can set a custom state. For example if you are on a business trip or in vacation. Your state message is visible for all users.";
"bwi_edit_personal_state_my_state" = "My state";
"bwi_edit_personal_state_placeholder" = "Enter state";
"bwi_edit_personal_state_text_limit" = "max 160 characters";
"bwi_edit_personal_state_option_homeoffice" = "Remote";
"bwi_edit_personal_state_option_work" = "Office";
"bwi_edit_personal_state_option_not_available" = "Not available";
"bwi_edit_personal_state_option_reset" = "Delete message";
// MARK: - Roles and Rights
"bwi_rolls_and_rights" = "Roles and Permissions";
"bwi_rolls_and_rights_main_title" = "Permissions";
"bwi_rolls_and_rights_main_header_admin" = "Permissions the user must have to interact with the room";
"bwi_rolls_and_rights_main_header_no_admin" = "You don't have permission to update the roles required to change various parts of the room";
"bwi_rolls_and_rights_general" = "Change room profile (title, topic, avatar)";
"bwi_rolls_and_rights_send" = "Send messages";
"bwi_rolls_and_rights_invite" = "Invite users";
"bwi_rolls_and_rights_redact" = "Delete messages";
"bwi_rolls_and_rights_ban" = "Remove members (kick, ban)";
"bwi_rolls_and_rights_admin" = "Admin";
"bwi_rolls_and_rights_moderator" = "Moderator";
"bwi_rolls_and_rights_user" = "Default";
"bwi_rolls_and_rights_reset_button" = "Reset to default";
"bwi_rolls_and_rights_reset_title" = "Are you sure that you want to reset the permission settings?";
"bwi_rolls_and_rights_reset_cancel" = "Cancel";
"bwi_rolls_and_rights_reset_ok" = "Reset";
"bwi_rolls_and_rights" = "Rolls and Rights";
// MARK: - Valide App Version
"bwi_deprecated_version_warning_title" = "Deprecated version";
"bwi_deprecated_version_warning_message" = "You are using an app version that is no longer supported. Please update.";
"bwi_deprecated_version_logout_button" = "Logout";
"bwi_deprecated_version_appstore_button" = "App Store";
"bwi_outdated_version_warning_title" = "Outdated version";
"bwi_outdated_version_warning_message" = "We recommend to use the newest version of %@.";
"bwi_outdated_version_logout_button" = "Later";
"bwi_outdated_version_appstore_button" = "App Store";
"bwi_outdated_settings_header" = "App Update";
"bwi_outdated_settings_message" = "We recommend to use the newest version of %@.";
// MARK: - Timeline Settings
"settings_enable_simple_time_line" = "Show timeline events";
"settings_enable_time_stamp" = "Show time stamps";
"settings_enable_deleted_messages" = "Show deleted messages";
"settings_enable_chat_effects" = "Show chat effects";
"settings_enable_room_avatar" = "Show room events";
"settings_enable_user_avatar" = "Show account events";
"settings_enable_enter_room" = "Show user events";
// MARK: - Last Admin Downgrade
"room_member_details_downgrade_last_admin" = "You must first assign another admin before you are allowed to downgrade yourself.";
// MARK: - Registration
"bwi_auth_register_button_title" = "Create account";
"bwi_auth_register_alert_title" = "Create account";
// MARK: - Error Codes
"bwi_error_invite_already_in_room" = "%@ is already in the room.";
"bwi_error_invite_banned_in_room" = "%@ is banned from the room.";
"bwi_error_invite_general" = "%@ could not be invited.";
// MARK: - Matomo
"MATOMO_USER_INFO" = "To detect problems much easier and improve the app we need your support.\nThis app collects analytics data.\nDetails about this can be found in our privacy policy.";
"MATOMO_USER_INFO_BUTTON_OK" = "OK";
"MATOMO_USER_INFO_BUTTON_MORE_INFO" = "Privacy Police";
"MATOMO_SETTINGS_SEND_DIAGNOSTIC_DATA" = "Send analyze data";
// MARK: - New features
"bwi_settings_new_features_header" = "New Features";
"bwi_settings_new_features_show_features" = "Show new features";

View File

@@ -23,7 +23,7 @@
// Titles
"title_home" = "Home";
"title_favourites" = "Favourites";
"title_people" = "Direct Messages";
"title_people" = "People";
"title_rooms" = "Rooms";
"title_groups" = "Communities";
"warning" = "Warning";
@@ -96,7 +96,7 @@
"accessibility_checkbox_label" = "checkbox";
"accessibility_button_label" = "button";
// Onboarding
// MARK: Onboarding
"onboarding_splash_register_button_title" = "Create account";
"onboarding_splash_login_button_title" = "I already have an account";
"onboarding_splash_page_1_title" = "Own your conversations.";
@@ -109,19 +109,19 @@
"onboarding_splash_page_4_message" = "Element is also great for the workplace. Its trusted by the worlds most secure organisations.";
"onboarding_use_case_title" = "Who will you chat to the most?";
"onboarding_use_case_message" = "Well help you get connected.";
"onboarding_use_case_message" = "Well help you get connected";
"onboarding_use_case_personal_messaging" = "Friends and family";
"onboarding_use_case_work_messaging" = "Teams";
"onboarding_use_case_community_messaging" = "Communities";
/* The placeholder string contains onboarding_use_case_skip_button as a tappable action */
"onboarding_use_case_not_sure_yet" = "Not sure yet? You can %@";
"onboarding_use_case_skip_button" = "skip this question";
"onboarding_use_case_not_sure_yet" = "Not sure yet? %@";
"onboarding_use_case_skip_button" = "Skip this question";
"onboarding_use_case_existing_server_message" = "Looking to join an existing server?";
"onboarding_use_case_existing_server_button" = "Connect to server";
"onboarding_congratulations_title" = "Congratulations!";
/* The placeholder string contains the user's matrix ID */
"onboarding_congratulations_message" = "Your account %@ has been created.";
"onboarding_congratulations_message" = "Your account %@ has been created";
"onboarding_congratulations_personalize_button" = "Personalise profile";
"onboarding_congratulations_home_button" = "Take me home";
@@ -135,11 +135,11 @@
"onboarding_display_name_max_length" = "Your display name must be less than 256 characters";
"onboarding_avatar_title" = "Add a profile picture";
"onboarding_avatar_message" = "You can change this anytime.";
"onboarding_avatar_message" = "Time to put a face to the name";
"onboarding_avatar_accessibility_label" = "Profile picture";
"onboarding_celebration_title" = "Youre all set!";
"onboarding_celebration_message" = "Your preferences have been saved.";
"onboarding_celebration_title" = "Looking good!";
"onboarding_celebration_message" = "Head to settings anytime to update your profile";
"onboarding_celebration_button" = "Let's go";
// MARK: Authentication
@@ -203,7 +203,7 @@
"authentication_verify_msisdn_waiting_button" = "Resend code";
"authentication_verify_msisdn_invalid_phone_number" = "Invalid phone number";
"authentication_terms_title" = "Server policies";
"authentication_terms_title" = "Privacy policies";
/* The placeholder will show the homeserver's domain */
"authentication_terms_message" = "Please read %@s terms and policies";
"authentication_terms_policy_url_error" = "Unable to find the selected policy. Please try again later.";
@@ -231,7 +231,7 @@
"auth_login_single_sign_on" = "Sign In";
"auth_send_reset_email" = "Send Reset Email";
"auth_return_to_login" = "Return to login screen";
"auth_user_id_placeholder" = "User name";
"auth_user_id_placeholder" = "Email or user name";
"auth_password_placeholder" = "Password";
"auth_new_password_placeholder" = "New password";
"auth_user_name_placeholder" = "User name";
@@ -262,10 +262,8 @@
"auth_untrusted_id_server" = "The identity server is not trusted";
"auth_password_dont_match" = "Passwords don't match";
"auth_username_in_use" = "Username in use";
"auth_forgot_password" = "Forgot password?";
"bwi_auth_forgot_password_alert_text" = "If you have forgotton your password, contact your pool manager or go to the SelfServicePortal at IntranetBw and reset your password.";
"auth_forgot_password_error_no_configured_identity_server" = "No identity server is configured: add one to reset your password.";
"auth_forgot_password" = "Forgot Matrix account password?";
"auth_forgot_password_error_no_configured_identity_server" = "No identity server is configured: add one to reset your Matrix account password.";
"auth_email_not_found" = "Failed to send email: This email address was not found";
"auth_use_server_options" = "Use custom server options (advanced)";
"auth_email_validation_message" = "Please check your email to continue registration";
@@ -413,7 +411,6 @@ Tap the + to start adding people.";
"room_participants_leave_prompt_title_for_dm" = "Leave";
"room_participants_leave_prompt_msg" = "Are you sure you want to leave the room?";
"room_participants_leave_prompt_msg_for_dm" = "Are you sure you want to leave?";
"room_participants_cant_leave_prompt_message" = "You cannot leave the room because there are no other admins in the room.";
"room_participants_leave_processing" = "Leaving";
"room_participants_leave_success" = "Left room";
"room_participants_remove_prompt_title" = "Confirmation";
@@ -457,7 +454,6 @@ Tap the + to start adding people.";
"room_participants_action_start_voice_call" = "Start voice call";
"room_participants_action_start_video_call" = "Start video call";
"room_participants_action_mention" = "Mention";
"room_participants_action_permalink" = "Share user";
"room_participants_action_security_status_verified" = "Verified";
"room_participants_action_security_status_verify" = "Verify";
"room_participants_action_security_status_complete_security" = "Complete security";
@@ -469,9 +465,6 @@ Tap the + to start adding people.";
"room_participants_security_information_room_not_encrypted_for_dm" = "Messages here are not end-to-end encrypted.";
"room_participants_security_information_room_encrypted" = "Messages in this room are end-to-end encrypted.\n\nYour messages are secured with locks and only you and the recipient have the unique keys to unlock them.";
"room_participants_security_information_room_encrypted_for_dm" = "Messages here are end-to-end encrypted.\n\nYour messages are secured with locks and only you and the recipient have the unique keys to unlock them.";
"bwi_room_participants_section_admin" = "Admin";
"bwi_room_participants_section_moderator" = "Moderator";
"bwi_room_participants_section_member" = "Member";
"room_member_power_level_admin_in" = "Admin in %@";
"room_member_power_level_moderator_in" = "Moderator in %@";
@@ -691,7 +684,6 @@ Tap the + to start adding people.";
"settings_change_password" = "Change password";
"settings_night_mode" = "Night Mode";
"settings_fail_to_update_profile" = "Fail to update profile";
"settings_fail_to_update_profile_message" = "Changing display name is disabled on this server";
"settings_three_pids_management_information_part1" = "Manage which email addresses or phone numbers you can use to log in or recover your account here. Control who can find you in ";
"settings_three_pids_management_information_part2" = "Discovery";
"settings_three_pids_management_information_part3" = ".";
@@ -753,7 +745,6 @@ Tap the + to start adding people.";
"settings_show_url_previews_description" = "Previews will only be shown in unencrypted rooms.";
"settings_unignore_user" = "Show all messages from %@?";
"settings_unignore_user_message" = "This action may take a while.";
"settings_contacts_enable_sync" = "Find your contacts";
"settings_contacts_phonebook_country" = "Phonebook country";
@@ -765,7 +756,6 @@ Tap the + to start adding people.";
"settings_labs_message_reaction" = "React to messages with emoji";
"settings_labs_enable_ringing_for_group_calls" = "Ring for group calls";
"settings_labs_enabled_polls" = "Polls";
"settings_labs_enable_threads" = "Threaded messaging";
"settings_labs_enable_auto_report_decryption_errors" = "Auto Report Decryption Errors";
"settings_labs_use_only_latest_user_avatar_and_name" = "Show latest avatar and name for users in message history";
@@ -773,27 +763,18 @@ Tap the + to start adding people.";
"settings_version" = "Version %@";
"settings_olm_version" = "Olm Version %@";
"settings_element_version" = "Element Version %@";
"settings_copyright" = "Copyright";
"settings_term_conditions" = "Terms & Conditions";
"settings_privacy_policy" = "Privacy Policy";
"settings_third_party_notices" = "Third-party Notices";
"settings_support" = "Support";
"settings_send_crash_report" = "Send anon crash & usage data";
"settings_analytics_and_crash_data" = "Send crash and analytics data";
"settings_enable_rageshake" = "Rage shake to report bug";
"settings_old_password" = "old password";
"settings_new_password" = "new password";
"settings_confirm_password" = "confirm password";
"settings_fail_to_update_password" = "Fail to update password";
"settings_password_updated" = "Your password has been updated";
"settings_password_condition" = "Rules: Minimum length 8 characters, at least 1 special character, 1 uppercase and 1 lowercase letter and 1 number";
"settings_password_too_short_message" = "The password must be at least 8 characters long";
"settings_password_has_no_digit" = "The password must include at least one digit";
"settings_password_has_no_symbol" = "The password must include at least one symbol";
"settings_password_has_no_uppercase_letter" = "The password must include at least one uppercase letter";
"settings_password_has_no_lowercase_letter" = "The password must include at least one lowercase letter";
"settings_old_password" = "Old password";
"settings_new_password" = "New password";
"settings_confirm_password" = "Confirm password";
"settings_fail_to_update_password" = "Fail to update Matrix account password";
"settings_password_updated" = "Your Matrix account password has been updated";
"settings_add_3pid_password_title_email" = "Add email address";
"settings_add_3pid_password_title_msidsn" = "Add phone number";
@@ -806,7 +787,7 @@ Tap the + to start adding people.";
"settings_crypto_export" = "Export keys";
"settings_crypto_blacklist_unverified_devices" = "Encrypt to verified sessions only";
"settings_deactivate_my_account" = "Deactivate my account";
"settings_deactivate_my_account" = "Deactivate account permanently";
"settings_key_backup_info" = "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.";
"settings_key_backup_info_checking" = "Checking…";
@@ -951,7 +932,6 @@ Tap the + to start adding people.";
"room_details_people" = "Members";
"room_details_files" = "Uploads";
"room_details_search" = "Search room";
"room_details_permalink" = "Share room";
"room_details_integrations" = "Integrations";
"room_details_settings" = "Settings";
"room_details_photo" = "Room Photo";
@@ -971,7 +951,6 @@ Tap the + to start adding people.";
"room_details_access_section_anyone_apart_from_guest_for_dm"="Anyone who knows the link, apart from guests";
"room_details_access_section_anyone"="Anyone who knows the room's link, including guests";
"room_details_access_section_anyone_for_dm"="Anyone who knows the link, including guests";
"room_details_access_section_access_toggle_bw" = "Public room";
"room_details_access_section_no_address_warning" = "To link to a room it must have an address";
"room_details_access_row_title" = "Access";
"room_details_promote_room_title" = "Promote room";
@@ -1109,7 +1088,6 @@ Tap the + to start adding people.";
// Image picker
"image_picker_action_camera" = "Take photo";
"image_picker_action_library" = "Choose from library";
"image_picker_action_remove_photo" = "Remove photo";
// Directory
"directory_title" = "Directory";
@@ -1221,7 +1199,7 @@ Tap the + to start adding people.";
// Key backup wrong version
"e2e_key_backup_wrong_version_title" = "New Key Backup";
"e2e_key_backup_wrong_version" = "A new secure message key backup has been detected.\n\nIf this wasnt you, set a new recovery key in settings.";
"e2e_key_backup_wrong_version" = "A new secure message key backup has been detected.\n\nIf this wasnt you, set a new Security Phrase in Settings.";
"e2e_key_backup_wrong_version_button_settings" = "Settings";
"e2e_key_backup_wrong_version_button_wasme" = "It was me";
@@ -1347,14 +1325,14 @@ Tap the + to start adding people.";
// Intro
"secure_key_backup_setup_intro_title" = "Recovery Key";
"secure_key_backup_setup_intro_info" = "To decrypt your messages when you login on this or any other device, assign a recovery key.";
"secure_key_backup_setup_intro_title" = "Secure Backup";
"secure_key_backup_setup_intro_info" = "Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.";
"secure_key_backup_setup_intro_use_security_key_title" = "Use a Security Key";
"secure_key_backup_setup_intro_use_security_key_info" = "Generate a security key to store somewhere safe like a password manager or a safe.";
"secure_key_backup_setup_intro_use_security_passphrase_title" = "Recovery Key";
"secure_key_backup_setup_intro_use_security_passphrase_info" = "Set up recovery key.";
"secure_key_backup_setup_intro_use_security_passphrase_title" = "Use a Security Phrase";
"secure_key_backup_setup_intro_use_security_passphrase_info" = "Enter a secret phrase only you know, and generate a key for backup.";
"secure_key_backup_setup_existing_backup_error_title" = "A backup for messages already exists";
"secure_key_backup_setup_existing_backup_error_info" = "Unlock it to reuse it in the secure backup or delete it to create a new messages backup in the secure backup.";
@@ -1398,10 +1376,10 @@ Tap the + to start adding people.";
"key_backup_setup_passphrase_passphrase_placeholder" = "Enter phrase";
"key_backup_setup_passphrase_passphrase_valid" = "Great!";
"key_backup_setup_passphrase_passphrase_invalid" = "Try adding a word";
"key_backup_setup_passphrase_confirm_passphrase_title" = "";
"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Recovery Key";
"key_backup_setup_passphrase_confirm_passphrase_title" = "Confirm";
"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Confirm phrase";
"key_backup_setup_passphrase_confirm_passphrase_valid" = "Great!";
"key_backup_setup_passphrase_confirm_passphrase_invalid" = "doesnt match";
"key_backup_setup_passphrase_confirm_passphrase_invalid" = "phrase doesnt match";
"key_backup_setup_passphrase_set_passphrase_action" = "Set Phrase";
"key_backup_setup_passphrase_setup_recovery_key_info" = "Or, secure your backup with a Security Key, saving it somewhere safe.";
"key_backup_setup_passphrase_setup_recovery_key_action" = "(Advanced) Set up with Security Key";
@@ -1428,8 +1406,8 @@ Tap the + to start adding people.";
"key_backup_recover_title" = "Secure Messages";
"key_backup_recover_invalid_passphrase_title" = "Incorrect Recovery Key";
"key_backup_recover_invalid_passphrase" = "Backup could not be decrypted with this phrase: please verify that you entered the correct recovery key.";
"key_backup_recover_invalid_passphrase_title" = "Incorrect Security Phrase";
"key_backup_recover_invalid_passphrase" = "Backup could not be decrypted with this phrase: please verify that you entered the correct Security Phrase.";
"key_backup_recover_invalid_recovery_key_title" = "Security Key Mismatch";
"key_backup_recover_invalid_recovery_key" = "Backup could not be decrypted with this key: please verify that you entered the correct Security Key.";
@@ -1438,12 +1416,12 @@ Tap the + to start adding people.";
// Recover from passphrase
"key_backup_recover_from_passphrase_info" = "Use your recovery key to unlock your secure message history";
"key_backup_recover_from_passphrase_info" = "Use your Security Phrase to unlock your secure message history";
"key_backup_recover_from_passphrase_passphrase_title" = "Enter";
"key_backup_recover_from_passphrase_passphrase_placeholder" = "Enter Phrase";
"key_backup_recover_from_passphrase_recover_action" = "Unlock History";
"key_backup_recover_from_passphrase_lost_passphrase_action_part1" = "Dont know your recovery key? You can ";
"key_backup_recover_from_passphrase_lost_passphrase_action_part1" = "Dont know your Security Phrase? You can ";
"key_backup_recover_from_passphrase_lost_passphrase_action_part2" = "use your Security Key";
"key_backup_recover_from_passphrase_lost_passphrase_action_part3" = ".";
@@ -1482,7 +1460,7 @@ Tap the + to start adding people.";
// MARK: - Device Verification
"key_verification_other_session_title" = "Verify session";
"key_verification_new_session_title" = "Verify your new session";
"key_verification_this_session_title" = "Recovery Key";
"key_verification_this_session_title" = "Verify this session";
"key_verification_user_title" = "Verify them";
"device_verification_security_advice_emoji" = "Compare the unique emoji, ensuring they appear in the same order.";
"device_verification_security_advice_number" = "Compare the numbers, ensuring they appear in the same order.";
@@ -1532,7 +1510,7 @@ Tap the + to start adding people.";
"device_verification_self_verify_wait_information" = "Verify this session from one of your other sessions, granting it access to encrypted messages.\n\nUse the latest %@ on your other devices:";
"device_verification_self_verify_wait_additional_information" = "This works with %@ and other cross-signing capable Matrix clients.";
"device_verification_self_verify_wait_recover_secrets_without_passphrase" = "Use Security Key";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Use recovery key or key";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Use Security Phrase or Key";
"device_verification_self_verify_wait_recover_secrets_additional_information" = "If you can't access an existing session";
"device_verification_self_verify_wait_recover_secrets_checking_availability" = "Checking for other verification capabilities ...";
@@ -1564,13 +1542,13 @@ Tap the + to start adding people.";
// Device
"device_verification_verified_title" = "Completed!";
"device_verification_verified_got_it_button" = "Finish";
"device_verification_verified_title" = "Verified!";
"device_verification_verified_got_it_button" = "Got it";
"key_verification_verified_new_session_title" = "New session verified!";
"key_verification_verified_other_session_information" = "You can now read secure messages on your other session, and other users will know they can trust it.";
"key_verification_verified_new_session_information" = "You can now read secure messages on your new device, and other users will know they can trust it.";
"key_verification_verified_this_session_information" = "Your chats have been successfully decrypted.";
"key_verification_verified_this_session_information" = "You can now read secure messages on this device, and other users will know they can trust it.";
// User
@@ -1762,31 +1740,31 @@ Tap the + to start adding people.";
// MARK: - Secrets recovery
"secrets_recovery_reset_action_part_1" = "Forgot recovery key?";
"secrets_recovery_reset_action_part_1" = "Forgot or lost all recovery options? ";
"secrets_recovery_reset_action_part_2" = "Reset everything";
// Recover with passphrase
"secrets_recovery_with_passphrase_title" = "Recovery Key";
"secrets_recovery_with_passphrase_information_default" = "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.";
"secrets_recovery_with_passphrase_information_verify_device" = "Enter your recovery key to decrypt all your messages.";
"secrets_recovery_with_passphrase_passphrase_title" = "";
"secrets_recovery_with_passphrase_passphrase_placeholder" = "Recovery Key";
"secrets_recovery_with_passphrase_recover_action" = "Next";
"secrets_recovery_with_passphrase_title" = "Security Phrase";
"secrets_recovery_with_passphrase_information_default" = "Access your secure message history and your cross-signing identity for verifying other sessions by entering your Security Phrase.";
"secrets_recovery_with_passphrase_information_verify_device" = "Use your Security Phrase to verify this device.";
"secrets_recovery_with_passphrase_passphrase_title" = "Enter";
"secrets_recovery_with_passphrase_passphrase_placeholder" = "Enter Security Phrase";
"secrets_recovery_with_passphrase_recover_action" = "Use Phrase";
"secrets_recovery_with_passphrase_lost_passphrase_action_part1" = "Dont know your recovery key? You can ";
"secrets_recovery_with_passphrase_lost_passphrase_action_part2" = "use your security key";
"secrets_recovery_with_passphrase_lost_passphrase_action_part1" = "Dont know your Security Phrase? You can ";
"secrets_recovery_with_passphrase_lost_passphrase_action_part2" = "use your Security Key";
"secrets_recovery_with_passphrase_lost_passphrase_action_part3" = ".";
"secrets_recovery_with_passphrase_invalid_passphrase_title" = "Unable to access secret storage";
"secrets_recovery_with_passphrase_invalid_passphrase_message" = "Please verify that you entered the correct recovery Key.";
"secrets_recovery_with_passphrase_invalid_passphrase_message" = "Please verify that you entered the correct Security Phrase.";
// Recover with key
"secrets_recovery_with_key_title" = "Security Key";
"secrets_recovery_with_key_information_default" = "Access your secure message history and your cross-signing identity for verifying other sessions by entering your Security Key.";
"secrets_recovery_with_key_information_verify_device" = "Use your Security Key to verify this device.";
"secrets_recovery_with_key_information_unlock_secure_backup_with_phrase" = "Enter your recovery key to continue.";
"secrets_recovery_with_key_information_unlock_secure_backup_with_phrase" = "Enter your Security Phrase to continue.";
"secrets_recovery_with_key_information_unlock_secure_backup_with_key" = "Enter your Security Key to continue.";
"secrets_recovery_with_key_recovery_key_title" = "Enter";
"secrets_recovery_with_key_recovery_key_placeholder" = "Enter Security Key";
@@ -1799,30 +1777,29 @@ Tap the + to start adding people.";
// Recovery Key
"secrets_setup_recovery_key_title" = "Recovery Key";
"secrets_setup_recovery_key_information" = "Completed!\n\Your recovery key has been set successfully.";
"secrets_setup_recovery_key_title" = "Save your Security Key";
"secrets_setup_recovery_key_information" = "Store your Security Key somewhere safe. It can be used to unlock your encrypted messages & data.";
"secrets_setup_recovery_key_loading" = "Loading…";
"secrets_setup_recovery_key_export_action" = "Save";
"secrets_setup_recovery_key_done_action" = "Finish";
"secrets_setup_recovery_key_done_action" = "Done";
"secrets_setup_recovery_key_storage_alert_title" = "Keep it safe";
"secrets_setup_recovery_key_storage_alert_message" = "✓ Print it and store it somewhere safe\n✓ Save it on a USB key or backup drive\n✓ Copy it to your personal cloud storage";
// Recovery passphrase
"secrets_setup_recovery_passphrase_additional_information" = "⚠️ Do not use your password.";
"secrets_setup_recovery_passphrase_title" = "Set a Security Phrase";
"secrets_setup_recovery_passphrase_information" = "Enter a security phrase only you know, used to secure secrets on your server.";
"secrets_setup_recovery_passphrase_additional_information" = "Don't use your Matrix account password.";
"secrets_setup_recovery_passphrase_validate_action" = "Done";
"secrets_setup_recovery_passphrase_confirm_information" = "Enter your recovery key again to confirm it.";
"secrets_setup_recovery_passphrase_confirm_passphrase_title" = "";
"secrets_setup_recovery_passphrase_confirm_passphrase_placeholder" = "Recovery Key";
"secrets_setup_recovery_passphrase_confirm_information" = "Enter your Security Phrase again to confirm it.";
"secrets_setup_recovery_passphrase_confirm_passphrase_title" = "Confirm";
"secrets_setup_recovery_passphrase_confirm_passphrase_placeholder" = "Confirm phrase";
"secrets_setup_recovery_passphrase_summary_title" = "Save your recovery key";
"secrets_setup_recovery_passphrase_summary_information" = "Remember your recovery key. It can be used to unlock your encrypted messages & data.";
"secrets_setup_recovery_passphrase_summary_title" = "Save your Security Phrase";
"secrets_setup_recovery_passphrase_summary_information" = "Remember your Security Phrase. It can be used to unlock your encrypted messages & data.";
// MARK: - Secrets reset
@@ -1831,7 +1808,7 @@ Tap the + to start adding people.";
"secrets_reset_warning_title" = "If you reset everything";
"secrets_reset_warning_message" = "You will restart with no history, no messages, trusted devices or trusted users.";
"secrets_reset_reset_action" = "Reset";
"secrets_reset_authentication_message" = "Confirm with your password!";
"secrets_reset_authentication_message" = "Enter your Matrix account password to confirm";
// MARK: - Cross-signing
@@ -1863,8 +1840,6 @@ Tap the + to start adding people.";
"pin_protection_mismatch_error_title" = "PINs don't match";
"pin_protection_mismatch_error_message" = "Please try again";
"pin_protection_mismatch_too_many_times_error_message" = "If you can't remember your PIN, tap the forgot PIN button.";
"pin_protection_settings_section_header_x" = "PIN";
"pin_protection_settings_section_header" = "PIN";
"pin_protection_settings_section_header_with_biometrics" = "PIN & %@";
"pin_protection_settings_section_footer" = "To reset your PIN, you'll need to re-login and create a new one.";
@@ -1892,15 +1867,12 @@ Tap the + to start adding people.";
"biometrics_cant_unlocked_alert_message_x" = "To unlock, use %@ or log back in and enable %@ again";
"biometrics_cant_unlocked_alert_message_login" = "Log back in";
"biometrics_cant_unlocked_alert_message_retry" = "Retry";
"biometrics_mode_cant_unlock_button_title" = "PIN eingeben";
// MARK: - Searchable Directory View Controller
"searchable_directory_create_new_room" = "Create a new room";
"searchable_directory_x_network" = "%@ Network";
"searchable_directory_search_placeholder" = "Roomname";
"searchable_directory_room_title" = "Room directory";
"searchable_directory_search_placeholder" = "Name or ID";
// MARK: - Create Room
@@ -1928,16 +1900,6 @@ Tap the + to start adding people.";
"create_room_suggest_room_footer" = "Suggested rooms are promoted to space members as good to join.";
"create_room_processing" = "Creating room";
// MARK: - Jailbreak
"jailbreak_alert_title" = "System Requirements";
"jailbreak_alert_message" = "%@ is only supported on unmodified versions of iOS.";
// MARK: - Integrity
"integrity_alert_title" = "Integrity Breach";
"integrity_alert_message" = "Integrity check failed. You need to sign out or close and reinstall the application.";
// MARK: - Room Info
"room_info_list_one_member" = "1 member";
@@ -1979,20 +1941,6 @@ Tap the + to start adding people.";
"favourites_empty_view_title" = "Favourite rooms and people";
"favourites_empty_view_information" = "You can favourite a few ways - the quickest is just to press and hold. Tap the star and theyll automatically appear here for safe keeping.";
// MARK: - Splash Screen
"splash_screen_title" = "Your Messenger for our country";
"splash_screen_first_info" = "Chats with comrades and colleagues";
"splash_screen_second_info" = "Secure transfer of media and files";
"splash_screen_third_info" = "Always encrypted";
"splash_screen_start" = "Let go";
// MARK: Clients
"client_desktop_name" = "BundesMessenger Desktop";
"client_web_name" = "BundesMessenger Web";
"client_ios_name" = "BundesMessenger iOS";
"client_android_name" = "BundesMessenger Android";
// MARK: - Invite friends
"invite_friends_action" = "Invite friends to %@";
@@ -2020,7 +1968,7 @@ Tap the + to start adding people.";
"room_intro_cell_information_room_without_topic_sentence2_part1" = "Add a topic";
"room_intro_cell_information_room_without_topic_sentence2_part2" = " to let people know what this room is about.";
"room_intro_cell_information_dm_sentence1_part1" = "This is the beginning of your conversation with ";
"room_intro_cell_information_dm_sentence1_part1" = "This is the beginning of your direct message with ";
"room_intro_cell_information_dm_sentence1_part3" = ". ";
"room_intro_cell_information_dm_sentence2" = "Only the two of you are in this conversation, no one else can join.";
@@ -2046,12 +1994,11 @@ Tap the + to start adding people.";
"space_beta_announce_subtitle" = "The new version of communities";
"space_beta_announce_information" = "Spaces are a new way to group rooms and people. Theyre not on iOS yet, but you can use them now on Web and Desktop.";
// MARK - Notification Times bwi
"settings_enable_notification_times" = "Notification Times";
"spaces_home_space_title" = "Home";
"spaces_add_space_title" = "Create space";
"spaces_add_subspace_title" = "Create space within %@";
"spaces_create_space_title" = "Create a space";
"spaces_create_subspace_title" = "Create a subspace";
"spaces_left_panel_title" = "Spaces";
"leave_space_title" = "Leave %@";
"leave_space_message" = "Are you sure you want to leave %@? Do you also want to leave all rooms and spaces of this space?";
@@ -2097,6 +2044,8 @@ Tap the + to start adding people.";
"spaces_creation_hint" = "Spaces are a new way to group rooms and people.";
"spaces_creation_visibility_title" = "What type of space do you want to create?";
"spaces_creation_visibility_message" = "To join an existing space, you need an invite.";
"spaces_subspace_creation_visibility_title" = "What type of subspace do you want to create?";
"spaces_subspace_creation_visibility_message" = "The created space will be added to %@.";
"spaces_creation_footer" = "You can change this later";
"spaces_creation_settings_message" = "Add some details to help it stand out. You can change these at any point.";
"spaces_creation_address" = "Address";
@@ -2191,82 +2140,7 @@ Tap the + to start adding people.";
"voice_message_remaining_recording_time" = "%@s left";
"voice_message_stop_locked_mode_recording" = "Tap on your recording to stop or listen";
"voice_message_lock_screen_placeholder" = "Voice message";
"voice_message_slide_to_cancel" = "Slide to cancel";
// developer menu
"bwi_settings_developer" = "Developer";
"bwi_settings_show_developer_settings" = "Settings";
"bwi_settings_developer_create_new_personal_notes_room" = "Create new note-taking room";
"bwi_settings_developer_reset_matomo_info" = "Reset Matomo Info Screen";
"bwi_settings_developer_settings_reset_birthday_banner" = "Reset birthday banner";
"bwi_settings_developer_new_personal_notes_room_created" = "The existing note-taking room was replaced by a new one.";
"bwi_settings_developer_show_matomo_privacy_notes_resetted" = "The matomo info screen will be shown again.";
// personal notes room
"bwi_personal_notes_beginning_notes_room" = "This is your private note-taking room. You are the only one who can access the contents in this room.";
"bwi_personal_notes_room_profile_encrypted_subtitle" = "Messages here are end-to-end encrypted.";
"bwi_personal_notes_hint_message" = "You now have a private room for your notes and files. Click to open the room.";
"bwi_settings_enable_notes_room_title" = "My notes";
"bwi_settings_enable_notes_room_summary" = "how personal notes room.";
"bwi_notes_room_title" = "My notes";
// personal state
"bwi_edit_personal_state_title" = "Edit state";
"bwi_edit_personal_state_description" = "You can set a custom state. For example if you are on a business trip or in vacation. Your state message is visible for all users.";
"bwi_edit_personal_state_my_state" = "My state";
"bwi_edit_personal_state_placeholder" = "Enter state";
"bwi_edit_personal_state_text_limit" = "max 160 characters";
"bwi_edit_personal_state_option_homeoffice" = "Remote";
"bwi_edit_personal_state_option_work" = "Office";
"bwi_edit_personal_state_option_not_available" = "Not available";
"bwi_edit_personal_state_option_reset" = "Delete message";
// rolls and rights
"bwi_rolls_and_rights" = "Roles and Permissions";
"bwi_rolls_and_rights_main_title" = "Permissions";
"bwi_rolls_and_rights_main_header_admin" = "Permissions the user must have to interact with the room";
"bwi_rolls_and_rights_main_header_no_admin" = "You don't have permission to update the roles required to change various parts of the room";
"bwi_rolls_and_rights_general" = "Change room profile (title, topic, avatar)";
"bwi_rolls_and_rights_send" = "Send messages";
"bwi_rolls_and_rights_invite" = "Invite users";
"bwi_rolls_and_rights_redact" = "Delete messages";
"bwi_rolls_and_rights_ban" = "Remove members (kick, ban)";
"bwi_rolls_and_rights_admin" = "Admin";
"bwi_rolls_and_rights_moderator" = "Moderator";
"bwi_rolls_and_rights_user" = "Member";
"bwi_rolls_and_rights_reset_button" = "Reset to default";
"bwi_rolls_and_rights_reset_title" = "Are you sure that you want to reset the permission settings?";
"bwi_rolls_and_rights_reset_cancel" = "Cancel";
"bwi_rolls_and_rights_reset_ok" = "Reset";
// rolls and rights
"bwi_rolls_and_rights" = "Rolls and Rights";
// Valid app versions
"bwi_deprecated_version_warning_title" = "Deprecated version";
"bwi_deprecated_version_warning_message" = "You are using an app version that is no longer supported. Please update.";
"bwi_deprecated_version_logout_button" = "Logout";
"bwi_deprecated_version_appstore_button" = "App Store";
"bwi_outdated_version_warning_title" = "Outdated version";
"bwi_outdated_version_warning_message" = "We recommend to use the newest version of %@.";
"bwi_outdated_version_logout_button" = "Later";
"bwi_outdated_version_appstore_button" = "App Store";
"bwi_outdated_settings_header" = "App Update";
"bwi_outdated_settings_message" = "We recommend to use the newest version of %@.";
// Time Line settings
"settings_enable_simple_time_line" = "Show timeline events";
"settings_enable_time_stamp" = "Show time stamps";
"settings_enable_deleted_messages" = "Show deleted messages";
"settings_enable_chat_effects" = "Show chat effects";
"settings_enable_room_avatar" = "Show room events";
"settings_enable_user_avatar" = "Show account events";
"settings_enable_enter_room" = "Show user events";
// Last Admin Downgrade
"room_member_details_downgrade_last_admin" = "You must first assign another admin before you are allowed to downgrade yourself.";
// Mark: - Version check
"version_check_banner_title_supported" = "Were ending support for iOS %@";
@@ -2283,26 +2157,36 @@ Tap the + to start adding people.";
"version_check_modal_subtitle_deprecated" = "We've been working on enhancing %@ for a faster and more polished experience. Unfortunately your current version of iOS is not compatible with some of those fixes and is no longer supported.\nWe're advising you to upgrade your operating system to use %@ to its full potential.";
"version_check_modal_action_title_deprecated" = "Find out how";
// Mark: bwiRegistration
// Mark: - All Chats
"bwi_auth_register_button_title" = "Create account";
"bwi_auth_register_alert_title" = "Create account";
"all_chats_title" = "All chats";
"all_chats_section_title" = "Chats";
"all_chats_edit_layout" = "Layout preferences";
"all_chats_edit_layout_recents" = "Recents";
"all_chats_edit_layout_unreads" = "Unreads";
"all_chats_edit_layout_add_section_title" = "Add section to home";
"all_chats_edit_layout_add_section_message" = "Pin sections to home for easy access";
"all_chats_edit_layout_add_filters_title" = "Filter your messages";
"all_chats_edit_layout_add_filters_message" = "Automatically filter your messages into the categories of your choice";
"all_chats_edit_layout_pin_spaces_title" = "Pin your spaces";
"all_chats_edit_layout_sorting_options_title" = "Sort messages by";
// Mark: bwi error codes
"all_chats_edit_layout_show_recents" = "Show recents";
"all_chats_edit_layout_show_filters" = "Show filters";
"all_chats_edit_layout_activity_order" = "Sort by activity";
"all_chats_edit_layout_alphabetical_order" = "Sort A-Z";
"all_chats_all_filter" = "All";
"bwi_error_invite_already_in_room" = "%@ is already in the room.";
"bwi_error_invite_banned_in_room" = "%@ is banned from the room.";
"bwi_error_invite_general" = "%@ could not be invited.";
"room_recents_recently_viewed_section" = "Recently viewed";
/* BWI: Matomo */
"MATOMO_USER_INFO" = "To detect problems much easier and improve the app we need your support.\nThis app collects analytics data.\nDetails about this can be found in our privacy policy.";
"MATOMO_USER_INFO_BUTTON_OK" = "OK";
"MATOMO_USER_INFO_BUTTON_MORE_INFO" = "Privacy Police";
"MATOMO_SETTINGS_SEND_DIAGNOSTIC_DATA" = "Send analyze data";
"all_chats_user_menu_settings" = "User settings";
/* BWI: New Features */
"bwi_settings_new_features_header" = "New Features";
"bwi_settings_new_features_show_features" = "Show new features";
"all_chats_edit_menu_leave_space" = "Leave %@";
"all_chats_edit_menu_space_settings" = "Space settings";
// Mark: - Space Selector
"space_selector_title" = "My spaces";
// Mark: - Polls
@@ -2403,6 +2287,7 @@ To enable access, tap Settings> Location and select Always";
"location_sharing_allow_background_location_validate_action" = "Settings";
"location_sharing_allow_background_location_cancel_action" = "Not now";
"location_sharing_map_credits_title" = "© Copyright";
"location_sharing_map_loading_error" = "Unable to load map\nThis homeserver is not configured to display maps";
// MARK: Live location sharing
@@ -2583,7 +2468,7 @@ To enable access, tap Settings> Location and select Always";
// Settings
"settings" = "Settings";
"settings_enable_inapp_notifications" = "Enable In-App notifications";
"settings_enable_inapp_notifications" = "Enable in-app notifications";
"settings_enable_push_notifications" = "Enable push notifications";
"settings_enter_validation_token_for" = "Enter validation token for %@:";

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1071,7 +1071,7 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
}
wrongBackupVersionAlert = [UIAlertController alertControllerWithTitle:[VectorL10n e2eKeyBackupWrongVersionTitle]
message:[VectorL10n e2eKeyBackupWrongVersion]
message:[BWIL10n e2eKeyBackupWrongVersion]
preferredStyle:UIAlertControllerStyleAlert];
MXWeakify(self);
@@ -2228,7 +2228,7 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
__weak typeof(self) weakSelf = self;
NSString *message = NSLocalizedStringFromTable(@"bwi_mdm_logout_message", @"Bwi", nil);
NSString *message = BWIL10n.bwiMdmLogoutMessage;
// Ask confirmation
self.logoutConfirmation = [UIAlertController alertControllerWithTitle:[VectorL10n settingsSignOut] message:message preferredStyle:UIAlertControllerStyleAlert];
@@ -3343,7 +3343,7 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
NSArray<NSString*> *permissionStrings = @[
[VectorL10n roomWidgetPermissionDisplayNamePermission],
[VectorL10n roomWidgetPermissionAvatarUrlPermission]
[BWIL10n roomWidgetPermissionAvatarUrlPermission]
];
WidgetPermissionViewModel *widgetPermissionViewModel = [[WidgetPermissionViewModel alloc] initWithCreatorUserId:widgetCreatorUserId

View File

@@ -267,8 +267,8 @@ static const CGFloat kAuthInputContainerViewMinHeightConstraintConstant = 150.0;
- (void)presentForgotPasswordInformationAlert
{
UIAlertController *alert = [UIAlertController alertControllerWithTitle:NSLocalizedStringFromTable(@"auth_forgot_password", @"Vector", nil)
message:NSLocalizedStringFromTable(@"bwi_auth_forgot_password_alert_text", @"Vector", nil)
UIAlertController *alert = [UIAlertController alertControllerWithTitle:BWIL10n.authForgotPassword
message:BWIL10n.bwiAuthForgotPasswordAlertText
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:[VectorL10n ok] style:UIAlertActionStyleDefault handler:nil]];
[self presentViewController:alert animated:YES completion:nil];
@@ -1809,7 +1809,7 @@ static const CGFloat kAuthInputContainerViewMinHeightConstraintConstant = 150.0;
if (@available(iOS 14.0, *)) {
self.bwServerOptionsLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 60, 200, 30)];
self.bwServerOptionsLabel.text = NSLocalizedStringFromTable(@"bwi_auth_beta_selection_title", @"Bwi", nil);
self.bwServerOptionsLabel.text = BWIL10n.bwiAuthBetaSelectionTitle;
// [self.customServersContainer addSubview:self.bwServerOptionsLabel];
self.homeServerTextField = [self serverSelectionTextField];
@@ -1827,7 +1827,7 @@ static const CGFloat kAuthInputContainerViewMinHeightConstraintConstant = 150.0;
[self.customServersContainer addSubview:self.bwServerOptionsControl];
self.bwServerOptionsLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 60, 200, 30)];
self.bwServerOptionsLabel.text = NSLocalizedStringFromTable(@"bwi_auth_beta_selection_title", @"Bwi", nil);
self.bwServerOptionsLabel.text = BWIL10n.bwiAuthBetaSelectionTitle;
// [self.customServersContainer addSubview:self.bwServerOptionsLabel];
self.customServersContainer.hidden = NO;
}
@@ -1838,7 +1838,7 @@ static const CGFloat kAuthInputContainerViewMinHeightConstraintConstant = 150.0;
NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.alignment = NSTextAlignmentCenter;
NSMutableAttributedString *registerString = [[NSMutableAttributedString alloc] initWithString:NSLocalizedStringFromTable(@"bwi_auth_register_button_title", @"Vector", nil) attributes: @{NSParagraphStyleAttributeName:paragraphStyle}];
NSMutableAttributedString *registerString = [[NSMutableAttributedString alloc] initWithString:BWIL10n.bwiAuthRegisterButtonTitle];
[registerString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [registerString length])];
[self.bwRegisterButton setAttributedTitle:registerString forState:UIControlStateNormal];
@@ -1886,7 +1886,7 @@ static const CGFloat kAuthInputContainerViewMinHeightConstraintConstant = 150.0;
button.showsMenuAsPrimaryAction = true;
button.frame = CGRectMake(40, 120, self.customServersContainer.frame.size.width-80, 30);
[button setTitle:NSLocalizedStringFromTable(@"bwi_auth_beta_selection_button_title", @"Bwi", nil) forState:UIControlStateNormal];
[button setTitle:BWIL10n.bwiAuthBetaSelectionButtonTitle forState:UIControlStateNormal];
button.titleLabel.textColor = ThemeService.shared.theme.textPrimaryColor;
button.backgroundColor = ThemeService.shared.theme.tintColor;
@@ -1927,7 +1927,8 @@ static const CGFloat kAuthInputContainerViewMinHeightConstraintConstant = 150.0;
- (void) bwiPresentRegisterInformationAlert
{
UIAlertController *alert = [UIAlertController alertControllerWithTitle:NSLocalizedStringFromTable(@"bwi_auth_register_alert_title", @"Vector", nil)
// $$$ bwi_auth_register_alert_text does not exists in strings table
UIAlertController *alert = [UIAlertController alertControllerWithTitle:BWIL10n.bwiAuthRegisterAlertTitle
message:NSLocalizedStringFromTable(@"bwi_auth_register_alert_text", @"Vector", nil)
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:[VectorL10n ok] style:UIAlertActionStyleDefault handler:nil]];

View File

@@ -74,7 +74,7 @@
_isThirdPartyIdentifierPending = NO;
_isSingleSignOnRequired = NO;
self.userLoginTextField.placeholder = [VectorL10n authUserIdPlaceholder];
self.userLoginTextField.placeholder = [BWIL10n authUserIdPlaceholder];
self.repeatPasswordTextField.placeholder = [VectorL10n authRepeatPasswordPlaceholder];
self.passWordTextField.placeholder = [VectorL10n authPasswordPlaceholder];
@@ -214,7 +214,7 @@
self.passWordTextField.returnKeyType = UIReturnKeyDone;
self.phoneTextField.returnKeyType = UIReturnKeyNext;
self.userLoginTextField.placeholder = [VectorL10n authUserIdPlaceholder];
self.userLoginTextField.placeholder = [BWIL10n authUserIdPlaceholder];
self.messageLabel.text = [VectorL10n or];
self.phoneTextField.placeholder = [VectorL10n authPhonePlaceholder];

View File

@@ -2614,11 +2614,11 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
if( BwiBuildSettings.bwiCheckAppVersion && appVersionsService.isCurrentAppVersionDeprecated ) {
MXWeakify(self);
UIAlertController *errorAlert = [UIAlertController alertControllerWithTitle:[VectorL10n bwiOutdatedVersionWarningTitle]
message:[VectorL10n bwiDeprecatedVersionWarningMessage]
UIAlertController *errorAlert = [UIAlertController alertControllerWithTitle:[BWIL10n bwiOutdatedVersionWarningTitle]
message:[BWIL10n bwiDeprecatedVersionWarningMessage]
preferredStyle:UIAlertControllerStyleAlert];
[errorAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n bwiDeprecatedVersionAppstoreButton]
[errorAlert addAction:[UIAlertAction actionWithTitle:[BWIL10n bwiDeprecatedVersionAppstoreButton]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[self logout];
@@ -2628,7 +2628,7 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
self->currentAlert = nil;
}]];
[errorAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n bwiOutdatedVersionLogoutButton]
[errorAlert addAction:[UIAlertAction actionWithTitle:[BWIL10n bwiOutdatedVersionLogoutButton]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[self logout];
@@ -2642,11 +2642,11 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
ValidAppVersionsDefaultService *appVersionsService = [[ValidAppVersionsDefaultService alloc] init];
if (BwiBuildSettings.bwiCheckAppVersion && appVersionsService.isCurrentAppVersionOutdated && !appVersionsService.wasOutdatedAlertShown) {
MXWeakify(self);
UIAlertController *errorAlert = [UIAlertController alertControllerWithTitle:[VectorL10n bwiOutdatedVersionWarningTitle]
message:[VectorL10n bwiOutdatedVersionWarningMessage:AppInfo.current.displayName]
UIAlertController *errorAlert = [UIAlertController alertControllerWithTitle:[BWIL10n bwiOutdatedVersionWarningTitle]
message:[BWIL10n bwiOutdatedVersionWarningMessage:AppInfo.current.displayName]
preferredStyle:UIAlertControllerStyleAlert];
[errorAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n bwiOutdatedVersionAppstoreButton]
[errorAlert addAction:[UIAlertAction actionWithTitle:[BWIL10n bwiOutdatedVersionAppstoreButton]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
@@ -2657,7 +2657,7 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
self->currentAlert = nil;
}]];
[errorAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n bwiOutdatedVersionLogoutButton]
[errorAlert addAction:[UIAlertAction actionWithTitle:[BWIL10n bwiOutdatedVersionLogoutButton]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[appVersionsService setOutdatedAlertShown:true];

View File

@@ -107,8 +107,8 @@
[self.leftButton setTitle:[VectorL10n decline] forState:UIControlStateNormal];
[self.leftButton setTitle:[VectorL10n decline] forState:UIControlStateHighlighted];
[self.rightButton setTitle:[VectorL10n join] forState:UIControlStateNormal];
[self.rightButton setTitle:[VectorL10n join] forState:UIControlStateHighlighted];
[self.rightButton setTitle:[BWIL10n join] forState:UIControlStateNormal];
[self.rightButton setTitle:[BWIL10n join] forState:UIControlStateHighlighted];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
[tap setNumberOfTouchesRequired:1];

View File

@@ -44,7 +44,7 @@ class PublicRoomActionProvider: RoomActionProviderProtocol {
private var joinAction: UIAction {
return UIAction(
title: VectorL10n.join) { [weak self] action in
title: BWIL10n.join) { [weak self] action in
self?.service.joinRoom()
}
}

View File

@@ -157,7 +157,7 @@ class RoomActionProvider: RoomActionProviderProtocol {
private var joinAction: UIAction {
return UIAction(
title: VectorL10n.join) { [weak self] action in
title: BWIL10n.join) { [weak self] action in
guard let self = self else { return }
self.service.joinRoom()
}

View File

@@ -44,7 +44,7 @@ class SpaceChildActionProvider: RoomActionProviderProtocol {
private var joinAction: UIAction {
return UIAction(
title: VectorL10n.join) { [weak self] action in
title: BWIL10n.join) { [weak self] action in
self?.service.joinRoom()
}
}

View File

@@ -110,7 +110,7 @@ final class EnterNewRoomDetailsViewController: UIViewController {
rows: [row_1_0],
footer: nil)
let row_2_0 = Row(type: .textView(tag: Constants.roomTopicTextViewTag, placeholder: VectorL10n.createRoomPlaceholderTopic, delegate: self), text: viewModel.roomCreationParameters.topic, accessoryType: .none) {
let row_2_0 = Row(type: .textView(tag: Constants.roomTopicTextViewTag, placeholder: BWIL10n.createRoomPlaceholderTopic, delegate: self), text: viewModel.roomCreationParameters.topic, accessoryType: .none) {
}
let section2 = Section(header: VectorL10n.createRoomSectionHeaderTopic,

View File

@@ -332,7 +332,7 @@
if (self.selectedViewController == peopleSearchViewController)
{
self.searchBar.placeholder = [VectorL10n searchPeoplePlaceholder];
self.searchBar.placeholder = [BWIL10n searchPeoplePlaceholder];
}
else
{

View File

@@ -56,11 +56,11 @@
// Do we need to display like ">20 results found" or "18 results found"?
if (publicRoomsDirectoryDataSource.searchResultsCountIsLimited && publicRoomsDirectoryDataSource.searchResultsCount > 0)
{
self.descriptionLabel.text = [VectorL10n directorySearchResultsMoreThan:publicRoomsDirectoryDataSource.searchResultsCount :publicRoomsDirectoryDataSource.searchPattern];
self.descriptionLabel.text = [BWIL10n directorySearchResultsMoreThan:publicRoomsDirectoryDataSource.searchResultsCount :publicRoomsDirectoryDataSource.searchPattern];
}
else
{
self.descriptionLabel.text = [VectorL10n directorySearchResults:publicRoomsDirectoryDataSource.searchResultsCount :publicRoomsDirectoryDataSource.searchPattern];
self.descriptionLabel.text = [BWIL10n directorySearchResults:publicRoomsDirectoryDataSource.searchResultsCount :publicRoomsDirectoryDataSource.searchPattern];
}
}
else

View File

@@ -177,7 +177,7 @@ final class WidgetPermissionViewController: UIViewController {
private func setupContinueButton() {
self.continueButton.layer.masksToBounds = true
self.continueButton.setTitle(VectorL10n.continue, for: .normal)
self.continueButton.setTitle(BWIL10n.continue, for: .normal)
}
// MARK: - Actions

View File

@@ -237,7 +237,7 @@ NSString *const kJavascriptSendResponseToPostMessageAPI = @"riotIOS.sendResponse
NSArray<NSString*> *permissionStrings = @[
[VectorL10n roomWidgetPermissionDisplayNamePermission],
[VectorL10n roomWidgetPermissionAvatarUrlPermission],
[BWIL10n roomWidgetPermissionAvatarUrlPermission],
[VectorL10n roomWidgetPermissionUserIdPermission],
[VectorL10n roomWidgetPermissionThemePermission],
[VectorL10n roomWidgetPermissionWidgetIdPermission],

View File

@@ -65,7 +65,7 @@ final class KeyBackupRecoverFromPassphraseViewController: UIViewController {
// Do any additional setup after loading the view.
self.title = VectorL10n.keyBackupRecoverTitle
self.title = BWIL10n.keyBackupRecoverTitle
self.vc_removeBackTitle()
self.setupViews()
@@ -100,9 +100,9 @@ final class KeyBackupRecoverFromPassphraseViewController: UIViewController {
let visibilityImage = Asset.Images.revealPasswordButton.image.withRenderingMode(.alwaysTemplate)
self.passphraseVisibilityButton.setImage(visibilityImage, for: .normal)
self.informationLabel.text = VectorL10n.keyBackupRecoverFromPassphraseInfo
self.informationLabel.text = BWIL10n.keyBackupRecoverFromPassphraseInfo
self.passphraseTitleLabel.text = VectorL10n.keyBackupRecoverFromPassphrasePassphraseTitle
self.passphraseTitleLabel.text = BWIL10n.keyBackupRecoverFromPassphrasePassphraseTitle
self.passphraseTextField.addTarget(self, action: #selector(passphraseTextFieldDidChange(_:)), for: .editingChanged)
self.unknownPassphraseButton.vc_enableMultiLinesTitle()
@@ -129,7 +129,7 @@ final class KeyBackupRecoverFromPassphraseViewController: UIViewController {
self.passphraseTextFieldBackgroundView.backgroundColor = theme.backgroundColor
self.passphraseTitleLabel.textColor = theme.textPrimaryColor
theme.applyStyle(onTextField: self.passphraseTextField)
self.passphraseTextField.attributedPlaceholder = NSAttributedString(string: VectorL10n.keyBackupRecoverFromPassphrasePassphrasePlaceholder,
self.passphraseTextField.attributedPlaceholder = NSAttributedString(string: BWIL10n.keyBackupRecoverFromPassphrasePassphrasePlaceholder,
attributes: [.foregroundColor: theme.placeholderTextColor])
self.theme.applyStyle(onButton: self.passphraseVisibilityButton)
@@ -137,8 +137,8 @@ final class KeyBackupRecoverFromPassphraseViewController: UIViewController {
self.recoverButtonBackgroundView.backgroundColor = theme.backgroundColor
theme.applyStyle(onButton: self.recoverButton)
let unknownRecoveryKeyAttributedString = NSMutableAttributedString(string: VectorL10n.keyBackupRecoverFromPassphraseLostPassphraseActionPart1, attributes: [.foregroundColor: self.theme.textPrimaryColor])
let unknownRecoveryKeyAttributedStringPart2 = NSAttributedString(string: VectorL10n.keyBackupRecoverFromPassphraseLostPassphraseActionPart2, attributes: [.foregroundColor: self.theme.tintColor])
let unknownRecoveryKeyAttributedString = NSMutableAttributedString(string: BWIL10n.keyBackupRecoverFromPassphraseLostPassphraseActionPart1, attributes: [.foregroundColor: self.theme.textPrimaryColor])
let unknownRecoveryKeyAttributedStringPart2 = NSAttributedString(string: BWIL10n.keyBackupRecoverFromPassphraseLostPassphraseActionPart2, attributes: [.foregroundColor: self.theme.tintColor])
let unknownRecoveryKeyAttributedStringPart3 = NSAttributedString(string: VectorL10n.keyBackupRecoverFromPassphraseLostPassphraseActionPart3, attributes: [.foregroundColor: self.theme.textPrimaryColor])
unknownRecoveryKeyAttributedString.append(unknownRecoveryKeyAttributedStringPart2)
@@ -186,8 +186,8 @@ final class KeyBackupRecoverFromPassphraseViewController: UIViewController {
&& (error as NSError).code == Int(MXKeyBackupErrorInvalidRecoveryKeyCode.rawValue) {
self.errorPresenter.presentError(from: self,
title: VectorL10n.keyBackupRecoverInvalidPassphraseTitle,
message: VectorL10n.keyBackupRecoverInvalidPassphrase,
title: BWIL10n.keyBackupRecoverInvalidPassphraseTitle,
message: BWIL10n.keyBackupRecoverInvalidPassphrase,
animated: true,
handler: nil)
} else {

View File

@@ -53,7 +53,7 @@ final class KeyBackupRecoverFromPrivateKeyViewController: UIViewController {
// Do any additional setup after loading the view.
self.title = VectorL10n.keyBackupRecoverTitle
self.title = BWIL10n.keyBackupRecoverTitle
self.setupViews()
self.activityPresenter = ActivityIndicatorPresenter()

View File

@@ -67,7 +67,7 @@ final class KeyBackupRecoverFromRecoveryKeyViewController: UIViewController {
// Do any additional setup after loading the view.
self.title = VectorL10n.keyBackupRecoverTitle
self.title = BWIL10n.keyBackupRecoverTitle
self.vc_removeBackTitle()
self.setupViews()
@@ -99,7 +99,7 @@ final class KeyBackupRecoverFromRecoveryKeyViewController: UIViewController {
let shieldImage = Asset.Images.keyBackupLogo.image.withRenderingMode(.alwaysTemplate)
self.shieldImageView.image = shieldImage
self.informationLabel.text = VectorL10n.keyBackupRecoverFromRecoveryKeyInfo
self.informationLabel.text = BWIL10n.keyBackupRecoverFromRecoveryKeyInfo
self.recoveryKeyTitleLabel.text = VectorL10n.keyBackupRecoverFromRecoveryKeyRecoveryKeyTitle
self.recoveryKeyTextField.addTarget(self, action: #selector(recoveryKeyTextFieldDidChange(_:)), for: .editingChanged)
@@ -108,7 +108,7 @@ final class KeyBackupRecoverFromRecoveryKeyViewController: UIViewController {
self.importFileButton.setImage(importFileImage, for: .normal)
self.unknownRecoveryKeyButton.vc_enableMultiLinesTitle()
self.unknownRecoveryKeyButton.setTitle(VectorL10n.keyBackupRecoverFromRecoveryKeyLostRecoveryKeyAction, for: .normal)
self.unknownRecoveryKeyButton.setTitle(BWIL10n.keyBackupRecoverFromRecoveryKeyLostRecoveryKeyAction, for: .normal)
// Interaction is disabled for the moment
self.unknownRecoveryKeyButton.isUserInteractionEnabled = false
@@ -134,7 +134,7 @@ final class KeyBackupRecoverFromRecoveryKeyViewController: UIViewController {
self.recoveryKeyTextFieldBackgroundView.backgroundColor = theme.backgroundColor
self.recoveryKeyTitleLabel.textColor = theme.textPrimaryColor
theme.applyStyle(onTextField: self.recoveryKeyTextField)
self.recoveryKeyTextField.attributedPlaceholder = NSAttributedString(string: VectorL10n.keyBackupRecoverFromRecoveryKeyRecoveryKeyPlaceholder,
self.recoveryKeyTextField.attributedPlaceholder = NSAttributedString(string: BWIL10n.keyBackupRecoverFromRecoveryKeyRecoveryKeyPlaceholder,
attributes: [.foregroundColor: theme.placeholderTextColor])
theme.applyStyle(onButton: self.importFileButton)
@@ -184,8 +184,8 @@ final class KeyBackupRecoverFromRecoveryKeyViewController: UIViewController {
&& (error as NSError).code == Int(MXKeyBackupErrorInvalidRecoveryKeyCode.rawValue) {
self.errorPresenter.presentError(from: self,
title: VectorL10n.keyBackupRecoverInvalidRecoveryKeyTitle,
message: VectorL10n.keyBackupRecoverInvalidRecoveryKey,
title: BWIL10n.keyBackupRecoverInvalidRecoveryKeyTitle,
message: BWIL10n.keyBackupRecoverInvalidRecoveryKey,
animated: true,
handler: nil)
} else {

View File

@@ -56,7 +56,7 @@ final class KeyBackupRecoverSuccessViewController: UIViewController {
// Do any additional setup after loading the view.
self.title = VectorL10n.keyBackupRecoverTitle
self.title = BWIL10n.keyBackupRecoverTitle
self.vc_removeBackTitle()
self.setupViews()

View File

@@ -135,7 +135,7 @@ final class KeyBackupSetupIntroViewController: UIViewController {
message: VectorL10n.keyBackupSetupSkipAlertMessage,
preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: VectorL10n.continue, style: .cancel, handler: { action in
alertController.addAction(UIAlertAction(title: BWIL10n.continue, style: .cancel, handler: { action in
}))
alertController.addAction(UIAlertAction(title: VectorL10n.keyBackupSetupSkipAlertSkipAction, style: .default, handler: { action in

View File

@@ -149,7 +149,7 @@ final class KeyBackupSetupPassphraseViewController: UIViewController {
self.formBackgroundView.backgroundColor = theme.backgroundColor
self.passphraseTitleLabel.textColor = theme.textPrimaryColor
theme.applyStyle(onTextField: self.passphraseTextField)
self.passphraseTextField.attributedPlaceholder = NSAttributedString(string: VectorL10n.keyBackupSetupPassphrasePassphrasePlaceholder,
self.passphraseTextField.attributedPlaceholder = NSAttributedString(string: BWIL10n.keyBackupSetupPassphrasePassphrasePlaceholder,
attributes: [.foregroundColor: theme.placeholderTextColor])
self.updatePassphraseAdditionalLabel()
@@ -157,7 +157,7 @@ final class KeyBackupSetupPassphraseViewController: UIViewController {
self.confirmPassphraseTitleLabel.textColor = theme.textPrimaryColor
theme.applyStyle(onTextField: self.confirmPassphraseTextField)
self.confirmPassphraseTextField.attributedPlaceholder = NSAttributedString(string: VectorL10n.keyBackupSetupPassphraseConfirmPassphraseTitle,
self.confirmPassphraseTextField.attributedPlaceholder = NSAttributedString(string: BWIL10n.keyBackupSetupPassphraseConfirmPassphraseTitle,
attributes: [.foregroundColor: theme.placeholderTextColor])
self.updateConfirmPassphraseAdditionalLabel()
@@ -185,20 +185,20 @@ final class KeyBackupSetupPassphraseViewController: UIViewController {
self.scrollView.keyboardDismissMode = .interactive
self.titleLabel.text = VectorL10n.keyBackupSetupPassphraseTitle
self.informationLabel.text = VectorL10n.keyBackupSetupPassphraseInfo
self.titleLabel.text = BWIL10n.keyBackupSetupPassphraseTitle
self.informationLabel.text = BWIL10n.keyBackupSetupPassphraseInfo
self.passphraseTitleLabel.text = VectorL10n.keyBackupSetupPassphrasePassphraseTitle
self.passphraseTitleLabel.text = BWIL10n.keyBackupSetupPassphrasePassphraseTitle
self.passphraseTextField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
self.passphraseStrengthView.strength = self.viewModel.passphraseStrength
self.passphraseAdditionalInfoView.isHidden = true
self.confirmPassphraseTitleLabel.text = VectorL10n.keyBackupSetupPassphraseConfirmPassphraseTitle
self.confirmPassphraseTitleLabel.text = BWIL10n.keyBackupSetupPassphraseConfirmPassphraseTitle
self.confirmPassphraseTextField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
self.confirmPassphraseAdditionalInfoView.isHidden = true
self.setPassphraseButton.vc_enableMultiLinesTitle()
self.setPassphraseButton.setTitle(VectorL10n.keyBackupSetupPassphraseSetPassphraseAction, for: .normal)
self.setPassphraseButton.setTitle(BWIL10n.keyBackupSetupPassphraseSetPassphraseAction, for: .normal)
self.updateSetPassphraseButton()
}
@@ -246,7 +246,7 @@ final class KeyBackupSetupPassphraseViewController: UIViewController {
text = VectorL10n.keyBackupSetupPassphrasePassphraseValid
textColor = self.theme.tintColor
} else {
text = VectorL10n.keyBackupSetupPassphrasePassphraseInvalid
text = BWIL10n.keyBackupSetupPassphrasePassphraseInvalid
textColor = self.theme.noticeColor
}
@@ -263,7 +263,7 @@ final class KeyBackupSetupPassphraseViewController: UIViewController {
text = VectorL10n.keyBackupSetupPassphraseConfirmPassphraseValid
textColor = self.theme.tintColor
} else {
text = VectorL10n.keyBackupSetupPassphraseConfirmPassphraseInvalid
text = BWIL10n.keyBackupSetupPassphraseConfirmPassphraseInvalid
textColor = self.theme.noticeColor
}
@@ -310,7 +310,7 @@ final class KeyBackupSetupPassphraseViewController: UIViewController {
message: VectorL10n.keyBackupSetupSkipAlertMessage,
preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: VectorL10n.continue, style: .cancel, handler: { action in
alertController.addAction(UIAlertAction(title: BWIL10n.continue, style: .cancel, handler: { action in
self.viewModel.process(viewAction: .skipAlertContinue)
}))

View File

@@ -87,9 +87,9 @@ final class KeyBackupSetupSuccessFromPassphraseViewController: UIViewController
self.keyBackupLogoImageView.image = keybackupLogoImage
self.titleLabel.text = VectorL10n.keyBackupSetupSuccessTitle
self.informationLabel.text = VectorL10n.keyBackupSetupSuccessFromPassphraseInfo
self.informationLabel.text = BWIL10n.keyBackupSetupSuccessFromPassphraseInfo
self.saveRecoveryKeyButton.setTitle(VectorL10n.keyBackupSetupSuccessFromPassphraseSaveRecoveryKeyAction, for: .normal)
self.saveRecoveryKeyButton.setTitle(BWIL10n.keyBackupSetupSuccessFromPassphraseSaveRecoveryKeyAction, for: .normal)
self.doneButton.setTitle(VectorL10n.keyBackupSetupSuccessFromPassphraseDoneAction, for: .normal)
}

View File

@@ -94,9 +94,9 @@ final class KeyBackupSetupSuccessFromRecoveryKeyViewController: UIViewController
self.keyBackupLogoImageView.image = keybackupLogoImage
self.titleLabel.text = VectorL10n.keyBackupSetupSuccessTitle
self.informationLabel.text = VectorL10n.keyBackupSetupSuccessFromRecoveryKeyInfo
self.informationLabel.text = BWIL10n.keyBackupSetupSuccessFromRecoveryKeyInfo
self.recoveryKeyTitleLabel.text = VectorL10n.keyBackupSetupSuccessFromRecoveryKeyRecoveryKeyTitle
self.recoveryKeyTitleLabel.text = BWIL10n.keyBackupSetupSuccessFromRecoveryKeyRecoveryKeyTitle
self.recoveryKeyLabel.text = self.recoveryKey
self.makeACopyButton.setTitle(VectorL10n.keyBackupSetupSuccessFromRecoveryKeyMakeCopyAction, for: .normal)

View File

@@ -29,7 +29,7 @@ enum KeyVerificationKind {
case .otherSession:
title = VectorL10n.keyVerificationOtherSessionTitle
case .thisSession:
title = VectorL10n.keyVerificationThisSessionTitle
title = BWIL10n.keyVerificationThisSessionTitle
case .newSession:
title = VectorL10n.keyVerificationNewSessionTitle
case .user:

View File

@@ -84,16 +84,16 @@ final class KeyVerificationVerifiedViewController: UIViewController {
switch self.verificationKind {
case .otherSession:
bodyTitle = VectorL10n.deviceVerificationVerifiedTitle
bodyTitle = BWIL10n.deviceVerificationVerifiedTitle
informationText = VectorL10n.keyVerificationVerifiedOtherSessionInformation
case .newSession:
bodyTitle = VectorL10n.keyVerificationVerifiedNewSessionTitle
informationText = VectorL10n.keyVerificationVerifiedNewSessionInformation
informationText = BWIL10n.keyVerificationVerifiedNewSessionInformation
case .thisSession:
bodyTitle = VectorL10n.deviceVerificationVerifiedTitle
informationText = VectorL10n.keyVerificationVerifiedThisSessionInformation
bodyTitle = BWIL10n.deviceVerificationVerifiedTitle
informationText = BWIL10n.keyVerificationVerifiedThisSessionInformation
case .user:
bodyTitle = VectorL10n.deviceVerificationVerifiedTitle
bodyTitle = BWIL10n.deviceVerificationVerifiedTitle
informationText = VectorL10n.keyVerificationVerifiedUserInformation
}
@@ -101,7 +101,7 @@ final class KeyVerificationVerifiedViewController: UIViewController {
self.titleLabel.text = bodyTitle
self.informationLabel.text = informationText
self.doneButton.setTitle(VectorL10n.deviceVerificationVerifiedGotItButton, for: .normal)
self.doneButton.setTitle(BWIL10n.deviceVerificationVerifiedGotItButton, for: .normal)
}
private func update(theme: Theme) {

View File

@@ -128,7 +128,7 @@ final class DeviceVerificationIncomingViewController: UIViewController {
self.titleLabel.text = VectorL10n.deviceVerificationIncomingTitle
self.description1Label.text = VectorL10n.deviceVerificationIncomingDescription1
self.description2Label.text = VectorL10n.deviceVerificationIncomingDescription2
self.continueButton.setTitle(VectorL10n.continue, for: .normal)
self.continueButton.setTitle(BWIL10n.continue, for: .normal)
if let avatarImageView = self.avatarImageView {
let defaultavatarImage = AvatarGenerator.generateAvatar(forMatrixItem: self.viewModel.userId, withDisplayName: self.viewModel.userDisplayName)

View File

@@ -125,9 +125,9 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
self.cancelBarButtonItem = cancelBarButtonItem
}
self.title = VectorL10n.deviceVerificationSelfVerifyWaitTitle
self.title = BWIL10n.deviceVerificationSelfVerifyWaitTitle
self.informationLabel.text = VectorL10n.deviceVerificationSelfVerifyWaitInformation(AppInfo.current.displayName)
self.informationLabel.text = BWIL10n.deviceVerificationSelfVerifyWaitInformation
self.desktopClientImageView.image = Asset.Images.monitor.image.withRenderingMode(.alwaysTemplate)
self.mobileClientImageView.image = Asset.Images.smartphone.image.withRenderingMode(.alwaysTemplate)
@@ -168,7 +168,7 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
private func renderLoaded(viewData: KeyVerificationSelfVerifyWaitViewData) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.title = viewData.isNewSignIn ? VectorL10n.deviceVerificationSelfVerifyWaitNewSignInTitle : VectorL10n.deviceVerificationSelfVerifyWaitTitle
self.title = viewData.isNewSignIn ? VectorL10n.deviceVerificationSelfVerifyWaitNewSignInTitle : BWIL10n.deviceVerificationSelfVerifyWaitTitle
self.cancelBarButtonItem?.title = viewData.isNewSignIn ? VectorL10n.skip : VectorL10n.cancel
let hideRecoverSecrets: Bool

View File

@@ -744,7 +744,7 @@ NSString* const kMXKAccountDetailsLinkedEmailCellId = @"kMXKAccountDetailsLinked
}]];
[alert addAction:[UIAlertAction actionWithTitle:[VectorL10n continue]
[alert addAction:[UIAlertAction actionWithTitle:[BWIL10n continue]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {

View File

@@ -396,11 +396,11 @@
switch (roomPowerLevel) {
case RoomPowerLevelAdmin:
self.roomMemberPowerLevelLabel.text = [VectorL10n roomMemberPowerLevelAdminIn:self.mxRoom.summary.displayname];
self.roomMemberPowerLevelLabel.text = [BWIL10n roomMemberPowerLevelAdminIn:self.mxRoom.summary.displayname];
self.roomMemberPowerLevelContainerView.hidden = NO;
break;
case RoomPowerLevelModerator:
self.roomMemberPowerLevelLabel.text = [VectorL10n roomMemberPowerLevelModeratorIn:self.mxRoom.summary.displayname];
self.roomMemberPowerLevelLabel.text = [BWIL10n roomMemberPowerLevelModeratorIn:self.mxRoom.summary.displayname];
self.roomMemberPowerLevelContainerView.hidden = NO;
break;
default:
@@ -447,7 +447,7 @@
NSString* userLabel = [self tmpUserLabel];
if (userLabel) {
self.roomMemberUserIdLabel.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"bwi_room_member_details_userlabel", @"Bwi", nil), self.mxRoom.summary.displayname, userLabel];
self.roomMemberUserIdLabel.text = [BWIL10n bwiRoomMemberDetailsUserlabel:self.mxRoom.summary.displayname :userLabel];
} else {
self.roomMemberUserIdLabel.text = nil;
}
@@ -807,7 +807,7 @@
}
else if (section == bwiUserLabelsIndex)
{
return [NSString stringWithFormat:NSLocalizedStringFromTable(@"bwi_room_member_section_userlabels", @"Bwi", nil), self.mxRoom.summary.displayname];
return [BWIL10n bwiRoomMemberSectionUserlabels: self.mxRoom.summary.displayname];
}
return nil;
@@ -876,12 +876,13 @@
title = [VectorL10n roomParticipantsActionMention];
break;
case MXKRoomMemberDetailsActionPermalink:
title = [VectorL10n roomParticipantsActionPermalink];
title = [BWIL10n roomParticipantsActionPermalink];
break;
case MXKRoomMemberDetailsActionBwiUserLabelDescription:
title = @"bwi functions desc";
break;
case MXKRoomMemberDetailsActionBwiUserLabel:
// $$$ string translation does not exist
title = NSLocalizedStringFromTable(@"bwi_room_participants_action_userlabels", @"Bwi", nil);
break;
default:
@@ -958,7 +959,7 @@
{
NSString *info = (self.mxRoom.isDirect) ?
[VectorL10n roomParticipantsSecurityInformationRoomEncryptedForDm] :
[VectorL10n roomParticipantsSecurityInformationRoomEncrypted];
[BWIL10n roomParticipantsSecurityInformationRoomEncrypted];
[encryptionInformation appendString:info];
}
break;
@@ -1401,7 +1402,7 @@
- (void)showAlertChangePowerLevelNotAllowed {
__weak typeof(self) weakSelf = self;
currentAlert = [UIAlertController alertControllerWithTitle:NSLocalizedStringFromTable(@"room_member_details_downgrade_last_admin", @"Vector", nil)
currentAlert = [UIAlertController alertControllerWithTitle:BWIL10n.roomMemberDetailsDowngradeLastAdmin
message:nil
preferredStyle:UIAlertControllerStyleAlert];
@@ -1515,7 +1516,7 @@
functionDescriptionCell.textLabel.backgroundColor = [UIColor clearColor];
functionDescriptionCell.textLabel.numberOfLines = 0;
functionDescriptionCell.textLabel.text = NSLocalizedStringFromTable(@"bwi_room_member_userlabels_description", @"Bwi", nil);
functionDescriptionCell.textLabel.text = BWIL10n.bwiRoomMemberUserlabelsDescription;
functionDescriptionCell.textLabel.font = [UIFont systemFontOfSize:14.0];
functionDescriptionCell.textLabel.textColor = ThemeService.shared.theme.headerTextPrimaryColor;
@@ -1604,7 +1605,7 @@
}
- (void)updateUserLabelTheme {
bwiUserLabelTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:NSLocalizedStringFromTable(@"bwi_room_member_userlabels_textfield_placeholder", @"Bwi", nil) attributes:@{NSForegroundColorAttributeName: ThemeService.shared.theme.textQuinaryColor}];
bwiUserLabelTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:BWIL10n.bwiRoomMemberUserlabelsTextfieldPlaceholder attributes:@{NSForegroundColorAttributeName: ThemeService.shared.theme.textQuinaryColor}];
bwiUserLabelTextField.textColor = ThemeService.shared.theme.textSecondaryColor;
bwiUserLabelTextField.tintColor = ThemeService.shared.theme.tintColor;
@@ -1628,9 +1629,9 @@
NSString* title;
if (permFunction) {
title = NSLocalizedStringFromTable(@"bwi_room_member_userlabels_button_delete", @"Bwi", nil);
title = BWIL10n.bwiRoomMemberUserlabelsButtonDelete;
} else {
title = NSLocalizedStringFromTable(@"bwi_room_member_userlabels_button_save", @"Bwi", nil);
title = BWIL10n.bwiRoomMemberUserlabelsButtonSave;
}
[bwiUserLabelButton setTitle:title forState:UIControlStateNormal];

View File

@@ -956,11 +956,11 @@
- (NSString*) localizedMessage:(NSString*)message {
if ([message hasSuffix:@"is already in the room."]) {
return NSLocalizedStringFromTable(@"bwi_error_invite_already_in_room", @"Vector", nil);
return NSLocalizedStringFromTable(@"bwi_error_invite_already_in_room", @"Bwi", nil);
} else if ([message hasSuffix:@"who was banned"]) {
return NSLocalizedStringFromTable(@"bwi_error_invite_banned_in_room", @"Vector", nil);
return NSLocalizedStringFromTable(@"bwi_error_invite_banned_in_room", @"Bwi", nil);
} else {
return NSLocalizedStringFromTable(@"bwi_error_invite_general", @"Vector", nil);
return NSLocalizedStringFromTable(@"bwi_error_invite_general", @"Bwi", nil);
}
}

View File

@@ -125,7 +125,7 @@ class ContactsPickerViewModel: NSObject, ContactsPickerViewModelProtocol {
}
contactsViewController.showSearch(true)
contactsViewController.searchBar.placeholder = VectorL10n.roomParticipantsInviteAnotherUser
contactsViewController.searchBar.placeholder = BWIL10n.roomParticipantsInviteAnotherUser
contactsViewController.searchBar.resignFirstResponder()
// Apply the search pattern if any

View File

@@ -70,7 +70,7 @@ final class RoomInfoCoordinator: NSObject, RoomInfoCoordinatorType {
}
controller.initWithTitles([
VectorL10n.roomDetailsPeople,
VectorL10n.roomDetailsFiles,
BWIL10n.roomDetailsFiles,
VectorL10n.roomDetailsSettings
], viewControllers: [
participants,

View File

@@ -194,7 +194,7 @@ final class RoomInfoListViewController: UIViewController {
let rowSettings = Row(type: .default, icon: Asset.Images.settingsIcon.image, text: VectorL10n.roomDetailsSettings, accessoryType: .disclosureIndicator) {
self.viewModel.process(viewAction: .navigate(target: .settings()))
}
let rowRollsAndRights = Row(type: .default, icon: Asset.Images.rollsAndRights.image, text: VectorL10n.bwiRollsAndRights, accessoryType: .disclosureIndicator) {
let rowRollsAndRights = Row(type: .default, icon: Asset.Images.rollsAndRights.image, text: BWIL10n.bwiRollsAndRights, accessoryType: .disclosureIndicator) {
self.viewModel.process(viewAction: .navigate(target: .rollsAndRights))
}
let roomNotifications = Row(type: .default, icon: Asset.Images.notifications.image, text: VectorL10n.roomDetailsNotifs, accessoryType: .disclosureIndicator) {
@@ -204,14 +204,14 @@ final class RoomInfoListViewController: UIViewController {
let rowMembers = Row(type: .default, icon: Asset.Images.userIcon.image, text: text, accessoryType: .disclosureIndicator) {
self.viewModel.process(viewAction: .navigate(target: .members))
}
let rowUploads = Row(type: .default, icon: Asset.Images.scrollup.image, text: VectorL10n.roomDetailsFiles, accessoryType: .disclosureIndicator) {
let rowUploads = Row(type: .default, icon: Asset.Images.scrollup.image, text: BWIL10n.roomDetailsFiles, accessoryType: .disclosureIndicator) {
self.viewModel.process(viewAction: .navigate(target: .uploads))
}
let rowSearch = Row(type: .default, icon: Asset.Images.searchIcon.image, text: VectorL10n.roomDetailsSearch, accessoryType: .disclosureIndicator) {
self.viewModel.process(viewAction: .navigate(target: .search))
}
let rowPermalink = Row(type: .default, icon: nil, text: VectorL10n.roomDetailsPermalink, accessoryType: .none) {
let rowPermalink = Row(type: .default, icon: nil, text: BWIL10n.roomDetailsPermalink, accessoryType: .none) {
self.viewModel.process(viewAction: .permalink)
}
@@ -347,7 +347,7 @@ final class RoomInfoListViewController: UIViewController {
private func doNotLeaveUIAlertController() -> UIAlertController {
let title = VectorL10n.roomParticipantsLeavePromptTitle
let message = NSLocalizedString("room_participants_cant_leave_prompt_message", tableName: "Vector", comment: "")
let message = BWIL10n.roomParticipantsCantLeavePromptMessage
let controller = UIAlertController(title: title, message: message, preferredStyle: .alert)
controller.addAction(UIAlertAction(title: VectorL10n.cancel, style: .cancel, handler: nil))
@@ -513,7 +513,7 @@ extension RoomInfoListViewController {
self.viewModel.process(viewAction: .navigate(target: .settings()))
}
let rowUploads = Row(type: .default, icon: Asset.Images.scrollup.image, text: VectorL10n.roomDetailsFiles, accessoryType: .disclosureIndicator) {
let rowUploads = Row(type: .default, icon: Asset.Images.scrollup.image, text: BWIL10n.roomDetailsFiles, accessoryType: .disclosureIndicator) {
self.viewModel.process(viewAction: .navigate(target: .uploads))
}

View File

@@ -112,7 +112,7 @@ class RoomInfoBasicView: UIView {
securityTitleLabel.text = VectorL10n.securitySettingsTitle
securityInformationLabel.text = viewData.isDirect ?
VectorL10n.roomParticipantsSecurityInformationRoomEncryptedForDm :
VectorL10n.roomParticipantsSecurityInformationRoomEncrypted
BWIL10n.roomParticipantsSecurityInformationRoomEncrypted
securityContainerView.isHidden = !viewData.isEncrypted
if let directUserId = viewData.directUserId {
presenceIndicatorView.configure(userId: directUserId, presence: viewData.directUserPresence)

View File

@@ -3944,7 +3944,7 @@ static CGSize kThreadListBarButtonItemImageSize;
if (BuildSettings.messageDetailsAllowPermalink)
{
[self.eventMenuBuilder addItemWithType:EventMenuItemTypePermalink
action:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionPermalink]
action:[UIAlertAction actionWithTitle:[BWIL10n roomEventActionPermalink]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
@@ -4497,7 +4497,7 @@ static CGSize kThreadListBarButtonItemImageSize;
// urls are different, show confirmation alert
UIAlertController *alert = [UIAlertController alertControllerWithTitle:[VectorL10n externalLinkConfirmationTitle] message:[VectorL10n externalLinkConfirmationMessage:visibleURLString :url.absoluteString] preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *continueAction = [UIAlertAction actionWithTitle:[VectorL10n continue] style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
UIAlertAction *continueAction = [UIAlertAction actionWithTitle:[BWIL10n continue] style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
// Try to open the link
[[UIApplication sharedApplication] vc_open:url completionHandler:^(BOOL success) {
if (!success)

View File

@@ -2554,7 +2554,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
}
else
{
directoryToggleCell.mxkLabel.text = [VectorL10n roomDetailsAccessSectionDirectoryToggle];
directoryToggleCell.mxkLabel.text = [BWIL10n roomDetailsAccessSectionDirectoryToggle];
}
[directoryToggleCell.mxkSwitch addTarget:self action:@selector(toggleDirectoryVisibility:) forControlEvents:UIControlEventValueChanged];
@@ -2666,7 +2666,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
}
else
{
directoryToggleCell.mxkLabel.text = [VectorL10n roomDetailsAccessSectionDirectoryToggle];
directoryToggleCell.mxkLabel.text = [BWIL10n roomDetailsAccessSectionDirectoryToggle];
}
[directoryToggleCell.mxkSwitch addTarget:self action:@selector(toggleDirectoryVisibility:) forControlEvents:UIControlEventValueChanged];
@@ -3358,7 +3358,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n continue]
[currentAlert addAction:[UIAlertAction actionWithTitle:[BWIL10n continue]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
@@ -3446,7 +3446,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n continue]
[currentAlert addAction:[UIAlertAction actionWithTitle:[BWIL10n continue]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
@@ -4117,9 +4117,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
- (UITableViewCell*) cellForAccessSwitch:(UITableView*)tableView indexPath:(NSIndexPath*)indexPath {
MXKTableViewCellWithLabelAndSwitch *roomAccessToggleCell = [self getLabelAndSwitchCell:tableView forIndexPath:indexPath];
roomAccessToggleCell.mxkLabel.text = NSLocalizedStringFromTable(@"room_details_access_section_access_toggle_bw", @"Vector", nil);
[roomAccessToggleCell.mxkSwitch addTarget:self action:@selector(toggleDirectoryAccessBW:) forControlEvents:UIControlEventValueChanged];
roomAccessToggleCell.mxkLabel.text = [BWIL10n roomDetailsAccessSectionAccessToggleBw];
if (updatedItemsDict[kRoomSettingsDirectoryKey])
{
@@ -4148,7 +4146,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
[toggleCell.mxkSwitch addTarget:self action:@selector(toggleNotificationTimes:) forControlEvents:UIControlEventValueChanged];
toggleCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_enable_notification_times", @"Vector", nil);
toggleCell.mxkLabel.text = BWIL10n.settingsEnableNotificationTimes;
toggleCell.mxkSwitch.onTintColor = ThemeService.shared.theme.tintColor;
toggleCell.mxkSwitch.on = [self isNotificationTimesSwitchOn];
toggleCell.mxkSwitch.enabled = [self isNotificationTimesSwitchEnabled];
@@ -4167,7 +4165,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
notificationTimesInfoCell.textLabel.font = [UIFont systemFontOfSize:15.0];
notificationTimesInfoCell.selectionStyle = UITableViewCellSelectionStyleNone;
notificationTimesInfoCell.userInteractionEnabled = NO;
notificationTimesInfoCell.textLabel.text = NSLocalizedStringFromTable(@"bwi_notification_times_toggle_description", @"Bwi", @"");
notificationTimesInfoCell.textLabel.text = BWIL10n.bwiNotificationTimesToggleDescription;
notificationTimesInfoCell.textLabel.numberOfLines = 0;
return notificationTimesInfoCell;

View File

@@ -174,7 +174,7 @@ final class RoomCreationIntroCellContentView: UIView, NibLoadable, Themable {
let attributedString = NSMutableAttributedString()
let firstSentencePart1 = NSAttributedString(string: VectorL10n.roomIntroCellInformationDmSentence1Part1)
let firstSentencePart1 = NSAttributedString(string: BWIL10n.roomIntroCellInformationDmSentence1Part1)
let firstSentencePart2 = NSAttributedString(string: roomName, attributes: informationTextBoldAttributes)
let firstSentencePart3 = NSAttributedString(string: VectorL10n.roomIntroCellInformationDmSentence1Part3)
@@ -195,7 +195,7 @@ final class RoomCreationIntroCellContentView: UIView, NibLoadable, Themable {
let attributedString = NSMutableAttributedString()
let firstSentence = NSAttributedString(string: NSLocalizedString("bwi_personal_notes_beginning_notes_room", tableName: "Vector", comment: ""))
let firstSentence = NSAttributedString(string: BWIL10n.bwiPersonalNotesBeginningNotesRoom)
attributedString.append(firstSentence)
return attributedString

View File

@@ -69,9 +69,9 @@ final class RoomAvatarView: AvatarView, NibOwnerLoadable {
override func updateAccessibilityTraits() {
if self.isUserInteractionEnabled {
self.vc_setupAccessibilityTraitsButton(withTitle: VectorL10n.roomAvatarViewAccessibilityLabel, hint: VectorL10n.roomAvatarViewAccessibilityHint, isEnabled: true)
self.vc_setupAccessibilityTraitsButton(withTitle: BWIL10n.roomAvatarViewAccessibilityLabel, hint: BWIL10n.roomAvatarViewAccessibilityHint, isEnabled: true)
} else {
self.vc_setupAccessibilityTraitsImage(withTitle: VectorL10n.roomAvatarViewAccessibilityLabel)
self.vc_setupAccessibilityTraitsImage(withTitle: BWIL10n.roomAvatarViewAccessibilityLabel)
}
}

View File

@@ -48,8 +48,8 @@
[self.leftButton addGestureRecognizer:tap];
self.leftButton.userInteractionEnabled = YES;
[self.rightButton setTitle:[VectorL10n join] forState:UIControlStateNormal];
[self.rightButton setTitle:[VectorL10n join] forState:UIControlStateHighlighted];
[self.rightButton setTitle:[BWIL10n join] forState:UIControlStateNormal];
[self.rightButton setTitle:[BWIL10n join] forState:UIControlStateHighlighted];
tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(reportTapGesture:)];
[tap setNumberOfTouchesRequired:1];

View File

@@ -80,7 +80,7 @@ class DirectoryRoomTableViewCell: UITableViewCell {
joinedImageView.isHidden = false
widthLayoutContraint.constant = 40
} else {
joinButton.setTitle(VectorL10n.join, for: .normal)
joinButton.setTitle(BWIL10n.join, for: .normal)
joinButton.isHidden = false
joinButton.isUserInteractionEnabled = true
joinedImageView.isHidden = true

View File

@@ -96,7 +96,7 @@ final class SecretsRecoveryWithKeyViewController: UIViewController {
self.navigationItem.rightBarButtonItem = cancelBarButtonItem
}
self.title = VectorL10n.secretsRecoveryWithKeyTitle
self.title = BWIL10n.secretsRecoveryWithKeyTitle
self.scrollView.keyboardDismissMode = .interactive
@@ -107,16 +107,16 @@ final class SecretsRecoveryWithKeyViewController: UIViewController {
switch self.viewModel.recoveryGoal {
case .default, .keyBackup, .restoreSecureBackup:
informationText = VectorL10n.secretsRecoveryWithKeyInformationDefault
informationText = BWIL10n.secretsRecoveryWithKeyInformationDefault
case .unlockSecureBackup:
informationText = VectorL10n.secretsRecoveryWithKeyInformationUnlockSecureBackupWithKey
case .verifyDevice:
informationText = VectorL10n.secretsRecoveryWithKeyInformationVerifyDevice
informationText = BWIL10n.secretsRecoveryWithKeyInformationVerifyDevice
}
self.informationLabel.text = informationText
self.recoveryKeyTitleLabel.text = VectorL10n.secretsRecoveryWithKeyRecoveryKeyTitle
self.recoveryKeyTitleLabel.text = BWIL10n.secretsRecoveryWithKeyRecoveryKeyTitle
self.recoveryKeyTextField.addTarget(self, action: #selector(recoveryKeyTextFieldDidChange(_:)), for: .editingChanged)
let importFileImage = Asset.Images.importFilesButton.image.withRenderingMode(.alwaysTemplate)
@@ -148,7 +148,7 @@ final class SecretsRecoveryWithKeyViewController: UIViewController {
self.recoveryKeyTextFieldBackgroundView.backgroundColor = theme.backgroundColor
self.recoveryKeyTitleLabel.textColor = theme.textPrimaryColor
theme.applyStyle(onTextField: self.recoveryKeyTextField)
self.recoveryKeyTextField.attributedPlaceholder = NSAttributedString(string: VectorL10n.secretsRecoveryWithKeyRecoveryKeyPlaceholder,
self.recoveryKeyTextField.attributedPlaceholder = NSAttributedString(string: BWIL10n.secretsRecoveryWithKeyRecoveryKeyPlaceholder,
attributes: [.foregroundColor: theme.placeholderTextColor])
theme.applyStyle(onButton: self.importFileButton)
@@ -204,7 +204,7 @@ final class SecretsRecoveryWithKeyViewController: UIViewController {
self.errorPresenter.presentError(from: self,
title: VectorL10n.secretsRecoveryWithKeyInvalidRecoveryKeyTitle,
message: VectorL10n.secretsRecoveryWithKeyInvalidRecoveryKeyMessage,
message: BWIL10n.secretsRecoveryWithKeyInvalidRecoveryKeyMessage,
animated: true,
handler: nil)
} else {

View File

@@ -96,7 +96,7 @@ final class SecretsRecoveryWithPassphraseViewController: UIViewController {
self.navigationItem.rightBarButtonItem = cancelBarButtonItem
}
self.title = VectorL10n.secretsRecoveryWithPassphraseTitle
self.title = BWIL10n.secretsRecoveryWithPassphraseTitle
self.scrollView.keyboardDismissMode = .interactive
@@ -110,16 +110,16 @@ final class SecretsRecoveryWithPassphraseViewController: UIViewController {
switch self.viewModel.recoveryGoal {
case .default, .keyBackup, .restoreSecureBackup:
informationText = VectorL10n.secretsRecoveryWithPassphraseInformationDefault
informationText = BWIL10n.secretsRecoveryWithPassphraseInformationDefault
case .unlockSecureBackup:
informationText = VectorL10n.secretsRecoveryWithKeyInformationUnlockSecureBackupWithPhrase
informationText = BWIL10n.secretsRecoveryWithKeyInformationUnlockSecureBackupWithPhrase
case .verifyDevice:
informationText = VectorL10n.secretsRecoveryWithPassphraseInformationVerifyDevice
informationText = BWIL10n.secretsRecoveryWithPassphraseInformationVerifyDevice
}
self.informationLabel.text = informationText
self.passphraseTitleLabel.text = VectorL10n.secretsRecoveryWithPassphrasePassphraseTitle
self.passphraseTitleLabel.text = BWIL10n.secretsRecoveryWithPassphrasePassphraseTitle
self.passphraseTextField.addTarget(self, action: #selector(passphraseTextFieldDidChange(_:)), for: .editingChanged)
self.useRecoveryKeyButton.vc_enableMultiLinesTitle()
@@ -150,7 +150,7 @@ final class SecretsRecoveryWithPassphraseViewController: UIViewController {
self.passphraseTextFieldBackgroundView.backgroundColor = theme.backgroundColor
self.passphraseTitleLabel.textColor = theme.textPrimaryColor
theme.applyStyle(onTextField: self.passphraseTextField)
self.passphraseTextField.attributedPlaceholder = NSAttributedString(string: VectorL10n.secretsRecoveryWithPassphrasePassphrasePlaceholder,
self.passphraseTextField.attributedPlaceholder = NSAttributedString(string: BWIL10n.secretsRecoveryWithPassphrasePassphrasePlaceholder,
attributes: [.foregroundColor: theme.placeholderTextColor])
self.theme.applyStyle(onButton: self.passphraseVisibilityButton)
@@ -159,8 +159,8 @@ final class SecretsRecoveryWithPassphraseViewController: UIViewController {
// Use recovery key button
let useRecoveryKeyAttributedString = NSMutableAttributedString(string: VectorL10n.secretsRecoveryWithPassphraseLostPassphraseActionPart1, attributes: [.foregroundColor: self.theme.textPrimaryColor])
let unknownRecoveryKeyAttributedStringPart2 = NSAttributedString(string: VectorL10n.secretsRecoveryWithPassphraseLostPassphraseActionPart2, attributes: [.foregroundColor: self.theme.tintColor])
let useRecoveryKeyAttributedString = NSMutableAttributedString(string: BWIL10n.secretsRecoveryWithPassphraseLostPassphraseActionPart1, attributes: [.foregroundColor: self.theme.textPrimaryColor])
let unknownRecoveryKeyAttributedStringPart2 = NSAttributedString(string: BWIL10n.secretsRecoveryWithPassphraseLostPassphraseActionPart2, attributes: [.foregroundColor: self.theme.tintColor])
let unknownRecoveryKeyAttributedStringPart3 = NSAttributedString(string: VectorL10n.secretsRecoveryWithPassphraseLostPassphraseActionPart3, attributes: [.foregroundColor: self.theme.textPrimaryColor])
useRecoveryKeyAttributedString.append(unknownRecoveryKeyAttributedStringPart2)
@@ -220,7 +220,7 @@ final class SecretsRecoveryWithPassphraseViewController: UIViewController {
self.errorPresenter.presentError(from: self,
title: VectorL10n.secretsRecoveryWithPassphraseInvalidPassphraseTitle,
message: VectorL10n.secretsRecoveryWithPassphraseInvalidPassphraseMessage,
message: BWIL10n.secretsRecoveryWithPassphraseInvalidPassphraseMessage,
animated: true,
handler: nil)
} else {

View File

@@ -121,15 +121,15 @@ final class SecretsSetupRecoveryKeyViewController: UIViewController {
self.vc_removeBackTitle()
self.title = VectorL10n.secretsSetupRecoveryKeyTitle
self.title = BWIL10n.secretsSetupRecoveryKeyTitle
self.secureKeyImageView.image = Asset.Images.secretsSetupKey.image.withRenderingMode(.alwaysTemplate)
self.informationLabel.text = VectorL10n.secretsSetupRecoveryKeyInformation
self.informationLabel.text = BWIL10n.secretsSetupRecoveryKeyInformation
self.recoveryKeyLabel.text = VectorL10n.secretsSetupRecoveryKeyLoading
self.exportButton.setTitle(VectorL10n.secretsSetupRecoveryKeyExportAction, for: .normal)
self.exportButton.isEnabled = false
self.doneButton.setTitle(VectorL10n.continue, for: .normal)
self.doneButton.setTitle(BWIL10n.continue, for: .normal)
self.updateDoneButton()
}
@@ -158,14 +158,14 @@ final class SecretsSetupRecoveryKeyViewController: UIViewController {
let informationText: String
let recoveryKeyText: String?
if passphraseOnly {
title = VectorL10n.secretsSetupRecoveryPassphraseSummaryTitle
title = BWIL10n.secretsSetupRecoveryPassphraseSummaryTitle
secretsLogoImage = Asset.Images.secretsSetupPassphrase.image
informationText = VectorL10n.secretsSetupRecoveryPassphraseSummaryInformation
informationText = BWIL10n.secretsSetupRecoveryPassphraseSummaryInformation
recoveryKeyText = nil
} else {
title = VectorL10n.secretsSetupRecoveryKeyTitle
title = BWIL10n.secretsSetupRecoveryKeyTitle
secretsLogoImage = Asset.Images.secretsSetupKey.image
informationText = VectorL10n.secretsSetupRecoveryKeyInformation
informationText = BWIL10n.secretsSetupRecoveryKeyInformation
recoveryKeyText = VectorL10n.secretsSetupRecoveryKeyLoading
}
@@ -208,7 +208,7 @@ final class SecretsSetupRecoveryKeyViewController: UIViewController {
message: VectorL10n.secretsSetupRecoveryKeyStorageAlertMessage,
preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: VectorL10n.continue, style: .cancel, handler: { action in
alertController.addAction(UIAlertAction(title: BWIL10n.continue, style: .cancel, handler: { action in
self.viewModel.process(viewAction: .done)
}))

View File

@@ -133,7 +133,7 @@ final class SecretsSetupRecoveryPassphraseViewController: UIViewController, UITe
self.vc_removeBackTitle()
self.title = VectorL10n.secretsSetupRecoveryPassphraseTitle
self.title = BWIL10n.secretsSetupRecoveryPassphraseTitle
self.scrollView.keyboardDismissMode = .interactive
@@ -145,9 +145,9 @@ final class SecretsSetupRecoveryPassphraseViewController: UIViewController, UITe
let visibilityImage = Asset.Images.revealPasswordButton.image.withRenderingMode(.alwaysTemplate)
self.passphraseVisibilityButton.setImage(visibilityImage, for: .normal)
self.additionalInformationLabel.text = VectorL10n.secretsSetupRecoveryPassphraseAdditionalInformation
self.additionalInformationLabel.text = BWIL10n.secretsSetupRecoveryPassphraseAdditionalInformation
self.validateButton.setTitle(VectorL10n.continue, for: .normal)
self.validateButton.setTitle(BWIL10n.continue, for: .normal)
}
private func update(theme: Theme) {
@@ -170,10 +170,10 @@ final class SecretsSetupRecoveryPassphraseViewController: UIViewController, UITe
let passphraseTitle: String
if let viewData = self.currentViewData, case .confimPassphrase = viewData.mode {
passphraseTitle = VectorL10n.secretsSetupRecoveryPassphraseConfirmPassphrasePlaceholder
passphraseTitle = BWIL10n.secretsSetupRecoveryPassphraseConfirmPassphrasePlaceholder
self.additionalInformationLabel.isHidden = true
} else {
passphraseTitle = VectorL10n.keyBackupSetupPassphrasePassphrasePlaceholder
passphraseTitle = BWIL10n.keyBackupSetupPassphrasePassphrasePlaceholder
self.additionalInformationLabel.isHidden = false
}
@@ -214,13 +214,13 @@ final class SecretsSetupRecoveryPassphraseViewController: UIViewController, UITe
switch viewData.mode {
case .newPassphrase(strength: let strength):
informationText = VectorL10n.secretsSetupRecoveryPassphraseInformation
passphraseTitle = VectorL10n.keyBackupSetupPassphrasePassphraseTitle
informationText = BWIL10n.secretsSetupRecoveryPassphraseInformation
passphraseTitle = BWIL10n.keyBackupSetupPassphrasePassphraseTitle
showPasswordStrength = true
self.passphraseStrengthView.strength = strength
case .confimPassphrase:
informationText = VectorL10n.secretsSetupRecoveryPassphraseConfirmInformation
passphraseTitle = VectorL10n.secretsSetupRecoveryPassphraseConfirmPassphraseTitle
informationText = BWIL10n.secretsSetupRecoveryPassphraseConfirmInformation
passphraseTitle = BWIL10n.secretsSetupRecoveryPassphraseConfirmPassphraseTitle
showPasswordStrength = false
}
@@ -284,9 +284,9 @@ final class SecretsSetupRecoveryPassphraseViewController: UIViewController, UITe
} else {
switch viewData.mode {
case .newPassphrase:
text = VectorL10n.keyBackupSetupPassphrasePassphraseInvalid
text = BWIL10n.keyBackupSetupPassphrasePassphraseInvalid
case .confimPassphrase:
text = VectorL10n.keyBackupSetupPassphraseConfirmPassphraseInvalid
text = BWIL10n.keyBackupSetupPassphraseConfirmPassphraseInvalid
}
textColor = self.theme.noticeColor

View File

@@ -99,8 +99,8 @@ final class SecureBackupSetupIntroViewController: UIViewController {
self.navigationItem.rightBarButtonItem = cancelBarButtonItem
}
self.title = VectorL10n.secureKeyBackupSetupIntroTitle
self.informationLabel.text = VectorL10n.secureKeyBackupSetupIntroInfo
self.title = BWIL10n.secureKeyBackupSetupIntroTitle
self.informationLabel.text = BWIL10n.secureKeyBackupSetupIntroInfo
if let session = AppDelegate.theDelegate().mxSessions.first as? MXSession {
if !session.homeserverWellknown.backupRequired() {
@@ -125,8 +125,8 @@ final class SecureBackupSetupIntroViewController: UIViewController {
self.delegate?.secureBackupSetupIntroViewControllerDidTapUseKey(self)
}
self.securePassphraseCell.fill(title: VectorL10n.secureKeyBackupSetupIntroUseSecurityPassphraseTitle,
information: VectorL10n.secureKeyBackupSetupIntroUseSecurityPassphraseInfo,
self.securePassphraseCell.fill(title: BWIL10n.secureKeyBackupSetupIntroUseSecurityPassphraseTitle,
information: BWIL10n.secureKeyBackupSetupIntroUseSecurityPassphraseInfo,
image: Asset.Images.secretsSetupPassphrase.image)
self.securePassphraseCell.action = { [weak self] in

View File

@@ -139,7 +139,7 @@ final class SecureBackupSetupCoordinator: SecureBackupSetupCoordinatorType {
message: VectorL10n.secureKeyBackupSetupCancelAlertMessage,
preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: VectorL10n.continue, style: .cancel, handler: { action in
alertController.addAction(UIAlertAction(title: BWIL10n.continue, style: .cancel, handler: { action in
}))
alertController.addAction(UIAlertAction(title: VectorL10n.keyBackupSetupSkipAlertSkipAction, style: .default, handler: { action in

View File

@@ -162,7 +162,7 @@ final class EnterPinCodeViewController: UIViewController {
}
private func setupViews() {
let cancelBarButtonItem = MXKBarButtonItem(title: NSLocalizedString("cancel", tableName: "Vector", comment: ""), style: .plain) { [weak self] in
let cancelBarButtonItem = MXKBarButtonItem(title: BWIL10n.cancel, style: .plain) { [weak self] in
self?.cancelButtonAction()
}
@@ -237,12 +237,12 @@ final class EnterPinCodeViewController: UIViewController {
private func renderChoosePinAfterLogin() {
renderChoosePin()
self.informationLabel.text = VectorL10n.pinProtectionChoosePinWelcomeAfterLogin + "\n" + VectorL10n.pinProtectionChoosePin
self.informationLabel.text = BWIL10n.pinProtectionChoosePinWelcomeAfterLogin + "\n" + VectorL10n.pinProtectionChoosePin
}
private func renderChoosePinAfterRegister() {
renderChoosePin()
self.informationLabel.text = VectorL10n.pinProtectionChoosePinWelcomeAfterRegister + "\n" + VectorL10n.pinProtectionChoosePin
self.informationLabel.text = BWIL10n.pinProtectionChoosePinWelcomeAfterRegister + "\n" + VectorL10n.pinProtectionChoosePin
}
private func renderNotAllowedPin() {
@@ -259,7 +259,7 @@ final class EnterPinCodeViewController: UIViewController {
private func renderConfirmPin() {
self.inactiveView.isHidden = true
self.mainStackView.isHidden = false
self.informationLabel.text = VectorL10n.pinProtectionConfirmPin
self.informationLabel.text = BWIL10n.pinProtectionConfirmPin
self.notAllowedPinView.isHidden = true
self.explanatoryLabel.isHidden = true
@@ -314,7 +314,7 @@ final class EnterPinCodeViewController: UIViewController {
self.viewModel.process(viewAction: .forgotPinAlertResetAction)
}
let cancelAction = UIAlertAction(title: NSLocalizedString("cancel", tableName: "Vector", comment: ""), style: .cancel) { (_) in
let cancelAction = UIAlertAction(title: BWIL10n.cancel, style: .cancel) { (_) in
self.viewModel.process(viewAction: .forgotPinAlertCancelAction)
}

View File

@@ -44,7 +44,7 @@ final class BiometricsAuthenticationPresenter: NSObject {
BiometricsAuthenticationPresenter.isPresenting = true
let context = LAContext()
context.localizedFallbackTitle = NSLocalizedString("biometrics_mode_cant_unlock_button_title", tableName: "Vector", comment: "")
context.localizedFallbackTitle = BWIL10n.biometricsModeCantUnlockButtonTitle
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: message) { (success, error) in
if success {

View File

@@ -230,7 +230,7 @@ final class SettingsDiscoveryThreePidDetailsViewController: UIViewController {
message: VectorL10n.accountEmailValidationMessage,
preferredStyle: .alert)
alert.addAction(UIAlertAction(title: VectorL10n.continue, style: .default, handler: { _ in
alert.addAction(UIAlertAction(title: BWIL10n.continue, style: .default, handler: { _ in
self.viewModel.process(viewAction: .confirmEmailValidation)
}))
@@ -253,7 +253,7 @@ final class SettingsDiscoveryThreePidDetailsViewController: UIViewController {
textField.keyboardType = .phonePad
}
alert.addAction(UIAlertAction(title: VectorL10n.continue, style: .default, handler: { _ in
alert.addAction(UIAlertAction(title: BWIL10n.continue, style: .default, handler: { _ in
guard let textField = alert.textFields?.first, let smsCode = textField.text, smsCode.isEmpty == false else {
return
}

View File

@@ -247,7 +247,7 @@ final class SettingsIdentityServerViewController: UIViewController {
.changeActionAlert(.noTerms):
self.showAlert(title: VectorL10n.identityServerSettingsAlertNoTermsTitle,
message: VectorL10n.identityServerSettingsAlertNoTerms,
continueButtonTitle: VectorL10n.continue,
continueButtonTitle: BWIL10n.continue,
cancelButtonTitle: VectorL10n.cancel,
onContinue: onContinue)
@@ -270,7 +270,7 @@ final class SettingsIdentityServerViewController: UIViewController {
case .changeActionAlert(.doubleConfirmation(let oldHost, let newHost)):
self.showAlert(title: VectorL10n.identityServerSettingsAlertChangeTitle,
message: VectorL10n.identityServerSettingsAlertChange(oldHost.hostname(), newHost.hostname()),
continueButtonTitle: VectorL10n.continue,
continueButtonTitle: BWIL10n.continue,
cancelButtonTitle: VectorL10n.cancel,
onContinue: onContinue)

View File

@@ -265,7 +265,7 @@ private enum BackupRows {
}
let cell: MXKTableViewCellWithButton = delegate.settingsSecureBackupTableViewSection(self, buttonCellForRow: row)
let btnTitle = VectorL10n.securitySettingsSecureBackupDelete
let btnTitle = BWIL10n.securitySettingsSecureBackupDelete
cell.mxkButton.setTitle(btnTitle, for: .normal)
cell.mxkButton.setTitle(btnTitle, for: .highlighted)
cell.mxkButton.tintColor = ThemeService.shared().theme.warningColor

View File

@@ -985,7 +985,7 @@ TableViewSectionsDelegate>
else
{
// Set up cross-signing first
[self setupCrossSigningWithTitle:[VectorL10n secureKeyBackupSetupIntroTitle]
[self setupCrossSigningWithTitle:[BWIL10n secureKeyBackupSetupIntroTitle]
message:[VectorL10n securitySettingsUserPasswordDescription]
success:^{
[self setupSecureBackup2];

View File

@@ -413,7 +413,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
if (BwiBuildSettings.bwiCheckAppVersion && [[[ValidAppVersionsDefaultService alloc] init] isCurrentAppVersionOutdated]) {
Section *sectionOutdated = [Section sectionWithTag:SECTION_TAG_OUTDATED_WARNING];
[sectionOutdated addRowWithTag:OUTDATED_WARNING];
sectionOutdated.headerTitle = [VectorL10n bwiOutdatedSettingsHeader];
sectionOutdated.headerTitle = [BWIL10n bwiOutdatedSettingsHeader];
[tmpSections addObject:sectionOutdated];
}
@@ -475,7 +475,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
{
Section *sectionNewFeatures = [Section sectionWithTag:SECTION_TAG_NEW_FEATURES];
[sectionNewFeatures addRowWithTag:SHOW_NEW_FEATURES];
sectionNewFeatures.headerTitle = NSLocalizedStringFromTable(@"bwi_settings_new_features_header", @"Vector", nil).uppercaseString;
sectionNewFeatures.headerTitle = BWIL10n.bwiSettingsNewFeaturesHeader;
[tmpSections addObject:sectionNewFeatures];
}
@@ -734,7 +734,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
if (BuildSettings.bwiShowDeveloperSettings) {
Section *sectionDeveloper = [Section sectionWithTag:SECTION_TAG_DEVELOPER];
[sectionDeveloper addRowWithTag:DEVELOPER_SHOW_SETTINGS_INDEX];
sectionDeveloper.headerTitle = NSLocalizedStringFromTable(@"bwi_settings_developer", @"Vector", nil).uppercaseString;
sectionDeveloper.headerTitle = BWIL10n.bwiSettingsDeveloper;
[tmpSections addObject:sectionDeveloper];
}
@@ -1191,7 +1191,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
self.newEmailEditingEnabled = NO;
}]];
[validationAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n continue] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
[validationAlert addAction:[UIAlertAction actionWithTitle:[BWIL10n continue] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self tryFinaliseAddEmailSession:threePidAddSession withAuthenticationParameters:authenticationParameters
threePidAddManager:threePidAddManager];
@@ -2017,7 +2017,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kSettingsViewControllerPhoneBookCountryCellId];
}
cell.textLabel.text = [VectorL10n bwiEditPersonalStateMyState];
cell.textLabel.text = [BWIL10n bwiEditPersonalStateMyState];
cell.detailTextLabel.text = account.userStatusMessage;
}
else if (row == USER_SETTINGS_FIRST_NAME_INDEX)
@@ -2209,7 +2209,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
if (row == SHOW_NEW_FEATURES)
{
MXKTableViewCell *showNewFeaturesCell = [self getDefaultTableViewCell:tableView];
showNewFeaturesCell.textLabel.text = NSLocalizedStringFromTable(@"bwi_settings_new_features_show_features", @"Vector", nil);
showNewFeaturesCell.textLabel.text = BWIL10n.bwiSettingsNewFeaturesShowFeatures;
[showNewFeaturesCell vc_setAccessoryDisclosureIndicatorWithCurrentTheme];
cell = showNewFeaturesCell;
}
@@ -2370,7 +2370,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
}
else if (row == NOTIFICATION_SETTINGS_NOTIFICATION_TIMES_INDEX)
{
cell.textLabel.text = [VectorL10n settingsEnableNotificationTimes];
cell.textLabel.text = [BWIL10n settingsEnableNotificationTimes];
}
else if (row == NOTIFICATION_SETTINGS_OTHER_SETTINGS_INDEX)
{
@@ -2544,7 +2544,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
{
MXKTableViewCell *ignoredUserCell = [self getDefaultTableViewCell:tableView];
if (BwiBuildSettings.bwiBetterIgnoredUsers) {
ignoredUserCell.textLabel.text = NSLocalizedStringFromTable(@"bwi_settings_ignored_users_text", @"Bwi", nil);
ignoredUserCell.textLabel.text = BWIL10n.bwiSettingsIgnoredUsersText;
} else {
ignoredUserCell.textLabel.text = session.ignoredUsers[row];
}
@@ -2656,7 +2656,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
{
MXKTableViewCell *supportCell = [self getDefaultTableViewCell:tableView];
supportCell.textLabel.text = NSLocalizedStringFromTable(@"settings_support", @"Vector", nil);
supportCell.textLabel.text = BWIL10n.settingsSupport;
[supportCell vc_setAccessoryDisclosureIndicatorWithCurrentTheme];
@@ -2920,7 +2920,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
else if (row == SECURITY_MATOMO_INDEX) {
MXKTableViewCellWithLabelAndSwitch* labelAndSwitchCell = [self getLabelAndSwitchCell:tableView forIndexPath:indexPath];
labelAndSwitchCell.mxkLabel.text = NSLocalizedStringFromTable(@"MATOMO_SETTINGS_SEND_DIAGNOSTIC_DATA", @"Vector", nil);
labelAndSwitchCell.mxkLabel.text = BWIL10n.matomoSettingsSendDiagnosticData;
labelAndSwitchCell.mxkSwitch.on = RiotSettings.shared.bwiEnableMatomoTracking;
labelAndSwitchCell.mxkSwitch.onTintColor = ThemeService.shared.theme.tintColor;
labelAndSwitchCell.mxkSwitch.enabled = YES;
@@ -2979,7 +2979,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
downtimeCell.contentView.backgroundColor = [UIColor yellowColor];
downtimeCell.textLabel.text = [VectorL10n bwiOutdatedSettingsMessage:AppInfo.current.displayName];
downtimeCell.textLabel.text = [BWIL10n bwiOutdatedSettingsMessage:AppInfo.current.displayName];
downtimeCell.textLabel.textColor = [UIColor blackColor];
downtimeCell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
downtimeCell.textLabel.numberOfLines = 5;
@@ -3003,7 +3003,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
showSettingsBtnCell.mxkButton.titleLabel.text = nil;
}
NSString *btnTitle = NSLocalizedStringFromTable(@"bwi_settings_show_developer_settings", @"Vector", nil);
NSString *btnTitle = BWIL10n.bwiSettingsShowDeveloperSettings;
[showSettingsBtnCell.mxkButton setTitle:btnTitle forState:UIControlStateNormal];
[showSettingsBtnCell.mxkButton setTitle:btnTitle forState:UIControlStateHighlighted];
[showSettingsBtnCell.mxkButton setTintColor:ThemeService.shared.theme.tintColor];
@@ -3383,7 +3383,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
{
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"new_features" ofType:@"html" inDirectory:nil];
WebViewViewController *webViewViewController = [[WebViewViewController alloc] initWithLocalHTMLFile: htmlFile];
webViewViewController.title = NSLocalizedStringFromTable(@"bwi_settings_new_features_header", @"Vector", nil);
webViewViewController.title = BWIL10n.bwiSettingsNewFeaturesHeader;
[self pushViewController:webViewViewController];
}
}
@@ -4708,7 +4708,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
else
{
// Set up cross-signing first
[self setupCrossSigningWithTitle:[VectorL10n secureKeyBackupSetupIntroTitle]
[self setupCrossSigningWithTitle:[BWIL10n secureKeyBackupSetupIntroTitle]
message:[VectorL10n securitySettingsUserPasswordDescription]
success:^{
[self setupSecureBackup2];
@@ -5147,21 +5147,21 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
- (NSString*) titleForTimeline:(NSInteger)row {
switch (row) {
case TIMELINE_SIMPLE_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_simple_time_line", @"Vector", nil);
return BWIL10n.settingsEnableSimpleTimeLine;
case TIMELINE_TIMESTAMP_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_time_stamp", @"Vector", nil);
return BWIL10n.settingsEnableTimeStamp;
case TIMELINE_DELETED_MESSAGES_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_deleted_messages", @"Vector", nil);
return BWIL10n.settingsEnableDeletedMessages;
case TIMELINE_NAME_CHANGE_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_name_change", @"Vector", nil);
return BWIL10n.settingsEnableNameChange;
case TIMELINE_CHATEFFECTS_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_chat_effects", @"Vector", nil);
return BWIL10n.settingsEnableChatEffects;
case TIMELINE_ROOM_AVATAR_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_room_avatar", @"Vector", nil);
return BWIL10n.settingsEnableRoomAvatar;
case TIMELINE_USER_AVATAR_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_user_avatar", @"Vector", nil);
return BWIL10n.settingsEnableUserAvatar;
case TIMELINE_ENTER_ROOM_INDEX:
return NSLocalizedStringFromTable(@"settings_enable_enter_room", @"Vector", nil);
return BWIL10n.settingsEnableEnterRoom;
default:
return @"";
}
@@ -5260,7 +5260,7 @@ ChangePasswordCoordinatorBridgePresenterDelegate>
PersonalNotesSettings *settings = [[PersonalNotesSettings alloc] init];
labelAndSwitchCell.mxkLabel.text = NSLocalizedStringFromTable(@"bwi_settings_enable_notes_room_title", @"Vector", nil);
labelAndSwitchCell.mxkLabel.text = BWIL10n.bwiSettingsEnableNotesRoomTitle;
labelAndSwitchCell.mxkSwitch.on = settings.personalNotesVisible;
labelAndSwitchCell.mxkSwitch.onTintColor = ThemeService.shared.theme.tintColor;
labelAndSwitchCell.mxkSwitch.enabled = YES;

View File

@@ -75,9 +75,9 @@ final class SpaceAvatarView: AvatarView, NibOwnerLoadable {
override func updateAccessibilityTraits() {
if self.isUserInteractionEnabled {
self.vc_setupAccessibilityTraitsButton(withTitle: VectorL10n.spaceAvatarViewAccessibilityLabel, hint: VectorL10n.spaceAvatarViewAccessibilityHint, isEnabled: true)
self.vc_setupAccessibilityTraitsButton(withTitle: BWIL10n.spaceAvatarViewAccessibilityLabel, hint: BWIL10n.spaceAvatarViewAccessibilityHint, isEnabled: true)
} else {
self.vc_setupAccessibilityTraitsImage(withTitle: VectorL10n.spaceAvatarViewAccessibilityLabel)
self.vc_setupAccessibilityTraitsImage(withTitle: BWIL10n.spaceAvatarViewAccessibilityLabel)
}
}

View File

@@ -177,7 +177,7 @@ class SpaceDetailViewController: UIViewController {
self.closeButton.layer.masksToBounds = true
self.closeButton.layer.cornerRadius = self.closeButton.bounds.height / 2
self.setup(button: self.joinButton, withTitle: VectorL10n.join)
self.setup(button: self.joinButton, withTitle: BWIL10n.join)
self.setup(button: self.acceptButton, withTitle: VectorL10n.accept)
self.setup(button: self.declineButton, withTitle: VectorL10n.decline)
self.declineButton.layer.borderWidth = 1.0

View File

@@ -159,7 +159,7 @@ final class SpaceExploreRoomViewController: UIViewController {
private func setupJoinButton(canJoin: Bool) {
if canJoin {
let joinButtonItem = MXKBarButtonItem(title: VectorL10n.join, style: .done) { [weak self] in
let joinButtonItem = MXKBarButtonItem(title: BWIL10n.join, style: .done) { [weak self] in
self?.viewModel.process(viewAction: .joinOpenedSpace)
}

View File

@@ -368,7 +368,7 @@ final class SpaceExploreRoomViewModel: SpaceExploreRoomViewModelType {
@available(iOS 13.0, *)
private func joinAction(for itemData: SpaceExploreRoomListItemViewData, isJoined: Bool) -> UIAction {
let action = UIAction(title: VectorL10n.join) { action in
let action = UIAction(title: BWIL10n.join) { action in
self.process(viewAction: .join(itemData))
}
if isJoined {

View File

@@ -134,7 +134,7 @@ final class SpaceChildRoomDetailViewController: UIViewController {
self.title = VectorL10n.roomDetailsTitle
self.joinButton.layer.masksToBounds = true
self.joinButton.layer.cornerRadius = 8.0
self.joinButton.setTitle(VectorL10n.join, for: .normal)
self.joinButton.setTitle(BWIL10n.join, for: .normal)
}
private func render(viewState: SpaceChildRoomDetailViewState) {
@@ -158,7 +158,7 @@ final class SpaceChildRoomDetailViewController: UIViewController {
self.avatarView.fill(with: avatarViewData)
self.membersLabel.text = roomInfo.activeMemberCount == 1 ? VectorL10n.roomTitleOneMember : VectorL10n.roomTitleMembers("\(roomInfo.activeMemberCount)")
self.topicLabel.text = roomInfo.topic
self.joinButton .setTitle(isJoined ? VectorL10n.open : VectorL10n.join, for: .normal)
self.joinButton .setTitle(isJoined ? VectorL10n.open : BWIL10n.join, for: .normal)
}
private func render(error: Error) {

View File

@@ -116,7 +116,7 @@
createBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:[VectorL10n create] style:UIBarButtonItemStylePlain target:self action:@selector(onButtonPressed:)];
self.navigationItem.rightBarButtonItem = createBarButtonItem;
_searchBarView.placeholder = [VectorL10n roomCreationInviteAnotherUser];
_searchBarView.placeholder = [BWIL10n roomCreationInviteAnotherUser];
_searchBarView.returnKeyType = UIReturnKeyDone;
_searchBarView.autocapitalizationType = UITextAutocapitalizationTypeNone;
[self refreshSearchBarItemsColor:_searchBarView];

View File

@@ -1134,7 +1134,7 @@
- (void) bwiShowMatomoInfoScreen {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil
message:NSLocalizedStringFromTable(@"MATOMO_USER_INFO", @"Vector", nil)
message:BWIL10n.matomoUserInfo
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:[VectorL10n ok] style:UIAlertActionStyleDefault handler:nil]];
[self presentViewController:alert animated:YES completion:nil];

View File

@@ -41,9 +41,9 @@ final class UserAvatarView: AvatarView {
override func updateAccessibilityTraits() {
if self.isUserInteractionEnabled {
self.vc_setupAccessibilityTraitsButton(withTitle: VectorL10n.userAvatarViewAccessibilityLabel, hint: VectorL10n.userAvatarViewAccessibilityHint, isEnabled: true)
self.vc_setupAccessibilityTraitsButton(withTitle: BWIL10n.userAvatarViewAccessibilityLabel, hint: BWIL10n.userAvatarViewAccessibilityHint, isEnabled: true)
} else {
self.vc_setupAccessibilityTraitsImage(withTitle: VectorL10n.userAvatarViewAccessibilityLabel)
self.vc_setupAccessibilityTraitsImage(withTitle: BWIL10n.userAvatarViewAccessibilityLabel)
}
}
}

View File

@@ -743,10 +743,10 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm";
NSMutableArray<NSString*> *differences = [[NSMutableArray alloc] init];
for (NSString* key in [addedLabels allKeys]) {
[differences addObject:[NSString stringWithFormat:NSLocalizedStringFromTable(@"bwi_timeline_userlabel_added_for_user", @"Bwi", nil), [self displayNameForUserId:key], addedLabels[key]]];
[differences addObject:[BWIL10n bwiTimelineUserlabelAddedForUser:[self displayNameForUserId:key] :addedLabels[key]]];
}
for (NSString* key in [removedLabels allKeys]) {
[differences addObject:[NSString stringWithFormat:NSLocalizedStringFromTable(@"bwi_timeline_userlabel_removed_for_user", @"Bwi", nil), [self displayNameForUserId:key], removedLabels[key]]];
[differences addObject:[BWIL10n bwiTimelineUserlabelRemovedForUser:[self displayNameForUserId:key] :removedLabels[key]]];
}
if (differences.count == 0) {
@@ -756,11 +756,11 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm";
NSString *summary = [differences componentsJoinedByString:@","];
if ([event.sender isEqualToString:mxSession.myUserId]) {
return [NSString stringWithFormat:NSLocalizedStringFromTable(@"bwi_timeline_userlabel_prefix_you", @"Bwi", nil), summary];
return [BWIL10n bwiTimelineUserlabelPrefixYou: summary];
} else {
NSString* senderDisplayName = [self displayNameForUserId:event.sender];
return [NSString stringWithFormat:NSLocalizedStringFromTable(@"bwi_timeline_userlabel_prefix_other_user", @"Bwi", nil), senderDisplayName, summary];
return [BWIL10n bwiTimelineUserlabelPrefixOtherUser:senderDisplayName :summary];
}
}

View File

@@ -60,6 +60,7 @@ targets:
- path: ../Riot/Managers/EncryptionKeyManager/EncryptionKeyManager.swift
- path: ../Riot/Categories/Bundle.swift
- path: ../Riot/Generated/Strings.swift
- path: ../Riot/Generated/BWIStrings.swift
- path: ../Riot/Generated/Images.swift
- path: ../Riot/Managers/LocalAuthentication/LocalAuthenticationService.swift
- path: ../Config/Configurable.swift

View File

@@ -68,6 +68,7 @@ targets:
- path: ../Riot/Modules/Common/Recents/Model/RecentCellData.m
- path: ../Riot/PropertyWrappers/UserDefaultsBackedPropertyWrapper.swift
- path: ../Riot/Generated/Strings.swift
- path: ../Riot/Generated/BWIStrings.swift
- path: ../Riot/Generated/Images.swift
- path: ../Riot/Managers/Locale/LocaleProviderType.swift
- path: ../Riot/Managers/Locale/LocaleProvider.swift

View File

@@ -32,7 +32,7 @@ struct OnboardingCongratulationsViewState: BindableState {
let personalizationDisabled: Bool
var messageString: NSAttributedString {
let message = VectorL10n.onboardingCongratulationsMessage(userId)
let message = BWIL10n.onboardingCongratulationsMessage(userId)
let attributedMessage = NSMutableAttributedString(string: message)
let range = (message as NSString).range(of: userId)

View File

@@ -57,7 +57,7 @@ struct OnboardingUseCaseSelectionScreen: View {
.multilineTextAlignment(.center)
.foregroundColor(theme.colors.primaryContent)
Text(VectorL10n.onboardingUseCaseMessage)
Text(BWIL10n.onboardingUseCaseMessage)
.font(theme.fonts.body)
.multilineTextAlignment(.center)
.foregroundColor(theme.colors.secondaryContent)
@@ -83,7 +83,7 @@ struct OnboardingUseCaseSelectionScreen: View {
}
InlineTextButton(VectorL10n.onboardingUseCaseNotSureYet("%@"),
tappableText: VectorL10n.onboardingUseCaseSkipButton) {
tappableText: BWIL10n.onboardingUseCaseSkipButton) {
viewModel.send(viewAction: .answer(.skipped))
}
.font(theme.fonts.subheadline)

View File

@@ -66,7 +66,7 @@ struct ChangePasswordScreen: View {
/// The text fields and submit button.
var form: some View {
VStack(alignment: .leading, spacing: 12) {
RoundedBorderTextField(placeHolder: VectorL10n.settingsOldPassword,
RoundedBorderTextField(placeHolder: BWIL10n.settingsOldPassword,
text: $viewModel.oldPassword,
isFirstResponder: focusedField == .oldPassword,
configuration: UIKitTextInputConfiguration(returnKeyType: .next,
@@ -74,7 +74,7 @@ struct ChangePasswordScreen: View {
onCommit: { focusedField = .newPassword1 })
.accessibilityIdentifier("oldPasswordTextField")
RoundedBorderTextField(placeHolder: VectorL10n.settingsNewPassword,
RoundedBorderTextField(placeHolder: BWIL10n.settingsNewPassword,
text: $viewModel.newPassword1,
isFirstResponder: focusedField == .newPassword1,
configuration: UIKitTextInputConfiguration(returnKeyType: .next,
@@ -82,7 +82,7 @@ struct ChangePasswordScreen: View {
onCommit: { focusedField = .newPassword2 })
.accessibilityIdentifier("newPasswordTextField1")
RoundedBorderTextField(placeHolder: VectorL10n.settingsConfirmPassword,
RoundedBorderTextField(placeHolder: BWIL10n.settingsConfirmPassword,
text: $viewModel.newPassword2,
isFirstResponder: focusedField == .newPassword2,
configuration: UIKitTextInputConfiguration(returnKeyType: .done,

View File

@@ -266,7 +266,7 @@ final class SpaceCreationCoordinator: Coordinator {
alert.addAction(UIAlertAction(title: VectorL10n.stop, style: .destructive, handler: { action in
self.callback?(.cancel)
}))
alert.addAction(UIAlertAction(title: VectorL10n.continue, style: .cancel, handler: nil))
alert.addAction(UIAlertAction(title: BWIL10n.continue, style: .cancel, handler: nil))
navigationRouter.present(alert, animated: true)
} else {
self.callback?(.cancel)

View File

@@ -42,6 +42,7 @@ targets:
- path: ../Riot/Managers/AppInfo/
- path: ../Riot/Categories/Bundle.swift
- path: ../Riot/Generated/Strings.swift
- path: ../Riot/Generated/BWIStrings.swift
- path: ../Riot/Generated/UntranslatedStrings.swift
- path: ../Riot/Generated/Images.swift
- path: ../Riot/Managers/Theme/

View File

@@ -52,6 +52,7 @@ targets:
- path: ../Riot/Managers/AppInfo/
- path: ../Riot/Categories/Bundle.swift
- path: ../Riot/Generated/Strings.swift
- path: ../Riot/Generated/BWIStrings.swift
- path: ../Riot/Generated/UntranslatedStrings.swift
- path: ../Riot/Generated/Images.swift
- path: ../Riot/Managers/Theme/

View File

@@ -59,6 +59,7 @@ targets:
- path: ../Riot/Managers/AppInfo/
- path: ../Riot/Managers/Locale/LocaleProviderType.swift
- path: ../Riot/Generated/Strings.swift
- path: ../Riot/Generated/BWIStrings.swift
excludes:
- "**/*.md" # excludes all files with the .md extension
- path: ../Riot/Modules/Room/TimelineCells/Styles/RoomTimelineStyleIdentifier.swift

View File

@@ -9,6 +9,13 @@ ib:
templateName: scenes-swift4
output: Storyboards.swift
strings:
- inputs: Assets/de.lproj/Bwi.strings
outputs:
templatePath: Templates/Strings/flat-swift4-vector.stencil
output: BWIStrings.swift
params:
className: BWIL10n
publicAccess: true
- inputs: Assets/en.lproj/Vector.strings
outputs:
templatePath: Templates/Strings/flat-swift4-vector.stencil
@@ -29,4 +36,4 @@ xcassets:
- Assets/SharedImages.xcassets
outputs:
templatePath: Templates/Assets/swift4-element.stencil
output: Images.swift
output: Images.swift

View File

@@ -30,13 +30,13 @@ extension ContentScannerContentDelegate {
switch scanStatus {
case .trusted:
message = NSLocalizedString("content_scan_status_trusted", tableName: "Bwi", comment: "")
message = BWIL10n.contentScanStatusTrusted
case .inProgress:
message = NSLocalizedString("content_scan_status_in_progress", tableName: "Bwi", comment: "")
message = BWIL10n.contentScanStatusInProgress
case .unknown:
message = NSLocalizedString("content_scan_status_failed", tableName: "Bwi", comment: "")
message = BWIL10n.contentScanStatusFailed
case .infected:
message = NSLocalizedString("content_scan_status_infected", tableName: "Bwi", comment: "")
message = BWIL10n.contentScanStatusInfected
@unknown default:
fatalError()
}

View File

@@ -38,39 +38,39 @@ struct DeveloperSettingsView: View {
var body: some View {
List {
Button(action: { showAlert = createNewPersonalNotesRoom(mxSession: session) }) {
Text(NSLocalizedString("bwi_settings_developer_create_new_personal_notes_room", tableName: "Vector", comment: ""))
Text(BWIL10n.bwiSettingsDeveloperCreateNewPersonalNotesRoom)
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
.font(.system(size: 17))
}
.alert(isPresented: $showAlert) {
Alert(title: Text(NSLocalizedString("bwi_settings_developer", tableName: "Vector", comment: "")), message: Text(NSLocalizedString("bwi_settings_developer_new_personal_notes_room_created", tableName: "Vector", comment: "")), dismissButton: .default(Text("Ok")))
Alert(title: Text(BWIL10n.bwiSettingsDeveloper), dismissButton: .default(Text("Ok")))
}
Button(action: { showAlert = resetMatomoInfoScreen() }) {
Text(NSLocalizedString("bwi_settings_developer_reset_matomo_info", tableName: "Vector", comment: ""))
Text(BWIL10n.bwiSettingsDeveloperResetMatomoInfo)
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
.font(.system(size: 17))
}
.alert(isPresented: $showAlert) {
Alert(title: Text(NSLocalizedString("bwi_settings_developer", tableName: "Vector", comment: "")), message: Text(NSLocalizedString("bwi_settings_developer_show_matomo_privacy_notes_resetted", tableName: "Vector", comment: "")), dismissButton: .default(Text("Ok")))
Alert(title: Text(BWIL10n.bwiSettingsDeveloperShowMatomoPrivacyNotesResetted), message: Text(BWIL10n.bwiSettingsDeveloperShowMatomoPrivacyNotesResetted), dismissButton: .default(Text("Ok")))
}
Button(action: { _ = restrictUser(mxSession: session) }) {
Text(NSLocalizedString("bwi_settings_developer_restrict_user", tableName: "Bwi", comment: ""))
Text(BWIL10n.bwiSettingsDeveloperRestrictUser)
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
.font(.system(size: 17))
}
Button(action: { _ = unrestrictUser(mxSession: session) }) {
Text(NSLocalizedString("bwi_settings_developer_unrestrict_user", tableName: "Bwi", comment: ""))
Text(BWIL10n.bwiSettingsDeveloperUnrestrictUser)
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
.font(.system(size: 17))
}
Button(action: { _ = unmarkBannerVersion(mxSession: session) }) {
Text(NSLocalizedString("bwi_settings_developer_unmark_banner", tableName: "Bwi", comment: ""))
Text(BWIL10n.bwiSettingsDeveloperUnmarkBanner)
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
.font(.system(size: 17))
}
}
.navigationTitle(NSLocalizedString("bwi_settings_developer", tableName: "Vector", comment: ""))
.navigationTitle(BWIL10n.bwiSettingsDeveloper)
.navigationBarTitleDisplayMode(.inline)
}

View File

@@ -70,7 +70,7 @@ struct IgnoredUsersView: View {
}
}
}
.navigationTitle(NSLocalizedString("bwi_settings_ignored_users_text", tableName: "Bwi", comment: ""))
.navigationTitle(BWIL10n.bwiSettingsIgnoredUsersText)
.navigationBarTitleDisplayMode(.inline)
}
}
@@ -104,7 +104,7 @@ fileprivate struct IgnoredUserView: View {
.alert(isPresented:$showingAlert) {
Alert(
title: Text(VectorL10n.settingsUnignoreUser(self.user.displayName)),
message: Text(VectorL10n.settingsUnignoreUserMessage),
message: Text(BWIL10n.settingsUnignoreUserMessage),
primaryButton: .default(Text(VectorL10n.yes)) {
unignoreUser(self.session, self.user)
},

View File

@@ -53,26 +53,26 @@ import Combine
isEnabled = false
monday = NotificationTimesWeekday(id: 0,
name: NSLocalizedString("bwi_notification_times_monday", tableName: "Bwi", comment: ""),
shortName: NSLocalizedString("bwi_notification_times_monday_short", tableName: "Bwi", comment: ""))
name: BWIL10n.bwiNotificationTimesMonday,
shortName: BWIL10n.bwiNotificationTimesMondayShort)
tuesday = NotificationTimesWeekday(id: 1,
name: NSLocalizedString("bwi_notification_times_tuesday", tableName: "Bwi", comment: ""),
shortName: NSLocalizedString("bwi_notification_times_tuesday_short", tableName: "Bwi", comment: ""))
name: BWIL10n.bwiNotificationTimesTuesday,
shortName: BWIL10n.bwiNotificationTimesTuesdayShort)
wednesday = NotificationTimesWeekday(id: 2,
name: NSLocalizedString("bwi_notification_times_wednesday", tableName: "Bwi", comment: ""),
shortName: NSLocalizedString("bwi_notification_times_wednesday_short", tableName: "Bwi", comment: ""))
name: BWIL10n.bwiNotificationTimesWednesday,
shortName: BWIL10n.bwiNotificationTimesWednesdayShort)
thursday = NotificationTimesWeekday(id: 3,
name: NSLocalizedString("bwi_notification_times_thursday", tableName: "Bwi", comment: ""),
shortName: NSLocalizedString("bwi_notification_times_thursday_short", tableName: "Bwi", comment: ""))
name: BWIL10n.bwiNotificationTimesThursday,
shortName: BWIL10n.bwiNotificationTimesThursdayShort)
friday = NotificationTimesWeekday(id: 4,
name: NSLocalizedString("bwi_notification_times_friday", tableName: "Bwi", comment: ""),
shortName: NSLocalizedString("bwi_notification_times_friday_short", tableName: "Bwi", comment: ""))
name: BWIL10n.bwiNotificationTimesFriday,
shortName: BWIL10n.bwiNotificationTimesFridayShort)
saturday = NotificationTimesWeekday(id: 5,
name: NSLocalizedString("bwi_notification_times_saturday", tableName: "Bwi", comment: ""),
shortName: NSLocalizedString("bwi_notification_times_saturday_short", tableName: "Bwi", comment: ""))
name: BWIL10n.bwiNotificationTimesSaturday,
shortName: BWIL10n.bwiNotificationTimesSaturdayShort)
sunday = NotificationTimesWeekday(id: 6,
name: NSLocalizedString("bwi_notification_times_sunday", tableName: "Bwi", comment: ""),
shortName: NSLocalizedString("bwi_notification_times_sunday_short", tableName: "Bwi", comment: ""))
name: BWIL10n.bwiNotificationTimesSunday,
shortName: BWIL10n.bwiNotificationTimesSundayShort)
rooms = [:]
}

View File

@@ -71,12 +71,12 @@ struct NotificationTimesView: View {
Spacer()
}
.padding()
.navigationTitle(NSLocalizedString("bwi_notification_times", tableName: "Bwi", comment: ""))
.navigationTitle(BWIL10n.bwiNotificationTimes)
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: onDoneButton) {
Text(NSLocalizedString("bwi_notification_times_done_action", tableName: "Bwi", comment: ""))
Text(BWIL10n.bwiNotificationTimesDoneAction)
.foregroundColor(hasChanges ? Color(ThemeService.shared().theme.tintColor) : Color.secondary)
}
.disabled(!hasChanges)
@@ -127,10 +127,10 @@ fileprivate struct NotificationTimesToggle: View {
var body: some View {
Toggle(isOn: $isOn) {
VStack(alignment: .leading, spacing: 8) {
Text(NSLocalizedString("bwi_notification_times_toggle_title", tableName: "Bwi", comment: ""))
Text(BWIL10n.bwiNotificationTimesToggleTitle)
.font(.headline)
.foregroundColor(.primary)
Text(NSLocalizedString("bwi_notification_times_toggle_description", tableName: "Bwi", comment: ""))
Text(BWIL10n.bwiNotificationTimesToggleDescription)
.font(.subheadline)
.foregroundColor(.secondary)
}
@@ -192,8 +192,8 @@ fileprivate struct WeekDaysSettings: View {
.frame(height: 20)
HStack(spacing: 40) {
TimePicker(date: $weekday.startTime, title: NSLocalizedString("bwi_notification_times_start_time", tableName: "Bwi", comment: ""), enabled: weekday.isEnabled)
TimePicker(date: $weekday.endTime, title: NSLocalizedString("bwi_notification_times_end_time", tableName: "Bwi", comment: ""), enabled: weekday.isEnabled)
TimePicker(date: $weekday.startTime, title: BWIL10n.bwiNotificationTimesStartTime, enabled: weekday.isEnabled)
TimePicker(date: $weekday.endTime, title: BWIL10n.bwiNotificationTimesEndTime, enabled: weekday.isEnabled)
}
Spacer()
@@ -204,10 +204,10 @@ fileprivate struct WeekDaysSettings: View {
valuesChanged = true
}) {
if weekday.isEnabled {
Text(String(format: NSLocalizedString("bwi_notification_times_button_deactivate", tableName: "Bwi", comment: ""), weekday.name))
Text(BWIL10n.bwiNotificationTimesButtonDeactivate(weekday.name))
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
} else {
Text(String(format: NSLocalizedString("bwi_notification_times_button_activate", tableName: "Bwi", comment: ""), weekday.name))
Text(BWIL10n.bwiNotificationTimesButtonActivate(weekday.name))
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
}
}
@@ -235,9 +235,9 @@ fileprivate struct UserInfoText: View {
var body: some View {
if notificationsEnabled {
TwoLineText(String(format: NSLocalizedString("bwi_notification_times_status_activated", tableName: "Bwi", comment: ""), weekdayName), color: notificationsEnabled ? .primary : .secondary)
TwoLineText(BWIL10n.bwiNotificationTimesStatusActivated(weekdayName), color: notificationsEnabled ? .primary : .secondary)
} else {
TwoLineText(String(format: NSLocalizedString("bwi_notification_times_status_deactivated", tableName: "Bwi", comment: ""), weekdayName), color: notificationsEnabled ? .primary : .secondary)
TwoLineText(BWIL10n.bwiNotificationTimesStatusDeactivated(weekdayName), color: notificationsEnabled ? .primary : .secondary)
}
}
}

View File

@@ -61,7 +61,7 @@ import MatrixSDK
parameters.visibility = kMXRoomDirectoryVisibilityPrivate
parameters.preset = kMXRoomPresetTrustedPrivateChat
parameters.name = NSLocalizedString("bwi_notes_room_title", tableName: "Vector", comment: "")
parameters.name = BWIL10n.bwiNotesRoomTitle
parameters.initialStateEvents = [MXRoomCreationParameters.initialStateEventForEncryption(withAlgorithm: kMXCryptoMegolmAlgorithm), self.initialStateEvent()]
parameters.creationContent = self.creationContent()

View File

@@ -64,21 +64,21 @@ struct PersonalStateView: View {
VStack(alignment: .center, spacing: 10) {
Button {
statusMessage = NSLocalizedString("bwi_edit_personal_state_option_homeoffice", tableName: "Vector", comment: "")
statusMessage = BWIL10n.bwiEditPersonalStateOptionHomeoffice
} label: {
Text("bwi_edit_personal_state_option_homeoffice", tableName: "Vector")
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
}
Button {
statusMessage = NSLocalizedString("bwi_edit_personal_state_option_work", tableName: "Vector", comment: "")
statusMessage = BWIL10n.bwiEditPersonalStateOptionWork
} label: {
Text("bwi_edit_personal_state_option_work", tableName: "Vector")
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
}
Button {
statusMessage = NSLocalizedString("bwi_edit_personal_state_option_not_available", tableName: "Vector", comment: "")
statusMessage = BWIL10n.bwiEditPersonalStateOptionNotAvailable
} label: {
Text("bwi_edit_personal_state_option_not_available", tableName: "Vector")
.foregroundColor(Color(ThemeService.shared().theme.tintColor))
@@ -98,12 +98,12 @@ struct PersonalStateView: View {
Spacer()
}
.padding()
.navigationTitle(NSLocalizedString("bwi_edit_personal_state_title", tableName: "Vector", comment: ""))
.navigationTitle(BWIL10n.bwiEditPersonalStateTitle)
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: onDoneButton) {
Text(NSLocalizedString("bwi_notification_times_done_action", tableName: "Bwi", comment: ""))
Text(BWIL10n.bwiNotificationTimesDoneAction)
.foregroundColor(hasChanges ? Color(ThemeService.shared().theme.tintColor) : Color.secondary)
}
.disabled(!hasChanges)

View File

@@ -113,13 +113,13 @@ extension RoomRollsAndRightsPickerViewController {
switch indexPath.row {
case 0:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_admin", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsAdmin
cell.accessoryType = powerLevel == .admin ? .checkmark : .none
case 1:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_moderator", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsModerator
cell.accessoryType = powerLevel == .moderator ? .checkmark : .none
case 2:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_user", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsUser
cell.accessoryType = powerLevel == .user ? .checkmark : .none
default:
assertionFailure("invalid indexPath in RollsAndRightsPickerViewController tableview")

View File

@@ -43,7 +43,7 @@ final class RoomRollsAndRightsViewController: UITableViewController {
tableView.contentInsetAdjustmentBehavior = .never
self.title = NSLocalizedString("bwi_rolls_and_rights_main_title", tableName: "Vector", comment: "")
self.title = BWIL10n.bwiRollsAndRightsMainTitle
let doneBarButtonItem = MXKBarButtonItem(title: VectorL10n.roomNotifsSettingsDoneAction, style: .plain) { [weak self] in
self?.viewModel.process(viewAction: .save)
@@ -98,9 +98,9 @@ extension RoomRollsAndRightsViewController {
textView.textColor = theme.headerTextPrimaryColor
textView.backgroundColor = theme.headerBackgroundColor
if viewModel.isCurrentUserAdmin() {
textView.text = NSLocalizedString("bwi_rolls_and_rights_main_header_admin", tableName: "Vector", comment: "")
textView.text = BWIL10n.bwiRollsAndRightsMainHeaderAdmin
} else {
textView.text = NSLocalizedString("bwi_rolls_and_rights_main_header_no_admin", tableName: "Vector", comment: "")
textView.text = BWIL10n.bwiRollsAndRightsMainHeaderNoAdmin
}
return textView
}
@@ -111,7 +111,7 @@ extension RoomRollsAndRightsViewController {
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
if viewModel.isCurrentUserAdmin() {
let button = UIButton(type: .custom)
button.setTitle(NSLocalizedString("bwi_rolls_and_rights_reset_button", tableName: "Vector", comment: ""), for: .normal)
button.setTitle(BWIL10n.bwiRollsAndRightsResetButton, for: .normal)
button.addTarget(self, action: #selector(onButtonReset(_:)), for: .touchUpInside)
button.setTitleColor(theme.tintColor, for: .normal)
button.backgroundColor = theme.headerBackgroundColor
@@ -149,22 +149,22 @@ extension RoomRollsAndRightsViewController {
switch indexPath.row {
case 0:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_general", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsGeneral
cell.detailTextLabel?.text = roll(for: state?.powerLevelGeneral)
case 1:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_send", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsSend
cell.detailTextLabel?.text = roll(for: state?.powerLevelSend)
case 2:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_invite", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsInvite
cell.detailTextLabel?.text = roll(for: state?.powerLevelInvite)
case 3:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_redact", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsRedact
cell.detailTextLabel?.text = roll(for: state?.powerLevelRedact)
case 4:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_ban", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsBan
cell.detailTextLabel?.text = roll(for: state?.powerLevelBan)
case 5:
cell.textLabel?.text = NSLocalizedString("bwi_rolls_and_rights_reset_button", tableName: "Vector", comment: "")
cell.textLabel?.text = BWIL10n.bwiRollsAndRightsResetButton
default:
assertionFailure("invalid indexPath in RollsAndRightsViewController tableview")
}
@@ -177,13 +177,13 @@ extension RoomRollsAndRightsViewController {
}
if powerlevel >= RoomPowerLevel.admin.rawValue {
return NSLocalizedString("bwi_rolls_and_rights_admin", tableName: "Vector", comment: "")
return BWIL10n.bwiRollsAndRightsAdmin
}
else if powerlevel >= RoomPowerLevel.moderator.rawValue {
return NSLocalizedString("bwi_rolls_and_rights_moderator", tableName: "Vector", comment: "")
return BWIL10n.bwiRollsAndRightsModerator
}
else {
return NSLocalizedString("bwi_rolls_and_rights_user", tableName: "Vector", comment: "")
return BWIL10n.bwiRollsAndRightsUser
}
}
}
@@ -220,14 +220,14 @@ extension RoomRollsAndRightsViewController {
}
private func resetToDefaults() {
let alert = UIAlertController(title: NSLocalizedString("bwi_rolls_and_rights_reset_button", tableName: "Vector", comment: ""),
message: NSLocalizedString("bwi_rolls_and_rights_reset_title", tableName: "Vector", comment: ""),
let alert = UIAlertController(title: BWIL10n.bwiRollsAndRightsResetButton,
message: BWIL10n.bwiRollsAndRightsResetTitle,
preferredStyle: .alert)
let cancelActionTitle = NSLocalizedString("bwi_rolls_and_rights_reset_cancel", tableName: "Vector", comment: "")
let cancelActionTitle = BWIL10n.bwiRollsAndRightsResetCancel
let cancelAction = UIAlertAction(title: cancelActionTitle, style: .cancel)
let resetPowerLevelsActionTitle = NSLocalizedString("bwi_rolls_and_rights_reset_ok", tableName: "Vector", comment: "")
let resetPowerLevelsActionTitle = BWIL10n.bwiRollsAndRightsResetOk
let resetPowerLevelsAction = UIAlertAction(title: resetPowerLevelsActionTitle, style: .default, handler: { _ in
self.viewModel.process(viewAction: .reset)
})

View File

@@ -26,7 +26,7 @@ import Foundation
func breachAlert() -> UIAlertController {
self.dismissAnyAlertControllerIfPresent()
let alert = UIAlertController(title: VectorL10n.integrityAlertTitle, message: VectorL10n.integrityAlertMessage, preferredStyle: .alert)
let alert = UIAlertController(title: BWIL10n.integrityAlertTitle, message: BWIL10n.integrityAlertMessage, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: VectorL10n.close, style: .destructive, handler: { _ in
exit(0)

View File

@@ -32,7 +32,7 @@ import DTTJailbreakDetection
self.logoutAndCleanUp()
let alert = UIAlertController(title: VectorL10n.jailbreakAlertTitle, message: VectorL10n.jailbreakAlertMessage(AppInfo.current.displayName), preferredStyle: .alert)
let alert = UIAlertController(title: BWIL10n.jailbreakAlertTitle, message: BWIL10n.jailbreakAlertMessage(AppInfo.current.displayName), preferredStyle: .alert)
alert.addAction(UIAlertAction(title: VectorL10n.close, style: .destructive, handler: { _ in
exit(0)

View File

@@ -214,16 +214,14 @@ extension ServerDowntimeDefaultService : ServerDowntimeService {
let isSameDay = Calendar.current.dateComponents([.day], from: startDate, to: endDate).day == 0
if isSameDay {
return String(format: NSLocalizedString("settings_downtime_message_same_day", tableName: "Bwi", comment: ""),
dateTimeFormatter.string(from: startDate),
timeFormatter.string(from: endDate),
utcFormatter.string(from: startDate))
return BWIL10n.settingsDowntimeMessageSameDay(dateTimeFormatter.string(from: startDate),
timeFormatter.string(from: endDate),
utcFormatter.string(from: startDate))
} else {
return String(format: NSLocalizedString("settings_downtime_message_different_days", tableName: "Bwi", comment: ""),
dateTimeFormatter.string(from: startDate),
utcFormatter.string(from: startDate),
dateTimeFormatter.string(from: endDate),
utcFormatter.string(from: endDate))
return BWIL10n.settingsDowntimeMessageDifferentDays(dateTimeFormatter.string(from: startDate),
utcFormatter.string(from: startDate),
dateTimeFormatter.string(from: endDate),
utcFormatter.string(from: endDate))
}
}

View File

@@ -44,7 +44,7 @@ struct OnboardingBwiSplashScreen: View {
if isFetchingDowntime {
ProgressView()
} else {
Text(VectorL10n.splashScreenStart)
Text(BWIL10n.splashScreenStart)
.font(theme.fonts.body.bold())
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 32)
}
@@ -75,23 +75,23 @@ struct OnboardingBwiSplashScreen: View {
.navigationTitle("")
.navigationBarHidden(true)
.alert(isPresented: $showServerMaintananceAlert) {
Alert(title: Text(NSLocalizedString("downtime_title", tableName: "Bwi", comment: "")),
Alert(title: Text(BWIL10n.downtimeTitle),
message: Text(ServerDowntimeDefaultService().downtimeText()),
dismissButton: .destructive(Text(NSLocalizedString("downtime_alert_dismiss_button", tableName: "Bwi", comment: ""))) {
dismissButton: .destructive(Text(BWIL10n.downtimeAlertDismissButton)) {
viewModel.send(viewAction: .login)
})
}
.alert(isPresented: $showServerMaintananceDefaultAlert) {
Alert(title: Text(NSLocalizedString("downtime_title", tableName: "Bwi", comment: "")),
message: Text(NSLocalizedString("downtime_default_message", tableName: "Bwi", comment: "")),
dismissButton: .destructive(Text(NSLocalizedString("downtime_alert_dismiss_button", tableName: "Bwi", comment: ""))) {
Alert(title: Text(BWIL10n.downtimeTitle),
message: Text(BWIL10n.downtimeDefaultMessage),
dismissButton: .destructive(Text(BWIL10n.downtimeAlertDismissButton)) {
viewModel.send(viewAction: .login)
})
}
.alert(isPresented: $showInvalidAppVersionAlert) {
Alert(title: Text(VectorL10n.bwiOutdatedVersionWarningTitle),
message: Text(VectorL10n.bwiOutdatedVersionWarningMessage(AppInfo.current.displayName)),
dismissButton: .destructive(Text(VectorL10n.bwiOutdatedVersionAppstoreButton), action: {
Alert(title: Text(BWIL10n.bwiOutdatedVersionWarningTitle),
message: Text(BWIL10n.bwiOutdatedVersionWarningMessage(AppInfo.current.displayName)),
dismissButton: .destructive(Text(BWIL10n.bwiOutdatedVersionAppstoreButton), action: {
let iTunesLink = "itms://itunes.apple.com/app/BwMessenger/id1518548153?mt=8"
UIApplication.shared.open(URL(string: iTunesLink)!, options: [:], completionHandler: nil)
}))

View File

@@ -55,7 +55,7 @@ import UIKit
let htmlFile = Bundle.main.path(forResource: "new_features", ofType: "html")
if let webviewController = WebViewViewController(localHTMLFile: htmlFile) {
webviewController.title = NSLocalizedString("bwi_settings_new_features_header", tableName: "Vector", comment: "")
webviewController.title = BWIL10n.bwiSettingsNewFeaturesHeader
self.present(webviewController, animated: true, completion: { () -> Void in
NotificationCenter.default.post(name: .bwiHideTopBanner, object: self, userInfo: ["type" : "feature_banner"])