From 76a7dfeabb1f8c11bed18367d94cf3c6dcdbd95c Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Wed, 14 Sep 2022 14:04:41 +0100 Subject: [PATCH] ios: localize database encryption (#1048) * ios: localize database encryption * fix incorrect language in NSE localizations * corrections Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com> * translations Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com> --- .../app/src/main/res/values-ru/strings.xml | 2 +- .../Database/DatabaseEncryptionView.swift | 2 +- .../en.xcloc/Localized Contents/en.xliff | 280 ++++++++++++++++- .../SimpleX NSE/en.lproj/Localizable.strings | 1 + .../en.lproj/Localizable.strings | 3 + .../ru.xcloc/Localized Contents/ru.xliff | 282 +++++++++++++++++- .../SimpleX NSE/en.lproj/Localizable.strings | 1 + .../en.lproj/Localizable.strings | 3 + .../SimpleX NSE/en.lproj/Localizable.strings | 1 + .../SimpleX NSE/ru.lproj/Localizable.strings | 2 +- apps/ios/SimpleX.xcodeproj/project.pbxproj | 2 + apps/ios/SimpleXChat/ChatTypes.swift | 2 +- apps/ios/SimpleXChat/Notifications.swift | 2 +- apps/ios/en.lproj/Localizable.strings | 3 + apps/ios/ru.lproj/Localizable.strings | 162 +++++++++- 15 files changed, 729 insertions(+), 19 deletions(-) create mode 100644 apps/ios/SimpleX Localizations/en.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings create mode 100644 apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings create mode 100644 apps/ios/SimpleX NSE/en.lproj/Localizable.strings diff --git a/apps/android/app/src/main/res/values-ru/strings.xml b/apps/android/app/src/main/res/values-ru/strings.xml index bd8111e43..a9ae7ff7e 100644 --- a/apps/android/app/src/main/res/values-ru/strings.xml +++ b/apps/android/app/src/main/res/values-ru/strings.xml @@ -579,7 +579,7 @@ Зашифровать базу данных? Поменять пароль базы данных? База данных будет зашифрована. - База данных будут зашифрована и пароль сохранен в Keystore. + База данных будет зашифрована и пароль сохранен в Keystore. Пароль базы данных будет изменен и сохранен в Keystore. Пароль базы данных будет изменен. Пожалуйста, надежно сохраните пароль, вы НЕ сможете его поменять, если потеряете. diff --git a/apps/ios/Shared/Views/Database/DatabaseEncryptionView.swift b/apps/ios/Shared/Views/Database/DatabaseEncryptionView.swift index 7358d9a45..3423f8db9 100644 --- a/apps/ios/Shared/Views/Database/DatabaseEncryptionView.swift +++ b/apps/ios/Shared/Views/Database/DatabaseEncryptionView.swift @@ -223,7 +223,7 @@ struct DatabaseEncryptionView: View { return Alert(title: Text("Database encrypted!")) case .currentPassphraseError: return Alert( - title: Text("Wrong passsphrase!"), + title: Text("Wrong passphrase!"), message: Text("Please enter correct current passphrase.") ) case let .error(title, error): diff --git a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff index 3dba7fc0b..4baf962d3 100644 --- a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff +++ b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff @@ -127,6 +127,11 @@ **Paste received link** or open it in the browser and tap **Open in mobile app**. No comment provided by engineer. + + **Please note**: you will NOT be able to recover or change passphrase if you lose it. + **Please note**: you will NOT be able to recover or change passphrase if you lose it. + No comment provided by engineer. + **Recommended**: device token and notifications are sent to SimpleX Chat notification server, but not the message content, size or who it is from. **Recommended**: device token and notifications are sent to SimpleX Chat notification server, but not the message content, size or who it is from. @@ -137,6 +142,11 @@ **Scan QR code**: to connect to your contact in person or via video call. No comment provided by engineer. + + **Warning**: Instant push notifications require passphrase saved in Keychain. + **Warning**: Instant push notifications require passphrase saved in Keychain. + No comment provided by engineer. + **e2e encrypted** audio call **e2e encrypted** audio call @@ -303,6 +313,16 @@ Cancel No comment provided by engineer. + + Cannot access keychain to save database password + Cannot access keychain to save database password + No comment provided by engineer. + + + Change database passphrase? + Change database passphrase? + No comment provided by engineer. + Chat archive Chat archive @@ -346,7 +366,7 @@ Chats Chats - back button to return to chats list + No comment provided by engineer. Choose file @@ -388,6 +408,11 @@ Confirm No comment provided by engineer. + + Confirm new passphrase… + Confirm new passphrase… + No comment provided by engineer. + Connect Connect @@ -528,6 +553,11 @@ Created on %@ No comment provided by engineer. + + Current passphrase… + Current passphrase… + No comment provided by engineer. + Currently maximum supported file size is %@. Currently maximum supported file size is %@. @@ -543,9 +573,72 @@ Database ID No comment provided by engineer. - - Database export & import - Database export & import + + Database encrypted! + Database encrypted! + No comment provided by engineer. + + + Database encryption passphrase will be updated and stored in the keychain. + + Database encryption passphrase will be updated and stored in the keychain. + + No comment provided by engineer. + + + Database encryption passphrase will be updated. + + Database encryption passphrase will be updated. + + No comment provided by engineer. + + + Database error + Database error + No comment provided by engineer. + + + Database is encrypted using a random passphrase, you can change it. + Database is encrypted using a random passphrase, you can change it. + No comment provided by engineer. + + + Database is encrypted using a random passphrase. Please change it before exporting. + Database is encrypted using a random passphrase. Please change it before exporting. + No comment provided by engineer. + + + Database passphrase + Database passphrase + No comment provided by engineer. + + + Database passphrase & export + Database passphrase & export + No comment provided by engineer. + + + Database passphrase is different from saved in the keychain. + Database passphrase is different from saved in the keychain. + No comment provided by engineer. + + + Database passphrase is required to open chat. + Database passphrase is required to open chat. + No comment provided by engineer. + + + Database will be encrypted and the passphrase stored in the keychain. + + Database will be encrypted and the passphrase stored in the keychain. + + No comment provided by engineer. + + + Database will be encrypted. + + Database will be encrypted. + No comment provided by engineer. @@ -743,6 +836,56 @@ Enable periodic notifications? No comment provided by engineer. + + Encrypt + Encrypt + No comment provided by engineer. + + + Encrypt database? + Encrypt database? + No comment provided by engineer. + + + Encrypted database + Encrypted database + No comment provided by engineer. + + + Encrypted message or another event + Encrypted message or another event + notification + + + Encrypted message: database error + Encrypted message: database error + notification + + + Encrypted message: keychain error + Encrypted message: keychain error + notification + + + Encrypted message: no passphrase + Encrypted message: no passphrase + notification + + + Encrypted message: unexpeсted error + Encrypted message: unexpeсted error + notification + + + Enter correct passphrase. + Enter correct passphrase. + No comment provided by engineer. + + + Enter passphrase… + Enter passphrase… + No comment provided by engineer. + Error accessing database file Error accessing database file @@ -783,6 +926,11 @@ Error enabling notifications No comment provided by engineer. + + Error encrypting database + Error encrypting database + No comment provided by engineer. + Error exporting chat database Error exporting chat database @@ -863,6 +1011,11 @@ File will be received when your contact is online, please wait or check later! No comment provided by engineer. + + File: %@ + File: %@ + No comment provided by engineer. + For console For console @@ -1053,6 +1206,13 @@ Install [SimpleX Chat for terminal](https://github.com/simplex-chat/simplex-chat) No comment provided by engineer. + + Instant push notifications will be hidden! + + Instant push notifications will be hidden! + + No comment provided by engineer. + Instantly Instantly @@ -1128,6 +1288,11 @@ We will be adding server redundancy to prevent lost messages. Joining group No comment provided by engineer. + + Keychain error + Keychain error + No comment provided by engineer. + Large file! Large file! @@ -1278,6 +1443,11 @@ We will be adding server redundancy to prevent lost messages. New message notification + + New passphrase… + New passphrase… + No comment provided by engineer. + No No @@ -1363,6 +1533,16 @@ We will be adding server redundancy to prevent lost messages. Open Settings No comment provided by engineer. + + Open chat + Open chat + No comment provided by engineer. + + + Open chat console + Open chat console + authentication reason + Open-source protocol and code – anybody can run the servers. Open-source protocol and code – anybody can run the servers. @@ -1423,11 +1603,26 @@ We will be adding server redundancy to prevent lost messages. Please check your network connection and try again. No comment provided by engineer. + + Please enter correct current passphrase. + Please enter correct current passphrase. + No comment provided by engineer. + Please restart the app and migrate the database to enable push notifications. Please restart the app and migrate the database to enable push notifications. No comment provided by engineer. + + Please store passphrase securely, you will NOT be able to access chat if you lose it. + Please store passphrase securely, you will NOT be able to access chat if you lose it. + No comment provided by engineer. + + + Please store passphrase securely, you will NOT be able to change it if you lose it. + Please store passphrase securely, you will NOT be able to change it if you lose it. + No comment provided by engineer. + Privacy & security Privacy & security @@ -1518,6 +1713,11 @@ We will be adding server redundancy to prevent lost messages. Remove member? No comment provided by engineer. + + Remove passphrase from keychain? + Remove passphrase from keychain? + No comment provided by engineer. + Reply Reply @@ -1588,6 +1788,16 @@ We will be adding server redundancy to prevent lost messages. Save group profile No comment provided by engineer. + + Save passphrase and open chat + Save passphrase and open chat + No comment provided by engineer. + + + Save passphrase in Keychain + Save passphrase in Keychain + No comment provided by engineer. + Saved SMP servers will be removed Saved SMP servers will be removed @@ -1648,6 +1858,11 @@ We will be adding server redundancy to prevent lost messages. Set contact name… No comment provided by engineer. + + Set passphrase to export + Set passphrase to export + No comment provided by engineer. + Set timeouts for proxy/VPN Set timeouts for proxy/VPN @@ -1723,6 +1938,11 @@ We will be adding server redundancy to prevent lost messages. Stop No comment provided by engineer. + + Stop SimpleX + Stop SimpleX + authentication reason + Stop chat to enable database actions Stop chat to enable database actions @@ -1940,6 +2160,16 @@ You will be prompted to complete authentication before this feature is enabled.< Unexpected migration state No comment provided by engineer. + + Unknown database error: %@ + Unknown database error: %@ + No comment provided by engineer. + + + Unknown error + Unknown error + No comment provided by engineer. + Unless your contact deleted the connection or this link was already used, it might be a bug - please report it. To connect, please ask your contact to create another connection link and check that you have a stable network connection. @@ -1957,11 +2187,21 @@ To connect, please ask your contact to create another connection link and check Unmute No comment provided by engineer. + + Update + Update + No comment provided by engineer. + Update .onion hosts setting? Update .onion hosts setting? No comment provided by engineer. + + Update database passphrase + Update database passphrase + No comment provided by engineer. + Update network settings? Update network settings? @@ -2032,6 +2272,16 @@ To connect, please ask your contact to create another connection link and check When you share an incognito profile with somebody, this profile will be used for the groups they invite you to. No comment provided by engineer. + + Wrong database passphrase + Wrong database passphrase + No comment provided by engineer. + + + Wrong passphrase! + Wrong passphrase! + No comment provided by engineer. + You You @@ -2097,6 +2347,11 @@ To connect, please ask your contact to create another connection link and check You could not be verified; please try again. No comment provided by engineer. + + You have to enter passphrase every time the app starts - it is not stored on the device. + You have to enter passphrase every time the app starts - it is not stored on the device. + No comment provided by engineer. + You invited your contact You invited your contact @@ -2182,6 +2437,11 @@ To connect, please ask your contact to create another connection link and check Your chat database No comment provided by engineer. + + Your chat database is not encrypted - set passphrase to encrypt it. + Your chat database is not encrypted - set passphrase to encrypt it. + No comment provided by engineer. + Your chat profile Your chat profile @@ -2366,7 +2626,7 @@ SimpleX servers cannot see your profile. connecting (introduction invitation) No comment provided by engineer. - + connecting call… connecting call… call status @@ -2451,6 +2711,16 @@ SimpleX servers cannot see your profile. group profile updated snd group event chat item + + iOS Keychain is used to securely store passphrase - it allows receiving push notifications. + iOS Keychain is used to securely store passphrase - it allows receiving push notifications. + No comment provided by engineer. + + + iOS Keychain will be used to securely store passphrase after you restart the app or change passphrase - it will allow receiving push notifications. + iOS Keychain will be used to securely store passphrase after you restart the app or change passphrase - it will allow receiving push notifications. + No comment provided by engineer. + incognito via contact address link incognito via contact address link diff --git a/apps/ios/SimpleX Localizations/en.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings b/apps/ios/SimpleX Localizations/en.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/apps/ios/SimpleX Localizations/en.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings @@ -0,0 +1 @@ + diff --git a/apps/ios/SimpleX Localizations/en.xcloc/Source Contents/en.lproj/Localizable.strings b/apps/ios/SimpleX Localizations/en.xcloc/Source Contents/en.lproj/Localizable.strings index dc52cfe6f..cf485752e 100644 --- a/apps/ios/SimpleX Localizations/en.xcloc/Source Contents/en.lproj/Localizable.strings +++ b/apps/ios/SimpleX Localizations/en.xcloc/Source Contents/en.lproj/Localizable.strings @@ -13,6 +13,9 @@ /* No comment provided by engineer. */ "~strike~" = "\\~strike~"; +/* call status */ +"connecting call" = "connecting call…"; + /* No comment provided by engineer. */ "Connecting server…" = "Connecting to server…"; diff --git a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff index d0ddbd1be..e3c08525c 100644 --- a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff +++ b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff @@ -127,6 +127,11 @@ **Вставить полученную ссылку**, или откройте её в браузере и нажмите **Open in mobile app**. No comment provided by engineer. + + **Please note**: you will NOT be able to recover or change passphrase if you lose it. + **Внимание**: вы не сможете восстановить или поменять пароль, если вы его потеряете. + No comment provided by engineer. + **Recommended**: device token and notifications are sent to SimpleX Chat notification server, but not the message content, size or who it is from. **Рекомендовано**: токен устройства и уведомления отправляются на сервер SimpleX Chat, но сервер не получает сами сообщения, их размер или от кого они. @@ -137,6 +142,11 @@ **Сканировать QR код**: соединиться с вашим контактом при встрече или во время видеозвонка. No comment provided by engineer. + + **Warning**: Instant push notifications require passphrase saved in Keychain. + **Внимание**: для работы мгновенных уведомлений пароль должен быть сохранен в Keychain. + No comment provided by engineer. + **e2e encrypted** audio call **e2e зашифрованный** аудиозвонок @@ -303,6 +313,16 @@ Отменить No comment provided by engineer. + + Cannot access keychain to save database password + Ошибка доступа к Keychain при сохранении пароля + No comment provided by engineer. + + + Change database passphrase? + Поменять пароль базы данных? + No comment provided by engineer. + Chat archive Архив чата @@ -346,7 +366,7 @@ Chats Чаты - back button to return to chats list + No comment provided by engineer. Choose file @@ -388,6 +408,11 @@ Подтвердить No comment provided by engineer. + + Confirm new passphrase… + Подтвердите новый пароль… + No comment provided by engineer. + Connect Соединиться @@ -528,6 +553,11 @@ Дата создания %@ No comment provided by engineer. + + Current passphrase… + Текущий пароль… + No comment provided by engineer. + Currently maximum supported file size is %@. Максимальный размер файла - %@. @@ -543,9 +573,72 @@ ID базы данных No comment provided by engineer. - - Database export & import - Экспорт и импорт архива чата + + Database encrypted! + База данных зашифрована! + No comment provided by engineer. + + + Database encryption passphrase will be updated and stored in the keychain. + + Пароль базы данных будет изменен и сохранен в Keychain. + + No comment provided by engineer. + + + Database encryption passphrase will be updated. + + Пароль базы данных будет изменен. + + No comment provided by engineer. + + + Database error + Ошибка базы данных + No comment provided by engineer. + + + Database is encrypted using a random passphrase, you can change it. + База данных зашифрована случайным паролем, вы можете его поменять. + No comment provided by engineer. + + + Database is encrypted using a random passphrase. Please change it before exporting. + База данных зашифрована случайным паролем. Пожалуйста, поменяйте его перед экспортом. + No comment provided by engineer. + + + Database passphrase + Пароль базы данных + No comment provided by engineer. + + + Database passphrase & export + Пароль и экспорт базы + No comment provided by engineer. + + + Database passphrase is different from saved in the keychain. + Пароль базы данных отличается от сохраненного в Keychain. + No comment provided by engineer. + + + Database passphrase is required to open chat. + Введите пароль базы данных чтобы открыть чат. + No comment provided by engineer. + + + Database will be encrypted and the passphrase stored in the keychain. + + База данных будет зашифрована и пароль сохранен в Keychain. + + No comment provided by engineer. + + + Database will be encrypted. + + База данных будет зашифрована. + No comment provided by engineer. @@ -743,6 +836,56 @@ Включить периодические уведомления? No comment provided by engineer. + + Encrypt + Зашифровать + No comment provided by engineer. + + + Encrypt database? + Зашифровать базу данных? + No comment provided by engineer. + + + Encrypted database + База данных зашифрована + No comment provided by engineer. + + + Encrypted message or another event + Зашифрованное сообщение или событие чата + notification + + + Encrypted message: database error + Зашифрованное сообщение: ошибка базы данных + notification + + + Encrypted message: keychain error + Зашифрованное сообщение: ошибка Keychain + notification + + + Encrypted message: no passphrase + Зашифрованное сообщение: пароль не сохранен + notification + + + Encrypted message: unexpeсted error + Зашифрованное сообщение: неожиданная ошибка + notification + + + Enter correct passphrase. + Введите правильный пароль. + No comment provided by engineer. + + + Enter passphrase… + Введите пароль… + No comment provided by engineer. + Error accessing database file Ошибка при доступе к данным чата @@ -783,6 +926,11 @@ Ошибка при включении уведомлений No comment provided by engineer. + + Error encrypting database + Ошибка при шифровании + No comment provided by engineer. + Error exporting chat database Ошибка при экспорте архива чата @@ -863,6 +1011,11 @@ Файл будет принят, когда ваш контакт будет в сети, подождите или проверьте позже! No comment provided by engineer. + + File: %@ + Файл: %@ + No comment provided by engineer. + For console Для консоли @@ -1053,6 +1206,13 @@ [SimpleX Chat для терминала](https://github.com/simplex-chat/simplex-chat) No comment provided by engineer. + + Instant push notifications will be hidden! + + Мгновенные уведомления будут спрятаны! + + No comment provided by engineer. + Instantly Мгновенно @@ -1128,6 +1288,11 @@ We will be adding server redundancy to prevent lost messages. Вступление в группу No comment provided by engineer. + + Keychain error + Ошибка Keychain + No comment provided by engineer. + Large file! Большой файл! @@ -1278,6 +1443,11 @@ We will be adding server redundancy to prevent lost messages. Новое сообщение notification + + New passphrase… + Новый пароль… + No comment provided by engineer. + No Нет @@ -1363,6 +1533,16 @@ We will be adding server redundancy to prevent lost messages. Открыть Настройки No comment provided by engineer. + + Open chat + Открыть чат + No comment provided by engineer. + + + Open chat console + Открыть консоль + authentication reason + Open-source protocol and code – anybody can run the servers. Открытый протокол и код - кто угодно может запустить сервер. @@ -1423,11 +1603,26 @@ We will be adding server redundancy to prevent lost messages. Пожалуйста, проверьте ваше соединение с сетью и попробуйте еще раз. No comment provided by engineer. + + Please enter correct current passphrase. + Пожалуйста, введите правильный пароль. + No comment provided by engineer. + Please restart the app and migrate the database to enable push notifications. Пожалуйста, перезапустите приложение и переместите данные чата, чтобы включить доставку уведомлений. No comment provided by engineer. + + Please store passphrase securely, you will NOT be able to access chat if you lose it. + Пожалуйста, надежно сохраните пароль, вы НЕ сможете открыть чат, если вы потеряете пароль. + No comment provided by engineer. + + + Please store passphrase securely, you will NOT be able to change it if you lose it. + Пожалуйста, надежно сохраните пароль, вы НЕ сможете его поменять, если потеряете. + No comment provided by engineer. + Privacy & security Конфиденциальность @@ -1518,6 +1713,11 @@ We will be adding server redundancy to prevent lost messages. Удалить члена группы? No comment provided by engineer. + + Remove passphrase from keychain? + Удалить пароль из Keychain? + No comment provided by engineer. + Reply Ответить @@ -1588,6 +1788,16 @@ We will be adding server redundancy to prevent lost messages. Сохранить профиль группы No comment provided by engineer. + + Save passphrase and open chat + Сохранить пароль и открыть чат + No comment provided by engineer. + + + Save passphrase in Keychain + Сохранить пароль в Keychain + No comment provided by engineer. + Saved SMP servers will be removed Сохраненные SMP серверы будут удалены @@ -1648,6 +1858,11 @@ We will be adding server redundancy to prevent lost messages. Имя контакта… No comment provided by engineer. + + Set passphrase to export + Установите пароль + No comment provided by engineer. + Set timeouts for proxy/VPN Установить таймауты для прокси/VPN @@ -1723,6 +1938,11 @@ We will be adding server redundancy to prevent lost messages. Остановить No comment provided by engineer. + + Stop SimpleX + Остановить SimpleX + authentication reason + Stop chat to enable database actions Остановите чат, чтобы разблокировать операции с архивом чата @@ -1940,6 +2160,16 @@ You will be prompted to complete authentication before this feature is enabled.< Неожиданная ошибка при перемещении данных чата No comment provided by engineer. + + Unknown database error: %@ + Неизвестная ошибка базы данных: %@ + No comment provided by engineer. + + + Unknown error + Неизвестная ошибка + No comment provided by engineer. + Unless your contact deleted the connection or this link was already used, it might be a bug - please report it. To connect, please ask your contact to create another connection link and check that you have a stable network connection. @@ -1957,11 +2187,21 @@ To connect, please ask your contact to create another connection link and check Уведомлять No comment provided by engineer. + + Update + Обновить + No comment provided by engineer. + Update .onion hosts setting? Обновить настройки .onion хостов? No comment provided by engineer. + + Update database passphrase + Поменять пароль + No comment provided by engineer. + Update network settings? Обновить настройки сети? @@ -2032,6 +2272,16 @@ To connect, please ask your contact to create another connection link and check Когда вы соединены с контактом инкогнито, тот же самый инкогнито профиль будет использоваться для групп с этим контактом. No comment provided by engineer. + + Wrong database passphrase + Неправильный пароль базы данных + No comment provided by engineer. + + + Wrong passphrase! + Неправильный пароль! + No comment provided by engineer. + You Вы @@ -2097,6 +2347,11 @@ To connect, please ask your contact to create another connection link and check Верификация не удалась; пожалуйста, попробуйте ещё раз. No comment provided by engineer. + + You have to enter passphrase every time the app starts - it is not stored on the device. + Пароль не сохранен на устройстве — вы будете должны ввести его при каждом запуске чата. + No comment provided by engineer. + You invited your contact Вы пригласили ваш контакт @@ -2179,7 +2434,12 @@ To connect, please ask your contact to create another connection link and check Your chat database - Данные чата + База данных + No comment provided by engineer. + + + Your chat database is not encrypted - set passphrase to encrypt it. + База данных НЕ зашифрована. Установите пароль, чтобы защитить ваши данные. No comment provided by engineer. @@ -2366,7 +2626,7 @@ SimpleX серверы не могут получить доступ к ваше соединяется (приглашение по представлению) No comment provided by engineer. - + connecting call… звонок соединяется… call status @@ -2451,6 +2711,16 @@ SimpleX серверы не могут получить доступ к ваше профиль группы обновлен snd group event chat item + + iOS Keychain is used to securely store passphrase - it allows receiving push notifications. + iOS Keychain используется для безопасного хранения пароля - это позволяет получать мгновенные уведомления. + No comment provided by engineer. + + + iOS Keychain will be used to securely store passphrase after you restart the app or change passphrase - it will allow receiving push notifications. + Пароль базы данных будет безопасно сохранен в iOS Keychain после запуска чата или изменения пароля - это позволит получать мгновенные уведомления. + No comment provided by engineer. + incognito via contact address link инкогнито через ссылку-контакт diff --git a/apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings b/apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/SimpleX NSE/en.lproj/Localizable.strings @@ -0,0 +1 @@ + diff --git a/apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/en.lproj/Localizable.strings b/apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/en.lproj/Localizable.strings index dc52cfe6f..cf485752e 100644 --- a/apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/en.lproj/Localizable.strings +++ b/apps/ios/SimpleX Localizations/ru.xcloc/Source Contents/en.lproj/Localizable.strings @@ -13,6 +13,9 @@ /* No comment provided by engineer. */ "~strike~" = "\\~strike~"; +/* call status */ +"connecting call" = "connecting call…"; + /* No comment provided by engineer. */ "Connecting server…" = "Connecting to server…"; diff --git a/apps/ios/SimpleX NSE/en.lproj/Localizable.strings b/apps/ios/SimpleX NSE/en.lproj/Localizable.strings new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/apps/ios/SimpleX NSE/en.lproj/Localizable.strings @@ -0,0 +1 @@ + diff --git a/apps/ios/SimpleX NSE/ru.lproj/Localizable.strings b/apps/ios/SimpleX NSE/ru.lproj/Localizable.strings index e08978ade..ab09b0ac2 100644 --- a/apps/ios/SimpleX NSE/ru.lproj/Localizable.strings +++ b/apps/ios/SimpleX NSE/ru.lproj/Localizable.strings @@ -38,7 +38,7 @@ "calling…" = "входящий звонок…"; /* call status */ -"connecting call…" = "звонок соединяется…"; +"connecting call" = "звонок соединяется…"; /* chat list item title */ "connecting…" = "соединяется…"; diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 46cfbb2b8..c122662af 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -253,6 +253,7 @@ 5C9C2DA82899DA6F00CC63B1 /* NetworkAndServers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkAndServers.swift; sourceTree = ""; }; 5C9CC7A828C532AB00BEF955 /* DatabaseErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseErrorView.swift; sourceTree = ""; }; 5C9CC7AC28C55D7800BEF955 /* DatabaseEncryptionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseEncryptionView.swift; sourceTree = ""; }; + 5C9CC7B128D1F8F400BEF955 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; 5C9D13A2282187BB00AB8B43 /* WebRTC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebRTC.swift; sourceTree = ""; }; 5C9FD96A27A56D4D0075386C /* JSON.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSON.swift; sourceTree = ""; }; 5C9FD96D27A5D6ED0075386C /* SendMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendMessageView.swift; sourceTree = ""; }; @@ -1026,6 +1027,7 @@ isa = PBXVariantGroup; children = ( 5CB0BA8A2826CB3A00B3292C /* ru */, + 5C9CC7B128D1F8F400BEF955 /* en */, ); name = Localizable.strings; sourceTree = ""; diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index 9f2ff52e5..f946f2139 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -1355,7 +1355,7 @@ public enum CICallStatus: String, Decodable { case .missed: return NSLocalizedString("missed call", comment: "call status") case .rejected: return NSLocalizedString("rejected call", comment: "call status") case .accepted: return NSLocalizedString("accepted call", comment: "call status") - case .negotiated: return NSLocalizedString("connecting call…", comment: "call status") + case .negotiated: return NSLocalizedString("connecting call", comment: "call status") case .progress: return NSLocalizedString("call in progress", comment: "call status") case .ended: return String.localizedStringWithFormat(NSLocalizedString("ended call %@", comment: "call status"), CICallStatus.durationText(sec)) case .error: return NSLocalizedString("call error", comment: "call status") diff --git a/apps/ios/SimpleXChat/Notifications.swift b/apps/ios/SimpleXChat/Notifications.swift index 6432b3650..74f03a1bf 100644 --- a/apps/ios/SimpleXChat/Notifications.swift +++ b/apps/ios/SimpleXChat/Notifications.swift @@ -129,7 +129,7 @@ public func createErrorNtf(_ dbStatus: DBMigrationResult) -> UNMutableNotificati case .errorKeychain: title = NSLocalizedString("Encrypted message: keychain error", comment: "notification") case .unknown: - title = NSLocalizedString("Encrypted message: unexpexted error", comment: "notification") + title = NSLocalizedString("Encrypted message: unexpeсted error", comment: "notification") case .ok: title = NSLocalizedString("Encrypted message or another event", comment: "notification") } diff --git a/apps/ios/en.lproj/Localizable.strings b/apps/ios/en.lproj/Localizable.strings index dc52cfe6f..cf485752e 100644 --- a/apps/ios/en.lproj/Localizable.strings +++ b/apps/ios/en.lproj/Localizable.strings @@ -13,6 +13,9 @@ /* No comment provided by engineer. */ "~strike~" = "\\~strike~"; +/* call status */ +"connecting call" = "connecting call…"; + /* No comment provided by engineer. */ "Connecting server…" = "Connecting to server…"; diff --git a/apps/ios/ru.lproj/Localizable.strings b/apps/ios/ru.lproj/Localizable.strings index bed8f2d34..e0fc50632 100644 --- a/apps/ios/ru.lproj/Localizable.strings +++ b/apps/ios/ru.lproj/Localizable.strings @@ -52,12 +52,18 @@ /* No comment provided by engineer. */ "**Paste received link** or open it in the browser and tap **Open in mobile app**." = "**Вставить полученную ссылку**, или откройте её в браузере и нажмите **Open in mobile app**."; +/* No comment provided by engineer. */ +"**Please note**: you will NOT be able to recover or change passphrase if you lose it." = "**Внимание**: вы не сможете восстановить или поменять пароль, если вы его потеряете."; + /* No comment provided by engineer. */ "**Recommended**: device token and notifications are sent to SimpleX Chat notification server, but not the message content, size or who it is from." = "**Рекомендовано**: токен устройства и уведомления отправляются на сервер SimpleX Chat, но сервер не получает сами сообщения, их размер или от кого они."; /* No comment provided by engineer. */ "**Scan QR code**: to connect to your contact in person or via video call." = "**Сканировать QR код**: соединиться с вашим контактом при встрече или во время видеозвонка."; +/* No comment provided by engineer. */ +"**Warning**: Instant push notifications require passphrase saved in Keychain." = "**Внимание**: для работы мгновенных уведомлений пароль должен быть сохранен в Keychain."; + /* No comment provided by engineer. */ "*bold*" = "\\*жирный*"; @@ -218,6 +224,12 @@ /* No comment provided by engineer. */ "Cancel" = "Отменить"; +/* No comment provided by engineer. */ +"Cannot access keychain to save database password" = "Ошибка доступа к Keychain при сохранении пароля"; + +/* No comment provided by engineer. */ +"Change database passphrase?" = "Поменять пароль базы данных?"; + /* No comment provided by engineer. */ "Chat archive" = "Архив чата"; @@ -275,6 +287,9 @@ /* No comment provided by engineer. */ "Confirm" = "Подтвердить"; +/* No comment provided by engineer. */ +"Confirm new passphrase…" = "Подтвердите новый пароль…"; + /* No comment provided by engineer. */ "Connect" = "Соединиться"; @@ -315,7 +330,7 @@ "connecting (introduction invitation)" = "соединяется (приглашение по представлению)"; /* call status */ -"connecting call…" = "звонок соединяется…"; +"connecting call" = "звонок соединяется…"; /* No comment provided by engineer. */ "Connecting server…" = "Устанавливается соединение с сервером…"; @@ -401,6 +416,9 @@ /* No comment provided by engineer. */ "creator" = "создатель"; +/* No comment provided by engineer. */ +"Current passphrase…" = "Текущий пароль…"; + /* No comment provided by engineer. */ "Currently maximum supported file size is %@." = "Максимальный размер файла - %@."; @@ -408,11 +426,44 @@ "Dark" = "Тёмная"; /* No comment provided by engineer. */ -"Database export & import" = "Экспорт и импорт архива чата"; +"Database encrypted!" = "База данных зашифрована!"; + +/* No comment provided by engineer. */ +"Database encryption passphrase will be updated and stored in the keychain.\n" = "Пароль базы данных будет изменен и сохранен в Keychain.\n"; + +/* No comment provided by engineer. */ +"Database encryption passphrase will be updated.\n" = "Пароль базы данных будет изменен.\n"; + +/* No comment provided by engineer. */ +"Database error" = "Ошибка базы данных"; /* No comment provided by engineer. */ "Database ID" = "ID базы данных"; +/* No comment provided by engineer. */ +"Database is encrypted using a random passphrase, you can change it." = "База данных зашифрована случайным паролем, вы можете его поменять."; + +/* No comment provided by engineer. */ +"Database is encrypted using a random passphrase. Please change it before exporting." = "База данных зашифрована случайным паролем. Пожалуйста, поменяйте его перед экспортом."; + +/* No comment provided by engineer. */ +"Database passphrase" = "Пароль базы данных"; + +/* No comment provided by engineer. */ +"Database passphrase & export" = "Пароль и экспорт базы"; + +/* No comment provided by engineer. */ +"Database passphrase is different from saved in the keychain." = "Пароль базы данных отличается от сохраненного в Keychain."; + +/* No comment provided by engineer. */ +"Database passphrase is required to open chat." = "Введите пароль базы данных чтобы открыть чат."; + +/* No comment provided by engineer. */ +"Database will be encrypted and the passphrase stored in the keychain.\n" = "База данных будет зашифрована и пароль сохранен в Keychain.\n"; + +/* No comment provided by engineer. */ +"Database will be encrypted.\n" = "База данных будет зашифрована.\n"; + /* No comment provided by engineer. */ "Database will be migrated when the app restarts" = "Данные чата будут мигрированы при перезапуске"; @@ -545,12 +596,42 @@ /* No comment provided by engineer. */ "Enable TCP keep-alive" = "Включить TCP keep-alive"; +/* No comment provided by engineer. */ +"Encrypt" = "Зашифровать"; + +/* No comment provided by engineer. */ +"Encrypt database?" = "Зашифровать базу данных?"; + +/* No comment provided by engineer. */ +"Encrypted database" = "База данных зашифрована"; + +/* notification */ +"Encrypted message or another event" = "Зашифрованное сообщение или событие чата"; + +/* notification */ +"Encrypted message: database error" = "Зашифрованное сообщение: ошибка базы данных"; + +/* notification */ +"Encrypted message: keychain error" = "Зашифрованное сообщение: ошибка Keychain"; + +/* notification */ +"Encrypted message: no passphrase" = "Зашифрованное сообщение: пароль не сохранен"; + +/* notification */ +"Encrypted message: unexpeсted error" = "Зашифрованное сообщение: неожиданная ошибка"; + /* No comment provided by engineer. */ "ended" = "завершён"; /* call status */ "ended call %@" = "завершённый звонок %@"; +/* No comment provided by engineer. */ +"Enter correct passphrase." = "Введите правильный пароль."; + +/* No comment provided by engineer. */ +"Enter passphrase…" = "Введите пароль…"; + /* No comment provided by engineer. */ "error" = "ошибка"; @@ -578,6 +659,9 @@ /* No comment provided by engineer. */ "Error enabling notifications" = "Ошибка при включении уведомлений"; +/* No comment provided by engineer. */ +"Error encrypting database" = "Ошибка при шифровании"; + /* No comment provided by engineer. */ "Error exporting chat database" = "Ошибка при экспорте архива чата"; @@ -626,6 +710,9 @@ /* No comment provided by engineer. */ "File will be received when your contact is online, please wait or check later!" = "Файл будет принят, когда ваш контакт будет в сети, подождите или проверьте позже!"; +/* No comment provided by engineer. */ +"File: %@" = "Файл: %@"; + /* No comment provided by engineer. */ "For console" = "Для консоли"; @@ -755,6 +842,9 @@ /* No comment provided by engineer. */ "Install [SimpleX Chat for terminal](https://github.com/simplex-chat/simplex-chat)" = "[SimpleX Chat для терминала](https://github.com/simplex-chat/simplex-chat)"; +/* No comment provided by engineer. */ +"Instant push notifications will be hidden!\n" = "Мгновенные уведомления будут спрятаны!\n"; + /* No comment provided by engineer. */ "Instantly" = "Мгновенно"; @@ -782,6 +872,12 @@ /* chat list item title */ "invited to connect" = "приглашение"; +/* No comment provided by engineer. */ +"iOS Keychain is used to securely store passphrase - it allows receiving push notifications." = "iOS Keychain используется для безопасного хранения пароля - это позволяет получать мгновенные уведомления."; + +/* No comment provided by engineer. */ +"iOS Keychain will be used to securely store passphrase after you restart the app or change passphrase - it will allow receiving push notifications." = "Пароль базы данных будет безопасно сохранен в iOS Keychain после запуска чата или изменения пароля - это позволит получать мгновенные уведомления."; + /* No comment provided by engineer. */ "It allows having many anonymous connections without any shared data between them in a single chat profile." = "Это позволяет иметь много анонимных соединений без общих данных между ними в одном профиле пользователя."; @@ -812,6 +908,9 @@ /* No comment provided by engineer. */ "Joining group" = "Вступление в группу"; +/* No comment provided by engineer. */ +"Keychain error" = "Ошибка Keychain"; + /* No comment provided by engineer. */ "Large file!" = "Большой файл!"; @@ -920,6 +1019,9 @@ /* notification */ "New message" = "Новое сообщение"; +/* No comment provided by engineer. */ +"New passphrase…" = "Новый пароль…"; + /* No comment provided by engineer. */ "No" = "Нет"; @@ -971,6 +1073,12 @@ /* No comment provided by engineer. */ "Only client devices store user profiles, contacts, groups, and messages sent with **2-layer end-to-end encryption**." = "Только пользовательские устройства хранят контакты, группы и сообщения, которые отправляются **с двухуровневым end-to-end шифрованием**"; +/* No comment provided by engineer. */ +"Open chat" = "Открыть чат"; + +/* authentication reason */ +"Open chat console" = "Открыть консоль"; + /* No comment provided by engineer. */ "Open Settings" = "Открыть Настройки"; @@ -1019,9 +1127,18 @@ /* No comment provided by engineer. */ "Please check your network connection and try again." = "Пожалуйста, проверьте ваше соединение с сетью и попробуйте еще раз."; +/* No comment provided by engineer. */ +"Please enter correct current passphrase." = "Пожалуйста, введите правильный пароль."; + /* No comment provided by engineer. */ "Please restart the app and migrate the database to enable push notifications." = "Пожалуйста, перезапустите приложение и переместите данные чата, чтобы включить доставку уведомлений."; +/* No comment provided by engineer. */ +"Please store passphrase securely, you will NOT be able to access chat if you lose it." = "Пожалуйста, надежно сохраните пароль, вы НЕ сможете открыть чат, если вы потеряете пароль."; + +/* No comment provided by engineer. */ +"Please store passphrase securely, you will NOT be able to change it if you lose it." = "Пожалуйста, надежно сохраните пароль, вы НЕ сможете его поменять, если потеряете."; + /* No comment provided by engineer. */ "Privacy & security" = "Конфиденциальность"; @@ -1085,6 +1202,9 @@ /* No comment provided by engineer. */ "Remove member?" = "Удалить члена группы?"; +/* No comment provided by engineer. */ +"Remove passphrase from keychain?" = "Удалить пароль из Keychain?"; + /* No comment provided by engineer. */ "removed" = "удален(а)"; @@ -1130,6 +1250,12 @@ /* No comment provided by engineer. */ "Save group profile" = "Сохранить профиль группы"; +/* No comment provided by engineer. */ +"Save passphrase and open chat" = "Сохранить пароль и открыть чат"; + +/* No comment provided by engineer. */ +"Save passphrase in Keychain" = "Сохранить пароль в Keychain"; + /* No comment provided by engineer. */ "Saved SMP servers will be removed" = "Сохраненные SMP серверы будут удалены"; @@ -1172,6 +1298,9 @@ /* No comment provided by engineer. */ "Set contact name…" = "Имя контакта…"; +/* No comment provided by engineer. */ +"Set passphrase to export" = "Установите пароль"; + /* No comment provided by engineer. */ "Set timeouts for proxy/VPN" = "Установить таймауты для прокси/VPN"; @@ -1235,6 +1364,9 @@ /* No comment provided by engineer. */ "Stop chat?" = "Остановить чат?"; +/* authentication reason */ +"Stop SimpleX" = "Остановить SimpleX"; + /* No comment provided by engineer. */ "strike" = "зачеркнуть"; @@ -1364,6 +1496,12 @@ /* connection info */ "unknown" = "неизвестно"; +/* No comment provided by engineer. */ +"Unknown database error: %@" = "Неизвестная ошибка базы данных: %@"; + +/* No comment provided by engineer. */ +"Unknown error" = "Неизвестная ошибка"; + /* No comment provided by engineer. */ "Unless your contact deleted the connection or this link was already used, it might be a bug - please report it.\nTo connect, please ask your contact to create another connection link and check that you have a stable network connection." = "Возможно, ваш контакт удалил ссылку, или она уже была использована. Если это не так, то это может быть ошибкой - пожалуйста, сообщите нам об этом.\nЧтобы установить соединение, попросите ваш контакт создать еще одну ссылку и проверьте ваше соединение с сетью."; @@ -1373,9 +1511,15 @@ /* No comment provided by engineer. */ "Unmute" = "Уведомлять"; +/* No comment provided by engineer. */ +"Update" = "Обновить"; + /* No comment provided by engineer. */ "Update .onion hosts setting?" = "Обновить настройки .onion хостов?"; +/* No comment provided by engineer. */ +"Update database passphrase" = "Поменять пароль"; + /* No comment provided by engineer. */ "Update network settings?" = "Обновить настройки сети?"; @@ -1445,6 +1589,12 @@ /* No comment provided by engineer. */ "When you share an incognito profile with somebody, this profile will be used for the groups they invite you to." = "Когда вы соединены с контактом инкогнито, тот же самый инкогнито профиль будет использоваться для групп с этим контактом."; +/* No comment provided by engineer. */ +"Wrong database passphrase" = "Неправильный пароль базы данных"; + +/* No comment provided by engineer. */ +"Wrong passphrase!" = "Неправильный пароль!"; + /* No comment provided by engineer. */ "You" = "Вы"; @@ -1487,6 +1637,9 @@ /* No comment provided by engineer. */ "You could not be verified; please try again." = "Верификация не удалась; пожалуйста, попробуйте ещё раз."; +/* No comment provided by engineer. */ +"You have to enter passphrase every time the app starts - it is not stored on the device." = "Пароль не сохранен на устройстве — вы будете должны ввести его при каждом запуске чата."; + /* No comment provided by engineer. */ "You invited your contact" = "Вы пригласили ваш контакт"; @@ -1545,7 +1698,10 @@ "Your chat address" = "Ваш SimpleX адрес"; /* No comment provided by engineer. */ -"Your chat database" = "Данные чата"; +"Your chat database" = "База данных"; + +/* No comment provided by engineer. */ +"Your chat database is not encrypted - set passphrase to encrypt it." = "База данных НЕ зашифрована. Установите пароль, чтобы защитить ваши данные."; /* No comment provided by engineer. */ "Your chat profile" = "Ваш профиль";