diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index a69d48d..363d9d2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -23,6 +23,9 @@ A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. +**Logs** +If applicable, attatch your logs from `Main Menu > About Cartridges > Troubleshooting > Debugging Information` to the issue. + **System (please complete the following information):** - OS: [e.g. Fedora Linux] - Installation method [e.g. Flatpak] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c7eca48..1234dd1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,10 +51,10 @@ jobs: timeout 2 cartridges; [ "$?" -eq "124" ] - name: Inno Setup - run: iscc ".\_build\Cartridges.iss" + run: iscc ".\_build\windows\Cartridges.iss" - name: Upload Artifact uses: actions/upload-artifact@v3 with: name: Windows Installer - path: _build/Output/Cartridges Setup.exe \ No newline at end of file + path: _build/windows/Output/Cartridges Setup.exe \ No newline at end of file diff --git a/cartridges.doap b/cartridges.doap index db4c6da..6ccc9f0 100644 --- a/cartridges.doap +++ b/cartridges.doap @@ -29,6 +29,30 @@ Cartridges is a simple game launcher for all of your games. It has support for i kra-mo + + + + kramo + + + + + + + Geoffrey Coulaud + + + + + GeoffreyCoulaud + + + + + + GeoffreyCoulaud + + diff --git a/data/hu.kramo.Cartridges.gschema.xml.in b/data/hu.kramo.Cartridges.gschema.xml.in index ea7295d..b0022d9 100644 --- a/data/hu.kramo.Cartridges.gschema.xml.in +++ b/data/hu.kramo.Cartridges.gschema.xml.in @@ -14,7 +14,7 @@ true - "~/.steam/" + "~/.steam/steam" true diff --git a/data/hu.kramo.Cartridges.metainfo.xml.in b/data/hu.kramo.Cartridges.metainfo.xml.in index 60d29b5..ec619a3 100644 --- a/data/hu.kramo.Cartridges.metainfo.xml.in +++ b/data/hu.kramo.Cartridges.metainfo.xml.in @@ -44,12 +44,26 @@ - +
    -
  • Fixes an issue with importing Bottles games without covers
  • +
  • Fixes the ability to import multiple times at once
  • +
  • Fixes an issue with non-Flatpak Steam on Linux
  • +
+
+
+ + +

After months of work, Cartridges 2.0 is here:

+
    +
  • New import source: Legendary
  • +
  • New import source: Flatpak
  • +
  • Importing games should be much quicker
  • +
  • Error handling has been improved
  • +
  • Various UX improvements
  • Translations since 1.5
+

Thanks to the new import backend, adding new sources is much easier and a lot more are coming soon!

