Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
afd1972a76 | ||
|
|
8a7875b843 | ||
|
|
aec8a4efa7 | ||
|
|
2b93a1feeb | ||
|
|
5306b7c81c | ||
|
|
c5675efa48 | ||
|
|
83399c7882 | ||
|
|
04900c7acf | ||
|
|
3ae6b40773 | ||
|
|
4a5ebb3221 | ||
|
|
778caead01 | ||
|
|
2b7f520f2a | ||
|
|
c80f5271da | ||
|
|
f7cf7c4a3b | ||
|
|
c4aa903752 | ||
|
|
4559516b5a | ||
|
|
d4dbf9e589 | ||
|
|
1f7c9a8b0b | ||
|
|
725267c7b9 | ||
|
|
35d85a607f | ||
|
|
b086766b77 | ||
|
|
303f2a2063 | ||
|
|
3e1ef88a1f |
62
.github/workflows/ci.yml
vendored
62
.github/workflows/ci.yml
vendored
@@ -22,39 +22,39 @@ jobs:
|
|||||||
bundle: hu.kramo.Cartridges.Devel.flatpak
|
bundle: hu.kramo.Cartridges.Devel.flatpak
|
||||||
manifest-path: flatpak/hu.kramo.Cartridges.Devel.json
|
manifest-path: flatpak/hu.kramo.Cartridges.Devel.json
|
||||||
|
|
||||||
windows:
|
# windows:
|
||||||
name: Windows
|
# name: Windows
|
||||||
runs-on: windows-latest
|
# runs-on: windows-latest
|
||||||
steps:
|
# steps:
|
||||||
- name: Checkout
|
# - name: Checkout
|
||||||
uses: actions/checkout@v4
|
# uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup MSYS2
|
# - name: Setup MSYS2
|
||||||
uses: msys2/setup-msys2@v2
|
# uses: msys2/setup-msys2@v2
|
||||||
with:
|
# with:
|
||||||
msystem: UCRT64
|
# msystem: UCRT64
|
||||||
update: true
|
# update: true
|
||||||
install: mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-libadwaita mingw-w64-ucrt-x86_64-python-gobject mingw-w64-ucrt-x86_64-python-yaml mingw-w64-ucrt-x86_64-python-requests mingw-w64-ucrt-x86_64-python-pillow mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-ca-certificates mingw-w64-ucrt-x86_64-meson git
|
# install: mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-libadwaita mingw-w64-ucrt-x86_64-python-gobject mingw-w64-ucrt-x86_64-python-yaml mingw-w64-ucrt-x86_64-python-requests mingw-w64-ucrt-x86_64-python-pillow mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-ca-certificates mingw-w64-ucrt-x86_64-meson git
|
||||||
|
|
||||||
- name: Compile
|
# - name: Compile
|
||||||
shell: msys2 {0}
|
# shell: msys2 {0}
|
||||||
run: |
|
# run: |
|
||||||
meson setup _build
|
# meson setup _build
|
||||||
ninja -C _build install
|
# ninja -C _build install
|
||||||
pacman --noconfirm -Rs mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-meson git
|
# pacman --noconfirm -Rs mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-meson git
|
||||||
find /ucrt64/share/locale/ -type f ! -name "*cartridges.mo" -delete
|
# find /ucrt64/share/locale/ -type f ! -name "*cartridges.mo" -delete
|
||||||
|
|
||||||
- name: Test
|
# - name: Test
|
||||||
shell: msys2 {0}
|
# shell: msys2 {0}
|
||||||
run: |
|
# run: |
|
||||||
set +e
|
# set +e
|
||||||
timeout 2 cartridges; [ "$?" -eq "124" ]
|
# timeout 2 cartridges; [ "$?" -eq "124" ]
|
||||||
|
|
||||||
- name: Inno Setup
|
# - name: Inno Setup
|
||||||
run: iscc ".\_build\windows\Cartridges.iss"
|
# run: iscc ".\_build\windows\Cartridges.iss"
|
||||||
|
|
||||||
- name: Upload Artifact
|
# - name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v3
|
# uses: actions/upload-artifact@v3
|
||||||
with:
|
# with:
|
||||||
name: Windows Installer
|
# name: Windows Installer
|
||||||
path: _build/windows/Output/Cartridges Setup.exe
|
# path: _build/windows/Output/Cartridges Setup.exe
|
||||||
|
|||||||
6
.github/workflows/publish-release.yml
vendored
6
.github/workflows/publish-release.yml
vendored
@@ -39,7 +39,7 @@ jobs:
|
|||||||
- name: Publish release
|
- name: Publish release
|
||||||
uses: softprops/action-gh-release@v0.1.15
|
uses: softprops/action-gh-release@v0.1.15
|
||||||
with:
|
with:
|
||||||
files: Windows Installer/Cartridges Setup.exe
|
# files: Windows Installer/Cartridges Setup.exe
|
||||||
fail_on_unmatched_files: true
|
# fail_on_unmatched_files: true
|
||||||
tag_name: ${{ steps.get_tag_name.outputs.tag_name }}
|
tag_name: ${{ steps.get_tag_name.outputs.tag_name }}
|
||||||
body_path: release_notes
|
body_path: release_notes
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
The project follows the [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct).
|
The project follows the [GNOME Code of Conduct](https://conduct.gnome.org/).
|
||||||
|
|
||||||
If you believe that someone is violating the Code of Conduct, or have any other concerns, please contact us via [cartridges-community@kramo.page](mailto:cartridges-community@kramo.page).
|
If you believe that someone is violating the Code of Conduct, or have any other concerns, please contact us via [cartridges-community@kramo.page](mailto:cartridges-community@kramo.page).
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ Note: Windows might present you with a warning when trying to install the app. T
|
|||||||
|
|
||||||
### Winget
|
### Winget
|
||||||
|
|
||||||
Install the latest release with the command: `winget install cartridges`.
|
Install the latest release with the command: `winget install cartridges`.
|
||||||
|
|
||||||
## Building manually
|
## Building manually
|
||||||
|
|
||||||
@@ -96,6 +96,6 @@ Thanks to [Weblate](https://weblate.org/) for hosting our translations!
|
|||||||
|
|
||||||
# Code of Conduct
|
# Code of Conduct
|
||||||
|
|
||||||
The project follows the [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct).
|
The project follows the [GNOME Code of Conduct](https://conduct.gnome.org/).
|
||||||
|
|
||||||
See [CODE_OF_CONDUCT.md](https://github.com/kra-mo/cartridges/blob/main/CODE_OF_CONDUCT.md).
|
See [CODE_OF_CONDUCT.md](https://github.com/kra-mo/cartridges/blob/main/CODE_OF_CONDUCT.md).
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# details_window.py
|
# details_window.py
|
||||||
#
|
#
|
||||||
# Copyright 2022-2023 kramo
|
# Copyright 2022-2024 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -36,9 +36,9 @@ from cartridges.utils.create_dialog import create_dialog
|
|||||||
from cartridges.utils.save_cover import convert_cover, save_cover
|
from cartridges.utils.save_cover import convert_cover, save_cover
|
||||||
|
|
||||||
|
|
||||||
@Gtk.Template(resource_path=shared.PREFIX + "/gtk/details-window.ui")
|
@Gtk.Template(resource_path=shared.PREFIX + "/gtk/details-dialog.ui")
|
||||||
class DetailsWindow(Adw.Window):
|
class DetailsDialog(Adw.Dialog):
|
||||||
__gtype_name__ = "DetailsWindow"
|
__gtype_name__ = "DetailsDialog"
|
||||||
|
|
||||||
cover_overlay = Gtk.Template.Child()
|
cover_overlay = Gtk.Template.Child()
|
||||||
cover = Gtk.Template.Child()
|
cover = Gtk.Template.Child()
|
||||||
@@ -61,12 +61,9 @@ class DetailsWindow(Adw.Window):
|
|||||||
|
|
||||||
def __init__(self, game: Optional[Game] = None, **kwargs: Any):
|
def __init__(self, game: Optional[Game] = None, **kwargs: Any):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
|
|
||||||
self.game: Game = game
|
self.game: Game = game
|
||||||
self.game_cover: GameCover = GameCover({self.cover})
|
self.game_cover: GameCover = GameCover({self.cover})
|
||||||
|
|
||||||
self.set_transient_for(shared.win)
|
|
||||||
|
|
||||||
if self.game:
|
if self.game:
|
||||||
self.set_title(_("Game Details"))
|
self.set_title(_("Game Details"))
|
||||||
self.name.set_text(self.game.name)
|
self.name.set_text(self.game.name)
|
||||||
@@ -152,7 +149,6 @@ class DetailsWindow(Adw.Window):
|
|||||||
self.executable.connect("entry-activated", self.apply_preferences)
|
self.executable.connect("entry-activated", self.apply_preferences)
|
||||||
|
|
||||||
self.set_focus(self.name)
|
self.set_focus(self.name)
|
||||||
self.present()
|
|
||||||
|
|
||||||
def delete_pixbuf(self, *_args: Any) -> None:
|
def delete_pixbuf(self, *_args: Any) -> None:
|
||||||
self.game_cover.new_cover()
|
self.game_cover.new_cover()
|
||||||
@@ -325,7 +321,7 @@ class DetailsWindow(Adw.Window):
|
|||||||
self.executable.set_text(shlex.quote(path))
|
self.executable.set_text(shlex.quote(path))
|
||||||
|
|
||||||
def choose_executable(self, *_args: Any) -> None:
|
def choose_executable(self, *_args: Any) -> None:
|
||||||
self.exec_file_dialog.open(self, None, self.set_executable)
|
self.exec_file_dialog.open(self.get_root(), None, self.set_executable)
|
||||||
|
|
||||||
def choose_cover(self, *_args: Any) -> None:
|
def choose_cover(self, *_args: Any) -> None:
|
||||||
self.image_file_dialog.open(self, None, self.set_cover)
|
self.image_file_dialog.open(self.get_root(), None, self.set_cover)
|
||||||
@@ -40,7 +40,7 @@ class Importer(ErrorProducer):
|
|||||||
|
|
||||||
progressbar: Gtk.ProgressBar
|
progressbar: Gtk.ProgressBar
|
||||||
import_statuspage: Adw.StatusPage
|
import_statuspage: Adw.StatusPage
|
||||||
import_dialog: Adw.MessageDialog
|
import_dialog: Adw.AlertDialog
|
||||||
summary_toast: Optional[Adw.Toast] = None
|
summary_toast: Optional[Adw.Toast] = None
|
||||||
|
|
||||||
sources: set[Source]
|
sources: set[Source]
|
||||||
@@ -53,7 +53,7 @@ class Importer(ErrorProducer):
|
|||||||
removed_game_ids: set[str]
|
removed_game_ids: set[str]
|
||||||
imported_game_ids: set[str]
|
imported_game_ids: set[str]
|
||||||
|
|
||||||
close_req_id: int
|
close_attempt_id: int
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@@ -145,20 +145,17 @@ class Importer(ErrorProducer):
|
|||||||
title=_("Importing Games…"),
|
title=_("Importing Games…"),
|
||||||
child=self.progressbar,
|
child=self.progressbar,
|
||||||
)
|
)
|
||||||
self.import_dialog = Adw.Window(
|
self.import_dialog = Adw.Dialog(
|
||||||
content=self.import_statuspage,
|
child=self.import_statuspage,
|
||||||
modal=True,
|
content_width=350,
|
||||||
default_width=350,
|
can_close=False,
|
||||||
default_height=-1,
|
|
||||||
transient_for=shared.win,
|
|
||||||
deletable=False,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.close_req_id = self.import_dialog.connect(
|
self.close_attempt_id = self.import_dialog.connect(
|
||||||
"close-request", lambda *_: shared.win.close()
|
"close-attempt", lambda *_: shared.win.close()
|
||||||
)
|
)
|
||||||
|
|
||||||
self.import_dialog.present()
|
self.import_dialog.present(shared.win)
|
||||||
|
|
||||||
def source_task_thread_func(self, data: tuple) -> None:
|
def source_task_thread_func(self, data: tuple) -> None:
|
||||||
"""Source import task code"""
|
"""Source import task code"""
|
||||||
@@ -282,9 +279,9 @@ class Importer(ErrorProducer):
|
|||||||
self.imported_game_ids = shared.store.new_game_ids
|
self.imported_game_ids = shared.store.new_game_ids
|
||||||
shared.store.new_game_ids = set()
|
shared.store.new_game_ids = set()
|
||||||
shared.store.duplicate_game_ids = set()
|
shared.store.duplicate_game_ids = set()
|
||||||
# Disconnect the close-request signal that closes the main window
|
# Disconnect the close-attempt signal that closes the main window
|
||||||
self.import_dialog.disconnect(self.close_req_id)
|
self.import_dialog.disconnect(self.close_attempt_id)
|
||||||
self.import_dialog.close()
|
self.import_dialog.force_close()
|
||||||
self.__class__.summary_toast = self.create_summary_toast()
|
self.__class__.summary_toast = self.create_summary_toast()
|
||||||
self.create_error_dialog()
|
self.create_error_dialog()
|
||||||
shared.win.get_application().lookup_action("import").set_enabled(True)
|
shared.win.get_application().lookup_action("import").set_enabled(True)
|
||||||
@@ -317,13 +314,12 @@ class Importer(ErrorProducer):
|
|||||||
return
|
return
|
||||||
|
|
||||||
# Create error dialog
|
# Create error dialog
|
||||||
dialog = Adw.MessageDialog()
|
dialog = Adw.AlertDialog()
|
||||||
dialog.set_heading(_("Warning"))
|
dialog.set_heading(_("Warning"))
|
||||||
dialog.add_response("close", _("Dismiss"))
|
dialog.add_response("close", _("Dismiss"))
|
||||||
dialog.add_response("open_preferences_import", _("Preferences"))
|
dialog.add_response("open_preferences_import", _("Preferences"))
|
||||||
dialog.set_default_response("open_preferences_import")
|
dialog.set_default_response("open_preferences_import")
|
||||||
dialog.connect("response", self.dialog_response_callback)
|
dialog.connect("response", self.dialog_response_callback)
|
||||||
dialog.set_transient_for(shared.win)
|
|
||||||
|
|
||||||
if len(errors) == 1:
|
if len(errors) == 1:
|
||||||
dialog.set_heading((error := next(iter(errors)))[0])
|
dialog.set_heading((error := next(iter(errors)))[0])
|
||||||
@@ -342,7 +338,7 @@ class Importer(ErrorProducer):
|
|||||||
dialog.set_body(_("The following errors occured during import:"))
|
dialog.set_body(_("The following errors occured during import:"))
|
||||||
dialog.set_extra_child(list_box)
|
dialog.set_extra_child(list_box)
|
||||||
|
|
||||||
dialog.present()
|
dialog.present(shared.win)
|
||||||
|
|
||||||
def undo_import(self, *_args: Any) -> None:
|
def undo_import(self, *_args: Any) -> None:
|
||||||
for game_id in self.imported_game_ids:
|
for game_id in self.imported_game_ids:
|
||||||
@@ -407,7 +403,7 @@ class Importer(ErrorProducer):
|
|||||||
self,
|
self,
|
||||||
page_name: Optional[str] = None,
|
page_name: Optional[str] = None,
|
||||||
expander_row: Optional[Adw.ExpanderRow] = None,
|
expander_row: Optional[Adw.ExpanderRow] = None,
|
||||||
) -> Adw.PreferencesWindow:
|
) -> Adw.PreferencesDialog:
|
||||||
return shared.win.get_application().on_preferences_action(
|
return shared.win.get_application().on_preferences_action(
|
||||||
page_name=page_name, expander_row=expander_row
|
page_name=page_name, expander_row=expander_row
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# lutris_source.py
|
# lutris_source.py
|
||||||
#
|
#
|
||||||
# Copyright 2022-2023 kramo
|
# Copyright 2022-2024 kramo
|
||||||
# Copyright 2023 Geoffrey Coulaud
|
# Copyright 2023 Geoffrey Coulaud
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
@@ -54,6 +54,9 @@ class LutrisSourceIterable(SourceIterable):
|
|||||||
db_path = copy_db(self.source.locations.data["pga.db"])
|
db_path = copy_db(self.source.locations.data["pga.db"])
|
||||||
connection = connect(db_path)
|
connection = connect(db_path)
|
||||||
cursor = connection.execute(request, params)
|
cursor = connection.execute(request, params)
|
||||||
|
coverart_is_dir = (
|
||||||
|
coverart_path := self.source.locations.data.root / "coverart"
|
||||||
|
).is_dir()
|
||||||
|
|
||||||
# Create games from the DB results
|
# Create games from the DB results
|
||||||
for row in cursor:
|
for row in cursor:
|
||||||
@@ -69,10 +72,12 @@ class LutrisSourceIterable(SourceIterable):
|
|||||||
"executable": self.source.make_executable(game_id=row[0]),
|
"executable": self.source.make_executable(game_id=row[0]),
|
||||||
}
|
}
|
||||||
game = Game(values)
|
game = Game(values)
|
||||||
|
additional_data = {}
|
||||||
|
|
||||||
# Get official image path
|
# Get official image path
|
||||||
image_path = self.source.locations.data["coverart"] / f"{row[2]}.jpg"
|
if coverart_is_dir:
|
||||||
additional_data = {"local_image_path": image_path}
|
image_path = coverart_path / f"{row[2]}.jpg"
|
||||||
|
additional_data["local_image_path"] = image_path
|
||||||
|
|
||||||
yield (game, additional_data)
|
yield (game, additional_data)
|
||||||
|
|
||||||
@@ -111,7 +116,6 @@ class LutrisSource(URLExecutableSource):
|
|||||||
),
|
),
|
||||||
paths={
|
paths={
|
||||||
"pga.db": LocationSubPath("pga.db"),
|
"pga.db": LocationSubPath("pga.db"),
|
||||||
"coverart": LocationSubPath("coverart", True),
|
|
||||||
},
|
},
|
||||||
invalid_subtitle=Location.DATA_INVALID_SUBTITLE,
|
invalid_subtitle=Location.DATA_INVALID_SUBTITLE,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# main.py
|
# main.py
|
||||||
#
|
#
|
||||||
# Copyright 2022-2023 kramo
|
# Copyright 2022-2024 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -34,7 +34,7 @@ gi.require_version("Adw", "1")
|
|||||||
from gi.repository import Adw, Gio, GLib, Gtk
|
from gi.repository import Adw, Gio, GLib, Gtk
|
||||||
|
|
||||||
from cartridges import shared
|
from cartridges import shared
|
||||||
from cartridges.details_window import DetailsWindow
|
from cartridges.details_dialog import DetailsDialog
|
||||||
from cartridges.game import Game
|
from cartridges.game import Game
|
||||||
from cartridges.importer.bottles_source import BottlesSource
|
from cartridges.importer.bottles_source import BottlesSource
|
||||||
from cartridges.importer.desktop_source import DesktopSource
|
from cartridges.importer.desktop_source import DesktopSource
|
||||||
@@ -47,7 +47,7 @@ from cartridges.importer.lutris_source import LutrisSource
|
|||||||
from cartridges.importer.retroarch_source import RetroarchSource
|
from cartridges.importer.retroarch_source import RetroarchSource
|
||||||
from cartridges.importer.steam_source import SteamSource
|
from cartridges.importer.steam_source import SteamSource
|
||||||
from cartridges.logging.setup import log_system_info, setup_logging
|
from cartridges.logging.setup import log_system_info, setup_logging
|
||||||
from cartridges.preferences import PreferencesWindow
|
from cartridges.preferences import CartridgesPreferences
|
||||||
from cartridges.store.managers.cover_manager import CoverManager
|
from cartridges.store.managers.cover_manager import CoverManager
|
||||||
from cartridges.store.managers.display_manager import DisplayManager
|
from cartridges.store.managers.display_manager import DisplayManager
|
||||||
from cartridges.store.managers.file_manager import FileManager
|
from cartridges.store.managers.file_manager import FileManager
|
||||||
@@ -153,7 +153,6 @@ class CartridgesApplication(Adw.Application):
|
|||||||
("go_to_parent", ("<alt>Up",), shared.win),
|
("go_to_parent", ("<alt>Up",), shared.win),
|
||||||
("go_home", ("<alt>Home",), shared.win),
|
("go_home", ("<alt>Home",), shared.win),
|
||||||
("toggle_search", ("<primary>f",), shared.win),
|
("toggle_search", ("<primary>f",), shared.win),
|
||||||
("escape", ("Escape",), shared.win),
|
|
||||||
("undo", ("<primary>z",), shared.win),
|
("undo", ("<primary>z",), shared.win),
|
||||||
("open_menu", ("F10",), shared.win),
|
("open_menu", ("F10",), shared.win),
|
||||||
("close", ("<primary>w",), shared.win),
|
("close", ("<primary>w",), shared.win),
|
||||||
@@ -246,10 +245,9 @@ class CartridgesApplication(Adw.Application):
|
|||||||
debug_str += log_file.read()
|
debug_str += log_file.read()
|
||||||
log_file.close()
|
log_file.close()
|
||||||
|
|
||||||
about = Adw.AboutWindow.new_from_appdata(
|
about = Adw.AboutDialog.new_from_appdata(
|
||||||
shared.PREFIX + "/" + shared.APP_ID + ".metainfo.xml", shared.VERSION
|
shared.PREFIX + "/" + shared.APP_ID + ".metainfo.xml", shared.VERSION
|
||||||
)
|
)
|
||||||
about.set_transient_for(shared.win)
|
|
||||||
about.set_developers(
|
about.set_developers(
|
||||||
(
|
(
|
||||||
"kramo https://kramo.page",
|
"kramo https://kramo.page",
|
||||||
@@ -264,7 +262,7 @@ class CartridgesApplication(Adw.Application):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
about.set_designers(("kramo https://kramo.page",))
|
about.set_designers(("kramo https://kramo.page",))
|
||||||
about.set_copyright("© 2022-2023 kramo")
|
about.set_copyright("© 2022-2024 kramo")
|
||||||
# Translators: Replace this with your name for it to show up in the about window
|
# Translators: Replace this with your name for it to show up in the about window
|
||||||
about.set_translator_credits = (_("translator_credits"),)
|
about.set_translator_credits = (_("translator_credits"),)
|
||||||
about.set_debug_info(debug_str)
|
about.set_debug_info(debug_str)
|
||||||
@@ -275,7 +273,7 @@ class CartridgesApplication(Adw.Application):
|
|||||||
Gtk.License.CUSTOM,
|
Gtk.License.CUSTOM,
|
||||||
"Steam and the Steam logo are trademarks and/or registered trademarks of Valve Corporation in the U.S. and/or other countries.", # pylint: disable=line-too-long
|
"Steam and the Steam logo are trademarks and/or registered trademarks of Valve Corporation in the U.S. and/or other countries.", # pylint: disable=line-too-long
|
||||||
)
|
)
|
||||||
about.present()
|
about.present(shared.win)
|
||||||
|
|
||||||
def on_preferences_action(
|
def on_preferences_action(
|
||||||
self,
|
self,
|
||||||
@@ -284,12 +282,12 @@ class CartridgesApplication(Adw.Application):
|
|||||||
page_name: Optional[str] = None,
|
page_name: Optional[str] = None,
|
||||||
expander_row: Optional[str] = None,
|
expander_row: Optional[str] = None,
|
||||||
) -> CartridgesWindow:
|
) -> CartridgesWindow:
|
||||||
win = PreferencesWindow()
|
win = CartridgesPreferences()
|
||||||
if page_name:
|
if page_name:
|
||||||
win.set_visible_page_name(page_name)
|
win.set_visible_page_name(page_name)
|
||||||
if expander_row:
|
if expander_row:
|
||||||
getattr(win, expander_row).set_expanded(True)
|
getattr(win, expander_row).set_expanded(True)
|
||||||
win.present()
|
win.present(shared.win)
|
||||||
|
|
||||||
return win
|
return win
|
||||||
|
|
||||||
@@ -300,10 +298,10 @@ class CartridgesApplication(Adw.Application):
|
|||||||
shared.win.active_game.toggle_hidden()
|
shared.win.active_game.toggle_hidden()
|
||||||
|
|
||||||
def on_edit_game_action(self, *_args: Any) -> None:
|
def on_edit_game_action(self, *_args: Any) -> None:
|
||||||
DetailsWindow(shared.win.active_game)
|
DetailsDialog(shared.win.active_game).present(shared.win)
|
||||||
|
|
||||||
def on_add_game_action(self, *_args: Any) -> None:
|
def on_add_game_action(self, *_args: Any) -> None:
|
||||||
DetailsWindow()
|
DetailsDialog().present(shared.win)
|
||||||
|
|
||||||
def on_import_action(self, *_args: Any) -> None:
|
def on_import_action(self, *_args: Any) -> None:
|
||||||
shared.importer = Importer()
|
shared.importer = Importer()
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ install_data(
|
|||||||
'main.py',
|
'main.py',
|
||||||
'window.py',
|
'window.py',
|
||||||
'preferences.py',
|
'preferences.py',
|
||||||
'details_window.py',
|
'details_dialog.py',
|
||||||
'game.py',
|
'game.py',
|
||||||
'game_cover.py',
|
'game_cover.py',
|
||||||
configure_file(
|
configure_file(
|
||||||
@@ -28,4 +28,4 @@ install_data(
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
install_dir: moduledir
|
install_dir: moduledir
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ from cartridges.utils.create_dialog import create_dialog
|
|||||||
|
|
||||||
|
|
||||||
@Gtk.Template(resource_path=shared.PREFIX + "/gtk/preferences.ui")
|
@Gtk.Template(resource_path=shared.PREFIX + "/gtk/preferences.ui")
|
||||||
class PreferencesWindow(Adw.PreferencesWindow):
|
class CartridgesPreferences(Adw.PreferencesDialog):
|
||||||
__gtype_name__ = "PreferencesWindow"
|
__gtype_name__ = "CartridgesPreferences"
|
||||||
|
|
||||||
general_page = Gtk.Template.Child()
|
general_page = Gtk.Template.Child()
|
||||||
import_page = Gtk.Template.Child()
|
import_page = Gtk.Template.Child()
|
||||||
@@ -121,7 +121,6 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
def __init__(self, **kwargs: Any) -> None:
|
def __init__(self, **kwargs: Any) -> None:
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
self.file_chooser = Gtk.FileDialog()
|
self.file_chooser = Gtk.FileDialog()
|
||||||
self.set_transient_for(shared.win)
|
|
||||||
|
|
||||||
self.toast = Adw.Toast.new(_("All games removed"))
|
self.toast = Adw.Toast.new(_("All games removed"))
|
||||||
self.toast.set_button_label(_("Undo"))
|
self.toast.set_button_label(_("Undo"))
|
||||||
|
|||||||
@@ -28,12 +28,12 @@ def create_dialog(
|
|||||||
body: str,
|
body: str,
|
||||||
extra_option: Optional[str] = None,
|
extra_option: Optional[str] = None,
|
||||||
extra_label: Optional[str] = None,
|
extra_label: Optional[str] = None,
|
||||||
) -> Adw.MessageDialog:
|
) -> Adw.AlertDialog:
|
||||||
dialog = Adw.MessageDialog.new(win, heading, body)
|
dialog = Adw.AlertDialog.new(heading, body)
|
||||||
dialog.add_response("dismiss", _("Dismiss"))
|
dialog.add_response("dismiss", _("Dismiss"))
|
||||||
|
|
||||||
if extra_option:
|
if extra_option:
|
||||||
dialog.add_response(extra_option, _(extra_label))
|
dialog.add_response(extra_option, _(extra_label))
|
||||||
|
|
||||||
dialog.present()
|
dialog.choose(win)
|
||||||
return dialog
|
return dialog
|
||||||
|
|||||||
@@ -469,15 +469,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
|
|
||||||
search_entry.set_text("")
|
search_entry.set_text("")
|
||||||
|
|
||||||
def on_escape_action(self, *_args: Any) -> None:
|
|
||||||
if (
|
|
||||||
self.get_focus() == self.search_entry.get_focus_child()
|
|
||||||
or self.hidden_search_entry.get_focus_child()
|
|
||||||
):
|
|
||||||
self.on_toggle_search_action()
|
|
||||||
else:
|
|
||||||
self.navigation_view.pop()
|
|
||||||
|
|
||||||
def show_details_page_search(self, widget: Gtk.Widget) -> None:
|
def show_details_page_search(self, widget: Gtk.Widget) -> None:
|
||||||
library = (
|
library = (
|
||||||
self.hidden_library if widget == self.hidden_search_entry else self.library
|
self.hidden_library if widget == self.hidden_search_entry else self.library
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
|
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
|
||||||
<file preprocess="xml-stripblanks">gtk/game.ui</file>
|
<file preprocess="xml-stripblanks">gtk/game.ui</file>
|
||||||
<file preprocess="xml-stripblanks">gtk/preferences.ui</file>
|
<file preprocess="xml-stripblanks">gtk/preferences.ui</file>
|
||||||
<file preprocess="xml-stripblanks">gtk/details-window.ui</file>
|
<file preprocess="xml-stripblanks">gtk/details-dialog.ui</file>
|
||||||
<file alias="style.css">gtk/style.css</file>
|
<file alias="style.css">gtk/style.css</file>
|
||||||
<file alias="style-dark.css">gtk/style-dark.css</file>
|
<file alias="style-dark.css">gtk/style-dark.css</file>
|
||||||
<file>library_placeholder.svg</file>
|
<file>library_placeholder.svg</file>
|
||||||
|
|||||||
@@ -1,17 +1,8 @@
|
|||||||
using Gtk 4.0;
|
using Gtk 4.0;
|
||||||
using Adw 1;
|
using Adw 1;
|
||||||
|
|
||||||
template $DetailsWindow : Adw.Window {
|
template $DetailsDialog : Adw.Dialog {
|
||||||
default-width: 480; // Same as Nautilus' properties window
|
content-width: 480;
|
||||||
default-height: -1;
|
|
||||||
modal: true;
|
|
||||||
|
|
||||||
ShortcutController {
|
|
||||||
Shortcut {
|
|
||||||
trigger: "Escape";
|
|
||||||
action: "action(window.close)";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Adw.ToolbarView {
|
Adw.ToolbarView {
|
||||||
|
|
||||||
@@ -85,7 +76,7 @@ template $DetailsWindow : Adw.Window {
|
|||||||
Picture cover {
|
Picture cover {
|
||||||
width-request: 200;
|
width-request: 200;
|
||||||
height-request: 300;
|
height-request: 300;
|
||||||
|
|
||||||
styles [
|
styles [
|
||||||
"card"
|
"card"
|
||||||
]
|
]
|
||||||
@@ -149,4 +140,4 @@ template $DetailsWindow : Adw.Window {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
using Gtk 4.0;
|
using Gtk 4.0;
|
||||||
using Adw 1;
|
using Adw 1;
|
||||||
|
|
||||||
template $PreferencesWindow : Adw.PreferencesWindow {
|
template $CartridgesPreferences : Adw.PreferencesDialog {
|
||||||
|
search-enabled: true;
|
||||||
|
|
||||||
Adw.PreferencesPage general_page {
|
Adw.PreferencesPage general_page {
|
||||||
name: "general";
|
name: "general";
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ Adw.StatusPage hidden_notice_empty {
|
|||||||
|
|
||||||
template $CartridgesWindow : Adw.ApplicationWindow {
|
template $CartridgesWindow : Adw.ApplicationWindow {
|
||||||
title: _("Cartridges");
|
title: _("Cartridges");
|
||||||
width-request: 281;
|
width-request: 360;
|
||||||
height-request: 100;
|
height-request: 100;
|
||||||
|
|
||||||
Adw.Breakpoint {
|
Adw.Breakpoint {
|
||||||
@@ -75,6 +75,8 @@ template $CartridgesWindow : Adw.ApplicationWindow {
|
|||||||
title: _("All Games");
|
title: _("All Games");
|
||||||
|
|
||||||
Adw.OverlaySplitView overlay_split_view {
|
Adw.OverlaySplitView overlay_split_view {
|
||||||
|
sidebar-width-fraction: .2;
|
||||||
|
|
||||||
[sidebar]
|
[sidebar]
|
||||||
Adw.NavigationPage {
|
Adw.NavigationPage {
|
||||||
title: _("Cartridges");
|
title: _("Cartridges");
|
||||||
@@ -199,6 +201,13 @@ template $CartridgesWindow : Adw.ApplicationWindow {
|
|||||||
SearchEntry search_entry {
|
SearchEntry search_entry {
|
||||||
placeholder-text: _("Search");
|
placeholder-text: _("Search");
|
||||||
hexpand: true;
|
hexpand: true;
|
||||||
|
|
||||||
|
ShortcutController {
|
||||||
|
Shortcut {
|
||||||
|
trigger: "Escape";
|
||||||
|
action: "action(win.toggle_search)";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,18 +16,22 @@
|
|||||||
<url type="contribute">https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md</url>
|
<url type="contribute">https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md</url>
|
||||||
<!-- developer_name tag deprecated with Appstream 1.0 -->
|
<!-- developer_name tag deprecated with Appstream 1.0 -->
|
||||||
<developer_name translatable="no">kramo</developer_name>
|
<developer_name translatable="no">kramo</developer_name>
|
||||||
<developer id="kramo.page">
|
<developer id="page.kramo">
|
||||||
<name translatable="no">kramo</name>
|
<name translatable="no">kramo</name>
|
||||||
</developer>
|
</developer>
|
||||||
<launchable type="desktop-id">@APP_ID@.desktop</launchable>
|
<launchable type="desktop-id">@APP_ID@.desktop</launchable>
|
||||||
<translation type="gettext">cartridges</translation>
|
<translation type="gettext">cartridges</translation>
|
||||||
|
<branding>
|
||||||
|
<color type="primary" scheme_preference="light">#d5b0e7</color>
|
||||||
|
<color type="primary" scheme_preference="dark">#501a5c</color>
|
||||||
|
</branding>
|
||||||
<supports>
|
<supports>
|
||||||
<control>pointing</control>
|
<control>pointing</control>
|
||||||
<control>keyboard</control>
|
<control>keyboard</control>
|
||||||
<control>touch</control>
|
<control>touch</control>
|
||||||
</supports>
|
</supports>
|
||||||
<recommends>
|
<recommends>
|
||||||
<display_length compare="gt">280</display_length>
|
<display_length compare="ge">360</display_length>
|
||||||
</recommends>
|
</recommends>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">
|
<screenshot type="default">
|
||||||
@@ -49,11 +53,18 @@
|
|||||||
</screenshots>
|
</screenshots>
|
||||||
<content_rating type="oars-1.1" />
|
<content_rating type="oars-1.1" />
|
||||||
<releases>
|
<releases>
|
||||||
<release version="2.7.3" date="2024-02-17">
|
<release version="2.8.1" date="2024-03-23">
|
||||||
<description translatable="no">
|
<description translatable="no">
|
||||||
<ul>
|
<ul>
|
||||||
<li>Updated Lutris locations so importing works again</li>
|
<li>Fixes an issue with Lutris games not importing</li>
|
||||||
<li>Other miscellaneous bug fixes</li>
|
<li>Fixes an issue with file chooser buttons being unresponsive</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="2.8" date="2024-03-20">
|
||||||
|
<description translatable="no">
|
||||||
|
<ul>
|
||||||
|
<li>The app features new adaptive widgets taking advantage of developments in GNOME 46</li>
|
||||||
</ul>
|
</ul>
|
||||||
</description>
|
</description>
|
||||||
</release>
|
</release>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ blueprints = custom_target('blueprints',
|
|||||||
'gtk/window.blp',
|
'gtk/window.blp',
|
||||||
'gtk/game.blp',
|
'gtk/game.blp',
|
||||||
'gtk/preferences.blp',
|
'gtk/preferences.blp',
|
||||||
'gtk/details-window.blp'
|
'gtk/details-dialog.blp'
|
||||||
),
|
),
|
||||||
output: '.',
|
output: '.',
|
||||||
command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],
|
command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id" : "hu.kramo.Cartridges.Devel",
|
"id" : "hu.kramo.Cartridges.Devel",
|
||||||
"runtime" : "org.gnome.Platform",
|
"runtime" : "org.gnome.Platform",
|
||||||
"runtime-version" : "45",
|
"runtime-version" : "46",
|
||||||
"sdk" : "org.gnome.Sdk",
|
"sdk" : "org.gnome.Sdk",
|
||||||
"command" : "cartridges",
|
"command" : "cartridges",
|
||||||
"finish-args" : [
|
"finish-args" : [
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
project('cartridges',
|
project('cartridges',
|
||||||
version: '2.7.3',
|
version: '2.8.1',
|
||||||
meson_version: '>= 0.59.0',
|
meson_version: '>= 0.59.0',
|
||||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||||
)
|
)
|
||||||
|
|||||||
12
po/de.po
12
po/de.po
@@ -11,7 +11,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: Cartridges\n"
|
"Project-Id-Version: Cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
||||||
"PO-Revision-Date: 2024-02-17 13:07+0000\n"
|
"PO-Revision-Date: 2024-02-19 06:35+0000\n"
|
||||||
"Last-Translator: Konstantin Tutsch <mail@konstantintutsch.com>\n"
|
"Last-Translator: Konstantin Tutsch <mail@konstantintutsch.com>\n"
|
||||||
"Language-Team: German <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: German <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/de/>\n"
|
"cartridges/de/>\n"
|
||||||
@@ -36,7 +36,7 @@ msgstr "Spiele-Launcher"
|
|||||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||||
msgid "Launch all your games"
|
msgid "Launch all your games"
|
||||||
msgstr "Starte all deine Spiele"
|
msgstr "Starten Sie alle Ihre Spiele"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:11
|
#: data/hu.kramo.Cartridges.desktop.in:11
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -51,10 +51,10 @@ msgid ""
|
|||||||
"necessary. You can sort and hide games or download cover art from "
|
"necessary. You can sort and hide games or download cover art from "
|
||||||
"SteamGridDB."
|
"SteamGridDB."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Cartridges ist ein einfacher Spiel-Launcher. Es unterstützt das Importieren "
|
"Cartridges ist ein einfacher Game Launcher für alle deine Spiele. Es bietet "
|
||||||
"von Spielen aus Steam, Lutris, Heroic und mehr, keine Anmeldung "
|
"Unterstützung für den Import von Spielen aus Steam, Lutris, Heroic und mehr, "
|
||||||
"erforderlich. Du kannst sortieren, Spiele verstecken oder das Cover-Art aus "
|
"ohne dass eine Anmeldung erforderlich ist. Sie können Spiele sortieren und "
|
||||||
"SteamGRID herunterladen."
|
"ausblenden oder Cover-Art von SteamGridDB herunterladen."
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:36 data/gtk/window.blp:290
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:36 data/gtk/window.blp:290
|
||||||
#: cartridges/details_window.py:71
|
#: cartridges/details_window.py:71
|
||||||
|
|||||||
48
po/es.po
48
po/es.po
@@ -1,7 +1,7 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# SOME DESCRIPTIVE TITLE.
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the cartridges package.
|
# This file is distributed under the same license as the cartridges package.
|
||||||
# Óscar Fernández Díaz <oscfdezdz@users.noreply.hosted.weblate.org>, 2023.
|
# Óscar Fernández Díaz <oscfdezdz@users.noreply.hosted.weblate.org>, 2023, 2024.
|
||||||
# gallegonovato <fran-carro@hotmail.es>, 2023.
|
# gallegonovato <fran-carro@hotmail.es>, 2023.
|
||||||
# kramo <contact@kramo.hu>, 2023.
|
# kramo <contact@kramo.hu>, 2023.
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -9,8 +9,9 @@ msgstr ""
|
|||||||
"Project-Id-Version: cartridges\n"
|
"Project-Id-Version: cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
||||||
"PO-Revision-Date: 2023-12-15 13:10+0000\n"
|
"PO-Revision-Date: 2024-02-19 06:35+0000\n"
|
||||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
"Last-Translator: Óscar Fernández Díaz <oscfdezdz@users.noreply.hosted.weblate"
|
||||||
|
".org>\n"
|
||||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: Spanish <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/es/>\n"
|
"cartridges/es/>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@@ -18,7 +19,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 5.3\n"
|
"X-Generator: Weblate 5.4\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6
|
||||||
@@ -40,8 +41,8 @@ msgstr "Lance todos sus juegos"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
|
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"juegos;lanzador;steam;lutris;heroico;botellas;itch;flatpak;legendario;"
|
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
|
||||||
"retroarch;"
|
"juegos;lanzador;"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -96,7 +97,7 @@ msgstr "Ejecutable"
|
|||||||
|
|
||||||
#: data/gtk/details-window.blp:114
|
#: data/gtk/details-window.blp:114
|
||||||
msgid "Select File"
|
msgid "Select File"
|
||||||
msgstr "Seleccionar el archivo"
|
msgstr "Seleccionar archivo"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:125
|
#: data/gtk/details-window.blp:125
|
||||||
msgid "More Info"
|
msgid "More Info"
|
||||||
@@ -142,7 +143,7 @@ msgstr "Salir"
|
|||||||
|
|
||||||
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:88 data/gtk/window.blp:164
|
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:88 data/gtk/window.blp:164
|
||||||
msgid "Toggle Sidebar"
|
msgid "Toggle Sidebar"
|
||||||
msgstr "Alternar la barra lateral"
|
msgstr "Conmutar la barra lateral"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:177 data/gtk/window.blp:237
|
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:177 data/gtk/window.blp:237
|
||||||
msgid "Main Menu"
|
msgid "Main Menu"
|
||||||
@@ -163,11 +164,11 @@ msgstr "Importar"
|
|||||||
|
|
||||||
#: data/gtk/help-overlay.blp:63
|
#: data/gtk/help-overlay.blp:63
|
||||||
msgid "Show Hidden Games"
|
msgid "Show Hidden Games"
|
||||||
msgstr "Mostrar los juegos ocultos"
|
msgstr "Mostrar juegos ocultos"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:68
|
#: data/gtk/help-overlay.blp:68
|
||||||
msgid "Remove Game"
|
msgid "Remove Game"
|
||||||
msgstr "Eliminar el juego"
|
msgstr "Eliminar juego"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:12 data/gtk/preferences.blp:116
|
#: data/gtk/preferences.blp:12 data/gtk/preferences.blp:116
|
||||||
#: data/gtk/preferences.blp:381
|
#: data/gtk/preferences.blp:381
|
||||||
@@ -257,7 +258,7 @@ msgstr "Importar juegos de GOG"
|
|||||||
|
|
||||||
#: data/gtk/preferences.blp:220
|
#: data/gtk/preferences.blp:220
|
||||||
msgid "Import Amazon Games"
|
msgid "Import Amazon Games"
|
||||||
msgstr "Importar de Amazon Games"
|
msgstr "Importar juegos de Amazon"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:224
|
#: data/gtk/preferences.blp:224
|
||||||
msgid "Import Sideloaded Games"
|
msgid "Import Sideloaded Games"
|
||||||
@@ -299,7 +300,7 @@ msgstr "Importar lanzadores de juegos"
|
|||||||
|
|
||||||
#: data/gtk/preferences.blp:357 cartridges/importer/desktop_source.py:215
|
#: data/gtk/preferences.blp:357 cartridges/importer/desktop_source.py:215
|
||||||
msgid "Desktop Entries"
|
msgid "Desktop Entries"
|
||||||
msgstr "Entradas en el escritorio"
|
msgstr "Entradas de escritorio"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:369 data/gtk/window.blp:537
|
#: data/gtk/preferences.blp:369 data/gtk/window.blp:537
|
||||||
msgid "SteamGridDB"
|
msgid "SteamGridDB"
|
||||||
@@ -331,11 +332,11 @@ msgstr "Prefiero las imágenes animadas"
|
|||||||
|
|
||||||
#: data/gtk/preferences.blp:399
|
#: data/gtk/preferences.blp:399
|
||||||
msgid "Update Covers"
|
msgid "Update Covers"
|
||||||
msgstr "Actualización de las portadas"
|
msgstr "Actualizar las portadas"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:400
|
#: data/gtk/preferences.blp:400
|
||||||
msgid "Fetch covers for games already in your library"
|
msgid "Fetch covers for games already in your library"
|
||||||
msgstr "Busca las carátulas de los juegos de tu biblioteca"
|
msgstr "Busca las portadas de los juegos de su biblioteca"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:405
|
#: data/gtk/preferences.blp:405
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
@@ -571,7 +572,7 @@ msgstr "Instalación no encontrada"
|
|||||||
|
|
||||||
#: cartridges/preferences.py:346
|
#: cartridges/preferences.py:346
|
||||||
msgid "Select a valid directory."
|
msgid "Select a valid directory."
|
||||||
msgstr "Selecciona un directorio válido."
|
msgstr "Seleccione un directorio válido."
|
||||||
|
|
||||||
#: cartridges/preferences.py:382 cartridges/importer/importer.py:317
|
#: cartridges/preferences.py:382 cartridges/importer/importer.py:317
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
@@ -579,7 +580,7 @@ msgstr "Advertencia"
|
|||||||
|
|
||||||
#: cartridges/preferences.py:416
|
#: cartridges/preferences.py:416
|
||||||
msgid "Invalid Directory"
|
msgid "Invalid Directory"
|
||||||
msgstr "Directorio incorrecto"
|
msgstr "Directorio no válido"
|
||||||
|
|
||||||
#: cartridges/preferences.py:422
|
#: cartridges/preferences.py:422
|
||||||
msgid "Set Location"
|
msgid "Set Location"
|
||||||
@@ -608,7 +609,7 @@ msgstr "1 juego importado"
|
|||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: cartridges/importer/importer.py:383
|
#: cartridges/importer/importer.py:383
|
||||||
msgid "{} games imported"
|
msgid "{} games imported"
|
||||||
msgstr "0 juegos importados"
|
msgstr "{} juegos importados"
|
||||||
|
|
||||||
#. A single game removed
|
#. A single game removed
|
||||||
#: cartridges/importer/importer.py:387
|
#: cartridges/importer/importer.py:387
|
||||||
@@ -618,26 +619,27 @@ msgstr "1 eliminado"
|
|||||||
#. The variable is the name of the source
|
#. The variable is the name of the source
|
||||||
#: cartridges/importer/location.py:33
|
#: cartridges/importer/location.py:33
|
||||||
msgid "Select the {} cache directory."
|
msgid "Select the {} cache directory."
|
||||||
msgstr "Seleccione el directorio de la caché {}."
|
msgstr "Seleccione el directorio de la caché de {}."
|
||||||
|
|
||||||
#. The variable is the name of the source
|
#. The variable is the name of the source
|
||||||
#: cartridges/importer/location.py:35
|
#: cartridges/importer/location.py:35
|
||||||
msgid "Select the {} configuration directory."
|
msgid "Select the {} configuration directory."
|
||||||
msgstr "Seleccione el directorio de configuración {}."
|
msgstr "Seleccione el directorio de configuración de {}."
|
||||||
|
|
||||||
#. The variable is the name of the source
|
#. The variable is the name of the source
|
||||||
#: cartridges/importer/location.py:37
|
#: cartridges/importer/location.py:37
|
||||||
msgid "Select the {} data directory."
|
msgid "Select the {} data directory."
|
||||||
msgstr "Seleccione el directorio de datos {}."
|
msgstr "Selecciona el directorio de los datos {}."
|
||||||
|
|
||||||
#: cartridges/importer/retroarch_source.py:129
|
#: cartridges/importer/retroarch_source.py:129
|
||||||
msgid "No RetroArch Core Selected"
|
msgid "No RetroArch Core Selected"
|
||||||
msgstr "No seleccionaste ningún núcleo para RetroArch"
|
msgstr "No hay ningún núcleo RetroArch seleccionado"
|
||||||
|
|
||||||
#. The variable is a newline separated list of playlists
|
#. The variable is a newline separated list of playlists
|
||||||
#: cartridges/importer/retroarch_source.py:131
|
#: cartridges/importer/retroarch_source.py:131
|
||||||
msgid "The following playlists have no default core:"
|
msgid "The following playlists have no default core:"
|
||||||
msgstr "Las siguientes listas de reproducción no tienen un núcleo por defecto:"
|
msgstr ""
|
||||||
|
"Las siguientes listas de reproducción no tienen un núcleo predeterminado:"
|
||||||
|
|
||||||
#: cartridges/importer/retroarch_source.py:133
|
#: cartridges/importer/retroarch_source.py:133
|
||||||
msgid "Games with no core selected were not imported"
|
msgid "Games with no core selected were not imported"
|
||||||
@@ -649,7 +651,7 @@ msgstr "No se ha podido autenticar SteamGridDB"
|
|||||||
|
|
||||||
#: cartridges/store/managers/sgdb_manager.py:47
|
#: cartridges/store/managers/sgdb_manager.py:47
|
||||||
msgid "Verify your API key in preferences"
|
msgid "Verify your API key in preferences"
|
||||||
msgstr "Verifica tu clave API en las preferencias"
|
msgstr "Verifique su clave API en las preferencias"
|
||||||
|
|
||||||
#~ msgid "Library"
|
#~ msgid "Library"
|
||||||
#~ msgstr "Biblioteca"
|
#~ msgstr "Biblioteca"
|
||||||
|
|||||||
9
po/it.po
9
po/it.po
@@ -5,13 +5,14 @@
|
|||||||
# albanobattistella <albano_battistella@hotmail.com>, 2023.
|
# albanobattistella <albano_battistella@hotmail.com>, 2023.
|
||||||
# kramo <contact@kramo.hu>, 2023.
|
# kramo <contact@kramo.hu>, 2023.
|
||||||
# Giasko <dibiame@hotmail.it>, 2023.
|
# Giasko <dibiame@hotmail.it>, 2023.
|
||||||
|
# Andrea Costola <lamaildiandreac@gmail.com>, 2024.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: cartridges\n"
|
"Project-Id-Version: cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
||||||
"PO-Revision-Date: 2023-12-26 16:08+0000\n"
|
"PO-Revision-Date: 2024-02-24 08:02+0000\n"
|
||||||
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
|
"Last-Translator: Andrea Costola <lamaildiandreac@gmail.com>\n"
|
||||||
"Language-Team: Italian <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: Italian <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/it/>\n"
|
"cartridges/it/>\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
@@ -19,7 +20,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 5.4-dev\n"
|
"X-Generator: Weblate 5.5-dev\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6
|
||||||
@@ -423,7 +424,7 @@ msgstr "Informazioni su Cartucce"
|
|||||||
|
|
||||||
#: data/gtk/window.blp:536
|
#: data/gtk/window.blp:536
|
||||||
msgid "IGDB"
|
msgid "IGDB"
|
||||||
msgstr ""
|
msgstr "IGDB"
|
||||||
|
|
||||||
#: data/gtk/window.blp:538
|
#: data/gtk/window.blp:538
|
||||||
msgid "ProtonDB"
|
msgid "ProtonDB"
|
||||||
|
|||||||
315
po/ko.po
315
po/ko.po
@@ -2,13 +2,14 @@
|
|||||||
# Copyright (C) YEAR kramo
|
# Copyright (C) YEAR kramo
|
||||||
# This file is distributed under the same license as the Cartridges package.
|
# This file is distributed under the same license as the Cartridges package.
|
||||||
# MJKim <kmj10727@gmail.com>, 2023.
|
# MJKim <kmj10727@gmail.com>, 2023.
|
||||||
|
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2024.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Cartridges\n"
|
"Project-Id-Version: Cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
"POT-Creation-Date: 2023-12-12 10:32+0100\n"
|
||||||
"PO-Revision-Date: 2023-03-28 22:23+0000\n"
|
"PO-Revision-Date: 2024-03-02 19:01+0000\n"
|
||||||
"Last-Translator: MJKim <kmj10727@gmail.com>\n"
|
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
|
||||||
"Language-Team: Korean <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: Korean <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/ko/>\n"
|
"cartridges/ko/>\n"
|
||||||
"Language: ko\n"
|
"Language: ko\n"
|
||||||
@@ -16,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: Weblate 4.17-dev\n"
|
"X-Generator: Weblate 5.5-dev\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6
|
||||||
@@ -38,371 +39,353 @@ msgstr "모든 게임을 실행합니다"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
|
"gaming;launcher;steam;lutris;heroic;bottles;itch;flatpak;legendary;retroarch;"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"gaming;게임;게이밍;launcher;실행기;실행프로그램;steam;스팀;lutris;루트리스;he"
|
||||||
|
"roic;히어로익;bottles;보틀즈;itch;잇치;flatpak;플랫팩;legendary;레젠더리;retr"
|
||||||
|
"oarch;레트로아키;"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||||
#, fuzzy
|
|
||||||
#| msgid ""
|
|
||||||
#| "Cartridges is a simple game launcher. It has support for importing your "
|
|
||||||
#| "games from Steam, Heroic and Bottles with organizational features such as "
|
|
||||||
#| "hiding and sorting by date added or last played."
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cartridges is a simple game launcher for all of your games. It has support "
|
"Cartridges is a simple game launcher for all of your games. It has support "
|
||||||
"for importing games from Steam, Lutris, Heroic and more with no login "
|
"for importing games from Steam, Lutris, Heroic and more with no login "
|
||||||
"necessary. You can sort and hide games or download cover art from "
|
"necessary. You can sort and hide games or download cover art from "
|
||||||
"SteamGridDB."
|
"SteamGridDB."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"카트리지는 간단한 게임 런처입니다. 추가한 날짜 또는 마지막으로 플레이한 날짜"
|
"카트리지는 간단한 게임 실행 프로그램입니다. 스팀, 루트리스, 히어로익 등의 "
|
||||||
"별로 게임을 숨기거나 정렬하는 등의 정리 기능을 통해 Steam, Heroic 및 Bottles"
|
"사이트에서 로그인을 하지 않고 게임을 가져올 수 있습니다. 게임을 정리하고 "
|
||||||
"에서 게임을 가져올 수 있습니다."
|
"숨기거나, SteamGridDB에서 표지를 다운로드할 수 있습니다."
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:36 data/gtk/window.blp:290
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:36 data/gtk/window.blp:290
|
||||||
#: cartridges/details_window.py:71
|
#: cartridges/details_window.py:71
|
||||||
msgid "Game Details"
|
msgid "Game Details"
|
||||||
msgstr ""
|
msgstr "게임 세부 정보"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:40
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:40
|
||||||
msgid "Edit Game Details"
|
msgid "Edit Game Details"
|
||||||
msgstr ""
|
msgstr "게임 세부 정보 편집"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:44 data/gtk/help-overlay.blp:19
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:44 data/gtk/help-overlay.blp:19
|
||||||
#: data/gtk/window.blp:516 cartridges/details_window.py:271
|
#: data/gtk/window.blp:516 cartridges/details_window.py:271
|
||||||
#: cartridges/importer/importer.py:319 cartridges/importer/importer.py:370
|
#: cartridges/importer/importer.py:319 cartridges/importer/importer.py:370
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr ""
|
msgstr "기본 설정"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:25
|
#: data/gtk/details-window.blp:25
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr "취소"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:55
|
#: data/gtk/details-window.blp:55
|
||||||
msgid "New Cover"
|
msgid "New Cover"
|
||||||
msgstr ""
|
msgstr "새 표지"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:73
|
#: data/gtk/details-window.blp:73
|
||||||
msgid "Delete Cover"
|
msgid "Delete Cover"
|
||||||
msgstr ""
|
msgstr "표지 삭제"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:100 data/gtk/game.blp:81
|
#: data/gtk/details-window.blp:100 data/gtk/game.blp:81
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr "제목"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:103
|
#: data/gtk/details-window.blp:103
|
||||||
msgid "Developer (optional)"
|
msgid "Developer (optional)"
|
||||||
msgstr ""
|
msgstr "개발자 (옵션)"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:108
|
#: data/gtk/details-window.blp:108
|
||||||
msgid "Executable"
|
msgid "Executable"
|
||||||
msgstr ""
|
msgstr "실행 가능"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:114
|
#: data/gtk/details-window.blp:114
|
||||||
msgid "Select File"
|
msgid "Select File"
|
||||||
msgstr ""
|
msgstr "파일 선택"
|
||||||
|
|
||||||
#: data/gtk/details-window.blp:125
|
#: data/gtk/details-window.blp:125
|
||||||
msgid "More Info"
|
msgid "More Info"
|
||||||
msgstr ""
|
msgstr "추가 정보"
|
||||||
|
|
||||||
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:417
|
#: data/gtk/game.blp:102 data/gtk/game.blp:110 data/gtk/window.blp:417
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr "편집"
|
||||||
|
|
||||||
#: data/gtk/game.blp:103 cartridges/window.py:350
|
#: data/gtk/game.blp:103 cartridges/window.py:350
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr ""
|
msgstr "숨기기"
|
||||||
|
|
||||||
#: data/gtk/game.blp:104 data/gtk/game.blp:112 data/gtk/window.blp:437
|
#: data/gtk/game.blp:104 data/gtk/game.blp:112 data/gtk/window.blp:437
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr "제거"
|
||||||
|
|
||||||
#: data/gtk/game.blp:111 cartridges/window.py:352
|
#: data/gtk/game.blp:111 cartridges/window.py:352
|
||||||
msgid "Unhide"
|
msgid "Unhide"
|
||||||
msgstr ""
|
msgstr "숨기기 취소"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:8
|
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:8
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr ""
|
msgstr "일반"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:184 data/gtk/window.blp:200
|
#: data/gtk/help-overlay.blp:14 data/gtk/window.blp:184 data/gtk/window.blp:200
|
||||||
#: data/gtk/window.blp:244 data/gtk/window.blp:260 data/gtk/window.blp:448
|
#: data/gtk/window.blp:244 data/gtk/window.blp:260 data/gtk/window.blp:448
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr ""
|
msgstr "검색"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:517
|
#: data/gtk/help-overlay.blp:24 data/gtk/window.blp:517
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr ""
|
msgstr "키보드 바로 가기 키"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:29 cartridges/game.py:103
|
#: data/gtk/help-overlay.blp:29 cartridges/game.py:103
|
||||||
#: cartridges/preferences.py:129 cartridges/importer/importer.py:394
|
#: cartridges/preferences.py:129 cartridges/importer/importer.py:394
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr ""
|
msgstr "실행 취소"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:34
|
#: data/gtk/help-overlay.blp:34
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr ""
|
msgstr "끝내기"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:88 data/gtk/window.blp:164
|
#: data/gtk/help-overlay.blp:39 data/gtk/window.blp:88 data/gtk/window.blp:164
|
||||||
msgid "Toggle Sidebar"
|
msgid "Toggle Sidebar"
|
||||||
msgstr ""
|
msgstr "가장 자리 창 표시 전환"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:177 data/gtk/window.blp:237
|
#: data/gtk/help-overlay.blp:44 data/gtk/window.blp:177 data/gtk/window.blp:237
|
||||||
msgid "Main Menu"
|
msgid "Main Menu"
|
||||||
msgstr ""
|
msgstr "메인 메뉴"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:50
|
#: data/gtk/help-overlay.blp:50
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "Games"
|
msgid "Games"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "게임"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:170 data/gtk/window.blp:524
|
#: data/gtk/help-overlay.blp:53 data/gtk/window.blp:170 data/gtk/window.blp:524
|
||||||
msgid "Add Game"
|
msgid "Add Game"
|
||||||
msgstr ""
|
msgstr "게임 추가"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:112
|
#: data/gtk/help-overlay.blp:58 data/gtk/preferences.blp:112
|
||||||
#: data/gtk/window.blp:27 data/gtk/window.blp:528
|
#: data/gtk/window.blp:27 data/gtk/window.blp:528
|
||||||
msgid "Import"
|
msgid "Import"
|
||||||
msgstr ""
|
msgstr "가져오기"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:63
|
#: data/gtk/help-overlay.blp:63
|
||||||
msgid "Show Hidden Games"
|
msgid "Show Hidden Games"
|
||||||
msgstr ""
|
msgstr "숨긴 게임 표시"
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:68
|
#: data/gtk/help-overlay.blp:68
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "Remove Game"
|
msgid "Remove Game"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "게임 제거"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:12 data/gtk/preferences.blp:116
|
#: data/gtk/preferences.blp:12 data/gtk/preferences.blp:116
|
||||||
#: data/gtk/preferences.blp:381
|
#: data/gtk/preferences.blp:381
|
||||||
msgid "Behavior"
|
msgid "Behavior"
|
||||||
msgstr ""
|
msgstr "동작"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:15
|
#: data/gtk/preferences.blp:15
|
||||||
msgid "Exit After Launching Games"
|
msgid "Exit After Launching Games"
|
||||||
msgstr ""
|
msgstr "게임 실행 후 나가기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:19
|
#: data/gtk/preferences.blp:19
|
||||||
msgid "Cover Image Launches Game"
|
msgid "Cover Image Launches Game"
|
||||||
msgstr ""
|
msgstr "표지 그림 선택시 게임 실행"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:20
|
#: data/gtk/preferences.blp:20
|
||||||
msgid "Swaps the behavior of the cover image and the play button"
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
msgstr ""
|
msgstr "표지 그림과 게임하기 단추 동작 바꾸기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:25 cartridges/details_window.py:85
|
#: data/gtk/preferences.blp:25 cartridges/details_window.py:85
|
||||||
msgid "Images"
|
msgid "Images"
|
||||||
msgstr ""
|
msgstr "그림"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:28
|
#: data/gtk/preferences.blp:28
|
||||||
msgid "High Quality Images"
|
msgid "High Quality Images"
|
||||||
msgstr ""
|
msgstr "고화질 그림"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:29
|
#: data/gtk/preferences.blp:29
|
||||||
msgid "Save game covers losslessly at the cost of storage"
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
msgstr ""
|
msgstr "게임 표지를 화질 손실 없도록 저장소를 충분히 할애하여 저장"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:34
|
#: data/gtk/preferences.blp:34
|
||||||
msgid "Danger Zone"
|
msgid "Danger Zone"
|
||||||
msgstr ""
|
msgstr "위험 영역"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:47
|
#: data/gtk/preferences.blp:47
|
||||||
msgid "Remove All Games"
|
msgid "Remove All Games"
|
||||||
msgstr ""
|
msgstr "모든 게임 제거"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:119
|
#: data/gtk/preferences.blp:119
|
||||||
msgid "Remove Uninstalled Games"
|
msgid "Remove Uninstalled Games"
|
||||||
msgstr ""
|
msgstr "설치 취소한 게임 제거"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:124
|
#: data/gtk/preferences.blp:124
|
||||||
msgid "Sources"
|
msgid "Sources"
|
||||||
msgstr ""
|
msgstr "공급원"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:127 cartridges/importer/steam_source.py:114
|
#: data/gtk/preferences.blp:127 cartridges/importer/steam_source.py:114
|
||||||
msgid "Steam"
|
msgid "Steam"
|
||||||
msgstr ""
|
msgstr "스팀"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:136 data/gtk/preferences.blp:158
|
#: data/gtk/preferences.blp:136 data/gtk/preferences.blp:158
|
||||||
#: data/gtk/preferences.blp:200 data/gtk/preferences.blp:238
|
#: data/gtk/preferences.blp:200 data/gtk/preferences.blp:238
|
||||||
#: data/gtk/preferences.blp:260 data/gtk/preferences.blp:282
|
#: data/gtk/preferences.blp:260 data/gtk/preferences.blp:282
|
||||||
#: data/gtk/preferences.blp:304
|
#: data/gtk/preferences.blp:304
|
||||||
msgid "Install Location"
|
msgid "Install Location"
|
||||||
msgstr ""
|
msgstr "설치 위치"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:149 data/gtk/window.blp:539
|
#: data/gtk/preferences.blp:149 data/gtk/window.blp:539
|
||||||
#: cartridges/importer/lutris_source.py:92
|
#: cartridges/importer/lutris_source.py:92
|
||||||
msgid "Lutris"
|
msgid "Lutris"
|
||||||
msgstr ""
|
msgstr "루트리스"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:170
|
#: data/gtk/preferences.blp:170
|
||||||
msgid "Cache Location"
|
msgid "Cache Location"
|
||||||
msgstr ""
|
msgstr "캐시 위치"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:182
|
#: data/gtk/preferences.blp:182
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "Import Steam Games"
|
msgid "Import Steam Games"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "스팀 게임 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:186
|
#: data/gtk/preferences.blp:186
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "Import Flatpak Games"
|
msgid "Import Flatpak Games"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "플랫팩 게임 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:191 cartridges/importer/heroic_source.py:355
|
#: data/gtk/preferences.blp:191 cartridges/importer/heroic_source.py:355
|
||||||
msgid "Heroic"
|
msgid "Heroic"
|
||||||
msgstr ""
|
msgstr "히어로익"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:212
|
#: data/gtk/preferences.blp:212
|
||||||
msgid "Import Epic Games"
|
msgid "Import Epic Games"
|
||||||
msgstr ""
|
msgstr "에픽 게임 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:216
|
#: data/gtk/preferences.blp:216
|
||||||
msgid "Import GOG Games"
|
msgid "Import GOG Games"
|
||||||
msgstr ""
|
msgstr "GOG 게임 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:220
|
#: data/gtk/preferences.blp:220
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "Import Amazon Games"
|
msgid "Import Amazon Games"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "아마존 게임 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:224
|
#: data/gtk/preferences.blp:224
|
||||||
msgid "Import Sideloaded Games"
|
msgid "Import Sideloaded Games"
|
||||||
msgstr ""
|
msgstr "사이드로디드 게임 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:229 cartridges/importer/bottles_source.py:86
|
#: data/gtk/preferences.blp:229 cartridges/importer/bottles_source.py:86
|
||||||
msgid "Bottles"
|
msgid "Bottles"
|
||||||
msgstr ""
|
msgstr "보틀즈"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:251 cartridges/importer/itch_source.py:81
|
#: data/gtk/preferences.blp:251 cartridges/importer/itch_source.py:81
|
||||||
msgid "itch"
|
msgid "itch"
|
||||||
msgstr ""
|
msgstr "잇치"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:273 cartridges/importer/legendary_source.py:97
|
#: data/gtk/preferences.blp:273 cartridges/importer/legendary_source.py:97
|
||||||
msgid "Legendary"
|
msgid "Legendary"
|
||||||
msgstr ""
|
msgstr "레젠더리"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:295 cartridges/importer/retroarch_source.py:142
|
#: data/gtk/preferences.blp:295 cartridges/importer/retroarch_source.py:142
|
||||||
msgid "RetroArch"
|
msgid "RetroArch"
|
||||||
msgstr ""
|
msgstr "레트로아키"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:317 cartridges/importer/flatpak_source.py:124
|
#: data/gtk/preferences.blp:317 cartridges/importer/flatpak_source.py:124
|
||||||
msgid "Flatpak"
|
msgid "Flatpak"
|
||||||
msgstr ""
|
msgstr "플랫팩"
|
||||||
|
|
||||||
#. The location of the system-wide data directory
|
#. The location of the system-wide data directory
|
||||||
#: data/gtk/preferences.blp:327
|
#: data/gtk/preferences.blp:327
|
||||||
msgid "System Location"
|
msgid "System Location"
|
||||||
msgstr ""
|
msgstr "시스템 위치"
|
||||||
|
|
||||||
#. The location of the user-specific data directory
|
#. The location of the user-specific data directory
|
||||||
#: data/gtk/preferences.blp:340
|
#: data/gtk/preferences.blp:340
|
||||||
msgid "User Location"
|
msgid "User Location"
|
||||||
msgstr ""
|
msgstr "사용자 위치"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:352
|
#: data/gtk/preferences.blp:352
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Game Launcher"
|
|
||||||
msgid "Import Game Launchers"
|
msgid "Import Game Launchers"
|
||||||
msgstr "게임 런처"
|
msgstr "게임 실행 프로그램 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:357 cartridges/importer/desktop_source.py:215
|
#: data/gtk/preferences.blp:357 cartridges/importer/desktop_source.py:215
|
||||||
msgid "Desktop Entries"
|
msgid "Desktop Entries"
|
||||||
msgstr ""
|
msgstr "데스크톱 항목"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:369 data/gtk/window.blp:537
|
#: data/gtk/preferences.blp:369 data/gtk/window.blp:537
|
||||||
msgid "SteamGridDB"
|
msgid "SteamGridDB"
|
||||||
msgstr ""
|
msgstr "SteamGridDB"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:373
|
#: data/gtk/preferences.blp:373
|
||||||
msgid "Authentication"
|
msgid "Authentication"
|
||||||
msgstr ""
|
msgstr "인증"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:376
|
#: data/gtk/preferences.blp:376
|
||||||
msgid "API Key"
|
msgid "API Key"
|
||||||
msgstr ""
|
msgstr "API 키"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:384
|
#: data/gtk/preferences.blp:384
|
||||||
msgid "Use SteamGridDB"
|
msgid "Use SteamGridDB"
|
||||||
msgstr ""
|
msgstr "SteamGridDB 활용"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:385
|
#: data/gtk/preferences.blp:385
|
||||||
msgid "Download images when adding or importing games"
|
msgid "Download images when adding or importing games"
|
||||||
msgstr ""
|
msgstr "게임을 추가하거나 가져올 때 표지 그림 다운로드"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:389
|
#: data/gtk/preferences.blp:389
|
||||||
msgid "Prefer Over Official Images"
|
msgid "Prefer Over Official Images"
|
||||||
msgstr ""
|
msgstr "공식 그림 우선"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:393
|
#: data/gtk/preferences.blp:393
|
||||||
msgid "Prefer Animated Images"
|
msgid "Prefer Animated Images"
|
||||||
msgstr ""
|
msgstr "움직이는 그림 우선"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:399
|
#: data/gtk/preferences.blp:399
|
||||||
msgid "Update Covers"
|
msgid "Update Covers"
|
||||||
msgstr ""
|
msgstr "표지 그림 업데이트"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:400
|
#: data/gtk/preferences.blp:400
|
||||||
msgid "Fetch covers for games already in your library"
|
msgid "Fetch covers for games already in your library"
|
||||||
msgstr ""
|
msgstr "라이브러리에 이미 있는 게임 표지 그림 가져오기"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:405
|
#: data/gtk/preferences.blp:405
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr ""
|
msgstr "업데이트"
|
||||||
|
|
||||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14
|
#: data/gtk/window.blp:6 data/gtk/window.blp:14
|
||||||
msgid "No Games Found"
|
msgid "No Games Found"
|
||||||
msgstr ""
|
msgstr "게임 없음"
|
||||||
|
|
||||||
#: data/gtk/window.blp:7 data/gtk/window.blp:15
|
#: data/gtk/window.blp:7 data/gtk/window.blp:15
|
||||||
msgid "Try a different search."
|
msgid "Try a different search."
|
||||||
msgstr ""
|
msgstr "다른 단어로 검색해보십시오."
|
||||||
|
|
||||||
#: data/gtk/window.blp:21
|
#: data/gtk/window.blp:21
|
||||||
msgid "No Games"
|
msgid "No Games"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "게임 없음"
|
||||||
|
|
||||||
#: data/gtk/window.blp:22
|
#: data/gtk/window.blp:22
|
||||||
msgid "Use the + button to add games."
|
msgid "Use the + button to add games."
|
||||||
msgstr ""
|
msgstr "게임을 추가하려면 + 단추를 사용하십시오."
|
||||||
|
|
||||||
#: data/gtk/window.blp:40
|
#: data/gtk/window.blp:40
|
||||||
msgid "No Hidden Games"
|
msgid "No Hidden Games"
|
||||||
msgstr ""
|
msgstr "숨긴 게임 없음"
|
||||||
|
|
||||||
#: data/gtk/window.blp:41
|
#: data/gtk/window.blp:41
|
||||||
msgid "Games you hide will appear here."
|
msgid "Games you hide will appear here."
|
||||||
msgstr ""
|
msgstr "숨긴 게임이 이곳에 나타납니다."
|
||||||
|
|
||||||
#: data/gtk/window.blp:75 data/gtk/window.blp:106 cartridges/main.py:226
|
#: data/gtk/window.blp:75 data/gtk/window.blp:106 cartridges/main.py:226
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "All Games"
|
msgid "All Games"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "모든 게임"
|
||||||
|
|
||||||
#: data/gtk/window.blp:126 cartridges/main.py:228
|
#: data/gtk/window.blp:126 cartridges/main.py:228
|
||||||
msgid "Added"
|
msgid "Added"
|
||||||
msgstr ""
|
msgstr "추가함"
|
||||||
|
|
||||||
#: data/gtk/window.blp:141
|
#: data/gtk/window.blp:141
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "Imported"
|
msgid "Imported"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "가져옴"
|
||||||
|
|
||||||
#: data/gtk/window.blp:230
|
#: data/gtk/window.blp:230
|
||||||
msgid "Hidden Games"
|
msgid "Hidden Games"
|
||||||
msgstr ""
|
msgstr "숨긴 게임"
|
||||||
|
|
||||||
#: data/gtk/window.blp:341
|
#: data/gtk/window.blp:341
|
||||||
msgid "Game Title"
|
msgid "Game Title"
|
||||||
msgstr ""
|
msgstr "게임 제목"
|
||||||
|
|
||||||
#: data/gtk/window.blp:398
|
#: data/gtk/window.blp:398
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr ""
|
msgstr "게임하기"
|
||||||
|
|
||||||
#: data/gtk/window.blp:475
|
#: data/gtk/window.blp:475
|
||||||
msgid "Sort"
|
msgid "Sort"
|
||||||
@@ -410,27 +393,27 @@ msgstr "정렬"
|
|||||||
|
|
||||||
#: data/gtk/window.blp:478
|
#: data/gtk/window.blp:478
|
||||||
msgid "A-Z"
|
msgid "A-Z"
|
||||||
msgstr ""
|
msgstr "오름차순"
|
||||||
|
|
||||||
#: data/gtk/window.blp:484
|
#: data/gtk/window.blp:484
|
||||||
msgid "Z-A"
|
msgid "Z-A"
|
||||||
msgstr ""
|
msgstr "내림차순"
|
||||||
|
|
||||||
#: data/gtk/window.blp:490
|
#: data/gtk/window.blp:490
|
||||||
msgid "Newest"
|
msgid "Newest"
|
||||||
msgstr ""
|
msgstr "최신순"
|
||||||
|
|
||||||
#: data/gtk/window.blp:496
|
#: data/gtk/window.blp:496
|
||||||
msgid "Oldest"
|
msgid "Oldest"
|
||||||
msgstr ""
|
msgstr "과거순"
|
||||||
|
|
||||||
#: data/gtk/window.blp:502
|
#: data/gtk/window.blp:502
|
||||||
msgid "Last Played"
|
msgid "Last Played"
|
||||||
msgstr ""
|
msgstr "최근 플레이"
|
||||||
|
|
||||||
#: data/gtk/window.blp:509
|
#: data/gtk/window.blp:509
|
||||||
msgid "Show Hidden"
|
msgid "Show Hidden"
|
||||||
msgstr ""
|
msgstr "숨긴 게임 표시"
|
||||||
|
|
||||||
#: data/gtk/window.blp:518
|
#: data/gtk/window.blp:518
|
||||||
msgid "About Cartridges"
|
msgid "About Cartridges"
|
||||||
@@ -438,75 +421,75 @@ msgstr "카트리지 정보"
|
|||||||
|
|
||||||
#: data/gtk/window.blp:536
|
#: data/gtk/window.blp:536
|
||||||
msgid "IGDB"
|
msgid "IGDB"
|
||||||
msgstr ""
|
msgstr "IGDB"
|
||||||
|
|
||||||
#: data/gtk/window.blp:538
|
#: data/gtk/window.blp:538
|
||||||
msgid "ProtonDB"
|
msgid "ProtonDB"
|
||||||
msgstr ""
|
msgstr "ProtonDB"
|
||||||
|
|
||||||
#: data/gtk/window.blp:540
|
#: data/gtk/window.blp:540
|
||||||
msgid "HowLongToBeat"
|
msgid "HowLongToBeat"
|
||||||
msgstr ""
|
msgstr "HowLongToBeat"
|
||||||
|
|
||||||
#. The variable is the title of the game
|
#. The variable is the title of the game
|
||||||
#: cartridges/main.py:206 cartridges/game.py:125
|
#: cartridges/main.py:206 cartridges/game.py:125
|
||||||
msgid "{} launched"
|
msgid "{} launched"
|
||||||
msgstr ""
|
msgstr "{} 실행함"
|
||||||
|
|
||||||
#. Translators: Replace this with your name for it to show up in the about window
|
#. Translators: Replace this with your name for it to show up in the about window
|
||||||
#: cartridges/main.py:269
|
#: cartridges/main.py:269
|
||||||
msgid "translator_credits"
|
msgid "translator_credits"
|
||||||
msgstr ""
|
msgstr "조성호 <shcho@gnome.org>"
|
||||||
|
|
||||||
#. The variable is the date when the game was added
|
#. The variable is the date when the game was added
|
||||||
#: cartridges/window.py:373
|
#: cartridges/window.py:373
|
||||||
msgid "Added: {}"
|
msgid "Added: {}"
|
||||||
msgstr ""
|
msgstr "추가: {}"
|
||||||
|
|
||||||
#: cartridges/window.py:376
|
#: cartridges/window.py:376
|
||||||
msgid "Never"
|
msgid "Never"
|
||||||
msgstr ""
|
msgstr "안함"
|
||||||
|
|
||||||
#. The variable is the date when the game was last played
|
#. The variable is the date when the game was last played
|
||||||
#: cartridges/window.py:380
|
#: cartridges/window.py:380
|
||||||
msgid "Last played: {}"
|
msgid "Last played: {}"
|
||||||
msgstr ""
|
msgstr "최근 플레이: {}"
|
||||||
|
|
||||||
#: cartridges/details_window.py:76
|
#: cartridges/details_window.py:76
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr ""
|
msgstr "적용"
|
||||||
|
|
||||||
#: cartridges/details_window.py:82
|
#: cartridges/details_window.py:82
|
||||||
msgid "Add New Game"
|
msgid "Add New Game"
|
||||||
msgstr ""
|
msgstr "새 게임 추가"
|
||||||
|
|
||||||
#: cartridges/details_window.py:83
|
#: cartridges/details_window.py:83
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr "추가"
|
||||||
|
|
||||||
#: cartridges/details_window.py:93
|
#: cartridges/details_window.py:93
|
||||||
msgid "Executables"
|
msgid "Executables"
|
||||||
msgstr ""
|
msgstr "실행 파일"
|
||||||
|
|
||||||
#. Translate this string as you would translate "file"
|
#. Translate this string as you would translate "file"
|
||||||
#: cartridges/details_window.py:108
|
#: cartridges/details_window.py:108
|
||||||
msgid "file.txt"
|
msgid "file.txt"
|
||||||
msgstr ""
|
msgstr "file.txt"
|
||||||
|
|
||||||
#. As in software
|
#. As in software
|
||||||
#: cartridges/details_window.py:110
|
#: cartridges/details_window.py:110
|
||||||
msgid "program"
|
msgid "program"
|
||||||
msgstr ""
|
msgstr "프로그램"
|
||||||
|
|
||||||
#. Translate this string as you would translate "path to {}"
|
#. Translate this string as you would translate "path to {}"
|
||||||
#: cartridges/details_window.py:115 cartridges/details_window.py:117
|
#: cartridges/details_window.py:115 cartridges/details_window.py:117
|
||||||
msgid "C:\\path\\to\\{}"
|
msgid "C:\\path\\to\\{}"
|
||||||
msgstr ""
|
msgstr "C:\\디렉터리\\경로\\{}"
|
||||||
|
|
||||||
#. Translate this string as you would translate "path to {}"
|
#. Translate this string as you would translate "path to {}"
|
||||||
#: cartridges/details_window.py:121 cartridges/details_window.py:123
|
#: cartridges/details_window.py:121 cartridges/details_window.py:123
|
||||||
msgid "/path/to/{}"
|
msgid "/path/to/{}"
|
||||||
msgstr ""
|
msgstr "/디렉터리/경로/{}"
|
||||||
|
|
||||||
#: cartridges/details_window.py:128
|
#: cartridges/details_window.py:128
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -520,142 +503,150 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\"{}\" 실행 파일을 실행하려면, 다음 명령을:\n"
|
||||||
|
"\n"
|
||||||
|
"<tt>\"{}\"</tt>\n"
|
||||||
|
"\n"
|
||||||
|
"기본 프로그램으로 \"{}\" 파일을 열려면:\n"
|
||||||
|
"\n"
|
||||||
|
"<tt>{} \"{}\"</tt>\n"
|
||||||
|
"\n"
|
||||||
|
"경로 이름에 공백 문자가 들어가 있을 경우, 경로 이름을 큰 따옴표로 감쌌는지 "
|
||||||
|
"확인하십시오!"
|
||||||
|
|
||||||
#: cartridges/details_window.py:171 cartridges/details_window.py:177
|
#: cartridges/details_window.py:171 cartridges/details_window.py:177
|
||||||
msgid "Couldn't Add Game"
|
msgid "Couldn't Add Game"
|
||||||
msgstr ""
|
msgstr "게임을 추가할 수 없습니다"
|
||||||
|
|
||||||
#: cartridges/details_window.py:171 cartridges/details_window.py:213
|
#: cartridges/details_window.py:171 cartridges/details_window.py:213
|
||||||
msgid "Game title cannot be empty."
|
msgid "Game title cannot be empty."
|
||||||
msgstr ""
|
msgstr "게임 제목은 비워둘 수 없습니다."
|
||||||
|
|
||||||
#: cartridges/details_window.py:177 cartridges/details_window.py:221
|
#: cartridges/details_window.py:177 cartridges/details_window.py:221
|
||||||
msgid "Executable cannot be empty."
|
msgid "Executable cannot be empty."
|
||||||
msgstr ""
|
msgstr "실행 파일을 비워둘 수 없습니다."
|
||||||
|
|
||||||
#: cartridges/details_window.py:212 cartridges/details_window.py:220
|
#: cartridges/details_window.py:212 cartridges/details_window.py:220
|
||||||
msgid "Couldn't Apply Preferences"
|
msgid "Couldn't Apply Preferences"
|
||||||
msgstr ""
|
msgstr "기본 설정을 적용할 수 없습니다"
|
||||||
|
|
||||||
#. The variable is the title of the game
|
#. The variable is the title of the game
|
||||||
#: cartridges/game.py:139
|
#: cartridges/game.py:139
|
||||||
msgid "{} hidden"
|
msgid "{} hidden"
|
||||||
msgstr ""
|
msgstr "{} 숨김"
|
||||||
|
|
||||||
#: cartridges/game.py:139
|
#: cartridges/game.py:139
|
||||||
msgid "{} unhidden"
|
msgid "{} unhidden"
|
||||||
msgstr ""
|
msgstr "{} 숨김 해제함"
|
||||||
|
|
||||||
#. The variable is the title of the game
|
#. The variable is the title of the game
|
||||||
#. The variable is the number of games removed
|
#. The variable is the number of games removed
|
||||||
#: cartridges/game.py:153 cartridges/importer/importer.py:391
|
#: cartridges/game.py:153 cartridges/importer/importer.py:391
|
||||||
msgid "{} removed"
|
msgid "{} removed"
|
||||||
msgstr ""
|
msgstr "{} 제거함"
|
||||||
|
|
||||||
#: cartridges/preferences.py:128
|
#: cartridges/preferences.py:128
|
||||||
msgid "All games removed"
|
msgid "All games removed"
|
||||||
msgstr ""
|
msgstr "모든 게임을 제거했습니다"
|
||||||
|
|
||||||
#: cartridges/preferences.py:176
|
#: cartridges/preferences.py:176
|
||||||
msgid ""
|
msgid ""
|
||||||
"An API key is required to use SteamGridDB. You can generate one {}here{}."
|
"An API key is required to use SteamGridDB. You can generate one {}here{}."
|
||||||
msgstr ""
|
msgstr "SteamGridDB를 활용하려면 API 키가 필요합니다. {}여기{}에서 만들 수 있습니다."
|
||||||
|
|
||||||
#: cartridges/preferences.py:191
|
#: cartridges/preferences.py:191
|
||||||
msgid "Downloading covers…"
|
msgid "Downloading covers…"
|
||||||
msgstr ""
|
msgstr "표지 그림 다운로드 중…"
|
||||||
|
|
||||||
#: cartridges/preferences.py:210
|
#: cartridges/preferences.py:210
|
||||||
msgid "Covers updated"
|
msgid "Covers updated"
|
||||||
msgstr ""
|
msgstr "표지 그림을 업데이트했습니다"
|
||||||
|
|
||||||
#: cartridges/preferences.py:345
|
#: cartridges/preferences.py:345
|
||||||
msgid "Installation Not Found"
|
msgid "Installation Not Found"
|
||||||
msgstr ""
|
msgstr "설치한 항목이 없습니다"
|
||||||
|
|
||||||
#: cartridges/preferences.py:346
|
#: cartridges/preferences.py:346
|
||||||
msgid "Select a valid directory."
|
msgid "Select a valid directory."
|
||||||
msgstr ""
|
msgstr "올바른 디렉터리를 선택하십시오."
|
||||||
|
|
||||||
#: cartridges/preferences.py:382 cartridges/importer/importer.py:317
|
#: cartridges/preferences.py:382 cartridges/importer/importer.py:317
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr ""
|
msgstr "경고"
|
||||||
|
|
||||||
#: cartridges/preferences.py:416
|
#: cartridges/preferences.py:416
|
||||||
msgid "Invalid Directory"
|
msgid "Invalid Directory"
|
||||||
msgstr ""
|
msgstr "부적절한 디렉터리"
|
||||||
|
|
||||||
#: cartridges/preferences.py:422
|
#: cartridges/preferences.py:422
|
||||||
msgid "Set Location"
|
msgid "Set Location"
|
||||||
msgstr ""
|
msgstr "위치 설정"
|
||||||
|
|
||||||
#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:318
|
#: cartridges/utils/create_dialog.py:33 cartridges/importer/importer.py:318
|
||||||
msgid "Dismiss"
|
msgid "Dismiss"
|
||||||
msgstr ""
|
msgstr "버리기"
|
||||||
|
|
||||||
#: cartridges/importer/importer.py:145
|
#: cartridges/importer/importer.py:145
|
||||||
#, fuzzy
|
|
||||||
#| msgid "No Games"
|
|
||||||
msgid "Importing Games…"
|
msgid "Importing Games…"
|
||||||
msgstr "게임이 없습니다"
|
msgstr "게임 가져오는 중…"
|
||||||
|
|
||||||
#: cartridges/importer/importer.py:338
|
#: cartridges/importer/importer.py:338
|
||||||
msgid "The following errors occured during import:"
|
msgid "The following errors occured during import:"
|
||||||
msgstr ""
|
msgstr "가져오는 동안 다음 오류가 나타났습니다:"
|
||||||
|
|
||||||
#: cartridges/importer/importer.py:367
|
#: cartridges/importer/importer.py:367
|
||||||
msgid "No new games found"
|
msgid "No new games found"
|
||||||
msgstr ""
|
msgstr "새 게임이 없습니다"
|
||||||
|
|
||||||
#: cartridges/importer/importer.py:379
|
#: cartridges/importer/importer.py:379
|
||||||
msgid "1 game imported"
|
msgid "1 game imported"
|
||||||
msgstr ""
|
msgstr "게임 1건을 가져왔습니다"
|
||||||
|
|
||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: cartridges/importer/importer.py:383
|
#: cartridges/importer/importer.py:383
|
||||||
msgid "{} games imported"
|
msgid "{} games imported"
|
||||||
msgstr ""
|
msgstr "게임 {}건을 가져왔습니다"
|
||||||
|
|
||||||
#. A single game removed
|
#. A single game removed
|
||||||
#: cartridges/importer/importer.py:387
|
#: cartridges/importer/importer.py:387
|
||||||
msgid "1 removed"
|
msgid "1 removed"
|
||||||
msgstr ""
|
msgstr "1건을 제거했습니다"
|
||||||
|
|
||||||
#. The variable is the name of the source
|
#. The variable is the name of the source
|
||||||
#: cartridges/importer/location.py:33
|
#: cartridges/importer/location.py:33
|
||||||
msgid "Select the {} cache directory."
|
msgid "Select the {} cache directory."
|
||||||
msgstr ""
|
msgstr "{} 캐시 디렉터리를 선택하십시오."
|
||||||
|
|
||||||
#. The variable is the name of the source
|
#. The variable is the name of the source
|
||||||
#: cartridges/importer/location.py:35
|
#: cartridges/importer/location.py:35
|
||||||
msgid "Select the {} configuration directory."
|
msgid "Select the {} configuration directory."
|
||||||
msgstr ""
|
msgstr "{} 설정 디렉터리를 선택하십시오."
|
||||||
|
|
||||||
#. The variable is the name of the source
|
#. The variable is the name of the source
|
||||||
#: cartridges/importer/location.py:37
|
#: cartridges/importer/location.py:37
|
||||||
msgid "Select the {} data directory."
|
msgid "Select the {} data directory."
|
||||||
msgstr ""
|
msgstr "{} 데이터 디렉터리를 선택하십시오."
|
||||||
|
|
||||||
#: cartridges/importer/retroarch_source.py:129
|
#: cartridges/importer/retroarch_source.py:129
|
||||||
msgid "No RetroArch Core Selected"
|
msgid "No RetroArch Core Selected"
|
||||||
msgstr ""
|
msgstr "선택한 레트로아키 코어가 없습니다"
|
||||||
|
|
||||||
#. The variable is a newline separated list of playlists
|
#. The variable is a newline separated list of playlists
|
||||||
#: cartridges/importer/retroarch_source.py:131
|
#: cartridges/importer/retroarch_source.py:131
|
||||||
msgid "The following playlists have no default core:"
|
msgid "The following playlists have no default core:"
|
||||||
msgstr ""
|
msgstr "다음 플레이 목록에 기본 코어가 없습니다:"
|
||||||
|
|
||||||
#: cartridges/importer/retroarch_source.py:133
|
#: cartridges/importer/retroarch_source.py:133
|
||||||
msgid "Games with no core selected were not imported"
|
msgid "Games with no core selected were not imported"
|
||||||
msgstr ""
|
msgstr "코어를 선택하지 않은 게임을 가져오지 않았습니다"
|
||||||
|
|
||||||
#: cartridges/store/managers/sgdb_manager.py:46
|
#: cartridges/store/managers/sgdb_manager.py:46
|
||||||
msgid "Couldn't Authenticate SteamGridDB"
|
msgid "Couldn't Authenticate SteamGridDB"
|
||||||
msgstr ""
|
msgstr "SteamGridDB를 인증할 수 없습니다"
|
||||||
|
|
||||||
#: cartridges/store/managers/sgdb_manager.py:47
|
#: cartridges/store/managers/sgdb_manager.py:47
|
||||||
msgid "Verify your API key in preferences"
|
msgid "Verify your API key in preferences"
|
||||||
msgstr ""
|
msgstr "기본 설정에서 API 키를 검증하십시오"
|
||||||
|
|
||||||
#~ msgid "Library"
|
#~ msgid "Library"
|
||||||
#~ msgstr "라이브러리"
|
#~ msgstr "라이브러리"
|
||||||
|
|||||||
Reference in New Issue
Block a user