Compare commits

..

1 Commits

Author SHA1 Message Date
kramo
37e24ea8b1 Add an option to import games automatically 2024-10-31 14:11:58 +01:00
10 changed files with 365 additions and 390 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -44,7 +44,7 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
}
Adw.ButtonRow reset_button_row {
title: "Reset App";
title: _("Reset App");
styles [
"destructive-action"

View File

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

View File

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

View File

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

270
po/ro.po
View File

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