Compare commits
30 Commits
v2.9.2
...
auto-impor
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37e24ea8b1 | ||
|
|
fbc4e05327 | ||
|
|
ce584a09c2 | ||
|
|
bb3780f048 | ||
|
|
babe489676 | ||
|
|
e32b30d343 | ||
|
|
863344b6ab | ||
|
|
eee2a2f949 | ||
|
|
03b9c8627f | ||
|
|
46036c57b2 | ||
|
|
61e9a29c6d | ||
|
|
83ae99ff8a | ||
|
|
e4ceac6392 | ||
|
|
8a8b0525b4 | ||
|
|
256f6f2325 | ||
|
|
4938bacd55 | ||
|
|
5050c4f6ca | ||
|
|
9e4644ab2f | ||
|
|
19d0e27e88 | ||
|
|
2801e777f7 | ||
|
|
fc5b5447fc | ||
|
|
0a50072e2c | ||
|
|
e5287c9d3f | ||
|
|
22a755c2e4 | ||
|
|
239420148a | ||
|
|
35acb56a62 | ||
|
|
adacdefdb9 | ||
|
|
7367e40cb3 | ||
|
|
ae7819a264 | ||
|
|
38f85d2f4a |
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@@ -1 +1,2 @@
|
||||
github: [kra-mo]
|
||||
liberapay: kramo
|
||||
|
||||
2
.github/workflows/publish-release.yml
vendored
2
.github/workflows/publish-release.yml
vendored
@@ -38,7 +38,7 @@ jobs:
|
||||
run: echo tag_name=${GITHUB_REF#refs/tags/} >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Publish release
|
||||
uses: softprops/action-gh-release@v2.0.6
|
||||
uses: softprops/action-gh-release@v2.0.8
|
||||
with:
|
||||
files: |
|
||||
Windows Installer/Cartridges Windows.exe
|
||||
|
||||
@@ -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).
|
||||
I accept donations through [GitHub Sponsors](https://github.com/sponsors/kra-mo) and [Liberapay](https://liberapay.com/kramo).
|
||||
|
||||
Thank you for your generosity! 💜
|
||||
|
||||
|
||||
@@ -1,138 +1,134 @@
|
||||
{
|
||||
"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" : [
|
||||
"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": [
|
||||
{
|
||||
"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-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" : "blueprint-compiler",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
||||
"tag" : "v0.12.0"
|
||||
}
|
||||
],
|
||||
"cleanup" : [
|
||||
"*"
|
||||
]
|
||||
"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" : "cartridges",
|
||||
"builddir" : true,
|
||||
"buildsystem" : "meson",
|
||||
"run-tests" : true,
|
||||
"config-opts": [
|
||||
"-Dprofile=development"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
"path" : "../.."
|
||||
}
|
||||
]
|
||||
"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": "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": "../.."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# pyright: reportAssignmentType=none
|
||||
|
||||
import shlex
|
||||
from pathlib import Path
|
||||
from sys import platform
|
||||
@@ -40,26 +42,26 @@ from cartridges.utils.save_cover import convert_cover, save_cover
|
||||
class DetailsDialog(Adw.Dialog):
|
||||
__gtype_name__ = "DetailsDialog"
|
||||
|
||||
cover_overlay = Gtk.Template.Child()
|
||||
cover = Gtk.Template.Child()
|
||||
cover_button_edit = Gtk.Template.Child()
|
||||
cover_button_delete_revealer = Gtk.Template.Child()
|
||||
cover_button_delete = Gtk.Template.Child()
|
||||
spinner = Gtk.Template.Child()
|
||||
cover_overlay: Gtk.Overlay = Gtk.Template.Child()
|
||||
cover: Gtk.Picture = Gtk.Template.Child()
|
||||
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()
|
||||
|
||||
name = Gtk.Template.Child()
|
||||
developer = Gtk.Template.Child()
|
||||
executable = Gtk.Template.Child()
|
||||
name: Adw.EntryRow = Gtk.Template.Child()
|
||||
developer: Adw.EntryRow = Gtk.Template.Child()
|
||||
executable: Adw.EntryRow = Gtk.Template.Child()
|
||||
|
||||
exec_info_label = Gtk.Template.Child()
|
||||
exec_info_popover = Gtk.Template.Child()
|
||||
file_chooser_button = Gtk.Template.Child()
|
||||
exec_info_label: Gtk.Label = Gtk.Template.Child()
|
||||
exec_info_popover: Gtk.Popover = Gtk.Template.Child()
|
||||
file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
apply_button = Gtk.Template.Child()
|
||||
apply_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
cover_changed: bool = False
|
||||
|
||||
is_open = False
|
||||
is_open: bool = False
|
||||
|
||||
def __init__(self, game: Optional[Game] = None, **kwargs: Any):
|
||||
super().__init__(**kwargs)
|
||||
@@ -68,7 +70,7 @@ class DetailsDialog(Adw.Dialog):
|
||||
self.__class__.is_open = True
|
||||
self.connect("closed", lambda *_: self.set_is_open(False))
|
||||
|
||||
self.game: Game = game
|
||||
self.game: Optional[Game] = game
|
||||
self.game_cover: GameCover = GameCover({self.cover})
|
||||
|
||||
if self.game:
|
||||
@@ -283,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_spinning(not self.spinner.get_spinning())
|
||||
self.spinner.set_visible(not self.spinner.get_visible())
|
||||
self.cover_overlay.set_opacity(not self.cover_overlay.get_opacity())
|
||||
|
||||
def set_cover(self, _source: Any, result: Gio.Task, *_args: Any) -> None:
|
||||
|
||||
@@ -157,7 +157,7 @@ class Game(Gtk.Box):
|
||||
loading = self.loading > 0
|
||||
|
||||
self.cover.set_opacity(int(not loading))
|
||||
self.spinner.set_spinning(loading)
|
||||
self.spinner.set_visible(loading)
|
||||
|
||||
def get_cover_path(self) -> Optional[Path]:
|
||||
cover_path = shared.covers_dir / f"{self.game_id}.gif"
|
||||
|
||||
@@ -106,7 +106,6 @@ 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:
|
||||
@@ -137,6 +136,7 @@ class Importer(ErrorProducer):
|
||||
)
|
||||
|
||||
self.progress_changed_callback()
|
||||
GLib.timeout_add(100, self.__watchdog)
|
||||
|
||||
def create_dialog(self) -> None:
|
||||
"""Create the import dialog"""
|
||||
@@ -281,8 +281,7 @@ 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)
|
||||
# Stupid hack because stupid libadwaita is stupid
|
||||
GLib.timeout_add(50, self.import_dialog.force_close)
|
||||
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)
|
||||
@@ -397,7 +396,13 @@ class Importer(ErrorProducer):
|
||||
|
||||
toast.set_title(toast_title)
|
||||
|
||||
shared.win.toast_overlay.add_toast(toast)
|
||||
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)
|
||||
|
||||
return toast
|
||||
|
||||
def open_preferences(
|
||||
@@ -423,3 +428,11 @@ 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
|
||||
|
||||
@@ -41,7 +41,7 @@ from cartridges.importer.bottles_source import BottlesSource
|
||||
from cartridges.importer.desktop_source import DesktopSource
|
||||
from cartridges.importer.flatpak_source import FlatpakSource
|
||||
from cartridges.importer.heroic_source import HeroicSource
|
||||
from cartridges.importer.importer import Importer
|
||||
from cartridges.importer.importer import Importer # yo dawg
|
||||
from cartridges.importer.itch_source import ItchSource
|
||||
from cartridges.importer.legendary_source import LegendarySource
|
||||
from cartridges.importer.lutris_source import LutrisSource
|
||||
@@ -107,6 +107,10 @@ 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:
|
||||
@@ -114,9 +118,6 @@ 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:
|
||||
@@ -192,6 +193,9 @@ 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()
|
||||
@@ -399,7 +403,11 @@ class CartridgesApplication(Adw.Application):
|
||||
if action[1:2]:
|
||||
self.set_accels_for_action(
|
||||
f"app.{action[0]}" if scope == self else f"win.{action[0]}",
|
||||
tuple(s.replace("<primary>", "<meta>") for s in action[1]),
|
||||
(
|
||||
tuple(s.replace("<primary>", "<meta>") for s in action[1])
|
||||
if sys.platform == "darwin"
|
||||
else action[1]
|
||||
),
|
||||
)
|
||||
|
||||
scope.add_action(simple_action)
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# pyright: reportAssignmentType=none
|
||||
|
||||
import logging
|
||||
import re
|
||||
from pathlib import Path
|
||||
@@ -48,74 +50,74 @@ from cartridges.utils.create_dialog import create_dialog
|
||||
class CartridgesPreferences(Adw.PreferencesDialog):
|
||||
__gtype_name__ = "CartridgesPreferences"
|
||||
|
||||
general_page = Gtk.Template.Child()
|
||||
import_page = Gtk.Template.Child()
|
||||
sgdb_page = Gtk.Template.Child()
|
||||
general_page: Adw.PreferencesPage = Gtk.Template.Child()
|
||||
import_page: Adw.PreferencesPage = Gtk.Template.Child()
|
||||
sgdb_page: Adw.PreferencesPage = Gtk.Template.Child()
|
||||
|
||||
sources_group = Gtk.Template.Child()
|
||||
sources_group: Adw.PreferencesGroup = Gtk.Template.Child()
|
||||
|
||||
exit_after_launch_switch = Gtk.Template.Child()
|
||||
cover_launches_game_switch = Gtk.Template.Child()
|
||||
high_quality_images_switch = Gtk.Template.Child()
|
||||
exit_after_launch_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
cover_launches_game_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
high_quality_images_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
|
||||
remove_missing_switch = Gtk.Template.Child()
|
||||
auto_import_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
remove_missing_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
|
||||
steam_expander_row = Gtk.Template.Child()
|
||||
steam_data_action_row = Gtk.Template.Child()
|
||||
steam_data_file_chooser_button = Gtk.Template.Child()
|
||||
steam_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
|
||||
steam_data_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
steam_data_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
lutris_expander_row = Gtk.Template.Child()
|
||||
lutris_data_action_row = Gtk.Template.Child()
|
||||
lutris_data_file_chooser_button = Gtk.Template.Child()
|
||||
lutris_import_steam_switch = Gtk.Template.Child()
|
||||
lutris_import_flatpak_switch = Gtk.Template.Child()
|
||||
lutris_expander_row: Adw.ExpanderRowClass = Gtk.Template.Child()
|
||||
lutris_data_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
lutris_data_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
lutris_import_steam_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
lutris_import_flatpak_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
|
||||
heroic_expander_row = Gtk.Template.Child()
|
||||
heroic_config_action_row = Gtk.Template.Child()
|
||||
heroic_config_file_chooser_button = Gtk.Template.Child()
|
||||
heroic_import_epic_switch = Gtk.Template.Child()
|
||||
heroic_import_gog_switch = Gtk.Template.Child()
|
||||
heroic_import_amazon_switch = Gtk.Template.Child()
|
||||
heroic_import_sideload_switch = Gtk.Template.Child()
|
||||
heroic_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
|
||||
heroic_config_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
heroic_config_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
heroic_import_epic_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
heroic_import_gog_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
heroic_import_amazon_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
heroic_import_sideload_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
|
||||
bottles_expander_row = Gtk.Template.Child()
|
||||
bottles_data_action_row = Gtk.Template.Child()
|
||||
bottles_data_file_chooser_button = Gtk.Template.Child()
|
||||
bottles_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
|
||||
bottles_data_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
bottles_data_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
itch_expander_row = Gtk.Template.Child()
|
||||
itch_config_action_row = Gtk.Template.Child()
|
||||
itch_config_file_chooser_button = Gtk.Template.Child()
|
||||
itch_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
|
||||
itch_config_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
itch_config_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
legendary_expander_row = Gtk.Template.Child()
|
||||
legendary_config_action_row = Gtk.Template.Child()
|
||||
legendary_config_file_chooser_button = Gtk.Template.Child()
|
||||
legendary_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
|
||||
legendary_config_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
legendary_config_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
retroarch_expander_row = Gtk.Template.Child()
|
||||
retroarch_config_action_row = Gtk.Template.Child()
|
||||
retroarch_config_file_chooser_button = Gtk.Template.Child()
|
||||
retroarch_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
|
||||
retroarch_config_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
retroarch_config_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
flatpak_expander_row = Gtk.Template.Child()
|
||||
flatpak_system_data_action_row = Gtk.Template.Child()
|
||||
flatpak_system_data_file_chooser_button = Gtk.Template.Child()
|
||||
flatpak_user_data_action_row = Gtk.Template.Child()
|
||||
flatpak_user_data_file_chooser_button = Gtk.Template.Child()
|
||||
flatpak_import_launchers_switch = Gtk.Template.Child()
|
||||
flatpak_expander_row: Adw.ExpanderRow = Gtk.Template.Child()
|
||||
flatpak_system_data_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
flatpak_system_data_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
flatpak_user_data_action_row: Adw.ActionRow = Gtk.Template.Child()
|
||||
flatpak_user_data_file_chooser_button: Gtk.Button = Gtk.Template.Child()
|
||||
flatpak_import_launchers_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
|
||||
desktop_switch = Gtk.Template.Child()
|
||||
desktop_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
|
||||
sgdb_key_group = Gtk.Template.Child()
|
||||
sgdb_key_entry_row = Gtk.Template.Child()
|
||||
sgdb_switch = Gtk.Template.Child()
|
||||
sgdb_prefer_switch = Gtk.Template.Child()
|
||||
sgdb_animated_switch = Gtk.Template.Child()
|
||||
sgdb_fetch_button = Gtk.Template.Child()
|
||||
sgdb_stack = Gtk.Template.Child()
|
||||
sgdb_spinner = Gtk.Template.Child()
|
||||
sgdb_key_group: Adw.PreferencesGroup = Gtk.Template.Child()
|
||||
sgdb_key_entry_row: Adw.EntryRow = Gtk.Template.Child()
|
||||
sgdb_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
sgdb_prefer_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||
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()
|
||||
|
||||
danger_zone_group = Gtk.Template.Child()
|
||||
remove_all_games_list_box = Gtk.Template.Child()
|
||||
reset_list_box = Gtk.Template.Child()
|
||||
reset_group = Gtk.Template.Child()
|
||||
remove_all_games_button_row = Gtk.Template.Child()
|
||||
reset_button_row = Gtk.Template.Child()
|
||||
|
||||
removed_games: set[Game] = set()
|
||||
warning_menu_buttons: dict = {}
|
||||
@@ -145,12 +147,12 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
||||
self.add_controller(shortcut_controller)
|
||||
|
||||
# General
|
||||
self.remove_all_games_list_box.connect("row-activated", self.remove_all_games)
|
||||
self.remove_all_games_button_row.connect("activated", self.remove_all_games)
|
||||
|
||||
# Debug
|
||||
if shared.PROFILE == "development":
|
||||
self.reset_group.set_visible(True)
|
||||
self.reset_list_box.connect("row-activated", self.reset_app)
|
||||
self.reset_button_row.set_visible(True)
|
||||
self.reset_button_row.connect("activated", self.reset_app)
|
||||
|
||||
# Sources settings
|
||||
for source_class in (
|
||||
@@ -195,7 +197,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
||||
sgdb_manager = shared.store.managers[SgdbManager]
|
||||
sgdb_manager.reset_cancellable()
|
||||
|
||||
self.sgdb_spinner.set_spinning(True)
|
||||
self.sgdb_spinner.set_visible(True)
|
||||
self.sgdb_stack.set_visible_child(self.sgdb_spinner)
|
||||
|
||||
self.add_toast(download_toast := Adw.Toast.new(_("Downloading covers…")))
|
||||
@@ -222,7 +224,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
||||
download_toast.dismiss()
|
||||
self.add_toast(toast)
|
||||
|
||||
self.sgdb_spinner.set_spinning(False)
|
||||
self.sgdb_spinner.set_visible(False)
|
||||
self.sgdb_stack.set_visible_child(self.sgdb_fetch_button)
|
||||
|
||||
for game in shared.store:
|
||||
@@ -236,6 +238,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
||||
"exit-after-launch",
|
||||
"cover-launches-game",
|
||||
"high-quality-images",
|
||||
"auto-import",
|
||||
"remove-missing",
|
||||
"lutris-import-steam",
|
||||
"lutris-import-flatpak",
|
||||
@@ -280,7 +283,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
||||
) -> None:
|
||||
self.file_chooser.select_folder(shared.win, None, callback, callback_data)
|
||||
|
||||
def undo_remove_all(self, *_args: Any) -> None:
|
||||
def undo_remove_all(self, *_args: Any) -> bool:
|
||||
shared.win.get_application().state = shared.AppState.UNDO_REMOVE_ALL_GAMES
|
||||
for game in self.removed_games:
|
||||
game.removed = False
|
||||
@@ -292,6 +295,8 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
||||
shared.win.get_application().state = shared.AppState.DEFAULT
|
||||
shared.win.create_source_rows()
|
||||
|
||||
return True
|
||||
|
||||
def remove_all_games(self, *_args: Any) -> None:
|
||||
shared.win.get_application().state = shared.AppState.REMOVE_ALL_GAMES
|
||||
shared.win.row_selected(None, shared.win.all_games_row_box.get_parent())
|
||||
|
||||
78
cartridges/shared.pyi
Normal file
78
cartridges/shared.pyi
Normal file
@@ -0,0 +1,78 @@
|
||||
# shared.pyi
|
||||
#
|
||||
# Copyright 2024 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
|
||||
from gi.repository import Gio
|
||||
|
||||
from cartridges.importer.importer import Importer
|
||||
from cartridges.store.store import Store
|
||||
from cartridges.window import CartridgesWindow
|
||||
|
||||
|
||||
class AppState:
|
||||
DEFAULT: int
|
||||
LOAD_FROM_DISK: int
|
||||
IMPORT: int
|
||||
REMOVE_ALL_GAMES: int
|
||||
UNDO_REMOVE_ALL_GAMES: int
|
||||
|
||||
|
||||
APP_ID: str
|
||||
VERSION: str
|
||||
PREFIX: str
|
||||
PROFILE: str
|
||||
TIFF_COMPRESSION: str
|
||||
SPEC_VERSION: float
|
||||
|
||||
schema: Gio.Settings
|
||||
state_schema: Gio.Settings
|
||||
|
||||
home: Path
|
||||
|
||||
data_dir: Path
|
||||
host_data_dir: Path
|
||||
|
||||
config_dir: Path
|
||||
host_config_dir: Path
|
||||
|
||||
cache_dir: Path
|
||||
host_cache_dir: Path
|
||||
|
||||
flatpak_dir: Path
|
||||
|
||||
games_dir: Path
|
||||
covers_dir: Path
|
||||
|
||||
appdata_dir: Path
|
||||
local_appdata_dir: Path
|
||||
programfiles32_dir: Path
|
||||
|
||||
app_support_dir: Path
|
||||
|
||||
|
||||
scale_factor: int
|
||||
image_size: int
|
||||
|
||||
win: Optional[CartridgesWindow]
|
||||
importer: Optional[Importer]
|
||||
import_time: Optional[int]
|
||||
store = Optional[Store]
|
||||
log_files: list[Path]
|
||||
@@ -33,7 +33,7 @@ def create_dialog(
|
||||
dialog.add_response("dismiss", _("Dismiss"))
|
||||
|
||||
if extra_option:
|
||||
dialog.add_response(extra_option, _(extra_label))
|
||||
dialog.add_response(extra_option, extra_label or "")
|
||||
|
||||
dialog.choose(win)
|
||||
return dialog
|
||||
|
||||
@@ -17,8 +17,10 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from typing import Any, Optional
|
||||
# pyright: reportAssignmentType=none
|
||||
|
||||
from sys import platform
|
||||
from typing import Any, Optional
|
||||
|
||||
from gi.repository import Adw, Gio, GLib, Gtk, Pango
|
||||
|
||||
@@ -32,52 +34,52 @@ from cartridges.utils.relative_date import relative_date
|
||||
class CartridgesWindow(Adw.ApplicationWindow):
|
||||
__gtype_name__ = "CartridgesWindow"
|
||||
|
||||
overlay_split_view = Gtk.Template.Child()
|
||||
navigation_view = Gtk.Template.Child()
|
||||
sidebar_navigation_page = Gtk.Template.Child()
|
||||
sidebar = Gtk.Template.Child()
|
||||
all_games_row_box = Gtk.Template.Child()
|
||||
all_games_no_label = Gtk.Template.Child()
|
||||
added_row_box = Gtk.Template.Child()
|
||||
added_games_no_label = Gtk.Template.Child()
|
||||
toast_overlay = Gtk.Template.Child()
|
||||
primary_menu_button = Gtk.Template.Child()
|
||||
show_sidebar_button = Gtk.Template.Child()
|
||||
details_view = Gtk.Template.Child()
|
||||
library_page = Gtk.Template.Child()
|
||||
library_view = Gtk.Template.Child()
|
||||
library = Gtk.Template.Child()
|
||||
scrolledwindow = Gtk.Template.Child()
|
||||
library_overlay = Gtk.Template.Child()
|
||||
notice_empty = Gtk.Template.Child()
|
||||
notice_no_results = Gtk.Template.Child()
|
||||
search_bar = Gtk.Template.Child()
|
||||
search_entry = Gtk.Template.Child()
|
||||
search_button = Gtk.Template.Child()
|
||||
overlay_split_view: Adw.OverlaySplitView = Gtk.Template.Child()
|
||||
navigation_view: Adw.NavigationView = Gtk.Template.Child()
|
||||
sidebar_navigation_page: Adw.NavigationPage = Gtk.Template.Child()
|
||||
sidebar: Gtk.ListBox = Gtk.Template.Child()
|
||||
all_games_row_box: Gtk.Box = Gtk.Template.Child()
|
||||
all_games_no_label: Gtk.Label = Gtk.Template.Child()
|
||||
added_row_box: Gtk.Box = Gtk.Template.Child()
|
||||
added_games_no_label: Gtk.Label = Gtk.Template.Child()
|
||||
toast_overlay: Adw.ToastOverlay = Gtk.Template.Child()
|
||||
primary_menu_button: Gtk.MenuButton = Gtk.Template.Child()
|
||||
show_sidebar_button: Gtk.Button = Gtk.Template.Child()
|
||||
details_view: Gtk.Overlay = Gtk.Template.Child()
|
||||
library_page: Adw.NavigationPage = Gtk.Template.Child()
|
||||
library_view: Adw.ToolbarView = Gtk.Template.Child()
|
||||
library: Gtk.FlowBox = Gtk.Template.Child()
|
||||
scrolledwindow: Gtk.ScrolledWindow = Gtk.Template.Child()
|
||||
library_overlay: Gtk.Overlay = Gtk.Template.Child()
|
||||
notice_empty: Adw.StatusPage = Gtk.Template.Child()
|
||||
notice_no_results: Adw.StatusPage = Gtk.Template.Child()
|
||||
search_bar: Gtk.SearchBar = Gtk.Template.Child()
|
||||
search_entry: Gtk.SearchEntry = Gtk.Template.Child()
|
||||
search_button: Gtk.ToggleButton = Gtk.Template.Child()
|
||||
|
||||
details_page = Gtk.Template.Child()
|
||||
details_view_toolbar_view = Gtk.Template.Child()
|
||||
details_view_cover = Gtk.Template.Child()
|
||||
details_view_spinner = Gtk.Template.Child()
|
||||
details_view_title = Gtk.Template.Child()
|
||||
details_view_blurred_cover = Gtk.Template.Child()
|
||||
details_view_play_button = Gtk.Template.Child()
|
||||
details_view_developer = Gtk.Template.Child()
|
||||
details_view_added = Gtk.Template.Child()
|
||||
details_view_last_played = Gtk.Template.Child()
|
||||
details_view_hide_button = Gtk.Template.Child()
|
||||
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_title: Gtk.Label = Gtk.Template.Child()
|
||||
details_view_blurred_cover: Gtk.Picture = Gtk.Template.Child()
|
||||
details_view_play_button: Gtk.Button = Gtk.Template.Child()
|
||||
details_view_developer: Gtk.Label = Gtk.Template.Child()
|
||||
details_view_added: Gtk.ShortcutLabel = Gtk.Template.Child()
|
||||
details_view_last_played: Gtk.Label = Gtk.Template.Child()
|
||||
details_view_hide_button: Gtk.Button = Gtk.Template.Child()
|
||||
|
||||
hidden_library_page = Gtk.Template.Child()
|
||||
hidden_primary_menu_button = Gtk.Template.Child()
|
||||
hidden_library = Gtk.Template.Child()
|
||||
hidden_library_view = Gtk.Template.Child()
|
||||
hidden_scrolledwindow = Gtk.Template.Child()
|
||||
hidden_library_overlay = Gtk.Template.Child()
|
||||
hidden_notice_empty = Gtk.Template.Child()
|
||||
hidden_notice_no_results = Gtk.Template.Child()
|
||||
hidden_search_bar = Gtk.Template.Child()
|
||||
hidden_search_entry = Gtk.Template.Child()
|
||||
hidden_search_button = Gtk.Template.Child()
|
||||
hidden_library_page: Adw.NavigationPage = Gtk.Template.Child()
|
||||
hidden_primary_menu_button: Gtk.MenuButton = Gtk.Template.Child()
|
||||
hidden_library: Gtk.FlowBox = Gtk.Template.Child()
|
||||
hidden_library_view: Adw.ToolbarView = Gtk.Template.Child()
|
||||
hidden_scrolledwindow: Gtk.ScrolledWindow = Gtk.Template.Child()
|
||||
hidden_library_overlay: Gtk.Overlay = Gtk.Template.Child()
|
||||
hidden_notice_empty: Adw.StatusPage = Gtk.Template.Child()
|
||||
hidden_notice_no_results: Adw.StatusPage = Gtk.Template.Child()
|
||||
hidden_search_bar: Gtk.SearchBar = Gtk.Template.Child()
|
||||
hidden_search_entry: Gtk.SearchEntry = Gtk.Template.Child()
|
||||
hidden_search_button: Gtk.ToggleButton = Gtk.Template.Child()
|
||||
|
||||
game_covers: dict = {}
|
||||
toasts: dict = {}
|
||||
@@ -349,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_spinning(game.loading)
|
||||
self.details_view_spinner.set_visible(game.loading)
|
||||
|
||||
self.details_view_developer.set_label(game.developer or "")
|
||||
self.details_view_developer.set_visible(bool(game.developer))
|
||||
|
||||
@@ -31,9 +31,8 @@ template $DetailsDialog: Adw.Dialog {
|
||||
|
||||
Overlay {
|
||||
[overlay]
|
||||
Spinner spinner {
|
||||
margin-start: 72;
|
||||
margin-end: 72;
|
||||
Adw.Spinner spinner {
|
||||
visible: false;
|
||||
}
|
||||
|
||||
Overlay cover_overlay {
|
||||
|
||||
@@ -64,9 +64,8 @@ template $Game: Box {
|
||||
|
||||
Overlay {
|
||||
[overlay]
|
||||
Spinner spinner {
|
||||
margin-start: 72;
|
||||
margin-end: 72;
|
||||
Adw.Spinner spinner {
|
||||
visible: false;
|
||||
}
|
||||
|
||||
Picture cover {
|
||||
|
||||
@@ -33,76 +33,21 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
|
||||
|
||||
Adw.PreferencesGroup danger_zone_group {
|
||||
title: _("Danger Zone");
|
||||
separate-rows: true;
|
||||
|
||||
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",
|
||||
]
|
||||
}
|
||||
Adw.ButtonRow remove_all_games_button_row {
|
||||
title: _("Remove All Games");
|
||||
|
||||
styles [
|
||||
"boxed-list",
|
||||
"destructive-action"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
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",
|
||||
]
|
||||
}
|
||||
Adw.ButtonRow reset_button_row {
|
||||
title: _("Reset App");
|
||||
|
||||
styles [
|
||||
"boxed-list",
|
||||
"destructive-action"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -116,6 +61,10 @@ 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");
|
||||
}
|
||||
@@ -123,6 +72,7 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
|
||||
|
||||
Adw.PreferencesGroup sources_group {
|
||||
title: _("Sources");
|
||||
separate-rows: true;
|
||||
|
||||
Adw.ExpanderRow steam_expander_row {
|
||||
title: _("Steam");
|
||||
@@ -440,7 +390,8 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
|
||||
valign: center;
|
||||
}
|
||||
|
||||
Spinner sgdb_spinner {
|
||||
Adw.Spinner sgdb_spinner {
|
||||
visible: false;
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
@define-color accent_color @purple_1;
|
||||
@define-color accent_bg_color @purple_4;
|
||||
:root {
|
||||
--accent-color: var(--purple-1);
|
||||
--accent-bg-color: var(--purple-4);
|
||||
}
|
||||
|
||||
#details_view {
|
||||
background-color: black;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
@define-color accent_color @purple_5;
|
||||
@define-color accent_bg_color @purple_3;
|
||||
:root {
|
||||
--accent-color: var(--purple-5);
|
||||
--accent-bg-color: var(--purple-3);
|
||||
}
|
||||
|
||||
#details_view {
|
||||
background-color: white;
|
||||
|
||||
@@ -341,9 +341,8 @@ Adw.NavigationPage details_page {
|
||||
|
||||
Overlay {
|
||||
[overlay]
|
||||
Spinner details_view_spinner {
|
||||
margin-start: 72;
|
||||
margin-end: 72;
|
||||
Adw.Spinner details_view_spinner {
|
||||
visible: false;
|
||||
}
|
||||
|
||||
Picture details_view_cover {
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
<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>
|
||||
|
||||
@@ -31,9 +31,9 @@
|
||||
<control>keyboard</control>
|
||||
<control>touch</control>
|
||||
</supports>
|
||||
<recommends>
|
||||
<requires>
|
||||
<display_length compare="ge">360</display_length>
|
||||
</recommends>
|
||||
</requires>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/1.png</image>
|
||||
@@ -54,11 +54,20 @@
|
||||
</screenshots>
|
||||
<content_rating type="oars-1.1" />
|
||||
<releases>
|
||||
<release version="2.9.2" date="2024-07-11">
|
||||
<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>
|
||||
<li>Cartridges now utilizes the menu bar on macOS</li>
|
||||
<li>Various bug fixes</li>
|
||||
<li>Fixed incorrect modifiers being used for keyboard shortcuts</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
project(
|
||||
'cartridges',
|
||||
version: '2.9.2',
|
||||
version: '2.10.1',
|
||||
meson_version: '>= 0.59.0',
|
||||
default_options: [
|
||||
'warning_level=2',
|
||||
|
||||
@@ -27,3 +27,5 @@ ca
|
||||
ja
|
||||
hi
|
||||
en_GB
|
||||
ie
|
||||
te
|
||||
|
||||
58
po/fa.po
58
po/fa.po
@@ -3,13 +3,14 @@
|
||||
# This file is distributed under the same license as the Cartridges package.
|
||||
# سید حسین موسوی فرد <shmf1385@protonmail.com>, 2023.
|
||||
# Danial Behzadi <dani.behzi@ubuntu.com>, 2023.
|
||||
# آوید <avds+git@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: 2023-09-24 16:04+0000\n"
|
||||
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
|
||||
"PO-Revision-Date: 2024-07-14 20:09+0000\n"
|
||||
"Last-Translator: آوید <avds+git@disroot.org>\n"
|
||||
"Language-Team: Persian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/fa/>\n"
|
||||
"Language: fa\n"
|
||||
@@ -17,7 +18,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.1-dev\n"
|
||||
"X-Generator: Weblate 5.7-dev\n"
|
||||
|
||||
#: data/page.kramo.Cartridges.desktop.in:3
|
||||
#: data/page.kramo.Cartridges.metainfo.xml.in:9
|
||||
@@ -74,7 +75,7 @@ msgstr "لغو"
|
||||
|
||||
#: data/gtk/details-dialog.blp:46
|
||||
msgid "New Cover"
|
||||
msgstr "طرج جلد جدید"
|
||||
msgstr "طرح جلد جدید"
|
||||
|
||||
#: data/gtk/details-dialog.blp:65
|
||||
msgid "Delete Cover"
|
||||
@@ -98,7 +99,7 @@ msgstr "گزینش پرونده"
|
||||
|
||||
#: data/gtk/details-dialog.blp:120
|
||||
msgid "More Info"
|
||||
msgstr "اطّلاعات بیشتر"
|
||||
msgstr "اطلاعات بیشتر"
|
||||
|
||||
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:443
|
||||
msgid "Edit"
|
||||
@@ -127,7 +128,7 @@ msgstr "جستوجو"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:543
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "میانبرهیا صفحهکلید"
|
||||
msgstr "میانبرهای صفحهکلید"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29 cartridges/game.py:103
|
||||
#: cartridges/preferences.py:134 cartridges/importer/importer.py:394
|
||||
@@ -182,7 +183,7 @@ msgstr "طرح جلد بازی را اجرا میکند"
|
||||
|
||||
#: data/gtk/preferences.blp:21
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "تعویض رفتار تصویر جلد و دکمهٔ بازی کردن"
|
||||
msgstr "تغییر رفتار تصویر جلد و دکمهٔ بازی کردن"
|
||||
|
||||
#: data/gtk/preferences.blp:26 cartridges/details_dialog.py:82
|
||||
msgid "Images"
|
||||
@@ -194,7 +195,7 @@ msgstr "عکسهای با کیفیت بالا"
|
||||
|
||||
#: data/gtk/preferences.blp:30
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "ذخیرهٔ طرح جلدهای بدون اتلاف به فیمت ذخیرهسازی"
|
||||
msgstr "ذخیرهٔ طرح جلدهای بدون اتلاف به قیمت ذخیرهسازی"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Danger Zone"
|
||||
@@ -206,7 +207,7 @@ msgstr "حذف کردن همهٔ بازیها"
|
||||
|
||||
#: data/gtk/preferences.blp:120
|
||||
msgid "Remove Uninstalled Games"
|
||||
msgstr "برداشن بازیهای نصب نشده"
|
||||
msgstr "برداشتن بازیهای نصبنشده"
|
||||
|
||||
#: data/gtk/preferences.blp:125
|
||||
msgid "Sources"
|
||||
@@ -254,7 +255,7 @@ msgstr "درونریزی بازیهای آمازون"
|
||||
|
||||
#: data/gtk/preferences.blp:228
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "درونریزی بازیهای نصب شده"
|
||||
msgstr "درونریزی بازیهای نصبشده"
|
||||
|
||||
#: data/gtk/preferences.blp:233 cartridges/importer/bottles_source.py:86
|
||||
msgid "Bottles"
|
||||
@@ -278,15 +279,13 @@ msgstr "فلتپک"
|
||||
|
||||
#. The location of the system-wide data directory
|
||||
#: data/gtk/preferences.blp:351
|
||||
#, fuzzy
|
||||
msgid "System Location"
|
||||
msgstr "تنظیم مکان"
|
||||
msgstr "مکان سامانه"
|
||||
|
||||
#. The location of the user-specific data directory
|
||||
#: data/gtk/preferences.blp:369
|
||||
#, fuzzy
|
||||
msgid "User Location"
|
||||
msgstr "تنظیم مکان"
|
||||
msgstr "مکان کاربر"
|
||||
|
||||
#: data/gtk/preferences.blp:386
|
||||
msgid "Import Game Launchers"
|
||||
@@ -322,20 +321,19 @@ msgstr "ترجیح به تصویرهای رسمی"
|
||||
|
||||
#: data/gtk/preferences.blp:427
|
||||
msgid "Prefer Animated Images"
|
||||
msgstr "ترچیح تصویرهای پویا"
|
||||
msgstr "ترجیح تصویرهای پویا"
|
||||
|
||||
#: data/gtk/preferences.blp:433
|
||||
#, fuzzy
|
||||
msgid "Update Covers"
|
||||
msgstr "حذف طرح جلد"
|
||||
msgstr "بهروزرسانی طرح جلد"
|
||||
|
||||
#: data/gtk/preferences.blp:434
|
||||
msgid "Fetch covers for games already in your library"
|
||||
msgstr ""
|
||||
msgstr "دریافت طرح جلد بازیهای کنونی کتابخانهتان"
|
||||
|
||||
#: data/gtk/preferences.blp:439
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
msgstr "بهروزرسانی"
|
||||
|
||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14
|
||||
msgid "No Games Found"
|
||||
@@ -359,7 +357,7 @@ msgstr "بدون بازی نهفته"
|
||||
|
||||
#: data/gtk/window.blp:41
|
||||
msgid "Games you hide will appear here"
|
||||
msgstr "بازیهایی که پنهان میکنید، اینجا ظاهر خواهند شد"
|
||||
msgstr "بازیهایی که پنهان میکنید، اینجا نمایان خواهند شد"
|
||||
|
||||
#: data/gtk/window.blp:76 data/gtk/window.blp:111 cartridges/main.py:228
|
||||
msgid "All Games"
|
||||
@@ -407,7 +405,7 @@ msgstr "قدیمیترین"
|
||||
|
||||
#: data/gtk/window.blp:528
|
||||
msgid "Last Played"
|
||||
msgstr "آخرین بازی شده"
|
||||
msgstr "آخرین بازیشده"
|
||||
|
||||
#: data/gtk/window.blp:535
|
||||
msgid "Show Hidden"
|
||||
@@ -419,15 +417,15 @@ msgstr "دربارهٔ کارتریجها"
|
||||
|
||||
#: data/gtk/window.blp:561
|
||||
msgid "IGDB"
|
||||
msgstr ""
|
||||
msgstr "IGDB"
|
||||
|
||||
#: data/gtk/window.blp:563
|
||||
msgid "ProtonDB"
|
||||
msgstr ""
|
||||
msgstr "ProtonDB"
|
||||
|
||||
#: data/gtk/window.blp:565
|
||||
msgid "HowLongToBeat"
|
||||
msgstr ""
|
||||
msgstr "HowLongToBeat"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: cartridges/main.py:205 cartridges/game.py:125
|
||||
@@ -451,7 +449,7 @@ msgstr "هرگز"
|
||||
#. The variable is the date when the game was last played
|
||||
#: cartridges/window.py:380
|
||||
msgid "Last played: {}"
|
||||
msgstr "آخرین بازی شده: {}"
|
||||
msgstr "آخرین بازیشده: {}"
|
||||
|
||||
#: cartridges/details_dialog.py:73
|
||||
msgid "Apply"
|
||||
@@ -505,7 +503,7 @@ msgstr ""
|
||||
"\n"
|
||||
"<tt>\"{}\"</tt>\n"
|
||||
"\n"
|
||||
"برای گشودن پروندهٔ {}با برنامهٔ پیشگزیده:\n"
|
||||
"برای گشودن پروندهٔ {} با برنامهٔ پیشگزیده:\n"
|
||||
"\n"
|
||||
"<tt>{} \"{}\"</tt>\n"
|
||||
"\n"
|
||||
@@ -530,7 +528,7 @@ msgstr "نتوانست ترجیحات را اعمال کند"
|
||||
#. The variable is the title of the game
|
||||
#: cartridges/game.py:139
|
||||
msgid "{} hidden"
|
||||
msgstr "{}نهفته"
|
||||
msgstr "{} نهفته"
|
||||
|
||||
#: cartridges/game.py:139
|
||||
msgid "{} unhidden"
|
||||
@@ -555,11 +553,11 @@ msgstr ""
|
||||
|
||||
#: cartridges/preferences.py:196
|
||||
msgid "Downloading covers…"
|
||||
msgstr ""
|
||||
msgstr "در حال دریافت طرحهای جلد…"
|
||||
|
||||
#: cartridges/preferences.py:215
|
||||
msgid "Covers updated"
|
||||
msgstr ""
|
||||
msgstr "طرحهای جلد بهروزرسانی شد"
|
||||
|
||||
#: cartridges/preferences.py:360
|
||||
msgid "Installation Not Found"
|
||||
@@ -599,7 +597,7 @@ msgstr "هیچ بازی جدیدی پیدا نشد"
|
||||
|
||||
#: cartridges/importer/importer.py:379
|
||||
msgid "1 game imported"
|
||||
msgstr "۱ بازی درونریخته شد"
|
||||
msgstr "یک بازی درونریخته شد"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: cartridges/importer/importer.py:383
|
||||
|
||||
642
po/ie.po
Normal file
642
po/ie.po
Normal file
@@ -0,0 +1,642 @@
|
||||
# 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"
|
||||
641
po/te.po
Normal file
641
po/te.po
Normal file
@@ -0,0 +1,641 @@
|
||||
# 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 కీని ధృవీకరించండి"
|
||||
4
pyrightconfig.json
Normal file
4
pyrightconfig.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"reportRedeclaration": "none",
|
||||
"reportMissingModuleSource": "none"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
[wrap-git]
|
||||
directory = blueprint-compiler
|
||||
url = https://gitlab.gnome.org/jwestman/blueprint-compiler.git
|
||||
revision = v0.12.0
|
||||
revision = v0.14.0
|
||||
depth = 1
|
||||
|
||||
[provide]
|
||||
|
||||
Reference in New Issue
Block a user