Compare commits

...

13 Commits

Author SHA1 Message Date
kramo
248cd10367 v2.6.3 2023-11-16 22:00:48 +01:00
Weblate (bot)
387430d5cd Translations update from Hosted Weblate (#210)
* Translated using Weblate (Turkish)

Currently translated at 100.0% (136 of 136 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sabri Ünal <libreajans@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/cartridges/cartridges/tr/
Translation: Cartridges/Cartridges

* Translated using Weblate (Tamil)

Currently translated at 100.0% (136 of 136 strings)

Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/cartridges/cartridges/ta/
Translation: Cartridges/Cartridges

* Translated using Weblate (French)

Currently translated at 100.0% (136 of 136 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: John Donne <akheron@zaclys.net>
Translate-URL: https://hosted.weblate.org/projects/cartridges/cartridges/fr/
Translation: Cartridges/Cartridges

* Translated using Weblate (Finnish)

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (136 of 136 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kimmo Kujansuu <mrkujansuu@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/cartridges/cartridges/fi/
Translation: Cartridges/Cartridges

---------

Co-authored-by: Sabri Ünal <libreajans@gmail.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: John Donne <akheron@zaclys.net>
Co-authored-by: Kimmo Kujansuu <mrkujansuu@gmail.com>
2023-11-16 21:59:58 +01:00
kramo
6017c57e6c Add icons to import rows 2023-11-16 21:56:58 +01:00
kramo
50bc67bb1b Fix Lutris source type 2023-11-15 17:38:35 +01:00
kramo
76fd2f97ef Don't mark devel string as translatable 2023-11-12 12:59:22 +01:00
Sabri Ünal
e5f8e81c2e Appstream related patches (#212)
* appdata: use appstreamcli for appdata validation

appstream-util is obsoleted by appstreamcli.

* appdata: Update appdata

- Add translation tag
- Add categories and keywords tags

* Capitalize keywords to avoid duplicate strings

* Remove catrgories and keywords

They are unnecessary for Flathub

---------

Co-authored-by: kramo <contact@kramo.hu>
2023-11-12 12:42:27 +01:00
kramo
b574439328 Use full width row buttons 2023-11-11 10:48:09 +01:00
kramo
2b52391229 Add project_group to metainfo 2023-11-03 23:30:23 +01:00
kramo
9b24f7c473 v2.6.2 2023-11-03 17:15:06 +01:00
Weblate (bot)
644bf10713 Translations update from Hosted Weblate (#208)
* Translated using Weblate (Belarusian)

Currently translated at 100.0% (136 of 136 strings)

Co-authored-by: Yahor <k1llo2810@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/cartridges/cartridges/be/
Translation: Cartridges/Cartridges

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (136 of 136 strings)

Co-authored-by: Andrii Murha <flat.assembly@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/cartridges/cartridges/uk/
Translation: Cartridges/Cartridges

---------

Co-authored-by: Yahor <k1llo2810@protonmail.com>
Co-authored-by: Andrii Murha <flat.assembly@gmail.com>
2023-11-03 17:14:15 +01:00
kramo
2962988727 Fix old games not showing up in search provider 2023-11-03 17:11:25 +01:00
kramo
6d3d6e6a8f Use local options for command line 2023-10-27 14:54:59 +02:00
kramo
9557caecbc Use Blueprint menu item shorthands 2023-10-22 22:36:14 +02:00
16 changed files with 233 additions and 193 deletions

View File

@@ -66,10 +66,27 @@ class CartridgesApplication(Adw.Application):
def __init__(self) -> None: def __init__(self) -> None:
shared.store = Store() shared.store = Store()
super().__init__( super().__init__(application_id=shared.APP_ID)
application_id=shared.APP_ID,
flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE, search = GLib.OptionEntry()
) search.long_name = "search"
search.short_name = ord("s")
search.flags = 0
search.arg = int(GLib.OptionArg.STRING)
search.arg_data = None
search.description = "Open the app with this term in the search entry"
search.arg_description = "TERM"
launch = GLib.OptionEntry()
launch.long_name = "launch"
launch.short_name = ord("l")
launch.flags = 0
launch.arg = int(GLib.OptionArg.STRING)
launch.arg_data = None
launch.description = "Run a game with the given game_id"
launch.arg_description = "GAME_ID"
self.add_main_option_entries((search, launch))
def do_activate(self) -> None: # pylint: disable=arguments-differ def do_activate(self) -> None: # pylint: disable=arguments-differ
"""Called on app creation""" """Called on app creation"""
@@ -159,47 +176,40 @@ class CartridgesApplication(Adw.Application):
shared.win.present() shared.win.present()
def do_command_line(self, command_line) -> int: def do_handle_local_options(self, options: GLib.VariantDict) -> int:
for index, arg in enumerate(args := command_line.get_arguments()): if search := options.lookup_value("search"):
if arg == "--search": self.init_search_term = search.get_string()
try: elif game_id := options.lookup_value("launch"):
self.init_search_term = args[index + 1] try:
except IndexError: data = json.load(
pass (path := shared.games_dir / (game_id.get_string() + ".json")).open(
break "r", encoding="utf-8"
if arg == "--launch":
try:
game_id = args[index + 1]
data = json.load(
(path := shared.games_dir / (game_id + ".json")).open(
"r", encoding="utf-8"
)
) )
executable = (
shlex.join(data["executable"])
if isinstance(data["executable"], list)
else data["executable"]
)
name = data["name"]
run_executable(executable)
data["last_played"] = int(time())
json.dump(data, path.open("w", encoding="utf-8"))
except (IndexError, KeyError, OSError, json.decoder.JSONDecodeError):
return 1
notification = Gio.Notification.new(_("Cartridges"))
notification.set_body(_("{} launched").format(name))
self.send_notification(
"launch",
notification,
) )
return 0 executable = (
self.activate() shlex.join(data["executable"])
return 0 if isinstance(data["executable"], list)
else data["executable"]
)
name = data["name"]
run_executable(executable)
data["last_played"] = int(time())
json.dump(data, path.open("w", encoding="utf-8"))
except (IndexError, KeyError, OSError, json.decoder.JSONDecodeError):
return 1
self.register()
notification = Gio.Notification.new(_("Cartridges"))
notification.set_body(_("{} launched").format(name))
self.send_notification(
"launch",
notification,
)
return 0
return -1
def load_games_from_disk(self) -> None: def load_games_from_disk(self) -> None:
if shared.games_dir.is_dir(): if shared.games_dir.is_dir():

View File

@@ -63,8 +63,8 @@ class PreferencesWindow(Adw.PreferencesWindow):
steam_data_file_chooser_button = Gtk.Template.Child() steam_data_file_chooser_button = Gtk.Template.Child()
lutris_expander_row = Gtk.Template.Child() lutris_expander_row = Gtk.Template.Child()
lutris_data_action_row = Gtk.Template.Child() lutris_config_action_row = Gtk.Template.Child()
lutris_data_file_chooser_button = Gtk.Template.Child() lutris_config_file_chooser_button = Gtk.Template.Child()
lutris_cache_action_row = Gtk.Template.Child() lutris_cache_action_row = Gtk.Template.Child()
lutris_cache_file_chooser_button = Gtk.Template.Child() lutris_cache_file_chooser_button = Gtk.Template.Child()
lutris_import_steam_switch = Gtk.Template.Child() lutris_import_steam_switch = Gtk.Template.Child()
@@ -111,9 +111,9 @@ class PreferencesWindow(Adw.PreferencesWindow):
sgdb_spinner = Gtk.Template.Child() sgdb_spinner = Gtk.Template.Child()
danger_zone_group = Gtk.Template.Child() danger_zone_group = Gtk.Template.Child()
reset_action_row = Gtk.Template.Child() remove_all_games_list_box = Gtk.Template.Child()
reset_button = Gtk.Template.Child() reset_list_box = Gtk.Template.Child()
remove_all_games_button = Gtk.Template.Child() reset_group = Gtk.Template.Child()
removed_games: set[Game] = set() removed_games: set[Game] = set()
warning_menu_buttons: dict = {} warning_menu_buttons: dict = {}
@@ -137,12 +137,12 @@ class PreferencesWindow(Adw.PreferencesWindow):
self.add_controller(shortcut_controller) self.add_controller(shortcut_controller)
# General # General
self.remove_all_games_button.connect("clicked", self.remove_all_games) self.remove_all_games_list_box.connect("row-activated", self.remove_all_games)
# Debug # Debug
if shared.PROFILE == "development": if shared.PROFILE == "development":
self.reset_action_row.set_visible(True) self.reset_group.set_visible(True)
self.reset_button.connect("clicked", self.reset_app) self.reset_list_box.connect("row-activated", self.reset_app)
# Sources settings # Sources settings
for source_class in ( for source_class in (

View File

@@ -99,38 +99,16 @@ template $Game : Box {
menu game_options { menu game_options {
section { section {
item { item (_("Edit"), "app.edit_game")
label: _("Edit"); item (_("Hide"), "app.hide_game")
action: "app.edit_game"; item (_("Remove"), "app.remove_game")
}
item {
label: _("Hide");
action: "app.hide_game";
}
item {
label: _("Remove");
action: "app.remove_game";
}
} }
} }
menu hidden_game_options { menu hidden_game_options {
section { section {
item { item (_("Edit"), "app.edit_game")
label: _("Edit"); item (_("Unhide"), "app.hide_game")
action: "app.edit_game"; item (_("Remove"), "app.remove_game")
}
item {
label: _("Unhide");
action: "app.hide_game";
}
item {
label: _("Remove");
action: "app.remove_game";
}
} }
} }

View File

@@ -33,32 +33,76 @@ template $PreferencesWindow : Adw.PreferencesWindow {
Adw.PreferencesGroup danger_zone_group { Adw.PreferencesGroup danger_zone_group {
title: _("Danger Zone"); title: _("Danger Zone");
Adw.ActionRow { ListBox remove_all_games_list_box {
title: _("Remove All Games"); Adw.PreferencesRow {
activatable: true;
selectable: false;
Button remove_all_games_button { Box {
label: _("Remove"); spacing: 6;
valign: center; valign: center;
halign: center;
Label {
label: _("Remove All Games");
ellipsize: end;
styles [
"heading",
]
}
styles [ styles [
"destructive-action", "header",
] ]
} }
styles [
"error",
]
}
styles [
"boxed-list",
]
} }
}
Adw.ActionRow reset_action_row { Adw.PreferencesGroup reset_group {
title: "Reset App"; visible: false;
subtitle: "Completely resets and quits Cartridges";
visible: false;
Button reset_button { ListBox reset_list_box {
label: "Reset"; Adw.PreferencesRow {
activatable: true;
selectable: false;
Box {
spacing: 6;
valign: center; valign: center;
halign: center;
Label {
label: "Reset App";
ellipsize: end;
styles [
"heading",
]
}
styles [ styles [
"destructive-action", "header",
] ]
} }
styles [
"error",
]
}
styles [
"boxed-list",
]
} }
} }
} }
@@ -83,6 +127,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("Steam"); title: _("Steam");
show-enable-switch: true; show-enable-switch: true;
[prefix]
Image {
icon-name: "steam-source-symbolic";
}
Adw.ActionRow steam_data_action_row { Adw.ActionRow steam_data_action_row {
title: _("Install Location"); title: _("Install Location");
@@ -100,10 +149,15 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("Lutris"); title: _("Lutris");
show-enable-switch: true; show-enable-switch: true;
Adw.ActionRow lutris_data_action_row { [prefix]
Image {
icon-name: "lutris-source-symbolic";
}
Adw.ActionRow lutris_config_action_row {
title: _("Install Location"); title: _("Install Location");
Button lutris_data_file_chooser_button { Button lutris_config_file_chooser_button {
icon-name: "folder-symbolic"; icon-name: "folder-symbolic";
valign: center; valign: center;
styles [ styles [
@@ -137,6 +191,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("Heroic"); title: _("Heroic");
show-enable-switch: true; show-enable-switch: true;
[prefix]
Image {
icon-name: "heroic-source-symbolic";
}
Adw.ActionRow heroic_config_action_row { Adw.ActionRow heroic_config_action_row {
title: _("Install Location"); title: _("Install Location");
@@ -170,6 +229,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("Bottles"); title: _("Bottles");
show-enable-switch: true; show-enable-switch: true;
[prefix]
Image {
icon-name: "bottles-source-symbolic";
}
Adw.ActionRow bottles_data_action_row { Adw.ActionRow bottles_data_action_row {
title: _("Install Location"); title: _("Install Location");
@@ -187,6 +251,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("itch"); title: _("itch");
show-enable-switch: true; show-enable-switch: true;
[prefix]
Image {
icon-name: "itch-source-symbolic";
}
Adw.ActionRow itch_config_action_row { Adw.ActionRow itch_config_action_row {
title: _("Install Location"); title: _("Install Location");
@@ -204,6 +273,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("Legendary"); title: _("Legendary");
show-enable-switch: true; show-enable-switch: true;
[prefix]
Image {
icon-name: "legendary-source-symbolic";
}
Adw.ActionRow legendary_config_action_row { Adw.ActionRow legendary_config_action_row {
title: _("Install Location"); title: _("Install Location");
@@ -221,6 +295,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("RetroArch"); title: _("RetroArch");
show-enable-switch: true; show-enable-switch: true;
[prefix]
Image {
icon-name: "retroarch-source-symbolic";
}
Adw.ActionRow retroarch_config_action_row { Adw.ActionRow retroarch_config_action_row {
title: _("Install Location"); title: _("Install Location");
@@ -238,6 +317,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
title: _("Flatpak"); title: _("Flatpak");
show-enable-switch: true; show-enable-switch: true;
[prefix]
Image {
icon-name: "flatpak-source-symbolic";
}
Adw.ActionRow flatpak_data_action_row { Adw.ActionRow flatpak_data_action_row {
title: _("Install Location"); title: _("Install Location");
@@ -257,6 +341,11 @@ template $PreferencesWindow : Adw.PreferencesWindow {
Adw.SwitchRow desktop_switch { Adw.SwitchRow desktop_switch {
title: _("Desktop Entries"); title: _("Desktop Entries");
[prefix]
Image {
icon-name: "user-desktop-symbolic";
}
} }
} }
} }

View File

@@ -511,36 +511,19 @@ menu primary_menu {
} }
section { section {
item { item (_("Preferences"), "app.preferences")
label: _("Preferences"); item (_("Keyboard Shortcuts"), "win.show-help-overlay")
action: "app.preferences"; item (_("About Cartridges"), "app.about")
}
item {
label: _("Keyboard Shortcuts");
action: "win.show-help-overlay";
}
item {
label: _("About Cartridges");
action: "app.about";
}
} }
} }
menu add_games { menu add_games {
section { section {
item { item (_("Add Game"), "app.add_game")
label: _("Add Game");
action: "app.add_game";
}
} }
section { section {
item { item (_("Import"), "app.import")
label: _("Import");
action: "app.import";
}
} }
} }
@@ -548,29 +531,10 @@ menu search {
section { section {
label: "Search on…"; label: "Search on…";
item { item (_("IGDB"), "app.igdb_search")
label: "IGDB"; item (_("SteamGridDB"), "app.sgdb_search")
action: "app.igdb_search"; item (_("ProtonDB"), "app.protondb_search")
} item (_("Lutris"), "app.lutris_search")
item (_("HowLongToBeat"), "app.hltb_search")
item {
label: "SteamGridDB";
action: "app.sgdb_search";
}
item {
label: "ProtonDB";
action: "app.protondb_search";
}
item {
label: "Lutris";
action: "app.lutris_search";
}
item {
label: "HowLongToBeat";
action: "app.hltb_search";
}
} }
} }

View File

@@ -15,7 +15,9 @@
<url type="vcs-browser">https://github.com/kra-mo/cartridges</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> <url type="contribute">https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md</url>
<developer_name translatable="no">kramo</developer_name> <developer_name translatable="no">kramo</developer_name>
<project_group>GNOME</project_group>
<launchable type="desktop-id">@APP_ID@.desktop</launchable> <launchable type="desktop-id">@APP_ID@.desktop</launchable>
<translation type="gettext">cartridges</translation>
<supports> <supports>
<control>pointing</control> <control>pointing</control>
<control>keyboard</control> <control>keyboard</control>
@@ -44,12 +46,11 @@
</screenshots> </screenshots>
<content_rating type="oars-1.1" /> <content_rating type="oars-1.1" />
<releases> <releases>
<release version="2.6.1" date="2023-10-21"> <release version="2.6.3" date="2023-11-16">
<description translatable="no"> <description translatable="no">
<ul> <ul>
<li>"The" will be ignored when sorting games</li> <li>Fixed an issue with custom Lutris locations</li>
<li>The last played date is updated even if the game is luanched via the GNOME search provider</li> <li>UI improvements</li>
<li>Various UX improvements</li>
</ul> </ul>
</description> </description>
</release> </release>

View File

@@ -52,9 +52,9 @@ appstream_file = i18n.merge_file(
install_dir: join_paths(get_option('datadir'), 'metainfo') install_dir: join_paths(get_option('datadir'), 'metainfo')
) )
appstream_util = find_program('appstream-util', required: false) appstreamcli = find_program('appstreamcli', required: false)
if appstream_util.found() if appstreamcli.found()
test('Validate appstream file', appstream_util, args: ['validate', appstream_file]) test('Validate appstream file', appstreamcli, args: ['validate', appstream_file])
endif endif
install_data( install_data(

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -1,5 +1,5 @@
project('cartridges', project('cartridges',
version: '2.6.1', version: '2.6.3',
meson_version: '>= 0.59.0', meson_version: '>= 0.59.0',
default_options: [ 'warning_level=2', 'werror=false', ], default_options: [ 'warning_level=2', 'werror=false', ],
) )

View File

@@ -3,13 +3,14 @@
# This file is distributed under the same license as the Cartridges package. # This file is distributed under the same license as the Cartridges package.
# Yahor <k1llo2810@gmail.com>, 2023. # Yahor <k1llo2810@gmail.com>, 2023.
# Yahor <g_egor98@tut.by>, 2023. # Yahor <g_egor98@tut.by>, 2023.
# Yahor <k1llo2810@protonmail.com>, 2023.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Cartridges\n" "Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-10 22:22+0200\n" "POT-Creation-Date: 2023-10-10 22:22+0200\n"
"PO-Revision-Date: 2023-10-20 17:54+0000\n" "PO-Revision-Date: 2023-11-01 17:02+0000\n"
"Last-Translator: Yahor <g_egor98@tut.by>\n" "Last-Translator: Yahor <k1llo2810@protonmail.com>\n"
"Language-Team: Belarusian <https://hosted.weblate.org/projects/cartridges/" "Language-Team: Belarusian <https://hosted.weblate.org/projects/cartridges/"
"cartridges/be/>\n" "cartridges/be/>\n"
"Language: be\n" "Language: be\n"
@@ -18,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.1\n" "X-Generator: Weblate 5.2-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 #: data/hu.kramo.Cartridges.metainfo.xml.in:6
@@ -50,7 +51,7 @@ msgid ""
"necessary. You can sort and hide games or download cover art from " "necessary. You can sort and hide games or download cover art from "
"SteamGridDB." "SteamGridDB."
msgstr "" msgstr ""
"Картрыджы - гэта простая праграма для запуску ўсіх вашых гульняў. Ён " "Картрыджы - гэта простая праграма для запуску ўсіх вашых гульняў. Яна "
"падтрымлівае імпарт гульняў з Steam, Lutris, Heroic і іншых без неабходнасці " "падтрымлівае імпарт гульняў з Steam, Lutris, Heroic і іншых без неабходнасці "
"ўваходу ў сістэму. Вы можаце сартаваць і хаваць гульні або спампоўваць " "ўваходу ў сістэму. Вы можаце сартаваць і хаваць гульні або спампоўваць "
"вокладку з SteamGridDB." "вокладку з SteamGridDB."

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: cartridges\n" "Project-Id-Version: cartridges\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-10 22:22+0200\n" "POT-Creation-Date: 2023-10-10 22:22+0200\n"
"PO-Revision-Date: 2023-10-05 19:10+0000\n" "PO-Revision-Date: 2023-11-03 22:32+0000\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n" "Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/cartridges/" "Language-Team: Finnish <https://hosted.weblate.org/projects/cartridges/"
"cartridges/fi/>\n" "cartridges/fi/>\n"
"Language: fi\n" "Language: fi\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.1-dev\n" "X-Generator: Weblate 5.2-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 #: data/hu.kramo.Cartridges.metainfo.xml.in:6
@@ -42,13 +42,10 @@ msgstr "Käynnistä kaikki pelisi"
msgid "" msgid ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;" "gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
msgstr "" msgstr ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
"peli;pelaaminen;pullot;"
#: data/hu.kramo.Cartridges.metainfo.xml.in:9 #: data/hu.kramo.Cartridges.metainfo.xml.in:9
#, fuzzy
#| 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."
msgid "" msgid ""
"Cartridges is a simple game launcher for all of your games. It has support " "Cartridges is a simple game launcher for all of your games. It has support "
"for importing games from Steam, Lutris, Heroic and more with no login " "for importing games from Steam, Lutris, Heroic and more with no login "
@@ -56,9 +53,8 @@ msgid ""
"SteamGridDB." "SteamGridDB."
msgstr "" msgstr ""
"Cartridges on helppo pelikäynnistin. Se tukee pelien tuontia Steamista, " "Cartridges on helppo pelikäynnistin. Se tukee pelien tuontia Steamista, "
"Heroicista ja Bottlesista ja tarjoaa ominaisuuden järjestelyyn, kuten " "Heroicista ja Bottlesista, sekä muistaa ilman kirjautumista. Voit lajitella "
"piilottamisen ja lajittelun lisäyspäivämäärän tai viimeisimmän pelatun pelin " "tai piilottaa pelejä ja ladata kansikuvan SteamGridDB tietokannasta."
"mukaan."
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:288 #: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:288
#: cartridges/details_window.py:71 #: cartridges/details_window.py:71
@@ -202,7 +198,7 @@ msgstr "Korkealaatuiset kuvat"
#: data/gtk/preferences.blp:29 #: data/gtk/preferences.blp:29
msgid "Save game covers losslessly at the cost of storage" msgid "Save game covers losslessly at the cost of storage"
msgstr "Tallenna pelien kansikuvat häviöttömästi tallennustilan kustannuksella" msgstr "Tallenna pelin kannet häviöttömästi tallennustilan kustannuksella."
#: data/gtk/preferences.blp:34 #: data/gtk/preferences.blp:34
msgid "Danger Zone" msgid "Danger Zone"
@@ -229,7 +225,7 @@ msgstr "Steam"
#: data/gtk/preferences.blp:191 data/gtk/preferences.blp:208 #: data/gtk/preferences.blp:191 data/gtk/preferences.blp:208
#: data/gtk/preferences.blp:225 data/gtk/preferences.blp:242 #: data/gtk/preferences.blp:225 data/gtk/preferences.blp:242
msgid "Install Location" msgid "Install Location"
msgstr "Asennussijainti" msgstr "Asennuspaikka"
#: data/gtk/preferences.blp:100 cartridges/importer/lutris_source.py:92 #: data/gtk/preferences.blp:100 cartridges/importer/lutris_source.py:92
msgid "Lutris" msgid "Lutris"
@@ -277,7 +273,7 @@ msgstr "itch"
#: data/gtk/preferences.blp:204 cartridges/importer/legendary_source.py:97 #: data/gtk/preferences.blp:204 cartridges/importer/legendary_source.py:97
msgid "Legendary" msgid "Legendary"
msgstr "" msgstr "Legendaarinen"
#: data/gtk/preferences.blp:221 cartridges/importer/retroarch_source.py:142 #: data/gtk/preferences.blp:221 cartridges/importer/retroarch_source.py:142
msgid "RetroArch" msgid "RetroArch"
@@ -289,7 +285,7 @@ msgstr "Flatpak"
#: data/gtk/preferences.blp:254 #: data/gtk/preferences.blp:254
msgid "Import Game Launchers" msgid "Import Game Launchers"
msgstr "Tuo pelikäynnistim" msgstr "Tuo pelin käynnistimet"
#: data/gtk/preferences.blp:259 cartridges/importer/desktop_source.py:215 #: data/gtk/preferences.blp:259 cartridges/importer/desktop_source.py:215
msgid "Desktop Entries" msgid "Desktop Entries"
@@ -313,15 +309,15 @@ msgstr "Käytä SteamGridDB:tä"
#: data/gtk/preferences.blp:282 #: data/gtk/preferences.blp:282
msgid "Download images when adding or importing games" msgid "Download images when adding or importing games"
msgstr "Lataa kuvat pelejä lisätessä tai tuotaessa" msgstr "Lataa kuvia, kun lisäät tai tuot pelejä"
#: data/gtk/preferences.blp:286 #: data/gtk/preferences.blp:286
msgid "Prefer Over Official Images" msgid "Prefer Over Official Images"
msgstr "Suosi virallisten kuvien sijaan" msgstr "Mieluummin kuin virallisia kuvia"
#: data/gtk/preferences.blp:290 #: data/gtk/preferences.blp:290
msgid "Prefer Animated Images" msgid "Prefer Animated Images"
msgstr "Suosi animoituja kuvia" msgstr "Mieluummin animoituja kuvia"
#: data/gtk/preferences.blp:296 #: data/gtk/preferences.blp:296
msgid "Update Covers" msgid "Update Covers"
@@ -453,7 +449,7 @@ msgstr "Lisää"
#: cartridges/details_window.py:93 #: cartridges/details_window.py:93
msgid "Executables" msgid "Executables"
msgstr "Suoritettavat tiedostot" msgstr "Suoritettava"
#. Translate this string as you would translate "file" #. Translate this string as you would translate "file"
#: cartridges/details_window.py:108 #: cartridges/details_window.py:108
@@ -487,11 +483,11 @@ msgid ""
"\n" "\n"
"If the path contains spaces, make sure to wrap it in double quotes!" "If the path contains spaces, make sure to wrap it in double quotes!"
msgstr "" msgstr ""
"Käynnistääksesi suoritettavan ohjelman \"{exe_name}\", käytä komentoa:\n" "Käynnistääksesi suoritettavan ohjelman \"{}\", käytä komentoa:\n"
"\n" "\n"
"<tt>\"{}\"</tt>\n" "<tt>\"{}\"</tt>\n"
"\n" "\n"
"Avataksesi tiedoston \"{}\" oletussovelluksella, käytä komentoa:\n" "Jos haluat avata tiedoston \"{}\" oletussovelluksella, käytä komentoa:\n"
"\n" "\n"
"<tt>{} \"{}\"</tt>\n" "<tt>{} \"{}\"</tt>\n"
"\n" "\n"
@@ -537,8 +533,8 @@ msgstr "Kaikki pelit poistettu"
msgid "" msgid ""
"An API key is required to use SteamGridDB. You can generate one {}here{}." "An API key is required to use SteamGridDB. You can generate one {}here{}."
msgstr "" msgstr ""
"API-avain on pakollinen, jos haluat käyttää SteamGridDB:tä. Voit luoda " "SteamGridDB:n käyttäminen edellyttää API-avainta. Voit luoda sellaisen "
"avaimen {}täällä{}." "{}täältä{}."
#: cartridges/preferences.py:184 #: cartridges/preferences.py:184
msgid "Downloading covers…" msgid "Downloading covers…"
@@ -627,10 +623,8 @@ msgid "Games with no core selected were not imported"
msgstr "Pelejä, joihin ei ole valittu ydintä, ei tuotu" msgstr "Pelejä, joihin ei ole valittu ydintä, ei tuotu"
#: cartridges/store/managers/sgdb_manager.py:46 #: cartridges/store/managers/sgdb_manager.py:46
#, fuzzy
#| msgid "Couldn't Connect to SteamGridDB"
msgid "Couldn't Authenticate SteamGridDB" msgid "Couldn't Authenticate SteamGridDB"
msgstr "Ei voitu yhdistää SteamGridDB:hen" msgstr "Ei voitu kirjautua SteamGridDB:hen"
#: cartridges/store/managers/sgdb_manager.py:47 #: cartridges/store/managers/sgdb_manager.py:47
msgid "Verify your API key in preferences" msgid "Verify your API key in preferences"

View File

@@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: cartridges\n" "Project-Id-Version: cartridges\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-10 22:22+0200\n" "POT-Creation-Date: 2023-10-10 22:22+0200\n"
"PO-Revision-Date: 2023-10-14 05:01+0000\n" "PO-Revision-Date: 2023-11-05 22:34+0000\n"
"Last-Translator: rene-coty <irenee.thirion@e.email>\n" "Last-Translator: John Donne <akheron@zaclys.net>\n"
"Language-Team: French <https://hosted.weblate.org/projects/cartridges/" "Language-Team: French <https://hosted.weblate.org/projects/cartridges/"
"cartridges/fr/>\n" "cartridges/fr/>\n"
"Language: fr\n" "Language: fr\n"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.1-dev\n" "X-Generator: Weblate 5.2-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 #: data/hu.kramo.Cartridges.metainfo.xml.in:6
@@ -545,7 +545,7 @@ msgstr "Téléchargement des pochettes des jeux…"
#: cartridges/preferences.py:203 #: cartridges/preferences.py:203
msgid "Covers updated" msgid "Covers updated"
msgstr "Pochettes mises à jour" msgstr "Couvertures des jeux mises à jour"
#: cartridges/preferences.py:335 #: cartridges/preferences.py:335
msgid "Installation Not Found" msgid "Installation Not Found"

View File

@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Cartridges\n" "Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-10 22:22+0200\n" "POT-Creation-Date: 2023-10-10 22:22+0200\n"
"PO-Revision-Date: 2023-09-30 08:01+0000\n" "PO-Revision-Date: 2023-11-12 11:42+0000\n"
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n" "Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
"Language-Team: Tamil <https://hosted.weblate.org/projects/cartridges/" "Language-Team: Tamil <https://hosted.weblate.org/projects/cartridges/"
"cartridges/ta/>\n" "cartridges/ta/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.1-dev\n" "X-Generator: Weblate 5.2-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 #: data/hu.kramo.Cartridges.metainfo.xml.in:6
@@ -40,8 +40,8 @@ msgstr "உங்கள் எல்லா விளையாட்டுகள
msgid "" msgid ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;" "gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
msgstr "" msgstr ""
"விளையாட்டு; துவக்கி; steam;lutris;heroic;பாட்டில்கள்;itch;flatpak;legendary;" "விளையாட்டு; துவக்கி; "
"Retroarch;" "steam;lutris;heroic;பாட்டில்கள்;itch;flatpak;legendary;retroarch;"
#: data/hu.kramo.Cartridges.metainfo.xml.in:9 #: data/hu.kramo.Cartridges.metainfo.xml.in:9
msgid "" msgid ""

View File

@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: Cartridges\n" "Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-10 22:22+0200\n" "POT-Creation-Date: 2023-10-10 22:22+0200\n"
"PO-Revision-Date: 2023-10-03 16:11+0000\n" "PO-Revision-Date: 2023-11-03 16:11+0000\n"
"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n" "Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/cartridges/" "Language-Team: Turkish <https://hosted.weblate.org/projects/cartridges/"
"cartridges/tr/>\n" "cartridges/tr/>\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.1-dev\n" "X-Generator: Weblate 5.2-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 #: data/hu.kramo.Cartridges.metainfo.xml.in:6
@@ -175,7 +175,7 @@ msgstr "Davranış"
#: data/gtk/preferences.blp:15 #: data/gtk/preferences.blp:15
msgid "Exit After Launching Games" msgid "Exit After Launching Games"
msgstr "Oyunu Başlatıldıktan Sonra Çık" msgstr "Oyunları Başlattıktan Sonra Çık"
#: data/gtk/preferences.blp:19 #: data/gtk/preferences.blp:19
msgid "Cover Image Launches Game" msgid "Cover Image Launches Game"

View File

@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: cartridges\n" "Project-Id-Version: cartridges\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-10 22:22+0200\n" "POT-Creation-Date: 2023-10-10 22:22+0200\n"
"PO-Revision-Date: 2023-10-05 19:10+0000\n" "PO-Revision-Date: 2023-10-24 17:02+0000\n"
"Last-Translator: Andrii Murha <flat.assembly@gmail.com>\n" "Last-Translator: Andrii Murha <flat.assembly@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/cartridges/" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/cartridges/"
"cartridges/uk/>\n" "cartridges/uk/>\n"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.1-dev\n" "X-Generator: Weblate 5.1.1-dev\n"
#: data/hu.kramo.Cartridges.desktop.in:3 #: data/hu.kramo.Cartridges.desktop.in:3
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 #: data/hu.kramo.Cartridges.metainfo.xml.in:6
@@ -145,7 +145,7 @@ msgstr "Вийти"
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:88 data/gtk/window.blp:164 #: data/gtk/help-overlay.blp:39 data/gtk/window.blp:88 data/gtk/window.blp:164
msgid "Toggle Sidebar" msgid "Toggle Sidebar"
msgstr "Перкключити бічну панель" msgstr "Переключити бічну панель"
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:177 data/gtk/window.blp:236 #: data/gtk/help-overlay.blp:44 data/gtk/window.blp:177 data/gtk/window.blp:236
msgid "Main Menu" msgid "Main Menu"

View File

@@ -165,7 +165,11 @@ class SearchCartridgesService(Server, Gio.Application):
continue continue
try: try:
if any({data["hidden"], data["blacklisted"], data["removed"]}): # Use .get for compatibility with pre-2.0 games
if any(
{data.get("hidden"), data.get("blacklisted"), data.get("removed")}
):
print(f"Skipped {game_file.name}")
continue continue
self.games[data["game_id"]] = (data["name"], data["developer"]) self.games[data["game_id"]] = (data["name"], data["developer"])
@@ -272,7 +276,6 @@ class SearchCartridgesService(Server, Gio.Application):
search = " ".join(terms).lower() search = " ".join(terms).lower()
try: try:
for game_id, data in self.games.items(): for game_id, data in self.games.items():
print(game_id, data)
if search in data[0].lower(): if search in data[0].lower():
game_ids.append(game_id) game_ids.append(game_id)
continue continue