From 18b7c4054b0afdd06a24d37a4a39877742292588 Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Mon, 6 Oct 2025 17:47:45 +0500 Subject: [PATCH] chore(localization): update Signed-off-by: Boris Yumankulov --- documentation/localization_guide/README.md | 6 +- documentation/localization_guide/README.ru.md | 6 +- .../locales/de_DE/LC_MESSAGES/messages.mo | Bin 451 -> 451 bytes .../locales/de_DE/LC_MESSAGES/messages.po | 66 ++++++++++- .../locales/es_ES/LC_MESSAGES/messages.mo | Bin 451 -> 451 bytes .../locales/es_ES/LC_MESSAGES/messages.po | 66 ++++++++++- portprotonqt/locales/messages.pot | 66 ++++++++++- .../locales/ru_RU/LC_MESSAGES/messages.mo | Bin 16788 -> 17446 bytes .../locales/ru_RU/LC_MESSAGES/messages.po | 107 ++++++++++++++---- portprotonqt/main_window.py | 17 +-- 10 files changed, 288 insertions(+), 46 deletions(-) diff --git a/documentation/localization_guide/README.md b/documentation/localization_guide/README.md index c86b8b2..7d55b2b 100644 --- a/documentation/localization_guide/README.md +++ b/documentation/localization_guide/README.md @@ -21,9 +21,9 @@ Current translation status: | Locale | Progress | Translated | | :----- | -------: | ---------: | -| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 of 193 | -| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 of 193 | -| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 193 of 193 | +| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 of 213 | +| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 of 213 | +| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 213 of 213 | --- diff --git a/documentation/localization_guide/README.ru.md b/documentation/localization_guide/README.ru.md index 1e6cb0a..fe04760 100644 --- a/documentation/localization_guide/README.ru.md +++ b/documentation/localization_guide/README.ru.md @@ -21,9 +21,9 @@ | Локаль | Прогресс | Переведено | | :----- | -------: | ---------: | -| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 из 193 | -| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 из 193 | -| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 193 из 193 | +| [de_DE](./de_DE/LC_MESSAGES/messages.po) | 0% | 0 из 213 | +| [es_ES](./es_ES/LC_MESSAGES/messages.po) | 0% | 0 из 213 | +| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 213 из 213 | --- diff --git a/portprotonqt/locales/de_DE/LC_MESSAGES/messages.mo b/portprotonqt/locales/de_DE/LC_MESSAGES/messages.mo index bc8f1aa6c99e61d52aa750cbfdafbb5f4c90d21b..57f894f669f19f3264dce7e465f30769115be3c8 100644 GIT binary patch delta 22 dcmX@ie3*GcFSntAu7R0?p}Ccb*~S^#i~vr921)<` delta 22 dcmX@ie3*GcFSmiEu92~Vk&%^=@x~e2i~vrr21oz^ diff --git a/portprotonqt/locales/de_DE/LC_MESSAGES/messages.po b/portprotonqt/locales/de_DE/LC_MESSAGES/messages.po index 184dfe8..9597751 100644 --- a/portprotonqt/locales/de_DE/LC_MESSAGES/messages.po +++ b/portprotonqt/locales/de_DE/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-09-23 22:23+0500\n" +"POT-Creation-Date: 2025-10-06 17:46+0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de_DE\n" @@ -191,6 +191,10 @@ msgstr "" msgid "Failed to delete custom data: {error}" msgstr "" +#, python-brace-format +msgid "Added '{game_name}' successfully" +msgstr "" + msgid "Game name and executable path are required" msgstr "" @@ -382,13 +386,71 @@ msgstr "" msgid "Find Games ..." msgstr "" +#, python-brace-format +msgid "Added '{name}'" +msgstr "" + msgid "Here you can configure automatic game installation..." msgstr "" msgid "List of available emulators and their configuration..." msgstr "" -msgid "Various Wine parameters and versions..." +msgid "Compatibility tool:" +msgstr "" + +msgid "Prefix:" +msgstr "" + +msgid "Wine Configuration" +msgstr "" + +msgid "Registry Editor" +msgstr "" + +msgid "Control Panel" +msgstr "" + +msgid "Task Manager" +msgstr "" + +msgid "Command Prompt" +msgstr "" + +msgid "Uninstaller" +msgstr "" + +msgid "Create Prefix Backup" +msgstr "" + +msgid "Load Prefix Backup" +msgstr "" + +msgid "Delete Compatibility Tool" +msgstr "" + +msgid "Delete Prefix" +msgstr "" + +msgid "Clear Prefix" +msgstr "" + +msgid "Failed to start backup process." +msgstr "" + +msgid "Failed to start restore process." +msgstr "" + +msgid "Prefix backup completed." +msgstr "" + +msgid "Prefix backup failed." +msgstr "" + +msgid "Prefix restore completed." +msgstr "" + +msgid "Prefix restore failed." msgstr "" msgid "Main PortProton parameters..." diff --git a/portprotonqt/locales/es_ES/LC_MESSAGES/messages.mo b/portprotonqt/locales/es_ES/LC_MESSAGES/messages.mo index 28f3ddf2018d7a0b982e0a925d11ec4041e4ddcd..b25aaed130e19eaf8fcf8bf102cff30a745734e8 100644 GIT binary patch delta 22 dcmX@ie3*GcFSntAu7R0?p}Ccb*~S^#i~vr921)<` delta 22 dcmX@ie3*GcFSmiEu92~Vk&%^=@x~e2i~vrr21oz^ diff --git a/portprotonqt/locales/es_ES/LC_MESSAGES/messages.po b/portprotonqt/locales/es_ES/LC_MESSAGES/messages.po index c50ddfb..2708f56 100644 --- a/portprotonqt/locales/es_ES/LC_MESSAGES/messages.po +++ b/portprotonqt/locales/es_ES/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-09-23 22:23+0500\n" +"POT-Creation-Date: 2025-10-06 17:46+0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: es_ES\n" @@ -191,6 +191,10 @@ msgstr "" msgid "Failed to delete custom data: {error}" msgstr "" +#, python-brace-format +msgid "Added '{game_name}' successfully" +msgstr "" + msgid "Game name and executable path are required" msgstr "" @@ -382,13 +386,71 @@ msgstr "" msgid "Find Games ..." msgstr "" +#, python-brace-format +msgid "Added '{name}'" +msgstr "" + msgid "Here you can configure automatic game installation..." msgstr "" msgid "List of available emulators and their configuration..." msgstr "" -msgid "Various Wine parameters and versions..." +msgid "Compatibility tool:" +msgstr "" + +msgid "Prefix:" +msgstr "" + +msgid "Wine Configuration" +msgstr "" + +msgid "Registry Editor" +msgstr "" + +msgid "Control Panel" +msgstr "" + +msgid "Task Manager" +msgstr "" + +msgid "Command Prompt" +msgstr "" + +msgid "Uninstaller" +msgstr "" + +msgid "Create Prefix Backup" +msgstr "" + +msgid "Load Prefix Backup" +msgstr "" + +msgid "Delete Compatibility Tool" +msgstr "" + +msgid "Delete Prefix" +msgstr "" + +msgid "Clear Prefix" +msgstr "" + +msgid "Failed to start backup process." +msgstr "" + +msgid "Failed to start restore process." +msgstr "" + +msgid "Prefix backup completed." +msgstr "" + +msgid "Prefix backup failed." +msgstr "" + +msgid "Prefix restore completed." +msgstr "" + +msgid "Prefix restore failed." msgstr "" msgid "Main PortProton parameters..." diff --git a/portprotonqt/locales/messages.pot b/portprotonqt/locales/messages.pot index 79bb871..d059397 100644 --- a/portprotonqt/locales/messages.pot +++ b/portprotonqt/locales/messages.pot @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PortProtonQt 0.1.1\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-09-23 22:23+0500\n" +"POT-Creation-Date: 2025-10-06 17:46+0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -189,6 +189,10 @@ msgstr "" msgid "Failed to delete custom data: {error}" msgstr "" +#, python-brace-format +msgid "Added '{game_name}' successfully" +msgstr "" + msgid "Game name and executable path are required" msgstr "" @@ -380,13 +384,71 @@ msgstr "" msgid "Find Games ..." msgstr "" +#, python-brace-format +msgid "Added '{name}'" +msgstr "" + msgid "Here you can configure automatic game installation..." msgstr "" msgid "List of available emulators and their configuration..." msgstr "" -msgid "Various Wine parameters and versions..." +msgid "Compatibility tool:" +msgstr "" + +msgid "Prefix:" +msgstr "" + +msgid "Wine Configuration" +msgstr "" + +msgid "Registry Editor" +msgstr "" + +msgid "Control Panel" +msgstr "" + +msgid "Task Manager" +msgstr "" + +msgid "Command Prompt" +msgstr "" + +msgid "Uninstaller" +msgstr "" + +msgid "Create Prefix Backup" +msgstr "" + +msgid "Load Prefix Backup" +msgstr "" + +msgid "Delete Compatibility Tool" +msgstr "" + +msgid "Delete Prefix" +msgstr "" + +msgid "Clear Prefix" +msgstr "" + +msgid "Failed to start backup process." +msgstr "" + +msgid "Failed to start restore process." +msgstr "" + +msgid "Prefix backup completed." +msgstr "" + +msgid "Prefix backup failed." +msgstr "" + +msgid "Prefix restore completed." +msgstr "" + +msgid "Prefix restore failed." msgstr "" msgid "Main PortProton parameters..." diff --git a/portprotonqt/locales/ru_RU/LC_MESSAGES/messages.mo b/portprotonqt/locales/ru_RU/LC_MESSAGES/messages.mo index 597ad486115c074bc31760147129852bfc718fc6..8cffe66d92da7bc51537b30ca252a247da5cdd36 100644 GIT binary patch delta 5163 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 QFji;ZgaQ65ljpep4_<-?D*ylh diff --git a/portprotonqt/locales/ru_RU/LC_MESSAGES/messages.po b/portprotonqt/locales/ru_RU/LC_MESSAGES/messages.po index ccb5e7c..0276d4f 100644 --- a/portprotonqt/locales/ru_RU/LC_MESSAGES/messages.po +++ b/portprotonqt/locales/ru_RU/LC_MESSAGES/messages.po @@ -9,18 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-09-23 22:23+0500\n" -"PO-Revision-Date: 2025-09-23 22:23+0500\n" +"POT-Creation-Date: 2025-10-06 17:46+0500\n" +"PO-Revision-Date: 2025-10-06 17:46+0500\n" "Last-Translator: \n" -"Language-Team: ru_RU \n" "Language: ru_RU\n" +"Language-Team: ru_RU \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 " -"&& (n%100<10 || n%100>=20) ? 1 : 2);\n" "Generated-By: Babel 2.17.0\n" -"X-Generator: Poedit 3.6\n" msgid "Error" msgstr "Ошибка" @@ -87,11 +86,11 @@ msgstr "Успешно" #, python-brace-format msgid "" -"'{game_name}' was added to Steam. Please restart Steam for changes to take " -"effect." +"'{game_name}' was added to Steam. Please restart Steam for changes to " +"take effect." msgstr "" -"'{game_name}' был(а) добавлен(а) в Steam. Пожалуйста, перезапустите Steam, " -"чтобы изменения вступили в силу." +"'{game_name}' был(а) добавлен(а) в Steam. Пожалуйста, перезапустите " +"Steam, чтобы изменения вступили в силу." #, python-brace-format msgid "Executable not found for game: {game_name}" @@ -179,11 +178,11 @@ msgstr "Подтвердите удаление" #, python-brace-format msgid "" -"Are you sure you want to delete '{game_name}'? This will remove the .desktop " -"file and custom data." +"Are you sure you want to delete '{game_name}'? This will remove the " +".desktop file and custom data." msgstr "" -"Вы уверены, что хотите удалить '{game_name}'? Это приведёт к удалению файла ." -"desktop и пользовательских данных." +"Вы уверены, что хотите удалить '{game_name}'? Это приведёт к удалению " +"файла .desktop и пользовательских данных." #, python-brace-format msgid "Failed to delete .desktop file: {error}" @@ -197,6 +196,10 @@ msgstr "'{game_name}' был(а) успешно удалён(а)" msgid "Failed to delete custom data: {error}" msgstr "Не удалось удалить пользовательские данные: {error}" +#, python-brace-format +msgid "Added '{game_name}' successfully" +msgstr "'{game_name}' успешно добавлен(а)" + msgid "Game name and executable path are required" msgstr "Требуются название игры и путь к исполняемому файлу" @@ -225,11 +228,11 @@ msgstr "Не удалось добавить '{game_name}' в Steam: {error}" #, python-brace-format msgid "" -"'{game_name}' was removed from Steam. Please restart Steam for changes to take " -"effect." +"'{game_name}' was removed from Steam. Please restart Steam for changes to" +" take effect." msgstr "" -"'{game_name}' был(а) удалён(а) из Steam. Пожалуйста, перезапустите Steam, чтобы " -"изменения вступили в силу." +"'{game_name}' был(а) удалён(а) из Steam. Пожалуйста, перезапустите Steam," +" чтобы изменения вступили в силу." #, python-brace-format msgid "Failed to remove game '{game_name}' from Steam: {error}" @@ -274,7 +277,7 @@ msgstr "Путь: " #, python-format msgid "Access denied: %s" -msgstr "Доступ запрещен: %s" +msgstr "Доступ запрещён: %s" msgid "Edit Game" msgstr "Редактировать игру" @@ -390,14 +393,72 @@ msgstr "Игровая библиотека" msgid "Find Games ..." msgstr "Найти игры..." +#, python-brace-format +msgid "Added '{name}'" +msgstr "'{name}' добавлен(а)" + msgid "Here you can configure automatic game installation..." msgstr "Здесь можно настроить автоматическую установку игр..." msgid "List of available emulators and their configuration..." msgstr "Список доступных эмуляторов и их настройка..." -msgid "Various Wine parameters and versions..." -msgstr "Различные параметры и версии wine..." +msgid "Compatibility tool:" +msgstr "Инструмент совместимости:" + +msgid "Prefix:" +msgstr "Префикс:" + +msgid "Wine Configuration" +msgstr "Конфигурация Wine" + +msgid "Registry Editor" +msgstr "Редактор реестра" + +msgid "Control Panel" +msgstr "Панель управления" + +msgid "Task Manager" +msgstr "Диспетчер задач" + +msgid "Command Prompt" +msgstr "Командная строка" + +msgid "Uninstaller" +msgstr "Удаление программ" + +msgid "Create Prefix Backup" +msgstr "Создать резервную копию префикса" + +msgid "Load Prefix Backup" +msgstr "Загрузить резервную копию префикса" + +msgid "Delete Compatibility Tool" +msgstr "Удалить Инструмент совместимости" + +msgid "Delete Prefix" +msgstr "Удалить Префикс" + +msgid "Clear Prefix" +msgstr "Очистить Префикс" + +msgid "Failed to start backup process." +msgstr "Не удалось запустить процесс резервного копирования." + +msgid "Failed to start restore process." +msgstr "Не удалось запустить процесс восстановления." + +msgid "Prefix backup completed." +msgstr "Резервное копирование префикса завершено." + +msgid "Prefix backup failed." +msgstr "Сбой резервного копирования префикса." + +msgid "Prefix restore completed." +msgstr "Восстановление префикса завершено." + +msgid "Prefix restore failed." +msgstr "Восстановление префикса не удалось." msgid "Main PortProton parameters..." msgstr "Основные параметры PortProton..." @@ -482,7 +543,8 @@ msgstr "Подтвердите удаление" msgid "Are you sure you want to reset all settings? This action cannot be undone." msgstr "" -"Вы уверены, что хотите сбросить все настройки? Это действие нельзя отменить." +"Вы уверены, что хотите сбросить все настройки? Это действие нельзя " +"отменить." msgid "Settings reset. Restarting..." msgstr "Настройки сброшены. Перезапуск..." @@ -654,3 +716,4 @@ msgstr "Нет избранных" msgid "No recent games" msgstr "Нет недавних игр" + diff --git a/portprotonqt/main_window.py b/portprotonqt/main_window.py index 115891c..9248ccb 100644 --- a/portprotonqt/main_window.py +++ b/portprotonqt/main_window.py @@ -947,7 +947,6 @@ class MainWindow(QMainWindow): # Trigger visible images load QTimer.singleShot(200, self.game_library_manager.load_visible_images) - self.update_status_message.emit(_("Enriching from Steam..."), 3000) from portprotonqt.steam_api import get_steam_game_info_async get_steam_game_info_async(final_name, exec_line, on_steam_info) @@ -1026,7 +1025,7 @@ class MainWindow(QMainWindow): self.wineCombo.addItems(self.wine_versions) self.wineCombo.setStyleSheet(self.theme.SETTINGS_COMBO_STYLE) self.wineCombo.setFocusPolicy(Qt.FocusPolicy.StrongFocus) - self.wineTitleLabel = QLabel(_("Wine/Proton Version:")) + self.wineTitleLabel = QLabel(_("Compatibility tool:")) self.wineTitleLabel.setStyleSheet(self.theme.PARAMS_TITLE_STYLE) self.wineTitleLabel.setFocusPolicy(Qt.FocusPolicy.NoFocus) if self.wine_versions: @@ -1039,7 +1038,7 @@ class MainWindow(QMainWindow): self.prefixCombo.addItems(self.prefixes) self.prefixCombo.setStyleSheet(self.theme.SETTINGS_COMBO_STYLE) self.prefixCombo.setFocusPolicy(Qt.FocusPolicy.StrongFocus) - self.prefixTitleLabel = QLabel(_("Wine Prefix:")) + self.prefixTitleLabel = QLabel(_("Prefix:")) self.prefixTitleLabel.setStyleSheet(self.theme.PARAMS_TITLE_STYLE) self.prefixTitleLabel.setFocusPolicy(Qt.FocusPolicy.NoFocus) if self.prefixes: @@ -1080,12 +1079,12 @@ class MainWindow(QMainWindow): additional_grid.setSpacing(6) additional_buttons = [ - (_("Winetricks"), None), + ("Winetricks", None), (_("Create Prefix Backup"), self.create_prefix_backup), (_("Load Prefix Backup"), self.load_prefix_backup), - (_("Delete Proton"), None), + (_("Delete Compatibility Tool"), None), (_("Delete Prefix"), None), - (_("Clean Prefix"), None), + (_("Clear Prefix"), None), ] for i, (text, callback) in enumerate(additional_buttons): @@ -1111,7 +1110,6 @@ class MainWindow(QMainWindow): def create_prefix_backup(self): selected_prefix = self.prefixCombo.currentText() if not selected_prefix: - QMessageBox.warning(self, _("Error"), _("Select a prefix first.")) return file_explorer = FileExplorer(self, directory_only=True) file_explorer.file_signal.file_selected.connect(lambda path: self._perform_backup(path, selected_prefix)) @@ -1120,11 +1118,9 @@ class MainWindow(QMainWindow): def _perform_backup(self, backup_dir, prefix_name): os.makedirs(backup_dir, exist_ok=True) if not self.portproton_location: - QMessageBox.warning(self, _("Error"), _("PortProton location not found.")) return start_sh = os.path.join(self.portproton_location, "data", "scripts", "start.sh") if not os.path.exists(start_sh): - QMessageBox.warning(self, _("Error"), _("start.sh not found.")) return self.backup_process = QProcess(self) self.backup_process.finished.connect(lambda exitCode, exitStatus: self._on_backup_finished(exitCode)) @@ -1140,14 +1136,11 @@ class MainWindow(QMainWindow): def _perform_restore(self, file_path): if not file_path or not os.path.exists(file_path): - QMessageBox.warning(self, _("Error"), _("Valid .ppack file path required.")) return if not self.portproton_location: - QMessageBox.warning(self, _("Error"), _("PortProton location not found.")) return start_sh = os.path.join(self.portproton_location, "data", "scripts", "start.sh") if not os.path.exists(start_sh): - QMessageBox.warning(self, _("Error"), _("start.sh not found.")) return self.restore_process = QProcess(self) self.restore_process.finished.connect(lambda exitCode, exitStatus: self._on_restore_finished(exitCode))