From 498f99e771e5eb9a39c8c67c61a29d3846337fbe Mon Sep 17 00:00:00 2001 From: skilpedde Date: Tue, 22 Oct 2024 13:03:25 +0200 Subject: [PATCH 1/5] Update to dgettext and fix translator-credits string --- cartridges/importer/importer.py | 19 ++++++------------- cartridges/main.py | 2 +- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/cartridges/importer/importer.py b/cartridges/importer/importer.py index 96b10f0..87b723c 100644 --- a/cartridges/importer/importer.py +++ b/cartridges/importer/importer.py @@ -18,6 +18,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later +import gettext import logging from time import time from typing import Any, Optional @@ -33,7 +34,6 @@ from cartridges.importer.source import Source from cartridges.store.managers.async_manager import AsyncManager from cartridges.store.pipeline import Pipeline - # pylint: disable=too-many-instance-attributes class Importer(ErrorProducer): """A class in charge of scanning sources for games""" @@ -376,20 +376,13 @@ class Importer(ErrorProducer): "import", ) - elif self.n_games_added == 1: - toast_title = _("1 game imported") + elif self.n_games_added >= 1: + # The variable is the number of games imported + toast_title = gettext.ngettext("1 game imported", "{} games imported", self.n_games_added).format(self.n_games_added) - elif self.n_games_added > 1: - # The variable is the number of games - toast_title = _("{} games imported").format(self.n_games_added) - - if (removed_length := len(self.removed_game_ids)) == 1: - # A single game removed - toast_title += ", " + _("1 removed") - - elif removed_length > 1: + if (removed_length := len(self.removed_game_ids)) >= 1: # The variable is the number of games removed - toast_title += ", " + _("{} removed").format(removed_length) + toast_title += ", " + gettext.ngettext("1 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/cartridges/main.py b/cartridges/main.py index fac4549..1325af6 100644 --- a/cartridges/main.py +++ b/cartridges/main.py @@ -288,7 +288,7 @@ class CartridgesApplication(Adw.Application): about.set_designers(("kramo https://kramo.page",)) about.set_copyright("© 2022-2024 kramo") # Translators: Replace this with your name for it to show up in the about window - about.set_translator_credits = (_("translator_credits"),) + about.set_translator_credits = (_("translator-credits"),) about.set_debug_info(debug_str) about.set_debug_info_filename("cartridges.log") about.add_legal_section( From 247649fce102630eb4c60c144d5b3c636a48783a Mon Sep 17 00:00:00 2001 From: skilpedde Date: Tue, 22 Oct 2024 13:21:11 +0200 Subject: [PATCH 2/5] Update po Manual changes have also been made to adapt to ngettext. --- .gitignore | 1 + po/ar.po | 265 ++++++++++++++++-------------- po/be.po | 259 +++++++++++++++-------------- po/ca.po | 257 +++++++++++++++-------------- po/cartridges.pot | 252 +++++++++++++++-------------- po/cs.po | 259 +++++++++++++++-------------- po/de.po | 257 +++++++++++++++-------------- po/el.po | 257 +++++++++++++++-------------- po/en_GB.po | 257 +++++++++++++++-------------- po/es.po | 257 +++++++++++++++-------------- po/fa.po | 257 +++++++++++++++-------------- po/fi.po | 257 +++++++++++++++-------------- po/fr.po | 257 +++++++++++++++-------------- po/hi.po | 260 +++++++++++++++--------------- po/hr.po | 259 +++++++++++++++-------------- po/hu.po | 257 +++++++++++++++-------------- po/ie.po | 257 +++++++++++++++-------------- po/it.po | 257 +++++++++++++++-------------- po/ja.po | 249 ++++++++++++++-------------- po/ko.po | 255 +++++++++++++++-------------- po/nb_NO.po | 403 ++++++++++++++++++++++------------------------ po/nl.po | 257 +++++++++++++++-------------- po/pl.po | 259 +++++++++++++++-------------- po/pt.po | 257 +++++++++++++++-------------- po/pt_BR.po | 257 +++++++++++++++-------------- po/ro.po | 253 +++++++++++++++-------------- po/ru.po | 259 +++++++++++++++-------------- po/sv.po | 257 +++++++++++++++-------------- po/ta.po | 257 +++++++++++++++-------------- po/te.po | 257 +++++++++++++++-------------- po/tr.po | 257 +++++++++++++++-------------- po/uk.po | 259 +++++++++++++++-------------- po/zh_Hans.po | 255 +++++++++++++++-------------- 33 files changed, 4313 insertions(+), 4060 deletions(-) diff --git a/.gitignore b/.gitignore index 2dbd313..b4b1b7e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +build-aux/flatpak/page.kramo.Cartridges.json /subprojects/blueprint-compiler /build-aux/macos/build /build-aux/macos/dist diff --git a/po/ar.po b/po/ar.po index 648eb13..3512235 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-04-14 12:48+0200\n" +"POT-Creation-Date: 2024-10-22 12:57+0200\n" "PO-Revision-Date: 2023-12-15 13:10+0000\n" "Last-Translator: Ali-98 \n" "Language-Team: Arabic " #. The variable is the date when the game was added -#: cartridges/window.py:373 +#: cartridges/window.py:382 msgid "Added: {}" msgstr "أضيفت في: {}" -#: cartridges/window.py:376 +#: cartridges/window.py:385 msgid "Never" msgstr "أبدًا" #. The variable is the date when the game was last played -#: cartridges/window.py:380 +#: cartridges/window.py:389 msgid "Last played: {}" msgstr "لُعبت آخر مرَّة في: {}" -#: cartridges/details_dialog.py:73 +#: cartridges/details_dialog.py:82 msgid "Apply" msgstr "طبِّق" -#: cartridges/details_dialog.py:79 +#: cartridges/details_dialog.py:88 msgid "Add New Game" msgstr "أضف لعبةً جديدةً" -#: cartridges/details_dialog.py:80 +#: cartridges/details_dialog.py:89 msgid "Add" msgstr "أضف" -#: cartridges/details_dialog.py:90 +#: cartridges/details_dialog.py:99 msgid "Executables" msgstr "ملفات التنفيذ" #. Translate this string as you would translate "file" -#: cartridges/details_dialog.py:105 +#: cartridges/details_dialog.py:114 msgid "file.txt" msgstr "ملف.txt" #. As in software -#: cartridges/details_dialog.py:107 +#: cartridges/details_dialog.py:116 msgid "program" msgstr "البرنامج" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:112 cartridges/details_dialog.py:114 +#: cartridges/details_dialog.py:121 cartridges/details_dialog.py:123 msgid "C:\\path\\to\\{}" msgstr "C:\\المسار\\إلى\\{}" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:118 cartridges/details_dialog.py:120 +#: cartridges/details_dialog.py:127 cartridges/details_dialog.py:129 msgid "/path/to/{}" msgstr "/المسار/إلى/{}" -#: cartridges/details_dialog.py:125 +#: cartridges/details_dialog.py:134 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -509,19 +514,19 @@ msgstr "" "\n" "ولا تنسَ إحاطة المسار بعلامتي تنصيص مزدوجتين حالما تضمَّن مسافات!" -#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:173 +#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:182 msgid "Couldn't Add Game" msgstr "تعذَّرت إضافة اللعبة" -#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:209 +#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:218 msgid "Game title cannot be empty." msgstr "لا يجوز كون عنوان اللعبة فارغًا." -#: cartridges/details_dialog.py:173 cartridges/details_dialog.py:217 +#: cartridges/details_dialog.py:182 cartridges/details_dialog.py:226 msgid "Executable cannot be empty." msgstr "لا يجوز كون ملفِّ التنفيذ فارغًا." -#: cartridges/details_dialog.py:208 cartridges/details_dialog.py:216 +#: cartridges/details_dialog.py:217 cartridges/details_dialog.py:225 msgid "Couldn't Apply Preferences" msgstr "تعذَّر تطبيق التفضيلات" @@ -535,50 +540,49 @@ msgid "{} unhidden" msgstr "أٌظهرت {}" #. The variable is the title of the game -#. The variable is the number of games removed -#: cartridges/game.py:153 cartridges/importer/importer.py:391 +#: cartridges/game.py:153 msgid "{} removed" msgstr "أزيلت {}" -#: cartridges/preferences.py:133 +#: cartridges/preferences.py:135 msgid "All games removed" msgstr "أُزيلت كلُّ الألعاب" -#: cartridges/preferences.py:181 +#: cartridges/preferences.py:187 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "تحتاج مفتاح واجهة برمجة حال ما أردت استخدام SteamGridDB، {}هنا تولِّده{}." -#: cartridges/preferences.py:196 +#: cartridges/preferences.py:202 msgid "Downloading covers…" msgstr "تُنزَّل الغُلُف…" -#: cartridges/preferences.py:215 +#: cartridges/preferences.py:221 msgid "Covers updated" msgstr "حُدِّثت الغُلُف" -#: cartridges/preferences.py:360 +#: cartridges/preferences.py:368 msgid "Installation Not Found" msgstr "لم يُعثر على التثبيت" -#: cartridges/preferences.py:361 +#: cartridges/preferences.py:369 msgid "Select a valid directory" msgstr "حدِّد مجلَّدًا صالحًا" -#: cartridges/preferences.py:397 cartridges/importer/importer.py:318 +#: cartridges/preferences.py:405 cartridges/importer/importer.py:319 msgid "Warning" msgstr "تحذير" -#: cartridges/preferences.py:431 +#: cartridges/preferences.py:439 msgid "Invalid Directory" msgstr "مجلَّد غير صالح" -#: cartridges/preferences.py:437 +#: cartridges/preferences.py:445 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:320 msgid "Dismiss" msgstr "تجاهل" @@ -586,27 +590,37 @@ msgstr "تجاهل" msgid "Importing Games…" msgstr "تُستورد الألعاب…" -#: cartridges/importer/importer.py:338 +#: cartridges/importer/importer.py:339 msgid "The following errors occured during import:" msgstr "طرأ هذا الخطأ أثناء الاستيراد:" -#: cartridges/importer/importer.py:367 +#: cartridges/importer/importer.py:368 msgid "No new games found" msgstr "لم يُعثر على ألعاب جديدة" -#: cartridges/importer/importer.py:379 +#. The variable is the number of games imported +#: cartridges/importer/importer.py:381 +#, fuzzy msgid "1 game imported" -msgstr "اُستوردت لعبة واحدة" +msgid_plural "{} games imported" +msgstr[0] "اُستوردت لعبة واحدة" +msgstr[1] "اُستوردت {} لعبة" +msgstr[2] "اُستوردت {} لعبة" +msgstr[3] "اُستوردت {} لعبة" +msgstr[4] "اُستوردت {} لعبة" +msgstr[5] "اُستوردت {} لعبة" -#. The variable is the number of games -#: cartridges/importer/importer.py:383 -msgid "{} games imported" -msgstr "اُستوردت {} لعبة" - -#. A single game removed -#: cartridges/importer/importer.py:387 +#. The variable is the number of games removed +#: cartridges/importer/importer.py:385 +#, fuzzy msgid "1 removed" -msgstr "أزيل ١" +msgid_plural "{} removed" +msgstr[0] "أزيل ١" +msgstr[1] "أزيل {}" +msgstr[2] "أزيل {}" +msgstr[3] "أزيل {}" +msgstr[4] "أزيل {}" +msgstr[5] "أزيل {}" #. The variable is the name of the source #: cartridges/importer/location.py:34 @@ -644,6 +658,9 @@ msgstr "تعذَّر استيثاق SteamGridDB" msgid "Verify your API key in preferences" msgstr "أكِّد مفتاح واجهة البرمجة في التفضيلات" +#~ msgid "{} games imported" +#~ msgstr "اُستوردت {} لعبة" + #~ msgid "Cache Location" #~ msgstr "موضع الذاكرة المؤقتة" diff --git a/po/be.po b/po/be.po index 74e82eb..ef0692f 100644 --- a/po/be.po +++ b/po/be.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-14 12:48+0200\n" +"POT-Creation-Date: 2024-10-22 12:57+0200\n" "PO-Revision-Date: 2023-12-13 09:28+0000\n" "Last-Translator: Yahor \n" "Language-Team: Belarusian \n" "Language-Team: Catalan \n" "Language-Team: LANGUAGE \n" @@ -16,6 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: data/page.kramo.Cartridges.desktop.in:3 #: data/page.kramo.Cartridges.metainfo.xml.in:9 @@ -46,8 +47,8 @@ msgid "" "SteamGridDB." msgstr "" -#: data/page.kramo.Cartridges.metainfo.xml.in:44 data/gtk/window.blp:318 -#: cartridges/details_dialog.py:68 +#: data/page.kramo.Cartridges.metainfo.xml.in:44 data/gtk/window.blp:320 +#: cartridges/details_dialog.py:77 msgid "Game Details" msgstr "" @@ -56,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:542 cartridges/details_dialog.py:267 -#: cartridges/importer/importer.py:320 cartridges/importer/importer.py:370 +#: data/gtk/window.blp:543 cartridges/details_dialog.py:276 +#: cartridges/importer/importer.py:321 cartridges/importer/importer.py:371 msgid "Preferences" msgstr "" @@ -65,47 +66,47 @@ msgstr "" msgid "Cancel" msgstr "" -#: data/gtk/details-dialog.blp:46 +#: data/gtk/details-dialog.blp:45 msgid "New Cover" msgstr "" -#: data/gtk/details-dialog.blp:65 +#: data/gtk/details-dialog.blp:64 msgid "Delete Cover" msgstr "" -#: data/gtk/details-dialog.blp:93 data/gtk/game.blp:81 +#: data/gtk/details-dialog.blp:92 data/gtk/game.blp:80 msgid "Title" msgstr "" -#: data/gtk/details-dialog.blp:97 +#: data/gtk/details-dialog.blp:96 msgid "Developer (optional)" msgstr "" -#: data/gtk/details-dialog.blp:103 +#: data/gtk/details-dialog.blp:102 msgid "Executable" msgstr "" -#: data/gtk/details-dialog.blp:109 +#: data/gtk/details-dialog.blp:108 msgid "Select File" msgstr "" -#: data/gtk/details-dialog.blp:120 +#: data/gtk/details-dialog.blp:119 msgid "More Info" msgstr "" -#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:443 +#: data/gtk/game.blp:101 data/gtk/game.blp:109 data/gtk/window.blp:444 msgid "Edit" msgstr "" -#: data/gtk/game.blp:103 cartridges/window.py:350 +#: data/gtk/game.blp:102 cartridges/window.py:359 msgid "Hide" msgstr "" -#: data/gtk/game.blp:104 data/gtk/game.blp:112 data/gtk/window.blp:463 +#: data/gtk/game.blp:103 data/gtk/game.blp:111 data/gtk/window.blp:464 msgid "Remove" msgstr "" -#: data/gtk/game.blp:111 cartridges/window.py:352 +#: data/gtk/game.blp:110 cartridges/window.py:361 msgid "Unhide" msgstr "" @@ -113,17 +114,17 @@ msgstr "" msgid "General" msgstr "" -#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:205 data/gtk/window.blp:221 -#: data/gtk/window.blp:272 data/gtk/window.blp:288 data/gtk/window.blp:474 +#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:207 data/gtk/window.blp:223 +#: data/gtk/window.blp:274 data/gtk/window.blp:290 data/gtk/window.blp:475 msgid "Search" msgstr "" -#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:543 +#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:544 msgid "Keyboard Shortcuts" msgstr "" #: data/gtk/help-overlay.blp:29 cartridges/game.py:103 -#: cartridges/preferences.py:134 cartridges/importer/importer.py:394 +#: cartridges/preferences.py:136 cartridges/importer/importer.py:388 msgid "Undo" msgstr "" @@ -131,11 +132,11 @@ msgstr "" msgid "Quit" msgstr "" -#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:185 +#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:187 msgid "Toggle Sidebar" msgstr "" -#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:198 data/gtk/window.blp:265 +#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:200 data/gtk/window.blp:267 msgid "Main Menu" msgstr "" @@ -143,12 +144,12 @@ msgstr "" msgid "Games" msgstr "" -#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:191 data/gtk/window.blp:550 +#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:193 data/gtk/window.blp:551 msgid "Add Game" msgstr "" -#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:113 -#: data/gtk/window.blp:27 data/gtk/window.blp:554 +#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:58 +#: data/gtk/window.blp:27 data/gtk/window.blp:555 msgid "Import" msgstr "" @@ -160,8 +161,8 @@ msgstr "" msgid "Remove Game" msgstr "" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:117 -#: data/gtk/preferences.blp:415 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:62 +#: data/gtk/preferences.blp:361 msgid "Behavior" msgstr "" @@ -177,7 +178,7 @@ msgstr "" msgid "Swaps the behavior of the cover image and the play button" msgstr "" -#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:82 +#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:91 msgid "Images" msgstr "" @@ -193,137 +194,141 @@ msgstr "" msgid "Danger Zone" msgstr "" -#: data/gtk/preferences.blp:48 +#: data/gtk/preferences.blp:39 msgid "Remove All Games" msgstr "" -#: data/gtk/preferences.blp:120 +#: data/gtk/preferences.blp:47 +msgid "Reset App" +msgstr "" + +#: data/gtk/preferences.blp:65 msgid "Remove Uninstalled Games" msgstr "" -#: data/gtk/preferences.blp:125 +#: data/gtk/preferences.blp:70 msgid "Sources" msgstr "" -#: data/gtk/preferences.blp:128 cartridges/importer/steam_source.py:114 +#: data/gtk/preferences.blp:74 cartridges/importer/steam_source.py:114 msgid "Steam" msgstr "" -#: data/gtk/preferences.blp:137 data/gtk/preferences.blp:164 -#: data/gtk/preferences.blp:199 data/gtk/preferences.blp:242 -#: data/gtk/preferences.blp:269 data/gtk/preferences.blp:296 -#: data/gtk/preferences.blp:323 +#: data/gtk/preferences.blp:83 data/gtk/preferences.blp:110 +#: data/gtk/preferences.blp:145 data/gtk/preferences.blp:188 +#: data/gtk/preferences.blp:215 data/gtk/preferences.blp:242 +#: data/gtk/preferences.blp:269 msgid "Install Location" msgstr "" -#: data/gtk/preferences.blp:155 data/gtk/window.blp:564 -#: cartridges/importer/lutris_source.py:96 +#: data/gtk/preferences.blp:101 data/gtk/window.blp:565 +#: cartridges/importer/lutris_source.py:107 msgid "Lutris" msgstr "" -#: data/gtk/preferences.blp:181 +#: data/gtk/preferences.blp:127 msgid "Import Steam Games" msgstr "" -#: data/gtk/preferences.blp:185 +#: data/gtk/preferences.blp:131 msgid "Import Flatpak Games" msgstr "" -#: data/gtk/preferences.blp:190 cartridges/importer/heroic_source.py:355 +#: data/gtk/preferences.blp:136 cartridges/importer/heroic_source.py:355 msgid "Heroic" msgstr "" -#: data/gtk/preferences.blp:216 +#: data/gtk/preferences.blp:162 msgid "Import Epic Games" msgstr "" -#: data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:166 msgid "Import GOG Games" msgstr "" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:170 msgid "Import Amazon Games" msgstr "" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:174 msgid "Import Sideloaded Games" msgstr "" -#: data/gtk/preferences.blp:233 cartridges/importer/bottles_source.py:86 +#: data/gtk/preferences.blp:179 cartridges/importer/bottles_source.py:86 msgid "Bottles" msgstr "" -#: data/gtk/preferences.blp:260 cartridges/importer/itch_source.py:81 +#: data/gtk/preferences.blp:206 cartridges/importer/itch_source.py:81 msgid "itch" msgstr "" -#: data/gtk/preferences.blp:287 cartridges/importer/legendary_source.py:97 +#: data/gtk/preferences.blp:233 cartridges/importer/legendary_source.py:97 msgid "Legendary" msgstr "" -#: data/gtk/preferences.blp:314 cartridges/importer/retroarch_source.py:142 +#: data/gtk/preferences.blp:260 cartridges/importer/retroarch_source.py:142 msgid "RetroArch" msgstr "" -#: data/gtk/preferences.blp:341 cartridges/importer/flatpak_source.py:143 +#: data/gtk/preferences.blp:287 cartridges/importer/flatpak_source.py:143 msgid "Flatpak" msgstr "" #. The location of the system-wide data directory -#: data/gtk/preferences.blp:351 +#: data/gtk/preferences.blp:297 msgid "System Location" msgstr "" #. The location of the user-specific data directory -#: data/gtk/preferences.blp:369 +#: data/gtk/preferences.blp:315 msgid "User Location" msgstr "" -#: data/gtk/preferences.blp:386 +#: data/gtk/preferences.blp:332 msgid "Import Game Launchers" msgstr "" -#: data/gtk/preferences.blp:391 cartridges/importer/desktop_source.py:215 +#: data/gtk/preferences.blp:337 cartridges/importer/desktop_source.py:215 msgid "Desktop Entries" msgstr "" -#: data/gtk/preferences.blp:403 data/gtk/window.blp:562 +#: data/gtk/preferences.blp:349 data/gtk/window.blp:563 msgid "SteamGridDB" msgstr "" -#: data/gtk/preferences.blp:407 +#: data/gtk/preferences.blp:353 msgid "Authentication" msgstr "" -#: data/gtk/preferences.blp:410 +#: data/gtk/preferences.blp:356 msgid "API Key" msgstr "" -#: data/gtk/preferences.blp:418 +#: data/gtk/preferences.blp:364 msgid "Use SteamGridDB" msgstr "" -#: data/gtk/preferences.blp:419 +#: data/gtk/preferences.blp:365 msgid "Download images when adding or importing games" msgstr "" -#: data/gtk/preferences.blp:423 +#: data/gtk/preferences.blp:369 msgid "Prefer Over Official Images" msgstr "" -#: data/gtk/preferences.blp:427 +#: data/gtk/preferences.blp:373 msgid "Prefer Animated Images" msgstr "" -#: data/gtk/preferences.blp:433 +#: data/gtk/preferences.blp:379 msgid "Update Covers" msgstr "" -#: data/gtk/preferences.blp:434 +#: data/gtk/preferences.blp:380 msgid "Fetch covers for games already in your library" msgstr "" -#: data/gtk/preferences.blp:439 +#: data/gtk/preferences.blp:385 msgid "Update" msgstr "" @@ -351,135 +356,135 @@ msgstr "" msgid "Games you hide will appear here" msgstr "" -#: data/gtk/window.blp:76 data/gtk/window.blp:111 cartridges/main.py:228 +#: data/gtk/window.blp:76 data/gtk/window.blp:113 cartridges/main.py:249 msgid "All Games" msgstr "" -#: data/gtk/window.blp:136 cartridges/main.py:230 +#: data/gtk/window.blp:140 cartridges/main.py:251 msgid "Added" msgstr "" -#: data/gtk/window.blp:156 +#: data/gtk/window.blp:162 msgid "Imported" msgstr "" -#: data/gtk/window.blp:258 +#: data/gtk/window.blp:260 msgid "Hidden Games" msgstr "" -#: data/gtk/window.blp:367 +#: data/gtk/window.blp:368 msgid "Game Title" msgstr "" -#: data/gtk/window.blp:424 +#: data/gtk/window.blp:425 msgid "Play" msgstr "" -#: data/gtk/window.blp:501 +#: data/gtk/window.blp:502 msgid "Sort" msgstr "" -#: data/gtk/window.blp:504 +#: data/gtk/window.blp:505 msgid "A-Z" msgstr "" -#: data/gtk/window.blp:510 +#: data/gtk/window.blp:511 msgid "Z-A" msgstr "" -#: data/gtk/window.blp:516 +#: data/gtk/window.blp:517 msgid "Newest" msgstr "" -#: data/gtk/window.blp:522 +#: data/gtk/window.blp:523 msgid "Oldest" msgstr "" -#: data/gtk/window.blp:528 +#: data/gtk/window.blp:529 msgid "Last Played" msgstr "" -#: data/gtk/window.blp:535 +#: data/gtk/window.blp:536 msgid "Show Hidden" msgstr "" -#: data/gtk/window.blp:544 +#: data/gtk/window.blp:545 msgid "About Cartridges" msgstr "" -#: data/gtk/window.blp:561 +#: data/gtk/window.blp:562 msgid "IGDB" msgstr "" -#: data/gtk/window.blp:563 +#: data/gtk/window.blp:564 msgid "ProtonDB" msgstr "" -#: data/gtk/window.blp:565 +#: data/gtk/window.blp:566 msgid "HowLongToBeat" msgstr "" #. The variable is the title of the game -#: cartridges/main.py:205 cartridges/game.py:125 +#: cartridges/main.py:226 cartridges/game.py:125 msgid "{} launched" msgstr "" #. Translators: Replace this with your name for it to show up in the about window -#: cartridges/main.py:270 -msgid "translator_credits" +#: cartridges/main.py:291 +msgid "translator-credits" msgstr "" #. The variable is the date when the game was added -#: cartridges/window.py:373 +#: cartridges/window.py:382 msgid "Added: {}" msgstr "" -#: cartridges/window.py:376 +#: cartridges/window.py:385 msgid "Never" msgstr "" #. The variable is the date when the game was last played -#: cartridges/window.py:380 +#: cartridges/window.py:389 msgid "Last played: {}" msgstr "" -#: cartridges/details_dialog.py:73 +#: cartridges/details_dialog.py:82 msgid "Apply" msgstr "" -#: cartridges/details_dialog.py:79 +#: cartridges/details_dialog.py:88 msgid "Add New Game" msgstr "" -#: cartridges/details_dialog.py:80 +#: cartridges/details_dialog.py:89 msgid "Add" msgstr "" -#: cartridges/details_dialog.py:90 +#: cartridges/details_dialog.py:99 msgid "Executables" msgstr "" #. Translate this string as you would translate "file" -#: cartridges/details_dialog.py:105 +#: cartridges/details_dialog.py:114 msgid "file.txt" msgstr "" #. As in software -#: cartridges/details_dialog.py:107 +#: cartridges/details_dialog.py:116 msgid "program" msgstr "" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:112 cartridges/details_dialog.py:114 +#: cartridges/details_dialog.py:121 cartridges/details_dialog.py:123 msgid "C:\\path\\to\\{}" msgstr "" #. Translate this string as you would translate "path to {}" -#: cartridges/details_dialog.py:118 cartridges/details_dialog.py:120 +#: cartridges/details_dialog.py:127 cartridges/details_dialog.py:129 msgid "/path/to/{}" msgstr "" -#: cartridges/details_dialog.py:125 +#: cartridges/details_dialog.py:134 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -492,19 +497,19 @@ msgid "" "If the path contains spaces, make sure to wrap it in double quotes!" msgstr "" -#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:173 +#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:182 msgid "Couldn't Add Game" msgstr "" -#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:209 +#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:218 msgid "Game title cannot be empty." msgstr "" -#: cartridges/details_dialog.py:173 cartridges/details_dialog.py:217 +#: cartridges/details_dialog.py:182 cartridges/details_dialog.py:226 msgid "Executable cannot be empty." msgstr "" -#: cartridges/details_dialog.py:208 cartridges/details_dialog.py:216 +#: cartridges/details_dialog.py:217 cartridges/details_dialog.py:225 msgid "Couldn't Apply Preferences" msgstr "" @@ -518,49 +523,48 @@ msgid "{} unhidden" msgstr "" #. The variable is the title of the game -#. The variable is the number of games removed -#: cartridges/game.py:153 cartridges/importer/importer.py:391 +#: cartridges/game.py:153 msgid "{} removed" msgstr "" -#: cartridges/preferences.py:133 +#: cartridges/preferences.py:135 msgid "All games removed" msgstr "" -#: cartridges/preferences.py:181 +#: cartridges/preferences.py:187 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" -#: cartridges/preferences.py:196 +#: cartridges/preferences.py:202 msgid "Downloading covers…" msgstr "" -#: cartridges/preferences.py:215 +#: cartridges/preferences.py:221 msgid "Covers updated" msgstr "" -#: cartridges/preferences.py:360 +#: cartridges/preferences.py:368 msgid "Installation Not Found" msgstr "" -#: cartridges/preferences.py:361 +#: cartridges/preferences.py:369 msgid "Select a valid directory" msgstr "" -#: cartridges/preferences.py:397 cartridges/importer/importer.py:318 +#: cartridges/preferences.py:405 cartridges/importer/importer.py:319 msgid "Warning" msgstr "" -#: cartridges/preferences.py:431 +#: cartridges/preferences.py:439 msgid "Invalid Directory" msgstr "" -#: cartridges/preferences.py:437 +#: cartridges/preferences.py:445 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:320 msgid "Dismiss" msgstr "" @@ -568,27 +572,27 @@ msgstr "" msgid "Importing Games…" msgstr "" -#: cartridges/importer/importer.py:338 +#: cartridges/importer/importer.py:339 msgid "The following errors occured during import:" msgstr "" -#: cartridges/importer/importer.py:367 +#: cartridges/importer/importer.py:368 msgid "No new games found" msgstr "" -#: cartridges/importer/importer.py:379 +#. The variable is the number of games imported +#: cartridges/importer/importer.py:381 msgid "1 game imported" -msgstr "" +msgid_plural "{} games imported" +msgstr[0] "" +msgstr[1] "" -#. The variable is the number of games -#: cartridges/importer/importer.py:383 -msgid "{} games imported" -msgstr "" - -#. A single game removed -#: cartridges/importer/importer.py:387 +#. The variable is the number of games removed +#: cartridges/importer/importer.py:385 msgid "1 removed" -msgstr "" +msgid_plural "{} removed" +msgstr[0] "" +msgstr[1] "" #. The variable is the name of the source #: cartridges/importer/location.py:34 diff --git a/po/cs.po b/po/cs.po index a92f74a..8cb4a19 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-04-14 12:48+0200\n" +"POT-Creation-Date: 2024-10-22 12:57+0200\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)