Compare commits

..

1 Commits

Author SHA1 Message Date
Blakyrin
76cb913be7 Revert "Improve UX for COSMIC"
This reverts commit 239420148a.

Please Stop Theming My App should be focused on distros or packagers theming the apps, shipping them broken, it's not user's fault as they don't know what is going on.
popOS is one of the most used distros, and most of their users are new users that saw them in YouTube, please don't break their experience.
2024-08-11 18:21:43 +00:00
30 changed files with 599 additions and 1889 deletions

1
.github/FUNDING.yml vendored
View File

@@ -1,2 +1 @@
github: [kra-mo]
liberapay: kramo

View File

@@ -57,7 +57,7 @@ Cartridges is an easy-to-use, elegant game launcher written in Python using GTK4
For updates and questions, join our [Discord server][discord-url] (bridged to [Matrix](https://matrix.to/#/#cartridges:matrix.org))!
## Donations
I accept donations through [GitHub Sponsors](https://github.com/sponsors/kra-mo) and [Liberapay](https://liberapay.com/kramo).
I accept donations through [GitHub Sponsors](https://github.com/sponsors/kra-mo).
Thank you for your generosity! 💜

View File

@@ -1,134 +1,138 @@
{
"id": "page.kramo.Cartridges.Devel",
"runtime": "org.gnome.Platform",
"runtime-version": "47",
"sdk": "org.gnome.Sdk",
"command": "cartridges",
"finish-args": [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland",
"--talk-name=org.freedesktop.Flatpak",
"--filesystem=host",
"--filesystem=~/.var/app/com.valvesoftware.Steam/data/Steam/:ro",
"--filesystem=~/.var/app/net.lutris.Lutris/:ro",
"--filesystem=~/.var/app/com.heroicgameslauncher.hgl/config/heroic/:ro",
"--filesystem=~/.var/app/com.heroicgameslauncher.hgl/config/legendary/:ro",
"--filesystem=~/.var/app/com.usebottles.bottles/data/bottles/:ro",
"--filesystem=~/.var/app/io.itch.itch/config/itch/:ro",
"--filesystem=~/.var/app/org.libretro.RetroArch/config/retroarch/:ro",
"--filesystem=/var/lib/flatpak/app:ro",
"--filesystem=/var/lib/flatpak/exports:ro",
"--filesystem=xdg-data/flatpak/app:ro",
"--filesystem=xdg-data/flatpak/exports:ro"
],
"cleanup": [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"*.la",
"*.a"
],
"modules": [
{
"name": "python3-modules",
"buildsystem": "simple",
"build-commands": [],
"modules": [
"id" : "page.kramo.Cartridges.Devel",
"runtime" : "org.gnome.Platform",
"runtime-version" : "46",
"sdk" : "org.gnome.Sdk",
"command" : "cartridges",
"finish-args" : [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland",
"--talk-name=org.freedesktop.Flatpak",
"--filesystem=host",
"--filesystem=~/.var/app/com.valvesoftware.Steam/data/Steam/:ro",
"--filesystem=~/.var/app/net.lutris.Lutris/:ro",
"--filesystem=~/.var/app/com.heroicgameslauncher.hgl/config/heroic/:ro",
"--filesystem=~/.var/app/com.heroicgameslauncher.hgl/config/legendary/:ro",
"--filesystem=~/.var/app/com.usebottles.bottles/data/bottles/:ro",
"--filesystem=~/.var/app/io.itch.itch/config/itch/:ro",
"--filesystem=~/.var/app/org.libretro.RetroArch/config/retroarch/:ro",
"--filesystem=/var/lib/flatpak/app:ro",
"--filesystem=/var/lib/flatpak/exports:ro",
"--filesystem=xdg-data/flatpak/app:ro",
"--filesystem=xdg-data/flatpak/exports:ro"
],
"cleanup" : [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"*.la",
"*.a"
],
"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/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz",
"sha256": "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"
}
]
"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"
}
]
},
{
"name": "python3-requests",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl",
"sha256": "64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/7b/f5/890a0baca17a61c1f92f72b81d3c31523c99bec609e60c292ea55b387ae8/urllib3-1.26.15-py2.py3-none-any.whl",
"sha256": "aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"
}
]
},
{
"name": "python3-pillow",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pillow\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz",
"sha256": "bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"
}
]
}
]
},
{
"name": "python3-pillow",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pillow\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz",
"sha256": "166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"
}
]
"name" : "blueprint-compiler",
"buildsystem" : "meson",
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
"tag" : "v0.12.0"
}
],
"cleanup" : [
"*"
]
},
{
"name": "python3-requests",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl",
"sha256": "922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/63/09/c1bc53dab74b1816a00d8d030de5bf98f724c52c1635e07681d312f20be8/charset-normalizer-3.3.2.tar.gz",
"sha256": "f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl",
"sha256": "946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl",
"sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl",
"sha256": "ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"
}
]
"name" : "cartridges",
"builddir" : true,
"buildsystem" : "meson",
"run-tests" : true,
"config-opts": [
"-Dprofile=development"
],
"sources" : [
{
"type" : "dir",
"path" : "../.."
}
]
}
]
},
{
"name": "blueprint-compiler",
"buildsystem": "meson",
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
"tag": "v0.14.0"
}
],
"cleanup": ["*"]
},
{
"name": "cartridges",
"builddir": true,
"buildsystem": "meson",
"run-tests": true,
"config-opts": ["-Dprofile=development"],
"sources": [
{
"type": "dir",
"path": "../.."
}
]
}
]
]
}

View File

