diff --git a/cartridges/cartridges.in b/cartridges/cartridges.in index 0eac260..9ef4c91 100755 --- a/cartridges/cartridges.in +++ b/cartridges/cartridges.in @@ -41,9 +41,9 @@ signal.signal(signal.SIGINT, signal.SIG_DFL) if system() == "Linux": locale.bindtextdomain("cartridges", LOCALEDIR) locale.textdomain("cartridges") - gettext.install("cartridges", LOCALEDIR) + gettext.install("cartridges", LOCALEDIR, names=['ngettext']) else: - gettext.install("cartridges") + gettext.install("cartridges", names=['ngettext']) if __name__ == "__main__": from gi.repository import Gio, GLib diff --git a/cartridges/importer/importer.py b/cartridges/importer/importer.py index b181073..f573452 100644 --- a/cartridges/importer/importer.py +++ b/cartridges/importer/importer.py @@ -18,7 +18,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -import gettext import logging from time import time from typing import Any, Optional @@ -376,12 +375,12 @@ class Importer(ErrorProducer): ) elif self.n_games_added >= 1: - # The variable is the number of games imported - toast_title = gettext.ngettext("{} game imported", "{} games imported", self.n_games_added).format(self.n_games_added) + # The variable is the number of games. + toast_title = ngettext("{} game imported", "{} games imported", self.n_games_added).format(self.n_games_added) if (removed_length := len(self.removed_game_ids)) >= 1: - # The variable is the number of games removed. This comes after the text "{} games imported, ". - toast_title += ", " + gettext.ngettext("{} removed", "{} removed", removed_length).format(removed_length) + # The variable is the number of games. This text comes after "{0} games imported". + toast_title += ngettext(", {} removed", ", {} removed", removed_length).format(removed_length) if self.n_games_added or self.removed_game_ids: toast.set_button_label(_("Undo")) diff --git a/po/ar.po b/po/ar.po index a568884..761b552 100644 --- a/po/ar.po +++ b/po/ar.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-02 23:03+0100\n" +"POT-Creation-Date: 2024-11-05 14:01+0100\n" "PO-Revision-Date: 2023-12-15 13:10+0000\n" "Last-Translator: Ali-98 \n" "Language-Team: Arabic \n" "Language-Team: Belarusian \n" "Language-Team: Catalan \n" "Language-Team: LANGUAGE \n" @@ -57,8 +57,8 @@ msgid "Edit Game Details" msgstr "" #: data/page.kramo.Cartridges.metainfo.xml.in:52 data/gtk/help-overlay.blp:19 -#: data/gtk/window.blp:543 cartridges/details_dialog.py:276 -#: cartridges/importer/importer.py:320 cartridges/importer/importer.py:370 +#: data/gtk/window.blp:543 cartridges/details_dialog.py:279 +#: cartridges/importer/importer.py:319 cartridges/importer/importer.py:369 msgid "Preferences" msgstr "" @@ -124,7 +124,7 @@ msgid "Keyboard Shortcuts" msgstr "" #: data/gtk/help-overlay.blp:29 cartridges/game.py:103 -#: cartridges/preferences.py:137 cartridges/importer/importer.py:387 +#: cartridges/preferences.py:137 cartridges/importer/importer.py:386 msgid "Undo" msgstr "" @@ -460,31 +460,31 @@ msgstr "" msgid "Add" msgstr "" -#: cartridges/details_dialog.py:99 +#: cartridges/details_dialog.py:102 msgid "Executables" msgstr "" #. Translate this string as you would translate "file" -#: cartridges/details_dialog.py:114 +#: cartridges/details_dialog.py:117 msgid "file.txt" msgstr "" #. As in software -#: cartridges/details_dialog.py:116 +#: cartridges/details_dialog.py:119 msgid "program" msgstr "" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:121 cartridges/details_dialog.py:123 +#: cartridges/details_dialog.py:124 cartridges/details_dialog.py:126 msgid "C:\\path\\to\\{}" msgstr "" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:127 cartridges/details_dialog.py:129 +#: cartridges/details_dialog.py:130 cartridges/details_dialog.py:132 msgid "/path/to/{}" msgstr "" -#: cartridges/details_dialog.py:134 +#: cartridges/details_dialog.py:137 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -497,19 +497,19 @@ msgid "" "If the path contains spaces, make sure to wrap it in double quotes!" msgstr "" -#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:182 +#: cartridges/details_dialog.py:179 cartridges/details_dialog.py:185 msgid "Couldn't Add Game" msgstr "" -#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:218 +#: cartridges/details_dialog.py:179 cartridges/details_dialog.py:221 msgid "Game title cannot be empty." msgstr "" -#: cartridges/details_dialog.py:182 cartridges/details_dialog.py:226 +#: cartridges/details_dialog.py:185 cartridges/details_dialog.py:229 msgid "Executable cannot be empty." msgstr "" -#: cartridges/details_dialog.py:217 cartridges/details_dialog.py:225 +#: cartridges/details_dialog.py:220 cartridges/details_dialog.py:228 msgid "Couldn't Apply Preferences" msgstr "" @@ -523,12 +523,9 @@ msgid "{} unhidden" msgstr "" #. The variable is the title of the game -#. The variable is the number of games removed. This comes after the text "{} games imported, ". -#: cartridges/game.py:153 cartridges/importer/importer.py:384 +#: cartridges/game.py:153 msgid "{} removed" -msgid_plural "{} removed" -msgstr[0] "" -msgstr[1] "" +msgstr "" #: cartridges/preferences.py:136 msgid "All games removed" @@ -555,7 +552,7 @@ msgstr "" msgid "Select a valid directory" msgstr "" -#: cartridges/preferences.py:407 cartridges/importer/importer.py:318 +#: cartridges/preferences.py:407 cartridges/importer/importer.py:317 msgid "Warning" msgstr "" @@ -567,7 +564,7 @@ msgstr "" msgid "Set Location" msgstr "" -#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:319 +#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:318 msgid "Dismiss" msgstr "" @@ -595,25 +592,32 @@ msgstr "" msgid "Last Year" msgstr "" -#: cartridges/importer/importer.py:145 +#: cartridges/importer/importer.py:144 msgid "Importing Games…" msgstr "" -#: cartridges/importer/importer.py:338 +#: cartridges/importer/importer.py:337 msgid "The following errors occured during import:" msgstr "" -#: cartridges/importer/importer.py:367 +#: cartridges/importer/importer.py:366 msgid "No new games found" msgstr "" -#. The variable is the number of games imported -#: cartridges/importer/importer.py:380 +#. The variable is the number of games. +#: cartridges/importer/importer.py:379 msgid "{} game imported" msgid_plural "{} games imported" msgstr[0] "" msgstr[1] "" +#. The variable is the number of games. This text comes after "{0} games imported". +#: cartridges/importer/importer.py:383 +msgid ", {} removed" +msgid_plural ", {} removed" +msgstr[0] "" +msgstr[1] "" + #. The variable is the name of the source #: cartridges/importer/location.py:34 msgid "Select the {} cache directory." diff --git a/po/cs.po b/po/cs.po index 963eda0..8e9d26f 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-02 23:03+0100\n" +"POT-Creation-Date: 2024-11-05 14:01+0100\n" "PO-Revision-Date: 2024-06-28 07:09+0000\n" "Last-Translator: foo expert \n" "Language-Team: Czech \n" "Language-Team: German \n" "Language-Team: Greek \n" "Language-Team: English (United Kingdom) \n" "Language-Team: Spanish \n" "Language-Team: Persian \n" "Language-Team: Finnish \n" "Language-Team: French \n" "Language-Team: Hindi \n" "Language-Team: Croatian \n" "Language-Team: Hungarian \n" "Language-Team: Occidental \n" "Language-Team: Italian \n" "Language-Team: Japanese \n" "Language-Team: Korean \n" "Language-Team: Norwegian Bokmål \n" "Language-Team: Dutch \n" "Language-Team: Polish \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Romanian \n" @@ -68,8 +68,8 @@ msgid "Edit Game Details" msgstr "Редактировать подробности об игре" #: data/page.kramo.Cartridges.metainfo.xml.in:52 data/gtk/help-overlay.blp:19 -#: data/gtk/window.blp:543 cartridges/details_dialog.py:276 -#: cartridges/importer/importer.py:320 cartridges/importer/importer.py:370 +#: data/gtk/window.blp:543 cartridges/details_dialog.py:279 +#: cartridges/importer/importer.py:319 cartridges/importer/importer.py:369 msgid "Preferences" msgstr "Параметры" @@ -135,7 +135,7 @@ msgid "Keyboard Shortcuts" msgstr "Комбинации клавиш" #: data/gtk/help-overlay.blp:29 cartridges/game.py:103 -#: cartridges/preferences.py:137 cartridges/importer/importer.py:387 +#: cartridges/preferences.py:137 cartridges/importer/importer.py:386 msgid "Undo" msgstr "Вернуть" @@ -471,31 +471,31 @@ msgstr "Добавить новую игру" msgid "Add" msgstr "Добавить" -#: cartridges/details_dialog.py:99 +#: cartridges/details_dialog.py:102 msgid "Executables" msgstr "Исполняемые" #. Translate this string as you would translate "file" -#: cartridges/details_dialog.py:114 +#: cartridges/details_dialog.py:117 msgid "file.txt" msgstr "file.txt" #. As in software -#: cartridges/details_dialog.py:116 +#: cartridges/details_dialog.py:119 msgid "program" msgstr "программа" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:121 cartridges/details_dialog.py:123 +#: cartridges/details_dialog.py:124 cartridges/details_dialog.py:126 msgid "C:\\path\\to\\{}" msgstr "C:\\путь\\к\\{}" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:127 cartridges/details_dialog.py:129 +#: cartridges/details_dialog.py:130 cartridges/details_dialog.py:132 msgid "/path/to/{}" msgstr "/путь/к/{}" -#: cartridges/details_dialog.py:134 +#: cartridges/details_dialog.py:137 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -517,19 +517,19 @@ msgstr "" "\n" "Если путь содержит пробелы, обязательно заключите его в двойные кавычки!" -#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:182 +#: cartridges/details_dialog.py:179 cartridges/details_dialog.py:185 msgid "Couldn't Add Game" msgstr "Не удалось добавить игру" -#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:218 +#: cartridges/details_dialog.py:179 cartridges/details_dialog.py:221 msgid "Game title cannot be empty." msgstr "Название игры не может быть пустым." -#: cartridges/details_dialog.py:182 cartridges/details_dialog.py:226 +#: cartridges/details_dialog.py:185 cartridges/details_dialog.py:229 msgid "Executable cannot be empty." msgstr "Исполняемый файл не может быть пустым." -#: cartridges/details_dialog.py:217 cartridges/details_dialog.py:225 +#: cartridges/details_dialog.py:220 cartridges/details_dialog.py:228 msgid "Couldn't Apply Preferences" msgstr "Не удалось применить параметры" @@ -543,13 +543,10 @@ msgid "{} unhidden" msgstr "{} - не скрыта" #. The variable is the title of the game -#. The variable is the number of games removed. This comes after the text "{} games imported, ". -#: cartridges/game.py:153 cartridges/importer/importer.py:384 +#: cartridges/game.py:153 +#, fuzzy msgid "{} removed" -msgid_plural "{} removed" -msgstr[0] "{} удалена" -msgstr[1] "{} удалены" -msgstr[2] "{} удалено" +msgstr "{} удалена" #: cartridges/preferences.py:136 msgid "All games removed" @@ -578,7 +575,7 @@ msgstr "Установка не найдена" msgid "Select a valid directory" msgstr "Выберите действующий каталог" -#: cartridges/preferences.py:407 cartridges/importer/importer.py:318 +#: cartridges/preferences.py:407 cartridges/importer/importer.py:317 msgid "Warning" msgstr "Предупреждение" @@ -590,7 +587,7 @@ msgstr "Неверный каталог" msgid "Set Location" msgstr "Установить расположение" -#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:319 +#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:318 msgid "Dismiss" msgstr "Отклонить" @@ -618,26 +615,35 @@ msgstr "В прошлом месяце" msgid "Last Year" msgstr "В прошедшем году" -#: cartridges/importer/importer.py:145 +#: cartridges/importer/importer.py:144 msgid "Importing Games…" msgstr "Импорт игр…" -#: cartridges/importer/importer.py:338 +#: cartridges/importer/importer.py:337 msgid "The following errors occured during import:" msgstr "При импорте возникли следующие ошибки:" -#: cartridges/importer/importer.py:367 +#: cartridges/importer/importer.py:366 msgid "No new games found" msgstr "Новых игр не найдено" -#. The variable is the number of games imported -#: cartridges/importer/importer.py:380 +#. The variable is the number of games. +#: cartridges/importer/importer.py:379 msgid "{} game imported" msgid_plural "{} games imported" msgstr[0] "{} игра импортирована" msgstr[1] "{} игры импортировано" msgstr[2] "{} игр импортировано" +#. The variable is the number of games. This text comes after "{0} games imported". +#: cartridges/importer/importer.py:383 +#, fuzzy +msgid ", {} removed" +msgid_plural ", {} removed" +msgstr[0] "{} удалена" +msgstr[1] "{} удалены" +msgstr[2] "{} удалено" + #. The variable is the name of the source #: cartridges/importer/location.py:34 msgid "Select the {} cache directory." diff --git a/po/sv.po b/po/sv.po index 7a4159e..d958b65 100644 --- a/po/sv.po +++ b/po/sv.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-02 23:03+0100\n" +"POT-Creation-Date: 2024-11-05 14:01+0100\n" "PO-Revision-Date: 2024-11-04 11:01+0000\n" "Last-Translator: bittin1ddc447d824349b2 \n" "Language-Team: Swedish \n" "Language-Team: Tamil \n" "Language-Team: Telugu\n" @@ -61,8 +61,8 @@ msgid "Edit Game Details" msgstr "గేమ్ వివరాలను సవరించండి" #: data/page.kramo.Cartridges.metainfo.xml.in:52 data/gtk/help-overlay.blp:19 -#: data/gtk/window.blp:543 cartridges/details_dialog.py:276 -#: cartridges/importer/importer.py:320 cartridges/importer/importer.py:370 +#: data/gtk/window.blp:543 cartridges/details_dialog.py:279 +#: cartridges/importer/importer.py:319 cartridges/importer/importer.py:369 msgid "Preferences" msgstr "ప్రాధాన్యతలు" @@ -128,7 +128,7 @@ msgid "Keyboard Shortcuts" msgstr "కీబోర్డ్ సత్వరమార్గాలు" #: data/gtk/help-overlay.blp:29 cartridges/game.py:103 -#: cartridges/preferences.py:137 cartridges/importer/importer.py:387 +#: cartridges/preferences.py:137 cartridges/importer/importer.py:386 msgid "Undo" msgstr "అన్డు" @@ -464,31 +464,31 @@ msgstr "కొత్త గేమ్‌ని జోడించండి" msgid "Add" msgstr "జోడించు" -#: cartridges/details_dialog.py:99 +#: cartridges/details_dialog.py:102 msgid "Executables" msgstr "ఎక్జిక్యూటబుల్స్" #. Translate this string as you would translate "file" -#: cartridges/details_dialog.py:114 +#: cartridges/details_dialog.py:117 msgid "file.txt" msgstr "file.txt" #. As in software -#: cartridges/details_dialog.py:116 +#: cartridges/details_dialog.py:119 msgid "program" msgstr "ప్రోగ్రామ్" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:121 cartridges/details_dialog.py:123 +#: cartridges/details_dialog.py:124 cartridges/details_dialog.py:126 msgid "C:\\path\\to\\{}" msgstr "C:\\path\\to\\{}" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:127 cartridges/details_dialog.py:129 +#: cartridges/details_dialog.py:130 cartridges/details_dialog.py:132 msgid "/path/to/{}" msgstr "/path/to/{}" -#: cartridges/details_dialog.py:134 +#: cartridges/details_dialog.py:137 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -510,19 +510,19 @@ msgstr "" "\n" "మార్గం ఖాళీలను కలిగి ఉన్నట్లయితే, దానిని డబుల్ కోట్‌లలో చుట్టేలా చూసుకోండి!" -#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:182 +#: cartridges/details_dialog.py:179 cartridges/details_dialog.py:185 msgid "Couldn't Add Game" msgstr "గేమ్‌ని జోడించడం సాధ్యపడలేదు" -#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:218 +#: cartridges/details_dialog.py:179 cartridges/details_dialog.py:221 msgid "Game title cannot be empty." msgstr "గేమ్ శీర్షిక ఖాళీగా ఉండకూడదు." -#: cartridges/details_dialog.py:182 cartridges/details_dialog.py:226 +#: cartridges/details_dialog.py:185 cartridges/details_dialog.py:229 msgid "Executable cannot be empty." msgstr "ఎక్జిక్యూటబుల్ ఖాళీగా ఉండకూడదు." -#: cartridges/details_dialog.py:217 cartridges/details_dialog.py:225 +#: cartridges/details_dialog.py:220 cartridges/details_dialog.py:228 msgid "Couldn't Apply Preferences" msgstr "ప్రాధాన్యతలను వర్తింపజేయడం సాధ్యపడలేదు" @@ -536,13 +536,10 @@ msgid "{} unhidden" msgstr "{} దాచబడలేదు" #. The variable is the title of the game -#. The variable is the number of games removed. This comes after the text "{} games imported, ". -#: cartridges/game.py:153 cartridges/importer/importer.py:384 +#: cartridges/game.py:153 #, fuzzy msgid "{} removed" -msgid_plural "{} removed" -msgstr[0] "{} తీసివేయబడింది" -msgstr[1] "{} తీసివేయబడింది" +msgstr "{} తీసివేయబడింది" #: cartridges/preferences.py:136 msgid "All games removed" @@ -569,7 +566,7 @@ msgstr "ఇన్‌స్టాలేషన్ కనుగొనబడలే msgid "Select a valid directory" msgstr "చెల్లుబాటు అయ్యే డైరెక్టరీని ఎంచుకోండి" -#: cartridges/preferences.py:407 cartridges/importer/importer.py:318 +#: cartridges/preferences.py:407 cartridges/importer/importer.py:317 msgid "Warning" msgstr "హెచ్చరిక" @@ -581,7 +578,7 @@ msgstr "చెల్లని డైరెక్టరీ" msgid "Set Location" msgstr "స్థానాన్ని సెట్ చేయండి" -#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:319 +#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:318 msgid "Dismiss" msgstr "తొలగించు" @@ -611,26 +608,34 @@ msgstr "" msgid "Last Year" msgstr "చివరిగా ఆడినది" -#: cartridges/importer/importer.py:145 +#: cartridges/importer/importer.py:144 msgid "Importing Games…" msgstr "గేమ్‌లను దిగుమతి చేస్తోంది..." -#: cartridges/importer/importer.py:338 +#: cartridges/importer/importer.py:337 msgid "The following errors occured during import:" msgstr "దిగుమతి సమయంలో క్రింది లోపాలు సంభవించాయి:" -#: cartridges/importer/importer.py:367 +#: cartridges/importer/importer.py:366 msgid "No new games found" msgstr "కొత్త గేమ్‌లు ఏవీ కనుగొనబడలేదు" -#. The variable is the number of games imported -#: cartridges/importer/importer.py:380 +#. The variable is the number of games. +#: cartridges/importer/importer.py:379 #, fuzzy msgid "{} game imported" msgid_plural "{} games imported" msgstr[0] "{} గేమ్‌లు దిగుమతి చేయబడ్డాయి" msgstr[1] "{} గేమ్‌లు దిగుమతి చేయబడ్డాయి" +#. The variable is the number of games. This text comes after "{0} games imported". +#: cartridges/importer/importer.py:383 +#, fuzzy +msgid ", {} removed" +msgid_plural ", {} removed" +msgstr[0] "{} తీసివేయబడింది" +msgstr[1] "{} తీసివేయబడింది" + #. The variable is the name of the source #: cartridges/importer/location.py:34 msgid "Select the {} cache directory." diff --git a/po/tr.po b/po/tr.po index d5bd243..b192c63 100644 --- a/po/tr.po +++ b/po/tr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-02 23:03+0100\n" +"POT-Creation-Date: 2024-11-05 14:01+0100\n" "PO-Revision-Date: 2023-12-16 23:25+0000\n" "Last-Translator: Sabri Ünal \n" "Language-Team: Turkish \n" "Language-Team: Ukrainian \n" "Language-Team: Chinese (Simplified)