aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2026-06-28 16:14:30 +0200
committersaturneric <[email protected]>2026-06-28 16:14:30 +0200
commit89ec82704a28189501adac6374a9ae5fd0fa15d6 (patch)
treeb334e2689ff3859759caea13736ddcd13ae3d569
parentchore(i18n): update i18n translations for modules (diff)
downloadmodules-89ec82704a28189501adac6374a9ae5fd0fa15d6.tar.gz
modules-89ec82704a28189501adac6374a9ae5fd0fa15d6.zip
feat(i18n): add `ru_RU` translations for multiple modules
* Add Russian `ru_RU` translation files for `m_email`, `m_gpg_info`, `m_key_server_sync`, and `m_ver_check`. * Localize UI labels, dialogs, warnings and detailed error/help text (including EML/GPG/key-server/update guidance) to improve usability and troubleshooting for Russian-speaking users. * Introduce only translation assets; no functional or logic changes.
-rw-r--r--src/m_email/ts/ModuleEMail.ru_RU.ts263
-rw-r--r--src/m_gpg_info/ts/ModuleGnuPGInfoGathering.ru_RU.ts124
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.ru_RU.ts215
-rw-r--r--src/m_ver_check/ts/ModuleVersionChecking.ru_RU.ts145
4 files changed, 747 insertions, 0 deletions
diff --git a/src/m_email/ts/ModuleEMail.ru_RU.ts b/src/m_email/ts/ModuleEMail.ru_RU.ts
new file mode 100644
index 0000000..d76850a
--- /dev/null
+++ b/src/m_email/ts/ModuleEMail.ru_RU.ts
@@ -0,0 +1,263 @@
+<?xml version='1.0' encoding='utf-8'?>
+<TS version="2.1">
+ <context>
+ <name>EMailMetaDataDialog</name>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="20" />
+ <source>Message</source>
+ <translation>Сообщение</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="54" />
+ <source>From</source>
+ <translation>От</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="77" />
+ <source>To</source>
+ <translation>Кому</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="100" />
+ <location filename="../EMailMetaDataDialog.ui" line="207" />
+ <source>CC</source>
+ <translation>Копия</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="123" />
+ <location filename="../EMailMetaDataDialog.ui" line="214" />
+ <source>BCC</source>
+ <translation>Скрытая копия</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="153" />
+ <source>Subject</source>
+ <translation>Тема</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="175" />
+ <source>Tips: You can fill in multiple email addresses, please separate them with ";", except for the 'From' field.</source>
+ <translation>Совет: можно указать несколько адресов электронной почты, разделяя их символом «;», кроме поля «От».</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="234" />
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.ui" line="241" />
+ <source>OK</source>
+ <translation>ОК</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.cpp" line="196" />
+ <source>The 'From' field cannot be empty.</source>
+ <translation>Поле «От» не может быть пустым.</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.cpp" line="198" />
+ <source>The 'From' field must contain a valid email address.</source>
+ <translation>Поле «От» должно содержать действительный адрес электронной почты.</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.cpp" line="202" />
+ <source>The 'To' field cannot be empty.</source>
+ <translation>Поле «Кому» не может быть пустым.</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.cpp" line="206" />
+ <source>One or more 'To' addresses are invalid. Please separate multiple addresses with ";".</source>
+ <translation>Один или несколько адресов в поле «Кому» недействительны. Разделяйте несколько адресов символом «;».</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.cpp" line="213" />
+ <source>One or more 'CC' addresses are invalid. Please separate multiple addresses with ";".</source>
+ <translation>Один или несколько адресов в поле «Копия» недействительны. Разделяйте несколько адресов символом «;».</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.cpp" line="221" />
+ <source>One or more 'BCC' addresses are invalid. Please separate multiple addresses with ";".</source>
+ <translation>Один или несколько адресов в поле «Скрытая копия» недействительны. Разделяйте несколько адресов символом «;».</translation>
+ </message>
+ <message>
+ <location filename="../EMailMetaDataDialog.cpp" line="227" />
+ <source>The 'Subject' field cannot be empty.</source>
+ <translation>Поле «Тема» не может быть пустым.</translation>
+ </message>
+ </context>
+ <context>
+ <name>EMailModule</name>
+ <message>
+ <location filename="../EMailModule.cpp" line="109" />
+ <source># EML Data Error
+
+The provided EML data does not conform to RFC 3156 standards and cannot be processed.
+
+**Details:** %1
+
+### What is EML Data?
+EML is a file format for representing email messages, typically including headers, body text, attachments, and metadata. Complete and properly structured EML data is required for validation.
+
+### Suggested Solutions
+1. Verify the EML data is complete and matches the structure outlined in RFC 3156.
+2. Refer to the official documentation for the EML structure: %2
+
+After correcting the EML data, try the operation again.</source>
+ <translation># Ошибка данных EML
+
+Предоставленные данные EML не соответствуют стандартам RFC 3156 и не могут быть обработаны.
+
+**Подробности:** %1
+
+### Что такое данные EML?
+EML — это формат файла для представления электронных писем, обычно включающий заголовки, текст тела, вложения и метаданные. Для проверки требуются полные и правильно структурированные данные EML.
+
+### Рекомендуемые решения
+1. Убедитесь, что данные EML полны и соответствуют структуре, описанной в RFC 3156.
+2. Обратитесь к официальной документации по структуре EML: %2
+
+После исправления данных EML попробуйте выполнить операцию снова.</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="134" />
+ <source># Email Operation Error
+
+An error occurred during the email operation. The process could not be completed.
+
+**Details:**
+- **Error Code:** %1
+- **Error Message:** %2
+
+### Possible Causes
+1. The email data may be incomplete or corrupted.
+2. The selected GPG key does not have the necessary permissions.
+3. Issues in the GPG environment or configuration.
+
+### Suggested Solutions
+1. Ensure the email data is complete and follows the expected format.
+2. Verify the GPG key has the required access permissions.
+3. Check your GPG environment and configuration settings.
+4. Review the error details above or application logs for further troubleshooting.
+
+If the issue persists, consider seeking technical support or consulting the documentation.</source>
+ <translation># Ошибка операции с электронной почтой
+
+При выполнении операции с электронной почтой произошла ошибка. Процесс не может быть завершён.
+
+**Подробности:**
+- **Код ошибки:** %1
+- **Сообщение об ошибке:** %2
+
+### Возможные причины
+1. Данные электронной почты могут быть неполными или повреждёнными.
+2. Выбранный ключ GPG не имеет необходимых прав доступа.
+3. Проблемы в среде или конфигурации GPG.
+
+### Рекомендуемые решения
+1. Убедитесь, что данные электронной почты полны и соответствуют ожидаемому формату.
+2. Проверьте, что ключ GPG имеет необходимые права доступа.
+3. Проверьте настройки среды и конфигурации GPG.
+4. Ознакомьтесь с подробностями ошибки выше или журналами приложения для дальнейшего устранения неполадок.
+
+Если проблема сохраняется, обратитесь в службу технической поддержки или ознакомьтесь с документацией.</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="301" />
+ <location filename="../EMailModule.cpp" line="421" />
+ <location filename="../EMailModule.cpp" line="1041" />
+ <source>From</source>
+ <translation>От</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="304" />
+ <location filename="../EMailModule.cpp" line="424" />
+ <location filename="../EMailModule.cpp" line="1044" />
+ <source>To</source>
+ <translation>Кому</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="308" />
+ <location filename="../EMailModule.cpp" line="428" />
+ <location filename="../EMailModule.cpp" line="1048" />
+ <source>Subject</source>
+ <translation>Тема</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="311" />
+ <location filename="../EMailModule.cpp" line="431" />
+ <location filename="../EMailModule.cpp" line="1051" />
+ <source>CC</source>
+ <translation>Копия</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="314" />
+ <location filename="../EMailModule.cpp" line="434" />
+ <location filename="../EMailModule.cpp" line="1054" />
+ <source>BCC</source>
+ <translation>Скрытая копия</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="317" />
+ <location filename="../EMailModule.cpp" line="437" />
+ <location filename="../EMailModule.cpp" line="1057" />
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="325" />
+ <location filename="../EMailModule.cpp" line="1065" />
+ <source>Signed EML Data Hash (SHA1)</source>
+ <translation>Хэш подписанных данных EML (SHA1)</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="330" />
+ <location filename="../EMailModule.cpp" line="1070" />
+ <source>Message Integrity Check Algorithm</source>
+ <translation>Алгоритм проверки целостности сообщения</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="1120" />
+ <source>Save file</source>
+ <translation>Сохранить файл</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="1147" />
+ <location filename="../EMailModule.cpp" line="1192" />
+ <location filename="../EMailModule.cpp" line="1219" />
+ <source>Warning</source>
+ <translation>Предупреждение</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="1148" />
+ <source>Cannot read file%1:
+%2.</source>
+ <translation>Не удается прочитать файл%1:
+%2.</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="1193" />
+ <source>The file %1 is too large (%2 bytes) to be opened. The maximum allowed size is 1 MB.</source>
+ <translation>Файл %1 слишком большой (%2 байт) для открытия. Максимально допустимый размер составляет 1 МБ.</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="1220" />
+ <source>Cannot read file %1:
+%2.</source>
+ <translation>Не удается прочитать файл %1:
+%2.</translation>
+ </message>
+ </context>
+ <context>
+ <name>GTrC</name>
+ <message>
+ <location filename="../EMailModule.cpp" line="210" />
+ <source>Mail Editor</source>
+ <translation>Редактор почты</translation>
+ </message>
+ <message>
+ <location filename="../EMailModule.cpp" line="212" />
+ <source>Open a new text editor for email.</source>
+ <translation>Открыть новый текстовый редактор для электронной почты.</translation>
+ </message>
+ </context>
+</TS> \ No newline at end of file
diff --git a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.ru_RU.ts b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.ru_RU.ts
new file mode 100644
index 0000000..31b1229
--- /dev/null
+++ b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.ru_RU.ts
@@ -0,0 +1,124 @@
+<?xml version='1.0' encoding='utf-8'?>
+<TS version="2.1">
+ <context>
+ <name>GTrC</name>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="103" />
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="173" />
+ <source>GnuPG</source>
+ <translation>GnuPG</translation>
+ </message>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="175" />
+ <source>Information about GnuPG</source>
+ <translation>Информация о GnuPG</translation>
+ </message>
+ </context>
+ <context>
+ <name>GnuPGInfo</name>
+ <message>
+ <location filename="../GnuPGInfo.ui" line="14" />
+ <source>GnuPG Info</source>
+ <translation>Сведения о GnuPG</translation>
+ </message>
+ <message>
+ <location filename="../GnuPGInfo.ui" line="71" />
+ <source>Version</source>
+ <translation>Версия</translation>
+ </message>
+ <message>
+ <location filename="../GnuPGInfo.ui" line="119" />
+ <source>Components</source>
+ <translation>Компоненты</translation>
+ </message>
+ <message>
+ <location filename="../GnuPGInfo.ui" line="151" />
+ <source>Directories</source>
+ <translation>Каталоги</translation>
+ </message>
+ <message>
+ <location filename="../GnuPGInfo.ui" line="180" />
+ <source>Options</source>
+ <translation>Параметры</translation>
+ </message>
+ </context>
+ <context>
+ <name>GnupgTab</name>
+ <message>
+ <location filename="../GnupgTab.cpp" line="49" />
+ <source>Name</source>
+ <translation>Имя</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="49" />
+ <location filename="../GnupgTab.cpp" line="96" />
+ <source>Description</source>
+ <translation>Описание</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="49" />
+ <source>Version</source>
+ <translation>Версия</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="50" />
+ <source>Checksum</source>
+ <translation>Контрольная сумма</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="50" />
+ <source>Binary Path</source>
+ <translation>Путь к двоичному файлу</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="52" />
+ <source>Components</source>
+ <translation>Компоненты</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="53" />
+ <source>Directories</source>
+ <translation>Каталоги</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="54" />
+ <source>Options</source>
+ <translation>Параметры</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="74" />
+ <source>Directory Type</source>
+ <translation>Тип каталога</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="74" />
+ <source>Path</source>
+ <translation>Путь</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="95" />
+ <source>Component</source>
+ <translation>Компонент</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="95" />
+ <source>Group</source>
+ <translation>Группа</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="95" />
+ <source>Key</source>
+ <translation>Ключ</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="96" />
+ <source>Default Value</source>
+ <translation>Значение по умолчанию</translation>
+ </message>
+ <message>
+ <location filename="../GnupgTab.cpp" line="97" />
+ <source>Value</source>
+ <translation>Значение</translation>
+ </message>
+ </context>
+</TS> \ No newline at end of file
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.ru_RU.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.ru_RU.ts
new file mode 100644
index 0000000..c70fda3
--- /dev/null
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.ru_RU.ts
@@ -0,0 +1,215 @@
+<?xml version='1.0' encoding='utf-8'?>
+<TS version="2.1">
+ <context>
+ <name>GTrC</name>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="88" />
+ <source>The following email addresses have status:
+</source>
+ <translation>Статус следующих адресов электронной почты:</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="98" />
+ <source>Could not parse status information.</source>
+ <translation>Не удалось обработать информацию о статусе.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="105" />
+ <source>Public Key Upload Successful</source>
+ <translation>Открытый ключ успешно загружен</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="106" />
+ <source>The public key was successfully uploaded to the key server keys.openpgp.org.
+Fingerprint: %1
+
+%2
+Please check your email (%3) for further verification from keys.openpgp.org.
+
+Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
+ <translation>Открытый ключ успешно загружен на сервер ключей keys.openpgp.org.
+Отпечаток: %1
+
+%2
+Пожалуйста, проверьте вашу электронную почту (%3) на наличие дальнейшего подтверждения от keys.openpgp.org.
+
+Примечание: дополнительную информацию о проверке можно найти здесь: https://keys.openpgp.org/about</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="124" />
+ <source>Key Upload Failed</source>
+ <translation>Ошибка загрузки ключа</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="125" />
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
+ <translation>Не удалось загрузить открытый ключ на сервер.
+Отпечаток: %1
+Ошибка: %2</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="157" />
+ <source>Key Update Failed</source>
+ <translation>Ошибка обновления ключа</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="158" />
+ <source>Failed to retrieve public key from the server.
+Key ID: %1
+Error: %2</source>
+ <translation>Не удалось получить открытый ключ с сервера.
+Идентификатор ключа: %1
+Ошибка: %2</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="210" />
+ <source>Key Server</source>
+ <translation>Сервер ключей</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="211" />
+ <source>Import public keys from a trusted key server.</source>
+ <translation>Импортировать открытые ключи с доверенного сервера ключей.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="259" />
+ <source>Key Server Operations</source>
+ <translation>Операции с сервером ключей</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="264" />
+ <source>Publish Public Key to Key Server</source>
+ <translation>Опубликовать открытый ключ на сервере ключей</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="272" />
+ <source>Refresh Public Key From Key Server</source>
+ <translation>Обновить открытый ключ с сервера ключей</translation>
+ </message>
+ </context>
+ <context>
+ <name>SearchKeyDialog</name>
+ <message>
+ <location filename="../SearchKeyDialog.ui" line="14" />
+ <source>Search Keys</source>
+ <translation>Поиск ключей</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.ui" line="36" />
+ <source>Key Server</source>
+ <translation>Сервер ключей</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.ui" line="56" />
+ <source>Search Type</source>
+ <translation>Тип поиска</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.ui" line="66" />
+ <source>Search Value</source>
+ <translation>Искомое значение</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.ui" line="85" />
+ <source>Search</source>
+ <translation>Найти</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.ui" line="105" />
+ <source>Tips: double click to import the selected key.</source>
+ <translation>Совет: дважды щёлкните, чтобы импортировать выбранный ключ.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="66" />
+ <source>Key ID</source>
+ <translation>Идентификатор ключа</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="66" />
+ <source>UID</source>
+ <translation>UID</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="66" />
+ <source>Creation Date</source>
+ <translation>Дата создания</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="67" />
+ <source>Expiration Date</source>
+ <translation>Дата истечения срока</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="67" />
+ <source>Algorithm</source>
+ <translation>Алгоритм</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="67" />
+ <source>Key Size</source>
+ <translation>Размер ключа</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="68" />
+ <source>Status</source>
+ <translation>Статус</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="71" />
+ <source>By Key ID</source>
+ <translation>По идентификатору ключа</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="72" />
+ <source>By Email</source>
+ <translation>По электронной почте</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="73" />
+ <source>By Fingerprint</source>
+ <translation>По отпечатку</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="108" />
+ <source>Search value is empty.</source>
+ <translation>Значение поиска не введено.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="124" />
+ <source>Key server URL is empty.</source>
+ <translation>Адрес сервера ключей не указан.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="133" />
+ <source>Invalid key server URL format.</source>
+ <translation>Неверный формат адреса сервера ключей.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="146" />
+ <source>Invalid email format.</source>
+ <translation>Неверный формат адреса электронной почты.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="159" />
+ <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <translation>Неверный формат отпечатка. Он должен быть шестнадцатеричной строкой длиной 16 или 40 символов.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="173" />
+ <source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
+ <translation>Неверный формат идентификатора ключа. Он должен быть шестнадцатеричной строкой длиной 8 или 16 символов.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="179" />
+ <source>Unknown search type.</source>
+ <translation>Неизвестный тип поиска.</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="289" />
+ <source>No GPG context is available.</source>
+ <translation>Контекст GPG недоступен.</translation>
+ </message>
+ </context>
+</TS> \ No newline at end of file
diff --git a/src/m_ver_check/ts/ModuleVersionChecking.ru_RU.ts b/src/m_ver_check/ts/ModuleVersionChecking.ru_RU.ts
new file mode 100644
index 0000000..4d5df42
--- /dev/null
+++ b/src/m_ver_check/ts/ModuleVersionChecking.ru_RU.ts
@@ -0,0 +1,145 @@
+<?xml version='1.0' encoding='utf-8'?>
+<TS version="2.1">
+ <context>
+ <name>GTrC</name>
+ <message>
+ <location filename="../VersionCheckingModule.cpp" line="109" />
+ <location filename="../VersionCheckingModule.cpp" line="171" />
+ <source>Check for Updates</source>
+ <translation>Проверить обновления</translation>
+ </message>
+ <message>
+ <location filename="../VersionCheckingModule.cpp" line="172" />
+ <source>Check for updates from the Internet.</source>
+ <translation>Проверить обновления в интернете.</translation>
+ </message>
+ <message>
+ <location filename="../VersionCheckingModule.cpp" line="292" />
+ <source>Checking for version updates when the application starts.</source>
+ <translation>Проверка обновлений версии при запуске приложения.</translation>
+ </message>
+ <message>
+ <location filename="../VersionCheckingModule.cpp" line="304" />
+ <source>GitHub</source>
+ <translation>GitHub</translation>
+ </message>
+ <message>
+ <location filename="../VersionCheckingModule.cpp" line="307" />
+ <source>BKTUS.com</source>
+ <translation>BKTUS.com</translation>
+ </message>
+ <message>
+ <location filename="../VersionCheckingModule.cpp" line="312" />
+ <source>Update Checking API:</source>
+ <translation>API проверки обновлений:</translation>
+ </message>
+ </context>
+ <context>
+ <name>UpdateTab</name>
+ <message>
+ <location filename="../UpdateTab.cpp" line="44" />
+ <source>Current Version Information</source>
+ <translation>Информация о текущей версии</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="47" />
+ <source>Current Version</source>
+ <translation>Текущая версия</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="48" />
+ <source>: </source>
+ <translation>:</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="56" />
+ <source>Upgrade Information</source>
+ <translation>Информация об обновлении</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="70" />
+ <source>Check for Updates</source>
+ <translation>Проверить обновления</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="74" />
+ <source>Release Notes</source>
+ <translation>Список изменений</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="116" />
+ <source>Unable to retrieve the latest version information. This may be due to a network issue or the server being unavailable.</source>
+ <translation>Не удалось получить информацию о последней версии. Возможно, это связано с проблемами сети или недоступностью сервера.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="119" />
+ <source>Please check your internet connection or try again later.</source>
+ <translation>Проверьте подключение к интернету или повторите попытку позже.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="120" />
+ <source>Alternatively, you can visit the</source>
+ <translation>Также вы можете перейти на</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="123" />
+ <source>official download page</source>
+ <translation>официальную страницу загрузки</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="124" />
+ <source>to check for the latest version.</source>
+ <translation>для проверки последней версии.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="154" />
+ <source>Latest Version From %1</source>
+ <translation>Последняя версия с %1</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="160" />
+ <source>Your current version is outdated.</source>
+ <translation>Ваша текущая версия устарела.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="161" />
+ <location filename="../UpdateTab.cpp" line="175" />
+ <location filename="../UpdateTab.cpp" line="186" />
+ <source>Click</source>
+ <translation>Нажмите</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="164" />
+ <location filename="../UpdateTab.cpp" line="177" />
+ <location filename="../UpdateTab.cpp" line="189" />
+ <source>here</source>
+ <translation>здесь</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="164" />
+ <location filename="../UpdateTab.cpp" line="177" />
+ <source>to download the latest version.</source>
+ <translation>чтобы скачать последнюю версию.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="172" />
+ <source>This version is either withdrawn due to critical issues or is an unreleased build. Please stop using it and download the latest version.</source>
+ <translation>Эта версия была отозвана из-за критических ошибок или является невыпущенной сборкой. Пожалуйста, прекратите её использование и скачайте последнюю версию.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="184" />
+ <source>The commit hash for this build was not found in the official repository. This may indicate a modified or unofficial version.</source>
+ <translation>Хэш коммита для этой сборки не найден в официальном репозитории. Это может указывать на изменённую или неофициальную версию.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="190" />
+ <source>to verify your installation or download the official build.</source>
+ <translation>чтобы проверить установку или скачать официальную сборку.</translation>
+ </message>
+ <message>
+ <location filename="../UpdateTab.cpp" line="196" />
+ <source>You are using the latest version. No action is required.</source>
+ <translation>Вы используете последнюю версию. Никаких действий не требуется.</translation>
+ </message>
+ </context>
+</TS> \ No newline at end of file