Compare commits
162 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dbe00c5f90 | ||
|
|
6766910bb7 | ||
|
|
7a3019775c | ||
|
|
ef509f2eb0 | ||
|
|
d5fa2a0dba | ||
|
|
d664b50afb | ||
|
|
4928fb8bbf | ||
|
|
7841462738 | ||
|
|
eabf903e1c | ||
|
|
c26575a6cc | ||
|
|
61ef02cc7a | ||
|
|
bf2a500d5e | ||
|
|
dad4905753 | ||
|
|
e6ba083736 | ||
|
|
4d99f80ff7 | ||
|
|
0a943d4259 | ||
|
|
2248660027 | ||
|
|
af679ef2e6 | ||
|
|
a5f553f701 | ||
|
|
88c9dcb628 | ||
|
|
fb35f8a007 | ||
|
|
71ed5c3c7e | ||
|
|
44bde9ae25 | ||
|
|
fc85f6a9b3 | ||
|
|
8858968f0e | ||
|
|
8ae10ccf04 | ||
|
|
ef196ac12c | ||
|
|
ea5585f4e9 | ||
|
|
7602003e9e | ||
|
|
f4a31886cb | ||
|
|
2e3e716ff2 | ||
|
|
e031cf7b50 | ||
|
|
2b0356ce19 | ||
|
|
21603f4486 | ||
|
|
71a047f8b4 | ||
|
|
4fc2a31cd8 | ||
|
|
cb3c72f48a | ||
|
|
7e882c9064 | ||
|
|
05043cde30 | ||
|
|
364a171326 | ||
|
|
2d354f42d3 | ||
|
|
451f191fd2 | ||
|
|
6050ae5bbe | ||
|
|
925e3ef5a8 | ||
|
|
ef8b63af97 | ||
|
|
417cd77907 | ||
|
|
14731b92f4 | ||
|
|
ba69182222 | ||
|
|
36fd3bb2bf | ||
|
|
94e8839f8f | ||
|
|
f17663323d | ||
|
|
eca96d8a5a | ||
|
|
d4e6423bd5 | ||
|
|
17a6a53fd2 | ||
|
|
db32f66d76 | ||
|
|
c1abed8af6 | ||
|
|
643ca368a6 | ||
|
|
3f4443d703 | ||
|
|
9aea8cc089 | ||
|
|
f5acf6d256 | ||
|
|
95cf7ed691 | ||
|
|
33a6efc02b | ||
|
|
d88801bdef | ||
|
|
8c58452a6e | ||
|
|
993c0165d0 | ||
|
|
042fb3e5d3 | ||
|
|
6f92d98d23 | ||
|
|
4ba4fbe27d | ||
|
|
1954749068 | ||
|
|
ee76b8eb55 | ||
|
|
60be155b51 | ||
|
|
60925982e0 | ||
|
|
1fe2add19a | ||
|
|
f046538771 | ||
|
|
ca7199b9d1 | ||
|
|
07a5e268cf | ||
|
|
7200d45303 | ||
|
|
a154c76744 | ||
|
|
228db1b2f0 | ||
|
|
2cc9f638a7 | ||
|
|
70f3089aed | ||
|
|
610837911f | ||
|
|
d57bc83357 | ||
|
|
3e152fd4ca | ||
|
|
723f21ca13 | ||
|
|
33223d22f4 | ||
|
|
0a0865e0b4 | ||
|
|
a1bf94904c | ||
|
|
5e0c5970ad | ||
|
|
d353249c41 | ||
|
|
88af0f2f59 | ||
|
|
ad461dc1f0 | ||
|
|
32ab5871bb | ||
|
|
3d5bf39ea7 | ||
|
|
f3956f3ea6 | ||
|
|
0aa6d967bb | ||
|
|
500d02b62d | ||
|
|
f321b5453c | ||
|
|
4227b71138 | ||
|
|
d588695a29 | ||
|
|
c841d766a6 | ||
|
|
2480527e5b | ||
|
|
12e4d5ed80 | ||
|
|
501ca75a02 | ||
|
|
732bb77192 | ||
|
|
f1b9a59c54 | ||
|
|
501747ee36 | ||
|
|
cb6fde38ef | ||
|
|
3c71974d13 | ||
|
|
e12d70cb95 | ||
|
|
002a753289 | ||
|
|
9ace39af6b | ||
|
|
af2b51779b | ||
|
|
5c748993c8 | ||
|
|
4c740036cd | ||
|
|
923aee6f1b | ||
|
|
f91c278dd0 | ||
|
|
5345fa48bc | ||
|
|
a9ba84440d | ||
|
|
c528e559a3 | ||
|
|
f52764d437 | ||
|
|
95b3893b70 | ||
|
|
716051d826 | ||
|
|
e3b24eafc0 | ||
|
|
f172385b6c | ||
|
|
9dccb8f369 | ||
|
|
2b7dfed1e3 | ||
|
|
65357bdc41 | ||
|
|
69dfc9a717 | ||
|
|
030c220d7e | ||
|
|
41c97e1af7 | ||
|
|
2f869a91ea | ||
|
|
b65bab3528 | ||
|
|
ecceaabff1 | ||
|
|
6b103c996b | ||
|
|
fc2932f7dd | ||
|
|
bfa7cbfe08 | ||
|
|
973ec01b38 | ||
|
|
214687c9ce | ||
|
|
703c65395c | ||
|
|
eda22c7ea7 | ||
|
|
4e7e21ff6c | ||
|
|
bbf3703229 | ||
|
|
06550c0138 | ||
|
|
4401378ce3 | ||
|
|
a665241d76 | ||
|
|
053d5791a4 | ||
|
|
df45ef411a | ||
|
|
8ddf609815 | ||
|
|
20e7cbf8b6 | ||
|
|
ba6379f83a | ||
|
|
7f8c22df9e | ||
|
|
8c1ed2a254 | ||
|
|
51c500a7aa | ||
|
|
6cdc09cca9 | ||
|
|
863a5e6eb5 | ||
|
|
7ee4ae878b | ||
|
|
7c963d3abd | ||
|
|
d5a640bd0b | ||
|
|
6b777894ea | ||
|
|
5b839c9f6f | ||
|
|
c93a47a27f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
/subprojects/blueprint-compiler
|
||||
/.flatpak
|
||||
/.flatpak-builder
|
||||
/.vscode
|
||||
@@ -1,5 +1,5 @@
|
||||
#define MyAppName "Cartridges"
|
||||
#define MyAppVersion "0.1.4"
|
||||
#define MyAppVersion "1.2.1"
|
||||
#define MyAppPublisher "kramo"
|
||||
#define MyAppURL "https://github.com/kra-mo/cartridges"
|
||||
#define MyAppExeName "pythonw.exe"
|
||||
|
||||
16
README.md
16
README.md
@@ -4,11 +4,13 @@
|
||||
|
||||
# Cartridges
|
||||
A GTK4 + Libadwaita game launcher
|
||||
|
||||
|
||||
[![Flathub][flathub-image]][flathub-url]
|
||||
[![Build status][github-actions-image]][github-actions-url]
|
||||
[![Translation Status][weblate-image]][weblate-url]
|
||||
[![License][license-image]][license-url]
|
||||
[![Code style][code-style-image]][code-style-url]
|
||||
[![Discord Chatroom][discord-image]][discord-url]
|
||||
|
||||
[github-actions-url]: https://github.com/kra-mo/cartridges
|
||||
[github-actions-image]: https://github.com/kra-mo/cartridges/actions/workflows/flatpak-builder.yml/badge.svg
|
||||
@@ -18,8 +20,12 @@
|
||||
[code-style-image]: https://img.shields.io/badge/code%20style-black-000000?style=flat
|
||||
[weblate-url]: https://hosted.weblate.org/engage/cartridges/
|
||||
[weblate-image]: https://hosted.weblate.org/widgets/cartridges/-/cartridges/svg-badge.svg
|
||||
[discord-url]: https://discord.gg/4KSFh3AmQR
|
||||
[discord-image]: https://img.shields.io/discord/1088155799299313754?color=%235865F2&label=discord&logo=discord&logoColor=%23FFFFFF
|
||||
[flathub-url]: https://flathub.org/apps/details/hu.kramo.Cartridges
|
||||
[flathub-image]: https://img.shields.io/flathub/v/hu.kramo.Cartridges
|
||||
|
||||
<img src="data/screenshot.webp">
|
||||
<img src="data/screenshots/1.png">
|
||||
</div>
|
||||
|
||||
# The Project
|
||||
@@ -31,10 +37,16 @@ Cartridges is a simple game launcher written in Python using GTK4 and Libadwaita
|
||||
- Hiding games
|
||||
- Searching and sorting by title, date added and last played
|
||||
|
||||
For updates and questions, join our [Discord server][discord-url]!
|
||||
|
||||
# Installation
|
||||
|
||||
## Linux
|
||||
|
||||
### Flathub (Recommended)
|
||||
|
||||
<a href=https://flathub.org/apps/details/hu.kramo.Cartridges><img width='240' alt='Download on Flathub' src='https://dl.flathub.org/assets/badges/flathub-badge-en.png'/></a>
|
||||
|
||||
### From Releases
|
||||
1. Download the latest release from [Releases](https://github.com/kra-mo/cartridges/releases).
|
||||
2. Install the downloaded file via GNOME Software or `flatpak install hu.kramo.Cartridges.flatpak`.
|
||||
|
||||
@@ -11,15 +11,12 @@ template game : Box {
|
||||
Box {
|
||||
orientation: vertical;
|
||||
Button cover_button {
|
||||
overflow: hidden;
|
||||
Picture cover {
|
||||
width-request: 200;
|
||||
height-request: 300;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles [
|
||||
"card",
|
||||
]
|
||||
}
|
||||
|
||||
styles [
|
||||
@@ -35,7 +32,6 @@ template game : Box {
|
||||
Box {
|
||||
Button button_play {
|
||||
halign: start;
|
||||
label: _("Play");
|
||||
margin-start: 6;
|
||||
margin-end: 6;
|
||||
margin-top: 6;
|
||||
@@ -47,7 +43,6 @@ template game : Box {
|
||||
margin-bottom: 6;
|
||||
margin-end: 6;
|
||||
margin-start: 6;
|
||||
menu-model: game_options;
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
|
||||
@@ -8,49 +8,54 @@ ShortcutsWindow help_overlay {
|
||||
max-height: 10;
|
||||
|
||||
ShortcutsGroup {
|
||||
title: C_("shortcut window", "General");
|
||||
title: _("General");
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Quit");
|
||||
title: _("Quit");
|
||||
action-name: "app.quit";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Search");
|
||||
title: _("Search");
|
||||
action-name: "win.toggle_search";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Show preferences");
|
||||
title: _("Show preferences");
|
||||
action-name: "app.preferences";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Shortcuts");
|
||||
title: _("Shortcuts");
|
||||
action-name: "win.show-help-overlay";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Undo");
|
||||
title: _("Undo");
|
||||
action-name: "win.undo_remove";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Open menu");
|
||||
title: _("Open menu");
|
||||
action-name: "win.open_menu";
|
||||
}
|
||||
}
|
||||
|
||||
ShortcutsGroup {
|
||||
title: C_("shortcut window", "Games");
|
||||
title: _("Games");
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Add new game");
|
||||
title: _("Add new game");
|
||||
action-name: "app.add_game";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Show hidden games");
|
||||
title: _("Import games");
|
||||
action-name: "app.import";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: _("Show hidden games");
|
||||
action-name: "win.show_hidden";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,15 @@ using Gtk 4.0;
|
||||
using Adw 1;
|
||||
|
||||
template PreferencesWindow : Adw.PreferencesWindow {
|
||||
search-enabled: false;
|
||||
default-height: 500;
|
||||
|
||||
Adw.PreferencesPage page {
|
||||
Adw.PreferencesGroup {
|
||||
title: _("General");
|
||||
Adw.PreferencesPage general_page {
|
||||
name: "general";
|
||||
title: _("General");
|
||||
icon-name: "user-home-symbolic";
|
||||
|
||||
Adw.PreferencesGroup behavior_group {
|
||||
title: _("Behavior");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Exit After Launching Games");
|
||||
@@ -16,94 +19,146 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup steam_group {
|
||||
title: "Steam";
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Steam Install Location");
|
||||
subtitle: _("Directory to use when importing games");
|
||||
title: _("Cover Image Launches Game");
|
||||
subtitle: _("Swaps the behavior of the cover image and the play button");
|
||||
|
||||
Button steam_file_chooser_button {
|
||||
icon-name: "folder-symbolic";
|
||||
Switch cover_launches_game_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup images_group {
|
||||
title: _("Images");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Extra Steam Libraries");
|
||||
subtitle: _("Select other directories where you have Steam games installed");
|
||||
title: _("High Quality Images");
|
||||
subtitle: _("Save game covers losslessly at the cost of storage");
|
||||
|
||||
Switch high_quality_images_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Revealer steam_clear_button_revealer {
|
||||
reveal-child: false;
|
||||
transition-type: slide_left;
|
||||
Button steam_clear_button {
|
||||
label: _("Clear");
|
||||
Adw.PreferencesGroup danger_zone_group {
|
||||
title: _("Danger Zone");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Remove All Games");
|
||||
|
||||
Button remove_all_games_button {
|
||||
label: _("Remove");
|
||||
valign: center;
|
||||
|
||||
styles [
|
||||
"destructive-action",
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesPage import_page {
|
||||
name: "import";
|
||||
title: _("Import");
|
||||
icon-name: "document-save-symbolic";
|
||||
|
||||
Adw.PreferencesGroup sources_group {
|
||||
title: _("Sources");
|
||||
|
||||
Adw.ExpanderRow steam_expander_row {
|
||||
title: _("Steam");
|
||||
show-enable-switch: true;
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Steam Install Location");
|
||||
subtitle: _("Directory to use when importing games");
|
||||
|
||||
Button steam_file_chooser_button {
|
||||
icon-name: "folder-symbolic";
|
||||
valign: center;
|
||||
halign: end;
|
||||
}
|
||||
}
|
||||
Adw.ActionRow {
|
||||
title: _("Extra Steam Libraries");
|
||||
subtitle: _("Select other directories where you have Steam games installed");
|
||||
|
||||
styles [
|
||||
"destructive-action",
|
||||
]
|
||||
|
||||
Revealer steam_clear_button_revealer {
|
||||
reveal-child: false;
|
||||
transition-type: slide_left;
|
||||
Button steam_clear_button {
|
||||
label: _("Clear");
|
||||
valign: center;
|
||||
halign: end;
|
||||
|
||||
styles [
|
||||
"destructive-action",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Button steam_extra_file_chooser_button {
|
||||
icon-name: "folder-new-symbolic";
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.ExpanderRow heroic_expander_row {
|
||||
title: _("Heroic");
|
||||
show-enable-switch: true;
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Heroic Install Location");
|
||||
subtitle: _("Directory to use when importing games");
|
||||
|
||||
Button heroic_file_chooser_button {
|
||||
icon-name: "folder-symbolic";
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Button steam_extra_file_chooser_button {
|
||||
icon-name: "folder-new-symbolic";
|
||||
valign: center;
|
||||
Adw.ActionRow {
|
||||
title: _("Import Epic Games");
|
||||
|
||||
Switch heroic_epic_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup heroic_group {
|
||||
title: "Heroic";
|
||||
Adw.ActionRow {
|
||||
title: _("Import GOG Games");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Heroic Install Location");
|
||||
subtitle: _("Directory to use when importing games");
|
||||
Switch heroic_gog_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Button heroic_file_chooser_button {
|
||||
icon-name: "folder-symbolic";
|
||||
valign: center;
|
||||
Adw.ActionRow {
|
||||
title: _("Import Sideloaded Games");
|
||||
|
||||
Switch heroic_sideloaded_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Import Epic Games");
|
||||
Adw.ExpanderRow bottles_expander_row {
|
||||
title: _("Bottles");
|
||||
show-enable-switch: true;
|
||||
|
||||
Switch import_epic_games_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
Adw.ActionRow {
|
||||
title: _("Bottles Install Location");
|
||||
subtitle: _("Directory to use when importing games");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Import GOG Games");
|
||||
|
||||
Switch import_gog_games_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Import Sideloaded Games");
|
||||
|
||||
Switch import_sideload_games_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup bottles_group {
|
||||
title: "Bottles";
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Bottles Install Location");
|
||||
subtitle: _("Directory to use when importing games");
|
||||
|
||||
Button bottles_file_chooser_button {
|
||||
icon-name: "folder-symbolic";
|
||||
valign: center;
|
||||
Button bottles_file_chooser_button {
|
||||
icon-name: "folder-symbolic";
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,61 +384,9 @@ menu add_games {
|
||||
}
|
||||
}
|
||||
section {
|
||||
submenu {
|
||||
label: _("Import from");
|
||||
item {
|
||||
label: _("Steam");
|
||||
action: "app.steam_import";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Heroic");
|
||||
action: "app.heroic_import";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Bottles");
|
||||
action: "app.bottles_import";
|
||||
hidden-when: "action-disabled";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu game_options {
|
||||
section {
|
||||
item {
|
||||
label: _("Edit");
|
||||
action: "app.edit_details";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Hide");
|
||||
action: "app.hide_game";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Remove");
|
||||
action: "app.remove_game";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu hidden_game_options {
|
||||
section {
|
||||
item {
|
||||
label: _("Edit");
|
||||
action: "app.edit_details";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Unhide");
|
||||
action: "app.hide_game";
|
||||
}
|
||||
|
||||
item {
|
||||
label: _("Remove");
|
||||
action: "app.remove_game";
|
||||
item {
|
||||
label: _("Import");
|
||||
action: "app.import";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,27 @@
|
||||
<key name="exit-after-launch" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="cover-launches-game" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="high-quality-images" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="steam" type="b">
|
||||
<default>true</default>
|
||||
</key>
|
||||
<key name="steam-location" type="s">
|
||||
<default>"~/.steam/"</default>
|
||||
</key>
|
||||
<key name="steam-extra-dirs" type="as">
|
||||
<default>[]</default>
|
||||
</key>
|
||||
<key name="heroic" type="b">
|
||||
<default>true</default>
|
||||
</key>
|
||||
<key name="heroic-location" type="s">
|
||||
<default>"~/.var/app/com.heroicgameslauncher.hgl/config/heroic/"</default>
|
||||
</key>
|
||||
<key name="heroic-import-epic" type="b">
|
||||
<default>true</default>
|
||||
</key>
|
||||
@@ -13,14 +34,8 @@
|
||||
<key name="heroic-import-sideload" type="b">
|
||||
<default>true</default>
|
||||
</key>
|
||||
<key name="steam-location" type="s">
|
||||
<default>"~/.steam/"</default>
|
||||
</key>
|
||||
<key name="steam-extra-dirs" type="as">
|
||||
<default>[]</default>
|
||||
</key>
|
||||
<key name="heroic-location" type="s">
|
||||
<default>"~/.var/app/com.heroicgameslauncher.hgl/config/heroic/"</default>
|
||||
<key name="bottles" type="b">
|
||||
<default>true</default>
|
||||
</key>
|
||||
<key name="bottles-location" type="s">
|
||||
<default>"~/.var/app/com.usebottles.bottles/data/bottles/"</default>
|
||||
|
||||
@@ -8,6 +8,64 @@
|
||||
<description>
|
||||
<p>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.</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">hu.kramo.Cartridges.desktop</launchable>
|
||||
<url type="homepage">https://github.com/kra-mo/cartridges</url>
|
||||
<url type="bugtracker">https://github.com/kra-mo/cartridges/issues</url>
|
||||
<url type="translate">https://hosted.weblate.org/engage/cartridges/</url>
|
||||
<url type="contact">https://www.kramo.hu/about/</url>
|
||||
<url type="vcs-browser">https://github.com/kra-mo/cartridges</url>
|
||||
<url type="contribute">https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md</url>
|
||||
<developer_name translatable="no">kramo</developer_name>
|
||||
<launchable type="desktop-id">hu.kramo.Cartridges.desktop</launchable>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/1.png</image>
|
||||
<caption>Library</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/2.png</image>
|
||||
<caption>Edit Game Details</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/3.png</image>
|
||||
<caption>Game Details</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/4.png</image>
|
||||
<caption>Preferences</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<content_rating type="oars-1.1" />
|
||||
<releases>
|
||||
<release version="1.2.1" date="2023-03-30">
|
||||
<description translatable="no">
|
||||
<ul>
|
||||
<li>Bug fixes</li>
|
||||
<li>Translations since 1.2</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.2" date="2023-03-30">
|
||||
<description translatable="no">
|
||||
<ul>
|
||||
<li>Refined the user experience for importing games</li>
|
||||
<li>Added option to remove all games</li>
|
||||
<li>Translations since 1.1</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.1" date="2023-03-26">
|
||||
<description translatable="no">
|
||||
<ul>
|
||||
<li>Added option to launch games by clicking the cover image</li>
|
||||
<li>Added option to save cover art losslessly</li>
|
||||
<li>Translations since 1.0</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.0" date="2023-03-25">
|
||||
<description translatable="no">
|
||||
<p>First stable release</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 911 KiB |
BIN
data/screenshots/1.png
Normal file
BIN
data/screenshots/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 719 KiB |
BIN
data/screenshots/2.png
Normal file
BIN
data/screenshots/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
BIN
data/screenshots/3.png
Normal file
BIN
data/screenshots/3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 156 KiB |
BIN
data/screenshots/4.png
Normal file
BIN
data/screenshots/4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"app-id" : "hu.kramo.Cartridges",
|
||||
"id" : "hu.kramo.Cartridges",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
@@ -31,7 +31,20 @@
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
"python3-modules.json",
|
||||
{
|
||||
"name": "python3-pyyaml",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
"buildsystem" : "meson",
|
||||
@@ -41,6 +54,9 @@
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
||||
"tag" : "v0.6.0"
|
||||
}
|
||||
],
|
||||
"cleanup" : [
|
||||
"*"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -54,8 +70,5 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"build-options" : {
|
||||
"env" : { }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('cartridges',
|
||||
version: '0.1.4',
|
||||
version: '1.2.1',
|
||||
meson_version: '>= 0.59.0',
|
||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||
)
|
||||
|
||||
@@ -3,3 +3,11 @@ ta
|
||||
uk
|
||||
nb_NO
|
||||
fr
|
||||
nl
|
||||
it
|
||||
ar
|
||||
es
|
||||
fi
|
||||
pt
|
||||
ru
|
||||
ko
|
||||
|
||||
@@ -12,6 +12,7 @@ src/window.py
|
||||
src/game.py
|
||||
src/preferences.py
|
||||
|
||||
src/utils/importer.py
|
||||
src/utils/bottles_parser.py
|
||||
src/utils/create_details_window.py
|
||||
src/utils/create_dialog.py
|
||||
|
||||
585
po/ar.po
Normal file
585
po/ar.po
Normal file
@@ -0,0 +1,585 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Ali Aljishi <ahj696@hotmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 20:15+0000\n"
|
||||
"Last-Translator: Ali Aljishi <ahj696@hotmail.com>\n"
|
||||
"Language-Team: Arabic <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/ar/>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "عبوات"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "مشغِّل ألعاب"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "شغِّل ألعابك"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "شغِّل كلَّ ألعابك"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"«عبوَّات» هو مشغِّل ألعاب يسير، فيه دعم لاستيراد الألعاب من ستيم، وهِرُوِك، "
|
||||
"وقوارير، وفيه مزايا لترتيب هذه الألعاب مثل إخفاء بعضها أو ترتيبها حسب تاريخ "
|
||||
"إضافتها أو آخر تاريخ لُعبت فيه."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "المكتبة"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "حرِّر تفاصيل اللعبة"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "تفاصيل اللعبة"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "التفضيلات"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "لم يُعثر على ألعاب"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "جرِّب بحثًا آخر."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "لا توجد ألعاب"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "استخدم زرَّ + لتضيف ألعابًا."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "لا توجد ألعاب مخفية"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "هنا يظهر ما أخفيت من ألعاب."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "عد"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "عنوان اللعبة"
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "العب"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "أضف لعبةً"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "القائمة الرئيسة"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "ابحث"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "الألعاب المخفية"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "رتِّب"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "أ-ي"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "ي-أ"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "الأجدد"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "الأقدم"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "لُعبت آخر مرَّة"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "أظهر ما أخفي"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "اختصارات لوحة المفاتيح"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "عن «عبوَّات»"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr "استورد"
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "العنوان"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "حرِّر"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "أخفِ"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "أزل"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "اكشف"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "عام"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr "أنهِ"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr "أظهر التفضيلات"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr "الاختصارات"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "تراجع"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr "افتح القائمة"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgid "Games"
|
||||
msgstr "الألعاب"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr "أضف لعبةً جديدةً"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgid "Import games"
|
||||
msgstr "استورد ألعابًا"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "أظهر الألعاب المخفية"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr "السلوك"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "اخرج بعد بدء الألعاب"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "تبدأ صورة الغلاف اللعبة"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "يبدِّل سلوك صورة الغلاف وزرِّ «العب»"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "الصور"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "صور ذات دقَّة عالية"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "احفظ غُلُف الألعاب دون فقد على حساب مساحة التخزين"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr "منطقة خطر"
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr "أزل كلَّ الألعاب"
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "المصادر"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "ستيم"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "موضع تثبيت ستيم"
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "المجلَّد المستخدم عند استيراد الألعاب"
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "مكتبات ستيم الإضافية"
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "حدِّد المجلَّدات الأخرى التي ثُبِّتت فيها ألعاب ستيم"
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "أمحُ"
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "هِرُوِك"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "موضع تثبيت هِرُوِك"
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "استورد ألعاب أَبِك"
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "استورد ألعاب جيأوجي"
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "استورد ألعابًا مثبَّتةً بغير متجر"
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "قوارير"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "موضع تثبيت قوارير"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Ali Aljishi <ahj696@hotmail.com>"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "أزيلت {title}"
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "اليوم"
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "أمس"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "أضيفت في: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "أبدًا"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "لُعبت آخر مرَّة في: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "التفاصيل"
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "لم يُعثر على التثبيت"
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "حدِّد مجلَّد ضبط {name}."
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "حدِّد مجلَّد بيانات {name}."
|
||||
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr "عيِّن الموضع"
|
||||
|
||||
#: src/preferences.py:117
|
||||
msgid "All games removed"
|
||||
msgstr "أُزيلت كلُّ الألعاب"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "تُستورد الألعاب…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "لم يُعثر على ألعاب جديدة في نظامك."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr "اُستوردت اللعبة"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "اُستوردت لعبة بنجاح."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr "اُستوردت الألعاب"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "اُستوردت {games_no} لعبة بنجاح."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "أضف لعبةً جديدةً"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "أكِّد"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "طبِّق"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "عنوان اللعبة"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "المطوِّر"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "المطوِّر أو الناشر (اختياري)"
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "ملف.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "برنامج"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\path\\to\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\path\\to\\{file_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/path/to/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/path/to/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"إن أردت تشغيل ملفِّ التنفيذ «{exe_name}» فعليك استخدام الأمر:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"إن أردت فتح الملفِّ «{file_name}» باستخدام التطبيق المبدئيِّ فعليك استخدام:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"ولا تنسَ إحاطة المسافات في المسار بعلامتي تنصيص مزدوجتين!"
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "ملفُّ تنفيذ"
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "الملفُّ المفتوح أو الأمر المشغَّل عند بدء اللعبة"
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "ألغِ"
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "تعذَّرت إضافة اللعبة"
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "تعذَّر تطبيق التفضيلات"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "لا يجوز كون عنوان اللعبة فارغًا."
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "لا يجوز كون ملفِّ التنفيذ فارغًا."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "تجاهل"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "عام"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "ابحث"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "تراجع"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "أوَّل إصدار مستقرٍّ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "عام"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "ابحث"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "تراجع"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "تعذَّر استيراد الألعاب"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "تعذَّر العثور على مجلَّد بوتلز."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "عيِّن موضع بوتلز"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "لم يُعثر على ألعاب جديدة في مكتبة بوتلز."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "اُستوردت ألعاب بوتلز"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "تعذَّر العثور على مجلَّد هِرُوِك."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "عيِّن موضع هِرُوِك"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "اُستوردت ألعاب هِرُوِك"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "لم يُعثر على ألعاب جديدة في مكتبة ستيم."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "تعذَّر العثور على مجلَّد ستيم."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "يُتواصل مع ستيم"
|
||||
@@ -1,14 +1,14 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Copyright (C) YEAR kramo
|
||||
# This file is distributed under the same license as the Cartridges package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Project-Id-Version: Cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+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"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr ""
|
||||
|
||||
@@ -42,8 +42,25 @@ msgid ""
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr ""
|
||||
|
||||
@@ -71,15 +88,11 @@ msgstr ""
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
@@ -91,7 +104,7 @@ msgstr ""
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
@@ -127,10 +140,6 @@ msgstr ""
|
||||
msgid "Show Hidden"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
@@ -139,210 +148,248 @@ msgstr ""
|
||||
msgid "About Cartridges"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
msgid "Unhide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Import games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Steam Install Location"
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
msgid "Directory to use when importing games"
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
msgid "Extra Steam Libraries"
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
msgid "Clear"
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
msgid "Heroic Install Location"
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:195
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:196
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
msgid "Couldn't Import Games"
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
msgid "No new games were found in the Bottles library."
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
msgid "Bottles Games Imported"
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/preferences.py:117
|
||||
msgid "All games removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
msgid "No new games were found on your system."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr ""
|
||||
@@ -355,18 +402,10 @@ msgstr ""
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr ""
|
||||
@@ -379,36 +418,41 @@ msgstr ""
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -422,78 +466,40 @@ msgid ""
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
msgid "Steam Games Imported"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
msgid "Set Steam Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
msgid "Importing Games…"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
msgid "Talking to Steam"
|
||||
msgstr ""
|
||||
|
||||
591
po/es.po
Normal file
591
po/es.po
Normal file
@@ -0,0 +1,591 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Óscar Fernández Díaz <oscfdezdz@users.noreply.hosted.weblate.org>, 2023.
|
||||
# gallegonovato <fran-carro@hotmail.es>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 14:24+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/es/>\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartuchos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Lanzador de juegos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Lance sus juegos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Lance todos sus juegos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"Cartuchos es un lanzador de juegos simple. Tiene soporte para importar sus "
|
||||
"juegos de Steam, Heroic y Bottles con características de organización como "
|
||||
"ocultar y ordenar por fecha añadida o última vez jugado."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Biblioteca"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Editar detalles del juego"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Detalles del juego"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "No se han encontrado juegos"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Pruebe con otra búsqueda."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "No hay juegos"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Use el botón + para añadir juegos."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "No hay juegos ocultos"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Los juegos que oculte aparecerán aquí."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Volver"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Título del juego"
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Jugar"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Añadir juego"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Menú principal"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Juegos ocultos"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Ordenar"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Más recientes"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Más antiguos"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Último jugado"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Mostrar ocultos"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atajos del teclado"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Acerca de Cartuchos"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Ocultar"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Mostrar"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr "Salir"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr "Mostrar preferencias"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr "Atajos"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Deshacer"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr "Abrir menú"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgid "Games"
|
||||
msgstr "Juegos"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr "Añadir juego nuevo"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgid "Import games"
|
||||
msgstr "Importar juegos"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Mostrar juegos ocultos"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr "Conducta"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Salir después de iniciar juegos"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "La imagen de portada lanza el juego"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr ""
|
||||
"Cambia el comportamiento de la imagen de portada y del botón de reproducción"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Imágenes"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Imágenes de alta calidad"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "Guarda las partidas sin pérdidas a costa del almacenamiento"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "Fuentes"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Ubicación de la instalación de Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Directorio a usar para importar juegos"
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Bibliotecas Steam adicionales"
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Seleccione otros directorios donde tenga instalados juegos de Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "Limpiar"
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Ubicación de la instalación de Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importar juegos de Epic"
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importar juegos de GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importar juegos descargados"
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Ubicación de instalación de Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Óscar Fernández Díaz <oscfdezdz@tuta.io>"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} eliminado"
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Hoy"
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Ayer"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Añadido: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Nunca"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Jugado por última vez: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Detalles"
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "No se encuentra la instalación"
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "Selecciona el directorio de la configuración {name}."
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "Selecciona el directorio de los datos {name}."
|
||||
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr "Escoger la ubicación"
|
||||
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} eliminado"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importando juegos…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found on your device."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "No se han encontrado juegos nuevos en tu dispositivo."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr "Juego importado"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importado 1 juego con éxito."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr "Juegos importados"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Importados {games_no} juegos con éxito."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Añadir juego nuevo"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Aplicar"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "El título del juego"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Desarrollador"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "El desarrollador o editor (opcional)"
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "archivo.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "programa"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\ruta\\hasta\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\ruta\\hasta\\{file_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/ruta/hasta/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/ruta/hasta/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Para lanzar el ejecutable \"{exe_name}\", use el comando:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Para abrir el archivo \"{file_name}\" con la aplicación predeterminada, "
|
||||
"use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Si la ruta contiene espacios, ¡asegúrese de entrecomillarla!"
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Ejecutable"
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Archivo a abrir o comando a ejecutar al iniciar el juego"
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "No se puede añadir el juego"
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "No se pudieron aplicar las preferencias"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "El título del juego no puede estar vacío."
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "El ejecutable no puede estar vacío."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Descartar"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "General"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Buscar"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Deshacer"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Primera versión estable"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "General"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Buscar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Deshacer"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "No se pueden importar juegos"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "No se encuentra el directorio Bottles."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Establecer la ubicación de Bottles"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "No se han encontrado juegos nuevos en la biblioteca de Bottles."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Juegos de Bottles importados"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "No se encuentra el directorio Heroic."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Establecer ubicación de Heroic"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Juegos de Heroic importados"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "No se han encontrado juegos nuevos en la biblioteca de Steam."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "No se encuentra el directorio de Steam."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Hablando con Steam"
|
||||
605
po/fi.po
Normal file
605
po/fi.po
Normal file
@@ -0,0 +1,605 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# LINUX-SAUNA <linuxsauna@protonmail.com>, 2023.
|
||||
# Kimmo Kujansuu <mrkujansuu@gmail.com>, 2023.
|
||||
# Kopimi <tatuus@tutanota.com>, 2023.
|
||||
# Jiri Grönroos <jiri.gronroos@iki.fi>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-26 17:51+0000\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
|
||||
"Language-Team: Finnish <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/fi/>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Pelin käynnistin"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Käynnistä pelit"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Käynnistä kaikki pelisi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"Cartridges on helppo pelikäynnistin. Se tukee pelien tuontia Steamista, "
|
||||
"Heroicista ja Bottlesista ja tarjoaa ominaisuuden järjestelyyn, kuten "
|
||||
"piilottamisen ja lajittelun lisäyspäivämäärän tai viimeisimmän pelatun pelin "
|
||||
"mukaan."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Kirjasto"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Muokkaa pelin tietoja"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Pelin tiedot"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Pelejä ei löydetty"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Kokeile eri hakua."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Ei pelejä"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Käytä + lisätäksesi pelejä."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Ei piilotettuja pelejä"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Piilotetut pelit näkyvät täällä."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Takaisin"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Pelin nimi"
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Pelaa"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Lisää peli"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Päävalikko"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Etsi"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Piilotetut pelit"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Lajittele"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Uusin"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Vanhin"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Viimeksi pelattu"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Näytä piilotetut"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Tietoja - Cartridges"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
#, fuzzy
|
||||
#| msgid "Import from"
|
||||
msgid "Import"
|
||||
msgstr "Tuo kohteesta"
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Nimi"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Muokkaa"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Piilota"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Poista"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Näytä"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Yleistä"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr "Näytä asetukset"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Kumoa"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr "Avaa valikko"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgid "Games"
|
||||
msgstr "Pelit"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr "Lisää uusi peli"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
#, fuzzy
|
||||
#| msgid "Import GOG Games"
|
||||
msgid "Import games"
|
||||
msgstr "Tuo GOG-pelejä"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Näytä piilotetut pelit"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Poistuminen pelin käynnistämisen jälkeen"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "Kansikuva käynnistää pelin"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Kuvat"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Korkealaatuiset kuvat"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "Tallenna pelien kansikuvat häviöttömästi tallennustilan kustannuksella"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Steam-asennuksen sijainti"
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Hakemisto, jota käytetään pelejä tuotaessa"
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Steam-lisäkirjastot"
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Valitse muut hakemistot, joihin Steam-pelit on asennettu"
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "Tyhjennä"
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Heroic-asennuksen sijainti"
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Tuo Epic-pelejä"
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Tuo GOG-pelejä"
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Tuo Sideload-pelejä"
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Pullot"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Bottles-asennuksen sijainti"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Linux Sauna"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} poistettu"
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Tänään"
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Eilen"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Lisätty: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Ei koskaan"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Pelattu: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Tiedot"
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/preferences.py:61
|
||||
#, fuzzy
|
||||
#| msgid "Set Steam Location"
|
||||
msgid "Set Location"
|
||||
msgstr "Aseta Steamin sijainti"
|
||||
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} poistettu"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Tuodaan pelejä…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found in the Heroic library."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Heroic-kirjastosta ei löytynyt uusia pelejä."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Game Imported"
|
||||
msgstr "Steam-pelit tuotu"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Onnistuneesti tuotu 1 peli."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Games Imported"
|
||||
msgstr "Steam-pelit tuotu"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Onnistuneesti tuotu {games_no} peliä."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Lisää uusi peli"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Vahvista"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Käytä"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Pelin nimi"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Kehittäjä"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Kehittäjä tai julkaisija (valinnainen)"
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "file.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "ohjelma"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\polku\\kansioon\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\polku\\kansioon\\{file_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/polku/kansioon/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/polku/kansioon/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Käynnistääksesi suoritettavan ohjelman \"{exe_name}\", käytä komentoa:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Avataksesi tiedoston \"{file_name}\" oletussovelluksella, käytä komentoa:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Jos polku sisältää välilyöntejä, varmista, että se on suljettu "
|
||||
"kaksinkertaisiin lainausmerkkeihin!"
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Suoritettava"
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr ""
|
||||
"Tiedosto, joka avataan tai komento, joka ajetaan pelin käynnistämisen "
|
||||
"yhteydessä"
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Peliä ei voitu lisätä"
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Asetuksia ei voitu ottaa käyttöön"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Pelin nimi ei voi olla tyhjä."
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Suoritettava ei voi olla tyhjä."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Hylkää"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Yleistä"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Etsi"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Kumoa"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Ensimmäinen vakaa julkaisu"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Yleistä"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Etsi"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Kumoa"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Pelejä ei voitu tuoda"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "Bottles-hakemistoa ei löydy."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Aseta Bottlesin sijainti"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "Bottles-kirjastosta ei löytynyt uusia pelejä."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Bottles-pelit on tuotu"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "Heroic-hakemistoa ei löytynyt."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Aseta Heroicin sijainti"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Heroic-pelit tuotu"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Steam-kirjastosta ei löytynyt uusia pelejä."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Steam-hakemistoa ei löydy."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Yhdistetään Steam-kirjastoon"
|
||||
493
po/fr.po
493
po/fr.po
@@ -3,13 +3,14 @@
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# "J. Lavoie" <j.lavoie@net-c.ca>, 2023.
|
||||
# kramo <contact@kramo.hu>, 2023.
|
||||
# rene-coty <irenee.thirion@e.email>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"PO-Revision-Date: 2023-03-21 11:05+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-28 22:23+0000\n"
|
||||
"Last-Translator: \"J. Lavoie\" <j.lavoie@net-c.ca>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -17,13 +18,13 @@ 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 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
msgstr "Cartouches"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
@@ -43,13 +44,30 @@ msgid ""
|
||||
"games from Steam, Heroic and Bottles with organizational features such as "
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"Cartridges est un simple lanceur de jeux. Il prend en charge l'importation "
|
||||
"Cartouches est un simple lanceur de jeux. Il prend en charge l'importation "
|
||||
"de vos jeux depuis Steam, Heroic et Bottles, avec des fonctions "
|
||||
"d'organisation telles que le masquage et le tri par date d'ajout ou de "
|
||||
"dernière lecture."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Bibliothèque"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Modifier les détails du jeu"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Détails du jeu"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Aucun jeu trouvé"
|
||||
|
||||
@@ -58,9 +76,8 @@ msgid "Try a different search."
|
||||
msgstr "Essayez une autre recherche."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
#, fuzzy
|
||||
msgid "No Games"
|
||||
msgstr "Jeux"
|
||||
msgstr "Aucun jeu"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
@@ -76,17 +93,13 @@ msgstr "Les jeux que vous masquez apparaîtront ici."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Détails du jeu"
|
||||
msgstr "Retour"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Titre du jeu"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Jouer"
|
||||
|
||||
@@ -96,12 +109,11 @@ msgstr "Ajouter un jeu"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
#, fuzzy
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
@@ -135,222 +147,273 @@ msgstr "Dernière session"
|
||||
msgid "Show Hidden"
|
||||
msgstr "Afficher les masqués"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "À propos de Cartridges"
|
||||
msgstr "À propos de Cartouches"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
#, fuzzy
|
||||
#| msgid "Import from"
|
||||
msgid "Import"
|
||||
msgstr "Importer depuis"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
msgid "Hide"
|
||||
msgstr "Masquer"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
msgid "Remove"
|
||||
msgstr "Retirer"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
msgid "Unhide"
|
||||
msgstr "Afficher"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Masquer"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Retirer"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Afficher"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Quitter"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Afficher les préférences"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Raccourcis"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Ouvrir le menu"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Jeux"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Ajouter un nouveau jeu"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
#, fuzzy
|
||||
#| msgid "Import GOG Games"
|
||||
msgid "Import games"
|
||||
msgstr "Importer des jeux GOG"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Afficher les jeux masqués"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Quitter après avoir lancé les jeux"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "Cliquer sur l’image de couverture lance le jeu"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr ""
|
||||
"Intervertit le comportement de l’image de couverture et du bouton de lecture"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Images"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Images de haute qualité"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr ""
|
||||
"Sauvegarde les couvertures de jeu sans perte, mais prend plus de stockage"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Emplacement de l'installation de Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Répertoire à utiliser lors de l'importation de jeux"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr ""
|
||||
msgstr "Bibliothèque Steam supplémentaires"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr ""
|
||||
"Sélectionnez d’autres répertoires où vous avez des jeux Steam installés"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "Vider"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Emplacement de l'installation Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importer Epic Games"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importer des jeux GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importer des jeux Sideloaded"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Emplacement de l'installation Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr ""
|
||||
msgstr "Irénée Thirion"
|
||||
|
||||
#: src/main.py:195
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} retiré"
|
||||
|
||||
#: src/main.py:196
|
||||
msgid "Undo"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Aujourd'hui"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Hier"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Ajouté : {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Jamais"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Dernière session : {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Impossible d'importer des jeux"
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Détails"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "Le répertoire Bottles est introuvable."
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Définir l'emplacement de Bottles"
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Bottles."
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Jeux Bottles importés"
|
||||
#: src/preferences.py:61
|
||||
#, fuzzy
|
||||
#| msgid "Set Steam Location"
|
||||
msgid "Set Location"
|
||||
msgstr "Définir l'emplacement Steam"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} retiré"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importation des jeux…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found in the Heroic library."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Heroic."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Game Imported"
|
||||
msgstr "Jeux Steam importés"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importation réussie de 1 jeu."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Games Imported"
|
||||
msgstr "Jeux Steam importés"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Importation réussie de {games_no} jeux."
|
||||
@@ -363,18 +426,10 @@ msgstr "Ajouter un nouveau jeu"
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Modifier les détails du jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Appliquer"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Images"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Le titre du jeu"
|
||||
@@ -387,36 +442,41 @@ msgstr "Développeur"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Le développeur ou l'éditeur (facultatif)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "ficher.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
msgstr "programme"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
msgstr "C:\\chemin\\vers\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\chemin\\vers\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/chemin/vers/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
msgstr "/chemin/vers/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -429,84 +489,121 @@ msgid ""
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Pour lancer l'exécutable « {exe_name} », utilisez la commande :\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Pour ouvrir le fichier « {file_name} » avec l'application par défaut, "
|
||||
"utilisez la commande :\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Si le chemin d'accès contient des espaces, veillez à le mettre entre "
|
||||
"guillemets !"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Exécutable"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Fichier à ouvrir ou commande à exécuter au lancement du jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Impossible d'ajouter un jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossible d'appliquer les préférences"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Le titre du jeu ne peut pas être vide."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "L'exécutable ne peut pas être vide."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossible d'appliquer les préférences"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Rejeter"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "Le répertoire Heroic est introuvable."
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Définir l'emplacement Heroic"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Heroic."
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Jeux Heroic importés"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Steam."
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Jeux Steam importés"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Le répertoire Steam est introuvable."
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Définir l'emplacement Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#, fuzzy
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importation de jeux…"
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Général"
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
#, fuzzy
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Parler à Steam"
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Rechercher"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Annuler"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Première version stable"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Général"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Recherche"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Annuler"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Impossible d'importer des jeux"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "Le répertoire Bottles est introuvable."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Définir l'emplacement de Bottles"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Bottles."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Jeux Bottles importés"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "Le répertoire Heroic est introuvable."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Définir l'emplacement Heroic"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Jeux Heroic importés"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Steam."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Le répertoire Steam est introuvable."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Parler à Steam"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Successfully imported {str(len(bottles_games))} games."
|
||||
|
||||
466
po/hu.po
466
po/hu.po
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"PO-Revision-Date: 2023-03-19 12:28+0000\n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 16:17+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/hu/>\n"
|
||||
@@ -18,11 +18,11 @@ 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 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Kazetták"
|
||||
|
||||
@@ -45,12 +45,29 @@ msgid ""
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"A Kazetták egy egyszerű játékindító. Támogatja a Steam-ből, Heroic-ból és "
|
||||
"Bottles-ből való importálást, valamint a játékok elrejtését és rendezését."
|
||||
"Palackok-ból való importálást, valamint a játékok elrejtését és rendezését."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Könyvtár"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Játék Szerkesztése"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Játék Tulajdonságai"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Nem Találhatóak Játékok"
|
||||
msgstr "Nem találhatóak játékok"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
@@ -58,51 +75,47 @@ msgstr "Próbálkozz más kereséssel."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Nincsenek Játékok"
|
||||
msgstr "Nincsenek játékok"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Használd a + gombot a játékok hozzáadásához."
|
||||
msgstr "Használja a + gombot a játékok hozzáadásához."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Nincsenek Rejtett Játékok"
|
||||
msgstr "Nincsenek rejtett játékok"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "A rejtett játékaid itt lesznek megtalálhatók."
|
||||
msgstr "A rejtett játékaid itt lesznek megtalálhatóak."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Vissza"
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Játék Részletei"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Cím"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Játék"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Játék Hozzáadása"
|
||||
msgstr "Játék hozzáadása"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Főmenü"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Rejtett Játékok"
|
||||
msgstr "Rejtett játékok"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
@@ -130,247 +143,273 @@ msgstr "Legutóbb játszott"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Rejtett Játékok"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
msgstr "Rejtett játékok"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Billentyűparancsok"
|
||||
msgstr "Gyorsbillentyűk"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "A Kazettákról"
|
||||
msgstr "A Kazetták névjegye"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
msgstr "Importálás innen"
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr "Importálás"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Edit"
|
||||
msgstr "Szerkeszt"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
msgid "Hide"
|
||||
msgstr "Elrejt"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
msgid "Remove"
|
||||
msgstr "Eltávolít"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
msgid "Unhide"
|
||||
msgstr "Mutat"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Cím"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Szerkesztés"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Elrejtés"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Eltávolítás"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Elrejtés visszavonása"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Általános"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Kilépés"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Beállítások mutatása"
|
||||
msgstr "Beállítások megjelenítése"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Billentyűparancsok"
|
||||
msgstr "Gyorsbillentyűk"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Menü megnyitása"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Játékok"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Új játék hozzáadása"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Import games"
|
||||
msgstr "Játékok importálása"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Rejtett játékok megjelenítése"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "Általános"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr "Működés"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Kilépés Játékok Indítása Után"
|
||||
msgstr "Kilépés játékok indítása után"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "A borítókép indítja el a játékot"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "Felcseréli a \"Játék\" gomb és a borítókép funkcióját"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Képek"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Jó minőségű képek"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "Játékborítók veszteségmentes tárolása a tárhely költségére"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr "Veszélyzóna"
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr "Az összes játék eltávolítása"
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "Források"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Steam Telepítés Helye"
|
||||
msgstr "Steam telepítés helye"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Az importáláskor használatos mappa"
|
||||
msgstr "Az importáláshoz használt mappa"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Extra Steam Könyvtárak"
|
||||
msgstr "További Steam könyvtárak"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Válasszon ki egyéb mappákat, ahol vannak még Steam játékai"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "Törlés"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Heroic Telepítés Helye"
|
||||
msgstr "Heroic telepítés helye"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Epic Games Játékok Importálása"
|
||||
msgstr "Epic Games játékok importálása"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "GOG Játékok Importálása"
|
||||
msgstr "GOG játékok importálása"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Manuálisan Hozzáadott Játékok Importálása"
|
||||
msgstr "Manuálisan hozzáadott játékok importálása"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Palackok"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Bottles Telepítés Helye"
|
||||
msgstr "Palackok telepítés helye"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "kramo https://kramo.hu"
|
||||
|
||||
#: src/main.py:195
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} eltávolítva"
|
||||
|
||||
#: src/main.py:196
|
||||
msgid "Undo"
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Ma"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Tegnap"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Hozzáadva: {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Soha"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Legutóbbi játékmenet: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Nem Lehet Importálni a Játékot"
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Tulajdonságok"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "A Bottles mappa nem található."
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "Telepítés nem található"
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Bottles Mappa Kiválasztása"
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "Válassza ki {name} konfigurációs mappáját."
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Nem találhatók új játékok a Bottles könyvtárban."
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "Válassza ki {name} adatainak mappáját."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Bottles Játékok Importálva"
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr "Mappa kiválasztása"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/preferences.py:117
|
||||
msgid "All games removed"
|
||||
msgstr "Az összes játék eltávolítva"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Játékok importálása folyamatban…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Nem találhatóak új játékok a rendszerén."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr "Játékok importálva"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "1 játék sikeresen importálva."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr "Játékok importálva"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "{games_no} játék sikeresen importálva."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Új Játék Hozzáadása"
|
||||
msgstr "Új játék hozzáadása"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Megerősít"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Játék Részleteinek Szerkesztése"
|
||||
msgstr "Megerősítés"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Alkalmaz"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Képek"
|
||||
msgstr "Alkalmazás"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
@@ -384,36 +423,41 @@ msgstr "Fejlesztő"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "A fejlesztő vagy kiadó (nem kötelező)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "fájl.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "program"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\útvonal\\a\\programhoz\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\útvonal\\a\\fájlhoz\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/útvonal/a/programhoz/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/útvonal/a/fájlhoz/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -426,7 +470,7 @@ msgid ""
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Az \"{exe_name}\", program elindításához ezt a parancsot használd:\n"
|
||||
"Az \"{exe_name}\" program elindításához ezt a parancsot használd:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
@@ -437,81 +481,103 @@ msgstr ""
|
||||
"\n"
|
||||
"Ha az elérési útvonalban szóközök vannak, rakd az útvonalat idézőjelek közé!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Program"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Fájl megnyitása vagy parancs futtatása a játék indításakor"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Nem Lehet Hozzáadni a Játékot"
|
||||
msgstr "Nem lehet hozzáadni a játékot"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Nem lehet menteni a beállításokat"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "A cím nem lehet üres."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "A program nem lehet üres."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Nem Lehet Menteni a Beállításokat"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Rendben"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "A Heroic mappa nem található."
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Általános"
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Heroic Mappa Kiválasztása"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Keresés"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Nem találhatók új játékok a Heroic könyvtárban."
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Visszavonás"
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic Játékok Importálva"
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Első stabil kiadás"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Nem találhatók új játékok a Steam könyvtárban."
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Általános"
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam Játékok Importálva"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Keresés"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "A Steam mappa nem található."
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Visszavonás"
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam Mappa Kiválasztása"
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Nem lehet importálni a játékokat"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
msgid "Importing Games…"
|
||||
msgstr "Játékok Importálása…"
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "A Palackok mappa nem található."
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Beszélgetés a Steammel"
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Palackok mappa kiválasztása"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "Nem találhatók új játékok a Palackok könyvtárban."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Játékok importálva a Palackok-ból"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "A Heroic mappa nem található."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Heroic mappa kiválasztása"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Játékok importálva a Heroic-ból"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Nem találhatóak új játékok a Steam könyvtárban."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "A Steam mappa nem található."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Adatok lekérése a Steam-ből"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid "{self.win.games[game_id].name} removed"
|
||||
@@ -540,3 +606,9 @@ msgstr "Beszélgetés a Steammel"
|
||||
|
||||
#~ msgid "Import From Heroic"
|
||||
#~ msgstr "Importálás Heroic-ból"
|
||||
|
||||
#~ msgid "No new games were found on your device."
|
||||
#~ msgstr "Nem találhatóak új játékok az eszközén."
|
||||
|
||||
#~ msgid "Set Steam Location"
|
||||
#~ msgstr "Steam mappa kiválasztása"
|
||||
|
||||
586
po/it.po
Normal file
586
po/it.po
Normal file
@@ -0,0 +1,586 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Alessandro Iepure <alessandro.iepure@gmail.com>, 2023.
|
||||
# albanobattistella <albano_battistella@hotmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 20:15+0000\n"
|
||||
"Last-Translator: Alessandro Iepure <alessandro.iepure@gmail.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/it/>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartucce"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Launcher di giochi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Avvia i tuoi giochi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Avvia tutti i tuoi giochi"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"Cartridges è un semplice launcher di giochi. Supporta l'import di giochi da "
|
||||
"Steam, Heroic e Bottles con funzioni organizzative come la possibilità di "
|
||||
"nascondere e ordinare per data di aggiunta o di ultimo avvio."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Libreria"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Modifica dettagli del gioco"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Dettagli del gioco"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Nessun Gioco Trovato"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Prova una ricerca diversa."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Nessun Gioco"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Usa il pulsante + per aggiungere giochi."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Nessun Gioco Nascosto"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "I giochi nascosti appariranno qui."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Titolo del gioco"
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Gioca"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Aggiungi Gioco"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Menù Principale"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Giochi Nascosti"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Ordina per"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Più recente"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Più vecchio"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Ultimo Avvio"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Mostra Nascosti"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Scorciatoie da Tastiera"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Informazioni su Cartucce"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr "Importa"
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titolo"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Modifica"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Nascondi"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Rimuovi"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Mostra"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Generale"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr "Mostra preferenze"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr "Apri il menù"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgid "Games"
|
||||
msgstr "Giochi"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr "Aggiungi un nuovo gioco"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgid "Import games"
|
||||
msgstr "Importa giochi"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Mostra giochi nascosti"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr "Comportamento"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Esci dopo l'avvio dei giochi"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "La copertina avvia il gioco"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "Inverti il comportamento della copertina con il pulsante di avvio"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Immagini"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Immagini di alta qualità"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr ""
|
||||
"Salva copertine dei giochi in formato lossless, consuma più spazio su disco"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr "Zona di pericolo"
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr "Rimuovi tutti i giochi"
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "Fonti"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Percorso Installazione Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Cartella da usare per importare i giochi"
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Librerie Steam Extra"
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Seleziona le altre directory in cui sono installati i giochi di Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Percorso Installazione Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importa giochi da Epic Games"
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importa giochi da GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importa giochi da aggiunti manualmente"
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Percorso Installazione Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Alessandro Iepure https://ale.iepure.me"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} rimosso"
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Oggi"
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Ieri"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Aggiunto il: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Mai"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Ultimo avvio: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Dettagli"
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "Installazione non trovata"
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "Selezionare la directory di configurazione per {name}."
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "Selezionare la cartella dei dati per {name}."
|
||||
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr "Imposta percorso"
|
||||
|
||||
#: src/preferences.py:117
|
||||
msgid "All games removed"
|
||||
msgstr "Tutti i giochi sono stati rimossi"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Import dei giochi in corso…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Nessun nuovo gioco trovato nel tuo sistema."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr "Gioco importato"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Un gioco importato con successo."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr "Giochi importati"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "{games_no} giochi importati con successo."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Aggiungi un Nuovo Gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Conferma"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Applica"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Titolo del gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Sviluppatore"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Lo sviluppatore o l'editore (opzionale)"
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "file.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "programma"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\percorso\\per\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\percorso\\per\\{file_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/percorso/per/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/percorso/per/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Per avviare l'eseguibile \"{exe_name}\", usa il comando:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Per aprire il file \"{file_name}\" con il programma di default, usa:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Se il comando contiene spazi, mettilo tra virgolette!"
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Eseguibile"
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "File da aprire o comando da lanciare per avviare il gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Impossibile aggiungere il gioco"
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossibile applicare le preferenze"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Il titolo del gioco non può essere vuoto."
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "L'eseguibile non può essere vuoto."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generale"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Cerca"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Annulla"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Prima versione stabile"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generale"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Cerca"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Annulla"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Non è stato possibile importare i giochi"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "Non è possibile trovare il percorso per Bottles."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Imposta il percorso per Bottles"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "Nessun nuovo gioco trovato nella libreria di Bottles."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Importati giochi da Bottles"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "Non è possibile trovare il percorso per Heroic."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Imposta il percorso per Heroic"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Importati giochi da Heroic"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Nessun nuovo gioco trovato nella libreria di Steam."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Non è possibile trovare il percorso per Steam."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Parlando con Steam"
|
||||
513
po/ko.po
Normal file
513
po/ko.po
Normal file
@@ -0,0 +1,513 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR kramo
|
||||
# This file is distributed under the same license as the Cartridges package.
|
||||
# MJKim <kmj10727@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-28 22:23+0000\n"
|
||||
"Last-Translator: MJKim <kmj10727@gmail.com>\n"
|
||||
"Language-Team: Korean <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/ko/>\n"
|
||||
"Language: ko\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "카트리지"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "게임 런처"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "게임을 실행합니다"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "모든 게임을 실행합니다"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"카트리지는 간단한 게임 런처입니다. 추가한 날짜 또는 마지막으로 플레이한 날짜"
|
||||
"별로 게임을 숨기거나 정렬하는 등의 정리 기능을 통해 Steam, Heroic 및 Bottles"
|
||||
"에서 게임을 가져올 수 있습니다."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "라이브러리"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "게임이 없습니다"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "뒤로"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "정렬"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "카트리지 정보"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
#, fuzzy
|
||||
#| msgid "No Games"
|
||||
msgid "Games"
|
||||
msgstr "게임이 없습니다"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
#, fuzzy
|
||||
#| msgid "No Games"
|
||||
msgid "Import games"
|
||||
msgstr "게임이 없습니다"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/preferences.py:117
|
||||
msgid "All games removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
msgid "No new games were found on your system."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr ""
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr ""
|
||||
475
po/nb_NO.po
475
po/nb_NO.po
@@ -2,13 +2,14 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# kramo <contact@kramo.hu>, 2023.
|
||||
# Allan Nordhøy <epost@anotheragency.no>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"PO-Revision-Date: 2023-03-21 11:05+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 11:43+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"
|
||||
@@ -16,11 +17,11 @@ 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 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -47,8 +48,25 @@ msgstr ""
|
||||
"organiseringsfunksjoner som skjuling og sortering etter tillagt dato eller "
|
||||
"sist spilt."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Bibliotek"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Rediger spilldetaljer"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Spilldetaljer"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Fant ingen spill"
|
||||
|
||||
@@ -57,9 +75,8 @@ msgid "Try a different search."
|
||||
msgstr "Prøv et forskjellig søk."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
#, fuzzy
|
||||
msgid "No Games"
|
||||
msgstr "Spill"
|
||||
msgstr "Ingen spill"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
@@ -75,17 +92,13 @@ msgstr "Spill du skjuler vil vises her."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Spilldetaljer"
|
||||
msgstr "Tilbake"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Spillnavn"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Spill"
|
||||
|
||||
@@ -95,9 +108,9 @@ msgstr "Legg til spill"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Hovedmeny"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
#, fuzzy
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
@@ -134,10 +147,6 @@ msgstr "Sist spilt"
|
||||
msgid "Show Hidden"
|
||||
msgstr "Vis skjulte"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastatursnarveier"
|
||||
@@ -146,210 +155,265 @@ msgstr "Tastatursnarveier"
|
||||
msgid "About Cartridges"
|
||||
msgstr "Om"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
#, fuzzy
|
||||
#| msgid "Import from"
|
||||
msgid "Import"
|
||||
msgstr "Importer fra"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
msgid "Hide"
|
||||
msgstr "Skjul"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
msgid "Unhide"
|
||||
msgstr "Opphev fjerning"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Navn"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Skjul"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Opphev fjerning"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Generelt"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Avslutt"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Vis innstillinger"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Snarveier"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Angre"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Åpne meny"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Spill"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Legg til nytt spill"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
#, fuzzy
|
||||
#| msgid "Import GOG Games"
|
||||
msgid "Import games"
|
||||
msgstr "Importer GOG-spill"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Vis skjulte spill"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "Generelt"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
#, fuzzy
|
||||
msgid "Behavior"
|
||||
msgstr "Adferd"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Avslutt etter oppstart av spill"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "Omslagsbilde starter spill"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "Bytter adferd for omslagsbilde og spill-knapp"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Bilder"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Høykvalitetsbilder"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "Lagre spillomslag tapsfritt på bekostning av lagringsplass"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "Kilder"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Installasjonssted for Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Mappe å bruke ved import av spill"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr ""
|
||||
msgstr "Ekstra Steam-bibliotek"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
#: data/gtk/preferences.blp:87
|
||||
#, fuzzy
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr ""
|
||||
msgstr "Velg andre mapper der du har Steam-spill installert"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "Tøm"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Installasjonssted for Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importer Epic-spill"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importer GOG-spill"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importer sideinnlastede spill"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Installasjonssted for Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Allan Nordhøy, <epost@anotheragency.no>"
|
||||
|
||||
#: src/main.py:195
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} fjernet"
|
||||
|
||||
#: src/main.py:196
|
||||
msgid "Undo"
|
||||
msgstr "Angre"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "I dag"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "I går"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Tillagt: {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "Aldri"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Sist spilt: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Kunne ikke importere spill"
|
||||
#: src/game.py:173
|
||||
#, fuzzy
|
||||
msgid "Details"
|
||||
msgstr "Spilldetaljer"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "Finner ikke Bottles-mappen."
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "Fant ikke installasjonen"
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Sett mappe for Bottles"
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "Velg {name}-oppsettsmappen."
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "Fant ingen nye spill i Bottles-biblioteket."
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "Velg {name}-datamappen."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Bottles-spill importert"
|
||||
#: src/preferences.py:61
|
||||
#, fuzzy
|
||||
#| msgid "Set Steam Location"
|
||||
msgid "Set Location"
|
||||
msgstr "Velg hvor Steam er å finne"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} fjernet"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importerer spill …"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found in the Heroic library."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Fant ingen nye spill i Heroic-biblioteket."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Game Imported"
|
||||
msgstr "Steam-spill importert"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importerte ett spill."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Games Imported"
|
||||
msgstr "Steam-spill importert"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Importerte {games_no} spill."
|
||||
@@ -362,18 +426,10 @@ msgstr "Legg til nytt spill"
|
||||
msgid "Confirm"
|
||||
msgstr "Bekreft"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Rediger spilldetaljer"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Bruk"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Bilder"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Navnet på spillet"
|
||||
@@ -386,37 +442,42 @@ msgstr "Utvikler"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Utvikler eller utgiver (valgfritt)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
msgstr "fil.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
msgstr "program"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
msgstr "C:\\sti\\til\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\sti\\til\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/sti/til/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
msgstr "/sti/til/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#, python-brace-format
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, fuzzy, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
@@ -428,82 +489,120 @@ msgid ""
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Start den kjørbare «{exe_name}»-filen med denne kommandoen:\n"
|
||||
"\n"
|
||||
"<tt>«{exe_path}»</tt>\n"
|
||||
"\n"
|
||||
"For å åpne filen «{file_name}» med forvalgt program bruker du:\n"
|
||||
"\n"
|
||||
"<tt>{command} «{file_path}»</tt>\n"
|
||||
"\n"
|
||||
"Hvis stien inneholder mellomrom må du pakke den inn i doble engelske "
|
||||
"sitattegn."
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Kjørbar"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Fil å åpne eller kommando å kjøre ved oppstart av spillet"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Kunne ikke legge til spill"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kunne ikke ta i bruk endringer"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Spillnavnet kan ikke være tomt."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Kjørbar fil må angis."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kunne ikke ta i bruk endringer"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Forkast"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "Finner ikke Heroic-spillmappen."
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generelt"
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Velg hvor Heroic er å finne"
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Søk"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Fant ingen nye spill i Heroic-biblioteket."
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Angre"
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic-spill importert"
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Første ordentlige utgave"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Fant ingen nye spill i Steam-biblioteket."
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generelt"
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam-spill importert"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Søk"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Kunne ikke finne Steam-mappen."
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Angre"
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Velg hvor Steam er å finne"
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Kunne ikke importere spill"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
msgid "Importing Games…"
|
||||
msgstr ""
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "Finner ikke Bottles-mappen."
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
msgid "Talking to Steam"
|
||||
msgstr ""
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Sett mappe for Bottles"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "Fant ingen nye spill i Bottles-biblioteket."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Bottles-spill importert"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "Finner ikke Heroic-spillmappen."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Velg hvor Heroic er å finne"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Heroic-spill importert"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Fant ingen nye spill i Steam-biblioteket."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Kunne ikke finne Steam-mappen."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Snakker med Steam"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Successfully imported {str(len(bottles_games))} games."
|
||||
|
||||
594
po/nl.po
Normal file
594
po/nl.po
Normal file
@@ -0,0 +1,594 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Philip Goto <philip.goto@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 16:17+0000\n"
|
||||
"Last-Translator: Philip Goto <philip.goto@gmail.com>\n"
|
||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/nl/>\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Game-launcher"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Start uw games op"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Start al uw games op"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"Cartridges is een eenvoudige game-launcher. Het biedt ondersteuning voor het "
|
||||
"importeren van al uw games van Steam, Heroic en Bottles. Daarnaast heeft het "
|
||||
"organisatorische functies zoals verbergen en sorteren op toegevoegd of "
|
||||
"laatst gespeeld."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Bibliotheek"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Game-details bewerken"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Game-details"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Geen games gevonden"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Probeer een andere zoekopdracht"
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Geen games"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Gebruik de plusknop om games toe te voegen"
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Geen verborgen games"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Games die u verbergt zullen hier verschijnen"
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Terug"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Game-titel"
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Spelen"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Game toevoegen"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Verborgen games"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Sorteren"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Nieuwste"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Oudste"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Laatst gespeeld"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Verborgen games tonen"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Over Cartridges"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr "Importeren"
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Bewerken"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Verbergen"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Niet meer verbergen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Algemeen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr "Voorkeuren tonen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Ongedaan maken"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr "Menu openen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgid "Games"
|
||||
msgstr "Games"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr "Nieuwe game toevoegen"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgid "Import games"
|
||||
msgstr "Games importeren"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Verborgen games tonen"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr "Gedrag"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Sluiten na starten van game"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "Cover-afbeelding start game"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "Wisselt het gedrag van de cover-afbeelding en de speelknop om"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Afbeeldingen"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Afbeeldingen van hoge kwaliteit"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr ""
|
||||
"Game-covers zonder kwaliteitsverlies opslaan ten koste van opslagruimte"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr "Gevarenzone"
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr "Alle games verwijderen"
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "Bronnen"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Installatielocatie van Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Map om te gebruiken bij het importeren van games"
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Extra Steam-bibliotheken"
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Andere mappen waar u Steam-games heeft geïnstalleerd"
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Installatielocatie van Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Epic-games importeren"
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "GOG-games importeren"
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Gesideloade games importeren"
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Installatielocatie van Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Philip Goto <philip.goto@gmail.com>"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} verwijderd"
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Vandaag"
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Gisteren"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Toegevoegd op {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Nooit"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Laatst gespeeld op {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Details"
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "Installatie niet gevonden"
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "Selecteer de configuratiemap van {name}"
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "Selecteer de gegevensmap van {name}"
|
||||
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr "Locatie instellen"
|
||||
|
||||
#: src/preferences.py:117
|
||||
msgid "All games removed"
|
||||
msgstr "Alle games verwijderd"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Games importeren…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Geen nieuwe games gevonden op uw systeem"
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr "Game geïmporteerd"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "1 game succesvol geïmporteerd"
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr "Games geïmporteerd"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "{games_no} games succesvol geïmporteerd"
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Nieuwe game toevoegen"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Bevestigen"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Toepassen"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "De titel van de game"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Ontwikkelaar"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "De ontwikkelaar of uitgever (optioneel)"
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "bestand.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "programma"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\pad\\naar\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\pad\\naar\\{file_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/pad/naar/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/pad/naar/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Om het programma ‘{exe_name}’ te starten, gebruik de volgende opdracht:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Om het bestand ‘{file_name}’ met de standaard-app te openen, gebruik de "
|
||||
"volgende opdracht:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Indien het pad spaties bevat, zorg er dan voor dat er dubbele "
|
||||
"aanhalingstekens omheen staan!"
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Programmabestand"
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr ""
|
||||
"Te openen bestand of uit te voeren opdracht bij het starten van de game"
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Kon game niet toevoegen"
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kon voorkeuren niet toepassen"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Game-titel mag niet leeg zijn"
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Programmabestand mag niet leeg zijn"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Algemeen"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Zoeken"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Ongedaan maken"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Eerste stabiele uitgave"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Algemeen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Zoeken"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Ongedaan maken"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Kon games niet importeren"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "De Bottles-map kan niet worden gevonden"
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Bottles-locatie instellen"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "Geen nieuwe games gevonden in de Bottles-bibliotheek"
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Bottles-games geïmporteerd"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "De Heroic-map kan niet worden gevonden"
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Heroic-locatie instellen"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Heroic-games geïmporteerd"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Geen nieuwe games gevonden in de Steam-bibliotheek"
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Steam-map kan niet worden gevonden"
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Steam-bibliotheek aan het ophalen"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "No new games were found in the Heroic library."
|
||||
#~ msgid "No new games were found on your device."
|
||||
#~ msgstr "Geen nieuwe games gevonden in de Heroic-bibliotheek"
|
||||
|
||||
#~ msgid "Set Steam Location"
|
||||
#~ msgstr "Steam-locatie instellen"
|
||||
598
po/pt.po
Normal file
598
po/pt.po
Normal file
@@ -0,0 +1,598 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Pedro Sader Azevedo <pedro.saderazevedo@protonmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-26 17:51+0000\n"
|
||||
"Last-Translator: Pedro Sader Azevedo <pedro.saderazevedo@protonmail.com>\n"
|
||||
"Language-Team: Portuguese <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/pt/>\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartuchos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Iniciador de jogos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Inicie seus jogos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Inicie todos os seus jogos"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"Cartuchos é um iniciador de jogos simples. Ele tem suporte para importação "
|
||||
"de jogos da Steam, do Heroic, e do Bottles, com recursos de organização como "
|
||||
"ocultação e ordenação por data de adição ou de última vez jogado."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Biblioteca"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Editar detalhes do jogo"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Detalhes do jogo"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Nenhum jogo encontrado"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Tente outra pesquisa."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Sem jogos"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Use o botão + para adicionar jogos."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Sem jogos ocultados"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Jogos ocultados vão aparecer aqui."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Voltar"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Título do jogo"
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Jogar"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Adicionar jogo"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Jogos ocultados"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Ordenar"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "A-Z"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Z-A"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Mais novo"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Mais antigo"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Última vez jogado"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Mostrar ocultados"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atalhos de teclado"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "Sobre o Cartuchos"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
#, fuzzy
|
||||
#| msgid "Import from"
|
||||
msgid "Import"
|
||||
msgstr "Importar de"
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Ocultar"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Remover"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Exibir"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Geral"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr "Sair"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr "Mostrar preferências"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr "Atalhos"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Desfazer"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr "Abrir menu"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgid "Games"
|
||||
msgstr "Jogos"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr "Adicionar novo jogo"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
#, fuzzy
|
||||
#| msgid "Import GOG Games"
|
||||
msgid "Import games"
|
||||
msgstr "Importar jogos do GOG"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Exibir jogos ocultados"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Sair depois de iniciar os jogos"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "Imagem de capa inicia o jogo"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "Troca o comportamento da imagem de capa e do botão de jogar"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Imagens"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Imagens de alta qualidade"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "Salvar imagens de capa sem perda, consumindo mais armazenamento"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Local de instalação da Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Diretório para usar ao importar jogos"
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Bibliotecas adicionais da Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Selecione outros diretórios onde você tem jogos da Steam instalados"
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Local de instalação do Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importar jogos da Epic Games"
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importar jogos do GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importar jogos adicionados manualmente"
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Local de instalação do Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Pedro Sader Azevedo"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} removido"
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Hoje"
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Ontem"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Adicionado: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Nunca"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Última vez jogado: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Detalhes"
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/preferences.py:61
|
||||
#, fuzzy
|
||||
#| msgid "Set Steam Location"
|
||||
msgid "Set Location"
|
||||
msgstr "Definir local da Steam"
|
||||
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} removido"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importando jogos…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found in the Heroic library."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Nenhum jogo novo foi encontrado na biblioteca do Heroic."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Game Imported"
|
||||
msgstr "Jogos da Steam importados"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "1 jogo foi importado com sucesso."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Games Imported"
|
||||
msgstr "Jogos da Steam importados"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "{games_no} jogos importados com sucesso."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Adicionar novo jogo"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Aplicar"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "O título do jogo"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Desenvolvedor"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "O desenvolvedor ou publicador (opcional)"
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "arquivo.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "programa"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\caminho\\para\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\caminho\\para\\{file_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/caminho/para/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/caminho/para/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Para iniciar o executável \"{exe_name}\", use o comando:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Para abrir o arquivo \"{file_name}\" com o aplicativo padrão, use:\n"
|
||||
"\n"
|
||||
"<tt>{command}\"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Se o caminho contiver espaços, certifique-se de colocá-lo entre aspas duplas!"
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Executável"
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Arquivo a ser aberto ou comando a ser executado ao iniciar o jogo"
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Não foi possível adicionar o jogo"
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Não foi possível aplicar as preferências"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "O título do jogo não pode estar vazio."
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "O executável não pode estar vazio."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Dispensar"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Geral"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Buscar"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Desfazer"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Primeira versão estável"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Geral"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Buscar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Desfazer"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Não foi possível importar os jogos"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "O diretório do Bottles não foi encontrado."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Definir local do Bottles"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "Nenhum jogo novo foi encontrado na biblioteca do Bottles."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Jogos do Bottles importados"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "O diretório do Heroic não foi encontrado."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Definir local do Heroic"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Jogos do Heroic importados"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Nenhum jogo novo foi encontrado na biblioteca da Steam."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "O diretório da Steam não foi encontrado."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Falando com a Steam"
|
||||
590
po/ru.po
Normal file
590
po/ru.po
Normal file
@@ -0,0 +1,590 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Сергей <asvmail.as@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 14:24+0000\n"
|
||||
"Last-Translator: Сергей <asvmail.as@gmail.com>\n"
|
||||
"Language-Team: Russian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/ru/>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Картриджи"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:4
|
||||
msgid "Game Launcher"
|
||||
msgstr "Средство запуска игр"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:5
|
||||
msgid "Launch your games"
|
||||
msgstr "Запускайте свои игры"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:7
|
||||
msgid "Launch all your games"
|
||||
msgstr "Запустите все свои игры"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:9
|
||||
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."
|
||||
msgstr ""
|
||||
"Картриджи - это простое приложение для запуска игр. Оно поддерживает импорт "
|
||||
"игр из Steam, Heroic и Bottles, имеет организационные функции, такие как "
|
||||
"скрытие и сортировка по дате добавления или последней игры."
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Библиотека"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Редактировать подробности об игре"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Подробности об игре"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Параметры"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Игры не найдены"
|
||||
|
||||
#: data/gtk/window.blp:7
|
||||
msgid "Try a different search."
|
||||
msgstr "Попробуйте другой поиск."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Игр нет"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Используйте кнопку «+» для добавления игр."
|
||||
|
||||
#: data/gtk/window.blp:22
|
||||
msgid "No Hidden Games"
|
||||
msgstr "Нет скрытых игр"
|
||||
|
||||
#: data/gtk/window.blp:23
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Здесь появятся скрытые игры."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Название игры"
|
||||
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Играть"
|
||||
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr "Добавить игру"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr "Главное меню"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: data/gtk/window.blp:261
|
||||
msgid "Hidden Games"
|
||||
msgstr "Скрытые игры"
|
||||
|
||||
#: data/gtk/window.blp:321
|
||||
msgid "Sort"
|
||||
msgstr "Сортировать"
|
||||
|
||||
#: data/gtk/window.blp:324
|
||||
msgid "A-Z"
|
||||
msgstr "А-Я"
|
||||
|
||||
#: data/gtk/window.blp:330
|
||||
msgid "Z-A"
|
||||
msgstr "Я-А"
|
||||
|
||||
#: data/gtk/window.blp:336
|
||||
msgid "Newest"
|
||||
msgstr "Сначала новые"
|
||||
|
||||
#: data/gtk/window.blp:342
|
||||
msgid "Oldest"
|
||||
msgstr "Сначала старые"
|
||||
|
||||
#: data/gtk/window.blp:348
|
||||
msgid "Last Played"
|
||||
msgstr "Последняя игра"
|
||||
|
||||
#: data/gtk/window.blp:355
|
||||
msgid "Show Hidden"
|
||||
msgstr "Показать скрытые"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбинации клавиш"
|
||||
|
||||
#: data/gtk/window.blp:373
|
||||
msgid "About Cartridges"
|
||||
msgstr "О приложении"
|
||||
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr "Импортировать"
|
||||
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Название"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Редактировать"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Скрыть"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Показать"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Основное"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgid "Quit"
|
||||
msgstr "Выйти"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgid "Show preferences"
|
||||
msgstr "Показать параметры"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgid "Shortcuts"
|
||||
msgstr "Комбинации клавиш"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Отменить"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgid "Open menu"
|
||||
msgstr "Открыть меню"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgid "Games"
|
||||
msgstr "Игры"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgid "Add new game"
|
||||
msgstr "Добавить новую игру"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgid "Import games"
|
||||
msgstr "Импорт игр"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Показать скрытые игры"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr "Поведение"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Выход после запуска игр"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "Запуск игры используя изображение обложки"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "Меняет местами поведение изображения обложки и кнопки запуска"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Изображения"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Изображения высокого качества"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "Сохранение обложек игр без потерь за счет хранилища"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "Источники"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Место установки Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Каталог для импорта игр"
|
||||
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr "Дополнительные библиотеки Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr "Выберите другие каталоги, в которых у вас установлены игры из Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr "Очистить"
|
||||
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Место установки Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Импорт игр Epic"
|
||||
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Импорт игр GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Импорт сторонних игр"
|
||||
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Место установки Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "Ser82-png"
|
||||
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} удалена"
|
||||
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Сегодня"
|
||||
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Вчера"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Добавлено: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Никогда"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Последняя игра: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Подробности"
|
||||
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "Установка не найдена"
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "Выберите каталог конфигурации {name}."
|
||||
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "Выберите каталог данных {name}."
|
||||
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr "Установить расположение"
|
||||
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} удалена"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Импорт игр…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found on your device."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "На вашем устройстве не найдено новых игр."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr "Игра импортирована"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Успешно импортирована 1 игра."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr "Игры импортированы"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Успешно импортировано {games_no} игр."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
msgstr "Добавить новую игру"
|
||||
|
||||
#: src/utils/create_details_window.py:46
|
||||
msgid "Confirm"
|
||||
msgstr "Подтвердить"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Применить"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Название игры"
|
||||
|
||||
#: src/utils/create_details_window.py:100
|
||||
msgid "Developer"
|
||||
msgstr "Разработчик"
|
||||
|
||||
#: src/utils/create_details_window.py:101
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Разработчик или издатель (необязательно)"
|
||||
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "file.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "программа"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\путь\\к\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\путь\\к\\{file_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/путь/к/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/путь/к/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"To open the file \"{file_name}\" with the default application, use:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Чтобы запустить исполняемый файл \"{exe_name}\", выполните команду:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Чтобы открыть файл \"{file_name}\" с помощью приложения по умолчанию, "
|
||||
"используйте:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Если путь содержит пробелы, обязательно заключите его в двойные кавычки!"
|
||||
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Исполняемый"
|
||||
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Файл для открытия или команда для запуска игры"
|
||||
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Не удалось добавить игру"
|
||||
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Не удалось применить параметры"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Название игры не может быть пустым."
|
||||
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Исполняемый файл не может быть пустым."
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Отклонить"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Основное"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Поиск"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Отменить"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Первый стабильный выпуск"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Основное"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Поиск"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Отменить"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Не удалось импортировать игры"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "Не удалось найти каталог Bottles."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Установить расположение Bottles"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "В библиотеке Bottles не было найдено новых игр."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Игры Bottles импортированы"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "Не удалось найти каталог Heroic."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Установить расположение Heroic"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Игры Heroic импортированы"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "В библиотеке Steam новых игр не найдено."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Не удалось найти каталог Steam."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Общение со Steam"
|
||||
502
po/ta.po
502
po/ta.po
@@ -6,10 +6,10 @@
|
||||
# "K.B.Dharun Krishna" <kbdharunkrishna@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: Cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"PO-Revision-Date: 2023-03-18 23:40+0000\n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-28 07:06+0000\n"
|
||||
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
|
||||
"Language-Team: Tamil <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/ta/>\n"
|
||||
@@ -18,11 +18,11 @@ 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 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "கார்ட்ரிட்ஜ்கள்"
|
||||
|
||||
@@ -49,8 +49,25 @@ msgstr ""
|
||||
"மற்றும் சேர்த்த அல்லது கடைசியாக விளையாடிய தேதியின்படி வரிசைப்படுத்துதல் போன்ற நிறுவன "
|
||||
"அம்சங்களுடன்."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "நூலகம்"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "விளையாட்டு விவரங்களைத் திருத்து"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "விளையாட்டு விவரங்கள்"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "விருப்பங்கள்"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "விளையாட்டுகள் எதுவும் இல்லை"
|
||||
|
||||
@@ -59,9 +76,8 @@ msgid "Try a different search."
|
||||
msgstr "வேறு தேடலை முயற்சிக்கவும்."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
#, fuzzy
|
||||
msgid "No Games"
|
||||
msgstr "விளையாட்டுகள்"
|
||||
msgstr "விளையாட்டுகள் இல்லை"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
@@ -77,17 +93,13 @@ msgstr "நீங்கள் மறைக்கும் விளையாட
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "விளையாட்டு விவரங்கள்"
|
||||
msgstr "மீண்டும்"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "விளையாட்டு தலைப்பு"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "விளையாடு"
|
||||
|
||||
@@ -97,10 +109,9 @@ msgstr "விளையாட்டைச் சேர்க்கவும்"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "முதன்மை பட்டியல்"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
#, fuzzy
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "தேடு"
|
||||
|
||||
@@ -136,10 +147,6 @@ msgstr "கடைசியாக விளையாடியது"
|
||||
msgid "Show Hidden"
|
||||
msgstr "மறைக்கப்பட்டதைக் காட்டு"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "விருப்பங்கள்"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "விசைப்பலகை குறுக்குவழிகள்"
|
||||
@@ -148,213 +155,265 @@ msgstr "விசைப்பலகை குறுக்குவழிகள
|
||||
msgid "About Cartridges"
|
||||
msgstr "கார்ட்ரிட்ஜ்கள் பற்றி"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
#, fuzzy
|
||||
#| msgid "Import from"
|
||||
msgid "Import"
|
||||
msgstr "இலிருந்து இறக்குமதி செய்"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam (ஸ்டீம்)"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic (ஹீரோயிக்)"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles (பாட்டில்கள்)"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Edit"
|
||||
msgstr "தொகு"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
msgid "Hide"
|
||||
msgstr "மறை"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
msgid "Remove"
|
||||
msgstr "அகற்று"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
msgid "Unhide"
|
||||
msgstr "மறை காட்டு"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "தலைப்பு"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "தொகு"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "மறை"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "அகற்று"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "மறை காட்டு"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "பொது"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "வெளியேறு"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "தேடு"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "விருப்பங்களைக் காட்டு"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "குறுக்குவழிகள்"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "செயல்தவிர்"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "பட்டியலை திறக்கவும்"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "விளையாட்டுகள்"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "புதிய விளையாட்டைச் சேர்க்கவும்"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
#, fuzzy
|
||||
#| msgid "Import GOG Games"
|
||||
msgid "Import games"
|
||||
msgstr "GOG விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "மறைக்கப்பட்ட விளையாட்டுகளைக் காட்டு"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "பொது"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "விளையாட்டுகளை தொடங்கிய பிறகு வெளியேறவும்"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "அட்டைப் படம் விளையாட்டை தொடங்குகிறது"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "அட்டைப் படத்தின் நடத்தை மற்றும் பிளே பட்டனை மாற்றுகிறது"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "படங்கள்"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "உயர்தர படங்கள்"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "சேமிப்பக செலவில் விளையாட்டுகளை இழப்பின்றி சேமிக்கவும்"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam (ஸ்டீம்)"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Steam (ஸ்டீம்) நிறுவல் இடம்"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "விளையாட்டுகளை இறக்குமதி செய்யும் போது பயன்படுத்த வேண்டிய அடைவு"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr ""
|
||||
msgstr "கூடுதல் ஸ்டீம் (Steam) நூலகங்கள்"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr ""
|
||||
msgstr "ஸ்டீம் (Steam) கேம்களை நிறுவிய பிற கோப்பகங்களைத் தேர்ந்தெடுக்கவும்"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "தெளிவு"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic (ஹீரோயிக்)"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Heroic (ஹீரோயிக்) நிறுவல் இடம்"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Epic விளையாட்டுகளை இறக்குமதி செய்"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "GOG விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "பக்க ஏற்றப்பட்ட விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles (பாட்டில்கள்)"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Bottles (பாட்டில்கள்) நிறுவும் இடம்"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "K.B.Dharun Krishna <kbdharunkrishna@gmail.com>"
|
||||
|
||||
#: src/main.py:195
|
||||
#, fuzzy, python-brace-format
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "அகற்றப்பட்டது"
|
||||
msgstr "{title} அகற்றப்பட்டது"
|
||||
|
||||
#: src/main.py:196
|
||||
msgid "Undo"
|
||||
msgstr "செயல்தவிர்"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "இன்று"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "நேற்று"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "சேர்க்கப்பட்டது:"
|
||||
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "சேர்க்கப்பட்டது: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "ஒருபோதும் இல்லை"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "கடைசியாக விளையாடியது: ஒருபோதும் இல்லை"
|
||||
msgstr "கடைசியாக விளையாடியது: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "கேம்களை இறக்குமதி செய்ய முடியவில்லை"
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "விவரங்கள்"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "பாட்டில்கள் கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "பாட்டில்களின் இடத்தை அமைக்கவும்"
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "பாட்டில்கள் நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "பாட்டில் விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
#: src/preferences.py:61
|
||||
#, fuzzy
|
||||
#| msgid "Set Steam Location"
|
||||
msgid "Set Location"
|
||||
msgstr "Steam (ஸ்டீம் இடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} அகற்றப்பட்டது"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "விளையாட்டுகளை இறக்குமதி செய்கிறது…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found in the Heroic library."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "Heroic (ஹீரோயிக்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Game Imported"
|
||||
msgstr "Steam (ஸ்டீம்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
#, fuzzy
|
||||
#| msgid "Steam Games Imported"
|
||||
msgid "Games Imported"
|
||||
msgstr "Steam (ஸ்டீம்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
||||
msgstr "{games_no} விளையாட்டுகள் வெற்றிகரமாக இறக்குமதி செய்யப்பட்டன."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
@@ -364,18 +423,10 @@ msgstr "புதிய விளையாட்டைச் சேர்க்
|
||||
msgid "Confirm"
|
||||
msgstr "உறுதிப்படுத்தவும்"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "விளையாட்டு விவரங்களைத் திருத்து"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "விண்ணப்பி"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "படங்கள்"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "விளையாட்டின் தலைப்பு"
|
||||
@@ -388,36 +439,41 @@ msgstr "டெவலப்பர்"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "டெவலப்பர் அல்லது வெளியீட்டாளர் (விரும்பினால்)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
msgstr "கோப்பு.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
msgstr "பயன்பாடு"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
msgstr "C:\\பாதை\\டு \\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\பாதை\\டு \\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/பாதை/டு/ {exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
msgstr "/பாதை/டு /{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -430,83 +486,119 @@ msgid ""
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"இயங்கக்கூடிய \"{exe_name}\" ஐத் தொடங்க, கட்டளையைப் பயன்படுத்தவும்:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"இயல்புநிலை பயன்பாட்டுடன் \"{file_name}\" கோப்பைத் திறக்க, பயன்படுத்தவும்:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"பாதையில் இடைவெளிகள் இருந்தால், அதை இரட்டை மேற்கோள்களில் போர்த்துவதை உறுதிசெய்யவும்!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "செயல்படுத்தக்கூடியது"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "விளையாட்டைத் தொடங்கும் போது திறக்க கோப்பு அல்லது இயக்க கட்டளை"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "ரத்துசெய்"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "விளையாட்டைச் சேர்க்க முடியவில்லை"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "விருப்பத்தேர்வுகளைப் பயன்படுத்த முடியவில்லை"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "விளையாட்டு தலைப்பு காலியாக இருக்கக்கூடாது."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "இயங்கக்கூடியது காலியாக இருக்க முடியாது."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "விருப்பத்தேர்வுகளைப் பயன்படுத்த முடியவில்லை"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "நிராகரி"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "Heroic (ஹீரோயிக்) கோப்பகத்தைக் கண்டுபிடிக்க முடியவில்லை."
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Heroic (ஹீரோயிக்) இருப்பிடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "Heroic (ஹீரோயிக்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Heroic (ஹீரோயிக்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "Steam (ஸ்டீம்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Steam (ஸ்டீம்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam (ஸ்டீம் இடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
#, fuzzy
|
||||
msgid "Importing Games…"
|
||||
msgstr "விளையாட்டுகளை இறக்குமதி செய்கிறது…"
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "பொது"
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
msgid "Talking to Steam"
|
||||
msgstr "ஸ்டிமுடன் (Steam) பேசுகிறேன்"
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "தேடு"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "செயல்தவிர்"
|
||||
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "முதல் நிலையான வெளியீடு"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "பொது"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "தேடு"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "செயல்தவிர்"
|
||||
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "கேம்களை இறக்குமதி செய்ய முடியவில்லை"
|
||||
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "பாட்டில்கள் கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
||||
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "பாட்டில்களின் இடத்தை அமைக்கவும்"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "பாட்டில்கள் நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "பாட்டில் விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "Heroic (ஹீரோயிக்) கோப்பகத்தைக் கண்டுபிடிக்க முடியவில்லை."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Heroic (ஹீரோயிக்) இருப்பிடத்தை அமைக்கவும்"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Heroic (ஹீரோயிக்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "Steam (ஸ்டீம்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "ஸ்டிமுடன் (Steam) பேசுகிறேன்"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Successfully imported {str(len(bottles_games))} games."
|
||||
|
||||
434
po/uk.po
434
po/uk.po
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-21 15:48+0100\n"
|
||||
"PO-Revision-Date: 2023-03-21 13:12+0000\n"
|
||||
"POT-Creation-Date: 2023-03-30 16:23+0200\n"
|
||||
"PO-Revision-Date: 2023-03-30 11:43+0000\n"
|
||||
"Last-Translator: Dan <denqwerta@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/uk/>\n"
|
||||
@@ -16,13 +16,13 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:110
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -48,8 +48,25 @@ msgstr ""
|
||||
"Steam, Heroic та Bottles із такими організаційними функціями, як "
|
||||
"приховування та сортування за датою додавання чи останньої гри."
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:253 src/utils/steam_parser.py:161
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Бібліотека"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Редагувати інформацію про гру"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Подробиці гри"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/importer.py:81
|
||||
msgid "Preferences"
|
||||
msgstr "Параметри"
|
||||
|
||||
#: data/gtk/window.blp:6 src/utils/importer.py:78
|
||||
msgid "No Games Found"
|
||||
msgstr "Ігор не знайдено"
|
||||
|
||||
@@ -58,9 +75,8 @@ msgid "Try a different search."
|
||||
msgstr "Спробуйте інший пошук."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
#, fuzzy
|
||||
msgid "No Games"
|
||||
msgstr "Ігри"
|
||||
msgstr "Ніяких ігор"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
@@ -76,17 +92,13 @@ msgstr "Ігри, які ви сховали, з'являться тут."
|
||||
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Подробиці гри"
|
||||
msgstr "Назад"
|
||||
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Назва гри"
|
||||
|
||||
#: data/gtk/window.blp:148 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Грати"
|
||||
|
||||
@@ -96,10 +108,9 @@ msgstr "Додати гру"
|
||||
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Головне меню"
|
||||
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||
#, fuzzy
|
||||
#: data/gtk/window.blp:210 data/gtk/window.blp:273 data/gtk/help-overlay.blp:19
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
@@ -135,10 +146,6 @@ msgstr "Остання гра"
|
||||
msgid "Show Hidden"
|
||||
msgstr "Показати приховане"
|
||||
|
||||
#: data/gtk/window.blp:363
|
||||
msgid "Preferences"
|
||||
msgstr "Параметри"
|
||||
|
||||
#: data/gtk/window.blp:368
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбінації клавіш"
|
||||
@@ -147,210 +154,252 @@ msgstr "Комбінації клавіш"
|
||||
msgid "About Cartridges"
|
||||
msgstr "Про Cartridges"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
msgid "Import from"
|
||||
msgstr "Імпорт з"
|
||||
#: data/gtk/window.blp:388 data/gtk/preferences.blp:66
|
||||
msgid "Import"
|
||||
msgstr "Імпорт"
|
||||
|
||||
#: data/gtk/window.blp:390
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:395
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:400
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:411 data/gtk/window.blp:430 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Edit"
|
||||
msgstr "Редагувати"
|
||||
|
||||
#: data/gtk/window.blp:416 data/gtk/game.blp:92
|
||||
msgid "Hide"
|
||||
msgstr "Приховати"
|
||||
|
||||
#: data/gtk/window.blp:421 data/gtk/window.blp:440 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
msgid "Remove"
|
||||
msgstr "Видалити"
|
||||
|
||||
#: data/gtk/window.blp:435 data/gtk/game.blp:111
|
||||
msgid "Unhide"
|
||||
msgstr "Показати"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Назва"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Редагувати"
|
||||
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Приховати"
|
||||
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111 data/gtk/preferences.blp:53
|
||||
msgid "Remove"
|
||||
msgstr "Видалити"
|
||||
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Показати"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11 data/gtk/preferences.blp:9
|
||||
msgid "General"
|
||||
msgstr "Загальний"
|
||||
|
||||
#: data/gtk/help-overlay.blp:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Вийти"
|
||||
|
||||
#: data/gtk/help-overlay.blp:19
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
#: data/gtk/help-overlay.blp:24
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show preferences"
|
||||
msgstr "Показати параметри"
|
||||
|
||||
#: data/gtk/help-overlay.blp:29
|
||||
msgctxt "shortcut window"
|
||||
msgid "Shortcuts"
|
||||
msgstr "Ярлики"
|
||||
|
||||
#: data/gtk/help-overlay.blp:34
|
||||
msgctxt "shortcut window"
|
||||
#: data/gtk/help-overlay.blp:34 src/main.py:198 src/preferences.py:118
|
||||
msgid "Undo"
|
||||
msgstr "Відмінити"
|
||||
|
||||
#: data/gtk/help-overlay.blp:39
|
||||
msgctxt "shortcut window"
|
||||
msgid "Open menu"
|
||||
msgstr "Відкрити меню"
|
||||
|
||||
#: data/gtk/help-overlay.blp:45
|
||||
msgctxt "shortcut window"
|
||||
msgid "Games"
|
||||
msgstr "Ігри"
|
||||
|
||||
#: data/gtk/help-overlay.blp:48
|
||||
msgctxt "shortcut window"
|
||||
msgid "Add new game"
|
||||
msgstr "Додати нову гру"
|
||||
|
||||
#: data/gtk/help-overlay.blp:53
|
||||
msgctxt "shortcut window"
|
||||
msgid "Import games"
|
||||
msgstr "Імпорт ігор"
|
||||
|
||||
#: data/gtk/help-overlay.blp:58
|
||||
msgid "Show hidden games"
|
||||
msgstr "Показати приховані ігри"
|
||||
|
||||
#: data/gtk/preferences.blp:10
|
||||
msgid "General"
|
||||
msgstr "Загальний"
|
||||
|
||||
#: data/gtk/preferences.blp:13
|
||||
msgid "Behavior"
|
||||
msgstr "Поведінка"
|
||||
|
||||
#: data/gtk/preferences.blp:16
|
||||
msgid "Exit After Launching Games"
|
||||
msgstr "Вихід після запуску ігор"
|
||||
|
||||
#: data/gtk/preferences.blp:24
|
||||
msgid "Cover Image Launches Game"
|
||||
msgstr "Обкладинка запускає гру"
|
||||
|
||||
#: data/gtk/preferences.blp:25
|
||||
msgid "Swaps the behavior of the cover image and the play button"
|
||||
msgstr "Міняє місцями поведінку зображення обкладинки та кнопки відтворення"
|
||||
|
||||
#: data/gtk/preferences.blp:34 src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Зображення"
|
||||
|
||||
#: data/gtk/preferences.blp:37
|
||||
msgid "High Quality Images"
|
||||
msgstr "Зображення високої якості"
|
||||
|
||||
#: data/gtk/preferences.blp:38
|
||||
msgid "Save game covers losslessly at the cost of storage"
|
||||
msgstr "Збережена гра покривається без втрат за вартістю зберігання"
|
||||
|
||||
#: data/gtk/preferences.blp:47
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:50
|
||||
msgid "Remove All Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:70
|
||||
msgid "Sources"
|
||||
msgstr "Джерела"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
msgid "Steam Install Location"
|
||||
msgstr "Місце встановлення Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:64
|
||||
#: data/gtk/preferences.blp:102
|
||||
#: data/gtk/preferences.blp:78 data/gtk/preferences.blp:117
|
||||
#: data/gtk/preferences.blp:156
|
||||
msgid "Directory to use when importing games"
|
||||
msgstr "Каталог для імпорту ігор"
|
||||
|
||||
#: data/gtk/preferences.blp:34
|
||||
#: data/gtk/preferences.blp:86
|
||||
msgid "Extra Steam Libraries"
|
||||
msgstr ""
|
||||
msgstr "Додаткові бібліотеки Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:35
|
||||
#: data/gtk/preferences.blp:87
|
||||
msgid "Select other directories where you have Steam games installed"
|
||||
msgstr ""
|
||||
msgstr "Виберіть інші директорії, до яких інстальовано ігри Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:42
|
||||
#: data/gtk/preferences.blp:94
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "Очистити"
|
||||
|
||||
#: data/gtk/preferences.blp:63
|
||||
#: data/gtk/preferences.blp:112
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:116
|
||||
msgid "Heroic Install Location"
|
||||
msgstr "Місце встановлення Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:73
|
||||
#: data/gtk/preferences.blp:126
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Імпорт Epic Games"
|
||||
|
||||
#: data/gtk/preferences.blp:81
|
||||
#: data/gtk/preferences.blp:134
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Імпорт ігор GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:89
|
||||
#: data/gtk/preferences.blp:142
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Імпорт сторонніх ігор"
|
||||
|
||||
#: data/gtk/preferences.blp:101
|
||||
#: data/gtk/preferences.blp:151
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/preferences.blp:155
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Місце встановлення Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
#: src/main.py:125
|
||||
msgid "translator_credits"
|
||||
msgstr "kefir2105"
|
||||
|
||||
#: src/main.py:195
|
||||
#. The variable is the title of the game
|
||||
#: src/main.py:197
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "{title} видалено"
|
||||
|
||||
#: src/main.py:196
|
||||
msgid "Undo"
|
||||
msgstr "Відмінити"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Сьогодні"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Вчора"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Додано: {date}"
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Ніколи"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Останній раз грали: {last_played_date}"
|
||||
|
||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||
#: src/utils/steam_parser.py:234
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Не вдається імпортувати ігри"
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Деталі"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
msgid "The Bottles directory cannot be found."
|
||||
msgstr "Каталог Bottles не знайдено."
|
||||
#: src/preferences.py:55
|
||||
msgid "Installation Not Found"
|
||||
msgstr "Встановлення не знайдено"
|
||||
|
||||
#: src/utils/bottles_parser.py:83
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Встановити розташування Bottles"
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:57
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} configuration directory."
|
||||
msgstr "Виберіть каталог конфігурації {name}."
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
msgid "No new games were found in the Bottles library."
|
||||
msgstr "У бібліотеці Bottles нових ігор не знайдено."
|
||||
#. The variable is the name of the game launcher
|
||||
#: src/preferences.py:59
|
||||
#, python-brace-format
|
||||
msgid "Select the {name} data directory."
|
||||
msgstr "Виберіть каталог даних {name}."
|
||||
|
||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
||||
msgid "Bottles Games Imported"
|
||||
msgstr "Ігри Bottles імпортовано"
|
||||
#: src/preferences.py:61
|
||||
msgid "Set Location"
|
||||
msgstr "Встановити місцезнаходження"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:260
|
||||
#: src/utils/steam_parser.py:168
|
||||
#: src/preferences.py:117
|
||||
#, fuzzy
|
||||
#| msgid "{title} removed"
|
||||
msgid "All games removed"
|
||||
msgstr "{title} видалено"
|
||||
|
||||
#: src/utils/importer.py:37
|
||||
msgid "Importing Games…"
|
||||
msgstr "Імпорт ігор…"
|
||||
|
||||
#: src/utils/importer.py:79
|
||||
#, fuzzy
|
||||
#| msgid "No new games were found on your device."
|
||||
msgid "No new games were found on your system."
|
||||
msgstr "На вашому пристрої не знайдено нових ігор."
|
||||
|
||||
#: src/utils/importer.py:87
|
||||
msgid "Game Imported"
|
||||
msgstr "Ігру імпортовано"
|
||||
|
||||
#: src/utils/importer.py:88
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Успішно імпортовано 1 гру."
|
||||
|
||||
#: src/utils/importer.py:94
|
||||
msgid "Games Imported"
|
||||
msgstr "Ігри імпортовано"
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:268
|
||||
#: src/utils/steam_parser.py:176
|
||||
#: src/utils/importer.py:96
|
||||
#, python-brace-format
|
||||
msgid "Successfully imported {games_no} games."
|
||||
msgstr "Успішно імпортовано {games_no} ігри."
|
||||
@@ -363,18 +412,10 @@ msgstr "Додати нову гру"
|
||||
msgid "Confirm"
|
||||
msgstr "Підтвердити"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Редагувати інформацію про гру"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Застосувати"
|
||||
|
||||
#: src/utils/create_details_window.py:59
|
||||
msgid "Images"
|
||||
msgstr "Зображення"
|
||||
|
||||
#: src/utils/create_details_window.py:95
|
||||
msgid "The title of the game"
|
||||
msgstr "Назва гри"
|
||||
@@ -387,36 +428,41 @@ msgstr "Розробник"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Розробник або видавець (необов'язково)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "file.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "програма"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\path\\to\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\path\\to\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/path/to/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/path/to/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -440,81 +486,109 @@ msgstr ""
|
||||
"\n"
|
||||
"Якщо шлях містить пробіли, обов'язково візьміть його в подвійні лапки!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Виконуваний"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Файл для відкриття або команда для запуску під час запуску гри"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Не вдалося додати гру"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Не вдалося застосувати параметри"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Назва гри не може бути порожньою."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Виконуваний файл не може бути порожнім."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Не вдалося застосувати параметри"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Відхилити"
|
||||
|
||||
#: src/utils/heroic_parser.py:88
|
||||
msgid "The Heroic directory cannot be found."
|
||||
msgstr "Не вдається знайти каталог Heroic."
|
||||
#, fuzzy
|
||||
#~| msgid "General"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Загальний"
|
||||
|
||||
#: src/utils/heroic_parser.py:90
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Встановіть розташування Heroic"
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Пошук"
|
||||
|
||||
#: src/utils/heroic_parser.py:254
|
||||
msgid "No new games were found in the Heroic library."
|
||||
msgstr "У бібліотеці Heroic нових ігор не знайдено."
|
||||
#, fuzzy
|
||||
#~| msgid "Undo"
|
||||
#~ msgctxt "shortcuts window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Відмінити"
|
||||
|
||||
#: src/utils/heroic_parser.py:259 src/utils/heroic_parser.py:266
|
||||
msgid "Heroic Games Imported"
|
||||
msgstr "Ігри Heroic імпортовано"
|
||||
#~ msgid "First stable release"
|
||||
#~ msgstr "Перший стабільний випуск"
|
||||
|
||||
#: src/utils/steam_parser.py:162
|
||||
msgid "No new games were found in the Steam library."
|
||||
msgstr "У бібліотеці Steam не знайдено жодної нової гри."
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Загальний"
|
||||
|
||||
#: src/utils/steam_parser.py:167 src/utils/steam_parser.py:174
|
||||
msgid "Steam Games Imported"
|
||||
msgstr "Ігри Steam імпортовано"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Пошук"
|
||||
|
||||
#: src/utils/steam_parser.py:235
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Каталог Steam знайти неможливо."
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Відмінити"
|
||||
|
||||
#: src/utils/steam_parser.py:237
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Встановіть розташування Steam"
|
||||
#~ msgid "Couldn't Import Games"
|
||||
#~ msgstr "Не вдається імпортувати ігри"
|
||||
|
||||
#: src/utils/steam_parser.py:253
|
||||
msgid "Importing Games…"
|
||||
msgstr "Імпорт ігор…"
|
||||
#~ msgid "The Bottles directory cannot be found."
|
||||
#~ msgstr "Каталог Bottles не знайдено."
|
||||
|
||||
#: src/utils/steam_parser.py:254
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Спілкування зі Steam"
|
||||
#~ msgid "Set Bottles Location"
|
||||
#~ msgstr "Встановити розташування Bottles"
|
||||
|
||||
#~ msgid "No new games were found in the Bottles library."
|
||||
#~ msgstr "У бібліотеці Bottles нових ігор не знайдено."
|
||||
|
||||
#~ msgid "Bottles Games Imported"
|
||||
#~ msgstr "Ігри Bottles імпортовано"
|
||||
|
||||
#~ msgid "The Heroic directory cannot be found."
|
||||
#~ msgstr "Не вдається знайти каталог Heroic."
|
||||
|
||||
#~ msgid "Set Heroic Location"
|
||||
#~ msgstr "Встановіть розташування Heroic"
|
||||
|
||||
#~ msgid "Heroic Games Imported"
|
||||
#~ msgstr "Ігри Heroic імпортовано"
|
||||
|
||||
#~ msgid "No new games were found in the Steam library."
|
||||
#~ msgstr "У бібліотеці Steam не знайдено жодної нової гри."
|
||||
|
||||
#~ msgid "The Steam directory cannot be found."
|
||||
#~ msgstr "Каталог Steam знайти неможливо."
|
||||
|
||||
#~ msgid "Talking to Steam"
|
||||
#~ msgstr "Спілкування зі Steam"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Successfully imported {str(len(bottles_games))} games."
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "python3-modules",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [],
|
||||
"modules": [
|
||||
{
|
||||
"name": "python3-pyyaml",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
115
src/game.py
115
src/game.py
@@ -17,13 +17,19 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from gi.repository import Gtk
|
||||
import json
|
||||
import os
|
||||
import shlex # pylint: disable=unused-import
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from .get_cover import get_cover
|
||||
from gi.repository import GdkPixbuf, Gio, Gtk
|
||||
|
||||
from .save_game import save_game
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/hu/kramo/Cartridges/gtk/game.ui")
|
||||
class game(Gtk.Box):
|
||||
class game(Gtk.Box): # pylint: disable=invalid-name
|
||||
__gtype_name__ = "game"
|
||||
|
||||
overlay = Gtk.Template.Child()
|
||||
@@ -32,9 +38,10 @@ class game(Gtk.Box):
|
||||
cover = Gtk.Template.Child()
|
||||
cover_button = Gtk.Template.Child()
|
||||
menu_button = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
play_revealer = Gtk.Template.Child()
|
||||
title_revealer = Gtk.Template.Child()
|
||||
game_options = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, parent_widget, data, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
@@ -50,7 +57,7 @@ class game(Gtk.Box):
|
||||
self.removed = "removed" in data.keys()
|
||||
self.blacklisted = "blacklisted" in data.keys()
|
||||
|
||||
self.pixbuf = get_cover(self.game_id, self.parent_widget)
|
||||
self.pixbuf = self.get_cover()
|
||||
|
||||
self.cover.set_pixbuf(self.pixbuf)
|
||||
self.title.set_label(self.name)
|
||||
@@ -59,11 +66,83 @@ class game(Gtk.Box):
|
||||
self.add_controller(self.event_contoller_motion)
|
||||
self.overlay.set_measure_overlay(self.play_revealer, True)
|
||||
|
||||
self.button_play.connect("clicked", self.launch_game)
|
||||
self.set_play_label()
|
||||
|
||||
self.cover_button.connect("clicked", self.cover_button_clicked)
|
||||
self.button_play.connect("clicked", self.button_play_clicked)
|
||||
|
||||
self.event_contoller_motion.connect("enter", self.show_play)
|
||||
self.event_contoller_motion.connect("leave", self.hide_play)
|
||||
|
||||
self.parent_widget.schema.connect("changed", self.schema_changed)
|
||||
|
||||
if self.hidden:
|
||||
self.menu_button.set_menu_model(self.hidden_game_options)
|
||||
else:
|
||||
self.menu_button.set_menu_model(self.game_options)
|
||||
self.menu_button.get_popover().connect("notify::visible", self.hide_play)
|
||||
|
||||
def launch(self):
|
||||
# Generate launch arguments, either list (no shell) or a string (for shell).
|
||||
args = (
|
||||
["flatpak-spawn", "--host", *self.executable] # Flatpak
|
||||
if os.getenv("FLATPAK_ID") == "hu.kramo.Cartridges"
|
||||
else shlex.join(
|
||||
self.executable
|
||||
) # Windows (We need shell to support its "open" built-in).
|
||||
if os.name == "nt"
|
||||
else self.executable # Linux/Others
|
||||
)
|
||||
|
||||
# The host environment vars are automatically passed through by Popen.
|
||||
subprocess.Popen(
|
||||
args,
|
||||
shell=isinstance(args, str),
|
||||
start_new_session=True,
|
||||
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP if os.name == "nt" else 0,
|
||||
)
|
||||
if Gio.Settings.new("hu.kramo.Cartridges").get_boolean("exit-after-launch"):
|
||||
sys.exit()
|
||||
|
||||
def toggle_hidden(self):
|
||||
games_dir = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
)
|
||||
|
||||
if not os.path.exists(games_dir):
|
||||
return
|
||||
|
||||
with open(os.path.join(games_dir, f"{self.game_id}.json"), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
|
||||
data["hidden"] = not data["hidden"]
|
||||
|
||||
save_game(data)
|
||||
|
||||
def get_cover(self):
|
||||
|
||||
# If the cover is already in memory, return
|
||||
if self.game_id in self.parent_widget.pixbufs.keys():
|
||||
return self.parent_widget.pixbufs[self.game_id]
|
||||
|
||||
# Create a new pixbuf
|
||||
cover_path = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
f"{self.game_id}.tiff",
|
||||
)
|
||||
|
||||
if os.path.isfile(cover_path):
|
||||
return GdkPixbuf.Pixbuf.new_from_file(cover_path)
|
||||
|
||||
# Return the placeholder pixbuf
|
||||
return self.parent_widget.placeholder_pixbuf
|
||||
|
||||
def show_play(self, _widget, *_unused):
|
||||
self.play_revealer.set_reveal_child(True)
|
||||
self.title_revealer.set_reveal_child(False)
|
||||
@@ -73,6 +152,28 @@ class game(Gtk.Box):
|
||||
self.play_revealer.set_reveal_child(False)
|
||||
self.title_revealer.set_reveal_child(True)
|
||||
|
||||
def launch_game(self, _widget):
|
||||
def launch_game(self, _widget, *_unused):
|
||||
self.parent_widget.set_active_game(None, None, self.game_id)
|
||||
self.parent_widget.get_application().on_launch_game_action(None)
|
||||
|
||||
def cover_button_clicked(self, _widget):
|
||||
if self.parent_widget.schema.get_boolean("cover-launches-game"):
|
||||
self.launch_game(None)
|
||||
else:
|
||||
self.parent_widget.show_overview(None, self.game_id)
|
||||
|
||||
def button_play_clicked(self, _widget):
|
||||
if self.parent_widget.schema.get_boolean("cover-launches-game"):
|
||||
self.parent_widget.show_overview(None, self.game_id)
|
||||
else:
|
||||
self.launch_game(None)
|
||||
|
||||
def set_play_label(self):
|
||||
if self.parent_widget.schema.get_boolean("cover-launches-game"):
|
||||
self.button_play.set_label(_("Details"))
|
||||
else:
|
||||
self.button_play.set_label(_("Play"))
|
||||
|
||||
def schema_changed(self, _settings, key):
|
||||
if key == "cover-launches-game":
|
||||
self.set_play_label()
|
||||
|
||||
76
src/main.py
76
src/main.py
@@ -17,7 +17,6 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
|
||||
@@ -26,17 +25,17 @@ import gi
|
||||
gi.require_version("Gtk", "4.0")
|
||||
gi.require_version("Adw", "1")
|
||||
|
||||
# pylint: disable=wrong-import-position
|
||||
from gi.repository import Adw, Gio, GLib, Gtk
|
||||
|
||||
from .bottles_parser import bottles_parser
|
||||
from .create_details_window import create_details_window
|
||||
from .get_games import get_games
|
||||
from .heroic_parser import heroic_parser
|
||||
from .importer import Importer
|
||||
from .preferences import PreferencesWindow
|
||||
from .run_command import run_command
|
||||
from .save_games import save_games
|
||||
from .save_game import save_game
|
||||
from .steam_parser import steam_parser
|
||||
from .toggle_hidden import toggle_hidden
|
||||
from .window import CartridgesWindow
|
||||
|
||||
|
||||
@@ -50,24 +49,19 @@ class CartridgesApplication(Adw.Application):
|
||||
self.create_action(
|
||||
"preferences", self.on_preferences_action, ["<primary>comma"]
|
||||
)
|
||||
self.create_action("steam_import", self.on_steam_import_action)
|
||||
self.create_action("heroic_import", self.on_heroic_import_action)
|
||||
self.create_action("bottles_import", self.on_bottles_import_action)
|
||||
self.create_action("launch_game", self.on_launch_game_action)
|
||||
self.create_action("hide_game", self.on_hide_game_action)
|
||||
self.create_action("edit_details", self.on_edit_details_action)
|
||||
self.create_action("add_game", self.on_add_game_action, ["<primary>n"])
|
||||
self.create_action("import", self.on_import_action, ["<primary>i"])
|
||||
self.create_action("remove_game", self.on_remove_game_action)
|
||||
|
||||
if os.name == "nt":
|
||||
self.lookup_action("bottles_import").set_enabled(False)
|
||||
|
||||
self.win = None
|
||||
|
||||
def do_activate(self):
|
||||
def do_activate(self): # pylint: disable=arguments-differ
|
||||
|
||||
# Create the main window
|
||||
self.win = self.props.active_window
|
||||
self.win = self.props.active_window # pylint: disable=no-member
|
||||
if not self.win:
|
||||
self.win = CartridgesWindow(application=self)
|
||||
|
||||
@@ -116,10 +110,11 @@ class CartridgesApplication(Adw.Application):
|
||||
application_name=_("Cartridges"),
|
||||
application_icon="hu.kramo.Cartridges",
|
||||
developer_name="kramo",
|
||||
version="0.1.4",
|
||||
version="1.2.1",
|
||||
developers=[
|
||||
"kramo https://kramo.hu",
|
||||
"Paweł Lidwin https://github.com/imLinguin",
|
||||
"Bananaman https://github.com/Bananaman",
|
||||
],
|
||||
designers=["kramo https://kramo.hu"],
|
||||
copyright="© 2022-2023 kramo",
|
||||
@@ -131,34 +126,22 @@ class CartridgesApplication(Adw.Application):
|
||||
)
|
||||
about.present()
|
||||
|
||||
def on_preferences_action(self, _widget, _callback=None):
|
||||
PreferencesWindow(self.win).present()
|
||||
|
||||
def on_steam_import_action(self, _widget, _callback=None):
|
||||
# Handle the updating of games inside of the module because the function is async
|
||||
steam_parser(self.win, self.on_steam_import_action)
|
||||
|
||||
def on_heroic_import_action(self, _widget, _callback=None):
|
||||
games = heroic_parser(self.win, self.on_heroic_import_action)
|
||||
save_games(games)
|
||||
self.win.update_games(games.keys())
|
||||
|
||||
def on_bottles_import_action(self, _widget, _callback=None):
|
||||
games = bottles_parser(self.win, self.on_bottles_import_action)
|
||||
save_games(games)
|
||||
self.win.update_games(games.keys())
|
||||
def on_preferences_action(self, _widget, _callback=None, page_name=None):
|
||||
win = PreferencesWindow(self.win)
|
||||
if page_name:
|
||||
win.set_visible_page_name(page_name)
|
||||
win.present()
|
||||
|
||||
def on_launch_game_action(self, _widget, _callback=None):
|
||||
|
||||
# Launch the game and update the last played value
|
||||
|
||||
game_id = self.win.active_game_id
|
||||
|
||||
data = get_games([game_id])[game_id]
|
||||
data["last_played"] = int(time.time())
|
||||
save_games({game_id: data})
|
||||
save_game(data)
|
||||
|
||||
run_command(self.win.games[self.win.active_game_id].executable)
|
||||
self.win.games[game_id].launch()
|
||||
|
||||
self.win.update_games([game_id])
|
||||
|
||||
@@ -168,7 +151,7 @@ class CartridgesApplication(Adw.Application):
|
||||
def on_hide_game_action(self, _widget, _callback=None):
|
||||
if self.win.stack.get_visible_child() == self.win.overview:
|
||||
self.win.on_go_back_action(None, None)
|
||||
toggle_hidden(self.win.active_game_id)
|
||||
self.win.games[self.win.active_game_id].toggle_hidden()
|
||||
self.win.update_games([self.win.active_game_id])
|
||||
|
||||
def on_edit_details_action(self, _widget, _callback=None):
|
||||
@@ -177,21 +160,40 @@ class CartridgesApplication(Adw.Application):
|
||||
def on_add_game_action(self, _widget, _callback=None):
|
||||
create_details_window(self.win)
|
||||
|
||||
def on_remove_game_action(self, _widget, _callback=None):
|
||||
def on_import_action(self, _widget, _callback=None):
|
||||
self.win.importer = Importer(self.win)
|
||||
|
||||
self.win.importer.blocker = True
|
||||
|
||||
if self.win.schema.get_boolean("steam"):
|
||||
steam_parser(self.win)
|
||||
|
||||
if self.win.schema.get_boolean("heroic"):
|
||||
heroic_parser(self.win)
|
||||
|
||||
if self.win.schema.get_boolean("bottles"):
|
||||
bottles_parser(self.win)
|
||||
|
||||
self.win.importer.blocker = False
|
||||
|
||||
if self.win.importer.import_dialog.is_visible and self.win.importer.queue == 0:
|
||||
self.win.importer.queue = 1
|
||||
self.win.importer.save_game()
|
||||
|
||||
def on_remove_game_action(self, _widget, _callback=None):
|
||||
# Add "removed=True" to the game properties so it can be deleted on next init
|
||||
game_id = self.win.active_game_id
|
||||
|
||||
data = get_games([game_id])[game_id]
|
||||
data["removed"] = True
|
||||
save_games({game_id: data})
|
||||
save_game(data)
|
||||
|
||||
self.win.update_games([game_id])
|
||||
if self.win.stack.get_visible_child() == self.win.overview:
|
||||
self.win.on_go_back_action(None, None)
|
||||
|
||||
# The variable is the title of the game
|
||||
title = self.win.games[game_id].name
|
||||
# The variable is the title of the game
|
||||
toast = Adw.Toast.new(_(f"{title} removed"))
|
||||
toast.set_button_label(_("Undo"))
|
||||
toast.connect("button-clicked", self.win.on_undo_remove_action, game_id)
|
||||
@@ -215,6 +217,6 @@ class CartridgesApplication(Adw.Application):
|
||||
self.set_accels_for_action(f"win.{name}", shortcuts)
|
||||
|
||||
|
||||
def main(version):
|
||||
def main(version): # pylint: disable=unused-argument
|
||||
app = CartridgesApplication()
|
||||
return app.run(sys.argv)
|
||||
|
||||
@@ -22,15 +22,13 @@ cartridges_sources = [
|
||||
'window.py',
|
||||
'preferences.py',
|
||||
'game.py',
|
||||
'utils/importer.py',
|
||||
'utils/steam_parser.py',
|
||||
'utils/heroic_parser.py',
|
||||
'utils/bottles_parser.py',
|
||||
'utils/run_command.py',
|
||||
'utils/get_games.py',
|
||||
'utils/get_cover.py',
|
||||
'utils/save_games.py',
|
||||
'utils/save_game.py',
|
||||
'utils/save_cover.py',
|
||||
'utils/toggle_hidden.py',
|
||||
'utils/create_dialog.py',
|
||||
'utils/create_details_window.py'
|
||||
]
|
||||
|
||||
@@ -21,120 +21,243 @@ import os
|
||||
|
||||
from gi.repository import Adw, Gio, GLib, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .get_games import get_games
|
||||
from .save_game import save_game
|
||||
|
||||
|
||||
class ImportPreferences:
|
||||
def __init__(
|
||||
self,
|
||||
window,
|
||||
source_id,
|
||||
name,
|
||||
install_key,
|
||||
paths,
|
||||
expander_row,
|
||||
file_chooser_button,
|
||||
config=False,
|
||||
):
|
||||
def set_dir(_source, result, _unused):
|
||||
try:
|
||||
path = window.file_chooser.select_folder_finish(result).get_path()
|
||||
|
||||
def response(widget, response):
|
||||
if response == "choose_folder":
|
||||
window.choose_folder(widget, set_dir)
|
||||
|
||||
if not any(
|
||||
os.path.exists(os.path.join(path, current_path))
|
||||
for current_path in paths
|
||||
):
|
||||
create_dialog(
|
||||
window.parent_widget,
|
||||
_("Installation Not Found"),
|
||||
# The variable is the name of the game launcher
|
||||
_(f"Select the {name} configuration directory.") if config
|
||||
# The variable is the name of the game launcher
|
||||
else _(f"Select the {name} data directory."),
|
||||
"choose_folder",
|
||||
_("Set Location"),
|
||||
).connect("response", response)
|
||||
else:
|
||||
window.schema.set_string(
|
||||
install_key,
|
||||
path,
|
||||
)
|
||||
except GLib.GError:
|
||||
pass
|
||||
|
||||
window.schema.bind(
|
||||
source_id,
|
||||
expander_row,
|
||||
"enable-expansion",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
|
||||
file_chooser_button.connect("clicked", window.choose_folder, set_dir)
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/hu/kramo/Cartridges/gtk/preferences.ui")
|
||||
class PreferencesWindow(Adw.PreferencesWindow):
|
||||
__gtype_name__ = "PreferencesWindow"
|
||||
|
||||
page = Gtk.Template.Child()
|
||||
bottles_group = Gtk.Template.Child()
|
||||
general_page = Gtk.Template.Child()
|
||||
import_page = Gtk.Template.Child()
|
||||
|
||||
sources_group = Gtk.Template.Child()
|
||||
|
||||
exit_after_launch_switch = Gtk.Template.Child()
|
||||
import_epic_games_switch = Gtk.Template.Child()
|
||||
import_gog_games_switch = Gtk.Template.Child()
|
||||
import_sideload_games_switch = Gtk.Template.Child()
|
||||
cover_launches_game_switch = Gtk.Template.Child()
|
||||
high_quality_images_switch = Gtk.Template.Child()
|
||||
remove_all_games_button = Gtk.Template.Child()
|
||||
|
||||
steam_expander_row = Gtk.Template.Child()
|
||||
steam_file_chooser_button = Gtk.Template.Child()
|
||||
steam_extra_file_chooser_button = Gtk.Template.Child()
|
||||
steam_clear_button = Gtk.Template.Child()
|
||||
steam_clear_button_revealer = Gtk.Template.Child()
|
||||
steam_clear_button = Gtk.Template.Child()
|
||||
|
||||
heroic_expander_row = Gtk.Template.Child()
|
||||
heroic_file_chooser_button = Gtk.Template.Child()
|
||||
heroic_epic_switch = Gtk.Template.Child()
|
||||
heroic_gog_switch = Gtk.Template.Child()
|
||||
heroic_sideloaded_switch = Gtk.Template.Child()
|
||||
|
||||
bottles_expander_row = Gtk.Template.Child()
|
||||
bottles_file_chooser_button = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, parent_widget, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.schema = parent_widget.schema
|
||||
self.parent_widget = parent_widget
|
||||
self.file_chooser = Gtk.FileDialog()
|
||||
self.set_transient_for(parent_widget)
|
||||
schema = parent_widget.schema
|
||||
schema.bind(
|
||||
|
||||
self.toast = Adw.Toast.new(_("All games removed"))
|
||||
self.toast.set_button_label(_("Undo"))
|
||||
self.toast.connect("button-clicked", self.undo_remove_all, None)
|
||||
self.toast.set_priority(Adw.ToastPriority.HIGH)
|
||||
shortcut_controller = Gtk.ShortcutController()
|
||||
shortcut_controller.add_shortcut(
|
||||
Gtk.Shortcut.new(
|
||||
Gtk.ShortcutTrigger.parse_string("<primary>z"),
|
||||
Gtk.CallbackAction.new(self.undo_remove_all),
|
||||
)
|
||||
)
|
||||
self.add_controller(shortcut_controller)
|
||||
self.removed_games = []
|
||||
|
||||
# General
|
||||
self.schema.bind(
|
||||
"exit-after-launch",
|
||||
self.exit_after_launch_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
schema.bind(
|
||||
"heroic-import-epic",
|
||||
self.import_epic_games_switch,
|
||||
self.schema.bind(
|
||||
"cover-launches-game",
|
||||
self.cover_launches_game_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
schema.bind(
|
||||
"heroic-import-gog",
|
||||
self.import_gog_games_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
schema.bind(
|
||||
"heroic-import-sideload",
|
||||
self.import_sideload_games_switch,
|
||||
self.schema.bind(
|
||||
"high-quality-images",
|
||||
self.high_quality_images_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
|
||||
filechooser = Gtk.FileDialog()
|
||||
self.remove_all_games_button.connect("clicked", self.remove_all_games)
|
||||
|
||||
# Steam
|
||||
ImportPreferences(
|
||||
self,
|
||||
"steam",
|
||||
"Steam",
|
||||
"steam-location",
|
||||
[
|
||||
"steamapps",
|
||||
os.path.join("steam", "steamapps"),
|
||||
os.path.join("Steam", "steamapps"),
|
||||
],
|
||||
self.steam_expander_row,
|
||||
self.steam_file_chooser_button,
|
||||
)
|
||||
|
||||
def update_revealer():
|
||||
if schema.get_strv("steam-extra-dirs"):
|
||||
if self.schema.get_strv("steam-extra-dirs"):
|
||||
self.steam_clear_button_revealer.set_reveal_child(True)
|
||||
else:
|
||||
self.steam_clear_button_revealer.set_reveal_child(False)
|
||||
|
||||
def set_steam_dir(_source, result, _unused):
|
||||
try:
|
||||
schema.set_string(
|
||||
"steam-location",
|
||||
filechooser.select_folder_finish(result).get_path(),
|
||||
)
|
||||
except GLib.GError:
|
||||
pass
|
||||
|
||||
def add_steam_dir(_source, result, _unused):
|
||||
try:
|
||||
value = schema.get_strv("steam-extra-dirs")
|
||||
value.append(filechooser.select_folder_finish(result).get_path())
|
||||
schema.set_strv("steam-extra-dirs", value)
|
||||
value = self.schema.get_strv("steam-extra-dirs")
|
||||
value.append(self.file_chooser.select_folder_finish(result).get_path())
|
||||
self.schema.set_strv("steam-extra-dirs", value)
|
||||
except GLib.GError:
|
||||
pass
|
||||
update_revealer()
|
||||
|
||||
def clear_steam_dirs(*_unused):
|
||||
schema.set_strv("steam-extra-dirs", [])
|
||||
self.schema.set_strv("steam-extra-dirs", [])
|
||||
update_revealer()
|
||||
|
||||
def set_heroic_dir(_source, result, _unused):
|
||||
try:
|
||||
schema.set_string(
|
||||
"heroic-location",
|
||||
filechooser.select_folder_finish(result).get_path(),
|
||||
)
|
||||
except GLib.GError:
|
||||
pass
|
||||
|
||||
def set_bottles_dir(_source, result, _unused):
|
||||
try:
|
||||
schema.set_string(
|
||||
"bottles-location",
|
||||
filechooser.select_folder_finish(result).get_path(),
|
||||
)
|
||||
except GLib.GError:
|
||||
pass
|
||||
|
||||
def choose_folder(_widget, function):
|
||||
filechooser.select_folder(parent_widget, None, function, None)
|
||||
|
||||
update_revealer()
|
||||
|
||||
self.steam_file_chooser_button.connect("clicked", choose_folder, set_steam_dir)
|
||||
self.steam_extra_file_chooser_button.connect(
|
||||
"clicked", choose_folder, add_steam_dir
|
||||
"clicked", self.choose_folder, add_steam_dir
|
||||
)
|
||||
self.steam_clear_button.connect("clicked", clear_steam_dirs)
|
||||
self.heroic_file_chooser_button.connect(
|
||||
"clicked", choose_folder, set_heroic_dir
|
||||
|
||||
# Heroic
|
||||
ImportPreferences(
|
||||
self,
|
||||
"heroic",
|
||||
"Heroic",
|
||||
"heroic-location",
|
||||
["config.json"],
|
||||
self.heroic_expander_row,
|
||||
self.heroic_file_chooser_button,
|
||||
True,
|
||||
)
|
||||
self.bottles_file_chooser_button.connect(
|
||||
"clicked", choose_folder, set_bottles_dir
|
||||
|
||||
self.schema.bind(
|
||||
"heroic-import-epic",
|
||||
self.heroic_epic_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
self.schema.bind(
|
||||
"heroic-import-gog",
|
||||
self.heroic_gog_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
self.schema.bind(
|
||||
"heroic-import-sideload",
|
||||
self.heroic_sideloaded_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
|
||||
# Bottles
|
||||
ImportPreferences(
|
||||
self,
|
||||
"bottles",
|
||||
"Bottles",
|
||||
"bottles-location",
|
||||
["library.yml"],
|
||||
self.bottles_expander_row,
|
||||
self.bottles_file_chooser_button,
|
||||
)
|
||||
|
||||
if os.name == "nt":
|
||||
self.page.remove(self.bottles_group)
|
||||
self.sources_group.remove(self.bottles_expander_row)
|
||||
|
||||
def choose_folder(self, _widget, function):
|
||||
self.file_chooser.select_folder(self.parent_widget, None, function, None)
|
||||
|
||||
def undo_remove_all(self, _widget, _unused):
|
||||
for game_id in self.removed_games:
|
||||
data = get_games([game_id])[game_id]
|
||||
if "removed" in data.keys():
|
||||
data.pop("removed")
|
||||
save_game(data)
|
||||
self.parent_widget.update_games(self.removed_games)
|
||||
self.removed_games = []
|
||||
self.toast.dismiss()
|
||||
|
||||
def remove_all_games(self, _widget):
|
||||
for game in get_games().values():
|
||||
if not "removed" in game.keys():
|
||||
self.removed_games.append(game["game_id"])
|
||||
game["removed"] = True
|
||||
save_game(game)
|
||||
|
||||
self.parent_widget.update_games(self.parent_widget.games)
|
||||
if self.parent_widget.stack.get_visible_child() == self.parent_widget.overview:
|
||||
self.parent_widget.on_go_back_action(None, None)
|
||||
|
||||
self.add_toast(self.toast)
|
||||
|
||||
@@ -21,24 +21,19 @@ import os
|
||||
import time
|
||||
|
||||
import yaml
|
||||
from gi.repository import GLib, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .save_cover import save_cover
|
||||
|
||||
|
||||
def bottles_parser(parent_widget, action):
|
||||
def bottles_parser(parent_widget):
|
||||
schema = parent_widget.schema
|
||||
bottles_dir = os.path.expanduser(schema.get_string("bottles-location"))
|
||||
|
||||
def bottles_not_found():
|
||||
if not os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
||||
if os.path.exists(
|
||||
os.path.expanduser("~/.var/app/com.usebottles.bottles/data/bottles/")
|
||||
):
|
||||
schema.set_string(
|
||||
"bottles-location", "~/.var/app/com.usebottles.bottles/data/bottles/"
|
||||
)
|
||||
action(None, None)
|
||||
elif os.path.exists(
|
||||
os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
@@ -54,77 +49,47 @@ def bottles_parser(parent_widget, action):
|
||||
"bottles",
|
||||
),
|
||||
)
|
||||
action(None, None)
|
||||
else:
|
||||
filechooser = Gtk.FileDialog.new()
|
||||
|
||||
def set_bottles_dir(_source, result, _unused):
|
||||
try:
|
||||
schema.set_string(
|
||||
"bottles-location",
|
||||
filechooser.select_folder_finish(result).get_path(),
|
||||
)
|
||||
action(None, None)
|
||||
except GLib.GError:
|
||||
return
|
||||
|
||||
def choose_folder(_widget):
|
||||
filechooser.select_folder(parent_widget, None, set_bottles_dir, None)
|
||||
|
||||
def response(widget, response):
|
||||
if response == "choose_folder":
|
||||
choose_folder(widget)
|
||||
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Couldn't Import Games"),
|
||||
_("The Bottles directory cannot be found."),
|
||||
"choose_folder",
|
||||
_("Set Bottles Location"),
|
||||
).connect("response", response)
|
||||
|
||||
if os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
||||
pass
|
||||
else:
|
||||
bottles_not_found()
|
||||
return {}
|
||||
return
|
||||
|
||||
bottles_dir = os.path.expanduser(schema.get_string("bottles-location"))
|
||||
|
||||
bottles_games = {}
|
||||
current_time = int(time.time())
|
||||
|
||||
with open(os.path.join(bottles_dir, "library.yml"), "r") as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
|
||||
library = yaml.load(data, Loader=yaml.Loader)
|
||||
|
||||
importer = parent_widget.importer
|
||||
importer.total_queue += len(library)
|
||||
importer.queue += len(library)
|
||||
|
||||
for game in library:
|
||||
game = library[game]
|
||||
values = {}
|
||||
|
||||
values["game_id"] = "bottles_" + game["id"]
|
||||
values["game_id"] = f'bottles_{game["id"]}'
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
importer.save_game()
|
||||
continue
|
||||
|
||||
values["name"] = game["name"]
|
||||
values["executable"] = (
|
||||
"xdg-open bottles:run/" + game["bottle"]["name"] + "/" + game["name"]
|
||||
)
|
||||
values["executable"] = [
|
||||
"xdg-open",
|
||||
f'bottles:run/{game["bottle"]["name"]}/{game["name"]}',
|
||||
]
|
||||
values["hidden"] = False
|
||||
values["source"] = "bottles"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
if game["thumbnail"]:
|
||||
save_cover(
|
||||
values,
|
||||
parent_widget,
|
||||
importer.save_cover(
|
||||
values["game_id"],
|
||||
os.path.join(
|
||||
bottles_dir,
|
||||
"bottles",
|
||||
@@ -133,27 +98,4 @@ def bottles_parser(parent_widget, action):
|
||||
game["thumbnail"].split(":")[1],
|
||||
),
|
||||
)
|
||||
|
||||
bottles_games[values["game_id"]] = values
|
||||
|
||||
if len(bottles_games) == 0:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
_("No new games were found in the Bottles library."),
|
||||
)
|
||||
elif len(bottles_games) == 1:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Bottles Games Imported"),
|
||||
_("Successfully imported 1 game."),
|
||||
)
|
||||
elif len(bottles_games) > 1:
|
||||
games_no = str(len(bottles_games))
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Bottles Games Imported"),
|
||||
# The variable is the number of games
|
||||
_(f"Successfully imported {games_no} games."),
|
||||
)
|
||||
return bottles_games
|
||||
importer.save_game(values)
|
||||
|
||||
@@ -19,19 +19,19 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import shlex
|
||||
import time
|
||||
|
||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, GObject, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .get_cover import get_cover
|
||||
from .save_cover import save_cover
|
||||
from .save_games import save_games
|
||||
from .save_game import save_game
|
||||
|
||||
|
||||
def create_details_window(parent_widget, game_id=None):
|
||||
window = Adw.Window(
|
||||
modal=True, default_width=500, default_height=750, transient_for=parent_widget
|
||||
modal=True, default_width=500, default_height=-1, transient_for=parent_widget
|
||||
)
|
||||
|
||||
games = parent_widget.games
|
||||
@@ -46,13 +46,13 @@ def create_details_window(parent_widget, game_id=None):
|
||||
apply_button = Gtk.Button.new_with_label(_("Confirm"))
|
||||
else:
|
||||
window.set_title(_("Edit Game Details"))
|
||||
cover = Gtk.Picture.new_for_pixbuf(get_cover(game_id, parent_widget))
|
||||
cover = Gtk.Picture.new_for_pixbuf(parent_widget.games[game_id].pixbuf)
|
||||
developer = Gtk.Entry.new_with_buffer(
|
||||
Gtk.EntryBuffer.new(games[game_id].developer, -1)
|
||||
)
|
||||
name = Gtk.Entry.new_with_buffer(Gtk.EntryBuffer.new(games[game_id].name, -1))
|
||||
executable = Gtk.Entry.new_with_buffer(
|
||||
Gtk.EntryBuffer.new((games[game_id].executable), -1)
|
||||
Gtk.EntryBuffer.new(shlex.join(games[game_id].executable), -1)
|
||||
)
|
||||
apply_button = Gtk.Button.new_with_label(_("Apply"))
|
||||
|
||||
@@ -108,17 +108,22 @@ def create_details_window(parent_widget, game_id=None):
|
||||
css_classes=["flat", "circular"],
|
||||
)
|
||||
|
||||
# Translate this string as you would translate "file"
|
||||
file_name = _("file.txt")
|
||||
# As in software
|
||||
exe_name = _("program")
|
||||
|
||||
if os.name == "nt":
|
||||
exe_name += ".exe"
|
||||
# Translate this string as you would translate "path to {exe_name}"
|
||||
exe_path = _(f"C:\\path\\to\\{exe_name}")
|
||||
# Translate this string as you would translate "path to {file_name}"
|
||||
file_path = _(f"C:\\path\\to\\{file_name}")
|
||||
command = "start"
|
||||
else:
|
||||
# Translate this string as you would translate "path to {exe_name}"
|
||||
exe_path = _(f"/path/to/{exe_name}")
|
||||
# Translate this string as you would translate "path to {file_name}"
|
||||
file_path = _(f"/path/to/{file_name}")
|
||||
command = "xdg-open"
|
||||
|
||||
@@ -153,7 +158,7 @@ def create_details_window(parent_widget, game_id=None):
|
||||
exec_info_popover.set_parent(exec_group.get_header_suffix())
|
||||
exec_group.add(executable)
|
||||
|
||||
general_page = Adw.PreferencesPage()
|
||||
general_page = Adw.PreferencesPage(vexpand=True)
|
||||
general_page.add(cover_group)
|
||||
general_page.add(title_group)
|
||||
general_page.add(developer_group)
|
||||
@@ -201,8 +206,22 @@ def create_details_window(parent_widget, game_id=None):
|
||||
final_developer = developer.get_buffer().get_text()
|
||||
final_executable = executable.get_buffer().get_text()
|
||||
|
||||
if game_id is None:
|
||||
try:
|
||||
# Attempt to parse using shell parsing rules (doesn't verify executable existence).
|
||||
final_executable_split = shlex.split(
|
||||
final_executable, comments=False, posix=True
|
||||
)
|
||||
except ValueError as exception:
|
||||
create_dialog(
|
||||
window,
|
||||
_("Couldn't Add Game")
|
||||
if game_id is None
|
||||
else _("Couldn't Apply Preferences"),
|
||||
f'{_("Executable")}: {exception}.',
|
||||
)
|
||||
return
|
||||
|
||||
if game_id is None:
|
||||
if final_name == "":
|
||||
create_dialog(
|
||||
window, _("Couldn't Add Game"), _("Game title cannot be empty.")
|
||||
@@ -223,7 +242,7 @@ def create_details_window(parent_widget, game_id=None):
|
||||
if "imported_" in game:
|
||||
numbers.append(int(game.replace("imported_", "")))
|
||||
|
||||
game_id = "imported_" + str(max(numbers) + 1)
|
||||
game_id = f"imported_{str(max(numbers) + 1)}"
|
||||
|
||||
values["game_id"] = game_id
|
||||
values["hidden"] = False
|
||||
@@ -249,11 +268,11 @@ def create_details_window(parent_widget, game_id=None):
|
||||
return
|
||||
|
||||
if pixbuf is not None:
|
||||
save_cover(None, parent_widget, None, pixbuf, game_id)
|
||||
save_cover(parent_widget, game_id, None, pixbuf)
|
||||
|
||||
values["name"] = final_name
|
||||
values["developer"] = final_developer if final_developer else None
|
||||
values["executable"] = final_executable
|
||||
values["developer"] = final_developer or None
|
||||
values["executable"] = final_executable_split
|
||||
|
||||
path = os.path.join(
|
||||
os.path.join(
|
||||
@@ -261,18 +280,17 @@ def create_details_window(parent_widget, game_id=None):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
game_id + ".json",
|
||||
f"{game_id}.json",
|
||||
)
|
||||
)
|
||||
|
||||
if os.path.exists(path):
|
||||
with open(path, "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
data.update(values)
|
||||
save_games({game_id: data})
|
||||
save_game(data)
|
||||
else:
|
||||
save_games({game_id: values})
|
||||
save_game(values)
|
||||
|
||||
parent_widget.update_games([game_id])
|
||||
if parent_widget.stack.get_visible_child() == parent_widget.overview:
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from gi.repository import Adw, Gtk
|
||||
from gi.repository import Adw
|
||||
|
||||
|
||||
def create_dialog(parent_widget, heading, body, extra_option=None, extra_label=None):
|
||||
dialog = Adw.MessageDialog.new(parent_widget, _(heading), body)
|
||||
dialog = Adw.MessageDialog.new(parent_widget, heading, body)
|
||||
dialog.add_response("dismiss", _("Dismiss"))
|
||||
|
||||
if extra_option:
|
||||
dialog.add_response(extra_option, _(extra_label))
|
||||
|
||||
Gtk.Window.present(dialog)
|
||||
dialog.present()
|
||||
return dialog
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
# get_cover.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import os
|
||||
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
|
||||
def get_cover(game_id, parent_widget):
|
||||
if game_id in parent_widget.pixbufs.keys():
|
||||
return parent_widget.pixbufs[game_id]
|
||||
|
||||
cover_path = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
game_id + ".tiff",
|
||||
)
|
||||
|
||||
if not os.path.isfile(cover_path):
|
||||
return parent_widget.placeholder_pixbuf
|
||||
|
||||
return GdkPixbuf.Pixbuf.new_from_file(cover_path)
|
||||
@@ -33,16 +33,14 @@ def get_games(game_ids=None):
|
||||
if not os.path.exists(games_dir):
|
||||
return {}
|
||||
|
||||
if not game_ids:
|
||||
game_files = os.listdir(games_dir)
|
||||
if game_ids:
|
||||
game_files = [f"{game_id}.json" for game_id in game_ids]
|
||||
else:
|
||||
game_files = []
|
||||
for game_id in game_ids:
|
||||
game_files.append(game_id + ".json")
|
||||
game_files = os.listdir(games_dir)
|
||||
|
||||
for game in game_files:
|
||||
with open(os.path.join(games_dir, game), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
games[data["game_id"]] = data
|
||||
|
||||
return games
|
||||
|
||||
@@ -22,17 +22,12 @@ import json
|
||||
import os
|
||||
import time
|
||||
|
||||
from gi.repository import GLib, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .save_cover import save_cover
|
||||
|
||||
|
||||
def heroic_parser(parent_widget, action):
|
||||
def heroic_parser(parent_widget):
|
||||
schema = parent_widget.schema
|
||||
heroic_dir = os.path.expanduser(schema.get_string("heroic-location"))
|
||||
|
||||
def heroic_not_found():
|
||||
if not os.path.exists(os.path.join(heroic_dir, "config.json")):
|
||||
if os.path.exists(
|
||||
os.path.expanduser("~/.var/app/com.heroicgameslauncher.hgl/config/heroic/")
|
||||
):
|
||||
@@ -40,7 +35,6 @@ def heroic_parser(parent_widget, action):
|
||||
"heroic-location",
|
||||
"~/.var/app/com.heroicgameslauncher.hgl/config/heroic/",
|
||||
)
|
||||
action(None, None)
|
||||
elif os.path.exists(
|
||||
os.path.join(
|
||||
os.getenv("XDG_CONFIG_HOME")
|
||||
@@ -56,51 +50,20 @@ def heroic_parser(parent_widget, action):
|
||||
"heroic",
|
||||
),
|
||||
)
|
||||
action(None, None)
|
||||
elif os.path.exists(os.path.join(os.getenv("appdata"), "heroic")):
|
||||
elif os.name == "nt" and os.path.exists(
|
||||
os.path.join(os.getenv("appdata"), "heroic")
|
||||
):
|
||||
schema.set_string(
|
||||
"heroic-location", os.path.join(os.getenv("appdata"), "heroic")
|
||||
)
|
||||
action(None, None)
|
||||
else:
|
||||
filechooser = Gtk.FileDialog.new()
|
||||
|
||||
def set_heroic_dir(_source, result, _unused):
|
||||
try:
|
||||
schema.set_string(
|
||||
"heroic-location",
|
||||
filechooser.select_folder_finish(result).get_path(),
|
||||
)
|
||||
action(None, None)
|
||||
except GLib.GError:
|
||||
return
|
||||
|
||||
def choose_folder(_widget):
|
||||
filechooser.select_folder(parent_widget, None, set_heroic_dir, None)
|
||||
|
||||
def response(widget, response):
|
||||
if response == "choose_folder":
|
||||
choose_folder(widget)
|
||||
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Couldn't Import Games"),
|
||||
_("The Heroic directory cannot be found."),
|
||||
"choose_folder",
|
||||
_("Set Heroic Location"),
|
||||
).connect("response", response)
|
||||
|
||||
if os.path.exists(os.path.join(heroic_dir, "config.json")):
|
||||
pass
|
||||
else:
|
||||
heroic_not_found()
|
||||
return {}
|
||||
return
|
||||
|
||||
heroic_dir = os.path.expanduser(schema.get_string("heroic-location"))
|
||||
|
||||
heroic_games = {}
|
||||
current_time = int(time.time())
|
||||
|
||||
importer = parent_widget.importer
|
||||
|
||||
# Import Epic games
|
||||
if not schema.get_boolean("heroic-import-epic"):
|
||||
pass
|
||||
@@ -109,47 +72,53 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "lib-cache", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
|
||||
for game in library["library"]:
|
||||
if not game["is_installed"]:
|
||||
continue
|
||||
try:
|
||||
for game in library["library"]:
|
||||
if not game["is_installed"]:
|
||||
continue
|
||||
|
||||
values = {}
|
||||
importer.total_queue += 1
|
||||
importer.queue += 1
|
||||
|
||||
app_name = game["app_name"]
|
||||
values["game_id"] = "heroic_epic_" + app_name
|
||||
values = {}
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
continue
|
||||
app_name = game["app_name"]
|
||||
values["game_id"] = f"heroic_epic_{app_name}"
|
||||
|
||||
values["name"] = game["title"]
|
||||
values["developer"] = game["developer"]
|
||||
values["executable"] = (
|
||||
"start heroic://launch/" + app_name
|
||||
if os.name == "nt"
|
||||
else "xdg-open heroic://launch/" + app_name
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_epic"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
importer.save_game()
|
||||
continue
|
||||
|
||||
image_path = os.path.join(
|
||||
heroic_dir,
|
||||
"images-cache",
|
||||
hashlib.sha256(
|
||||
(game["art_square"] + "?h=400&resize=1&w=300").encode()
|
||||
).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
save_cover(values, parent_widget, image_path)
|
||||
values["name"] = game["title"]
|
||||
values["developer"] = game["developer"]
|
||||
values["executable"] = (
|
||||
["start", f"heroic://launch/{app_name}"]
|
||||
if os.name == "nt"
|
||||
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_epic"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
heroic_games[values["game_id"]] = values
|
||||
image_path = os.path.join(
|
||||
heroic_dir,
|
||||
"images-cache",
|
||||
hashlib.sha256(
|
||||
(f'{game["art_square"]}?h=400&resize=1&w=300').encode()
|
||||
).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
importer.save_cover(values["game_id"], image_path)
|
||||
|
||||
importer.save_game(values)
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
# Import GOG games
|
||||
if not schema.get_boolean("heroic-import-gog"):
|
||||
@@ -159,18 +128,22 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "gog_store", "installed.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
installed = json.loads(data)
|
||||
|
||||
importer.total_queue += len(installed["installed"])
|
||||
importer.queue += len(installed["installed"])
|
||||
|
||||
for item in installed["installed"]:
|
||||
values = {}
|
||||
app_name = item["appName"]
|
||||
|
||||
values["game_id"] = "heroic_gog_" + app_name
|
||||
values["game_id"] = f"heroic_gog_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
importer.save_game()
|
||||
continue
|
||||
|
||||
# Get game title and developer from library.json as they are not present in installed.json
|
||||
@@ -178,7 +151,6 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "gog_store", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
for game in library["games"]:
|
||||
if game["app_name"] == app_name:
|
||||
@@ -190,20 +162,20 @@ def heroic_parser(parent_widget, action):
|
||||
hashlib.sha256(game["art_square"].encode()).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
save_cover(values, parent_widget, image_path)
|
||||
importer.save_cover(values["game_id"], image_path)
|
||||
break
|
||||
|
||||
values["executable"] = (
|
||||
"start heroic://launch/" + app_name
|
||||
["start", f"heroic://launch/{app_name}"]
|
||||
if os.name == "nt"
|
||||
else "xdg-open heroic://launch/" + app_name
|
||||
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_gog"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
heroic_games[values["game_id"]] = values
|
||||
importer.save_game(values)
|
||||
|
||||
# Import sideloaded games
|
||||
if not schema.get_boolean("heroic-import-sideload"):
|
||||
@@ -213,25 +185,29 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "sideload_apps", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
|
||||
importer.total_queue += len(library["games"])
|
||||
importer.queue += len(library["games"])
|
||||
|
||||
for item in library["games"]:
|
||||
values = {}
|
||||
app_name = item["app_name"]
|
||||
|
||||
values["game_id"] = "heroic_sideload_" + app_name
|
||||
values["game_id"] = f"heroic_sideload_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
importer.save_game()
|
||||
continue
|
||||
|
||||
values["name"] = item["title"]
|
||||
values["executable"] = (
|
||||
"start heroic://launch/" + app_name
|
||||
["start", f"heroic://launch/{app_name}"]
|
||||
if os.name == "nt"
|
||||
else "xdg-open heroic://launch/" + app_name
|
||||
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_sideload"
|
||||
@@ -243,28 +219,6 @@ def heroic_parser(parent_widget, action):
|
||||
hashlib.sha256(item["art_square"].encode()).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
save_cover(values, parent_widget, image_path)
|
||||
importer.save_cover(values["game_id"], image_path)
|
||||
|
||||
heroic_games[values["game_id"]] = values
|
||||
|
||||
if len(heroic_games) == 0:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
_("No new games were found in the Heroic library."),
|
||||
)
|
||||
elif len(heroic_games) == 1:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Heroic Games Imported"),
|
||||
_("Successfully imported 1 game."),
|
||||
)
|
||||
elif len(heroic_games) > 1:
|
||||
games_no = str(len(heroic_games))
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Heroic Games Imported"),
|
||||
# The variable is the number of games
|
||||
_(f"Successfully imported {games_no} games."),
|
||||
)
|
||||
return heroic_games
|
||||
importer.save_game(values)
|
||||
|
||||
97
src/utils/importer.py
Normal file
97
src/utils/importer.py
Normal file
@@ -0,0 +1,97 @@
|
||||
# importer.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from gi.repository import Adw, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .save_cover import save_cover
|
||||
from .save_game import save_game
|
||||
|
||||
|
||||
class Importer:
|
||||
def __init__(self, parent_widget):
|
||||
self.parent_widget = parent_widget
|
||||
self.total_queue = 0
|
||||
self.queue = 0
|
||||
self.games_no = 0
|
||||
self.blocker = False
|
||||
|
||||
self.progressbar = Gtk.ProgressBar(margin_start=12, margin_end=12)
|
||||
import_statuspage = Adw.StatusPage(
|
||||
title=_("Importing Games…"),
|
||||
child=self.progressbar,
|
||||
)
|
||||
|
||||
self.import_dialog = Adw.Window(
|
||||
content=import_statuspage,
|
||||
modal=True,
|
||||
default_width=350,
|
||||
default_height=-1,
|
||||
transient_for=parent_widget,
|
||||
deletable=False,
|
||||
)
|
||||
|
||||
self.import_dialog.present()
|
||||
|
||||
def save_cover(self, game_id, cover_path):
|
||||
save_cover(self.parent_widget, game_id, cover_path)
|
||||
|
||||
def save_game(self, values=None):
|
||||
if values:
|
||||
self.games_no += 1
|
||||
save_game(values)
|
||||
self.parent_widget.update_games([values["game_id"]])
|
||||
if "blacklisted" in values.keys():
|
||||
self.games_no -= 1
|
||||
|
||||
self.queue -= 1
|
||||
self.progressbar.set_fraction(1 - (self.queue / self.total_queue))
|
||||
|
||||
if self.queue == 0 and not self.blocker:
|
||||
self.import_dialog.close()
|
||||
|
||||
def response(_widget, response):
|
||||
if response == "open_preferences":
|
||||
self.parent_widget.get_application().on_preferences_action(
|
||||
None, page_name="import"
|
||||
)
|
||||
|
||||
if self.games_no == 0:
|
||||
create_dialog(
|
||||
self.parent_widget,
|
||||
_("No Games Found"),
|
||||
_("No new games were found on your system."),
|
||||
"open_preferences",
|
||||
_("Preferences"),
|
||||
).connect("response", response)
|
||||
|
||||
elif self.games_no == 1:
|
||||
create_dialog(
|
||||
self.parent_widget,
|
||||
_("Game Imported"),
|
||||
_("Successfully imported 1 game."),
|
||||
)
|
||||
elif self.games_no > 1:
|
||||
games_no = self.games_no
|
||||
create_dialog(
|
||||
self.parent_widget,
|
||||
_("Games Imported"),
|
||||
# The variable is the number of games
|
||||
_(f"Successfully imported {games_no} games."),
|
||||
)
|
||||
@@ -1,39 +0,0 @@
|
||||
# run_command.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from gi.repository import Gio
|
||||
|
||||
|
||||
def run_command(executable):
|
||||
subprocess.Popen(
|
||||
["flatpak-spawn --host " + executable]
|
||||
if os.getenv("FLATPAK_ID") == "hu.kramo.Cartridges"
|
||||
else executable.split()
|
||||
if os.name == "nt"
|
||||
else [executable],
|
||||
shell=True,
|
||||
start_new_session=True,
|
||||
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP if os.name == "nt" else 0,
|
||||
)
|
||||
if Gio.Settings.new("hu.kramo.Cartridges").get_boolean("exit-after-launch"):
|
||||
sys.exit()
|
||||
@@ -22,31 +22,29 @@ import os
|
||||
from gi.repository import GdkPixbuf, Gio
|
||||
|
||||
|
||||
def save_cover(game, parent_widget, file_path, pixbuf=None, game_id=None):
|
||||
def save_cover(parent_widget, game_id, cover_path, pixbuf=None):
|
||||
covers_dir = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
)
|
||||
|
||||
if not os.path.exists(covers_dir):
|
||||
os.makedirs(covers_dir)
|
||||
|
||||
if game_id is None:
|
||||
game_id = game["game_id"]
|
||||
|
||||
if pixbuf is None:
|
||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(file_path, 600, 900, False)
|
||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(cover_path, 400, 600, False)
|
||||
|
||||
def cover_callback(*_unused):
|
||||
pass
|
||||
|
||||
open_file = Gio.File.new_for_path(os.path.join(covers_dir, game_id + ".tiff"))
|
||||
open_file = Gio.File.new_for_path(os.path.join(covers_dir, f"{game_id}.tiff"))
|
||||
parent_widget.pixbufs[game_id] = pixbuf
|
||||
pixbuf.save_to_streamv_async(
|
||||
open_file.replace(None, False, Gio.FileCreateFlags.NONE),
|
||||
"tiff",
|
||||
["compression"],
|
||||
["7"],
|
||||
["8"] if parent_widget.schema.get_boolean("high-quality-images") else ["7"],
|
||||
callback=cover_callback,
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# save_games.py
|
||||
# save_game.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
@@ -21,7 +21,7 @@ import json
|
||||
import os
|
||||
|
||||
|
||||
def save_games(games):
|
||||
def save_game(game):
|
||||
games_dir = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
@@ -32,7 +32,5 @@ def save_games(games):
|
||||
if not os.path.exists(games_dir):
|
||||
os.makedirs(games_dir)
|
||||
|
||||
for game in games:
|
||||
with open(os.path.join(games_dir, game + ".json"), "w") as open_file:
|
||||
open_file.write(json.dumps(games[game], indent=4, sort_keys=True))
|
||||
open_file.close()
|
||||
with open(os.path.join(games_dir, f'{game["game_id"]}.json'), "w") as open_file:
|
||||
open_file.write(json.dumps(game, indent=4, sort_keys=True))
|
||||
@@ -23,14 +23,10 @@ import re
|
||||
import time
|
||||
import urllib.request
|
||||
|
||||
from gi.repository import Adw, Gio, GLib, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .save_cover import save_cover
|
||||
from .save_games import save_games
|
||||
from gi.repository import Gio, GLib
|
||||
|
||||
|
||||
def upadte_values_from_data(content, values):
|
||||
def update_values_from_data(content, values):
|
||||
basic_data = json.loads(content)[values["appid"]]
|
||||
if not basic_data["success"]:
|
||||
values["blacklisted"] = True
|
||||
@@ -44,17 +40,18 @@ def upadte_values_from_data(content, values):
|
||||
return values
|
||||
|
||||
|
||||
def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_dir):
|
||||
def get_game(
|
||||
task, datatypes, current_time, parent_widget, appmanifest, steam_dir, importer
|
||||
):
|
||||
values = {}
|
||||
|
||||
with open(appmanifest, "r") as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
for datatype in datatypes:
|
||||
value = re.findall('"' + datatype + '"\t\t"(.*)"\n', data)
|
||||
value = re.findall(f'"{datatype}"\t\t"(.*)"\n', data)
|
||||
values[datatype] = value[0]
|
||||
|
||||
values["game_id"] = "steam_" + values["appid"]
|
||||
values["game_id"] = f'steam_{values["appid"]}'
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -64,16 +61,16 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
return
|
||||
|
||||
values["executable"] = (
|
||||
"start steam://rungameid/" + values["appid"]
|
||||
["start", f'steam://rungameid/{values["appid"]}']
|
||||
if os.name == "nt"
|
||||
else "xdg-open steam://rungameid/" + values["appid"]
|
||||
else ["xdg-open", f'steam://rungameid/{values["appid"]}']
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "steam"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
url = "https://store.steampowered.com/api/appdetails?appids=" + values["appid"]
|
||||
url = f'https://store.steampowered.com/api/appdetails?appids={values["appid"]}'
|
||||
|
||||
# On Linux the request is made through gvfs so the app can run without network permissions
|
||||
if os.name == "nt":
|
||||
@@ -90,24 +87,23 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
content = None
|
||||
|
||||
if content:
|
||||
values = upadte_values_from_data(content, values)
|
||||
values = update_values_from_data(content, values)
|
||||
|
||||
if os.path.isfile(
|
||||
os.path.join(
|
||||
steam_dir,
|
||||
"appcache",
|
||||
"librarycache",
|
||||
values["appid"] + "_library_600x900.jpg",
|
||||
f'{values["appid"]}_library_600x900.jpg',
|
||||
)
|
||||
):
|
||||
save_cover(
|
||||
values,
|
||||
parent_widget,
|
||||
importer.save_cover(
|
||||
values["game_id"],
|
||||
os.path.join(
|
||||
steam_dir,
|
||||
"appcache",
|
||||
"librarycache",
|
||||
values["appid"] + "_library_600x900.jpg",
|
||||
f'{values["appid"]}_library_600x900.jpg',
|
||||
),
|
||||
)
|
||||
|
||||
@@ -115,81 +111,45 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
return
|
||||
|
||||
|
||||
def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
||||
def get_games_async(parent_widget, appmanifests, steam_dir, importer):
|
||||
datatypes = ["appid", "name"]
|
||||
current_time = int(time.time())
|
||||
|
||||
steam_games = {}
|
||||
queue = 0
|
||||
|
||||
# Wrap the function in another one as Gio.Task.run_in_thread does not allow for passing args
|
||||
def create_func(datatypes, current_time, parent_widget, appmanifest, steam_dir):
|
||||
def wrapper(task, *_unused):
|
||||
get_game(
|
||||
task, datatypes, current_time, parent_widget, appmanifest, steam_dir
|
||||
task,
|
||||
datatypes,
|
||||
current_time,
|
||||
parent_widget,
|
||||
appmanifest,
|
||||
steam_dir,
|
||||
importer,
|
||||
)
|
||||
|
||||
return wrapper
|
||||
|
||||
def update_games(_task, result, parent_widget):
|
||||
nonlocal queue
|
||||
nonlocal import_dialog
|
||||
|
||||
queue -= 1
|
||||
|
||||
def update_games(_task, result):
|
||||
try:
|
||||
final_values = result.propagate_value()[1]
|
||||
steam_games[final_values["game_id"]] = final_values
|
||||
except (TypeError, GLib.GError):
|
||||
pass
|
||||
|
||||
if queue == 0:
|
||||
save_games(steam_games)
|
||||
parent_widget.update_games(steam_games)
|
||||
import_dialog.close()
|
||||
games_no = len(
|
||||
{
|
||||
game_id: final_values
|
||||
for game_id, final_values in steam_games.items()
|
||||
if "blacklisted" not in final_values.keys()
|
||||
}
|
||||
)
|
||||
|
||||
if games_no == 0:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
_("No new games were found in the Steam library."),
|
||||
)
|
||||
elif games_no == 1:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Steam Games Imported"),
|
||||
_("Successfully imported 1 game."),
|
||||
)
|
||||
elif games_no > 1:
|
||||
games_no = str(games_no)
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Steam Games Imported"),
|
||||
# The variable is the number of games
|
||||
_(f"Successfully imported {games_no} games."),
|
||||
)
|
||||
# No need for an if statement as final_value would be None for games we don't want to save
|
||||
importer.save_game(final_values)
|
||||
except GLib.GError: # Handle the exception for the timeout
|
||||
importer.save_game()
|
||||
|
||||
for appmanifest in appmanifests:
|
||||
queue += 1
|
||||
|
||||
cancellable = Gio.Cancellable.new()
|
||||
GLib.timeout_add_seconds(5, cancellable.cancel)
|
||||
|
||||
task = Gio.Task.new(None, cancellable, update_games, parent_widget)
|
||||
task = Gio.Task.new(None, cancellable, update_games)
|
||||
task.set_return_on_cancel(True)
|
||||
task.run_in_thread(
|
||||
create_func(datatypes, current_time, parent_widget, appmanifest, steam_dir)
|
||||
)
|
||||
|
||||
|
||||
def steam_parser(parent_widget, action):
|
||||
def steam_parser(parent_widget):
|
||||
schema = parent_widget.schema
|
||||
steam_dir = os.path.expanduser(schema.get_string("steam-location"))
|
||||
|
||||
@@ -200,42 +160,12 @@ def steam_parser(parent_widget, action):
|
||||
schema.set_string(
|
||||
"steam-location", "~/.var/app/com.valvesoftware.Steam/data/Steam/"
|
||||
)
|
||||
action(None, None)
|
||||
elif os.path.exists(os.path.expanduser("~/.steam/steam/")):
|
||||
schema.set_string("steam-location", "~/.steam/steam/")
|
||||
action(None, None)
|
||||
elif os.path.exists(os.path.join(os.getenv("programfiles(x86)"), "Steam")):
|
||||
schema.set_string(
|
||||
"steam-location", os.path.join(os.getenv("programfiles(x86)"), "Steam")
|
||||
)
|
||||
action(None, None)
|
||||
else:
|
||||
filechooser = Gtk.FileDialog.new()
|
||||
|
||||
def set_steam_dir(_source, result, _unused):
|
||||
try:
|
||||
schema.set_string(
|
||||
"steam-location",
|
||||
filechooser.select_folder_finish(result).get_path(),
|
||||
)
|
||||
action(None, None)
|
||||
except GLib.GError:
|
||||
return
|
||||
|
||||
def choose_folder(_widget):
|
||||
filechooser.select_folder(parent_widget, None, set_steam_dir, None)
|
||||
|
||||
def response(widget, response):
|
||||
if response == "choose_folder":
|
||||
choose_folder(widget)
|
||||
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("Couldn't Import Games"),
|
||||
_("The Steam directory cannot be found."),
|
||||
"choose_folder",
|
||||
_("Set Steam Location"),
|
||||
).connect("response", response)
|
||||
|
||||
if os.path.exists(os.path.join(steam_dir, "steamapps")):
|
||||
pass
|
||||
@@ -245,26 +175,10 @@ def steam_parser(parent_widget, action):
|
||||
schema.set_string("steam-location", os.path.join(steam_dir, "Steam"))
|
||||
else:
|
||||
steam_not_found()
|
||||
return {}
|
||||
steam_parser(parent_widget)
|
||||
return
|
||||
|
||||
steam_dir = os.path.expanduser(schema.get_string("steam-location"))
|
||||
|
||||
import_statuspage = Adw.StatusPage(
|
||||
title=_("Importing Games…"),
|
||||
description=_("Talking to Steam"),
|
||||
)
|
||||
|
||||
import_dialog = Adw.Window(
|
||||
content=import_statuspage,
|
||||
modal=True,
|
||||
default_width=350,
|
||||
default_height=200,
|
||||
transient_for=parent_widget,
|
||||
deletable=False,
|
||||
)
|
||||
|
||||
import_dialog.present()
|
||||
|
||||
appmanifests = []
|
||||
|
||||
steam_dirs = schema.get_strv("steam-extra-dirs")
|
||||
@@ -280,4 +194,8 @@ def steam_parser(parent_widget, action):
|
||||
if os.path.isfile(path) and "appmanifest" in open_file:
|
||||
appmanifests.append(path)
|
||||
|
||||
get_games_async(parent_widget, appmanifests, directory, import_dialog)
|
||||
importer = parent_widget.importer
|
||||
importer.total_queue += len(appmanifests)
|
||||
importer.queue += len(appmanifests)
|
||||
|
||||
get_games_async(parent_widget, appmanifests, directory, importer)
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
# toggle_hidden.py
|
||||
#
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import json
|
||||
import os
|
||||
|
||||
|
||||
def toggle_hidden(game):
|
||||
games_dir = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
)
|
||||
|
||||
if not os.path.exists(games_dir):
|
||||
return
|
||||
|
||||
with open(os.path.join(games_dir, game + ".json"), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
|
||||
data["hidden"] = not data["hidden"]
|
||||
|
||||
with open(os.path.join(games_dir, game + ".json"), "w") as open_file:
|
||||
open_file.write(json.dumps(data, indent=4))
|
||||
open_file.close()
|
||||
@@ -23,9 +23,8 @@ import os
|
||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, Gtk
|
||||
|
||||
from .game import game
|
||||
from .get_cover import get_cover
|
||||
from .get_games import get_games
|
||||
from .save_games import save_games
|
||||
from .save_game import save_game
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/hu/kramo/Cartridges/gtk/window.ui")
|
||||
@@ -42,7 +41,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
library_bin = Gtk.Template.Child()
|
||||
notice_empty = Gtk.Template.Child()
|
||||
notice_no_results = Gtk.Template.Child()
|
||||
game_options = Gtk.Template.Child()
|
||||
search_bar = Gtk.Template.Child()
|
||||
search_entry = Gtk.Template.Child()
|
||||
search_button = Gtk.Template.Child()
|
||||
@@ -63,7 +61,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
hidden_scrolledwindow = Gtk.Template.Child()
|
||||
hidden_library_bin = Gtk.Template.Child()
|
||||
hidden_notice_empty = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
hidden_search_bar = Gtk.Template.Child()
|
||||
hidden_search_entry = Gtk.Template.Child()
|
||||
hidden_search_button = Gtk.Template.Child()
|
||||
@@ -86,7 +83,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
|
||||
self.schema = Gio.Settings.new("hu.kramo.Cartridges")
|
||||
self.placeholder_pixbuf = GdkPixbuf.Pixbuf.new_from_resource_at_scale(
|
||||
"/hu/kramo/Cartridges/library_placeholder.svg", 200, 300, False
|
||||
"/hu/kramo/Cartridges/library_placeholder.svg", 400, 600, False
|
||||
)
|
||||
current_games = get_games()
|
||||
for current_game in current_games:
|
||||
@@ -97,7 +94,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
current_game + ".json",
|
||||
f"{current_game}.json",
|
||||
)
|
||||
)
|
||||
try:
|
||||
@@ -107,7 +104,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
current_game + ".dat",
|
||||
f"{current_game}.tiff",
|
||||
)
|
||||
)
|
||||
except FileNotFoundError:
|
||||
@@ -154,10 +151,8 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
self.library.append(entry)
|
||||
else:
|
||||
self.hidden_widgets[game_id] = entry
|
||||
entry.menu_button.set_menu_model(entry.hidden_game_options)
|
||||
self.hidden_library.append(entry)
|
||||
|
||||
entry.cover_button.connect("clicked", self.show_overview, game_id)
|
||||
entry.menu_button.get_popover().connect(
|
||||
"notify::visible", self.set_active_game, game_id
|
||||
)
|
||||
@@ -188,7 +183,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
text = self.search_entry.get_text().lower()
|
||||
if text == "":
|
||||
filtered = True
|
||||
elif text in child.get_first_child().name.lower():
|
||||
elif (
|
||||
text in child.get_first_child().name.lower()
|
||||
or text in child.get_first_child().developer.lower()
|
||||
if child.get_first_child().developer
|
||||
else None
|
||||
):
|
||||
filtered = True
|
||||
else:
|
||||
filtered = False
|
||||
@@ -206,7 +206,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
text = self.hidden_search_entry.get_text().lower()
|
||||
if text == "":
|
||||
filtered = True
|
||||
elif text in child.get_first_child().name.lower():
|
||||
elif (
|
||||
text in child.get_first_child().name.lower()
|
||||
or text in child.get_first_child().developer.lower()
|
||||
if child.get_first_child().developer
|
||||
else None
|
||||
):
|
||||
filtered = True
|
||||
else:
|
||||
filtered = False
|
||||
@@ -242,17 +247,17 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
else:
|
||||
self.overview_developer.set_visible(False)
|
||||
|
||||
if not current_game.hidden:
|
||||
self.overview_menu_button.set_menu_model(self.game_options)
|
||||
else:
|
||||
self.overview_menu_button.set_menu_model(self.hidden_game_options)
|
||||
self.overview_menu_button.set_menu_model(
|
||||
current_game.menu_button.get_menu_model()
|
||||
)
|
||||
|
||||
if self.stack.get_visible_child() != self.overview:
|
||||
self.stack.set_transition_type(Gtk.StackTransitionType.OVER_LEFT)
|
||||
self.stack.set_visible_child(self.overview)
|
||||
|
||||
self.active_game_id = game_id
|
||||
pixbuf = get_cover(self.active_game_id, self)
|
||||
|
||||
pixbuf = current_game.pixbuf
|
||||
self.overview_cover.set_pixbuf(pixbuf)
|
||||
self.overview_blurred_cover.set_pixbuf(
|
||||
pixbuf.scale_simple(2, 3, GdkPixbuf.InterpType.BILINEAR)
|
||||
@@ -290,36 +295,28 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
name2 = child2.get_first_child().name.lower()
|
||||
if name1 > name2:
|
||||
return -1
|
||||
if name1 < name2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if name1 < name2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def newest_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].added
|
||||
time2 = self.games[child2.get_first_child().game_id].added
|
||||
if time1 > time2:
|
||||
return -1
|
||||
if time1 < time2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def oldest_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].added
|
||||
time2 = self.games[child2.get_first_child().game_id].added
|
||||
if time1 > time2:
|
||||
return 1
|
||||
if time1 < time2:
|
||||
return -1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return -1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def last_played_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].last_played
|
||||
time2 = self.games[child2.get_first_child().game_id].last_played
|
||||
if time1 > time2:
|
||||
return -1
|
||||
if time1 < time2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def on_go_back_action(self, _widget, _unused, _x=None, _y=None):
|
||||
if self.stack.get_visible_child() == self.hidden_library_view:
|
||||
@@ -425,7 +422,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
return
|
||||
data = get_games([game_id])[game_id]
|
||||
data.pop("removed")
|
||||
save_games({game_id: data})
|
||||
save_game(data)
|
||||
self.update_games([game_id])
|
||||
self.toasts[game_id].dismiss()
|
||||
self.toasts.pop(game_id)
|
||||
|
||||
Reference in New Issue
Block a user