From 44b77f0a90251332394fd38a8fd16f3d013b00f3 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Fri, 5 Nov 2021 13:45:50 -0700 Subject: [PATCH 1/4] libcwtch go bump (fix create server on mac), copy keys text fix --- LIBCWTCH-GO-MACOS.version | 2 +- LIBCWTCH-GO.version | 2 +- lib/l10n/intl_de.arb | 3 ++- lib/l10n/intl_en.arb | 3 ++- lib/l10n/intl_es.arb | 3 ++- lib/l10n/intl_fr.arb | 11 ++++++----- lib/l10n/intl_it.arb | 3 ++- lib/l10n/intl_pl.arb | 3 ++- lib/l10n/intl_pt.arb | 3 ++- lib/widgets/serverrow.dart | 2 +- 10 files changed, 21 insertions(+), 14 deletions(-) diff --git a/LIBCWTCH-GO-MACOS.version b/LIBCWTCH-GO-MACOS.version index 66faa096..1a2c6b98 100644 --- a/LIBCWTCH-GO-MACOS.version +++ b/LIBCWTCH-GO-MACOS.version @@ -1 +1 @@ -2021-11-05-01-22-v1.4.0 \ No newline at end of file +2021-11-05-16-35-v1.4.0-4-g86c5a51 \ No newline at end of file diff --git a/LIBCWTCH-GO.version b/LIBCWTCH-GO.version index 7d0e34d1..aeff4d62 100644 --- a/LIBCWTCH-GO.version +++ b/LIBCWTCH-GO.version @@ -1 +1 @@ -2021-11-05-05-23-v1.4.0 \ No newline at end of file +2021-11-05-20-35-v1.4.0-4-g86c5a51 \ No newline at end of file diff --git a/lib/l10n/intl_de.arb b/lib/l10n/intl_de.arb index b3faa019..8d43326e 100644 --- a/lib/l10n/intl_de.arb +++ b/lib/l10n/intl_de.arb @@ -1,6 +1,7 @@ { "@@locale": "de", - "@@last_modified": "2021-11-04T23:42:54+01:00", + "@@last_modified": "2021-11-05T21:38:20+01:00", + "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", "fileInterrupted": "Interrupted", diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 7fb454e1..8db70b2e 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1,6 +1,7 @@ { "@@locale": "en", - "@@last_modified": "2021-11-04T23:42:54+01:00", + "@@last_modified": "2021-11-05T21:38:20+01:00", + "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", "fileInterrupted": "Interrupted", diff --git a/lib/l10n/intl_es.arb b/lib/l10n/intl_es.arb index 9ec6ad47..413a12c6 100644 --- a/lib/l10n/intl_es.arb +++ b/lib/l10n/intl_es.arb @@ -1,6 +1,7 @@ { "@@locale": "es", - "@@last_modified": "2021-11-04T23:42:54+01:00", + "@@last_modified": "2021-11-05T21:38:20+01:00", + "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", "fileInterrupted": "Interrupted", diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 6ad148e0..85154efb 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -1,10 +1,11 @@ { "@@locale": "fr", - "@@last_modified": "2021-11-04T23:42:54+01:00", - "verfiyResumeButton": "Verify\/resume", - "fileCheckingStatus": "Checking download status", - "fileInterrupted": "Interrupted", - "fileSavedTo": "Saved to", + "@@last_modified": "2021-11-05T21:38:20+01:00", + "copyServerKeys": "Copy keys", + "verfiyResumeButton": "Vérifier\/reprendre", + "fileCheckingStatus": "Vérification de l'état du téléchargement", + "fileInterrupted": "Interrompu", + "fileSavedTo": "Enregistré dans", "plainServerDescription": "Nous vous recommandons de protéger vos serveurs Cwtch par un mot de passe. Si vous ne définissez pas de mot de passe sur ce serveur, toute personne ayant accès à cet appareil peut être en mesure d'accéder aux informations concernant ce serveur, y compris les clés cryptographiques sensibles.", "encryptedServerDescription": "Le chiffrement d’un serveur avec un mot de passe le protège des autres personnes qui peuvent également utiliser cet appareil. Les serveurs cryptés ne peuvent pas être déchiffrés, affichés ou accessibles tant que le mot de passe correct n’est pas entré pour les déverrouiller.", "deleteServerConfirmBtn": "Supprimer vraiment le serveur", diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index 25727fc8..2ad4b024 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -1,6 +1,7 @@ { "@@locale": "it", - "@@last_modified": "2021-11-04T23:42:54+01:00", + "@@last_modified": "2021-11-05T21:38:20+01:00", + "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", "fileInterrupted": "Interrupted", diff --git a/lib/l10n/intl_pl.arb b/lib/l10n/intl_pl.arb index deaffbb6..e79afa90 100644 --- a/lib/l10n/intl_pl.arb +++ b/lib/l10n/intl_pl.arb @@ -1,6 +1,7 @@ { "@@locale": "pl", - "@@last_modified": "2021-11-04T23:42:54+01:00", + "@@last_modified": "2021-11-05T21:38:20+01:00", + "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", "fileInterrupted": "Interrupted", diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index ed0b132d..e17409f6 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -1,6 +1,7 @@ { "@@locale": "pt", - "@@last_modified": "2021-11-04T23:42:54+01:00", + "@@last_modified": "2021-11-05T21:38:20+01:00", + "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", "fileInterrupted": "Interrupted", diff --git a/lib/widgets/serverrow.dart b/lib/widgets/serverrow.dart index 8da87c65..574d7c7e 100644 --- a/lib/widgets/serverrow.dart +++ b/lib/widgets/serverrow.dart @@ -59,7 +59,7 @@ class _ServerRowState extends State { // Copy server button IconButton( enableFeedback: true, - tooltip: AppLocalizations.of(context)!.copyAddress, + tooltip: AppLocalizations.of(context)!.copyServerKeys, icon: Icon(CwtchIcons.address_copy_2, color: Provider.of(context).current().mainTextColor()), onPressed: () { Clipboard.setData(new ClipboardData(text: server.serverBundle)); From d3da68272b09f1f80db9831bfb65ab5506c2082f Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Fri, 5 Nov 2021 17:23:45 -0700 Subject: [PATCH 2/4] libcwtch go bump (fix join on add serverer); swap deploy folder name parts date/ver --- .drone.yml | 6 +++--- LIBCWTCH-GO-MACOS.version | 2 +- LIBCWTCH-GO.version | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index 0f9b5ce7..70b5c84e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -117,7 +117,7 @@ steps: - echo $BUILDFILES_KEY > ~/id_rsab64 - base64 -d ~/id_rsab64 > ~/id_rsa - chmod 400 ~/id_rsa - - export DIR=flwtch-`cat VERSION`-`cat BUILDDATE` + - export DIR=flwtch-`cat BUILDDATE`-`cat VERSION` - mv deploy $DIR - cp -r coverage/html $DIR/coverage-tests - cp -r test/failures $DIR/test-failures || true @@ -237,7 +237,7 @@ steps: - $Env:zipsha = $Env:zip + '.sha512' - $Env:msix = 'cwtch-install-' + $Env:version + '.msix' - $Env:msixsha = $Env:msix + '.sha512' - - $Env:buildname = 'flwtch-win-' + $Env:version + '-' + $Env:builddate + - $Env:buildname = 'flwtch-win-' + $Env:builddate + '-' + $Env:version - $Env:builddir = $Env:buildname - echo $Env:pfx > codesign.pfx.b64 - certutil -decode codesign.pfx.b64 codesign.pfx @@ -344,7 +344,7 @@ steps: - echo $BUILDFILES_KEY > ~/id_rsab64 - base64 -d ~/id_rsab64 > ~/id_rsa - chmod 400 ~/id_rsa - - export DIR=flwtch-macos-`cat VERSION`-`cat BUILDDATE` + - export DIR=flwtch-macos-`cat BUILDDATE`-`cat VERSION` - mv deploy $DIR - cd $DIR - find . -type f -exec shasum -a 512 {} \; > ./../sha512s.txt diff --git a/LIBCWTCH-GO-MACOS.version b/LIBCWTCH-GO-MACOS.version index 1a2c6b98..c7494de8 100644 --- a/LIBCWTCH-GO-MACOS.version +++ b/LIBCWTCH-GO-MACOS.version @@ -1 +1 @@ -2021-11-05-16-35-v1.4.0-4-g86c5a51 \ No newline at end of file +2021-11-05-20-13-v1.4.1 \ No newline at end of file diff --git a/LIBCWTCH-GO.version b/LIBCWTCH-GO.version index aeff4d62..4260781a 100644 --- a/LIBCWTCH-GO.version +++ b/LIBCWTCH-GO.version @@ -1 +1 @@ -2021-11-05-20-35-v1.4.0-4-g86c5a51 \ No newline at end of file +2021-11-06-00-13-v1.4.1 \ No newline at end of file From ff28f3747127c99388e0509ddf3201e9b206abb1 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Tue, 9 Nov 2021 15:36:46 -0800 Subject: [PATCH 3/4] libcwtch version bump (fix windows servers crash) --- LIBCWTCH-GO-MACOS.version | 2 +- LIBCWTCH-GO.version | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LIBCWTCH-GO-MACOS.version b/LIBCWTCH-GO-MACOS.version index c7494de8..462defe0 100644 --- a/LIBCWTCH-GO-MACOS.version +++ b/LIBCWTCH-GO-MACOS.version @@ -1 +1 @@ -2021-11-05-20-13-v1.4.1 \ No newline at end of file +2021-11-09-18-25-v1.4.2 \ No newline at end of file diff --git a/LIBCWTCH-GO.version b/LIBCWTCH-GO.version index 4260781a..9246eb36 100644 --- a/LIBCWTCH-GO.version +++ b/LIBCWTCH-GO.version @@ -1 +1 @@ -2021-11-06-00-13-v1.4.1 \ No newline at end of file +2021-11-09-23-25-v1.4.2 \ No newline at end of file From d0770b4bd847bb32de3e0618328f17a383113c40 Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Wed, 10 Nov 2021 09:55:51 -0800 Subject: [PATCH 4/4] Russian Localization --- lib/l10n/intl_de.arb | 3 +- lib/l10n/intl_en.arb | 3 +- lib/l10n/intl_es.arb | 3 +- lib/l10n/intl_fr.arb | 5 +- lib/l10n/intl_it.arb | 3 +- lib/l10n/intl_pl.arb | 19 +-- lib/l10n/intl_pt.arb | 3 +- lib/l10n/intl_ru.arb | 254 ++++++++++++++++++++++++++++++ lib/views/globalsettingsview.dart | 3 + 9 files changed, 280 insertions(+), 16 deletions(-) create mode 100644 lib/l10n/intl_ru.arb diff --git a/lib/l10n/intl_de.arb b/lib/l10n/intl_de.arb index 8d43326e..2d088390 100644 --- a/lib/l10n/intl_de.arb +++ b/lib/l10n/intl_de.arb @@ -1,6 +1,7 @@ { "@@locale": "de", - "@@last_modified": "2021-11-05T21:38:20+01:00", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 8db70b2e..e085360a 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1,6 +1,7 @@ { "@@locale": "en", - "@@last_modified": "2021-11-05T21:38:20+01:00", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", diff --git a/lib/l10n/intl_es.arb b/lib/l10n/intl_es.arb index 413a12c6..69515e76 100644 --- a/lib/l10n/intl_es.arb +++ b/lib/l10n/intl_es.arb @@ -1,6 +1,7 @@ { "@@locale": "es", - "@@last_modified": "2021-11-05T21:38:20+01:00", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 85154efb..2df7d849 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -1,7 +1,8 @@ { "@@locale": "fr", - "@@last_modified": "2021-11-05T21:38:20+01:00", - "copyServerKeys": "Copy keys", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", + "copyServerKeys": "Copier les clés", "verfiyResumeButton": "Vérifier\/reprendre", "fileCheckingStatus": "Vérification de l'état du téléchargement", "fileInterrupted": "Interrompu", diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index 2ad4b024..4722cfa9 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -1,6 +1,7 @@ { "@@locale": "it", - "@@last_modified": "2021-11-05T21:38:20+01:00", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", diff --git a/lib/l10n/intl_pl.arb b/lib/l10n/intl_pl.arb index e79afa90..576b41db 100644 --- a/lib/l10n/intl_pl.arb +++ b/lib/l10n/intl_pl.arb @@ -1,17 +1,18 @@ { "@@locale": "pl", - "@@last_modified": "2021-11-05T21:38:20+01:00", - "copyServerKeys": "Copy keys", - "verfiyResumeButton": "Verify\/resume", - "fileCheckingStatus": "Checking download status", - "fileInterrupted": "Interrupted", - "fileSavedTo": "Saved to", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", + "copyServerKeys": "Kopiuj klucze", + "verfiyResumeButton": "Zweryfikuj\/wznów", + "fileCheckingStatus": "Sprawdzanie stanu pobierania", + "fileInterrupted": "Przerwane", + "fileSavedTo": "Zapisano do", "plainServerDescription": "We recommend that you protect your Cwtch servers with a password. If you do not set a password on this server then anyone who has access to this device may be able to access information about this server, including sensitive cryptographic keys.", "encryptedServerDescription": "Encrypting a server with a password protects it from other people who may also use this device. Encrypted servers cannot be decrypted, displayed or accessed until the correct password is entered to unlock them.", - "deleteServerConfirmBtn": "Really delete server", - "deleteServerSuccess": "Successfully deleted server", + "deleteServerConfirmBtn": "Naprawdę usuń serwer", + "deleteServerSuccess": "Pomyślnie usunięto serwer", "enterCurrentPasswordForDeleteServer": "Please enter current password to delete this server", - "copyAddress": "Copy Address", + "copyAddress": "Skopiuj adres", "settingServersDescription": "The hosting servers experiment enables hosting and managing Cwtch servers", "settingServers": "Hosting Servers", "enterServerPassword": "Enter password to unlock server", diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index e17409f6..169bdd72 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -1,6 +1,7 @@ { "@@locale": "pt", - "@@last_modified": "2021-11-05T21:38:20+01:00", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", "copyServerKeys": "Copy keys", "verfiyResumeButton": "Verify\/resume", "fileCheckingStatus": "Checking download status", diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb new file mode 100644 index 00000000..66419265 --- /dev/null +++ b/lib/l10n/intl_ru.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "ru", + "@@last_modified": "2021-11-10T18:47:30+01:00", + "localeRU": "Russian", + "copyServerKeys": "Копировать ключи", + "verfiyResumeButton": "Проверить\/продолжить", + "fileCheckingStatus": "Проверка статуса загрузки", + "fileInterrupted": "Прервано", + "fileSavedTo": "Сохранить в", + "plainServerDescription": "Мы настоятельно рекомендуем защитить свой сервер Cwtch паролем. Если Вы этого не сделаете, то любой у кого окажется доступ к серверу, сможет получить доступ к информации на этом сервере включая конфиденциальные криптографические ключи.", + "encryptedServerDescription": "Шифрование сервера паролем защитит его от других людей у которых может оказаться доступ к этому устройству, включая Onion адрес сервера. Зашифрованный сервер нельзя расшифровать, пока не будет введен правильный пароль разблокировки.", + "deleteServerConfirmBtn": "Точно удалить сервер?", + "deleteServerSuccess": "Сервер успешно удален", + "enterCurrentPasswordForDeleteServer": "Пожалуйста, введите пароль сервера, чтобы удалить его", + "copyAddress": "Копировать адрес", + "settingServersDescription": "Экспериментальная функция которая позволяет добавлять сервер Cwtch. В меню появится дополнительная опция Серверы", + "settingServers": "Использовать серверы", + "enterServerPassword": "Введите пароль для разблокировки сервера", + "unlockProfileTip": "Создайте или разблокируйте профиль, чтобы начать", + "unlockServerTip": "Создайте или разблокируйте сервер, чтобы начать", + "addServerTooltip": "Добавить сервер", + "serversManagerTitleShort": "Серверы", + "serversManagerTitleLong": "Личные серверы", + "saveServerButton": "Сохранить сервер", + "serverAutostartDescription": "Автозапуск сервера при старте программы", + "serverAutostartLabel": "Автозапуск", + "serverEnabledDescription": "Запустить или остановить сервер", + "serverEnabled": "Сервер запущен", + "serverDescriptionDescription": "Описание видите только Вы. Сделано для удобства", + "serverDescriptionLabel": "Описание сервера", + "serverAddress": "Адрес сервера", + "editServerTitle": "Изменить сервер", + "addServerTitle": "Добавить сервер", + "titleManageProfilesShort": "Профили", + "descriptionStreamerMode": "При включении этого параметра, внешний вид некоторых элементов становится более приватным, скрывая длинные Onion адреса и адреса контактов, оставляя только заданные имена", + "descriptionFileSharing": "Данная функция позволяет обмениваться файлами напрямую с контактами и группами в Cwtch. Отправляемый файл будет напрямую скачиваться с вашего устройства через Cwtch.", + "settingFileSharing": "Передача файлов", + "tooltipSendFile": "Отправить файл", + "messageFileOffered": "Контакт предлагает загрузить вам файл", + "messageFileSent": "Вы отправили файл", + "messageEnableFileSharing": "Включите экспериментальную функцию Обмен файлами чтобы просмотреть это сообщение.", + "labelFilesize": "Размер", + "labelFilename": "Имя-файла", + "downloadFileButton": "Загрузить", + "openFolderButton": "Открыть папку", + "retrievingManifestMessage": "Получение информации о файле...", + "streamerModeLabel": "Режим презентации", + "archiveConversation": "Отправить чат в архив", + "profileOnionLabel": "Send this address to contacts you want to connect with", + "addPeerTab": "Добавить контакт", + "addPeer": "Добавить контакт", + "peerNotOnline": "Контакт не в сети. Вы не можете связаться с ним пока он не появиться в сети.", + "peerBlockedMessage": "Контакт заблокирован", + "peerOfflineMessage": "Контакт не в сети, сообщения не могут быть отправлены", + "blockBtn": "Заблокировать контакт", + "savePeerHistory": "Хранить исторую", + "savePeerHistoryDescription": "Определяет политуку хранения или удаления переписки с данным контактом.", + "dontSavePeerHistory": "Удалить историю", + "unblockBtn": "Разблокировать контакт", + "blockUnknownLabel": "Блокировать неизвестные контакты", + "blockUnknownConnectionsEnabledDescription": "Соединения от неизвестных контактов блокируются. Данный параметр можно изменить в настройках", + "networkStatusConnecting": "Подключение к сети и контактам...", + "showMessageButton": "Показать сообщения", + "blockedMessageMessage": "Это сообщение из заблокированного вами профиля.", + "placeholderEnterMessage": "Написать сообщение...", + "plainProfileDescription": "Мы рекомендуем защитить свой ПРОФИЛЬ Cwtch паролем. Если Вы этого не сделаете, то любой у кого окажется доступ к устройству, сможет получить доступ к информации об этом профиле, включая контакты, сообщения и конфиденциальные криптографические ключи.", + "encryptedProfileDescription": "Шифрование ПРОФИЛЯ паролем защитит его от других людей у которых может оказаться доступ к этому устройству. Зашифрованный ПРОФИЛЬ нельзя расшифровать, пока не будет введен правильный пароль разблокировки.", + "addContactConfirm": "Добавить контакт %1", + "addContact": "Добавить контакт", + "contactGoto": "Перейти к сообщению от %1", + "settingUIColumnOptionSame": "Как в настройках портретного режима", + "settingUIColumnDouble14Ratio": "Двойной (1:4)", + "settingUIColumnDouble12Ratio": "Двойной (1:2)", + "settingUIColumnSingle": "Одиночный", + "settingUIColumnLandscape": "UI столбцы в Ландшафтном Режиме", + "settingUIColumnPortrait": "UI столбцы в Портретном режиме", + "localePl": "Польский", + "tooltipRemoveThisQuotedMessage": "Удалить цитируемое сообщение.", + "tooltipReplyToThisMessage": "Ответить на это сообщение", + "tooltipRejectContactRequest": "Отклонить запрос в контакты.", + "tooltipAcceptContactRequest": "Принять запрос в контакты.", + "notificationNewMessageFromGroup": "Новое сообщение в группе!", + "notificationNewMessageFromPeer": "Новое сообщение от контакта!", + "tooltipHidePassword": "Скрыть пароль", + "tooltipShowPassword": "Показать пароль", + "serverNotSynced": "Синхронизация новых сообщений (это может занять некоторое время)...", + "groupInviteSettingsWarning": "Вас пригласили присоединиться к группе! Пожалуйста, включите экспериментальную функцию групповые чаты в Настройках, чтобы просмотреть это приглашение.", + "shutdownCwtchAction": "Выключить Cwtch", + "shutdownCwtchDialog": "Вы уверены, что хотите выключить Cwtch? Это приведет к закрытию всех подключений и выходу из приложения.", + "shutdownCwtchDialogTitle": "Выключить Cwtch?", + "shutdownCwtchTooltip": "Выключить Cwtch", + "malformedMessage": "Некорректное сообщение", + "profileDeleteSuccess": "Профиль успешно удален", + "debugLog": "Влючить отладку через консоль", + "torNetworkStatus": "Статус сети Tor", + "addContactFirst": "Добавьте или выберите контакт, чтобы начать чат.", + "createProfileToBegin": "Пожалуйста, создайте или разблокируйте профиль, чтобы начать", + "nickChangeSuccess": "Имя профиля успешно изменено", + "addServerFirst": "Перед созданием группы, необходимо создать сервер", + "deleteProfileSuccess": "Профиль успешно удален", + "sendInvite": "Отправить контакт или приглашение в группу", + "sendMessage": "Отправить сообщение", + "cancel": "Отмена", + "resetTor": "Сбросс", + "torStatus": "Статус Tor", + "torVersion": "Версия Tor", + "sendAnInvitation": "Вы отправили приглашение для: ", + "contactSuggestion": "Вам предложили этот контакт: ", + "rejected": "Отклонить!", + "accepted": "Принять!", + "chatHistoryDefault": "Этот чат будет удален после закрытия Cwtch! Историю сообщений можно включить для каждого чата отдельно через меню настроек в правом верхнем углу..", + "newPassword": "Новый пароль", + "yesLeave": "Да, оставить этот чат", + "reallyLeaveThisGroupPrompt": "Вы уверены, что хотите закончить этот разговор? Все сообщения будут удалены.", + "leaveGroup": "Да, оставить этот чат", + "inviteToGroup": "Вас пригласили присоединиться к группе:", + "pasteAddressToAddContact": "Вставьте адрес cwtch, приглашение или пакет ключей здесь, чтобы добавить их в контакты", + "tooltipAddContact": "Добавление нового контакта или разговора", + "titleManageContacts": "Разговоры", + "titleManageServers": "Управление серверами", + "dateNever": "Никогда", + "dateLastYear": "Прошлый год", + "dateYesterday": "Вчера", + "dateLastMonth": "Прошлый месяц", + "dateRightNow": "Прямо сейчас", + "successfullAddedContact": "Успешно добавлен", + "descriptionBlockUnknownConnections": "Если включить этот параметр, все соединения от людей не состоящих в ваших контактах будут отклонены.", + "descriptionExperimentsGroups": "Данная экспериментальная функция позволяет Cwtch подключаться к недоверенной серверной инфраструктуре, чтобы облегчить Вам общение с более чем одним контактом.", + "descriptionExperiments": "Экспериментальные функции Cwtch это необязательные дополнительные функции, которые добавляют некоторые возможности, но не имеют такой же устойчивости к метаданным как если бы вы общались через традиционный част 1 на 1..", + "titleManageProfiles": "Управление профилями Cwtch", + "tooltipUnlockProfiles": "Разблокировать зашифрованные профили, введя их пароль.", + "tooltipOpenSettings": "Откройте панель настроек", + "invalidImportString": "Недействительная строка импорта", + "contactAlreadyExists": "Контакт уже существует", + "conversationSettings": "Настройки чата", + "enterCurrentPasswordForDelete": "Пожалуйста, введите текущий пароль, чтобы удалить этот профиль.", + "enableGroups": "Включить Групповые чаты", + "experimentsEnabled": "Включить Экспериментальные функции", + "localeIt": "Итальянский", + "localeEs": "Испанский", + "addListItem": "Добавить новый элемент", + "addNewItem": "Добавить новый элемент в список", + "todoPlaceholder": "Выполняю...", + "newConnectionPaneTitle": "Новое соединение", + "networkStatusOnline": "Online", + "networkStatusAttemptingTor": "Попытка подключиться к сети Tor", + "networkStatusDisconnected": "Нет сети. Проверьте подключение к интернету", + "viewGroupMembershipTooltip": "Просмотр членства в группе", + "loadingTor": "Загрузка Tor...", + "smallTextLabel": "Маленький", + "defaultScalingText": "Размер текста по умолчанию (коэффициент масштабирования:", + "builddate": "Построен на: %2", + "version": "Версия %1", + "versionTor": "Версия %1 c tor %2", + "themeDark": "Темная", + "themeLight": "Светлая", + "settingTheme": "Тема", + "largeTextLabel": "Большой", + "settingInterfaceZoom": "Уровень масштабирования", + "localeDe": "Немецкий", + "localePt": "Португальский", + "localeFr": "Французский", + "localeEn": "Английский", + "settingLanguage": "Язык", + "zoomLabel": "Масштаб интерфейса (в основном влияет на размеры текста и кнопок)", + "versionBuilddate": "Версия: %1 Сборка от: %2", + "cwtchSettingsTitle": "Настройки Cwtch", + "unlock": "Разблокировать", + "yourServers": "Ваши Серверы", + "yourProfiles": "Ваши Профили", + "error0ProfilesLoadedForPassword": "0 профилей, загруженных с этим паролем", + "password": "Пароль", + "enterProfilePassword": "Введите пароль для просмотра ваших профилей", + "addNewProfileBtn": "Добавить новый профиль", + "deleteConfirmText": "УДАЛИТЬ", + "deleteProfileConfirmBtn": "Действительно удалить профиль?", + "deleteConfirmLabel": "Введите DELETE чтобы продолжить", + "deleteProfileBtn": "Удалить профиль", + "passwordChangeError": "Ошибка при смене пароля: Введенный пароль отклонен", + "passwordErrorMatch": "Пароли не совпадают", + "saveProfileBtn": "Сохранить профиль", + "createProfileBtn": "Создать профиль", + "passwordErrorEmpty": "Пароль не может быть пустым", + "password2Label": "Повторный ввод пароля", + "password1Label": "Пароль", + "currentPasswordLabel": "Текущий пароль", + "yourDisplayName": "Отображаемое имя", + "noPasswordWarning": "Отсутствие пароля в этой учетной записи означает, что все данные, хранящиеся локально, не будут зашифрованы", + "radioNoPassword": "Незашифрованный (без пароля)", + "radioUsePassword": "Пароль", + "copiedToClipboardNotification": "Copied to Clipboard", + "copyBtn": "Copy", + "editProfile": "Изменить профиль", + "newProfile": "Новый профиль", + "defaultProfileName": "Alice", + "profileName": "Отображаемое имя", + "editProfileTitle": "Изменить профиль", + "addProfileTitle": "Добавить новый профиль", + "deleteBtn": "Delete", + "saveBtn": "Save", + "displayNameLabel": "Отображаемое имя", + "addressLabel": "Адрес", + "puzzleGameBtn": "Puzzle Game", + "bulletinsBtn": "Bulletins", + "listsBtn": "Списки", + "chatBtn": "Чат", + "rejectGroupBtn": "Отклонить", + "acceptGroupBtn": "Принять", + "acceptGroupInviteLabel": "Хотите принять приглашение в", + "newGroupBtn": "Создать новую группу", + "copiedClipboardNotification": "Скопировано в буфер обмена", + "pendingLabel": "Ожидаемый", + "acknowledgedLabel": "Отправлено", + "couldNotSendMsgError": "Не удалось отправить это сообщение", + "dmTooltip": "Нажмите, чтобы перейти в DM", + "membershipDescription": "Ниже приведен список пользователей, отправивших сообщения группе. Этот список может не отражать всех пользователей, имеющих доступ к группе.", + "addListItemBtn": "Добавить элемент", + "searchList": "Список поиска", + "update": "Обновить", + "inviteBtn": "Пригласить", + "inviteToGroupLabel": "Пригласить в группу", + "groupNameLabel": "Group name", + "viewServerInfo": "Информация о сервере", + "serverSynced": "Синхронизировано", + "serverConnectivityDisconnected": "Сервер отключен", + "serverConnectivityConnected": "Сервер подключен", + "serverInfo": "Информация о сервере", + "invitationLabel": "Приглашение", + "serverLabel": "Server", + "search": "Поиск...", + "cycleColoursDesktop": "Нажмите, чтобы переключать цвета.\nПравый клик чтобы сбросить.", + "cycleColoursAndroid": "Нажмите, чтобы переключать цвета.\nНажмите и удерживайте, чтобы сбросить.", + "cycleMorphsDesktop": "Нажмите, чтобы просмотреть формы.\nПравый клик чтобы сбросить.", + "cycleMorphsAndroid": "Нажмите, чтобы просмотреть формы.\nНажмите и удерживайте, чтобы сбросить.", + "cycleCatsDesktop": "Нажмите, чтобы просмотреть категории.\nПравый клик чтобы сбросить.", + "cycleCatsAndroid": "Нажмите, чтобы просмотреть категории.\nНажмите и удерживайте, чтобы сбросить.", + "blocked": "Заблокировано", + "titlePlaceholder": "заговолок...", + "postNewBulletinLabel": "Опубликовать новый бюллетень", + "newBulletinLabel": "Новый бюллетень", + "joinGroup": "Вступить в группу", + "createGroup": "Создать группу", + "groupAddr": "Адрес", + "invitation": "Приглашение", + "server": "Сервер", + "groupName": "Имя группы", + "peerName": "Имя", + "peerAddress": "Адрес", + "joinGroupTab": "Присоединиться к группе", + "createGroupTab": "Создать группу", + "createGroupBtn": "Создать", + "defaultGroupName": "Замечательная группа", + "createGroupTitle": "Создать группу" +} \ No newline at end of file diff --git a/lib/views/globalsettingsview.dart b/lib/views/globalsettingsview.dart index 5484263a..144ad05f 100644 --- a/lib/views/globalsettingsview.dart +++ b/lib/views/globalsettingsview.dart @@ -279,6 +279,9 @@ String getLanguageFull(context, String languageCode) { if (languageCode == "pl") { return AppLocalizations.of(context)!.localePl; } + if (languageCode == "ru") { + return AppLocalizations.of(context)!.localeRU; + } return languageCode; }