@@ -47,7 +47,7 @@ class DetailsDialog(Adw.Dialog):
cover_button_edit: Gtk.Button = Gtk.Template.Child()
cover_button_delete_revealer: Gtk.Revealer = Gtk.Template.Child()
cover_button_delete: Gtk.Button = Gtk.Template.Child()
spinner: Adw.Spinner = Gtk.Template.Child()
spinner: Gtk.Spinner = Gtk.Template.Child()
name: Adw.EntryRow = Gtk.Template.Child()
developer: Adw.EntryRow = Gtk.Template.Child()
@@ -68,8 +68,7 @@ class DetailsDialog(Adw.Dialog):
# Make it so only one dialog can be open at a time
self.__class__.is_open = True
self.tmp_cover_path = None
self.connect("closed", self.on_closed)
self.connect("closed", lambda *_: self.set_is_open(False))
self.game: Optional[Game] = game
self.game_cover: GameCover = GameCover({self.cover})
@@ -161,20 +160,11 @@ class DetailsDialog(Adw.Dialog):
self.set_focus(self.name)
def delete_pixbuf(self, *_args: Any) -> None:
if self.tmp_cover_path:
self.tmp_cover_path.unlink(missing_ok=True)
self.game_cover.new_cover()
self.cover_button_delete_revealer.set_reveal_child(False)
self.cover_changed = True
def on_closed(self, *args):
if self.tmp_cover_path:
self.tmp_cover_path.unlink(missing_ok=True)
self.set_is_open(False)
def apply_preferences(self, *_args: Any) -> None:
final_name = self.name.get_text()
final_developer = self.developer.get_text()
@@ -250,7 +240,6 @@ class DetailsDialog(Adw.Dialog):
save_cover(
self.game.game_id,
self.game_cover.path,
self.game_cover.pixbuf,
)
shared.store.add_game(self.game, {}, run_pipeline=False)
@@ -296,7 +285,7 @@ class DetailsDialog(Adw.Dialog):
def toggle_loading(self) -> None:
self.apply_button.set_sensitive(not self.apply_button.get_sensitive())
self.spinner.set_visible(not self.spinner.get_visible())
self.spinner.set_spinning(not self.spinner.get_spinning())
self.cover_overlay.set_opacity(not self.cover_overlay.get_opacity())
def set_cover(self, _source: Any, result: Gio.Task, *_args: Any) -> None:
@@ -306,29 +295,26 @@ class DetailsDialog(Adw.Dialog):
return
def thread_func() -> None:
is_animated = False
new_path = None
try:
with Image.open(path) as image:
if getattr(image, "is_animated", False):
is_animated = True
except (UnidentifiedImageError, OSError, ValueError):
new_path = convert_cover(path)
except UnidentifiedImageError:
pass
if is_animated:
if self.tmp_cover_path:
self.tmp_cover_path.unlink(missing_ok=True)
self.tmp_cover_path = convert_cover(path)
self.game_cover.new_cover(self.tmp_cover_path)
else:
self.game_cover.new_cover(
if not new_path:
new_path = convert_cover(
pixbuf=shared.store.managers[CoverManager].composite_cover(
Path(path)
)
)
self.cover_button_delete_revealer.set_reveal_child(True)
self.cover_changed = True
if new_path:
self.game_cover.new_cover(new_path)
self.cover_button_delete_revealer.set_reveal_child(True)
self.cover_changed = True
self.toggle_loading()

View File

@@ -157,7 +157,7 @@ class Game(Gtk.Box):
loading = self.loading > 0
self.cover.set_opacity(int(not loading))
self.spinner.set_visible(loading)
self.spinner.set_spinning(loading)
def get_cover_path(self) -> Optional[Path]:
cover_path = shared.covers_dir / f"{self.game_id}.gif"

View File

@@ -45,22 +45,12 @@ class GameCover:
self.pictures = pictures
self.new_cover(path)
def new_cover(
self,
path: Optional[Path] = None,
pixbuf: Optional[GdkPixbuf.Pixbuf] = None
) -> None:
def new_cover(self, path: Optional[Path] = None) -> None:
self.animation = None
self.texture = None
self.blurred = None
self.luminance = None
self.path = path
self.pixbuf = pixbuf
if pixbuf:
self.texture = Gdk.Texture.new_for_pixbuf(pixbuf)
self.set_texture(self.texture)
return
if path:
if path.suffix == ".gif":

View File

@@ -106,6 +106,7 @@ class Importer(ErrorProducer):
def run(self) -> None:
"""Use several Gio.Task to import games from added sources"""
shared.win.get_application().state = shared.AppState.IMPORT
if self.__class__.summary_toast:
@@ -136,7 +137,6 @@ class Importer(ErrorProducer):
)
self.progress_changed_callback()
GLib.timeout_add(100, self.__watchdog)
def create_dialog(self) -> None:
"""Create the import dialog"""
@@ -281,7 +281,8 @@ class Importer(ErrorProducer):
shared.store.duplicate_game_ids = set()
# Disconnect the close-attempt signal that closes the main window
self.import_dialog.disconnect(self.close_attempt_id)
self.import_dialog.force_close()
# Stupid hack because stupid libadwaita is stupid
GLib.timeout_add(50, self.import_dialog.force_close)
self.__class__.summary_toast = self.create_summary_toast()
self.create_error_dialog()
shared.win.get_application().lookup_action("import").set_enabled(True)
@@ -396,13 +397,7 @@ class Importer(ErrorProducer):
toast.set_title(toast_title)
if not (
self.n_games_added == 0
and removed_length == 0
and shared.schema.get_boolean("auto-import")
):
shared.win.toast_overlay.add_toast(toast)
shared.win.toast_overlay.add_toast(toast)
return toast
def open_preferences(
@@ -428,11 +423,3 @@ class Importer(ErrorProducer):
self.open_preferences(*args).connect("close-request", self.timeout_toast)
else:
self.timeout_toast()
def __watchdog(self) -> bool:
# This can help resolve a race condition where the dialog would stay open
if not self.finished:
return True
self.import_dialog.force_close()
return shared.win.get_visible_dialog() == self.import_dialog

View File

@@ -107,10 +107,6 @@ class CartridgesApplication(Adw.Application):
def do_activate(self) -> None: # pylint: disable=arguments-differ
"""Called on app creation"""
if os.getenv("XDG_CURRENT_DESKOP") == "COSMIC":
Gio.AppInfo.launch_default_for_uri("https://stopthemingmy.app")
self.quit()
try:
setup_logging()
except ValueError:
@@ -118,6 +114,9 @@ class CartridgesApplication(Adw.Application):
log_system_info()
# Set fallback icon-name
Gtk.Window.set_default_icon_name(shared.APP_ID)
# Create the main window
win = self.props.active_window # pylint: disable=no-member
if not win:
@@ -193,9 +192,6 @@ class CartridgesApplication(Adw.Application):
shared.win.present()
if shared.schema.get_boolean("auto-import"):
self.on_import_action()
def do_handle_local_options(self, options: GLib.VariantDict) -> int:
if search := options.lookup_value("search"):
self.init_search_term = search.get_string()

View File

@@ -60,7 +60,6 @@ class CartridgesPreferences(Adw.PreferencesDialog):
cover_launches_game_switch: Adw.SwitchRow = Gtk.Template.Child()
high_quality_images_switch: Adw.SwitchRow = Gtk.Template.Child()
auto_import_switch: Adw.SwitchRow = Gtk.Template.Child()
remove_missing_switch: Adw.SwitchRow = Gtk.Template.Child()
steam_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
@@ -113,11 +112,12 @@ class CartridgesPreferences(Adw.PreferencesDialog):
sgdb_animated_switch: Adw.SwitchRow = Gtk.Template.Child()
sgdb_fetch_button: Gtk.Button = Gtk.Template.Child()
sgdb_stack: Gtk.Stack = Gtk.Template.Child()
sgdb_spinner: Adw.Spinner = Gtk.Template.Child()
sgdb_spinner: Gtk.Spinner = Gtk.Template.Child()
danger_zone_group = Gtk.Template.Child()
remove_all_games_button_row = Gtk.Template.Child()
reset_button_row = Gtk.Template.Child()
danger_zone_group: Adw.PreferencesGroup = Gtk.Template.Child()
remove_all_games_list_box: Gtk.ListBox = Gtk.Template.Child()
reset_list_box: Gtk.ListBox = Gtk.Template.Child()
reset_group: Adw.PreferencesGroup = Gtk.Template.Child()
removed_games: set[Game] = set()
warning_menu_buttons: dict = {}
@@ -147,12 +147,12 @@ class CartridgesPreferences(Adw.PreferencesDialog):
self.add_controller(shortcut_controller)
# General
self.remove_all_games_button_row.connect("activated", self.remove_all_games)
self.remove_all_games_list_box.connect("row-activated", self.remove_all_games)
# Debug
if shared.PROFILE == "development":
self.reset_button_row.set_visible(True)
self.reset_button_row.connect("activated", self.reset_app)
self.reset_group.set_visible(True)
self.reset_list_box.connect("row-activated", self.reset_app)
# Sources settings
for source_class in (
@@ -197,7 +197,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
sgdb_manager = shared.store.managers[SgdbManager]
sgdb_manager.reset_cancellable()
self.sgdb_spinner.set_visible(True)
self.sgdb_spinner.set_spinning(True)
self.sgdb_stack.set_visible_child(self.sgdb_spinner)
self.add_toast(download_toast := Adw.Toast.new(_("Downloading covers…")))
@@ -224,7 +224,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
download_toast.dismiss()
self.add_toast(toast)
self.sgdb_spinner.set_visible(False)
self.sgdb_spinner.set_spinning(False)
self.sgdb_stack.set_visible_child(self.sgdb_fetch_button)
for game in shared.store:
@@ -238,7 +238,6 @@ class CartridgesPreferences(Adw.PreferencesDialog):
"exit-after-launch",
"cover-launches-game",
"high-quality-images",
"auto-import",
"remove-missing",
"lutris-import-steam",
"lutris-import-flatpak",

View File

@@ -19,10 +19,10 @@
# SPDX-License-Identifier: GPL-3.0-or-later
from pathlib import Path
from typing import NamedTuple, Optional
from typing import NamedTuple
import requests
from gi.repository import GdkPixbuf, Gio, GLib
from gi.repository import GdkPixbuf, Gio
from requests.exceptions import HTTPError, SSLError
from cartridges import shared
@@ -128,21 +128,9 @@ class CoverManager(Manager):
"""
# Load source image
try:
source = GdkPixbuf.Pixbuf.new_from_file(
str(image_path)
)
except GLib.Error:
tmp_cover_path = convert_cover(image_path, resize=False)
if tmp_cover_path:
source = GdkPixbuf.Pixbuf.new_from_file(
str(tmp_cover_path)
)
tmp_cover_path.unlink(missing_ok=True)
else:
return None
source = GdkPixbuf.Pixbuf.new_from_file(
str(convert_cover(image_path, resize=False))
)
source_size = ImageSize(source.get_width(), source.get_height())
cover_size = ImageSize._make(shared.image_size)
@@ -204,8 +192,7 @@ class CoverManager(Manager):
save_cover(
game.game_id,
pixbuf=self.composite_cover(image_path, **composite_kwargs),
convert_cover(
pixbuf=self.composite_cover(image_path, **composite_kwargs)
),
)
if key == "online_cover_url":
image_path.unlink(missing_ok=True)

View File

@@ -30,11 +30,24 @@ from cartridges import shared
def convert_cover(
cover_path: Optional[Path] = None,
pixbuf: Optional[GdkPixbuf.Pixbuf] = None,
resize: bool = True,
) -> Optional[Path]:
if not cover_path and not pixbuf:
return None
pixbuf_extensions = set()
for pixbuf_format in GdkPixbuf.Pixbuf.get_formats():
for pixbuf_extension in pixbuf_format.get_extensions():
pixbuf_extensions.add(pixbuf_extension)
if not resize and cover_path and cover_path.suffix.lower()[1:] in pixbuf_extensions:
return cover_path
if pixbuf:
cover_path = Path(Gio.File.new_tmp("XXXXXX.tiff")[0].get_path())
pixbuf.savev(str(cover_path), "tiff", ["compression"], ["1"])
try:
with Image.open(cover_path) as image:
if getattr(image, "is_animated", False):
@@ -63,7 +76,7 @@ def convert_cover(
if shared.schema.get_boolean("high-quality-images")
else shared.TIFF_COMPRESSION,
)
except (UnidentifiedImageError, OSError, ValueError):
except UnidentifiedImageError:
try:
Gdk.Texture.new_from_filename(str(cover_path)).save_to_tiff(
tmp_path := Gio.File.new_tmp("XXXXXX.tiff")[0].get_path()
@@ -75,11 +88,7 @@ def convert_cover(
return tmp_path
def save_cover(
game_id: str,
cover_path: Optional[Path] = None,
pixbuf: Optional[GdkPixbuf.Pixbuf] = None,
) -> None:
def save_cover(game_id: str, cover_path: Path) -> None:
shared.covers_dir.mkdir(parents=True, exist_ok=True)
animated_path = shared.covers_dir / f"{game_id}.gif"
@@ -89,15 +98,7 @@ def save_cover(
animated_path.unlink(missing_ok=True)
static_path.unlink(missing_ok=True)
if not cover_path and not pixbuf:
return
if pixbuf:
pixbuf.savev(str(static_path), "tiff", ["compression"], ["1"])
if game_id in shared.win.game_covers:
shared.win.game_covers[game_id].new_cover(static_path)
if not cover_path:
return
copyfile(

View File

@@ -134,11 +134,7 @@ class SgdbHelper:
tmp_file = Gio.File.new_tmp()[0]
tmp_file_path = tmp_file.get_path()
Path(tmp_file_path).write_bytes(response.content)
tmp_cover_path = convert_cover(tmp_file_path)
if tmp_cover_path:
save_cover(game.game_id, tmp_cover_path)
tmp_cover_path.unlink(missing_ok=True)
tmp_file_path.unlink(missing_ok=True)
save_cover(game.game_id, convert_cover(tmp_file_path))
except SgdbAuthError as error:
# Let caller handle auth errors
raise error

View File

@@ -60,7 +60,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
details_page: Adw.NavigationPage = Gtk.Template.Child()
details_view_toolbar_view: Adw.ToolbarView = Gtk.Template.Child()
details_view_cover: Gtk.Picture = Gtk.Template.Child()
details_view_spinner: Adw.Spinner = Gtk.Template.Child()
details_view_spinner: Gtk.Spinner = Gtk.Template.Child()
details_view_title: Gtk.Label = Gtk.Template.Child()
details_view_blurred_cover: Gtk.Picture = Gtk.Template.Child()
details_view_play_button: Gtk.Button = Gtk.Template.Child()
@@ -351,7 +351,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
self.active_game = game
self.details_view_cover.set_opacity(int(not game.loading))
self.details_view_spinner.set_visible(game.loading)
self.details_view_spinner.set_spinning(game.loading)
self.details_view_developer.set_label(game.developer or "")
self.details_view_developer.set_visible(bool(game.developer))

View File

@@ -31,8 +31,9 @@ template $DetailsDialog: Adw.Dialog {
Overlay {
[overlay]
Adw.Spinner spinner {
visible: false;
Spinner spinner {
margin-start: 72;
margin-end: 72;
}
Overlay cover_overlay {

View File

@@ -64,8 +64,9 @@ template $Game: Box {
Overlay {
[overlay]
Adw.Spinner spinner {
visible: false;
Spinner spinner {
margin-start: 72;
margin-end: 72;
}
Picture cover {

View File

@@ -33,21 +33,76 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
Adw.PreferencesGroup danger_zone_group {
title: _("Danger Zone");
separate-rows: true;
Adw.ButtonRow remove_all_games_button_row {
title: _("Remove All Games");
ListBox remove_all_games_list_box {
Adw.PreferencesRow {
activatable: true;
selectable: false;
Box {
spacing: 6;
valign: center;
halign: center;
Label {
label: _("Remove All Games");
ellipsize: end;
styles [
"heading",
]
}
styles [
"header",
]
}
styles [
"error",
]
}
styles [
"destructive-action"
"boxed-list",
]
}
}
Adw.ButtonRow reset_button_row {
title: "Reset App";
Adw.PreferencesGroup reset_group {
visible: false;
ListBox reset_list_box {
Adw.PreferencesRow {
activatable: true;
selectable: false;
Box {
spacing: 6;
valign: center;
halign: center;
Label {
label: "Reset App";
ellipsize: end;
styles [
"heading",
]
}
styles [
"header",
]
}
styles [
"error",
]
}
styles [
"destructive-action"
"boxed-list",
]
}
}
@@ -61,10 +116,6 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
Adw.PreferencesGroup import_behavior_group {
title: _("Behavior");
Adw.SwitchRow auto_import_switch {
title: _("Import Games Automatically");
}
Adw.SwitchRow remove_missing_switch {
title: _("Remove Uninstalled Games");
}
@@ -72,7 +123,6 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
Adw.PreferencesGroup sources_group {
title: _("Sources");
separate-rows: true;
Adw.ExpanderRow steam_expander_row {
title: _("Steam");
@@ -390,8 +440,7 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
valign: center;
}
Adw.Spinner sgdb_spinner {
visible: false;
Spinner sgdb_spinner {
valign: center;
}
}

View File

@@ -1,7 +1,5 @@
:root {
--accent-color: var(--purple-1);
--accent-bg-color: var(--purple-4);
}
@define-color accent_color @purple_1;
@define-color accent_bg_color @purple_4;
#details_view {
background-color: black;
@@ -10,4 +8,4 @@
#details_view_play_button {
color: rgba(0, 0, 0, .8);
background-color: white;
}
}

View File

@@ -1,7 +1,5 @@
:root {
--accent-color: var(--purple-5);
--accent-bg-color: var(--purple-3);
}
@define-color accent_color @purple_5;
@define-color accent_bg_color @purple_3;
#details_view {
background-color: white;
@@ -10,4 +8,4 @@
#details_view_play_button {
color: white;
background-color: rgba(0, 0, 0, .8);
}
}

View File

@@ -341,8 +341,9 @@ Adw.NavigationPage details_page {
Overlay {
[overlay]
Adw.Spinner details_view_spinner {
visible: false;
Spinner details_view_spinner {
margin-start: 72;
margin-end: 72;
}
Picture details_view_cover {

View File

@@ -2,9 +2,6 @@
<schemalist gettext-domain="cartridges">
<schema id="@APP_ID@" path="@PREFIX@/">
<key name="auto-import" type="b">
<default>false</default>
</key>
<key name="exit-after-launch" type="b">
<default>false</default>
</key>

View File

@@ -31,9 +31,9 @@
<control>keyboard</control>
<control>touch</control>
</supports>
<requires>
<recommends>
<display_length compare="ge">360</display_length>
</requires>
</recommends>
<screenshots>
<screenshot type="default">
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/1.png</image>
@@ -54,16 +54,6 @@
</screenshots>
<content_rating type="oars-1.1" />
<releases>
<release version="2.10.1" date="2024-10-11">
<description translate="no">
<p>Fixed an issue with manually changing game cover art</p>
</description>
</release>
<release version="2.10.0" date="2024-09-18">
<description translate="no">
<p>Updated for GNOME 47</p>
</description>
</release>
<release version="2.9.3" date="2024-07-18">
<description translate="no">
<ul>

View File

@@ -1,6 +1,6 @@
project(
'cartridges',
version: '2.10.1',
version: '2.9.3',
meson_version: '>= 0.59.0',
default_options: [
'warning_level=2',

View File

@@ -27,5 +27,3 @@ ca
ja
hi
en_GB
ie
te

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-31 14:25+0100\n"
"POT-Creation-Date: 2024-04-14 12:48+0200\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"
@@ -46,8 +46,8 @@ msgid ""
"SteamGridDB."
msgstr ""
#: data/page.kramo.Cartridges.metainfo.xml.in:44 data/gtk/window.blp:320
#: cartridges/details_dialog.py:77
#: data/page.kramo.Cartridges.metainfo.xml.in:44 data/gtk/window.blp:318
#: cartridges/details_dialog.py:68
msgid "Game Details"
msgstr ""
@@ -56,7 +56,7 @@ msgid "Edit Game Details"
msgstr ""
#: data/page.kramo.Cartridges.metainfo.xml.in:52 data/gtk/help-overlay.blp:19
#: data/gtk/window.blp:543 cartridges/details_dialog.py:276
#: data/gtk/window.blp:542 cartridges/details_dialog.py:267
#: cartridges/importer/importer.py:320 cartridges/importer/importer.py:370
msgid "Preferences"
msgstr ""
@@ -65,47 +65,47 @@ msgstr ""
msgid "Cancel"
msgstr ""
#: data/gtk/details-dialog.blp:45
#: data/gtk/details-dialog.blp:46
msgid "New Cover"
msgstr ""
#: data/gtk/details-dialog.blp:64
#: data/gtk/details-dialog.blp:65
msgid "Delete Cover"
msgstr ""
#: data/gtk/details-dialog.blp:92 data/gtk/game.blp:80
#: data/gtk/details-dialog.blp:93 data/gtk/game.blp:81
msgid "Title"
msgstr ""
#: data/gtk/details-dialog.blp:96
#: data/gtk/details-dialog.blp:97
msgid "Developer (optional)"
msgstr ""
#: data/gtk/details-dialog.blp:102
#: data/gtk/details-dialog.blp:103
msgid "Executable"
msgstr ""
#: data/gtk/details-dialog.blp:108
#: data/gtk/details-dialog.blp:109
msgid "Select File"
msgstr ""
#: data/gtk/details-dialog.blp:119
#: data/gtk/details-dialog.blp:120
msgid "More Info"
msgstr ""
#: data/gtk/game.blp:101 data/gtk/game.blp:109 data/gtk/window.blp:444
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:443
msgid "Edit"
msgstr ""
#: data/gtk/game.blp:102 cartridges/window.py:359
#: data/gtk/game.blp:103 cartridges/window.py:350
msgid "Hide"
msgstr ""
#: data/gtk/game.blp:103 data/gtk/game.blp:111 data/gtk/window.blp:464
#: data/gtk/game.blp:104 data/gtk/game.blp:112 data/gtk/window.blp:463
msgid "Remove"
msgstr ""
#: data/gtk/game.blp:110 cartridges/window.py:361
#: data/gtk/game.blp:111 cartridges/window.py:352
msgid "Unhide"
msgstr ""
@@ -113,17 +113,17 @@ msgstr ""
msgid "General"
msgstr ""
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:207 data/gtk/window.blp:223
#: data/gtk/window.blp:274 data/gtk/window.blp:290 data/gtk/window.blp:475
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:205 data/gtk/window.blp:221
#: data/gtk/window.blp:272 data/gtk/window.blp:288 data/gtk/window.blp:474
msgid "Search"
msgstr ""
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:544
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:543
msgid "Keyboard Shortcuts"
msgstr ""
#: data/gtk/help-overlay.blp:29 cartridges/game.py:103
#: cartridges/preferences.py:137 cartridges/importer/importer.py:394
#: cartridges/preferences.py:134 cartridges/importer/importer.py:394
msgid "Undo"
msgstr ""
@@ -131,11 +131,11 @@ msgstr ""
msgid "Quit"
msgstr ""
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:187
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:185
msgid "Toggle Sidebar"
msgstr ""
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:200 data/gtk/window.blp:267
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:198 data/gtk/window.blp:265
msgid "Main Menu"
msgstr ""
@@ -143,12 +143,12 @@ msgstr ""
msgid "Games"
msgstr ""
#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:193 data/gtk/window.blp:551
#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:191 data/gtk/window.blp:550
msgid "Add Game"
msgstr ""
#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:58
#: data/gtk/window.blp:27 data/gtk/window.blp:555
#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:113
#: data/gtk/window.blp:27 data/gtk/window.blp:554
msgid "Import"
msgstr ""
@@ -160,8 +160,8 @@ msgstr ""
msgid "Remove Game"
msgstr ""
#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:62
#: data/gtk/preferences.blp:365
#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:117
#: data/gtk/preferences.blp:415
msgid "Behavior"
msgstr ""
@@ -177,7 +177,7 @@ msgstr ""
msgid "Swaps the behavior of the cover image and the play button"
msgstr ""
#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:91
#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:82
msgid "Images"
msgstr ""
@@ -193,141 +193,137 @@ msgstr ""
msgid "Danger Zone"
msgstr ""
#: data/gtk/preferences.blp:39
#: data/gtk/preferences.blp:48
msgid "Remove All Games"
msgstr ""
#: data/gtk/preferences.blp:65
msgid "Import Games Automatically"
msgstr ""
#: data/gtk/preferences.blp:69
#: data/gtk/preferences.blp:120
msgid "Remove Uninstalled Games"
msgstr ""
#: data/gtk/preferences.blp:74
#: data/gtk/preferences.blp:125
msgid "Sources"
msgstr ""
#: data/gtk/preferences.blp:78 cartridges/importer/steam_source.py:114
#: data/gtk/preferences.blp:128 cartridges/importer/steam_source.py:114
msgid "Steam"
msgstr ""
#: data/gtk/preferences.blp:87 data/gtk/preferences.blp:114
#: data/gtk/preferences.blp:149 data/gtk/preferences.blp:192
#: data/gtk/preferences.blp:219 data/gtk/preferences.blp:246
#: data/gtk/preferences.blp:273
#: data/gtk/preferences.blp:137 data/gtk/preferences.blp:164
#: data/gtk/preferences.blp:199 data/gtk/preferences.blp:242
#: data/gtk/preferences.blp:269 data/gtk/preferences.blp:296
#: data/gtk/preferences.blp:323
msgid "Install Location"
msgstr ""
#: data/gtk/preferences.blp:105 data/gtk/window.blp:565
#: cartridges/importer/lutris_source.py:107
#: data/gtk/preferences.blp:155 data/gtk/window.blp:564
#: cartridges/importer/lutris_source.py:96
msgid "Lutris"
msgstr ""
#: data/gtk/preferences.blp:131
#: data/gtk/preferences.blp:181
msgid "Import Steam Games"
msgstr ""
#: data/gtk/preferences.blp:135
#: data/gtk/preferences.blp:185
msgid "Import Flatpak Games"
msgstr ""
#: data/gtk/preferences.blp:140 cartridges/importer/heroic_source.py:355
#: data/gtk/preferences.blp:190 cartridges/importer/heroic_source.py:355
msgid "Heroic"
msgstr ""
#: data/gtk/preferences.blp:166
#: data/gtk/preferences.blp:216
msgid "Import Epic Games"
msgstr ""
#: data/gtk/preferences.blp:170
#: data/gtk/preferences.blp:220
msgid "Import GOG Games"
msgstr ""
#: data/gtk/preferences.blp:174
#: data/gtk/preferences.blp:224
msgid "Import Amazon Games"
msgstr ""
#: data/gtk/preferences.blp:178
#: data/gtk/preferences.blp:228
msgid "Import Sideloaded Games"
msgstr ""
#: data/gtk/preferences.blp:183 cartridges/importer/bottles_source.py:86
#: data/gtk/preferences.blp:233 cartridges/importer/bottles_source.py:86
msgid "Bottles"
msgstr ""
#: data/gtk/preferences.blp:210 cartridges/importer/itch_source.py:81
#: data/gtk/preferences.blp:260 cartridges/importer/itch_source.py:81
msgid "itch"
msgstr ""
#: data/gtk/preferences.blp:237 cartridges/importer/legendary_source.py:97
#: data/gtk/preferences.blp:287 cartridges/importer/legendary_source.py:97
msgid "Legendary"
msgstr ""
#: data/gtk/preferences.blp:264 cartridges/importer/retroarch_source.py:142
#: data/gtk/preferences.blp:314 cartridges/importer/retroarch_source.py:142
msgid "RetroArch"
msgstr ""
#: data/gtk/preferences.blp:291 cartridges/importer/flatpak_source.py:143
#: data/gtk/preferences.blp:341 cartridges/importer/flatpak_source.py:143
msgid "Flatpak"
msgstr ""
#. The location of the system-wide data directory
#: data/gtk/preferences.blp:301
#: data/gtk/preferences.blp:351
msgid "System Location"
msgstr ""
#. The location of the user-specific data directory
#: data/gtk/preferences.blp:319
#: data/gtk/preferences.blp:369
msgid "User Location"
msgstr ""
#: data/gtk/preferences.blp:336
#: data/gtk/preferences.blp:386
msgid "Import Game Launchers"
msgstr ""
#: data/gtk/preferences.blp:341 cartridges/importer/desktop_source.py:215
#: data/gtk/preferences.blp:391 cartridges/importer/desktop_source.py:215
msgid "Desktop Entries"
msgstr ""
#: data/gtk/preferences.blp:353 data/gtk/window.blp:563
#: data/gtk/preferences.blp:403 data/gtk/window.blp:562
msgid "SteamGridDB"
msgstr ""
#: data/gtk/preferences.blp:357
#: data/gtk/preferences.blp:407
msgid "Authentication"
msgstr ""
#: data/gtk/preferences.blp:360
#: data/gtk/preferences.blp:410
msgid "API Key"
msgstr ""
#: data/gtk/preferences.blp:368
#: data/gtk/preferences.blp:418
msgid "Use SteamGridDB"
msgstr ""
#: data/gtk/preferences.blp:369
#: data/gtk/preferences.blp:419
msgid "Download images when adding or importing games"
msgstr ""
#: data/gtk/preferences.blp:373
#: data/gtk/preferences.blp:423
msgid "Prefer Over Official Images"
msgstr ""
#: data/gtk/preferences.blp:377
#: data/gtk/preferences.blp:427
msgid "Prefer Animated Images"
msgstr ""
#: data/gtk/preferences.blp:383
#: data/gtk/preferences.blp:433
msgid "Update Covers"
msgstr ""
#: data/gtk/preferences.blp:384
#: data/gtk/preferences.blp:434
msgid "Fetch covers for games already in your library"
msgstr ""
#: data/gtk/preferences.blp:389
#: data/gtk/preferences.blp:439
msgid "Update"
msgstr ""
@@ -355,135 +351,135 @@ msgstr ""
msgid "Games you hide will appear here"
msgstr ""
#: data/gtk/window.blp:76 data/gtk/window.blp:113 cartridges/main.py:249
#: data/gtk/window.blp:76 data/gtk/window.blp:111 cartridges/main.py:228
msgid "All Games"
msgstr ""
#: data/gtk/window.blp:140 cartridges/main.py:251
#: data/gtk/window.blp:136 cartridges/main.py:230
msgid "Added"
msgstr ""
#: data/gtk/window.blp:162
#: data/gtk/window.blp:156
msgid "Imported"
msgstr ""
#: data/gtk/window.blp:260
#: data/gtk/window.blp:258
msgid "Hidden Games"
msgstr ""
#: data/gtk/window.blp:368
#: data/gtk/window.blp:367
msgid "Game Title"
msgstr ""
#: data/gtk/window.blp:425
#: data/gtk/window.blp:424
msgid "Play"
msgstr ""
#: data/gtk/window.blp:502
#: data/gtk/window.blp:501
msgid "Sort"
msgstr ""
#: data/gtk/window.blp:505
#: data/gtk/window.blp:504
msgid "A-Z"
msgstr ""
#: data/gtk/window.blp:511
#: data/gtk/window.blp:510
msgid "Z-A"
msgstr ""
#: data/gtk/window.blp:517
#: data/gtk/window.blp:516
msgid "Newest"
msgstr ""
#: data/gtk/window.blp:523
#: data/gtk/window.blp:522
msgid "Oldest"
msgstr ""
#: data/gtk/window.blp:529
#: data/gtk/window.blp:528
msgid "Last Played"
msgstr ""
#: data/gtk/window.blp:536
#: data/gtk/window.blp:535
msgid "Show Hidden"
msgstr ""
#: data/gtk/window.blp:545
#: data/gtk/window.blp:544
msgid "About Cartridges"
msgstr ""
#: data/gtk/window.blp:562
#: data/gtk/window.blp:561
msgid "IGDB"
msgstr ""
#: data/gtk/window.blp:564
#: data/gtk/window.blp:563
msgid "ProtonDB"
msgstr ""
#: data/gtk/window.blp:566
#: data/gtk/window.blp:565
msgid "HowLongToBeat"
msgstr ""
#. The variable is the title of the game
#: cartridges/main.py:226 cartridges/game.py:125
#: cartridges/main.py:205 cartridges/game.py:125
msgid "{} launched"
msgstr ""
#. Translators: Replace this with your name for it to show up in the about window
#: cartridges/main.py:291
#: cartridges/main.py:270
msgid "translator_credits"
msgstr ""
#. The variable is the date when the game was added
#: cartridges/window.py:382
#: cartridges/window.py:373
msgid "Added: {}"
msgstr ""
#: cartridges/window.py:385
#: cartridges/window.py:376
msgid "Never"
msgstr ""
#. The variable is the date when the game was last played
#: cartridges/window.py:389
#: cartridges/window.py:380
msgid "Last played: {}"
msgstr ""
#: cartridges/details_dialog.py:82
#: cartridges/details_dialog.py:73
msgid "Apply"
msgstr ""
#: cartridges/details_dialog.py:88
#: cartridges/details_dialog.py:79
msgid "Add New Game"
msgstr ""
#: cartridges/details_dialog.py:89
#: cartridges/details_dialog.py:80
msgid "Add"
msgstr ""
#: cartridges/details_dialog.py:99
#: cartridges/details_dialog.py:90
msgid "Executables"
msgstr ""
#. Translate this string as you would translate "file"
#: cartridges/details_dialog.py:114
#: cartridges/details_dialog.py:105
msgid "file.txt"
msgstr ""
#. As in software
#: cartridges/details_dialog.py:116
#: cartridges/details_dialog.py:107
msgid "program"
msgstr ""
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:121 cartridges/details_dialog.py:123
#: cartridges/details_dialog.py:112 cartridges/details_dialog.py:114
msgid "C:\\path\\to\\{}"
msgstr ""
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:127 cartridges/details_dialog.py:129
#: cartridges/details_dialog.py:118 cartridges/details_dialog.py:120
msgid "/path/to/{}"
msgstr ""
#: cartridges/details_dialog.py:134
#: cartridges/details_dialog.py:125
msgid ""
"To launch the executable \"{}\", use the command:\n"
"\n"
@@ -496,19 +492,19 @@ msgid ""
"If the path contains spaces, make sure to wrap it in double quotes!"
msgstr ""
#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:182
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:173
msgid "Couldn't Add Game"
msgstr ""
#: cartridges/details_dialog.py:176 cartridges/details_dialog.py:218
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:209
msgid "Game title cannot be empty."
msgstr ""
#: cartridges/details_dialog.py:182 cartridges/details_dialog.py:226
#: cartridges/details_dialog.py:173 cartridges/details_dialog.py:217
msgid "Executable cannot be empty."
msgstr ""
#: cartridges/details_dialog.py:217 cartridges/details_dialog.py:225
#: cartridges/details_dialog.py:208 cartridges/details_dialog.py:216
msgid "Couldn't Apply Preferences"
msgstr ""
@@ -527,40 +523,40 @@ msgstr ""
msgid "{} removed"
msgstr ""
#: cartridges/preferences.py:136
#: cartridges/preferences.py:133
msgid "All games removed"
msgstr ""
#: cartridges/preferences.py:188
#: cartridges/preferences.py:181
msgid ""
"An API key is required to use SteamGridDB. You can generate one {}here{}."
msgstr ""
#: cartridges/preferences.py:203
#: cartridges/preferences.py:196
msgid "Downloading covers…"
msgstr ""
#: cartridges/preferences.py:222
#: cartridges/preferences.py:215
msgid "Covers updated"
msgstr ""
#: cartridges/preferences.py:370
#: cartridges/preferences.py:360
msgid "Installation Not Found"
msgstr ""
#: cartridges/preferences.py:371
#: cartridges/preferences.py:361
msgid "Select a valid directory"
msgstr ""
#: cartridges/preferences.py:407 cartridges/importer/importer.py:318
#: cartridges/preferences.py:397 cartridges/importer/importer.py:318
msgid "Warning"
msgstr ""
#: cartridges/preferences.py:441
#: cartridges/preferences.py:431
msgid "Invalid Directory"
msgstr ""
#: cartridges/preferences.py:447
#: cartridges/preferences.py:437
msgid "Set Location"
msgstr ""

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-14 12:48+0200\n"
"PO-Revision-Date: 2024-10-22 10:56+0000\n"
"PO-Revision-Date: 2024-03-23 19:56+0000\n"
"Last-Translator: Balázs Meskó <meskobalazs@mailbox.org>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/cartridges/"
"cartridges/hu/>\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8-rc\n"
"X-Generator: Weblate 5.5-dev\n"
#: data/page.kramo.Cartridges.desktop.in:3
#: data/page.kramo.Cartridges.metainfo.xml.in:9
@@ -260,7 +260,7 @@ msgstr "Kézileg hozzáadott játékok importálása"
#: data/gtk/preferences.blp:233 cartridges/importer/bottles_source.py:86
msgid "Bottles"
msgstr "Bottles"
msgstr "Palackok"
#: data/gtk/preferences.blp:260 cartridges/importer/itch_source.py:81
msgid "itch"

642
po/ie.po
View File

@@ -1,642 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR kramo
# This file is distributed under the same license as the Cartridges package.
# OIS <mistresssilvara@hotmail.com>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-14 12:48+0200\n"
"PO-Revision-Date: 2024-09-13 15:09+0000\n"
"Last-Translator: OIS <mistresssilvara@hotmail.com>\n"
"Language-Team: Occidental <https://hosted.weblate.org/projects/cartridges/"
"cartridges/ie/>\n"
"Language: ie\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 5.8-dev\n"
#: data/page.kramo.Cartridges.desktop.in:3
#: data/page.kramo.Cartridges.metainfo.xml.in:9
#: data/page.kramo.Cartridges.metainfo.xml.in:40 data/gtk/window.blp:47
#: data/gtk/window.blp:83
msgid "Cartridges"
msgstr "Cartridges"
#: data/page.kramo.Cartridges.desktop.in:4
msgid "Game Launcher"
msgstr "Lansator de ludes"
#: data/page.kramo.Cartridges.desktop.in:5
#: data/page.kramo.Cartridges.metainfo.xml.in:10
msgid "Launch all your games"
msgstr "Lansar vor ludes"
#: data/page.kramo.Cartridges.desktop.in:11
msgid ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
msgstr ""
"ludes;lansator;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
#: data/page.kramo.Cartridges.metainfo.xml.in:12
msgid ""
"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 "
"necessary. You can sort and hide games or download cover art from "
"SteamGridDB."
msgstr ""
"Cartridges es un simplic lansator por vor ludes. It supporta importation de "
"ludes de Steam, Lutris, Heroic e plu sin inregistration. On posse celar e "
"ordinar ludes o descargar covrimentes de SteamGridDB."
#: data/page.kramo.Cartridges.metainfo.xml.in:44 data/gtk/window.blp:318
#: cartridges/details_dialog.py:68
msgid "Game Details"
msgstr "Detallies del lude"
#: data/page.kramo.Cartridges.metainfo.xml.in:48
msgid "Edit Game Details"
msgstr "Redacter li detallies del lude"
#: data/page.kramo.Cartridges.metainfo.xml.in:52 data/gtk/help-overlay.blp:19
#: data/gtk/window.blp:542 cartridges/details_dialog.py:267
#: cartridges/importer/importer.py:320 cartridges/importer/importer.py:370
msgid "Preferences"
msgstr "Preferenties"
#: data/gtk/details-dialog.blp:15
msgid "Cancel"
msgstr "Anullar"
#: data/gtk/details-dialog.blp:46
msgid "New Cover"
msgstr "Nov covriment"
#: data/gtk/details-dialog.blp:65
msgid "Delete Cover"
msgstr "Remover li covriment"
#: data/gtk/details-dialog.blp:93 data/gtk/game.blp:81
msgid "Title"
msgstr "Titul"
#: data/gtk/details-dialog.blp:97
msgid "Developer (optional)"
msgstr "Developator (facultativ)"
#: data/gtk/details-dialog.blp:103
msgid "Executable"
msgstr "Executibile"
#: data/gtk/details-dialog.blp:109
msgid "Select File"
msgstr "Selecter un file"
#: data/gtk/details-dialog.blp:120
msgid "More Info"
msgstr "Plu information"
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:443
msgid "Edit"
msgstr "Redacter"
#: data/gtk/game.blp:103 cartridges/window.py:350
msgid "Hide"
msgstr "Celar"
#: data/gtk/game.blp:104 data/gtk/game.blp:112 data/gtk/window.blp:463
msgid "Remove"
msgstr "Remover"
#: data/gtk/game.blp:111 cartridges/window.py:352
msgid "Unhide"
msgstr "Revelar"
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
msgid "General"
msgstr "General"
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:205 data/gtk/window.blp:221
#: data/gtk/window.blp:272 data/gtk/window.blp:288 data/gtk/window.blp:474
msgid "Search"
msgstr "Serchar"
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:543
msgid "Keyboard Shortcuts"
msgstr "Rapid-tastes"
#: data/gtk/help-overlay.blp:29 cartridges/game.py:103
#: cartridges/preferences.py:134 cartridges/importer/importer.py:394
msgid "Undo"
msgstr "Defar"
#: data/gtk/help-overlay.blp:34
msgid "Quit"
msgstr "Surtir"
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:185
msgid "Toggle Sidebar"
msgstr "Panel lateral"
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:198 data/gtk/window.blp:265
msgid "Main Menu"
msgstr "Menú principal"
#: data/gtk/help-overlay.blp:50
msgid "Games"
msgstr "Ludes"
#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:191 data/gtk/window.blp:550
msgid "Add Game"
msgstr "Adjunter un lude"
#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:113
#: data/gtk/window.blp:27 data/gtk/window.blp:554
msgid "Import"
msgstr "Importar"
#: data/gtk/help-overlay.blp:63
msgid "Show Hidden Games"
msgstr "Monstrar celat ludes"
#: data/gtk/help-overlay.blp:68
msgid "Remove Game"
msgstr "Remover li lude"
#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:117
#: data/gtk/preferences.blp:415
msgid "Behavior"
msgstr "Conduida"
#: data/gtk/preferences.blp:16
msgid "Exit After Launching Games"
msgstr "Surtir pos que lansar un lude"
#: data/gtk/preferences.blp:20
msgid "Cover Image Launches Game"
msgstr ""
#: data/gtk/preferences.blp:21
msgid "Swaps the behavior of the cover image and the play button"
msgstr ""
#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:82
msgid "Images"
msgstr "Images"
#: data/gtk/preferences.blp:29
msgid "High Quality Images"
msgstr ""
#: data/gtk/preferences.blp:30
msgid "Save game covers losslessly at the cost of storage"
msgstr ""
#: data/gtk/preferences.blp:35
msgid "Danger Zone"
msgstr ""
#: data/gtk/preferences.blp:48
msgid "Remove All Games"
msgstr "Remover omni ludes"
#: data/gtk/preferences.blp:120
msgid "Remove Uninstalled Games"
msgstr "Remover desinstallat ludes"
#: data/gtk/preferences.blp:125
msgid "Sources"
msgstr "Orígines"
#: data/gtk/preferences.blp:128 cartridges/importer/steam_source.py:114
msgid "Steam"
msgstr "Steam"
#: data/gtk/preferences.blp:137 data/gtk/preferences.blp:164
#: data/gtk/preferences.blp:199 data/gtk/preferences.blp:242
#: data/gtk/preferences.blp:269 data/gtk/preferences.blp:296
#: data/gtk/preferences.blp:323
msgid "Install Location"
msgstr "Localisation de installation"
#: data/gtk/preferences.blp:155 data/gtk/window.blp:564
#: cartridges/importer/lutris_source.py:96
msgid "Lutris"
msgstr "Lutris"
#: data/gtk/preferences.blp:181
msgid "Import Steam Games"
msgstr "Importar ludes de Steam"
#: data/gtk/preferences.blp:185
msgid "Import Flatpak Games"
msgstr "Importar ludes Flatpak"
#: data/gtk/preferences.blp:190 cartridges/importer/heroic_source.py:355
msgid "Heroic"
msgstr "Heroic"
#: data/gtk/preferences.blp:216
msgid "Import Epic Games"
msgstr "Importar ludes de Epic"
#: data/gtk/preferences.blp:220
msgid "Import GOG Games"
msgstr "Importar ludes de GOG"
#: data/gtk/preferences.blp:224
msgid "Import Amazon Games"
msgstr "Importar ludes de Amazon"
#: data/gtk/preferences.blp:228
msgid "Import Sideloaded Games"
msgstr ""
#: data/gtk/preferences.blp:233 cartridges/importer/bottles_source.py:86
msgid "Bottles"
msgstr "Botelles"
#: data/gtk/preferences.blp:260 cartridges/importer/itch_source.py:81
msgid "itch"
msgstr "itch"
#: data/gtk/preferences.blp:287 cartridges/importer/legendary_source.py:97
msgid "Legendary"
msgstr "Legendary"
#: data/gtk/preferences.blp:314 cartridges/importer/retroarch_source.py:142
msgid "RetroArch"
msgstr "RetroArch"
#: data/gtk/preferences.blp:341 cartridges/importer/flatpak_source.py:143
msgid "Flatpak"
msgstr "Flatpak"
#. The location of the system-wide data directory
#: data/gtk/preferences.blp:351
msgid "System Location"
msgstr "Localisation del sistema"
#. The location of the user-specific data directory
#: data/gtk/preferences.blp:369
msgid "User Location"
msgstr "Localisation del usator"
#: data/gtk/preferences.blp:386
msgid "Import Game Launchers"
msgstr "Importar lansatores de ludes"
#: data/gtk/preferences.blp:391 cartridges/importer/desktop_source.py:215
msgid "Desktop Entries"
msgstr "Files desktop"
#: data/gtk/preferences.blp:403 data/gtk/window.blp:562
msgid "SteamGridDB"
msgstr "SteamGridDB"
#: data/gtk/preferences.blp:407
msgid "Authentication"
msgstr "Autentication"
#: data/gtk/preferences.blp:410
msgid "API Key"
msgstr "Clave de API"
#: data/gtk/preferences.blp:418
msgid "Use SteamGridDB"
msgstr "Usar SteamGridDB"
#: data/gtk/preferences.blp:419
msgid "Download images when adding or importing games"
msgstr "Descargar images quande on adjunte o importa ludes"
#: data/gtk/preferences.blp:423
msgid "Prefer Over Official Images"
msgstr ""
#: data/gtk/preferences.blp:427
msgid "Prefer Animated Images"
msgstr ""
#: data/gtk/preferences.blp:433
msgid "Update Covers"
msgstr "Actualisar covrimentes"
#: data/gtk/preferences.blp:434
msgid "Fetch covers for games already in your library"
msgstr "Obtener covrimentes por ludes in vor biblioteca"
#: data/gtk/preferences.blp:439
msgid "Update"
msgstr "Actualisar"
#: data/gtk/window.blp:6 data/gtk/window.blp:14
msgid "No Games Found"
msgstr "Null ludes trovat"
#: data/gtk/window.blp:7 data/gtk/window.blp:15
msgid "Try a different search"
msgstr "Ples provar un altri sercha"
#: data/gtk/window.blp:21
msgid "No Games"
msgstr "Null ludes"
#: data/gtk/window.blp:22
msgid "Use the + button to add games"
msgstr "Usar li buton + por adjunter ludes"
#: data/gtk/window.blp:40
msgid "No Hidden Games"
msgstr "Null celat ludes"
#: data/gtk/window.blp:41
msgid "Games you hide will appear here"
msgstr "Ludes celat de vos va aparir ci ti"
#: data/gtk/window.blp:76 data/gtk/window.blp:111 cartridges/main.py:228
msgid "All Games"
msgstr "Omni ludes"
#: data/gtk/window.blp:136 cartridges/main.py:230
msgid "Added"
msgstr "Adjuntet"
#: data/gtk/window.blp:156
msgid "Imported"
msgstr "Importat"
#: data/gtk/window.blp:258
msgid "Hidden Games"
msgstr "Celat ludes"
#: data/gtk/window.blp:367
msgid "Game Title"
msgstr "Titul del lude"
#: data/gtk/window.blp:424
msgid "Play"
msgstr "Luder"
#: data/gtk/window.blp:501
msgid "Sort"
msgstr "Ordinar"
#: data/gtk/window.blp:504
msgid "A-Z"
msgstr "A-Z"
#: data/gtk/window.blp:510
msgid "Z-A"
msgstr "Z-A"
#: data/gtk/window.blp:516
msgid "Newest"
msgstr "Plu recent"
#: data/gtk/window.blp:522
msgid "Oldest"
msgstr "Plu old"
#: data/gtk/window.blp:528
msgid "Last Played"
msgstr "Ludet"
#: data/gtk/window.blp:535
msgid "Show Hidden"
msgstr "Revelar celat"
#: data/gtk/window.blp:544
msgid "About Cartridges"
msgstr "Pri Cartridges"
#: data/gtk/window.blp:561
msgid "IGDB"
msgstr "IGDB"
#: data/gtk/window.blp:563
msgid "ProtonDB"
msgstr "ProtonDB"
#: data/gtk/window.blp:565
msgid "HowLongToBeat"
msgstr "HowLongToBeat"
#. The variable is the title of the game
#: cartridges/main.py:205 cartridges/game.py:125
msgid "{} launched"
msgstr "{} ea lansat"
#. Translators: Replace this with your name for it to show up in the about window
#: cartridges/main.py:270
msgid "translator_credits"
msgstr "OIS <mistresssilvara@hotmail.com>, 2024"
#. The variable is the date when the game was added
#: cartridges/window.py:373
msgid "Added: {}"
msgstr "Adjuntet: {}"
#: cartridges/window.py:376
msgid "Never"
msgstr "Nequande"
#. The variable is the date when the game was last played
#: cartridges/window.py:380
msgid "Last played: {}"
msgstr "Ludet: {}"
#: cartridges/details_dialog.py:73
msgid "Apply"
msgstr "Applicar"
#: cartridges/details_dialog.py:79
msgid "Add New Game"
msgstr "Adjunter un nov lude"
#: cartridges/details_dialog.py:80
msgid "Add"
msgstr "Adjunter"
#: cartridges/details_dialog.py:90
msgid "Executables"
msgstr "Executibiles"
#. Translate this string as you would translate "file"
#: cartridges/details_dialog.py:105
msgid "file.txt"
msgstr "file.txt"
#. As in software
#: cartridges/details_dialog.py:107
msgid "program"
msgstr "programma"
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:112 cartridges/details_dialog.py:114
msgid "C:\\path\\to\\{}"
msgstr "C:\\rute\\a\\{}"
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:118 cartridges/details_dialog.py:120
msgid "/path/to/{}"
msgstr "/rute/a/{}"
#: cartridges/details_dialog.py:125
msgid ""
"To launch the executable \"{}\", use the command:\n"
"\n"
"<tt>\"{}\"</tt>\n"
"\n"
"To open the file \"{}\" with the default application, use:\n"
"\n"
"<tt>{} \"{}\"</tt>\n"
"\n"
"If the path contains spaces, make sure to wrap it in double quotes!"
msgstr ""
"Por lansar li executibile «{}» usa li commande:\n"
"\n"
"<tt>\"{}\"</tt>\n"
"\n"
"Por aperter li file «{}» med li application predefinit, usa:\n"
"\n"
"<tt>{} \"{}\"</tt>\n"
"\n"
"Si li rute contene spacies, metter it in signes de citation (\"\")!"
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:173
msgid "Couldn't Add Game"
msgstr "Ne successat adjunter un lude"
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:209
msgid "Game title cannot be empty."
msgstr "Li titul ne posse esser vacui."
#: cartridges/details_dialog.py:173 cartridges/details_dialog.py:217
msgid "Executable cannot be empty."
msgstr "Li executibile es besonat."
#: cartridges/details_dialog.py:208 cartridges/details_dialog.py:216
msgid "Couldn't Apply Preferences"
msgstr "Ne successat adjunter li preferenties"
#. The variable is the title of the game
#: cartridges/game.py:139
msgid "{} hidden"
msgstr "{} celat"
#: cartridges/game.py:139
msgid "{} unhidden"
msgstr "{} revelat"
#. The variable is the title of the game
#. The variable is the number of games removed
#: cartridges/game.py:153 cartridges/importer/importer.py:391
msgid "{} removed"
msgstr "{} sta removet"
#: cartridges/preferences.py:133
msgid "All games removed"
msgstr "Omni ludes sta removet"
#: cartridges/preferences.py:181
msgid ""
"An API key is required to use SteamGridDB. You can generate one {}here{}."
msgstr ""
"Un clave de API es besonat por SteamGridDB. Vu posse generar ún {}ci ti{}."
#: cartridges/preferences.py:196
msgid "Downloading covers…"
msgstr "Descarga de covrimentes…"
#: cartridges/preferences.py:215
msgid "Covers updated"
msgstr "Li covrimentes sta actualisat"
#: cartridges/preferences.py:360
msgid "Installation Not Found"
msgstr "Installation ne es trovat"
#: cartridges/preferences.py:361
msgid "Select a valid directory"
msgstr "Ples selecter un valid categorie"
#: cartridges/preferences.py:397 cartridges/importer/importer.py:318
msgid "Warning"
msgstr "Avise"
#: cartridges/preferences.py:431
msgid "Invalid Directory"
msgstr "Ínvalid fólder"
#: cartridges/preferences.py:437
msgid "Set Location"
msgstr "Assignar li localisation"
#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:319
msgid "Dismiss"
msgstr "Demisser"
#: cartridges/importer/importer.py:145
msgid "Importing Games…"
msgstr "Importation de ludes…"
#: cartridges/importer/importer.py:338
msgid "The following errors occured during import:"
msgstr "Li sequent errorees evenit durante li importation:"
#: cartridges/importer/importer.py:367
msgid "No new games found"
msgstr "Null nov ludes trovat"
#: cartridges/importer/importer.py:379
msgid "1 game imported"
msgstr "1 lude sta importat"
#. The variable is the number of games
#: cartridges/importer/importer.py:383
msgid "{} games imported"
msgstr "{} ludes sta importat"
#. A single game removed
#: cartridges/importer/importer.py:387
msgid "1 removed"
msgstr "1 removet"
#. The variable is the name of the source
#: cartridges/importer/location.py:34
msgid "Select the {} cache directory."
msgstr "Selecte li fólder de cache de {}."
#. The variable is the name of the source
#: cartridges/importer/location.py:36
msgid "Select the {} configuration directory."
msgstr "Selecte li fólder de configuration de {}."
#. The variable is the name of the source
#: cartridges/importer/location.py:38
msgid "Select the {} data directory."
msgstr "Selecte li fólder de data de {}."
#: cartridges/importer/retroarch_source.py:129
msgid "No RetroArch Core Selected"
msgstr "Null nucleos de RetroArch es selectet"
#. The variable is a newline separated list of playlists
#: cartridges/importer/retroarch_source.py:131
msgid "The following playlists have no default core:"
msgstr "Li sequent playlistes ne have un predefinit nucleo:"
#: cartridges/importer/retroarch_source.py:133
msgid "Games with no core selected were not imported"
msgstr "Ludes sin selectet nucleo ne va esser importat"
#: cartridges/store/managers/sgdb_manager.py:46
msgid "Couldn't Authenticate SteamGridDB"
msgstr "Autentication ínvalid de SteamGridDB"
#: cartridges/store/managers/sgdb_manager.py:47
msgid "Verify your API key in preferences"
msgstr "Ples controlar vor clave de API in li preferenties"

View File

@@ -3,14 +3,13 @@
# This file is distributed under the same license as the cartridges package.
# kramo <contact@kramo.hu>, 2023.
# Allan Nordhøy <epost@anotheragency.no>, 2023.
# sunniva <schildkroteskoldpadda@gmail.com>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-14 12:48+0200\n"
"PO-Revision-Date: 2024-10-22 10:56+0000\n"
"Last-Translator: sunniva <schildkroteskoldpadda@gmail.com>\n"
"PO-Revision-Date: 2023-04-06 08:09+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
"cartridges/cartridges/nb_NO/>\n"
"Language: nb_NO\n"
@@ -18,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8-rc\n"
"X-Generator: Weblate 4.17-dev\n"
#: data/page.kramo.Cartridges.desktop.in:3
#: data/page.kramo.Cartridges.metainfo.xml.in:9
@@ -40,8 +39,6 @@ msgstr "Start alle spillene dine"
msgid ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
msgstr ""
"gaming;lansere;spillstartere;steam;lutris;heroic;bottles;flasker;flatpak;lege"
"ndary;retroarch;"
#: data/page.kramo.Cartridges.metainfo.xml.in:12
msgid ""
@@ -76,19 +73,20 @@ msgstr "Avbryt"
#: data/gtk/details-dialog.blp:46
msgid "New Cover"
msgstr "Nytt omslag"
msgstr ""
#: data/gtk/details-dialog.blp:65
msgid "Delete Cover"
msgstr "Fjern omslag"
msgstr ""
#: data/gtk/details-dialog.blp:93 data/gtk/game.blp:81
msgid "Title"
msgstr "Navn"
#: data/gtk/details-dialog.blp:97
#, fuzzy
msgid "Developer (optional)"
msgstr "Utvikler (valgfritt)"
msgstr "Utvikler eller utgiver (valgfritt)"
#: data/gtk/details-dialog.blp:103
msgid "Executable"
@@ -96,11 +94,11 @@ msgstr "Kjørbar"
#: data/gtk/details-dialog.blp:109
msgid "Select File"
msgstr "Velg fil"
msgstr ""
#: data/gtk/details-dialog.blp:120
msgid "More Info"
msgstr "Mer informasjon"
msgstr ""
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:443
msgid "Edit"
@@ -116,7 +114,7 @@ msgstr "Fjern"
#: data/gtk/game.blp:111 cartridges/window.py:352
msgid "Unhide"
msgstr "Vis"
msgstr "Opphev fjerning"
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
msgid "General"
@@ -124,6 +122,7 @@ msgstr "Generelt"
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:205 data/gtk/window.blp:221
#: data/gtk/window.blp:272 data/gtk/window.blp:288 data/gtk/window.blp:474
#, fuzzy
msgid "Search"
msgstr "Søk"
@@ -142,7 +141,7 @@ msgstr "Avslutt"
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:185
msgid "Toggle Sidebar"
msgstr "Vis/skjul sidefelt"
msgstr ""
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:198 data/gtk/window.blp:265
msgid "Main Menu"
@@ -162,17 +161,20 @@ msgid "Import"
msgstr "Importer"
#: data/gtk/help-overlay.blp:63
#, fuzzy
msgid "Show Hidden Games"
msgstr "Vis skjulte spill"
#: data/gtk/help-overlay.blp:68
#, fuzzy
msgid "Remove Game"
msgstr "Fjern spill"
#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:117
#: data/gtk/preferences.blp:415
#, fuzzy
msgid "Behavior"
msgstr "Atferd"
msgstr "Adferd"
#: data/gtk/preferences.blp:16
msgid "Exit After Launching Games"
@@ -207,8 +209,9 @@ msgid "Remove All Games"
msgstr "Fjern alle spill"
#: data/gtk/preferences.blp:120
#, fuzzy
msgid "Remove Uninstalled Games"
msgstr "Fjern avinstallerte spill"
msgstr "Fjern alle spill"
#: data/gtk/preferences.blp:125
msgid "Sources"
@@ -222,8 +225,9 @@ msgstr "Steam"
#: data/gtk/preferences.blp:199 data/gtk/preferences.blp:242
#: data/gtk/preferences.blp:269 data/gtk/preferences.blp:296
#: data/gtk/preferences.blp:323
#, fuzzy
msgid "Install Location"
msgstr "Installasjonssted"
msgstr "Installasjonssted for itch"
#: data/gtk/preferences.blp:155 data/gtk/window.blp:564
#: cartridges/importer/lutris_source.py:96
@@ -231,12 +235,14 @@ msgid "Lutris"
msgstr "Lutris"
#: data/gtk/preferences.blp:181
#, fuzzy
msgid "Import Steam Games"
msgstr "Import Steam-spill"
msgstr "Importer sideinnlastede spill"
#: data/gtk/preferences.blp:185
#, fuzzy
msgid "Import Flatpak Games"
msgstr "Importer Flatpak-spill"
msgstr "Importer sideinnlastede spill"
#: data/gtk/preferences.blp:190 cartridges/importer/heroic_source.py:355
msgid "Heroic"
@@ -263,38 +269,42 @@ msgid "Bottles"
msgstr "Bottles"
#: data/gtk/preferences.blp:260 cartridges/importer/itch_source.py:81
#, fuzzy
msgid "itch"
msgstr "itch"
#: data/gtk/preferences.blp:287 cartridges/importer/legendary_source.py:97
msgid "Legendary"
msgstr "Legendary"
msgstr ""
#: data/gtk/preferences.blp:314 cartridges/importer/retroarch_source.py:142
msgid "RetroArch"
msgstr "RetroArch"
msgstr ""
#: data/gtk/preferences.blp:341 cartridges/importer/flatpak_source.py:143
msgid "Flatpak"
msgstr "Flatpak"
msgstr ""
#. The location of the system-wide data directory
#: data/gtk/preferences.blp:351
#, fuzzy
msgid "System Location"
msgstr "System-lagringssted"
msgstr "Velg mappe"
#. The location of the user-specific data directory
#: data/gtk/preferences.blp:369
#, fuzzy
msgid "User Location"
msgstr "Bruker-lagringssted"
msgstr "Velg mappe"
#: data/gtk/preferences.blp:386
#, fuzzy
msgid "Import Game Launchers"
msgstr "Importer spillstartere"
msgstr "Spillutvalgstarter"
#: data/gtk/preferences.blp:391 cartridges/importer/desktop_source.py:215
msgid "Desktop Entries"
msgstr "Skrivebordsoppføringer"
msgstr ""
#: data/gtk/preferences.blp:403 data/gtk/window.blp:562
msgid "SteamGridDB"
@@ -305,6 +315,7 @@ msgid "Authentication"
msgstr "Identitetsbekreftelse"
#: data/gtk/preferences.blp:410
#, fuzzy
msgid "API Key"
msgstr "API-nøkkel"
@@ -313,28 +324,31 @@ msgid "Use SteamGridDB"
msgstr "Bruk SteamGridDB"
#: data/gtk/preferences.blp:419
#, fuzzy
msgid "Download images when adding or importing games"
msgstr "Last ned bilder når spill legges til eller importeres"
msgstr "Mappe å bruke ved import av spill"
#: data/gtk/preferences.blp:423
#, fuzzy
msgid "Prefer Over Official Images"
msgstr "Foretrekk fremfor offisielle bilder"
msgstr "Foretrekk over offisielle bilder"
#: data/gtk/preferences.blp:427
#, fuzzy
msgid "Prefer Animated Images"
msgstr "Foretrekk animerte bilder"
msgstr "Foretrekk over offisielle bilder"
#: data/gtk/preferences.blp:433
msgid "Update Covers"
msgstr "Oppdater omslag"
msgstr ""
#: data/gtk/preferences.blp:434
msgid "Fetch covers for games already in your library"
msgstr "Hente omslag til spill som allerede finnes i biblioteket ditt"
msgstr ""
#: data/gtk/preferences.blp:439
msgid "Update"
msgstr "Oppdater"
msgstr ""
#: data/gtk/window.blp:6 data/gtk/window.blp:14
msgid "No Games Found"
@@ -361,16 +375,19 @@ msgid "Games you hide will appear here"
msgstr "Spill du skjuler vil vises her"
#: data/gtk/window.blp:76 data/gtk/window.blp:111 cartridges/main.py:228
#, fuzzy
msgid "All Games"
msgstr "Alle spill"
msgstr "Fjern alle spill"
#: data/gtk/window.blp:136 cartridges/main.py:230
#, fuzzy
msgid "Added"
msgstr "Tillagte"
msgstr "Tillagt: {}"
#: data/gtk/window.blp:156
#, fuzzy
msgid "Imported"
msgstr "Importerte"
msgstr "Importer"
#: data/gtk/window.blp:258
msgid "Hidden Games"
@@ -418,15 +435,15 @@ msgstr "Om"
#: data/gtk/window.blp:561
msgid "IGDB"
msgstr "IGDB"
msgstr ""
#: data/gtk/window.blp:563
msgid "ProtonDB"
msgstr "ProtonDB"
msgstr ""
#: data/gtk/window.blp:565
msgid "HowLongToBeat"
msgstr "HowLongToBeat"
msgstr ""
#. The variable is the title of the game
#: cartridges/main.py:205 cartridges/game.py:125
@@ -462,11 +479,12 @@ msgstr "Legg til nytt spill"
#: cartridges/details_dialog.py:80
msgid "Add"
msgstr "Legg til"
msgstr ""
#: cartridges/details_dialog.py:90
#, fuzzy
msgid "Executables"
msgstr "Kjørbare filer"
msgstr "Kjørbar"
#. Translate this string as you would translate "file"
#: cartridges/details_dialog.py:105
@@ -508,7 +526,7 @@ msgstr ""
"\n"
"<tt>{} «{}»</tt>\n"
"\n"
"Hvis stien inneholder mellomrom, må du pakke den inn i doble engelske "
"Hvis stien inneholder mellomrom må du pakke den inn i doble engelske "
"sitattegn."
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:173
@@ -529,6 +547,7 @@ msgstr "Kunne ikke ta i bruk endringer"
#. The variable is the title of the game
#: cartridges/game.py:139
#, fuzzy
msgid "{} hidden"
msgstr "{} skjult"
@@ -553,32 +572,36 @@ msgstr ""
"En API-nøkkel kreves for å bruke SteamGridDB. Du kan generere en {}her{}."
#: cartridges/preferences.py:196
#, fuzzy
msgid "Downloading covers…"
msgstr "Laster ned omslag…"
msgstr "Importerer omslag …"
#: cartridges/preferences.py:215
msgid "Covers updated"
msgstr "Omslag oppdaterte"
msgstr ""
#: cartridges/preferences.py:360
#, fuzzy
msgid "Installation Not Found"
msgstr "Fant ikke installasjon"
msgstr "Fant ikke installasjonen"
#: cartridges/preferences.py:361
#, fuzzy
msgid "Select a valid directory"
msgstr "Velg en gyldig datamappe"
msgstr "Velg {}-datamappen."
#: cartridges/preferences.py:397 cartridges/importer/importer.py:318
msgid "Warning"
msgstr "Advarsel"
msgstr ""
#: cartridges/preferences.py:431
msgid "Invalid Directory"
msgstr "Ugyldig filmappe"
msgstr ""
#: cartridges/preferences.py:437
#, fuzzy
msgid "Set Location"
msgstr "Angi lagringssted"
msgstr "Velg mappe"
#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:319
msgid "Dismiss"
@@ -590,61 +613,69 @@ msgstr "Importerer spill …"
#: cartridges/importer/importer.py:338
msgid "The following errors occured during import:"
msgstr "De følgende feilene oppsto under importering:"
msgstr ""
#: cartridges/importer/importer.py:367
#, fuzzy
msgid "No new games found"
msgstr "Fant ingen nye spill"
msgstr "Fant ingen spill"
#: cartridges/importer/importer.py:379
#, fuzzy
msgid "1 game imported"
msgstr "Ett spill importert"
msgstr "Spill importert"
#. The variable is the number of games
#: cartridges/importer/importer.py:383
#, fuzzy
msgid "{} games imported"
msgstr "{} spill importert"
msgstr "Spill importert"
#. A single game removed
#: cartridges/importer/importer.py:387
#, fuzzy
msgid "1 removed"
msgstr "Ett spill fjernet"
msgstr "{} fjernet"
#. The variable is the name of the source
#: cartridges/importer/location.py:34
#, fuzzy
msgid "Select the {} cache directory."
msgstr "Velg {}-hurtiglagermappen."
msgstr "Velg {}-datamappen."
#. The variable is the name of the source
#: cartridges/importer/location.py:36
#, fuzzy
msgid "Select the {} configuration directory."
msgstr "Velg {}-oppsettsmappen."
#. The variable is the name of the source
#: cartridges/importer/location.py:38
#, fuzzy
msgid "Select the {} data directory."
msgstr "Velg {}-datamappen."
#: cartridges/importer/retroarch_source.py:129
msgid "No RetroArch Core Selected"
msgstr "Ingen RetroArch-kjerne valgt"
msgstr ""
#. The variable is a newline separated list of playlists
#: cartridges/importer/retroarch_source.py:131
msgid "The following playlists have no default core:"
msgstr "De følgende spillelister har ingen standardkjerne:"
msgstr ""
#: cartridges/importer/retroarch_source.py:133
msgid "Games with no core selected were not imported"
msgstr "Spill med ingen kjerne valgt har ikke blitt importert"
msgstr ""
#: cartridges/store/managers/sgdb_manager.py:46
#, fuzzy
msgid "Couldn't Authenticate SteamGridDB"
msgstr "Kunne ikke autentisere SteamGridDB"
msgstr "Kunne ikke koble til SteamGridDB"
#: cartridges/store/managers/sgdb_manager.py:47
msgid "Verify your API key in preferences"
msgstr "Verifiser API-nøkkelen din i Brukervalg"
msgstr ""
#, fuzzy
#~ msgid "Cache Location"

270
po/ro.po
View File

@@ -2,14 +2,13 @@
# Copyright (C) YEAR kramo
# This file is distributed under the same license as the Cartridges package.
# Matt C <matei.gurzu@gmail.com>, 2023.
# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-14 12:48+0200\n"
"PO-Revision-Date: 2024-10-14 00:15+0000\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"PO-Revision-Date: 2023-04-04 17:12+0000\n"
"Last-Translator: Matt C <matei.gurzu@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/cartridges/"
"cartridges/ro/>\n"
"Language: ro\n"
@@ -18,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 5.8-dev\n"
"X-Generator: Weblate 4.17-dev\n"
#: data/page.kramo.Cartridges.desktop.in:3
#: data/page.kramo.Cartridges.metainfo.xml.in:9
@@ -40,20 +39,18 @@ msgstr "Lansați toate jocurile dvs"
msgid ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
msgstr ""
"jocuri;lansator;gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;lege"
"ndary;retroarch;"
#: data/page.kramo.Cartridges.metainfo.xml.in:12
#, fuzzy
msgid ""
"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 "
"necessary. You can sort and hide games or download cover art from "
"SteamGridDB."
msgstr ""
"Cartușe este un lansator de jocuri simplu pentru toate jocurile tale. Acesta "
"are suport pentru importul de jocuri de pe Steam, Lutris, Heroic și multe "
"altele, fără a fi necesară autentificarea. Puteți sorta și ascunde jocurile "
"sau descărca coperta jocului din SteamGridDB."
"Cartridges este un simplu lansator de jocuri. Are suport pentru importarea "
"jocurilor dvs. din Steam, Heroic și Bottles cu funcții de organizare, cum ar "
"fi ascunderea și sortarea după data adăugată sau ultima dată jucată."
#: data/page.kramo.Cartridges.metainfo.xml.in:44 data/gtk/window.blp:318
#: cartridges/details_dialog.py:68
@@ -72,55 +69,55 @@ msgstr "Preferințe"
#: data/gtk/details-dialog.blp:15
msgid "Cancel"
msgstr "Anulare"
msgstr ""
#: data/gtk/details-dialog.blp:46
msgid "New Cover"
msgstr "Copertă nouă"
msgstr ""
#: data/gtk/details-dialog.blp:65
msgid "Delete Cover"
msgstr "Șterge coperta"
msgstr ""
#: data/gtk/details-dialog.blp:93 data/gtk/game.blp:81
msgid "Title"
msgstr "Titlu"
msgstr ""
#: data/gtk/details-dialog.blp:97
msgid "Developer (optional)"
msgstr "Dezvoltator (opțional)"
msgstr ""
#: data/gtk/details-dialog.blp:103
msgid "Executable"
msgstr "Executabil"
msgstr ""
#: data/gtk/details-dialog.blp:109
msgid "Select File"
msgstr "Selectare fișier"
msgstr ""
#: data/gtk/details-dialog.blp:120
msgid "More Info"
msgstr "Mai multe informații"
msgstr ""
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:443
msgid "Edit"
msgstr "Editare"
msgstr ""
#: data/gtk/game.blp:103 cartridges/window.py:350
msgid "Hide"
msgstr "Ascunde"
msgstr ""
#: data/gtk/game.blp:104 data/gtk/game.blp:112 data/gtk/window.blp:463
msgid "Remove"
msgstr "Elimină"
msgstr ""
#: data/gtk/game.blp:111 cartridges/window.py:352
msgid "Unhide"
msgstr "Afișează"
msgstr ""
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
msgid "General"
msgstr "General"
msgstr ""
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:205 data/gtk/window.blp:221
#: data/gtk/window.blp:272 data/gtk/window.blp:288 data/gtk/window.blp:474
@@ -129,20 +126,20 @@ msgstr "Căutare"
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:543
msgid "Keyboard Shortcuts"
msgstr "Taste de comenzi rapide"
msgstr ""
#: data/gtk/help-overlay.blp:29 cartridges/game.py:103
#: cartridges/preferences.py:134 cartridges/importer/importer.py:394
msgid "Undo"
msgstr "Anulează"
msgstr ""
#: data/gtk/help-overlay.blp:34
msgid "Quit"
msgstr "Ieșire"
msgstr ""
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:185
msgid "Toggle Sidebar"
msgstr "Afișează/ascunde bara laterală"
msgstr ""
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:198 data/gtk/window.blp:265
msgid "Main Menu"
@@ -150,7 +147,7 @@ msgstr "Meniu principal"
#: data/gtk/help-overlay.blp:50
msgid "Games"
msgstr "Jocuri"
msgstr ""
#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:191 data/gtk/window.blp:550
msgid "Add Game"
@@ -159,185 +156,186 @@ msgstr "Adăugați joc"
#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:113
#: data/gtk/window.blp:27 data/gtk/window.blp:554
msgid "Import"
msgstr "Import"
msgstr ""
#: data/gtk/help-overlay.blp:63
#, fuzzy
msgid "Show Hidden Games"
msgstr "Afișează jocurile ascunse"
msgstr "Fără jocuri ascunse"
#: data/gtk/help-overlay.blp:68
#, fuzzy
msgid "Remove Game"
msgstr "Elimină jocul"
msgstr "Fără jocuri"
#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:117
#: data/gtk/preferences.blp:415
msgid "Behavior"
msgstr "Comportament"
msgstr ""
#: data/gtk/preferences.blp:16
msgid "Exit After Launching Games"
msgstr "Ieșire din program după lansarea jocurilor"
msgstr ""
#: data/gtk/preferences.blp:20
msgid "Cover Image Launches Game"
msgstr "Imaginea de copertă lansează jocul"
msgstr ""
#: data/gtk/preferences.blp:21
msgid "Swaps the behavior of the cover image and the play button"
msgstr ""
"Interschimbă comportamentul imaginii de copertă și al butonului de redare"
#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:82
msgid "Images"
msgstr "Imagini"
msgstr ""
#: data/gtk/preferences.blp:29
msgid "High Quality Images"
msgstr "Imagini de înaltă calitate"
msgstr ""
#: data/gtk/preferences.blp:30
msgid "Save game covers losslessly at the cost of storage"
msgstr ""
"Salvează coperțile jocurilor fără pierderi, dar ocupă mai mult spațiu de "
"stocare"
#: data/gtk/preferences.blp:35
msgid "Danger Zone"
msgstr "Zonă periculoasă"
msgstr ""
#: data/gtk/preferences.blp:48
msgid "Remove All Games"
msgstr "Elimină toate jocurile"
msgstr ""
#: data/gtk/preferences.blp:120
msgid "Remove Uninstalled Games"
msgstr "Elimină jocurile dezinstalate"
msgstr ""
#: data/gtk/preferences.blp:125
msgid "Sources"
msgstr "Surse"
msgstr ""
#: data/gtk/preferences.blp:128 cartridges/importer/steam_source.py:114
msgid "Steam"
msgstr "Steam"
msgstr ""
#: data/gtk/preferences.blp:137 data/gtk/preferences.blp:164
#: data/gtk/preferences.blp:199 data/gtk/preferences.blp:242
#: data/gtk/preferences.blp:269 data/gtk/preferences.blp:296
#: data/gtk/preferences.blp:323
msgid "Install Location"
msgstr "Locația de instalare"
msgstr ""
#: data/gtk/preferences.blp:155 data/gtk/window.blp:564
#: cartridges/importer/lutris_source.py:96
msgid "Lutris"
msgstr "Lutris"
msgstr ""
#: data/gtk/preferences.blp:181
msgid "Import Steam Games"
msgstr "Importă jocuri din Steam"
msgstr ""
#: data/gtk/preferences.blp:185
msgid "Import Flatpak Games"
msgstr "Importă jocuri din Flatpak"
msgstr ""
#: data/gtk/preferences.blp:190 cartridges/importer/heroic_source.py:355
msgid "Heroic"
msgstr "Heroic"
msgstr ""
#: data/gtk/preferences.blp:216
msgid "Import Epic Games"
msgstr "Importă jocuri din Epic"
msgstr ""
#: data/gtk/preferences.blp:220
msgid "Import GOG Games"
msgstr "Importă jocuri din GOG"
msgstr ""
#: data/gtk/preferences.blp:224
#, fuzzy
msgid "Import Amazon Games"
msgstr "Importă jocuri din Amazon"
msgstr "Lansator de jocuri"
#: data/gtk/preferences.blp:228
msgid "Import Sideloaded Games"
msgstr "Importă jocuri descărcate manual"
msgstr ""
#: data/gtk/preferences.blp:233 cartridges/importer/bottles_source.py:86
msgid "Bottles"
msgstr "Bottles"
msgstr ""
#: data/gtk/preferences.blp:260 cartridges/importer/itch_source.py:81
msgid "itch"
msgstr "itch"
msgstr ""
#: data/gtk/preferences.blp:287 cartridges/importer/legendary_source.py:97
msgid "Legendary"
msgstr "Legendary"
msgstr ""
#: data/gtk/preferences.blp:314 cartridges/importer/retroarch_source.py:142
msgid "RetroArch"
msgstr "RetroArch"
msgstr ""
#: data/gtk/preferences.blp:341 cartridges/importer/flatpak_source.py:143
msgid "Flatpak"
msgstr "Flatpak"
msgstr ""
#. The location of the system-wide data directory
#: data/gtk/preferences.blp:351
msgid "System Location"
msgstr "Locația directorului de date la nivel de sistem"
msgstr ""
#. The location of the user-specific data directory
#: data/gtk/preferences.blp:369
msgid "User Location"
msgstr "Locația directorului de date specific utilizatorului"
msgstr ""
#: data/gtk/preferences.blp:386
#, fuzzy
msgid "Import Game Launchers"
msgstr "Importare lansatoare de jocuri"
msgstr "Lansator de jocuri"
#: data/gtk/preferences.blp:391 cartridges/importer/desktop_source.py:215
msgid "Desktop Entries"
msgstr "Elemente de acces direct, pe birou"
msgstr ""
#: data/gtk/preferences.blp:403 data/gtk/window.blp:562
msgid "SteamGridDB"
msgstr "SteamGridDB"
msgstr ""
#: data/gtk/preferences.blp:407
msgid "Authentication"
msgstr "Autentificare"
msgstr ""
#: data/gtk/preferences.blp:410
msgid "API Key"
msgstr "Cheie API"
msgstr ""
#: data/gtk/preferences.blp:418
msgid "Use SteamGridDB"
msgstr "Utilizează SteamGridDB"
msgstr ""
#: data/gtk/preferences.blp:419
msgid "Download images when adding or importing games"
msgstr "Descarcă imagini atunci când se adaugă sau se importă jocuri"
msgstr ""
#: data/gtk/preferences.blp:423
msgid "Prefer Over Official Images"
msgstr "Preferă mai mult decât imaginile oficiale"
msgstr ""
#: data/gtk/preferences.blp:427
msgid "Prefer Animated Images"
msgstr "Preferă imaginile animate"
msgstr ""
#: data/gtk/preferences.blp:433
msgid "Update Covers"
msgstr "Actualizare coperți"
msgstr ""
#: data/gtk/preferences.blp:434
msgid "Fetch covers for games already in your library"
msgstr "Obține coperți pentru jocurile aflate deja în colecție"
msgstr ""
#: data/gtk/preferences.blp:439
msgid "Update"
msgstr "Actualizare"
msgstr ""
#: data/gtk/window.blp:6 data/gtk/window.blp:14
msgid "No Games Found"
@@ -364,16 +362,17 @@ msgid "Games you hide will appear here"
msgstr "Jocurile pe care le ascundeți vor apărea aici"
#: data/gtk/window.blp:76 data/gtk/window.blp:111 cartridges/main.py:228
#, fuzzy
msgid "All Games"
msgstr "Toate jocurile"
msgstr "Fără jocuri"
#: data/gtk/window.blp:136 cartridges/main.py:230
msgid "Added"
msgstr "Adăugat"
msgstr ""
#: data/gtk/window.blp:156
msgid "Imported"
msgstr "Importat"
msgstr ""
#: data/gtk/window.blp:258
msgid "Hidden Games"
@@ -389,109 +388,107 @@ msgstr "Joacă"
#: data/gtk/window.blp:501
msgid "Sort"
msgstr "Sortează"
msgstr ""
#: data/gtk/window.blp:504
msgid "A-Z"
msgstr "A-Z"
msgstr ""
#: data/gtk/window.blp:510
msgid "Z-A"
msgstr "Z-A"
msgstr ""
#: data/gtk/window.blp:516
msgid "Newest"
msgstr "Cel mai noi"
msgstr ""
#: data/gtk/window.blp:522
msgid "Oldest"
msgstr "Cel mai vechi"
msgstr ""
#: data/gtk/window.blp:528
msgid "Last Played"
msgstr "Jucat ultima dată"
msgstr ""
#: data/gtk/window.blp:535
msgid "Show Hidden"
msgstr "Afișează pe cele ascunse"
msgstr ""
#: data/gtk/window.blp:544
msgid "About Cartridges"
msgstr "Despre Cartușe"
msgstr ""
#: data/gtk/window.blp:561
msgid "IGDB"
msgstr "IGDB"
msgstr ""
#: data/gtk/window.blp:563
msgid "ProtonDB"
msgstr "ProtonDB"
msgstr ""
#: data/gtk/window.blp:565
msgid "HowLongToBeat"
msgstr "HowLongToBeat"
msgstr ""
#. The variable is the title of the game
#: cartridges/main.py:205 cartridges/game.py:125
msgid "{} launched"
msgstr "{} lansat"
msgstr ""
#. Translators: Replace this with your name for it to show up in the about window
#: cartridges/main.py:270
msgid "translator_credits"
msgstr ""
"Matt C <matei.gurzu@gmail.com>,\n"
"Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>"
#. The variable is the date when the game was added
#: cartridges/window.py:373
msgid "Added: {}"
msgstr "Adăugat: {}"
msgstr ""
#: cartridges/window.py:376
msgid "Never"
msgstr "Niciodată"
msgstr ""
#. The variable is the date when the game was last played
#: cartridges/window.py:380
msgid "Last played: {}"
msgstr "Jucat ultima dată {}"
msgstr ""
#: cartridges/details_dialog.py:73
msgid "Apply"
msgstr "Aplică"
msgstr ""
#: cartridges/details_dialog.py:79
msgid "Add New Game"
msgstr "Adaugă un joc nou"
msgstr ""
#: cartridges/details_dialog.py:80
msgid "Add"
msgstr "Adaugă"
msgstr ""
#: cartridges/details_dialog.py:90
msgid "Executables"
msgstr "Executabili"
msgstr ""
#. Translate this string as you would translate "file"
#: cartridges/details_dialog.py:105
msgid "file.txt"
msgstr "fișier.txt"
msgstr ""
#. As in software
#: cartridges/details_dialog.py:107
msgid "program"
msgstr "program"
msgstr ""
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:112 cartridges/details_dialog.py:114
msgid "C:\\path\\to\\{}"
msgstr "C:\ruta\\către\\{}"
msgstr ""
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:118 cartridges/details_dialog.py:120
msgid "/path/to/{}"
msgstr "/ruta/către/{}"
msgstr ""
#: cartridges/details_dialog.py:125
msgid ""
@@ -505,151 +502,142 @@ msgid ""
"\n"
"If the path contains spaces, make sure to wrap it in double quotes!"
msgstr ""
"Pentru a lansa executabilul „{}”, utilizați comanda:\n"
"\n"
"<tt>„{}”</tt>\n"
"\n"
"Pentru a deschide fișierul „{}” cu aplicația implicită, utilizați:\n"
"\n"
"<tt>{} „{}”</tt>\n"
"\n"
"Dacă ruta conține spații, asigurați-vă că o includeți între ghilimele duble!"
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:173
msgid "Couldn't Add Game"
msgstr "Nu s-a putut adăuga jocul"
msgstr ""
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:209
msgid "Game title cannot be empty."
msgstr "Titlul jocului nu poate fi gol."
msgstr ""
#: cartridges/details_dialog.py:173 cartridges/details_dialog.py:217
msgid "Executable cannot be empty."
msgstr "Executabilul nu poate fi gol."
msgstr ""
#: cartridges/details_dialog.py:208 cartridges/details_dialog.py:216
msgid "Couldn't Apply Preferences"
msgstr "Nu s-au putut aplica preferințele"
msgstr ""
#. The variable is the title of the game
#: cartridges/game.py:139
msgid "{} hidden"
msgstr "{} ascuns"
msgstr ""
#: cartridges/game.py:139
msgid "{} unhidden"
msgstr "{} afișat"
msgstr ""
#. The variable is the title of the game
#. The variable is the number of games removed
#: cartridges/game.py:153 cartridges/importer/importer.py:391
msgid "{} removed"
msgstr "{} eliminat"
msgstr ""
#: cartridges/preferences.py:133
msgid "All games removed"
msgstr "Toate jocurile au fost eliminate"
msgstr ""
#: cartridges/preferences.py:181
msgid ""
"An API key is required to use SteamGridDB. You can generate one {}here{}."
msgstr ""
"O cheie API este necesară pentru a utiliza SteamGridDB. Puteți genera una "
"{}aici{}."
#: cartridges/preferences.py:196
msgid "Downloading covers…"
msgstr "Se descarcă coperțile…"
msgstr ""
#: cartridges/preferences.py:215
msgid "Covers updated"
msgstr "Coperți actualizate"
msgstr ""
#: cartridges/preferences.py:360
msgid "Installation Not Found"
msgstr "Instalarea nu a fost găsită"
msgstr ""
#: cartridges/preferences.py:361
msgid "Select a valid directory"
msgstr "Selectați un director valid"
msgstr ""
#: cartridges/preferences.py:397 cartridges/importer/importer.py:318
msgid "Warning"
msgstr "Atenţie"
msgstr ""
#: cartridges/preferences.py:431
msgid "Invalid Directory"
msgstr "Director nevalid"
msgstr ""
#: cartridges/preferences.py:437
msgid "Set Location"
msgstr "Stabilește locația"
msgstr ""
#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:319
msgid "Dismiss"
msgstr "Revocare"
msgstr ""
#: cartridges/importer/importer.py:145
#, fuzzy
msgid "Importing Games…"
msgstr "Se importă jocurile…"
msgstr "Lansator de jocuri"
#: cartridges/importer/importer.py:338
msgid "The following errors occured during import:"
msgstr "Au apărut următoarele erori în timpul importului:"
msgstr ""
#: cartridges/importer/importer.py:367
#, fuzzy
msgid "No new games found"
msgstr "Nu s-au găsit jocuri noi"
msgstr "Nu s-au găsit jocuri"
#: cartridges/importer/importer.py:379
msgid "1 game imported"
msgstr "un joc importat"
msgstr ""
#. The variable is the number of games
#: cartridges/importer/importer.py:383
msgid "{} games imported"
msgstr "{} jocuri importate"
msgstr ""
#. A single game removed
#: cartridges/importer/importer.py:387
msgid "1 removed"
msgstr "un joc eliminat"
msgstr ""
#. The variable is the name of the source
#: cartridges/importer/location.py:34
msgid "Select the {} cache directory."
msgstr "Selectați directorul cache {}."
msgstr ""
#. The variable is the name of the source
#: cartridges/importer/location.py:36
msgid "Select the {} configuration directory."
msgstr "Selectați directorul de configurare {}."
msgstr ""
#. The variable is the name of the source
#: cartridges/importer/location.py:38
msgid "Select the {} data directory."
msgstr "Selectați directorul de date {}."
msgstr ""
#: cartridges/importer/retroarch_source.py:129
msgid "No RetroArch Core Selected"
msgstr "Nu este selectat niciun nucleu RetroArch"
msgstr ""
#. The variable is a newline separated list of playlists
#: cartridges/importer/retroarch_source.py:131
msgid "The following playlists have no default core:"
msgstr "Următoarele liste de redare nu au un nucleu implicit:"
msgstr ""
#: cartridges/importer/retroarch_source.py:133
msgid "Games with no core selected were not imported"
msgstr "Jocurile fără un nucleu selectat nu au fost importate"
msgstr ""
#: cartridges/store/managers/sgdb_manager.py:46
msgid "Couldn't Authenticate SteamGridDB"
msgstr "Nu s-a putut autentifica SteamGridDB"
msgstr ""
#: cartridges/store/managers/sgdb_manager.py:47
msgid "Verify your API key in preferences"
msgstr "Verificați cheia API în preferințe"
msgstr ""
#~ msgid "Library"
#~ msgstr "Bibliotecă"

641
po/te.po
View File

@@ -1,641 +0,0 @@
# Telugu Translation for Cartridges.
# Copyright (C) YEAR kramo
# This file is distributed under the same license as the Cartridges package.
# Aryan Karamtoth <aryankmmiv@outlook.com>, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: Cartridges\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-14 12:48+0200\n"
"PO-Revision-Date: 2024-10-08 10:06+0530\n"
"Last-Translator: Aryan Karamtoth <aryankmmiv@outlook.com>\n"
"Language-Team: Telugu\n"
"Language: te\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: Gtranslator 47.0\n"
#: data/page.kramo.Cartridges.desktop.in:3
#: data/page.kramo.Cartridges.metainfo.xml.in:9
#: data/page.kramo.Cartridges.metainfo.xml.in:40 data/gtk/window.blp:47
#: data/gtk/window.blp:83
msgid "Cartridges"
msgstr "కాట్రిడ్జ్‌లు"
#: data/page.kramo.Cartridges.desktop.in:4
msgid "Game Launcher"
msgstr "గేమ్ లాంచర్"
#: data/page.kramo.Cartridges.desktop.in:5
#: data/page.kramo.Cartridges.metainfo.xml.in:10
msgid "Launch all your games"
msgstr "మీ అన్ని ఆటలను ప్రారంభించండి"
#: data/page.kramo.Cartridges.desktop.in:11
msgid ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
msgstr ""
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
#: data/page.kramo.Cartridges.metainfo.xml.in:12
msgid ""
"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 "
"necessary. You can sort and hide games or download cover art from "
"SteamGridDB."
msgstr ""
"కాట్రిడ్జ్‌లు అనేది మీ అన్ని గేమ్‌ల కోసం ఒక సాధారణ గేమ్ లాంచర్. లాగిన్ అవసరం లేకుండా స్టీమ్, లుట్రిస్, హీరోయిక్ "
"మరియు మరిన్నింటి నుండి గేమ్‌లను దిగుమతి చేసుకోవడానికి ఇది మద్దతును కలిగి ఉంది. మీరు గేమ్‌లను "
"క్రమబద్ధీకరించవచ్చు మరియు దాచవచ్చు లేదా SteamGridDB నుండి కవర్ ఆర్ట్‌ని డౌన్‌లోడ్ చేసుకోవచ్చు."
#: data/page.kramo.Cartridges.metainfo.xml.in:44 data/gtk/window.blp:318
#: cartridges/details_dialog.py:68
msgid "Game Details"
msgstr "గేమ్ వివరాలు"
#: data/page.kramo.Cartridges.metainfo.xml.in:48
msgid "Edit Game Details"
msgstr "గేమ్ వివరాలను సవరించండి"
#: data/page.kramo.Cartridges.metainfo.xml.in:52 data/gtk/help-overlay.blp:19
#: data/gtk/window.blp:542 cartridges/details_dialog.py:267
#: cartridges/importer/importer.py:320 cartridges/importer/importer.py:370
msgid "Preferences"
msgstr "ప్రాధాన్యతలు"
#: data/gtk/details-dialog.blp:15
msgid "Cancel"
msgstr "రద్దు చేయి"
#: data/gtk/details-dialog.blp:46
msgid "New Cover"
msgstr "కొత్త కవర్"
#: data/gtk/details-dialog.blp:65
msgid "Delete Cover"
msgstr "కవర్‌ని తొలగించండి"
#: data/gtk/details-dialog.blp:93 data/gtk/game.blp:81
msgid "Title"
msgstr "శీర్షిక"
#: data/gtk/details-dialog.blp:97
msgid "Developer (optional)"
msgstr "డెవలపర్ (ఐచ్ఛికం)"
#: data/gtk/details-dialog.blp:103
msgid "Executable"
msgstr "అమలు చేయదగినది"
#: data/gtk/details-dialog.blp:109
msgid "Select File"
msgstr "ఫైల్‌ని ఎంచుకోండి"
#: data/gtk/details-dialog.blp:120
msgid "More Info"
msgstr "మరింత సమాచారం"
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:443
msgid "Edit"
msgstr "సవరించు"
#: data/gtk/game.blp:103 cartridges/window.py:350
msgid "Hide"
msgstr "దాచు"
#: data/gtk/game.blp:104 data/gtk/game.blp:112 data/gtk/window.blp:463
msgid "Remove"
msgstr "తొలగించు"
#: data/gtk/game.blp:111 cartridges/window.py:352
msgid "Unhide"
msgstr "దాచిపెట్టు"
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
msgid "General"
msgstr "జనరల్"
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:205 data/gtk/window.blp:221
#: data/gtk/window.blp:272 data/gtk/window.blp:288 data/gtk/window.blp:474
msgid "Search"
msgstr "శోధించండి"
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:543
msgid "Keyboard Shortcuts"
msgstr "కీబోర్డ్ సత్వరమార్గాలు"
#: data/gtk/help-overlay.blp:29 cartridges/game.py:103
#: cartridges/preferences.py:134 cartridges/importer/importer.py:394
msgid "Undo"
msgstr "అన్డు"
#: data/gtk/help-overlay.blp:34
msgid "Quit"
msgstr "నిష్క్రమించు"
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:92 data/gtk/window.blp:185
msgid "Toggle Sidebar"
msgstr "సైడ్‌బార్‌ని టోగుల్ చేయండి"
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:198 data/gtk/window.blp:265
msgid "Main Menu"
msgstr "ప్రధాన మెనూ"
#: data/gtk/help-overlay.blp:50
msgid "Games"
msgstr "ఆటలు"
#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:191 data/gtk/window.blp:550
msgid "Add Game"
msgstr "గేమ్ జోడించండి"
#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:113
#: data/gtk/window.blp:27 data/gtk/window.blp:554
msgid "Import"
msgstr "దిగుమతి"
#: data/gtk/help-overlay.blp:63
msgid "Show Hidden Games"
msgstr "హిడెన్ గేమ్‌లను చూపించు"
#: data/gtk/help-overlay.blp:68
msgid "Remove Game"
msgstr "గేమ్‌ని తీసివేయండి"
#: data/gtk/preferences.blp:13 data/gtk/preferences.blp:117
#: data/gtk/preferences.blp:415
msgid "Behavior"
msgstr "ప్రవర్తన"
#: data/gtk/preferences.blp:16
msgid "Exit After Launching Games"
msgstr "గేమ్‌లను ప్రారంభించిన తర్వాత నిష్క్రమించండి"
#: data/gtk/preferences.blp:20
msgid "Cover Image Launches Game"
msgstr "కవర్ ఇమేజ్ గేమ్ లాంచ్"
#: data/gtk/preferences.blp:21
msgid "Swaps the behavior of the cover image and the play button"
msgstr "కవర్ ఇమేజ్ మరియు ప్లే బటన్ యొక్క ప్రవర్తనను మారుస్తుంది"
#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:82
msgid "Images"
msgstr "చిత్రాలు"
#: data/gtk/preferences.blp:29
msgid "High Quality Images"
msgstr "అధిక నాణ్యత చిత్రాలు"
#: data/gtk/preferences.blp:30
msgid "Save game covers losslessly at the cost of storage"
msgstr "నిల్వ ఖర్చుతో గేమ్ కవర్‌లను నష్టపోకుండా సేవ్ చేయండి"
#: data/gtk/preferences.blp:35
msgid "Danger Zone"
msgstr "డేంజర్ జోన్"
#: data/gtk/preferences.blp:48
msgid "Remove All Games"
msgstr "అన్ని ఆటలను తీసివేయండి"
#: data/gtk/preferences.blp:120
msgid "Remove Uninstalled Games"
msgstr "అన్‌ఇన్‌స్టాల్ చేసిన గేమ్‌లను తీసివేయండి"
#: data/gtk/preferences.blp:125
msgid "Sources"
msgstr "మూలాలు"
#: data/gtk/preferences.blp:128 cartridges/importer/steam_source.py:114
msgid "Steam"
msgstr "స్టిం"
#: data/gtk/preferences.blp:137 data/gtk/preferences.blp:164
#: data/gtk/preferences.blp:199 data/gtk/preferences.blp:242
#: data/gtk/preferences.blp:269 data/gtk/preferences.blp:296
#: data/gtk/preferences.blp:323
msgid "Install Location"
msgstr "స్థానాన్ని ఇన్‌స్టాల్ చేయండి"
#: data/gtk/preferences.blp:155 data/gtk/window.blp:564
#: cartridges/importer/lutris_source.py:96
msgid "Lutris"
msgstr "లుట్రిస్"
#: data/gtk/preferences.blp:181
msgid "Import Steam Games"
msgstr "స్టిం గేమ్‌లను దిగుమతి చేయండి"
#: data/gtk/preferences.blp:185
msgid "Import Flatpak Games"
msgstr "ఫ్లాట్‌పాక్ గేమ్‌లను దిగుమతి చేయండి"
#: data/gtk/preferences.blp:190 cartridges/importer/heroic_source.py:355
msgid "Heroic"
msgstr "హిరోఇక్"
#: data/gtk/preferences.blp:216
msgid "Import Epic Games"
msgstr "ఎపిక్ గేమ్‌లను దిగుమతి చేయండి"
#: data/gtk/preferences.blp:220
msgid "Import GOG Games"
msgstr "GOG గేమ్‌లను దిగుమతి చేయండి"
#: data/gtk/preferences.blp:224
msgid "Import Amazon Games"
msgstr "అమెజాన్ గేమ్‌లను దిగుమతి చేయండి"
#: data/gtk/preferences.blp:228
msgid "Import Sideloaded Games"
msgstr "సైడ్‌లోడెడ్ గేమ్‌లను దిగుమతి చేయండి"
#: data/gtk/preferences.blp:233 cartridges/importer/bottles_source.py:86
msgid "Bottles"
msgstr "బాటిల్స్"
#: data/gtk/preferences.blp:260 cartridges/importer/itch_source.py:81
msgid "itch"
msgstr "ఇచ్చ్"
#: data/gtk/preferences.blp:287 cartridges/importer/legendary_source.py:97
msgid "Legendary"
msgstr "లెజెండరీ"
#: data/gtk/preferences.blp:314 cartridges/importer/retroarch_source.py:142
msgid "RetroArch"
msgstr "RetroArch"
#: data/gtk/preferences.blp:341 cartridges/importer/flatpak_source.py:143
msgid "Flatpak"
msgstr "ఫ్లాట్‌పాక్"
#. The location of the system-wide data directory
#: data/gtk/preferences.blp:351
msgid "System Location"
msgstr "సిస్టమ్ స్థానం"
#. The location of the user-specific data directory
#: data/gtk/preferences.blp:369
msgid "User Location"
msgstr "వినియోగదారు స్థానం"
#: data/gtk/preferences.blp:386
msgid "Import Game Launchers"
msgstr "దిగుమతి గేమ్ లాంచర్లు"
#: data/gtk/preferences.blp:391 cartridges/importer/desktop_source.py:215
msgid "Desktop Entries"
msgstr "డెస్క్‌టాప్ ఎంట్రీలు"
#: data/gtk/preferences.blp:403 data/gtk/window.blp:562
msgid "SteamGridDB"
msgstr "SteamGridDB"
#: data/gtk/preferences.blp:407
msgid "Authentication"
msgstr "ప్రమాణీకరణ"
#: data/gtk/preferences.blp:410
msgid "API Key"
msgstr "API కీ"
#: data/gtk/preferences.blp:418
msgid "Use SteamGridDB"
msgstr "SteamGridDBని ఉపయోగించండి"
#: data/gtk/preferences.blp:419
msgid "Download images when adding or importing games"
msgstr "గేమ్‌లను జోడించేటప్పుడు లేదా దిగుమతి చేస్తున్నప్పుడు చిత్రాలను డౌన్‌లోడ్ చేయండి"
#: data/gtk/preferences.blp:423
msgid "Prefer Over Official Images"
msgstr "అధికారిక చిత్రాల కంటే ప్రాధాన్యత ఇవ్వండి"
#: data/gtk/preferences.blp:427
msgid "Prefer Animated Images"
msgstr "యానిమేటెడ్ చిత్రాలకు ప్రాధాన్యత ఇవ్వండి"
#: data/gtk/preferences.blp:433
msgid "Update Covers"
msgstr "కవర్‌లను నవీకరించండి"
#: data/gtk/preferences.blp:434
msgid "Fetch covers for games already in your library"
msgstr "ఇప్పటికే మీ లైబ్రరీలో ఉన్న గేమ్‌ల కోసం కవర్‌లను పొందండి"
#: data/gtk/preferences.blp:439
msgid "Update"
msgstr "నవీకరించు"
#: data/gtk/window.blp:6 data/gtk/window.blp:14
msgid "No Games Found"
msgstr "గేమ్‌లు ఏవీ కనుగొనబడలేదు"
#: data/gtk/window.blp:7 data/gtk/window.blp:15
msgid "Try a different search"
msgstr "వేరొక శోధనను ప్రయత్నించండి"
#: data/gtk/window.blp:21
msgid "No Games"
msgstr "ఆటలు లేవు"
#: data/gtk/window.blp:22
msgid "Use the + button to add games"
msgstr "గేమ్‌లను జోడించడానికి + బటన్‌ను ఉపయోగించండి"
#: data/gtk/window.blp:40
msgid "No Hidden Games"
msgstr "హిడెన్ గేమ్‌లు లేవు"
#: data/gtk/window.blp:41
msgid "Games you hide will appear here"
msgstr "మీరు దాచిన గేమ్‌లు ఇక్కడ కనిపిస్తాయి"
#: data/gtk/window.blp:76 data/gtk/window.blp:111 cartridges/main.py:228
msgid "All Games"
msgstr "అన్ని ఆటలు"
#: data/gtk/window.blp:136 cartridges/main.py:230
msgid "Added"
msgstr "చేర్చబడింది"
#: data/gtk/window.blp:156
msgid "Imported"
msgstr "దిగుమతి చేయబడింది"
#: data/gtk/window.blp:258
msgid "Hidden Games"
msgstr "దాచిన ఆటలు"
#: data/gtk/window.blp:367
msgid "Game Title"
msgstr "గేమ్ శీర్షిక"
#: data/gtk/window.blp:424
msgid "Play"
msgstr "ఆడండి"
#: data/gtk/window.blp:501
msgid "Sort"
msgstr "క్రమబద్ధీకరించు"
#: data/gtk/window.blp:504
msgid "A-Z"
msgstr "A-Z"
#: data/gtk/window.blp:510
msgid "Z-A"
msgstr "Z-A"
#: data/gtk/window.blp:516
msgid "Newest"
msgstr "సరికొత్త"
#: data/gtk/window.blp:522
msgid "Oldest"
msgstr "అతి పురాతనమైనది"
#: data/gtk/window.blp:528
msgid "Last Played"
msgstr "చివరిగా ఆడినది"
#: data/gtk/window.blp:535
msgid "Show Hidden"
msgstr "దాచిన చూపు"
#: data/gtk/window.blp:544
msgid "About Cartridges"
msgstr "గుళికల గురించి"
#: data/gtk/window.blp:561
msgid "IGDB"
msgstr "IGDB"
#: data/gtk/window.blp:563
msgid "ProtonDB"
msgstr "ProtonDB"
#: data/gtk/window.blp:565
msgid "HowLongToBeat"
msgstr "HowLongToBeat"
#. The variable is the title of the game
#: cartridges/main.py:205 cartridges/game.py:125
msgid "{} launched"
msgstr "{} ప్రారంభించబడింది"
#. Translators: Replace this with your name for it to show up in the about window
#: cartridges/main.py:270
msgid "translator_credits"
msgstr "Aryan Karamtoth"
#. The variable is the date when the game was added
#: cartridges/window.py:373
msgid "Added: {}"
msgstr "జోడించబడింది: {}"
#: cartridges/window.py:376
msgid "Never"
msgstr "ఎప్పుడూ"
#. The variable is the date when the game was last played
#: cartridges/window.py:380
msgid "Last played: {}"
msgstr "చివరిగా ఆడినది: {}"
#: cartridges/details_dialog.py:73
msgid "Apply"
msgstr "దరఖాస్తు చేసుకోండి"
#: cartridges/details_dialog.py:79
msgid "Add New Game"
msgstr "కొత్త గేమ్‌ని జోడించండి"
#: cartridges/details_dialog.py:80
msgid "Add"
msgstr "జోడించు"
#: cartridges/details_dialog.py:90
msgid "Executables"
msgstr "ఎక్జిక్యూటబుల్స్"
#. Translate this string as you would translate "file"
#: cartridges/details_dialog.py:105
msgid "file.txt"
msgstr "file.txt"
#. As in software
#: cartridges/details_dialog.py:107
msgid "program"
msgstr "ప్రోగ్రామ్"
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:112 cartridges/details_dialog.py:114
msgid "C:\\path\\to\\{}"
msgstr "C:\\path\\to\\{}"
#. Translate this string as you would translate "path to {}"
#: cartridges/details_dialog.py:118 cartridges/details_dialog.py:120
msgid "/path/to/{}"
msgstr "/path/to/{}"
#: cartridges/details_dialog.py:125
msgid ""
"To launch the executable \"{}\", use the command:\n"
"\n"
"<tt>\"{}\"</tt>\n"
"\n"
"To open the file \"{}\" with the default application, use:\n"
"\n"
"<tt>{} \"{}\"</tt>\n"
"\n"
"If the path contains spaces, make sure to wrap it in double quotes!"
msgstr ""
"ఎక్జిక్యూటబుల్ \"{}\"ని ప్రారంభించడానికి, ఆదేశాన్ని ఉపయోగించండి:\n"
"\n"
"<tt>\"{}\"</tt>\n"
"\n"
"డిఫాల్ట్ అప్లికేషన్‌తో \"{}\" ఫైల్‌ని తెరవడానికి, ఉపయోగించండి:\n"
"\n"
"<tt>{} \"{}\"</tt>\n"
"\n"
"మార్గం ఖాళీలను కలిగి ఉన్నట్లయితే, దానిని డబుల్ కోట్‌లలో చుట్టేలా చూసుకోండి!"
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:173
msgid "Couldn't Add Game"
msgstr "గేమ్‌ని జోడించడం సాధ్యపడలేదు"
#: cartridges/details_dialog.py:167 cartridges/details_dialog.py:209
msgid "Game title cannot be empty."
msgstr "గేమ్ శీర్షిక ఖాళీగా ఉండకూడదు."
#: cartridges/details_dialog.py:173 cartridges/details_dialog.py:217
msgid "Executable cannot be empty."
msgstr "ఎక్జిక్యూటబుల్ ఖాళీగా ఉండకూడదు."
#: cartridges/details_dialog.py:208 cartridges/details_dialog.py:216
msgid "Couldn't Apply Preferences"
msgstr "ప్రాధాన్యతలను వర్తింపజేయడం సాధ్యపడలేదు"
#. The variable is the title of the game
#: cartridges/game.py:139
msgid "{} hidden"
msgstr "{} దాచబడింది"
#: cartridges/game.py:139
msgid "{} unhidden"
msgstr "{} దాచబడలేదు"
#. The variable is the title of the game
#. The variable is the number of games removed
#: cartridges/game.py:153 cartridges/importer/importer.py:391
msgid "{} removed"
msgstr "{} తీసివేయబడింది"
#: cartridges/preferences.py:133
msgid "All games removed"
msgstr "అన్ని గేమ్‌లు తీసివేయబడ్డాయి"
#: cartridges/preferences.py:181
msgid ""
"An API key is required to use SteamGridDB. You can generate one {}here{}."
msgstr "SteamGridDBని ఉపయోగించడానికి API కీ అవసరం. మీరు {}ఇక్కడ{} ఒకదాన్ని రూపొందించవచ్చు."
#: cartridges/preferences.py:196
msgid "Downloading covers…"
msgstr "కవర్‌లను డౌన్‌లోడ్ చేస్తోంది…"
#: cartridges/preferences.py:215
msgid "Covers updated"
msgstr "కవర్లు నవీకరించబడ్డాయి"
#: cartridges/preferences.py:360
msgid "Installation Not Found"
msgstr "ఇన్‌స్టాలేషన్ కనుగొనబడలేదు"
#: cartridges/preferences.py:361
msgid "Select a valid directory"
msgstr "చెల్లుబాటు అయ్యే డైరెక్టరీని ఎంచుకోండి"
#: cartridges/preferences.py:397 cartridges/importer/importer.py:318
msgid "Warning"
msgstr "హెచ్చరిక"
#: cartridges/preferences.py:431
msgid "Invalid Directory"
msgstr "చెల్లని డైరెక్టరీ"
#: cartridges/preferences.py:437
msgid "Set Location"
msgstr "స్థానాన్ని సెట్ చేయండి"
#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:319
msgid "Dismiss"
msgstr "తొలగించు"
#: cartridges/importer/importer.py:145
msgid "Importing Games…"
msgstr "గేమ్‌లను దిగుమతి చేస్తోంది..."
#: cartridges/importer/importer.py:338
msgid "The following errors occured during import:"
msgstr "దిగుమతి సమయంలో క్రింది లోపాలు సంభవించాయి:"
#: cartridges/importer/importer.py:367
msgid "No new games found"
msgstr "కొత్త గేమ్‌లు ఏవీ కనుగొనబడలేదు"
#: cartridges/importer/importer.py:379
msgid "1 game imported"
msgstr "1 గేమ్ దిగుమతి చేయబడింది"
#. The variable is the number of games
#: cartridges/importer/importer.py:383
msgid "{} games imported"
msgstr "{} గేమ్‌లు దిగుమతి చేయబడ్డాయి"
#. A single game removed
#: cartridges/importer/importer.py:387
msgid "1 removed"
msgstr "1 తీసివేయబడింది"
#. The variable is the name of the source
#: cartridges/importer/location.py:34
msgid "Select the {} cache directory."
msgstr "{} కాష్ డైరెక్టరీని ఎంచుకోండి."
#. The variable is the name of the source
#: cartridges/importer/location.py:36
msgid "Select the {} configuration directory."
msgstr "{} కాన్ఫిగరేషన్ డైరెక్టరీని ఎంచుకోండి."
#. The variable is the name of the source
#: cartridges/importer/location.py:38
msgid "Select the {} data directory."
msgstr "{} డేటా డైరెక్టరీని ఎంచుకోండి."
#: cartridges/importer/retroarch_source.py:129
msgid "No RetroArch Core Selected"
msgstr "రెట్రోఆర్చ్ కోర్ ఎంచుకోబడలేదు"
#. The variable is a newline separated list of playlists
#: cartridges/importer/retroarch_source.py:131
msgid "The following playlists have no default core:"
msgstr "కింది ప్లేజాబితాలకు డిఫాల్ట్ కోర్ లేదు:"
#: cartridges/importer/retroarch_source.py:133
msgid "Games with no core selected were not imported"
msgstr "ఎంపిక చేయబడిన కోర్ లేని గేమ్‌లు దిగుమతి చేయబడలేదు"
#: cartridges/store/managers/sgdb_manager.py:46
msgid "Couldn't Authenticate SteamGridDB"
msgstr "SteamGridDB ని ప్రమాణీకరించడం సాధ్యపడలేదు"
#: cartridges/store/managers/sgdb_manager.py:47
msgid "Verify your API key in preferences"
msgstr "ప్రాధాన్యతలలో మీ API కీని ధృవీకరించండి"

View File

@@ -1,7 +1,7 @@
[wrap-git]
directory = blueprint-compiler
url = https://gitlab.gnome.org/jwestman/blueprint-compiler.git
revision = v0.14.0
revision = v0.12.0
depth = 1
[provide]