Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
501747ee36 | ||
|
|
cb6fde38ef | ||
|
|
3c71974d13 | ||
|
|
e12d70cb95 | ||
|
|
002a753289 | ||
|
|
9ace39af6b | ||
|
|
af2b51779b | ||
|
|
5c748993c8 | ||
|
|
4c740036cd | ||
|
|
923aee6f1b | ||
|
|
f91c278dd0 | ||
|
|
5345fa48bc | ||
|
|
a9ba84440d | ||
|
|
c528e559a3 | ||
|
|
f52764d437 | ||
|
|
95b3893b70 | ||
|
|
716051d826 | ||
|
|
e3b24eafc0 | ||
|
|
f172385b6c | ||
|
|
9dccb8f369 | ||
|
|
2b7dfed1e3 | ||
|
|
65357bdc41 | ||
|
|
69dfc9a717 | ||
|
|
030c220d7e | ||
|
|
41c97e1af7 | ||
|
|
2f869a91ea | ||
|
|
b65bab3528 | ||
|
|
ecceaabff1 | ||
|
|
6b103c996b | ||
|
|
fc2932f7dd | ||
|
|
bfa7cbfe08 | ||
|
|
973ec01b38 | ||
|
|
214687c9ce | ||
|
|
703c65395c | ||
|
|
eda22c7ea7 | ||
|
|
4e7e21ff6c | ||
|
|
bbf3703229 | ||
|
|
06550c0138 | ||
|
|
4401378ce3 | ||
|
|
a665241d76 | ||
|
|
053d5791a4 | ||
|
|
df45ef411a | ||
|
|
8ddf609815 | ||
|
|
20e7cbf8b6 | ||
|
|
ba6379f83a | ||
|
|
7f8c22df9e | ||
|
|
8c1ed2a254 | ||
|
|
51c500a7aa | ||
|
|
6cdc09cca9 | ||
|
|
863a5e6eb5 | ||
|
|
7ee4ae878b | ||
|
|
7c963d3abd | ||
|
|
d5a640bd0b | ||
|
|
6b777894ea | ||
|
|
5b839c9f6f | ||
|
|
c93a47a27f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
/subprojects/blueprint-compiler
|
||||
/.flatpak
|
||||
/.flatpak-builder
|
||||
/.vscode
|
||||
@@ -1,5 +1,5 @@
|
||||
#define MyAppName "Cartridges"
|
||||
#define MyAppVersion "0.1.4"
|
||||
#define MyAppVersion "1.0"
|
||||
#define MyAppPublisher "kramo"
|
||||
#define MyAppURL "https://github.com/kra-mo/cartridges"
|
||||
#define MyAppExeName "pythonw.exe"
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
|
||||
# Cartridges
|
||||
A GTK4 + Libadwaita game launcher
|
||||
|
||||
|
||||
[![Build status][github-actions-image]][github-actions-url]
|
||||
[![Translation Status][weblate-image]][weblate-url]
|
||||
[![License][license-image]][license-url]
|
||||
[![Discord Chatroom][discord-image]][discord-url]
|
||||
[![Code style][code-style-image]][code-style-url]
|
||||
|
||||
[github-actions-url]: https://github.com/kra-mo/cartridges
|
||||
@@ -18,8 +19,10 @@
|
||||
[code-style-image]: https://img.shields.io/badge/code%20style-black-000000?style=flat
|
||||
[weblate-url]: https://hosted.weblate.org/engage/cartridges/
|
||||
[weblate-image]: https://hosted.weblate.org/widgets/cartridges/-/cartridges/svg-badge.svg
|
||||
[discord-url]: https://discord.gg/4KSFh3AmQR
|
||||
[discord-image]: https://img.shields.io/discord/1088155799299313754?color=%235865F2&label=discord&logo=discord&logoColor=%23FFFFFF
|
||||
|
||||
<img src="data/screenshot.webp">
|
||||
<img src="data/screenshots/1.png">
|
||||
</div>
|
||||
|
||||
# The Project
|
||||
@@ -31,6 +34,8 @@ Cartridges is a simple game launcher written in Python using GTK4 and Libadwaita
|
||||
- Hiding games
|
||||
- Searching and sorting by title, date added and last played
|
||||
|
||||
For updates and questions, join our [Discord server]([discord-url])!
|
||||
|
||||
# Installation
|
||||
|
||||
## Linux
|
||||
|
||||
@@ -11,15 +11,12 @@ template game : Box {
|
||||
Box {
|
||||
orientation: vertical;
|
||||
Button cover_button {
|
||||
overflow: hidden;
|
||||
Picture cover {
|
||||
width-request: 200;
|
||||
height-request: 300;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles [
|
||||
"card",
|
||||
]
|
||||
}
|
||||
|
||||
styles [
|
||||
@@ -47,7 +44,6 @@ template game : Box {
|
||||
margin-bottom: 6;
|
||||
margin-end: 6;
|
||||
margin-start: 6;
|
||||
menu-model: game_options;
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
|
||||
@@ -404,41 +404,3 @@ menu add_games {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu game_options {
|
||||
section {
|
||||
item {
|
||||
label: _("Edit");
|
||||
action: "app.edit_details";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Hide");
|
||||
action: "app.hide_game";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Remove");
|
||||
action: "app.remove_game";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu hidden_game_options {
|
||||
section {
|
||||
item {
|
||||
label: _("Edit");
|
||||
action: "app.edit_details";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Unhide");
|
||||
action: "app.hide_game";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Remove");
|
||||
action: "app.remove_game";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,38 @@
|
||||
<description>
|
||||
<p>Cartridges is a simple game launcher. It has support for importing your games from Steam, Heroic and Bottles with organizational features such as hiding and sorting by date added or last played.</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">hu.kramo.Cartridges.desktop</launchable>
|
||||
<url type="homepage">https://github.com/kra-mo/cartridges</url>
|
||||
<url type="bugtracker">https://github.com/kra-mo/cartridges/issues</url>
|
||||
<url type="translate">https://hosted.weblate.org/engage/cartridges/</url>
|
||||
<url type="contact">https://www.kramo.hu/about/</url>
|
||||
<url type="vcs-browser">https://github.com/kra-mo/cartridges</url>
|
||||
<url type="contribute">https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md</url>
|
||||
<developer_name translatable="no">kramo</developer_name>
|
||||
<launchable type="desktop-id">hu.kramo.Cartridges.desktop</launchable>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/1.png</image>
|
||||
<caption>Library</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/2.png</image>
|
||||
<caption>Edit Game Details</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/3.png</image>
|
||||
<caption>Game Details</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/4.png</image>
|
||||
<caption>Preferences</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<content_rating type="oars-1.1" />
|
||||
<releases>
|
||||
<release version="1.0" date="2023-03-25">
|
||||
<description>
|
||||
<p>First stable release</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 911 KiB |
BIN
data/screenshots/1.png
Normal file
BIN
data/screenshots/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 719 KiB |
BIN
data/screenshots/2.png
Normal file
BIN
data/screenshots/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
BIN
data/screenshots/3.png
Normal file
BIN
data/screenshots/3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 156 KiB |
BIN
data/screenshots/4.png
Normal file
BIN
data/screenshots/4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"app-id" : "hu.kramo.Cartridges",
|
||||
"id" : "hu.kramo.Cartridges",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
@@ -31,7 +31,20 @@
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
"python3-modules.json",
|
||||
{
|
||||
"name": "python3-pyyaml",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
"buildsystem" : "meson",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('cartridges',
|
||||
version: '0.1.4',
|
||||
version: '1.0',
|
||||
meson_version: '>= 0.59.0',
|
||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||
)
|
||||
|
||||
@@ -3,3 +3,8 @@ ta
|
||||
uk
|
||||
nb_NO
|
||||
fr
|
||||
nl
|
||||
it
|
||||
ar
|
||||
es
|
||||
fi
|
||||
|
||||
523
po/ar.po
Normal file
523
po/ar.po
Normal file
@@ -0,0 +1,523 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Ali Aljishi <ahj696@hotmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-24 16:49+0000\n"
|
||||
"Last-Translator: Ali Aljishi <ahj696@hotmail.com>\n"
|
||||
"Language-Team: Arabic <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/ar/>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"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.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "عبوات"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "مشغِّل ألعاب"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "شغِّل ألعابك"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "شغِّل كلَّ ألعابك"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
msgid ""
|
||||
"Cartridges is a simple game launcher. It has support for importing your "
|
||||
"games from Steam, Heroic and Bottles with organizational features such as "
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"«عبوَّات» هو مشغِّل ألعاب يسير، فيه دعم لاستيراد الألعاب من ستيم، وهِرُوِك، وبوتلز، "
|
||||
"وفيه مزايا لترتيب هذه الألعاب مثل إخفاء بعضها أو ترتيبها حسب تاريخ إضافتها "
|
||||
"أو آخر تاريخ لُعبت فيه."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "حرِّر تفاصيل اللعبة"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "تفاصيل اللعبة"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "التفضيلات"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "لم يُعثر على ألعاب"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "جرِّب بحثًا آخر."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "لا توجد ألعاب"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "استخدم زرَّ + لتضيف ألعابًا."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "لا توجد ألعاب مخفية"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "هنا يظهر ما أخفيت من ألعاب."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "عد"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "عنوان اللعبة"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "العب"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "أضف لعبةً"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "القائمة الرئيسة"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
msgid "Search"
|
||||
msgstr "ابحث"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "الألعاب المخفية"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "رتِّب"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "أ-ي"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "ي-أ"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "الأجدد"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "الأقدم"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "لُعبت آخر مرَّة"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "أظهر ما أخفي"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "اختصارات لوحة المفاتيح"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "عن «عبوَّات»"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
msgstr "استورد من"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "ستيم"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "هِرُوِك"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "بوتلز"
|
||||
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "العنوان"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "حرِّر"
|
||||
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "أخفِ"
|
||||
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "أزل"
|
||||
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "اكشف"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "عام"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "أنهِ"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "ابحث"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "أظهر التفضيلات"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "الاختصارات"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
msgid "Undo"
|
||||
msgstr "تراجع"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "افتح القائمة"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "الألعاب"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "أضف لعبةً جديدةً"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show hidden games"
|
||||
msgstr "أظهر الألعاب المخفية"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "عام"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "اخرج بعد بدء الألعاب"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Steam Install Location"
|
||||
msgstr "موضع تثبيت ستيم"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "المجلَّد المستخدم عند استيراد الألعاب"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "مكتبات ستيم الإضافية"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "حدِّد المجلَّدات الأخرى التي ثُبِّتت فيها ألعاب ستيم"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
msgid "Clear"
|
||||
msgstr "أمحُ"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "موضع تثبيت هِرُوِك"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Import Epic Games"
|
||||
msgstr "استورد ألعاب أَبِك"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
msgid "Import GOG Games"
|
||||
msgstr "استورد ألعاب جيأوجي"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "استورد ألعابًا مثبَّتةً بغير متجر"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "موضع تثبيت بوتلز"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr "Ali Aljishi <ahj696@hotmail.com>"
|
||||
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "أزيلت {title}"
|
||||
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "تراجع"
|
||||
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "اليوم"
|
||||
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "أمس"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "أضيفت في: {date}"
|
||||
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "أبدًا"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "لُعبت آخر مرَّة في: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "تعذَّر استيراد الألعاب"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "تعذَّر العثور على مجلَّد بوتلز."
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "عيِّن موضع بوتلز"
|
||||
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "لم يُعثر على ألعاب جديدة في مكتبة بوتلز."
|
||||
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "اُستوردت ألعاب بوتلز"
|
||||
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "اُستوردت لعبة بنجاح."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "اُستوردت {games_no} لعبة بنجاح."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "أضف لعبةً جديدةً"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "أكِّد"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "طبِّق"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "الصور"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "عنوان اللعبة"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "المطوِّر"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "المطوِّر أو الناشر (اختياري)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
msgid "file.txt"
|
||||
msgstr "ملف.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
msgid "program"
|
||||
msgstr "برنامج"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\path\\to\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\path\\to\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/path/to/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/path/to/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"إن أردت تشغيل ملفِّ التنفيذ «{exe_name}» فعليك استخدام الأمر:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"إن أردت فتح الملفِّ «{file_name}» باستخدام التطبيق المبدئيِّ فعليك استخدام:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"ولا تنسَ إحاطة المسافات في المسار بعلامتي تنصيص مزدوجتين!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
msgid "Executable"
|
||||
msgstr "ملفُّ تنفيذ"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "الملفُّ المفتوح أو الأمر المشغَّل عند بدء اللعبة"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
msgid "Cancel"
|
||||
msgstr "ألغِ"
|
||||
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "تعذَّرت إضافة اللعبة"
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "تعذَّر تطبيق التفضيلات"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "لا يجوز كون عنوان اللعبة فارغًا."
|
||||
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "لا يجوز كون ملفِّ التنفيذ فارغًا."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "تجاهل"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "تعذَّر العثور على مجلَّد هِرُوِك."
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "عيِّن موضع هِرُوِك"
|
||||
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "لم يُعثر على ألعاب جديدة في مكتبة هِرُوِك."
|
||||
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "اُستوردت ألعاب هِرُوِك"
|
||||
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "لم يُعثر على ألعاب جديدة في مكتبة ستيم."
|
||||
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "اُستوردت ألعاب ستيم"
|
||||
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "تعذَّر العثور على مجلَّد ستيم."
|
||||
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "عيِّن موضع ستيم"
|
||||
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "تُستورد الألعاب…"
|
||||
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "يُتواصل مع ستيم"
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr ""
|
||||
|
||||
@@ -42,8 +42,30 @@ msgid ""
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr ""
|
||||
|
||||
@@ -71,15 +93,11 @@ msgstr ""
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
@@ -127,10 +145,6 @@ msgstr ""
|
||||
msgid "Show Hidden"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
@@ -155,28 +169,26 @@ msgstr ""
|
||||
msgid "Bottles"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -281,41 +293,41 @@ msgstr ""
|
||||
msgid "translator_credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:195
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr ""
|
||||
|
||||
@@ -327,22 +339,22 @@ msgstr ""
|
||||
msgid "Set Bottles Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr ""
|
||||
@@ -355,10 +367,6 @@ msgstr ""
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
@@ -434,26 +442,28 @@ msgstr ""
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr ""
|
||||
@@ -466,34 +476,34 @@ msgstr ""
|
||||
msgid "Set Heroic Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr ""
|
||||
|
||||
520
po/es.po
Normal file
520
po/es.po
Normal file
@@ -0,0 +1,520 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Óscar Fernández Díaz <oscfdezdz@users.noreply.hosted.weblate.org>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartuchos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Lanzador de juegos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Lance sus juegos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Lance todos sus juegos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
msgid ""
|
||||
"Cartridges is a simple game launcher. It has support for importing your "
|
||||
"games from Steam, Heroic and Bottles with organizational features such as "
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"Cartuchos es un lanzador de juegos simple. Tiene soporte para importar sus "
|
||||
"juegos de Steam, Heroic y Bottles con características de organización como "
|
||||
"ocultar y ordenar por fecha añadida o última vez jugado."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Editar detalles del juego"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Detalles del juego"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "No se han encontrado juegos"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Pruebe con otra búsqueda."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "No hay juegos"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Use el botón + para añadir juegos."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "No hay juegos ocultos"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Los juegos que oculte aparecerán aquí."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Volver"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Título del juego"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Jugar"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Añadir juego"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Menú principal"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Juegos ocultos"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Ordenar"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Más recientes"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Más antiguos"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Último jugado"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Mostrar ocultos"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atajos del teclado"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Acerca de Cartuchos"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
msgstr "Importar desde"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Ocultar"
|
||||
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Mostrar"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Salir"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Mostrar preferencias"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Atajos"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
msgid "Undo"
|
||||
msgstr "Deshacer"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Abrir menú"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Juegos"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Añadir juego nuevo"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show hidden games"
|
||||
msgstr "Mostrar juegos ocultos"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Salir después de iniciar juegos"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Ubicación de la instalación de Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Directorio a usar para importar juegos"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Bibliotecas Steam adicionales"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Seleccione otros directorios donde tenga instalados juegos de Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
msgid "Clear"
|
||||
msgstr "Limpiar"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Ubicación de la instalación de Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importar juegos de Epic"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importar juegos de GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importar juegos descargados"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Ubicación de instalación de Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr "Óscar Fernández Díaz <oscfdezdz@tuta.io>"
|
||||
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} eliminado"
|
||||
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Deshacer"
|
||||
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "Hoy"
|
||||
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "Ayer"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Añadido: {date}"
|
||||
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "Nunca"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Jugado por última vez: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "No se pueden importar juegos"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "No se encuentra el directorio Bottles."
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Establecer la ubicación de Bottles"
|
||||
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "No se han encontrado juegos nuevos en la biblioteca de Bottles."
|
||||
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Juegos de Bottles importados"
|
||||
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importado 1 juego con éxito."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Importados {games_no} juegos con éxito."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Añadir juego nuevo"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Aplicar"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Imágenes"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "El título del juego"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Desarrollador"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "El desarrollador o editor (opcional)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
msgid "file.txt"
|
||||
msgstr "archivo.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
msgid "program"
|
||||
msgstr "programa"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\ruta\\hasta\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\ruta\\hasta\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/ruta/hasta/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/ruta/hasta/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Para lanzar el ejecutable \"{exe_name}\", use el comando:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Para abrir el archivo \"{file_name}\" con la aplicación predeterminada, "
|
||||
"use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Si la ruta contiene espacios, ¡asegúrese de entrecomillarla!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
msgid "Executable"
|
||||
msgstr "Ejecutable"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Archivo a abrir o comando a ejecutar al iniciar el juego"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "No se puede añadir el juego"
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "No se pudieron aplicar las preferencias"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "El título del juego no puede estar vacío."
|
||||
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "El ejecutable no puede estar vacío."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Descartar"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "No se encuentra el directorio Heroic."
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Establecer ubicación de Heroic"
|
||||
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "No se han encontrado juegos nuevos en la biblioteca de Heroic."
|
||||
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Juegos de Heroic importados"
|
||||
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "No se han encontrado juegos nuevos en la biblioteca de Steam."
|
||||
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Juegos de Steam importados"
|
||||
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "No se encuentra el directorio de Steam."
|
||||
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Establecer ubicación de Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importando juegos…"
|
||||
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Hablando con Steam"
|
||||
529
po/fi.po
Normal file
529
po/fi.po
Normal file
@@ -0,0 +1,529 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# LINUX-SAUNA <linuxsauna@protonmail.com>, 2023.
|
||||
# Kimmo Kujansuu <mrkujansuu@gmail.com>, 2023.
|
||||
# Kopimi <tatuus@tutanota.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-24 21:14+0000\n"
|
||||
"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>\n"
|
||||
"Language-Team: Finnish <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/fi/>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Pelin käynnistin"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Käynnistä pelit"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Käynnistä kaikki pelisi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
msgid ""
|
||||
"Cartridges is a simple game launcher. It has support for importing your "
|
||||
"games from Steam, Heroic and Bottles with organizational features such as "
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"Cartridges on helppo pelikäynnistin. Se tukee pelien tuontia Steamista, "
|
||||
"Heroicista ja Bottlesista ja tarjoaa ominaisuuden järjestelyyn, kuten "
|
||||
"piilottamisen ja lajittelun lisäyspäivämäärän tai viimeisimmän pelatun pelin "
|
||||
"mukaan."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Muokkaa pelin tietoja"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Pelin tiedot"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "Pelejä ei löydetty"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Kokeile eri hakua."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Ei pelejä"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Käytä + painiketta pelien lisäämiseen."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Ei piilotettuja pelejä"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Piilotetut pelit näkyvät täällä."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Takaisin"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Pelin nimi"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Pelaa"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Lisää peli"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Päävalikko"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
msgid "Search"
|
||||
msgstr "Etsi"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Piilotetut pelit"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Lajittele"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Uusin"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Vanhin"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Viimeksi pelattu"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Näytä piilotetut"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Tietoja Cartridges"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
msgstr "Tuo kohteesta"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Nimi"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Muokkaa"
|
||||
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Piilota"
|
||||
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Poista"
|
||||
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Näytä"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Yleistä"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Etsi"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Näytä asetukset"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
msgid "Undo"
|
||||
msgstr "Kumoa"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Avaa valikko"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Pelit"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Lisää uusi peli"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show hidden games"
|
||||
msgstr "Näytä piilotetut pelit"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "Yleistä"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Poistuminen pelin käynnistämisen jälkeen"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Steam asennuspaikka"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Hakemisto, jota käytetään pelejä tuotaessa"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Steam lisäkirjastot"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Valitse muut hakemistot, joihin Steam-pelit on asennettu"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
msgid "Clear"
|
||||
msgstr "Tyhjennä"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Heroic asennuspaikka"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Tuo Epic-pelejä"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Tuo GOG-pelejä"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Tuo Sideload-pelejä"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Bottles asennuspaikka"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr "Linux Sauna"
|
||||
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} poistettu"
|
||||
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Kumoa"
|
||||
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "Tänään"
|
||||
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "Eilen"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Lisätty: {date}"
|
||||
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "Ei koskaan"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Pelattu: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Pelejä ei voitu tuoda"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "Hakemistoa Bottles ei löydy."
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Bottles aseta sijainti"
|
||||
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Bottles-kirjastosta ei löytynyt uusia pelejä."
|
||||
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Bottles pelit on tuotu"
|
||||
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Onnistuneesti tuotu 1 peli."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Onnistuneesti tuotu {games_no} peliä."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Lisää uusi peli"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Vahvista"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Käytä"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Kuvat"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Pelin nimi"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Kehittäjä"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Kehittäjä tai julkaisija (valinnainen)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
msgid "file.txt"
|
||||
msgstr "file.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
msgid "program"
|
||||
msgstr "ohjelma"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\polku\\kansioon\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\polku\\kansioon\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/polku/kansioon/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/polku/kansioon/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Käynnistääksesi suoritettavan ohjelman \"{exe_name}\", käytä komentoa:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Tiedoston \"{file_name}\" avaaminen sovelluksessa oletuksena, käytä "
|
||||
"komentoa:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Jos polku sisältää välilyöntejä, varmista, että se on suljettu "
|
||||
"kaksinkertaisiin lainausmerkkeihin!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
msgid "Executable"
|
||||
msgstr "Suoritettava"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr ""
|
||||
"Tiedosto, joka avataan tai komento, joka ajetaan pelin käynnistämisen "
|
||||
"yhteydessä"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
msgid "Cancel"
|
||||
msgstr "Peruuta"
|
||||
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Peliä ei voitu lisätä"
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Asetuksia ei voitu ottaa käyttöön"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Pelin nimi ei voi olla tyhjä."
|
||||
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Suoritettava ei voi olla tyhjä."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Hylkää"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "Heroic-hakemistoa ei löytynyt."
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Heroic aseta sijainti"
|
||||
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Heroic-kirjastosta ei löytynyt uusia pelejä."
|
||||
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic-pelit tuotu"
|
||||
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Steam-kirjastosta ei löytynyt uusia pelejä."
|
||||
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam-pelit tuotu"
|
||||
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Steam-hakemistoa ei löydy."
|
||||
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam aseta sijainti"
|
||||
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Pelien tuominen…"
|
||||
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Yhdistetään Steam kirjastoon"
|
||||
150
po/fr.po
150
po/fr.po
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-21 11:05+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/cartridges/"
|
||||
@@ -21,7 +21,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -48,8 +48,30 @@ msgstr ""
|
||||
"d'organisation telles que le masquage et le tri par date d'ajout ou de "
|
||||
"dernière lecture."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Modifier les détails du jeu"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Détails du jeu"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "Aucun jeu trouvé"
|
||||
|
||||
@@ -58,9 +80,8 @@ msgid "Try a different search."
|
||||
msgstr "Essayez une autre recherche."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
#, fuzzy
|
||||
msgid "No Games"
|
||||
msgstr "Jeux"
|
||||
msgstr "Aucun jeu"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
@@ -76,17 +97,13 @@ msgstr "Les jeux que vous masquez apparaîtront ici."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Détails du jeu"
|
||||
msgstr "Retour"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Titre du jeu"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Jouer"
|
||||
|
||||
@@ -96,12 +113,11 @@ msgstr "Ajouter un jeu"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
#, fuzzy
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
@@ -135,10 +151,6 @@ msgstr "Dernière session"
|
||||
msgid "Show Hidden"
|
||||
msgstr "Afficher les masqués"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
@@ -163,28 +175,26 @@ msgstr "Heroic"
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Masquer"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Retirer"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Afficher"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -254,15 +264,16 @@ msgstr "Répertoire à utiliser lors de l'importation de jeux"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr ""
|
||||
msgstr "Bibliothèque Steam supplémentaires"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr ""
|
||||
"Sélectionnez d’autres répertoires où vous avez des jeux Steam installés"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "Vider"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
msgid "Heroic Install Location"
|
||||
@@ -287,43 +298,43 @@ msgstr "Emplacement de l'installation Bottles"
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr ""
|
||||
msgstr "Irénée Thirion"
|
||||
|
||||
#: src/main.py:195
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} retiré"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "Aujourd'hui"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "Hier"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Ajouté : {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "Jamais"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Dernière session : {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Impossible d'importer des jeux"
|
||||
|
||||
@@ -335,22 +346,22 @@ msgstr "Le répertoire Bottles est introuvable."
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Définir l'emplacement de Bottles"
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Bottles."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Jeux Bottles importés"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importation réussie de 1 jeu."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Importation réussie de {games_no} jeux."
|
||||
@@ -363,10 +374,6 @@ msgstr "Ajouter un nouveau jeu"
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Modifier les détails du jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Appliquer"
|
||||
@@ -442,26 +449,28 @@ msgstr "Fichier à ouvrir ou commande à exécuter au lancement du jeu"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Impossible d'ajouter un jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossible d'appliquer les préférences"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Le titre du jeu ne peut pas être vide."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "L'exécutable ne peut pas être vide."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossible d'appliquer les préférences"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Rejeter"
|
||||
@@ -474,36 +483,35 @@ msgstr "Le répertoire Heroic est introuvable."
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Définir l'emplacement Heroic"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Heroic."
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Jeux Heroic importés"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Steam."
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Jeux Steam importés"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Le répertoire Steam est introuvable."
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Définir l'emplacement Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#, fuzzy
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importation de jeux…"
|
||||
msgstr "Importation des jeux…"
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
#: src/utils/steam_parser.py:266
|
||||
#, fuzzy
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Parler à Steam"
|
||||
|
||||
130
po/hu.po
130
po/hu.po
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-19 12:28+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/cartridges/"
|
||||
@@ -22,7 +22,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Kazetták"
|
||||
|
||||
@@ -47,8 +47,30 @@ msgstr ""
|
||||
"A Kazetták egy egyszerű játékindító. Támogatja a Steam-ből, Heroic-ból és "
|
||||
"Bottles-ből való importálást, valamint a játékok elrejtését és rendezését."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Játék Részleteinek Szerkesztése"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Játék Részletei"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "Nem Találhatóak Játékok"
|
||||
|
||||
@@ -76,15 +98,11 @@ msgstr "A rejtett játékaid itt lesznek megtalálhatók."
|
||||
msgid "Back"
|
||||
msgstr "Vissza"
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Játék Részletei"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Cím"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Játék"
|
||||
|
||||
@@ -132,10 +150,6 @@ msgstr "Legutóbb játszott"
|
||||
msgid "Show Hidden"
|
||||
msgstr "Rejtett Játékok"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Billentyűparancsok"
|
||||
@@ -160,28 +174,26 @@ msgstr "Heroic"
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Cím"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Szerkeszt"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Elrejt"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Eltávolít"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Mutat"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Cím"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -286,41 +298,41 @@ msgstr "Bottles Telepítés Helye"
|
||||
msgid "translator_credits"
|
||||
msgstr "kramo https://kramo.hu"
|
||||
|
||||
#: src/main.py:195
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} eltávolítva"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "Ma"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "Tegnap"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Hozzáadva: {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "Soha"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Legutóbbi játékmenet: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Nem Lehet Importálni a Játékot"
|
||||
|
||||
@@ -332,22 +344,22 @@ msgstr "A Bottles mappa nem található."
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Bottles Mappa Kiválasztása"
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Nem találhatók új játékok a Bottles könyvtárban."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Bottles Játékok Importálva"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "1 játék sikeresen importálva."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "{games_no} játék sikeresen importálva."
|
||||
@@ -360,10 +372,6 @@ msgstr "Új Játék Hozzáadása"
|
||||
msgid "Confirm"
|
||||
msgstr "Megerősít"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Játék Részleteinek Szerkesztése"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Alkalmaz"
|
||||
@@ -449,26 +457,28 @@ msgstr "Fájl megnyitása vagy parancs futtatása a játék indításakor"
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Nem Lehet Hozzáadni a Játékot"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Nem Lehet Menteni a Beállításokat"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "A cím nem lehet üres."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "A program nem lehet üres."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Nem Lehet Menteni a Beállításokat"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Rendben"
|
||||
@@ -481,35 +491,35 @@ msgstr "A Heroic mappa nem található."
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Heroic Mappa Kiválasztása"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Nem találhatók új játékok a Heroic könyvtárban."
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic Játékok Importálva"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Nem találhatók új játékok a Steam könyvtárban."
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam Játékok Importálva"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "A Steam mappa nem található."
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam Mappa Kiválasztása"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Játékok Importálása…"
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Beszélgetés a Steammel"
|
||||
|
||||
|
||||
522
po/it.po
Normal file
522
po/it.po
Normal file
@@ -0,0 +1,522 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Alessandro Iepure <alessandro.iepure@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-24 16:12+0000\n"
|
||||
"Last-Translator: Alessandro Iepure <alessandro.iepure@gmail.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/it/>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartucce"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Launcher di giochi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Avvia i tuoi giochi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Avvia tutti i tuoi giochi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
msgid ""
|
||||
"Cartridges is a simple game launcher. It has support for importing your "
|
||||
"games from Steam, Heroic and Bottles with organizational features such as "
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"Cartridges è un semplice launcher di giochi. Supporta l'import di giochi da "
|
||||
"Steam, Heroic e Bottles con funzioni organizzative come la possibilità di "
|
||||
"nascondere e ordinare per data di aggiunta o di ultimo avvio."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Modifica dettagli del gioco"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Dettagli del gioco"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "Nessun Gioco Trovato"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Prova una ricerca diversa."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Nessun Gioco"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Usa il pulsante + per aggiungere giochi."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Nessun Gioco Nascosto"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "I giochi nascosti appariranno qui."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Titolo del gioco"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Gioca"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Aggiungi Gioco"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Menù Principale"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Giochi Nascosti"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Ordina per"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Più recente"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Più vecchio"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Ultimo Avvio"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Mostra Nascosti"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Scorciatoie da Tastiera"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Informazioni su Cartucce"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
msgstr "Importa da"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titolo"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Modifica"
|
||||
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Nascondi"
|
||||
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Rimuovi"
|
||||
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Mostra"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Generale"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Mostra preferenze"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
msgid "Undo"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Apri il menù"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Giochi"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Aggiungi un nuovo gioco"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show hidden games"
|
||||
msgstr "Mostra giochi nascosti"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "Generale"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Esci dopo l'avvio dei giochi"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Percorso Installazione Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Cartella da usare per importare i giochi"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Librerie Steam Extra"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Seleziona le altre directory in cui sono installati i giochi di Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
msgid "Clear"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Percorso Installazione Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importa giochi da Epic Games"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importa giochi da GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importa giochi da aggiunti manualmente"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Percorso Installazione Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr "Alessandro Iepure https://ale.iepure.me"
|
||||
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} rimosso"
|
||||
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "Oggi"
|
||||
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "Ieri"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Aggiunto il: {date}"
|
||||
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "Mai"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Ultimo avvio: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Non è stato possibile importare i giochi"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "Non è possibile trovare il percorso per Bottles."
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Imposta il percorso per Bottles"
|
||||
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Nessun nuovo gioco trovato nella libreria di Bottles."
|
||||
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Importati giochi da Bottles"
|
||||
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Un gioco importato con successo."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "{games_no} giochi importati con successo."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Aggiungi un Nuovo Gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Conferma"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Applica"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Immagini"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Titolo del gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Sviluppatore"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Lo sviluppatore o l'editore (opzionale)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
msgid "file.txt"
|
||||
msgstr "file.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
msgid "program"
|
||||
msgstr "programma"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\percorso\\per\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\percorso\\per\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/percorso/per/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/percorso/per/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Per avviare l'eseguibile \"{exe_name}\", usa il comando:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Per aprire il file \"{file_name}\" con il programma di default, usa:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Se il comando contiene spazi, mettilo tra virgolette!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
msgid "Executable"
|
||||
msgstr "Eseguibile"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "File da aprire o comando da lanciare per avviare il gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Impossibile aggiungere il gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossibile applicare le preferenze"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Il titolo del gioco non può essere vuoto."
|
||||
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "L'eseguibile non può essere vuoto."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "Non è possibile trovare il percorso per Heroic."
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Imposta il percorso per Heroic"
|
||||
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Nessun nuovo gioco trovato nella libreria di Heroic."
|
||||
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Importati giochi da Heroic"
|
||||
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Nessun nuovo gioco trovato nella libreria di Steam."
|
||||
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Importati giochi da Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Non è possibile trovare il percorso per Steam."
|
||||
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Imposta il percorso per Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Import dei giochi in corso…"
|
||||
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Parlando con Steam"
|
||||
130
po/nb_NO.po
130
po/nb_NO.po
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-21 11:05+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -47,8 +47,30 @@ msgstr ""
|
||||
"organiseringsfunksjoner som skjuling og sortering etter tillagt dato eller "
|
||||
"sist spilt."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Rediger spilldetaljer"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Spilldetaljer"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "Fant ingen spill"
|
||||
|
||||
@@ -77,15 +99,11 @@ msgstr "Spill du skjuler vil vises her."
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Spilldetaljer"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Spillnavn"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Spill"
|
||||
|
||||
@@ -134,10 +152,6 @@ msgstr "Sist spilt"
|
||||
msgid "Show Hidden"
|
||||
msgstr "Vis skjulte"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastatursnarveier"
|
||||
@@ -162,28 +176,26 @@ msgstr "Heroic"
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Navn"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Skjul"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Opphev fjerning"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Navn"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -288,41 +300,41 @@ msgstr "Installasjonssted for Bottles"
|
||||
msgid "translator_credits"
|
||||
msgstr "Allan Nordhøy, <epost@anotheragency.no>"
|
||||
|
||||
#: src/main.py:195
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} fjernet"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Angre"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "I dag"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "I går"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Tillagt: {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Sist spilt: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Kunne ikke importere spill"
|
||||
|
||||
@@ -334,22 +346,22 @@ msgstr "Finner ikke Bottles-mappen."
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Sett mappe for Bottles"
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Fant ingen nye spill i Bottles-biblioteket."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Bottles-spill importert"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importerte ett spill."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Importerte {games_no} spill."
|
||||
@@ -362,10 +374,6 @@ msgstr "Legg til nytt spill"
|
||||
msgid "Confirm"
|
||||
msgstr "Bekreft"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Rediger spilldetaljer"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Bruk"
|
||||
@@ -441,26 +449,28 @@ msgstr "Fil å åpne eller kommando å kjøre ved oppstart av spillet"
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Kunne ikke legge til spill"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kunne ikke ta i bruk endringer"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Spillnavnet kan ikke være tomt."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Kjørbar fil må angis."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kunne ikke ta i bruk endringer"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Forkast"
|
||||
@@ -473,35 +483,35 @@ msgstr "Finner ikke Heroic-spillmappen."
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Velg hvor Heroic er å finne"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Fant ingen nye spill i Heroic-biblioteket."
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic-spill importert"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Fant ingen nye spill i Steam-biblioteket."
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam-spill importert"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Kunne ikke finne Steam-mappen."
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Velg hvor Steam er å finne"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr ""
|
||||
|
||||
|
||||
523
po/nl.po
Normal file
523
po/nl.po
Normal file
@@ -0,0 +1,523 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Philip Goto <philip.goto@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Game-launcher"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Start uw games op"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Start al uw games op"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
msgid ""
|
||||
"Cartridges is a simple game launcher. It has support for importing your "
|
||||
"games from Steam, Heroic and Bottles with organizational features such as "
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"Cartridges is een eenvoudige game-launcher. Het biedt ondersteuning voor het "
|
||||
"importeren van al uw games van Steam, Heroic en Bottles. Daarnaast heeft het "
|
||||
"organisatorische functies zoals verbergen en sorteren op toegevoegd of "
|
||||
"laatst gespeeld."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Game-details bewerken"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Game-details"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "Geen games gevonden"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Probeer een andere zoekopdracht"
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Geen games"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Gebruik de plusknop om games toe te voegen"
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Geen verborgen games"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Games die u verbergt zullen hier verschijnen"
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Terug"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Game-titel"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Spelen"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Game toevoegen"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Verborgen games"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Sorteren"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Nieuwste"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Oudste"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Laatst gespeeld"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Verborgen games tonen"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Over Cartridges"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
msgstr "Importeren uit"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Bewerken"
|
||||
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Verbergen"
|
||||
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Niet meer verbergen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Algemeen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Voorkeuren tonen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
msgid "Undo"
|
||||
msgstr "Ongedaan maken"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Menu openen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Games"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Nieuwe game toevoegen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show hidden games"
|
||||
msgstr "Verborgen games tonen"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "Algemeen"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Sluiten na starten van game"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Installatielocatie van Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Map om te gebruiken bij het importeren van games"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Extra Steam-bibliotheken"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Andere mappen waar u Steam-games heeft geïnstalleerd"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Installatielocatie van Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Epic-games importeren"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
msgid "Import GOG Games"
|
||||
msgstr "GOG-games importeren"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Gesideloade games importeren"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Installatielocatie van Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr "Philip Goto <philip.goto@gmail.com>"
|
||||
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} verwijderd"
|
||||
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Ongedaan maken"
|
||||
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "Vandaag"
|
||||
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "Gisteren"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Toegevoegd op {date}"
|
||||
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "Nooit"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Laatst gespeeld op {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Kon games niet importeren"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "De Bottles-map kan niet worden gevonden"
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Bottles-locatie instellen"
|
||||
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Geen nieuwe games gevonden in de Bottles-bibliotheek"
|
||||
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Bottles-games geïmporteerd"
|
||||
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "1 game succesvol geïmporteerd"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "{games_no} games succesvol geïmporteerd"
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Nieuwe game toevoegen"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Bevestigen"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Toepassen"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Afbeeldingen"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "De titel van de game"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Ontwikkelaar"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "De ontwikkelaar of uitgever (optioneel)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
msgid "file.txt"
|
||||
msgstr "bestand.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
msgid "program"
|
||||
msgstr "programma"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\pad\\naar\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\pad\\naar\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/pad/naar/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/pad/naar/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Om het programma ‘{exe_name}’ te starten, gebruik de volgende opdracht:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Om het bestand ‘{file_name}’ met de standaard-app te openen, gebruik de "
|
||||
"volgende opdracht:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Indien het pad spaties bevat, zorg er dan voor dat er dubbele "
|
||||
"aanhalingstekens omheen staan!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
msgid "Executable"
|
||||
msgstr "Programmabestand"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr ""
|
||||
"Te openen bestand of uit te voeren opdracht bij het starten van de game"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Kon game niet toevoegen"
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kon voorkeuren niet toepassen"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Game-titel mag niet leeg zijn"
|
||||
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Programmabestand mag niet leeg zijn"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "De Heroic-map kan niet worden gevonden"
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Heroic-locatie instellen"
|
||||
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Geen nieuwe games gevonden in de Heroic-bibliotheek"
|
||||
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic-games geïmporteerd"
|
||||
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Geen nieuwe games gevonden in de Steam-bibliotheek"
|
||||
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam-games geïmporteerd"
|
||||
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Steam-map kan niet worden gevonden"
|
||||
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam-locatie instellen"
|
||||
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Games importeren…"
|
||||
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Steam-bibliotheek aan het ophalen"
|
||||
130
po/ta.po
130
po/ta.po
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-18 23:40+0000\n"
|
||||
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
|
||||
"Language-Team: Tamil <https://hosted.weblate.org/projects/cartridges/"
|
||||
@@ -22,7 +22,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "கார்ட்ரிட்ஜ்கள்"
|
||||
|
||||
@@ -49,8 +49,30 @@ msgstr ""
|
||||
"மற்றும் சேர்த்த அல்லது கடைசியாக விளையாடிய தேதியின்படி வரிசைப்படுத்துதல் போன்ற நிறுவன "
|
||||
"அம்சங்களுடன்."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "விளையாட்டு விவரங்களைத் திருத்து"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "விளையாட்டு விவரங்கள்"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "விருப்பங்கள்"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "விளையாட்டுகள் எதுவும் இல்லை"
|
||||
|
||||
@@ -79,15 +101,11 @@ msgstr "நீங்கள் மறைக்கும் விளையாட
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "விளையாட்டு விவரங்கள்"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "விளையாட்டு தலைப்பு"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "விளையாடு"
|
||||
|
||||
@@ -136,10 +154,6 @@ msgstr "கடைசியாக விளையாடியது"
|
||||
msgid "Show Hidden"
|
||||
msgstr "மறைக்கப்பட்டதைக் காட்டு"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "விருப்பங்கள்"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "விசைப்பலகை குறுக்குவழிகள்"
|
||||
@@ -164,28 +178,26 @@ msgstr "Heroic (ஹீரோயிக்)"
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles (பாட்டில்கள்)"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "தலைப்பு"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "தொகு"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "மறை"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "அகற்று"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "மறை காட்டு"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "தலைப்பு"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -290,41 +302,41 @@ msgstr "Bottles (பாட்டில்கள்) நிறுவும் இ
|
||||
msgid "translator_credits"
|
||||
msgstr "K.B.Dharun Krishna <kbdharunkrishna@gmail.com>"
|
||||
|
||||
#: src/main.py:195
|
||||
#: src/main.py:193
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "அகற்றப்பட்டது"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "செயல்தவிர்"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "இன்று"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "நேற்று"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:271
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "சேர்க்கப்பட்டது:"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:280
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "கடைசியாக விளையாடியது: ஒருபோதும் இல்லை"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "கேம்களை இறக்குமதி செய்ய முடியவில்லை"
|
||||
|
||||
@@ -336,22 +348,22 @@ msgstr "பாட்டில்கள் கோப்பகத்தைக்
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "பாட்டில்களின் இடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "பாட்டில்கள் நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "பாட்டில் விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
||||
@@ -364,10 +376,6 @@ msgstr "புதிய விளையாட்டைச் சேர்க்
|
||||
msgid "Confirm"
|
||||
msgstr "உறுதிப்படுத்தவும்"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "விளையாட்டு விவரங்களைத் திருத்து"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "விண்ணப்பி"
|
||||
@@ -443,26 +451,28 @@ msgstr "விளையாட்டைத் தொடங்கும் போ
|
||||
msgid "Cancel"
|
||||
msgstr "ரத்துசெய்"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "விளையாட்டைச் சேர்க்க முடியவில்லை"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "விருப்பத்தேர்வுகளைப் பயன்படுத்த முடியவில்லை"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "விளையாட்டு தலைப்பு காலியாக இருக்கக்கூடாது."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "இயங்கக்கூடியது காலியாக இருக்க முடியாது."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "விருப்பத்தேர்வுகளைப் பயன்படுத்த முடியவில்லை"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "நிராகரி"
|
||||
@@ -475,36 +485,36 @@ msgstr "Heroic (ஹீரோயிக்) கோப்பகத்தைக்
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Heroic (ஹீரோயிக்) இருப்பிடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Heroic (ஹீரோயிக்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic (ஹீரோயிக்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Steam (ஸ்டீம்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam (ஸ்டீம்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam (ஸ்டீம் இடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#: src/utils/steam_parser.py:265
|
||||
#, fuzzy
|
||||
msgid "Importing Games…"
|
||||
msgstr "விளையாட்டுகளை இறக்குமதி செய்கிறது…"
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "ஸ்டிமுடன் (Steam) பேசுகிறேன்"
|
||||
|
||||
|
||||
130
po/uk.po
130
po/uk.po
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"POT-Creation-Date: 2023-03-25 11:25+0100\n"
|
||||
"PO-Revision-Date: 2023-03-21 13:12+0000\n"
|
||||
"Last-Translator: Dan <denqwerta@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/cartridges/"
|
||||
@@ -22,7 +22,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -48,8 +48,30 @@ msgstr ""
|
||||
"Steam, Heroic та Bottles із такими організаційними функціями, як "
|
||||
"приховування та сортування за датою додавання чи останньої гри."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Редагувати інформацію про гру"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Подробиці гри"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/steam_parser.py:170
|
||||
msgid "Preferences"
|
||||
msgstr "Параметри"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||
msgid "First stable release"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||
msgid "No Games Found"
|
||||
msgstr "Ігор не знайдено"
|
||||
|
||||
@@ -78,15 +100,11 @@ msgstr "Ігри, які ви сховали, з'являться тут."
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Подробиці гри"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Назва гри"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:35
|
||||
msgid "Play"
|
||||
msgstr "Грати"
|
||||
|
||||
@@ -135,10 +153,6 @@ msgstr "Остання гра"
|
||||
msgid "Show Hidden"
|
||||
msgstr "Показати приховане"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Параметри"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбінації клавіш"
|
||||
@@ -163,28 +177,26 @@ msgstr "Heroic"
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:61 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Назва"
|
||||
|
||||
#: data/gtk/game.blp:83 data/gtk/game.blp:102
|
||||
msgid "Edit"
|
||||
msgstr "Редагувати"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:88
|
||||
msgid "Hide"
|
||||
msgstr "Приховати"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:93 data/gtk/game.blp:112
|
||||
msgid "Remove"
|
||||
msgstr "Видалити"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:107
|
||||
msgid "Unhide"
|
||||
msgstr "Показати"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Назва"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -289,41 +301,41 @@ msgstr "Місце встановлення Bottles"
|
||||
msgid "translator_credits"
|
||||
msgstr "kefir2105"
|
||||
|
||||
#: src/main.py:195
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} видалено"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Відмінити"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:235
|
||||
msgid "Today"
|
||||
msgstr "Сьогодні"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:237
|
||||
msgid "Yesterday"
|
||||
msgstr "Вчора"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:271
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Додано: {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:276
|
||||
msgid "Never"
|
||||
msgstr "Ніколи"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:280
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Останній раз грали: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Не вдається імпортувати ігри"
|
||||
|
||||
@@ -335,22 +347,22 @@ msgstr "Каталог Bottles не знайдено."
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Встановити розташування Bottles"
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "У бібліотеці Bottles нових ігор не знайдено."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Ігри Bottles імпортовано"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Успішно імпортовано 1 гру."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||
#: src/utils/steam_parser.py:185
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Успішно імпортовано {games_no} ігри."
|
||||
@@ -363,10 +375,6 @@ msgstr "Додати нову гру"
|
||||
msgid "Confirm"
|
||||
msgstr "Підтвердити"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Редагувати інформацію про гру"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Застосувати"
|
||||
@@ -452,26 +460,28 @@ msgstr "Файл для відкриття або команда для запу
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:212
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:228
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Не вдалося додати гру"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:252
|
||||
#: src/utils/create_details_window.py:260
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Не вдалося застосувати параметри"
|
||||
|
||||
#: src/utils/create_details_window.py:222
|
||||
#: src/utils/create_details_window.py:253
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Назва гри не може бути порожньою."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:228
|
||||
#: src/utils/create_details_window.py:261
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Виконуваний файл не може бути порожнім."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Не вдалося застосувати параметри"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Відхилити"
|
||||
@@ -484,35 +494,35 @@ msgstr "Не вдається знайти каталог Heroic."
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Встановіть розташування Heroic"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "У бібліотеці Heroic нових ігор не знайдено."
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Ігри Heroic імпортовано"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "У бібліотеці Steam не знайдено жодної нової гри."
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Ігри Steam імпортовано"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Каталог Steam знайти неможливо."
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Встановіть розташування Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Імпорт ігор…"
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Спілкування зі Steam"
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "python3-modules",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [],
|
||||
"modules": [
|
||||
{
|
||||
"name": "python3-pyyaml",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
73
src/game.py
73
src/game.py
@@ -17,13 +17,18 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from gi.repository import Gtk
|
||||
import json
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from .get_cover import get_cover
|
||||
from gi.repository import GdkPixbuf, Gio, Gtk
|
||||
|
||||
from .save_games import save_games
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/hu/kramo/Cartridges/gtk/game.ui")
|
||||
class game(Gtk.Box):
|
||||
class game(Gtk.Box): # pylint: disable=invalid-name
|
||||
__gtype_name__ = "game"
|
||||
|
||||
overlay = Gtk.Template.Child()
|
||||
@@ -32,9 +37,10 @@ class game(Gtk.Box):
|
||||
cover = Gtk.Template.Child()
|
||||
cover_button = Gtk.Template.Child()
|
||||
menu_button = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
play_revealer = Gtk.Template.Child()
|
||||
title_revealer = Gtk.Template.Child()
|
||||
game_options = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, parent_widget, data, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
@@ -50,7 +56,7 @@ class game(Gtk.Box):
|
||||
self.removed = "removed" in data.keys()
|
||||
self.blacklisted = "blacklisted" in data.keys()
|
||||
|
||||
self.pixbuf = get_cover(self.game_id, self.parent_widget)
|
||||
self.pixbuf = self.get_cover()
|
||||
|
||||
self.cover.set_pixbuf(self.pixbuf)
|
||||
self.title.set_label(self.name)
|
||||
@@ -62,8 +68,65 @@ class game(Gtk.Box):
|
||||
self.button_play.connect("clicked", self.launch_game)
|
||||
self.event_contoller_motion.connect("enter", self.show_play)
|
||||
self.event_contoller_motion.connect("leave", self.hide_play)
|
||||
|
||||
if self.hidden:
|
||||
self.menu_button.set_menu_model(self.hidden_game_options)
|
||||
else:
|
||||
self.menu_button.set_menu_model(self.game_options)
|
||||
self.menu_button.get_popover().connect("notify::visible", self.hide_play)
|
||||
|
||||
def launch(self):
|
||||
# The host environment vars are automatically passed through by Popen.
|
||||
subprocess.Popen(
|
||||
["flatpak-spawn", "--host", *self.executable] # Flatpak
|
||||
if os.getenv("FLATPAK_ID") == "hu.kramo.Cartridges"
|
||||
else self.executable, # Others
|
||||
shell=os.name == "nt", # Set shell to True on Windows
|
||||
start_new_session=True,
|
||||
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP if os.name == "nt" else 0,
|
||||
)
|
||||
if Gio.Settings.new("hu.kramo.Cartridges").get_boolean("exit-after-launch"):
|
||||
sys.exit()
|
||||
|
||||
def toggle_hidden(self):
|
||||
games_dir = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
)
|
||||
|
||||
if not os.path.exists(games_dir):
|
||||
return
|
||||
|
||||
with open(os.path.join(games_dir, f"{self.game_id}.json"), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
|
||||
data["hidden"] = not data["hidden"]
|
||||
|
||||
save_games({self.game_id: data})
|
||||
|
||||
def get_cover(self):
|
||||
|
||||
# If the cover is already in memory, return
|
||||
if self.game_id in self.parent_widget.pixbufs.keys():
|
||||
return self.parent_widget.pixbufs[self.game_id]
|
||||
|
||||
# Create a new pixbuf
|
||||
cover_path = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
f"{self.game_id}.tiff",
|
||||
)
|
||||
|
||||
if os.path.isfile(cover_path):
|
||||
return GdkPixbuf.Pixbuf.new_from_file(cover_path)
|
||||
|
||||
# Return the placeholder pixbuf
|
||||
return self.parent_widget.placeholder_pixbuf
|
||||
|
||||
def show_play(self, _widget, *_unused):
|
||||
self.play_revealer.set_reveal_child(True)
|
||||
self.title_revealer.set_reveal_child(False)
|
||||
|
||||
18
src/main.py
18
src/main.py
@@ -26,6 +26,7 @@ import gi
|
||||
gi.require_version("Gtk", "4.0")
|
||||
gi.require_version("Adw", "1")
|
||||
|
||||
# pylint: disable=wrong-import-position
|
||||
from gi.repository import Adw, Gio, GLib, Gtk
|
||||
|
||||
from .bottles_parser import bottles_parser
|
||||
@@ -33,10 +34,8 @@ from .create_details_window import create_details_window
|
||||
from .get_games import get_games
|
||||
from .heroic_parser import heroic_parser
|
||||
from .preferences import PreferencesWindow
|
||||
from .run_command import run_command
|
||||
from .save_games import save_games
|
||||
from .steam_parser import steam_parser
|
||||
from .toggle_hidden import toggle_hidden
|
||||
from .window import CartridgesWindow
|
||||
|
||||
|
||||
@@ -64,10 +63,10 @@ class CartridgesApplication(Adw.Application):
|
||||
|
||||
self.win = None
|
||||
|
||||
def do_activate(self):
|
||||
def do_activate(self): # pylint: disable=arguments-differ
|
||||
|
||||
# Create the main window
|
||||
self.win = self.props.active_window
|
||||
self.win = self.props.active_window # pylint: disable=no-member
|
||||
if not self.win:
|
||||
self.win = CartridgesWindow(application=self)
|
||||
|
||||
@@ -116,10 +115,11 @@ class CartridgesApplication(Adw.Application):
|
||||
application_name=_("Cartridges"),
|
||||
application_icon="hu.kramo.Cartridges",
|
||||
developer_name="kramo",
|
||||
version="0.1.4",
|
||||
version="1.0",
|
||||
developers=[
|
||||
"kramo https://kramo.hu",
|
||||
"Paweł Lidwin https://github.com/imLinguin",
|
||||
"Bananaman https://github.com/Bananaman",
|
||||
],
|
||||
designers=["kramo https://kramo.hu"],
|
||||
copyright="© 2022-2023 kramo",
|
||||
@@ -149,7 +149,6 @@ class CartridgesApplication(Adw.Application):
|
||||
self.win.update_games(games.keys())
|
||||
|
||||
def on_launch_game_action(self, _widget, _callback=None):
|
||||
|
||||
# Launch the game and update the last played value
|
||||
|
||||
game_id = self.win.active_game_id
|
||||
@@ -158,7 +157,7 @@ class CartridgesApplication(Adw.Application):
|
||||
data["last_played"] = int(time.time())
|
||||
save_games({game_id: data})
|
||||
|
||||
run_command(self.win.games[self.win.active_game_id].executable)
|
||||
self.win.games[game_id].launch()
|
||||
|
||||
self.win.update_games([game_id])
|
||||
|
||||
@@ -168,7 +167,7 @@ class CartridgesApplication(Adw.Application):
|
||||
def on_hide_game_action(self, _widget, _callback=None):
|
||||
if self.win.stack.get_visible_child() == self.win.overview:
|
||||
self.win.on_go_back_action(None, None)
|
||||
toggle_hidden(self.win.active_game_id)
|
||||
self.win.games[self.win.active_game_id].toggle_hidden()
|
||||
self.win.update_games([self.win.active_game_id])
|
||||
|
||||
def on_edit_details_action(self, _widget, _callback=None):
|
||||
@@ -178,7 +177,6 @@ class CartridgesApplication(Adw.Application):
|
||||
create_details_window(self.win)
|
||||
|
||||
def on_remove_game_action(self, _widget, _callback=None):
|
||||
|
||||
# Add "removed=True" to the game properties so it can be deleted on next init
|
||||
game_id = self.win.active_game_id
|
||||
|
||||
@@ -215,6 +213,6 @@ class CartridgesApplication(Adw.Application):
|
||||
self.set_accels_for_action(f"win.{name}", shortcuts)
|
||||
|
||||
|
||||
def main(version):
|
||||
def main(version): # pylint: disable=unused-argument
|
||||
app = CartridgesApplication()
|
||||
return app.run(sys.argv)
|
||||
|
||||
@@ -25,12 +25,9 @@ cartridges_sources = [
|
||||
'utils/steam_parser.py',
|
||||
'utils/heroic_parser.py',
|
||||
'utils/bottles_parser.py',
|
||||
'utils/run_command.py',
|
||||
'utils/get_games.py',
|
||||
'utils/get_cover.py',
|
||||
'utils/save_games.py',
|
||||
'utils/save_cover.py',
|
||||
'utils/toggle_hidden.py',
|
||||
'utils/create_dialog.py',
|
||||
'utils/create_details_window.py'
|
||||
]
|
||||
|
||||
@@ -83,9 +83,7 @@ def bottles_parser(parent_widget, action):
|
||||
_("Set Bottles Location"),
|
||||
).connect("response", response)
|
||||
|
||||
if os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
||||
pass
|
||||
else:
|
||||
if not os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
||||
bottles_not_found()
|
||||
return {}
|
||||
|
||||
@@ -96,7 +94,6 @@ def bottles_parser(parent_widget, action):
|
||||
|
||||
with open(os.path.join(bottles_dir, "library.yml"), "r") as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
|
||||
library = yaml.load(data, Loader=yaml.Loader)
|
||||
|
||||
@@ -104,7 +101,7 @@ def bottles_parser(parent_widget, action):
|
||||
game = library[game]
|
||||
values = {}
|
||||
|
||||
values["game_id"] = "bottles_" + game["id"]
|
||||
values["game_id"] = f'bottles_{game["id"]}'
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -113,9 +110,10 @@ def bottles_parser(parent_widget, action):
|
||||
continue
|
||||
|
||||
values["name"] = game["name"]
|
||||
values["executable"] = (
|
||||
"xdg-open bottles:run/" + game["bottle"]["name"] + "/" + game["name"]
|
||||
)
|
||||
values["executable"] = [
|
||||
"xdg-open",
|
||||
f'bottles:run/{game["bottle"]["name"]}/{game["name"]}',
|
||||
]
|
||||
values["hidden"] = False
|
||||
values["source"] = "bottles"
|
||||
values["added"] = current_time
|
||||
@@ -136,7 +134,7 @@ def bottles_parser(parent_widget, action):
|
||||
|
||||
bottles_games[values["game_id"]] = values
|
||||
|
||||
if len(bottles_games) == 0:
|
||||
if not bottles_games:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import shlex
|
||||
import time
|
||||
|
||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, GObject, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .get_cover import get_cover
|
||||
from .save_cover import save_cover
|
||||
from .save_games import save_games
|
||||
|
||||
@@ -46,13 +46,13 @@ def create_details_window(parent_widget, game_id=None):
|
||||
apply_button = Gtk.Button.new_with_label(_("Confirm"))
|
||||
else:
|
||||
window.set_title(_("Edit Game Details"))
|
||||
cover = Gtk.Picture.new_for_pixbuf(get_cover(game_id, parent_widget))
|
||||
cover = Gtk.Picture.new_for_pixbuf(parent_widget.games[game_id].pixbuf)
|
||||
developer = Gtk.Entry.new_with_buffer(
|
||||
Gtk.EntryBuffer.new(games[game_id].developer, -1)
|
||||
)
|
||||
name = Gtk.Entry.new_with_buffer(Gtk.EntryBuffer.new(games[game_id].name, -1))
|
||||
executable = Gtk.Entry.new_with_buffer(
|
||||
Gtk.EntryBuffer.new((games[game_id].executable), -1)
|
||||
Gtk.EntryBuffer.new(shlex.join(games[game_id].executable), -1)
|
||||
)
|
||||
apply_button = Gtk.Button.new_with_label(_("Apply"))
|
||||
|
||||
@@ -201,8 +201,22 @@ def create_details_window(parent_widget, game_id=None):
|
||||
final_developer = developer.get_buffer().get_text()
|
||||
final_executable = executable.get_buffer().get_text()
|
||||
|
||||
if game_id is None:
|
||||
try:
|
||||
# Attempt to parse using shell parsing rules (doesn't verify executable existence).
|
||||
final_executable_split = shlex.split(
|
||||
final_executable, comments=False, posix=True
|
||||
)
|
||||
except ValueError as exception:
|
||||
create_dialog(
|
||||
window,
|
||||
_("Couldn't Add Game")
|
||||
if game_id is None
|
||||
else _("Couldn't Apply Preferences"),
|
||||
f'{_("Executable")}: {exception}.',
|
||||
)
|
||||
return
|
||||
|
||||
if game_id is None:
|
||||
if final_name == "":
|
||||
create_dialog(
|
||||
window, _("Couldn't Add Game"), _("Game title cannot be empty.")
|
||||
@@ -223,7 +237,7 @@ def create_details_window(parent_widget, game_id=None):
|
||||
if "imported_" in game:
|
||||
numbers.append(int(game.replace("imported_", "")))
|
||||
|
||||
game_id = "imported_" + str(max(numbers) + 1)
|
||||
game_id = f"imported_{str(max(numbers) + 1)}"
|
||||
|
||||
values["game_id"] = game_id
|
||||
values["hidden"] = False
|
||||
@@ -252,8 +266,8 @@ def create_details_window(parent_widget, game_id=None):
|
||||
save_cover(None, parent_widget, None, pixbuf, game_id)
|
||||
|
||||
values["name"] = final_name
|
||||
values["developer"] = final_developer if final_developer else None
|
||||
values["executable"] = final_executable
|
||||
values["developer"] = final_developer or None
|
||||
values["executable"] = final_executable_split
|
||||
|
||||
path = os.path.join(
|
||||
os.path.join(
|
||||
@@ -261,14 +275,13 @@ def create_details_window(parent_widget, game_id=None):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
game_id + ".json",
|
||||
f"{game_id}.json",
|
||||
)
|
||||
)
|
||||
|
||||
if os.path.exists(path):
|
||||
with open(path, "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
data.update(values)
|
||||
save_games({game_id: data})
|
||||
else:
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
# get_cover.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import os
|
||||
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
|
||||
def get_cover(game_id, parent_widget):
|
||||
if game_id in parent_widget.pixbufs.keys():
|
||||
return parent_widget.pixbufs[game_id]
|
||||
|
||||
cover_path = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
game_id + ".tiff",
|
||||
)
|
||||
|
||||
if not os.path.isfile(cover_path):
|
||||
return parent_widget.placeholder_pixbuf
|
||||
|
||||
return GdkPixbuf.Pixbuf.new_from_file(cover_path)
|
||||
@@ -33,16 +33,14 @@ def get_games(game_ids=None):
|
||||
if not os.path.exists(games_dir):
|
||||
return {}
|
||||
|
||||
if not game_ids:
|
||||
game_files = os.listdir(games_dir)
|
||||
if game_ids:
|
||||
game_files = [f"{game_id}.json" for game_id in game_ids]
|
||||
else:
|
||||
game_files = []
|
||||
for game_id in game_ids:
|
||||
game_files.append(game_id + ".json")
|
||||
game_files = os.listdir(games_dir)
|
||||
|
||||
for game in game_files:
|
||||
with open(os.path.join(games_dir, game), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
games[data["game_id"]] = data
|
||||
|
||||
return games
|
||||
|
||||
@@ -90,9 +90,7 @@ def heroic_parser(parent_widget, action):
|
||||
_("Set Heroic Location"),
|
||||
).connect("response", response)
|
||||
|
||||
if os.path.exists(os.path.join(heroic_dir, "config.json")):
|
||||
pass
|
||||
else:
|
||||
if not os.path.exists(os.path.join(heroic_dir, "config.json")):
|
||||
heroic_not_found()
|
||||
return {}
|
||||
|
||||
@@ -109,47 +107,49 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "lib-cache", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
|
||||
for game in library["library"]:
|
||||
if not game["is_installed"]:
|
||||
continue
|
||||
try:
|
||||
for game in library["library"]:
|
||||
if not game["is_installed"]:
|
||||
continue
|
||||
|
||||
values = {}
|
||||
values = {}
|
||||
|
||||
app_name = game["app_name"]
|
||||
values["game_id"] = "heroic_epic_" + app_name
|
||||
app_name = game["app_name"]
|
||||
values["game_id"] = f"heroic_epic_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
continue
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
continue
|
||||
|
||||
values["name"] = game["title"]
|
||||
values["developer"] = game["developer"]
|
||||
values["executable"] = (
|
||||
"start heroic://launch/" + app_name
|
||||
if os.name == "nt"
|
||||
else "xdg-open heroic://launch/" + app_name
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_epic"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
values["name"] = game["title"]
|
||||
values["developer"] = game["developer"]
|
||||
values["executable"] = (
|
||||
["start", f"heroic://launch/{app_name}"]
|
||||
if os.name == "nt"
|
||||
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_epic"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
image_path = os.path.join(
|
||||
heroic_dir,
|
||||
"images-cache",
|
||||
hashlib.sha256(
|
||||
(game["art_square"] + "?h=400&resize=1&w=300").encode()
|
||||
).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
save_cover(values, parent_widget, image_path)
|
||||
image_path = os.path.join(
|
||||
heroic_dir,
|
||||
"images-cache",
|
||||
hashlib.sha256(
|
||||
(f'{game["art_square"]}?h=400&resize=1&w=300').encode()
|
||||
).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
save_cover(values, parent_widget, image_path)
|
||||
|
||||
heroic_games[values["game_id"]] = values
|
||||
heroic_games[values["game_id"]] = values
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
# Import GOG games
|
||||
if not schema.get_boolean("heroic-import-gog"):
|
||||
@@ -159,13 +159,12 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "gog_store", "installed.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
installed = json.loads(data)
|
||||
for item in installed["installed"]:
|
||||
values = {}
|
||||
app_name = item["appName"]
|
||||
|
||||
values["game_id"] = "heroic_gog_" + app_name
|
||||
values["game_id"] = f"heroic_gog_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -178,7 +177,6 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "gog_store", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
for game in library["games"]:
|
||||
if game["app_name"] == app_name:
|
||||
@@ -194,9 +192,9 @@ def heroic_parser(parent_widget, action):
|
||||
break
|
||||
|
||||
values["executable"] = (
|
||||
"start heroic://launch/" + app_name
|
||||
["start", f"heroic://launch/{app_name}"]
|
||||
if os.name == "nt"
|
||||
else "xdg-open heroic://launch/" + app_name
|
||||
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_gog"
|
||||
@@ -213,13 +211,12 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "sideload_apps", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
for item in library["games"]:
|
||||
values = {}
|
||||
app_name = item["app_name"]
|
||||
|
||||
values["game_id"] = "heroic_sideload_" + app_name
|
||||
values["game_id"] = f"heroic_sideload_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -229,9 +226,9 @@ def heroic_parser(parent_widget, action):
|
||||
|
||||
values["name"] = item["title"]
|
||||
values["executable"] = (
|
||||
"start heroic://launch/" + app_name
|
||||
["start", f"heroic://launch/{app_name}"]
|
||||
if os.name == "nt"
|
||||
else "xdg-open heroic://launch/" + app_name
|
||||
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_sideload"
|
||||
@@ -247,7 +244,7 @@ def heroic_parser(parent_widget, action):
|
||||
|
||||
heroic_games[values["game_id"]] = values
|
||||
|
||||
if len(heroic_games) == 0:
|
||||
if not heroic_games:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
# run_command.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from gi.repository import Gio
|
||||
|
||||
|
||||
def run_command(executable):
|
||||
subprocess.Popen(
|
||||
["flatpak-spawn --host " + executable]
|
||||
if os.getenv("FLATPAK_ID") == "hu.kramo.Cartridges"
|
||||
else executable.split()
|
||||
if os.name == "nt"
|
||||
else [executable],
|
||||
shell=True,
|
||||
start_new_session=True,
|
||||
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP if os.name == "nt" else 0,
|
||||
)
|
||||
if Gio.Settings.new("hu.kramo.Cartridges").get_boolean("exit-after-launch"):
|
||||
sys.exit()
|
||||
@@ -29,8 +29,6 @@ def save_cover(game, parent_widget, file_path, pixbuf=None, game_id=None):
|
||||
"cartridges",
|
||||
"covers",
|
||||
)
|
||||
if not os.path.exists(covers_dir):
|
||||
os.makedirs(covers_dir)
|
||||
|
||||
if game_id is None:
|
||||
game_id = game["game_id"]
|
||||
@@ -41,7 +39,10 @@ def save_cover(game, parent_widget, file_path, pixbuf=None, game_id=None):
|
||||
def cover_callback(*_unused):
|
||||
pass
|
||||
|
||||
open_file = Gio.File.new_for_path(os.path.join(covers_dir, game_id + ".tiff"))
|
||||
if not os.path.exists(covers_dir):
|
||||
os.makedirs(covers_dir)
|
||||
|
||||
open_file = Gio.File.new_for_path(os.path.join(covers_dir, f"{game_id}.tiff"))
|
||||
parent_widget.pixbufs[game_id] = pixbuf
|
||||
pixbuf.save_to_streamv_async(
|
||||
open_file.replace(None, False, Gio.FileCreateFlags.NONE),
|
||||
|
||||
@@ -33,6 +33,5 @@ def save_games(games):
|
||||
os.makedirs(games_dir)
|
||||
|
||||
for game in games:
|
||||
with open(os.path.join(games_dir, game + ".json"), "w") as open_file:
|
||||
with open(os.path.join(games_dir, f"{game}.json"), "w") as open_file:
|
||||
open_file.write(json.dumps(games[game], indent=4, sort_keys=True))
|
||||
open_file.close()
|
||||
|
||||
@@ -49,12 +49,11 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
|
||||
with open(appmanifest, "r") as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
for datatype in datatypes:
|
||||
value = re.findall('"' + datatype + '"\t\t"(.*)"\n', data)
|
||||
value = re.findall(f'"{datatype}"\t\t"(.*)"\n', data)
|
||||
values[datatype] = value[0]
|
||||
|
||||
values["game_id"] = "steam_" + values["appid"]
|
||||
values["game_id"] = f'steam_{values["appid"]}'
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -64,16 +63,16 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
return
|
||||
|
||||
values["executable"] = (
|
||||
"start steam://rungameid/" + values["appid"]
|
||||
["start", f'steam://rungameid/{values["appid"]}']
|
||||
if os.name == "nt"
|
||||
else "xdg-open steam://rungameid/" + values["appid"]
|
||||
else ["xdg-open", f'steam://rungameid/{values["appid"]}']
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "steam"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
url = "https://store.steampowered.com/api/appdetails?appids=" + values["appid"]
|
||||
url = f'https://store.steampowered.com/api/appdetails?appids={values["appid"]}'
|
||||
|
||||
# On Linux the request is made through gvfs so the app can run without network permissions
|
||||
if os.name == "nt":
|
||||
@@ -97,7 +96,7 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
steam_dir,
|
||||
"appcache",
|
||||
"librarycache",
|
||||
values["appid"] + "_library_600x900.jpg",
|
||||
f'{values["appid"]}_library_600x900.jpg',
|
||||
)
|
||||
):
|
||||
save_cover(
|
||||
@@ -107,7 +106,7 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
steam_dir,
|
||||
"appcache",
|
||||
"librarycache",
|
||||
values["appid"] + "_library_600x900.jpg",
|
||||
f'{values["appid"]}_library_600x900.jpg',
|
||||
),
|
||||
)
|
||||
|
||||
@@ -115,7 +114,7 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
return
|
||||
|
||||
|
||||
def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
||||
def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog, progressbar):
|
||||
datatypes = ["appid", "name"]
|
||||
current_time = int(time.time())
|
||||
|
||||
@@ -133,9 +132,12 @@ def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
||||
|
||||
def update_games(_task, result, parent_widget):
|
||||
nonlocal queue
|
||||
nonlocal total_queue
|
||||
nonlocal import_dialog
|
||||
nonlocal progressbar
|
||||
|
||||
queue -= 1
|
||||
progressbar.set_fraction(1 - (queue / total_queue))
|
||||
|
||||
try:
|
||||
final_values = result.propagate_value()[1]
|
||||
@@ -155,12 +157,19 @@ def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
||||
}
|
||||
)
|
||||
|
||||
def response(_widget, response):
|
||||
if response == "open_preferences":
|
||||
parent_widget.get_application().on_preferences_action(None)
|
||||
|
||||
if games_no == 0:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
_("No new games were found in the Steam library."),
|
||||
)
|
||||
"open_preferences",
|
||||
_("Preferences"),
|
||||
).connect("response", response)
|
||||
|
||||
elif games_no == 1:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
@@ -176,8 +185,10 @@ def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
||||
_(f"Successfully imported {games_no} games."),
|
||||
)
|
||||
|
||||
total_queue = 0
|
||||
for appmanifest in appmanifests:
|
||||
queue += 1
|
||||
total_queue += 1
|
||||
|
||||
cancellable = Gio.Cancellable.new()
|
||||
GLib.timeout_add_seconds(5, cancellable.cancel)
|
||||
@@ -249,16 +260,18 @@ def steam_parser(parent_widget, action):
|
||||
|
||||
steam_dir = os.path.expanduser(schema.get_string("steam-location"))
|
||||
|
||||
progressbar = Gtk.ProgressBar(margin_start=12, margin_end=12)
|
||||
import_statuspage = Adw.StatusPage(
|
||||
title=_("Importing Games…"),
|
||||
description=_("Talking to Steam"),
|
||||
child=progressbar,
|
||||
)
|
||||
|
||||
import_dialog = Adw.Window(
|
||||
content=import_statuspage,
|
||||
modal=True,
|
||||
default_width=350,
|
||||
default_height=200,
|
||||
default_height=-1,
|
||||
transient_for=parent_widget,
|
||||
deletable=False,
|
||||
)
|
||||
@@ -280,4 +293,4 @@ def steam_parser(parent_widget, action):
|
||||
if os.path.isfile(path) and "appmanifest" in open_file:
|
||||
appmanifests.append(path)
|
||||
|
||||
get_games_async(parent_widget, appmanifests, directory, import_dialog)
|
||||
get_games_async(parent_widget, appmanifests, directory, import_dialog, progressbar)
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
# toggle_hidden.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import json
|
||||
import os
|
||||
|
||||
|
||||
def toggle_hidden(game):
|
||||
games_dir = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
)
|
||||
|
||||
if not os.path.exists(games_dir):
|
||||
return
|
||||
|
||||
with open(os.path.join(games_dir, game + ".json"), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
|
||||
data["hidden"] = not data["hidden"]
|
||||
|
||||
with open(os.path.join(games_dir, game + ".json"), "w") as open_file:
|
||||
open_file.write(json.dumps(data, indent=4))
|
||||
open_file.close()
|
||||
@@ -23,7 +23,6 @@ import os
|
||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, Gtk
|
||||
|
||||
from .game import game
|
||||
from .get_cover import get_cover
|
||||
from .get_games import get_games
|
||||
from .save_games import save_games
|
||||
|
||||
@@ -42,7 +41,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
library_bin = Gtk.Template.Child()
|
||||
notice_empty = Gtk.Template.Child()
|
||||
notice_no_results = Gtk.Template.Child()
|
||||
game_options = Gtk.Template.Child()
|
||||
search_bar = Gtk.Template.Child()
|
||||
search_entry = Gtk.Template.Child()
|
||||
search_button = Gtk.Template.Child()
|
||||
@@ -63,7 +61,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
hidden_scrolledwindow = Gtk.Template.Child()
|
||||
hidden_library_bin = Gtk.Template.Child()
|
||||
hidden_notice_empty = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
hidden_search_bar = Gtk.Template.Child()
|
||||
hidden_search_entry = Gtk.Template.Child()
|
||||
hidden_search_button = Gtk.Template.Child()
|
||||
@@ -97,7 +94,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
current_game + ".json",
|
||||
f"{current_game}.json",
|
||||
)
|
||||
)
|
||||
try:
|
||||
@@ -107,7 +104,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
current_game + ".dat",
|
||||
f"{current_game}.dat",
|
||||
)
|
||||
)
|
||||
except FileNotFoundError:
|
||||
@@ -154,7 +151,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
self.library.append(entry)
|
||||
else:
|
||||
self.hidden_widgets[game_id] = entry
|
||||
entry.menu_button.set_menu_model(entry.hidden_game_options)
|
||||
self.hidden_library.append(entry)
|
||||
|
||||
entry.cover_button.connect("clicked", self.show_overview, game_id)
|
||||
@@ -188,7 +184,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
text = self.search_entry.get_text().lower()
|
||||
if text == "":
|
||||
filtered = True
|
||||
elif text in child.get_first_child().name.lower():
|
||||
elif (
|
||||
text in child.get_first_child().name.lower()
|
||||
or text in child.get_first_child().developer.lower()
|
||||
if child.get_first_child().developer
|
||||
else None
|
||||
):
|
||||
filtered = True
|
||||
else:
|
||||
filtered = False
|
||||
@@ -206,7 +207,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
text = self.hidden_search_entry.get_text().lower()
|
||||
if text == "":
|
||||
filtered = True
|
||||
elif text in child.get_first_child().name.lower():
|
||||
elif (
|
||||
text in child.get_first_child().name.lower()
|
||||
or text in child.get_first_child().developer.lower()
|
||||
if child.get_first_child().developer
|
||||
else None
|
||||
):
|
||||
filtered = True
|
||||
else:
|
||||
filtered = False
|
||||
@@ -242,17 +248,17 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
else:
|
||||
self.overview_developer.set_visible(False)
|
||||
|
||||
if not current_game.hidden:
|
||||
self.overview_menu_button.set_menu_model(self.game_options)
|
||||
else:
|
||||
self.overview_menu_button.set_menu_model(self.hidden_game_options)
|
||||
self.overview_menu_button.set_menu_model(
|
||||
current_game.menu_button.get_menu_model()
|
||||
)
|
||||
|
||||
if self.stack.get_visible_child() != self.overview:
|
||||
self.stack.set_transition_type(Gtk.StackTransitionType.OVER_LEFT)
|
||||
self.stack.set_visible_child(self.overview)
|
||||
|
||||
self.active_game_id = game_id
|
||||
pixbuf = get_cover(self.active_game_id, self)
|
||||
|
||||
pixbuf = current_game.pixbuf
|
||||
self.overview_cover.set_pixbuf(pixbuf)
|
||||
self.overview_blurred_cover.set_pixbuf(
|
||||
pixbuf.scale_simple(2, 3, GdkPixbuf.InterpType.BILINEAR)
|
||||
@@ -290,36 +296,28 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
name2 = child2.get_first_child().name.lower()
|
||||
if name1 > name2:
|
||||
return -1
|
||||
if name1 < name2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if name1 < name2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def newest_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].added
|
||||
time2 = self.games[child2.get_first_child().game_id].added
|
||||
if time1 > time2:
|
||||
return -1
|
||||
if time1 < time2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def oldest_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].added
|
||||
time2 = self.games[child2.get_first_child().game_id].added
|
||||
if time1 > time2:
|
||||
return 1
|
||||
if time1 < time2:
|
||||
return -1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return -1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def last_played_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].last_played
|
||||
time2 = self.games[child2.get_first_child().game_id].last_played
|
||||
if time1 > time2:
|
||||
return -1
|
||||
if time1 < time2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def on_go_back_action(self, _widget, _unused, _x=None, _y=None):
|
||||
if self.stack.get_visible_child() == self.hidden_library_view:
|
||||
|
||||
Reference in New Issue
Block a user