diff --git a/flatpak/hu.kramo.Cartridges.Devel.json b/flatpak/hu.kramo.Cartridges.Devel.json index 7fb6a8e..07a51b4 100644 --- a/flatpak/hu.kramo.Cartridges.Devel.json +++ b/flatpak/hu.kramo.Cartridges.Devel.json @@ -28,8 +28,7 @@ "/share/man", "/share/pkgconfig", "*.la", - "*.a", - "Cartridges.iss" + "*.a" ], "modules" : [ { diff --git a/meson.build b/meson.build index 6899eb2..7ff4c00 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('cartridges', - version: '1.5.6', + version: '2.0.1', meson_version: '>= 0.59.0', default_options: [ 'warning_level=2', 'werror=false', ], ) @@ -33,13 +33,9 @@ subdir('data') subdir('src') subdir('po') -configure_file( - input: './windows/Cartridges.iss.in', - output: 'Cartridges.iss', - configuration: conf, - install: true, - install_dir: '.' -) +if host_machine.system() == 'windows' + subdir('windows') +endif gnome.post_install( glib_compile_schemas: true, diff --git a/po/ar.po b/po/ar.po index ab0027a..3673eac 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-05-26 18:10+0000\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-07-04 17:29+0000\n" "Last-Translator: Ali Aljishi \n" "Language-Team: Arabic \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "خراطيش" @@ -112,7 +112,7 @@ msgstr "معلومات أكثر" msgid "Edit" msgstr "حرِّر" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "أخفِ" @@ -121,7 +121,7 @@ msgstr "أخفِ" msgid "Remove" msgstr "أزل" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "اكشف" @@ -146,7 +146,7 @@ msgstr "أظهر التفضيلات" msgid "Shortcuts" msgstr "الاختصارات" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "تراجع" @@ -174,7 +174,7 @@ msgstr "أظهر الألعاب المخفية" msgid "Remove game" msgstr "أزل اللعبة" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "السلوك" @@ -223,80 +223,89 @@ msgid "Steam" msgstr "ستيم" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "موضع تثبيت إتش" +msgstr "موضع التثبيت" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "لوترس" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "موضع ذكرة لوترس المؤقَّتة" +msgstr "موضع الذاكرة المؤقتة" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "استورد ألعابًا من ستيم" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "استورد ألعاب فلاتباك" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "هِرُوِك" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "استورد ألعاب أَبِك" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "استورد ألعاب جي‌أو‌جي" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "استورد ألعابًا مثبَّتةً بغير متجر" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "قوارير" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "إتش" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "لجندري" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "فلاتباك" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "استورد مشغِّلات ألعاب" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "الاستيثاق" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "مفتاح واجهة البرمجة" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "استخدم SteamGridDB" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "نزِّل الصور حينما تنزِّل أو تستورد الألعاب" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "فضِّلها على الصور الرسمية" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "فضِّل الصور المتحرِّكة" @@ -385,21 +394,21 @@ msgid "About Cartridges" msgstr "عن «خراطيش»" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "Ali Aljishi " #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "أضيفت في: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "أبدًا" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "لُعبت آخر مرَّة في: {}" @@ -416,26 +425,26 @@ msgid "Confirm" msgstr "أكِّد" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "ملف.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "البرنامج" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\المسار\\إلى\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/المسار/إلى/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -457,15 +466,15 @@ msgstr "" "\n" "ولا تنسَ إحاطة المسار بعلامتي تنصيص مزدوجتين حالما تضمَّن مسافات!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "تعذَّرت إضافة اللعبة" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "لا يجوز كون عنوان اللعبة فارغًا." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "لا يجوز كون ملفِّ التنفيذ فارغًا." @@ -474,34 +483,65 @@ msgid "Couldn't Apply Preferences" msgstr "تعذَّر تطبيق التفضيلات" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "بُدئت {}" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "أٌخفيت {}" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "أٌظهرت {}" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "أزيلت {}" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "أُزيلت كلُّ الألعاب" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "تحتاج مفتاح واجهة برمجة حال ما أردت استخدام SteamGridDB، {}هنا تولِّده{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "لم يُعثر على التثبيت" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "حدِّد مجلَّدًا صالحًا." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "مجلَّد غير صالح" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "حدِّد مجلَّد ذاكرة {} المؤقتة." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." +msgstr "حدِّد مجلَّد تثبيت {}." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} cache directory." +msgid "Select the {} data directory." +msgstr "حدِّد مجلَّد ذاكرة {} المؤقتة." + +#: src/preferences.py:364 msgid "Set Location" msgstr "عيِّن الموضع" @@ -509,38 +549,23 @@ msgstr "عيِّن الموضع" msgid "Dismiss" msgstr "تجاهل" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "أكِّد" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "تعذَّر الاتصال ب‍ SteamGridDB" +msgstr "تعذَّر استيثاق SteamGridDB" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "أكِّد مفتاح واجهة البرمجة في التفضيلات" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "تعذَّر العثور على مجلَّد ستيم." + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "أكِّد" #~ msgid "Steam Install Location" #~ msgstr "موضع تثبيت ستيم" @@ -566,15 +591,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "حدِّد مجلَّد ذاكرة لوترس المؤقَّتة." -#~ msgid "Installation Not Found" -#~ msgstr "لم يُعثر على التثبيت" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "حدِّد مجلَّد ضبط {}." - -#~ msgid "Select the {} data directory." -#~ msgstr "حدِّد مجلَّد بيانات {}." - #~ msgid "Importing Games…" #~ msgstr "تُستورد الألعاب…" @@ -695,9 +711,6 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "لم يُعثر على ألعاب جديدة في مكتبة ستيم." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "تعذَّر العثور على مجلَّد ستيم." - #~ msgid "Talking to Steam" #~ msgstr "يُتواصل مع ستيم" diff --git a/po/cartridges.pot b/po/cartridges.pot index 938ed16..1aa2a79 100644 --- a/po/cartridges.pot +++ b/po/cartridges.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-07-01 13:45+0200\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgid "Game Details" msgstr "" #: data/hu.kramo.Cartridges.metainfo.xml.in:42 data/gtk/window.blp:416 -#: src/details_window.py:238 +#: src/details_window.py:239 msgid "Preferences" msgstr "" @@ -419,26 +419,26 @@ msgid "Confirm" msgstr "" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -451,19 +451,19 @@ msgid "" "If the path contains spaces, make sure to wrap it in double quotes!" msgstr "" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "" -#: src/details_window.py:146 src/details_window.py:180 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "" -#: src/details_window.py:152 src/details_window.py:188 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "" -#: src/details_window.py:179 src/details_window.py:187 +#: src/details_window.py:180 src/details_window.py:188 msgid "Couldn't Apply Preferences" msgstr "" @@ -473,15 +473,15 @@ msgid "{} launched" msgstr "" #. The variable is the title of the game -#: src/game.py:151 +#: src/game.py:152 msgid "{} hidden" msgstr "" -#: src/game.py:151 +#: src/game.py:152 msgid "{} unhidden" msgstr "" -#: src/game.py:168 +#: src/game.py:169 msgid "{} removed" msgstr "" @@ -502,21 +502,26 @@ msgstr "" msgid "Select a valid directory." msgstr "" -#: src/preferences.py:349 src/preferences.py:353 +#: src/preferences.py:348 msgid "Invalid Directory" msgstr "" #. The variable is the name of the source -#: src/preferences.py:351 +#: src/preferences.py:352 msgid "Select the {} cache directory." msgstr "" #. The variable is the name of the source #: src/preferences.py:355 -msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." msgstr "" -#: src/preferences.py:361 +#. The variable is the name of the source +#: src/preferences.py:358 +msgid "Select the {} data directory." +msgstr "" + +#: src/preferences.py:364 msgid "Set Location" msgstr "" diff --git a/po/de.po b/po/de.po index 19a17c5..15f3df3 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" "PO-Revision-Date: 2023-04-17 17:20+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German \n" "Language-Team: Greek \n" "Language-Team: Spanish \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Cartuchos" @@ -113,7 +113,7 @@ msgstr "Más información" msgid "Edit" msgstr "Editar" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Ocultar" @@ -122,7 +122,7 @@ msgstr "Ocultar" msgid "Remove" msgstr "Eliminar" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Mostrar" @@ -147,7 +147,7 @@ msgstr "Mostrar preferencias" msgid "Shortcuts" msgstr "Atajos" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Deshacer" @@ -175,7 +175,7 @@ msgstr "Mostrar juegos ocultos" msgid "Remove game" msgstr "Eliminar juego" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Conducta" @@ -225,80 +225,89 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "Ubicación de la instalación de itch" +msgstr "Lugar de la instalación" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "Lutris" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "Ubicación de la caché de Lutris" +msgstr "Localización de la caché" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "Importar juegos de Steam" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Importar los juegos Flatpak" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Importar juegos de Epic" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "Importar juegos de GOG" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Importar juegos descargados" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "Legendario" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Importar lanzadores de juegos" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Autentificación" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "Código API" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "Utiliza SteamGridDB" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Descargar las imágenes al añadir o importar juegos" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "Preferir las imágenes oficiales" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Prefiero las imágenes animadas" @@ -387,21 +396,21 @@ msgid "About Cartridges" msgstr "Acerca de Cartuchos" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "Óscar Fernández Díaz " #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Añadido: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Nunca" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Último jugado: {}" @@ -418,26 +427,26 @@ msgid "Confirm" msgstr "Confirmar" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "archivo.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "programa" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\ruta\\hasta\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/ruta/hasta/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -459,15 +468,15 @@ msgstr "" "\n" "Si la ruta contiene espacios, ¡asegúrese de entrecomillarla!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "No se puede añadir el juego" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "El título del juego no puede estar vacío." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "El ejecutable no puede estar vacío." @@ -476,35 +485,66 @@ msgid "Couldn't Apply Preferences" msgstr "No se pudieron aplicar las preferencias" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} comenzó" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} oculto" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} visible" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} eliminado" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Todos los juegos eliminados" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "Se necesita una clave API para utilizar SteamGridDB. Puedes generar una {}" "aquí{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "Instalación no encontrada" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Selecciona un directorio válido." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Directorio incorrecto" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Seleccione el directorio de la caché {}." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." +msgstr "Selecciona el directorio de la instalación {}." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} cache directory." +msgid "Select the {} data directory." +msgstr "Seleccione el directorio de la caché {}." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Escoger la ubicación" @@ -512,38 +552,23 @@ msgstr "Escoger la ubicación" msgid "Dismiss" msgstr "Descartar" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Confirmar" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "No se puede conectar a SteamGridDB" +msgstr "No se ha podido autenticar SteamGridDB" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "Verifica tu clave API en las preferencias" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "No se encuentra el directorio de Steam." + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "Confirmar" #~ msgid "Steam Install Location" #~ msgstr "Ubicación de la instalación de Steam" @@ -569,15 +594,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "Selecciona el directorio de la caché de Lutris." -#~ msgid "Installation Not Found" -#~ msgstr "No se encuentra la instalación" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Selecciona el directorio de la configuración {}." - -#~ msgid "Select the {} data directory." -#~ msgstr "Selecciona el directorio de los datos {}." - #~ msgid "Importing Games…" #~ msgstr "Importando juegos…" @@ -703,8 +719,5 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "No se han encontrado juegos nuevos en la biblioteca de Steam." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "No se encuentra el directorio de Steam." - #~ msgid "Talking to Steam" #~ msgstr "Hablando con Steam" diff --git a/po/fa.po b/po/fa.po index 987fe38..da0494e 100644 --- a/po/fa.po +++ b/po/fa.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" "PO-Revision-Date: 2023-04-22 10:48+0000\n" "Last-Translator: سید حسین موسوی فرد \n" "Language-Team: Persian \n" "Language-Team: Finnish , 2023. # John Donne , 2023. # "Yannick A." , 2023. +# Geoffrey Coulaud , 2023. msgid "" msgstr "" "Project-Id-Version: cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-05-28 10:11+0000\n" -"Last-Translator: rene-coty \n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-07-05 13:13+0000\n" +"Last-Translator: Geoffrey Coulaud \n" "Language-Team: French \n" "Language: fr\n" @@ -20,11 +21,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Cartridges" @@ -115,7 +116,7 @@ msgstr "Plus d’informations" msgid "Edit" msgstr "Modifier" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Masquer" @@ -124,7 +125,7 @@ msgstr "Masquer" msgid "Remove" msgstr "Supprimer" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Ne plus masquer" @@ -149,7 +150,7 @@ msgstr "Afficher les préférences" msgid "Shortcuts" msgstr "Raccourcis" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Annuler" @@ -177,7 +178,7 @@ msgstr "Afficher les jeux masqués" msgid "Remove game" msgstr "Supprimer le jeu" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Comportement" @@ -229,80 +230,89 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "Emplacement d’installation de Itch" +msgstr "Emplacement d'installation" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "Lutris" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "Emplacement du cache de Lutris" +msgstr "Emplacement du cache" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "Importer les jeux de Steam" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Importer des jeux Flatpak" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Importer les jeux d'Epic Games" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "Importer les jeux de GOG" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Importer des jeux Sideloaded" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "Légendaire" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Importer des lanceurs de jeux" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Authentification" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "Clé API" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "Utiliser SteamGridDB" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Télécharger les images lors de l’ajout ou de l’importation de jeux" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "Préférer à la place des images officielles" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Préférer les images animées" @@ -391,21 +401,21 @@ msgid "About Cartridges" msgstr "À propos de Cartridges" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "Irénée Thirion" #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Ajouté : {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Jamais" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Dernière session : {}" @@ -422,26 +432,26 @@ msgid "Confirm" msgstr "Confirmer" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "fichier.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "programme" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\chemin\\vers\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/chemin/vers/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -465,15 +475,15 @@ msgstr "" "Si le chemin d'accès contient des espaces, veillez à le mettre entre " "guillemets !" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Impossible d’ajouter le jeu" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Le titre du jeu ne peut pas être vide." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "L’exécutable ne peut pas être vide." @@ -482,35 +492,62 @@ msgid "Couldn't Apply Preferences" msgstr "Impossible d’appliquer les préférences" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} lancé" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} masqué" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} affiché" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} retiré" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Tous les jeux ont été supprimés" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "Une clé API est requise pour utiliser SteamGridDB. Vous pouvez en générer " "une {}ici{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "Installation introuvable" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Sélectionnez un répertoire valide." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Répertoire invalide" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Sélectionnez le répertoire de cache de {}." + +#. The variable is the name of the source +#: src/preferences.py:355 +msgid "Select the {} configuration directory." +msgstr "Sélectionnez le répertoire de configuration de {}." + +#. The variable is the name of the source +#: src/preferences.py:358 +msgid "Select the {} data directory." +msgstr "Sélectionnez le répertoire de données de {}." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Définir l’emplacement" @@ -518,38 +555,23 @@ msgstr "Définir l’emplacement" msgid "Dismiss" msgstr "Fermer" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Confirmer" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" msgstr "Impossible de se connecter à SteamGridDB" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "Vérifiez votre clé API dans les préférences" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "Le répertoire Steam est introuvable." + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "Confirmer" #~ msgid "Steam Install Location" #~ msgstr "Emplacement de l’installation de Steam" @@ -575,15 +597,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "Sélectionnez le répertoire du cache de Lutris." -#~ msgid "Installation Not Found" -#~ msgstr "Installation introuvable" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Sélectionnez le répertoire de configuration de {}." - -#~ msgid "Select the {} data directory." -#~ msgstr "Sélectionnez le répertoire de données de {}." - #~ msgid "Importing Games…" #~ msgstr "Importation des jeux…" @@ -710,9 +723,6 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Steam." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "Le répertoire Steam est introuvable." - #~ msgid "Talking to Steam" #~ msgstr "Parler à Steam" diff --git a/po/hu.po b/po/hu.po index f54c721..ce46c6a 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-06-26 10:05+0000\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-07-05 13:13+0000\n" "Last-Translator: kramo \n" "Language-Team: Hungarian \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18.1\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Kazetták" @@ -112,7 +112,7 @@ msgstr "Több infó" msgid "Edit" msgstr "Szerkesztés" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Elrejtés" @@ -121,7 +121,7 @@ msgstr "Elrejtés" msgid "Remove" msgstr "Eltávolítás" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Elrejtés visszavonása" @@ -146,7 +146,7 @@ msgstr "Beállítások megjelenítése" msgid "Shortcuts" msgstr "Gyorsbillentyűk" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Visszavonás" @@ -174,7 +174,7 @@ msgstr "Rejtett játékok megjelenítése" msgid "Remove game" msgstr "Játék eltávolítása" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Működés" @@ -223,8 +223,9 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" msgstr "Telepítés helye" @@ -240,59 +241,71 @@ msgstr "Gyorsítótár helye" msgid "Import Steam Games" msgstr "Steam játékok importálása" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Flatpak játékok importálása" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Epic Games játékok importálása" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "GOG játékok importálása" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Manuálisan hozzáadott játékok importálása" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Palackok" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" msgstr "Legendary" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Játékindítók importálása" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Hitelesítés" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "API kulcs" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "SteamGridDB használata" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Képek letöltése játékok hozzáadásakor és importálásakor" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "SteamGridDB képek előnyben részesítése" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Animált képek előnyben részesítése" @@ -381,21 +394,21 @@ msgid "About Cartridges" msgstr "A Kazetták névjegye" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "kramo https://kramo.hu" #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Hozzáadva: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Soha" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Legutóbbi játékmenet: {}" @@ -412,26 +425,26 @@ msgid "Confirm" msgstr "Megerősítés" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "fájl.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "program" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\útvonal\\ide\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/útvonal/ide/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -454,15 +467,15 @@ msgstr "" "\n" "Ha az elérési útvonalban szóközök vannak, rakja az útvonalat idézőjelek közé!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Nem lehet hozzáadni a játékot" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "A cím nem lehet üres." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "A program nem lehet üres." @@ -471,35 +484,62 @@ msgid "Couldn't Apply Preferences" msgstr "Nem lehet menteni a beállításokat" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} elindítva" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} elrejtve" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} elrejtése visszavonva" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} eltávolítva" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Az összes játék eltávolítva" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "Egy API kulcs szükséges a SteamGridDB használatához. {}Itt{} generálhat " "egyet." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "A telepítés nem található" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Válasszon ki egy érvényes mappát." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Érvénytelen mappa" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Válassza ki {} gyorsítótár mappáját." + +#. The variable is the name of the source +#: src/preferences.py:355 +msgid "Select the {} configuration directory." +msgstr "Válassza ki {} konfigurációs mappáját." + +#. The variable is the name of the source +#: src/preferences.py:358 +msgid "Select the {} data directory." +msgstr "Válassza ki {} adatok mappáját." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Mappa kiválasztása" @@ -507,27 +547,6 @@ msgstr "Mappa kiválasztása" msgid "Dismiss" msgstr "Rendben" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "Adatok" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "Gyorsítótár" - -#: src/importer/sources/source.py:108 -msgid "Configuration" -msgstr "Konfigurációk" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "Érvénytelen {} mappa ennek a forrásnak: {{}}" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "Válasszon egy újat, vagy kapcsolja ki a forrást a beállításokban" - #: src/store/managers/sgdb_manager.py:47 msgid "Couldn't Authenticate SteamGridDB" msgstr "Nem lehet hitelesíteni SteamGridDB-t" @@ -536,6 +555,26 @@ msgstr "Nem lehet hitelesíteni SteamGridDB-t" msgid "Verify your API key in preferences" msgstr "Ellenőrizze az API kulcsát a beállításokban" +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "A Steam mappa nem található." + +#~ msgid "Data" +#~ msgstr "Adatok" + +#~ msgid "Cache" +#~ msgstr "Gyorsítótár" + +#~ msgid "Configuration" +#~ msgstr "Konfigurációk" + +#~ msgid "Invalid {} Location for {{}}" +#~ msgstr "Érvénytelen {} mappa ennek a forrásnak: {{}}" + +#~ msgid "Pick a new one or disable the source in preferences" +#~ msgstr "Válasszon egy újat, vagy kapcsolja ki a forrást a beállításokban" + #~ msgid "Steam Install Location" #~ msgstr "Steam telepítés helye" @@ -560,15 +599,6 @@ msgstr "Ellenőrizze az API kulcsát a beállításokban" #~ msgid "Select the Lutris cache directory." #~ msgstr "Válassza ki Lutris gyorsítótár mappáját." -#~ msgid "Installation Not Found" -#~ msgstr "Telepítés nem található" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Válassza ki {} konfigurációs mappáját." - -#~ msgid "Select the {} data directory." -#~ msgstr "Válassza ki {} adatainak mappáját." - #~ msgid "Importing Games…" #~ msgstr "Játékok importálása folyamatban…" @@ -688,9 +718,6 @@ msgstr "Ellenőrizze az API kulcsát a beállításokban" #~ msgid "No new games were found in the Steam library." #~ msgstr "Nem találhatóak új játékok a Steam könyvtárban." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "A Steam mappa nem található." - #~ msgid "Talking to Steam" #~ msgstr "Adatok lekérése a Steam-ből" diff --git a/po/it.po b/po/it.po index 4de190e..8368a72 100644 --- a/po/it.po +++ b/po/it.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-05-26 18:10+0000\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-07-01 15:10+0000\n" "Last-Translator: albanobattistella \n" "Language-Team: Italian \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Cartucce" @@ -113,7 +113,7 @@ msgstr "Altre informazioni" msgid "Edit" msgstr "Modifica" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Nascondi" @@ -122,7 +122,7 @@ msgstr "Nascondi" msgid "Remove" msgstr "Rimuovi" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Mostra" @@ -147,7 +147,7 @@ msgstr "Mostra preferenze" msgid "Shortcuts" msgstr "Scorciatoie da tastiera" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Annulla" @@ -175,7 +175,7 @@ msgstr "Mostra giochi nascosti" msgid "Remove game" msgstr "Rimuovi gioco" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Comportamento" @@ -225,80 +225,89 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "itch Posizione di installazione" +msgstr "Posizione di installazione" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "Lutris" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "Posizione della cache di Lutris" +msgstr "Posizione della cache" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "Importa giochi da Steam" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Importa giochi da Flatpak" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Importa giochi da Epic Games" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "Importa giochi da GOG" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Importa giochi da aggiunti manualmente" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "Leggendari" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Importa lanciatori di giochi" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Autenticazione" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "Chiave API" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "Usa SteamGridDB" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Scarica immagini durante l'aggiunta o l'import di giochi" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "Preferisci alle immagini ufficiali" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Preferisci immagini animate" @@ -387,21 +396,21 @@ msgid "About Cartridges" msgstr "Informazioni su Cartucce" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "Alessandro Iepure https://ale.iepure.me" #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Aggiunto il: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Mai" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Ultima riproduzione: {}" @@ -418,26 +427,26 @@ msgid "Confirm" msgstr "Conferma" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "file.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "programma" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\path\\to{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/percorso/to/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -459,15 +468,15 @@ msgstr "" "\n" "Se il percorso contiene spazi, assicurarsi di avvolgerlo in doppi apici!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Impossibile aggiungere il gioco" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Il titolo del gioco non può essere vuoto." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "L'eseguibile non può essere vuoto." @@ -476,35 +485,66 @@ msgid "Couldn't Apply Preferences" msgstr "Impossibile applicare le preferenze" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} avviato" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} nascosto" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} visibile" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} rimosso" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Tutti i giochi sono stati rimossi" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "Per utilizzare SteamGridDB è necessaria una chiave API. Puoi generarne una {}" "qui{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "Installazione non trovata" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Seleziona una directory valida." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Directory non valida" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Seleziona la directory della cache {}." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." +msgstr "Selezionare la directory di installazione {}." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} cache directory." +msgid "Select the {} data directory." +msgstr "Seleziona la directory della cache {}." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Imposta percorso" @@ -512,38 +552,23 @@ msgstr "Imposta percorso" msgid "Dismiss" msgstr "Chiudi" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Conferma" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "Impossibile connettersi a SteamGridDB" +msgstr "Impossibile eseguire l'autenticazione su SteamGridDB" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "Verifica la tua chiave API nelle preferenze" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "Non è possibile trovare il percorso per Steam." + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "Conferma" #~ msgid "Steam Install Location" #~ msgstr "Percorso Installazione Steam" @@ -569,15 +594,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "Selezionare la directory della cache di Lutris." -#~ msgid "Installation Not Found" -#~ msgstr "Installazione non trovata" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Selezionare la directory di configurazione {}." - -#~ msgid "Select the {} data directory." -#~ msgstr "Selezionare la directory dei dati {}." - #~ msgid "Importing Games…" #~ msgstr "Import dei giochi in corso…" @@ -702,9 +718,6 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "Nessun nuovo gioco trovato nella libreria di Steam." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "Non è possibile trovare il percorso per Steam." - #~ msgid "Talking to Steam" #~ msgstr "Parlando con Steam" diff --git a/po/ko.po b/po/ko.po index cb7fbbd..a6c170e 100644 --- a/po/ko.po +++ b/po/ko.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" "PO-Revision-Date: 2023-03-28 22:23+0000\n" "Last-Translator: MJKim \n" "Language-Team: Korean \n" "Language-Team: Norwegian Bokmål " #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Tillagt: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Aldri" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Sist spilt: {}" @@ -428,26 +445,26 @@ msgid "Confirm" msgstr "Bekreft" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "fil.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "program" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\sti\\til\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/sti/til/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -470,15 +487,15 @@ msgstr "" "Hvis stien inneholder mellomrom må du pakke den inn i doble engelske " "sitattegn." -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Kunne ikke legge til spill" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Spillnavnet kan ikke være tomt." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "Kjørbar fil må angis." @@ -487,36 +504,73 @@ msgid "Couldn't Apply Preferences" msgstr "Kunne ikke ta i bruk endringer" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} startet" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 #, fuzzy #| msgid "Show Hidden" msgid "{} hidden" msgstr "{} skjult" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} synlig" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} fjernet" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Alle spill fjernet" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "En API-nøkkel kreves for å bruke SteamGridDB. Du kan generere en {}her{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +#, fuzzy +#| msgid "Installation Not Found" +msgid "Installation Not Found" +msgstr "Fant ikke installasjonen" + +#: src/preferences.py:286 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select a valid directory." +msgstr "Velg {}-datamappen." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "" + +#. The variable is the name of the source +#: src/preferences.py:352 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select the {} cache directory." +msgstr "Velg {}-datamappen." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} configuration directory." +msgid "Select the {} configuration directory." +msgstr "Velg {}-oppsettsmappen." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select the {} data directory." +msgstr "Velg {}-datamappen." + +#: src/preferences.py:364 #, fuzzy #| msgid "Set Steam Location" msgid "Set Location" @@ -526,29 +580,6 @@ msgstr "Velg mappe" msgid "Dismiss" msgstr "Forkast" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Bekreft" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 #, fuzzy msgid "Couldn't Authenticate SteamGridDB" @@ -558,6 +589,16 @@ msgstr "Kunne ikke koble til SteamGridDB" msgid "Verify your API key in preferences" msgstr "" +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "Kunne ikke finne Steam-mappen." + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "Bekreft" + #~ msgid "Steam Install Location" #~ msgstr "Installasjonssted for Steam" @@ -584,15 +625,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "Velg {name}-datamappen." -#~ msgid "Installation Not Found" -#~ msgstr "Fant ikke installasjonen" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Velg {}-oppsettsmappen." - -#~ msgid "Select the {} data directory." -#~ msgstr "Velg {}-datamappen." - #~ msgid "Importing Games…" #~ msgstr "Importerer spill …" @@ -728,9 +760,6 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "Fant ingen nye spill i Steam-biblioteket." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "Kunne ikke finne Steam-mappen." - #, fuzzy #~ msgid "Talking to Steam" #~ msgstr "Snakker med Steam" diff --git a/po/nl.po b/po/nl.po index 4dcf030..1a57d79 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-05-29 18:48+0000\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-07-04 17:29+0000\n" "Last-Translator: Philip Goto \n" "Language-Team: Dutch \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Cartridges" @@ -115,7 +115,7 @@ msgstr "Meer info" msgid "Edit" msgstr "Bewerken" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Verbergen" @@ -124,7 +124,7 @@ msgstr "Verbergen" msgid "Remove" msgstr "Verwijderen" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Niet meer verbergen" @@ -149,7 +149,7 @@ msgstr "Voorkeuren tonen" msgid "Shortcuts" msgstr "Sneltoetsen" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Ongedaan maken" @@ -177,7 +177,7 @@ msgstr "Verborgen games tonen" msgid "Remove game" msgstr "Game verwijderen" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Gedrag" @@ -227,80 +227,89 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "Installatielocatie van itch" +msgstr "Installatielocatie" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "Lutris" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "Cache-locatie van Lutris" +msgstr "Cache-locatie" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "Steam-games importeren" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Flatpak-games importeren" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Epic-games importeren" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "GOG-games importeren" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Gesideloade games importeren" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "Legendary" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Game-launchers importeren" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Authenticatie" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "API-sleutel" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "SteamGridDB gebruiken" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Afbeeldingen downloaden bij het toevoegen of importeren van games" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "Voorkeur geven boven officiële afbeeldingen" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Voorkeur geven aan geanimeerde afbeeldingen" @@ -389,21 +398,21 @@ msgid "About Cartridges" msgstr "Over Cartridges" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "Philip Goto https://flipflop97.github.io/" #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Toegevoegd op {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Nooit" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Laatst gespeeld: {}" @@ -420,26 +429,26 @@ msgid "Confirm" msgstr "Bevestigen" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "bestand.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "programma" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\pad\\naar\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/pad/naar/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -463,15 +472,15 @@ msgstr "" "Indien het pad spaties bevat, zorg er dan voor dat er dubbele " "aanhalingstekens omheen staan!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Kon game niet toevoegen" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Game-titel mag niet leeg zijn" -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "Programmabestand mag niet leeg zijn" @@ -480,35 +489,66 @@ msgid "Couldn't Apply Preferences" msgstr "Kon voorkeuren niet toepassen" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} gestart" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} verborgen" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} hersteld" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} verwijderd" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Alle games verwijderd" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "Een API-sleutel is vereist om SteamGridDB te gebruiken. U kunt er {}hier{} " "één genereren." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "Installatie niet gevonden" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Selecteer een geldige map" + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Ongeldige map" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Selecteer de cache-map van {}" + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." +msgstr "Selecteer de installatiemap van {}" + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} cache directory." +msgid "Select the {} data directory." +msgstr "Selecteer de cache-map van {}" + +#: src/preferences.py:364 msgid "Set Location" msgstr "Locatie instellen" @@ -516,38 +556,23 @@ msgstr "Locatie instellen" msgid "Dismiss" msgstr "Sluiten" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Bevestigen" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "Kan geen verbinding maken met SteamGridDB" +msgstr "Kan SteamGridDB niet authenticeren" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "Verifieer uw API-sleutel onder voorkeuren" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "Steam-map kan niet worden gevonden" + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "Bevestigen" #~ msgid "Steam Install Location" #~ msgstr "Installatielocatie van Steam" @@ -573,15 +598,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "Selecteer de cache-map van Lutris" -#~ msgid "Installation Not Found" -#~ msgstr "Installatie niet gevonden" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Selecteer de configuratiemap van {}" - -#~ msgid "Select the {} data directory." -#~ msgstr "Selecteer de gegevensmap van {}" - #~ msgid "Importing Games…" #~ msgstr "Games importeren…" @@ -704,9 +720,6 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "Geen nieuwe games gevonden in de Steam-bibliotheek" -#~ msgid "The Steam directory cannot be found." -#~ msgstr "Steam-map kan niet worden gevonden" - #~ msgid "Talking to Steam" #~ msgstr "Steam-bibliotheek aan het ophalen" diff --git a/po/pl.po b/po/pl.po index 1144657..e60ff11 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" "PO-Revision-Date: 2023-06-10 16:48+0000\n" "Last-Translator: Kshyso \n" "Language-Team: Polish \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Romanian \n" "Language-Team: Russian \n" @@ -18,11 +18,11 @@ msgstr "" "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" -"X-Generator: Weblate 4.18.1\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Картриджи" @@ -113,7 +113,7 @@ msgstr "Дополнительная информация" msgid "Edit" msgstr "Редактировать" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Скрыть" @@ -122,7 +122,7 @@ msgstr "Скрыть" msgid "Remove" msgstr "Удалить" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Показать" @@ -147,7 +147,7 @@ msgstr "Показать параметры" msgid "Shortcuts" msgstr "Комбинации клавиш" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Вернуть" @@ -175,7 +175,7 @@ msgstr "Показать скрытые игры" msgid "Remove game" msgstr "Удалить игру" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Поведение" @@ -224,80 +224,89 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "Место установки itch" +msgstr "Место установки" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "Lutris" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "Расположение кэша Lutris" +msgstr "Расположение кэша" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "Импорт игр Steam" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Импорт игр Flatpak" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Импорт игр Epic" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "Импорт игр GOG" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Импорт сторонних игр" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "Legendary" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Импорт средств запуска игр" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Аутентификация" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "API-ключ" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "Использовать SteamGridDB" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Загрузка изображений при добавлении или импорте игр" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "Отдавать предпочтение официальным изображениям" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Отдавать предпочтение анимированным изображениям" @@ -386,23 +395,23 @@ msgid "About Cartridges" msgstr "О приложении" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "Ser82-png" #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Добавлено: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Никогда" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" -msgstr "Последняя игра: {}" +msgstr "Последний раз запускалась: {}" #: src/details_window.py:72 msgid "Apply" @@ -417,26 +426,26 @@ msgid "Confirm" msgstr "Подтвердить" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "file.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "программа" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\путь\\к\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/путь/к/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -458,15 +467,15 @@ msgstr "" "\n" "Если путь содержит пробелы, обязательно заключите его в двойные кавычки!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Не удалось добавить игру" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Название игры не может быть пустым." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "Исполняемый файл не может быть пустым." @@ -475,35 +484,66 @@ msgid "Couldn't Apply Preferences" msgstr "Не удалось применить параметры" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} - запущена" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} - скрытая" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} - не скрыта" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} удалена" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Все игры удалены" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "Для использования SteamGridDB требуется ключ API. Вы можете сгенерировать " "его {}здесь{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "Установка не найдена" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Выберите действующий каталог." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Неверный каталог" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Выберите каталог кэша {}." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." +msgstr "Выберите каталог установки {}." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} cache directory." +msgid "Select the {} data directory." +msgstr "Выберите каталог кэша {}." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Установить расположение" @@ -511,38 +551,30 @@ msgstr "Установить расположение" msgid "Dismiss" msgstr "Отклонить" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Подтвердить" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "Не удалось подключиться к SteamGridDB" +msgstr "Не удалось пройти аутентификацию SteamGridDB" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "Проверьте ключ API-ключ в параметрах" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "Не удалось найти каталог Steam." + +#~ msgid "Cache" +#~ msgstr "Кэш" + +#~ msgid "Configuration" +#~ msgstr "Конфигурация" + +#~ msgid "Invalid {} Location for {{}}" +#~ msgstr "Неверное расположение {} для {{}}" + +#~ msgid "Pick a new one or disable the source in preferences" +#~ msgstr "Выберите новый или отключите имеющийся источник в параметрах" #~ msgid "Steam Install Location" #~ msgstr "Место установки Steam" @@ -568,15 +600,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "Выберите каталог кэша Lutris." -#~ msgid "Installation Not Found" -#~ msgstr "Установка не найдена" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Выберите каталог конфигурации {}." - -#~ msgid "Select the {} data directory." -#~ msgstr "Выберите каталог данных {}." - #~ msgid "Importing Games…" #~ msgstr "Импорт игр…" @@ -701,8 +724,5 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "В библиотеке Steam новых игр не найдено." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "Не удалось найти каталог Steam." - #~ msgid "Talking to Steam" #~ msgstr "Общение со Steam" diff --git a/po/sv.po b/po/sv.po index 07f37af..3fb3b99 100644 --- a/po/sv.po +++ b/po/sv.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the Cartridges package. # micke , 2023. # micke , 2023. +# Luna Jernberg , 2023. msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-06-02 15:40+0000\n" -"Last-Translator: micke \n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-07-01 22:51+0000\n" +"Last-Translator: Luna Jernberg \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,11 +18,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Cartridges" @@ -111,7 +112,7 @@ msgstr "Mer info" msgid "Edit" msgstr "Redigera" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Dölj" @@ -120,7 +121,7 @@ msgstr "Dölj" msgid "Remove" msgstr "Ta bort" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Visa" @@ -145,7 +146,7 @@ msgstr "Visa inställningar" msgid "Shortcuts" msgstr "Genvägar" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Ångra" @@ -173,7 +174,7 @@ msgstr "Visa dolda spel" msgid "Remove game" msgstr "Ta bort spel" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Beteende" @@ -223,80 +224,89 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "itch-installationsplats" +msgstr "Plats för installation" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "Lutris" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "Plats för Lutris cache" +msgstr "Plats för cacheminne" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "Importera Steam-spel" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Importera Flatpak-spel" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Importera Epic Games" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "Importera GOG-spel" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Importera sidoladdade spel" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "Legendary" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Importera spelstartare" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Autentisering" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "API-nyckel" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "Använd SteamGridDB" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Ladda ner bilder när spel läggs till eller importeras" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "Föredra framför officiella bilder" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Föredra animerade bilder" @@ -385,21 +395,21 @@ msgid "About Cartridges" msgstr "Om Cartridges" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "Micke" #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Tillagt: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Aldrig" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Senast spelat: {}" @@ -416,26 +426,26 @@ msgid "Confirm" msgstr "Bekräfta" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "fil.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "program" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\sökväg\\till\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/sökväg/till/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -458,15 +468,15 @@ msgstr "" "Om sökvägen innehåller mellanslag, se till att den omsluts av dubbla " "citationstecken!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Kunde inte lägga till spelet" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Spelets titel kan inte vara tom." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "Den körbara filen kan inte vara tom." @@ -475,34 +485,65 @@ msgid "Couldn't Apply Preferences" msgstr "Kunde inte tillämpa inställningar" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} startat" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} dolt" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} synlig" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} borttaget" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Alla spel togs bort" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "En API-nyckel krävs för att använda SteamGridDB. Du kan generera en {}här{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "Installation hittades inte" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Välj en giltig katalog." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Ogiltig katalog" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Välj {} cachekatalog." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." +msgstr "Välj {} installationskatalog." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} cache directory." +msgid "Select the {} data directory." +msgstr "Välj {} cachekatalog." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Ange plats" @@ -510,38 +551,23 @@ msgstr "Ange plats" msgid "Dismiss" msgstr "Avvisa" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Bekräfta" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "Kunde inte ansluta till SteamGridDB" +msgstr "Kunde inte autentisera SteamGridDB" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "Verifiera din API-nyckel i inställningar" + +#, fuzzy +#~| msgid "Cache Not Found" +#~ msgid "Directory not Valid" +#~ msgstr "Cache inte hittad" + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "Bekräfta" #~ msgid "Steam Install Location" #~ msgstr "Steam-installationsplats" @@ -561,21 +587,9 @@ msgstr "" #~ msgid "Yesterday" #~ msgstr "Igår" -#~ msgid "Cache Not Found" -#~ msgstr "Cache inte hittad" - #~ msgid "Select the Lutris cache directory." #~ msgstr "Välj Lutris cache-mapp." -#~ msgid "Installation Not Found" -#~ msgstr "Installationen hittades inte" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Välj konfigurationsmappen {}." - -#~ msgid "Select the {} data directory." -#~ msgstr "Välj datamappen {}." - #~ msgid "Importing Games…" #~ msgstr "Importerar spel…" diff --git a/po/ta.po b/po/ta.po index 5b9e591..d062757 100644 --- a/po/ta.po +++ b/po/ta.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-05-29 18:48+0000\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-06-28 20:19+0000\n" "Last-Translator: \"K.B.Dharun Krishna\" \n" "Language-Team: Tamil \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 4.18.1\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "கார்ட்ரிட்ஜ்கள்" @@ -114,7 +114,7 @@ msgstr "மேலும் தகவல்" msgid "Edit" msgstr "தொகு" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "மறை" @@ -123,7 +123,7 @@ msgstr "மறை" msgid "Remove" msgstr "அகற்று" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "மறை காட்டு" @@ -148,7 +148,7 @@ msgstr "விருப்பங்களைக் காட்டு" msgid "Shortcuts" msgstr "குறுக்குவழிகள்" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "செயல்தவிர்" @@ -176,7 +176,7 @@ msgstr "மறைக்கப்பட்ட விளையாட்டுக msgid "Remove game" msgstr "விளையாட்டை அகற்று" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "நடத்தை" @@ -225,81 +225,94 @@ msgid "Steam" msgstr "Steam (ஸ்டீம்)" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "அரிப்பு (itch) நிறுவல் இடம்" +msgstr "நிறுவல் இடம்" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "லூட்ரிஸ்" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "லுட்ரிஸ் தற்காலிக சேமிப்பு இடம்" +msgstr "தற்காலிக சேமிப்பு இடம்" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "ஸ்டீம் (Steam) விளையாட்டுகளை இறக்குமதி செய்யவும்" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +#, fuzzy +#| msgid "Import Steam Games" +msgid "Import Flatpak Games" +msgstr "ஸ்டீம் (Steam) விளையாட்டுகளை இறக்குமதி செய்யவும்" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic (ஹீரோயிக்)" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Epic விளையாட்டுகளை இறக்குமதி செய்" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "GOG விளையாட்டுகளை இறக்குமதி செய்யவும்" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "பக்க ஏற்றப்பட்ட விளையாட்டுகளை இறக்குமதி செய்யவும்" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles (பாட்டில்கள்)" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "அரிப்பு (itch)" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" +msgstr "பழம்பெரும்" + +#: data/gtk/preferences.blp:230 +msgid "Flatpak" msgstr "" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:243 +#, fuzzy +#| msgid "Game Launcher" +msgid "Import Game Launchers" +msgstr "விளையாட்டு துவக்கி" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "ஸ்டீம்கிரிட் டிபி (SteamGridDB)" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "அங்கீகாரம்" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "API விசை" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "ஸ்டீம்கிரிட் டிபி (SteamGridDB) ஐப் பயன்படுத்தவும்" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "" "விளையாட்டுகளைச் சேர்க்கும் போது அல்லது இறக்குமதி செய்யும் போது படங்களைப் பதிவிறக்கவும்" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "அதிகாரப்பூர்வ படங்களை விட முன்னுரிமை" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "இயங்குபடம் செய்யப்பட்ட படங்களுக்கு முன்னுரிமை கொடுங்கள்" @@ -388,21 +401,21 @@ msgid "About Cartridges" msgstr "கார்ட்ரிட்ஜ்கள் பற்றி" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "K.B.Dharun Krishna " #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "சேர்க்கப்பட்டது: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "ஒருபோதும் இல்லை" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "கடைசியாக விளையாடியது: {}" @@ -419,26 +432,26 @@ msgid "Confirm" msgstr "உறுதிப்படுத்தவும்" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "கோப்பு.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "பயன்பாடு" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\பாதை\\டு \\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/பாதை/டு/ {}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -460,52 +473,89 @@ msgstr "" "\n" "பாதையில் இடைவெளிகள் இருந்தால், அதை இரட்டை மேற்கோள்களில் போர்த்துவதை உறுதிசெய்யவும்!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "விளையாட்டைச் சேர்க்க முடியவில்லை" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "விளையாட்டு தலைப்பு காலியாக இருக்கக்கூடாது." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "இயங்கக்கூடியது காலியாக இருக்க முடியாது." #: src/details_window.py:180 src/details_window.py:188 msgid "Couldn't Apply Preferences" -msgstr "விருப்பத்தேர்வுகளைப் பயன்படுத்த முடியவில்லை" +msgstr "விருப்பங்களைப் பயன்படுத்த முடியவில்லை" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} தொடங்கப்பட்டது" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} மறைக்கப்பட்டுள்ளது" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} மறைக்கப்படாதது" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} அகற்றப்பட்டது" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "அனைத்து விளையாட்டுகளும் அகற்றப்பட்டன" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "ஸ்டீம்கிரிட் டிபி (SteamGridDB) ஐப் பயன்படுத்த API விசை தேவை. நீங்கள் ஒன்றை {}இங்கே{} " "உருவாக்கலாம்." -#: src/preferences.py:289 +#: src/preferences.py:284 +#, fuzzy +#| msgid "Installation Not Found" +msgid "Installation Not Found" +msgstr "நிறுவல் கிடைக்கவில்லை" + +#: src/preferences.py:286 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select a valid directory." +msgstr "{} தரவு கோப்பகத்தைத் தேர்ந்தெடுக்கவும்." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "" + +#. The variable is the name of the source +#: src/preferences.py:352 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select the {} cache directory." +msgstr "{} தரவு கோப்பகத்தைத் தேர்ந்தெடுக்கவும்." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} configuration directory." +msgid "Select the {} configuration directory." +msgstr "{} உள்ளமைவு கோப்பகத்தைத் தேர்ந்தெடுக்கவும்." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select the {} data directory." +msgstr "{} தரவு கோப்பகத்தைத் தேர்ந்தெடுக்கவும்." + +#: src/preferences.py:364 msgid "Set Location" msgstr "இருப்பிடத்தை அமைக்கவும்" @@ -513,38 +563,23 @@ msgstr "இருப்பிடத்தை அமைக்கவும்" msgid "Dismiss" msgstr "நிராகரி" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "உறுதிப்படுத்தவும்" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "ஸ்டீம்கிரிட் டிபி (SteamGridDB) உடன் இணைக்க முடியவில்லை" +msgstr "ஸ்டீம்கிரிட் டிபி (SteamGridDB) ஐ அங்கீகரிக்க முடியவில்லை" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "உங்கள் API விசையை விருப்பங்களில் சரிபார்க்கவும்" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை." + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "உறுதிப்படுத்தவும்" #~ msgid "Steam Install Location" #~ msgstr "Steam (ஸ்டீம்) நிறுவல் இடம்" @@ -570,15 +605,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "லூட்ரிஸ் தற்காலிக சேமிப்பு கோப்பகத்தைத் தேர்ந்தெடுக்கவும்." -#~ msgid "Installation Not Found" -#~ msgstr "நிறுவல் கிடைக்கவில்லை" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "{} உள்ளமைவு கோப்பகத்தைத் தேர்ந்தெடுக்கவும்." - -#~ msgid "Select the {} data directory." -#~ msgstr "{} தரவு கோப்பகத்தைத் தேர்ந்தெடுக்கவும்." - #~ msgid "Importing Games…" #~ msgstr "விளையாட்டுகளை இறக்குமதி செய்கிறது…" @@ -704,9 +730,6 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "Steam (ஸ்டீம்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை." - #~ msgid "Talking to Steam" #~ msgstr "ஸ்டிமுடன் (Steam) பேசுகிறேன்" diff --git a/po/tr.po b/po/tr.po index 0e0a9cd..be3970c 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: 2023-06-26 12:01+0200\n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" "PO-Revision-Date: 2023-05-26 18:10+0000\n" "Last-Translator: Sabri Ünal \n" "Language-Team: Turkish " #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Eklendi: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Asla" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Son oynanma: {}" @@ -417,26 +434,26 @@ msgid "Confirm" msgstr "Doğrula" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "dosya.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "program" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\yol\\klasör\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/yol/klasör/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -458,15 +475,15 @@ msgstr "" "\n" "Yol boşluk içeriyorsa, çift tırnak içine aldığınızdan emin olun!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Oyun Eklenemedi" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Oyun başlığı boş olamaz." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "Çalıştırılabilir boş olamaz." @@ -475,35 +492,72 @@ msgid "Couldn't Apply Preferences" msgstr "Tercihler Uygulanamadı" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} başlatıldı" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} gizli" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} görünür" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} kaldırıldı" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Tüm oyunlar kaldırıldı" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "SteamGridDBʼyi kullanmak için API anahtarı gereklidir. {}Buradan{} bir tane " "oluşturabilirsiniz." -#: src/preferences.py:289 +#: src/preferences.py:284 +#, fuzzy +#| msgid "Installation Not Found" +msgid "Installation Not Found" +msgstr "Kurulum Bulunamadı" + +#: src/preferences.py:286 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select a valid directory." +msgstr "{} veri dizinini seç." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "" + +#. The variable is the name of the source +#: src/preferences.py:352 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select the {} cache directory." +msgstr "{} veri dizinini seç." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} configuration directory." +msgid "Select the {} configuration directory." +msgstr "{} yapılandırma dizinini seç." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} data directory." +msgid "Select the {} data directory." +msgstr "{} veri dizinini seç." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Konum Ayarla" @@ -511,29 +565,6 @@ msgstr "Konum Ayarla" msgid "Dismiss" msgstr "Vazgeç" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Doğrula" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 #, fuzzy #| msgid "Couldn't Connect to SteamGridDB" @@ -544,6 +575,16 @@ msgstr "SteamGridDBʼye bağlanılamadı" msgid "Verify your API key in preferences" msgstr "" +#, fuzzy +#~| msgid "Cache Not Found" +#~ msgid "Directory not Valid" +#~ msgstr "Önbellek Bulunamadı" + +#, fuzzy +#~| msgid "Confirm" +#~ msgid "Configuration" +#~ msgstr "Doğrula" + #~ msgid "Steam Install Location" #~ msgstr "Steam Kurulu Konumu" @@ -562,21 +603,9 @@ msgstr "" #~ msgid "Yesterday" #~ msgstr "Dün" -#~ msgid "Cache Not Found" -#~ msgstr "Önbellek Bulunamadı" - #~ msgid "Select the Lutris cache directory." #~ msgstr "Lutris önbellek dizinini seç." -#~ msgid "Installation Not Found" -#~ msgstr "Kurulum Bulunamadı" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "{} yapılandırma dizinini seç." - -#~ msgid "Select the {} data directory." -#~ msgstr "{} veri dizinini seç." - #~ msgid "Importing Games…" #~ msgstr "Oyunlar İçe Aktarılıyor…" diff --git a/po/uk.po b/po/uk.po index 2a7e5fe..87d8aa5 100644 --- a/po/uk.po +++ b/po/uk.po @@ -4,13 +4,14 @@ # kramo , 2023. # Dan , 2023. # Вова Смірнов , 2023. +# Dan , 2023. msgid "" msgstr "" "Project-Id-Version: cartridges\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 12:01+0200\n" -"PO-Revision-Date: 2023-06-03 18:51+0000\n" -"Last-Translator: Вова Смірнов \n" +"POT-Creation-Date: 2023-07-05 14:36+0200\n" +"PO-Revision-Date: 2023-07-01 22:51+0000\n" +"Last-Translator: Dan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -19,11 +20,11 @@ msgstr "" "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" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.0-dev\n" #: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:47 -#: src/main.py:146 +#: src/main.py:162 msgid "Cartridges" msgstr "Картриджі" @@ -114,7 +115,7 @@ msgstr "Більше інформації" msgid "Edit" msgstr "Редагувати" -#: data/gtk/game.blp:107 src/window.py:169 +#: data/gtk/game.blp:107 src/window.py:171 msgid "Hide" msgstr "Приховати" @@ -123,7 +124,7 @@ msgstr "Приховати" msgid "Remove" msgstr "Видалити" -#: data/gtk/game.blp:126 src/window.py:171 +#: data/gtk/game.blp:126 src/window.py:173 msgid "Unhide" msgstr "Показати" @@ -148,7 +149,7 @@ msgstr "Показати параметри" msgid "Shortcuts" msgstr "Ярлики" -#: data/gtk/help-overlay.blp:34 src/game.py:105 src/preferences.py:103 +#: data/gtk/help-overlay.blp:34 src/game.py:102 src/preferences.py:112 msgid "Undo" msgstr "Відмінити" @@ -176,7 +177,7 @@ msgstr "Показати приховані ігри" msgid "Remove game" msgstr "Видалити гру" -#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:236 +#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:268 msgid "Behavior" msgstr "Поведінка" @@ -225,80 +226,89 @@ msgid "Steam" msgstr "Steam" #: data/gtk/preferences.blp:96 data/gtk/preferences.blp:110 -#: data/gtk/preferences.blp:142 data/gtk/preferences.blp:183 -#: data/gtk/preferences.blp:197 data/gtk/preferences.blp:211 -#, fuzzy -#| msgid "itch Install Location" +#: data/gtk/preferences.blp:151 data/gtk/preferences.blp:192 +#: data/gtk/preferences.blp:206 data/gtk/preferences.blp:220 +#: data/gtk/preferences.blp:234 msgid "Install Location" -msgstr "Місце встановлення itch" +msgstr "Місце встановлення" #: data/gtk/preferences.blp:106 msgid "Lutris" msgstr "Lutris" #: data/gtk/preferences.blp:119 -#, fuzzy -#| msgid "Lutris Cache Location" msgid "Cache Location" -msgstr "Розташування сховища Lutris" +msgstr "Розташування кешу" #: data/gtk/preferences.blp:128 msgid "Import Steam Games" msgstr "Імпорт ігор Steam" -#: data/gtk/preferences.blp:138 +#: data/gtk/preferences.blp:137 +msgid "Import Flatpak Games" +msgstr "Імпортувати ігри Flatpak" + +#: data/gtk/preferences.blp:147 msgid "Heroic" msgstr "Heroic" -#: data/gtk/preferences.blp:151 +#: data/gtk/preferences.blp:160 msgid "Import Epic Games" msgstr "Імпорт Epic Games" -#: data/gtk/preferences.blp:160 +#: data/gtk/preferences.blp:169 msgid "Import GOG Games" msgstr "Імпорт ігор GOG" -#: data/gtk/preferences.blp:169 +#: data/gtk/preferences.blp:178 msgid "Import Sideloaded Games" msgstr "Імпорт сторонніх ігор" -#: data/gtk/preferences.blp:179 +#: data/gtk/preferences.blp:188 msgid "Bottles" msgstr "Bottles" -#: data/gtk/preferences.blp:193 +#: data/gtk/preferences.blp:202 msgid "itch" msgstr "itch" -#: data/gtk/preferences.blp:207 +#: data/gtk/preferences.blp:216 msgid "Legendary" -msgstr "" +msgstr "Легендарний" -#: data/gtk/preferences.blp:224 +#: data/gtk/preferences.blp:230 +msgid "Flatpak" +msgstr "Flatpak" + +#: data/gtk/preferences.blp:243 +msgid "Import Game Launchers" +msgstr "Імпортувати ігрові лаунчери" + +#: data/gtk/preferences.blp:256 msgid "SteamGridDB" msgstr "SteamGridDB" -#: data/gtk/preferences.blp:228 +#: data/gtk/preferences.blp:260 msgid "Authentication" msgstr "Аутентифікація" -#: data/gtk/preferences.blp:231 +#: data/gtk/preferences.blp:263 msgid "API Key" msgstr "Ключ API" -#: data/gtk/preferences.blp:239 +#: data/gtk/preferences.blp:271 msgid "Use SteamGridDB" msgstr "Використовувати SteamGridDB" -#: data/gtk/preferences.blp:240 +#: data/gtk/preferences.blp:272 msgid "Download images when adding or importing games" msgstr "Завантаження зображень під час додавання або імпорту ігор" -#: data/gtk/preferences.blp:249 +#: data/gtk/preferences.blp:281 msgid "Prefer Over Official Images" msgstr "Надавати перевагу офіційним зображенням" -#: data/gtk/preferences.blp:258 +#: data/gtk/preferences.blp:290 msgid "Prefer Animated Images" msgstr "Надавати перевагу анімованим зображенням" @@ -387,21 +397,21 @@ msgid "About Cartridges" msgstr "Про Картриджі" #. Translators: Replace this with your name for it to show up in the about window -#: src/main.py:164 +#: src/main.py:180 msgid "translator_credits" msgstr "kefir2105" #. The variable is the date when the game was added -#: src/window.py:192 +#: src/window.py:194 msgid "Added: {}" msgstr "Додано: {}" -#: src/window.py:195 +#: src/window.py:197 msgid "Never" msgstr "Ніколи" #. The variable is the date when the game was last played -#: src/window.py:199 +#: src/window.py:201 msgid "Last played: {}" msgstr "Востаннє грали: {}" @@ -418,26 +428,26 @@ msgid "Confirm" msgstr "Підтвердити" #. Translate this string as you would translate "file" -#: src/details_window.py:91 +#: src/details_window.py:92 msgid "file.txt" msgstr "file.txt" #. As in software -#: src/details_window.py:93 +#: src/details_window.py:94 msgid "program" msgstr "програма" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:98 src/details_window.py:100 +#: src/details_window.py:99 src/details_window.py:101 msgid "C:\\path\\to\\{}" msgstr "C:\\шлях\\до\\{}" #. Translate this string as you would translate "path to {}" -#: src/details_window.py:104 src/details_window.py:106 +#: src/details_window.py:105 src/details_window.py:107 msgid "/path/to/{}" msgstr "/path/to/{}" -#: src/details_window.py:111 +#: src/details_window.py:112 msgid "" "To launch the executable \"{}\", use the command:\n" "\n" @@ -460,15 +470,15 @@ msgstr "" "\n" "Якщо шлях містить пробіли, обов'язково візьміть його в подвійні лапки!" -#: src/details_window.py:146 src/details_window.py:152 +#: src/details_window.py:147 src/details_window.py:153 msgid "Couldn't Add Game" msgstr "Не вдалося додати гру" -#: src/details_window.py:146 src/details_window.py:181 +#: src/details_window.py:147 src/details_window.py:181 msgid "Game title cannot be empty." msgstr "Назва гри не може бути порожньою." -#: src/details_window.py:152 src/details_window.py:189 +#: src/details_window.py:153 src/details_window.py:189 msgid "Executable cannot be empty." msgstr "Виконуваний файл не може бути порожнім." @@ -477,35 +487,66 @@ msgid "Couldn't Apply Preferences" msgstr "Не вдалося застосувати параметри" #. The variable is the title of the game -#: src/game.py:141 +#: src/game.py:138 msgid "{} launched" msgstr "{} запущено" #. The variable is the title of the game -#: src/game.py:154 +#: src/game.py:152 msgid "{} hidden" msgstr "{} приховано" -#: src/game.py:154 +#: src/game.py:152 msgid "{} unhidden" msgstr "{} показано" -#: src/game.py:171 +#: src/game.py:169 msgid "{} removed" msgstr "{} видалено" -#: src/preferences.py:102 +#: src/preferences.py:111 msgid "All games removed" msgstr "Всі ігри видалено" -#: src/preferences.py:149 +#: src/preferences.py:159 msgid "" "An API key is required to use SteamGridDB. You can generate one {}here{}." msgstr "" "Для використання SteamGridDB потрібен ключ API. Ви можете згенерувати його {}" "тут{}." -#: src/preferences.py:289 +#: src/preferences.py:284 +msgid "Installation Not Found" +msgstr "Встановлення не знайдено" + +#: src/preferences.py:286 +msgid "Select a valid directory." +msgstr "Виберіть правильний каталог." + +#: src/preferences.py:348 +msgid "Invalid Directory" +msgstr "Неправильний каталог" + +#. The variable is the name of the source +#: src/preferences.py:352 +msgid "Select the {} cache directory." +msgstr "Виберіть каталог кешу {}." + +#. The variable is the name of the source +#: src/preferences.py:355 +#, fuzzy +#| msgid "Select the {} installation directory." +msgid "Select the {} configuration directory." +msgstr "Виберіть каталог встановлення {}." + +#. The variable is the name of the source +#: src/preferences.py:358 +#, fuzzy +#| msgid "Select the {} cache directory." +msgid "Select the {} data directory." +msgstr "Виберіть каталог кешу {}." + +#: src/preferences.py:364 msgid "Set Location" msgstr "Встановити місцезнаходження" @@ -513,38 +554,33 @@ msgstr "Встановити місцезнаходження" msgid "Dismiss" msgstr "Відхилити" -#: src/importer/sources/source.py:106 -msgid "Data" -msgstr "" - -#: src/importer/sources/source.py:107 -msgid "Cache" -msgstr "" - -#: src/importer/sources/source.py:108 -#, fuzzy -#| msgid "Confirm" -msgid "Configuration" -msgstr "Підтвердити" - -#. The variables are the type of location (eg. cache) and the source's name (eg. Steam) -#: src/importer/sources/source.py:119 -msgid "Invalid {} Location for {{}}" -msgstr "" - -#: src/importer/sources/source.py:120 -msgid "Pick a new one or disable the source in preferences" -msgstr "" - #: src/store/managers/sgdb_manager.py:47 -#, fuzzy -#| msgid "Couldn't Connect to SteamGridDB" msgid "Couldn't Authenticate SteamGridDB" -msgstr "Не вдалося підключитися до SteamGridDB" +msgstr "Не вдалося автентифікувати SteamGridDB" #: src/store/managers/sgdb_manager.py:48 msgid "Verify your API key in preferences" -msgstr "" +msgstr "Перевірте свій API-ключ у параметрах" + +#, fuzzy +#~| msgid "The Steam directory cannot be found." +#~ msgid "Directory not Valid" +#~ msgstr "Каталог Steam знайти неможливо." + +#~ msgid "Data" +#~ msgstr "Дані" + +#~ msgid "Cache" +#~ msgstr "Кеш" + +#~ msgid "Configuration" +#~ msgstr "Конфігурація" + +#~ msgid "Invalid {} Location for {{}}" +#~ msgstr "Недійсний {} Місце для {{}}" + +#~ msgid "Pick a new one or disable the source in preferences" +#~ msgstr "Виберіть новий або вимкніть джерело у параметрах" #~ msgid "Steam Install Location" #~ msgstr "Місце встановлення Steam" @@ -570,15 +606,6 @@ msgstr "" #~ msgid "Select the Lutris cache directory." #~ msgstr "Виберіть каталог кешу Lutris." -#~ msgid "Installation Not Found" -#~ msgstr "Встановлення не знайдено" - -#~ msgid "Select the {} configuration directory." -#~ msgstr "Виберіть каталог конфігурації {}." - -#~ msgid "Select the {} data directory." -#~ msgstr "Виберіть каталог даних {}." - #~ msgid "Importing Games…" #~ msgstr "Імпорт ігор…" @@ -703,9 +730,6 @@ msgstr "" #~ msgid "No new games were found in the Steam library." #~ msgstr "У бібліотеці Steam не знайдено жодної нової гри." -#~ msgid "The Steam directory cannot be found." -#~ msgstr "Каталог Steam знайти неможливо." - #~ msgid "Talking to Steam" #~ msgstr "Спілкування зі Steam" diff --git a/src/details_window.py b/src/details_window.py index 61280ff..532ee1a 100644 --- a/src/details_window.py +++ b/src/details_window.py @@ -81,6 +81,7 @@ class DetailsWindow(Adw.Window): image_filter = Gtk.FileFilter(name=_("Images")) for extension in Image.registered_extensions(): image_filter.add_suffix(extension[1:]) + image_filter.add_suffix("svg") # Gdk.Texture supports .svg but PIL doesn't file_filters = Gio.ListStore.new(Gtk.FileFilter) file_filters.append(image_filter) @@ -154,9 +155,10 @@ class DetailsWindow(Adw.Window): return # Increment the number after the game id (eg. imported_1, imported_2) + source_id = "imported" numbers = [0] game_id: str - for game_id in shared.store.games: + for game_id in shared.source_games[source_id]: prefix = "imported_" if not game_id.startswith(prefix): continue @@ -167,7 +169,7 @@ class DetailsWindow(Adw.Window): { "game_id": f"imported_{game_number}", "hidden": False, - "source": "imported", + "source": source_id, "added": int(time()), } ) diff --git a/src/game_cover.py b/src/game_cover.py index 32a3b25..073f0c9 100644 --- a/src/game_cover.py +++ b/src/game_cover.py @@ -61,8 +61,8 @@ class GameCover: if path: if path.suffix == ".gif": - task = Gio.Task.new() - task.run_in_thread(self.create_func(self.path)) + self.task = Gio.Task.new() + self.task.run_in_thread(self.create_func(self.path)) else: self.texture = Gdk.Texture.new_from_filename(str(path)) @@ -108,6 +108,8 @@ class GameCover: self.pictures.add(picture) if not self.animation: self.set_texture(self.texture) + else: + self.update_animation((self.task, self.animation)) def set_texture(self, texture): self.pictures.discard( @@ -131,5 +133,3 @@ class GameCover: self.update_animation, data, ) - else: - data[0].return_value(False) diff --git a/src/importer/importer.py b/src/importer/importer.py index 86ead2e..8b30c6b 100644 --- a/src/importer/importer.py +++ b/src/importer/importer.py @@ -91,6 +91,8 @@ class Importer(ErrorProducer): def run(self): """Use several Gio.Task to import games from added sources""" + shared.win.get_application().lookup_action("import").set_enabled(False) + self.create_dialog() # Collect all errors and reset the cancellables for the managers @@ -221,6 +223,7 @@ class Importer(ErrorProducer): self.import_dialog.close() self.summary_toast = self.create_summary_toast() self.create_error_dialog() + shared.win.get_application().lookup_action("import").set_enabled(True) def create_error_dialog(self): """Dialog containing all errors raised by importers""" diff --git a/src/importer/sources/heroic_source.py b/src/importer/sources/heroic_source.py index 9048ca8..aba4310 100644 --- a/src/importer/sources/heroic_source.py +++ b/src/importer/sources/heroic_source.py @@ -84,7 +84,7 @@ class HeroicSourceIterator(SourceIterator): "source": self.source.id, "added": added_time, "name": entry["title"], - "developer": entry["developer"], + "developer": entry.get("developer", None), "game_id": self.source.game_id_format.format( service=service, game_id=app_name ), @@ -106,14 +106,16 @@ class HeroicSourceIterator(SourceIterator): def generator_builder(self) -> SourceIterationResult: """Generator method producing games from all the Heroic sub-sources""" - for sub_source in self.sub_sources.values(): + for sub_source_name, sub_source in self.sub_sources.items(): # Skip disabled sub-sources if not shared.schema.get_boolean("heroic-import-" + sub_source["service"]): continue # Load games from JSON file = self.source.config_location.root.joinpath(*sub_source["path"]) try: - library = json.load(file.open())["library"] + contents = json.load(file.open()) + key = "library" if sub_source_name == "legendary" else "games" + library = contents[key] except (JSONDecodeError, OSError, KeyError): # Invalid library.json file, skip it logging.warning("Couldn't open Heroic file: %s", str(file)) @@ -124,9 +126,11 @@ class HeroicSourceIterator(SourceIterator): for entry in library: try: result = self.game_from_library_entry(entry, added_time) - except KeyError: + except KeyError as error: # Skip invalid games - logging.warning("Invalid Heroic game skipped in %s", str(file)) + logging.warning( + "Invalid Heroic game skipped in %s", str(file), exc_info=error + ) continue yield result diff --git a/src/importer/sources/legendary_source.py b/src/importer/sources/legendary_source.py index 2882e92..2c215ca 100644 --- a/src/importer/sources/legendary_source.py +++ b/src/importer/sources/legendary_source.py @@ -51,7 +51,7 @@ class LegendarySourceIterator(SourceIterator): data = {} # Get additional metadata from file (optional) - metadata_file = self.source.data_location["metadata"] / f"{app_name}.json" + metadata_file = self.source.config_location["metadata"] / f"{app_name}.json" try: metadata = json.load(metadata_file.open()) values["developer"] = metadata["metadata"]["developer"] @@ -67,7 +67,7 @@ class LegendarySourceIterator(SourceIterator): def generator_builder(self) -> Generator[SourceIterationResult, None, None]: # Open library - file = self.source.data_location["installed.json"] + file = self.source.config_location["installed.json"] try: library: dict = json.load(file.open()) except (JSONDecodeError, OSError): diff --git a/src/importer/sources/lutris_source.py b/src/importer/sources/lutris_source.py index ad0bc80..20f852a 100644 --- a/src/importer/sources/lutris_source.py +++ b/src/importer/sources/lutris_source.py @@ -70,9 +70,9 @@ class LutrisSourceIterator(SourceIterator): "name": row[1], "source": f"{self.source.id}_{row[3]}", "game_id": self.source.game_id_format.format( - game_id=row[2], game_internal_id=row[0] + runner=row[3], game_id=row[0] ), - "executable": self.source.executable_format.format(game_id=row[2]), + "executable": self.source.executable_format.format(game_id=row[0]), } game = Game(values) @@ -123,4 +123,4 @@ class LutrisSource(URLExecutableSource): @property def game_id_format(self): - return super().game_id_format + "_{game_internal_id}" + return self.id + "_{runner}_{game_id}" diff --git a/src/importer/sources/steam_source.py b/src/importer/sources/steam_source.py index ff60d86..9a45270 100644 --- a/src/importer/sources/steam_source.py +++ b/src/importer/sources/steam_source.py @@ -118,9 +118,9 @@ class SteamSource(URLExecutableSource): data_location = Location( schema_key="steam-location", candidates=( - shared.flatpak_dir / "com.valvesoftware.Steam" / "data" / "Steam", + shared.home / ".steam" / "steam", shared.data_dir / "Steam", - shared.home / ".steam", + shared.flatpak_dir / "com.valvesoftware.Steam" / "data" / "Steam", shared.programfiles32_dir / "Steam", ), paths={ diff --git a/src/main.py b/src/main.py index 811f92c..4488473 100644 --- a/src/main.py +++ b/src/main.py @@ -93,7 +93,7 @@ class CartridgesApplication(Adw.Application): shared.store.add_manager(SteamAPIManager()) shared.store.add_manager(OnlineCoverManager()) shared.store.add_manager(SGDBManager()) - shared.store.enable_manager_in_pipelines(FileManager) + shared.store.toggle_manager_in_pipelines(FileManager, True) # Create actions self.create_actions( @@ -179,6 +179,7 @@ class CartridgesApplication(Adw.Application): # Translators: Replace this with your name for it to show up in the about window translator_credits=_("translator_credits"), debug_info=debug_str, + debug_info_filename="cartridges.log", ) about.present() diff --git a/src/preferences.py b/src/preferences.py index 67105df..afc9ec7 100644 --- a/src/preferences.py +++ b/src/preferences.py @@ -212,10 +212,9 @@ class PreferencesWindow(Adw.PreferencesWindow): self.toast.dismiss() def remove_all_games(self, *_args): - for game in shared.store.games.values(): + for game in shared.store: if not game.removed: self.removed_games.add(game) - game.removed = True game.save() game.update() @@ -343,14 +342,17 @@ class PreferencesWindow(Adw.PreferencesWindow): # Bad picked location, inform user else: - if location_name == "cache": - title = _("Invalid Directory") - # The variable is the name of the source - subtitle_format = _("Select the {} cache directory.") - else: - title = _("Invalid Directory") - # The variable is the name of the source - subtitle_format = _("Select the {} installation directory.") + title = _("Invalid Directory") + match location_name: + case "cache": + # The variable is the name of the source + subtitle_format = _("Select the {} cache directory.") + case "config": + # The variable is the name of the source + subtitle_format = _("Select the {} configuration directory.") + case "data": + # The variable is the name of the source + subtitle_format = _("Select the {} data directory.") dialog = create_dialog( self, title, diff --git a/src/shared.py.in b/src/shared.py.in index bfa882c..92fc574 100644 --- a/src/shared.py.in +++ b/src/shared.py.in @@ -34,7 +34,7 @@ state_schema = Gio.Settings.new(APP_ID + ".State") home = Path.home() data_dir = Path(GLib.get_user_data_dir()) config_dir = Path(GLib.get_user_config_dir()) -cache_dir = Path(GLib.get_user_config_dir()) +cache_dir = Path(GLib.get_user_cache_dir()) flatpak_dir = home / ".var" / "app" games_dir = data_dir / "cartridges" / "games" diff --git a/src/store/store.py b/src/store/store.py index d56a746..9da9ef0 100644 --- a/src/store/store.py +++ b/src/store/store.py @@ -18,6 +18,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later import logging +from typing import MutableMapping, Generator, Any from src import shared from src.game import Game @@ -31,24 +32,59 @@ class Store: managers: dict[type[Manager], Manager] pipeline_managers: set[Manager] pipelines: dict[str, Pipeline] - games: dict[str, Game] + source_games: MutableMapping[str, MutableMapping[str, Game]] def __init__(self) -> None: self.managers = {} self.pipeline_managers = set() self.pipelines = {} - self.games = {} + self.source_games = {} + + def __contains__(self, obj: object) -> bool: + """Check if the game is present in the store with the `in` keyword""" + if not isinstance(obj, Game): + return False + if not (source_mapping := self.source_games.get(obj.source)): + return False + return obj.game_id in source_mapping + + def __iter__(self) -> Generator[Game, None, None]: + """Iterate through the games in the store with `for ... in`""" + for _source_id, games_mapping in self.source_games.items(): + for _game_id, game in games_mapping.items(): + yield game + + def __len__(self) -> int: + """Get the number of games in the store with the `len` builtin""" + return sum(len(source_mapping) for source_mapping in self.source_games) + + def __getitem__(self, game_id: str) -> Game: + """Get a game by its id with `store["game_id_goes_here"]`""" + for game in iter(self): + if game.game_id == game_id: + return game + raise KeyError("Game not found in store") + + def get(self, game_id: str, default: Any = None) -> Game | Any: + """Get a game by its ID, with a fallback if not found""" + try: + game = self[game_id] + return game + except KeyError: + return default def add_manager(self, manager: Manager, in_pipeline=True): """Add a manager to the store""" manager_type = type(manager) self.managers[manager_type] = manager - if in_pipeline: - self.enable_manager_in_pipelines(manager_type) + self.toggle_manager_in_pipelines(manager_type, in_pipeline) - def enable_manager_in_pipelines(self, manager_type: type[Manager]): - """Make a manager run in new pipelines""" - self.pipeline_managers.add(self.managers[manager_type]) + def toggle_manager_in_pipelines(self, manager_type: type[Manager], enable: bool): + """Change if a manager should run in new pipelines""" + if enable: + self.pipeline_managers.add(self.managers[manager_type]) + else: + self.pipeline_managers.discard(self.managers[manager_type]) def cleanup_game(self, game: Game) -> None: """Remove a game's files""" @@ -74,7 +110,7 @@ class Store: return None # Handle game duplicates - stored_game = self.games.get(game.game_id) + stored_game = self.get(game.game_id) if not stored_game: # New game, do as normal logging.debug("New store game %s (%s)", game.name, game.game_id) @@ -96,11 +132,15 @@ class Store: for signal in manager.signals: game.connect(signal, manager.execute_resilient_manager_logic) + # Add the game to the store + if not game.source in self.source_games: + self.source_games[game.source] = {} + self.source_games[game.source][game.game_id] = game + # Run the pipeline for the game if not run_pipeline: return None pipeline = Pipeline(game, additional_data, self.pipeline_managers) - self.games[game.game_id] = game self.pipelines[game.game_id] = pipeline pipeline.advance() return pipeline diff --git a/src/window.py b/src/window.py index 85767f4..0ebbe72 100644 --- a/src/window.py +++ b/src/window.py @@ -120,7 +120,7 @@ class CartridgesWindow(Adw.ApplicationWindow): def set_library_child(self): child, hidden_child = self.notice_empty, self.hidden_notice_empty - for game in shared.store.games.values(): + for game in shared.store: if game.removed or game.blacklisted: continue if game.hidden: diff --git a/windows/Cartridges.iss.in b/windows/Cartridges.iss.in index 8a74ba3..e3a98c6 100644 --- a/windows/Cartridges.iss.in +++ b/windows/Cartridges.iss.in @@ -15,10 +15,10 @@ AppSupportURL=https://github.com/kra-mo/cartridges/issues AppUpdatesURL={#MyAppURL} DefaultDirName={autopf64}\{#MyAppName} DisableProgramGroupPage=yes -LicenseFile=..\LICENSE +LicenseFile=..\..\LICENSE PrivilegesRequiredOverridesAllowed=dialog OutputBaseFilename=Cartridges Setup -SetupIconFile=..\windows\icon.ico +SetupIconFile=..\..\windows\icon.ico Compression=lzma SolidCompression=yes WizardStyle=modern @@ -50,7 +50,7 @@ Source: "D:\a\_temp\msys64\ucrt64\share\glib-2.0\*"; DestDir: "{app}\share\glib- Source: "D:\a\_temp\msys64\ucrt64\share\gtk-4.0\*"; DestDir: "{app}\share\gtk-4.0"; Flags: recursesubdirs ignoreversion Source: "D:\a\_temp\msys64\ucrt64\share\locale\*"; DestDir: "{app}\share\locale"; Flags: recursesubdirs ignoreversion -Source: "..\windows\icon.ico"; DestDir: "{app}"; Flags: recursesubdirs ignoreversion +Source: "..\..\windows\icon.ico"; DestDir: "{app}"; Flags: recursesubdirs ignoreversion [Icons] Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; Parameters: """{app}\bin\cartridges"""; IconFilename: "{app}\icon.ico" diff --git a/windows/meson.build b/windows/meson.build new file mode 100644 index 0000000..959e7ff --- /dev/null +++ b/windows/meson.build @@ -0,0 +1,7 @@ +configure_file( + input: './Cartridges.iss.in', + output: 'Cartridges.iss', + configuration: conf, + install: true, + install_dir: '.' +) \ No newline at end of file