Compare commits
132 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
67c1b25429 | ||
|
|
7503d207c8 | ||
|
|
6176982d1c | ||
|
|
aa8145a605 | ||
|
|
ea52f8cf09 | ||
|
|
26636557ee | ||
|
|
b281a4bd0d | ||
|
|
8d820d8426 | ||
|
|
d86593962b | ||
|
|
a3935e24e9 | ||
|
|
0f9aeb3e1d | ||
|
|
d045d51082 | ||
|
|
9724cae884 | ||
|
|
6b0d4593b7 | ||
|
|
a21b3e0171 | ||
|
|
86dae1f972 | ||
|
|
a7a1573569 | ||
|
|
9214400cca | ||
|
|
18f381c377 | ||
|
|
08f63ceeb6 | ||
|
|
0a2e51355a | ||
|
|
270cb4e73a | ||
|
|
7b080af02a | ||
|
|
839a176ef8 | ||
|
|
0993adfda9 | ||
|
|
1c4d6e244e | ||
|
|
6ca11358e9 | ||
|
|
2acd0025e5 | ||
|
|
64581ee607 | ||
|
|
921968bec3 | ||
|
|
149c417901 |
31
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**System (please complete the following information):**
|
||||||
|
- OS: [e.g. Fedora Linux]
|
||||||
|
- Installation method [e.g. Flatpak]
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: enhancement
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
||||||
2
.github/workflows/flatpak-builder.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v5
|
- uses: flatpak/flatpak-github-actions/flatpak-builder@v5
|
||||||
with:
|
with:
|
||||||
repository-name: gnome-nightly
|
|
||||||
repository-url: https://nightly.gnome.org/gnome-nightly.flatpakrepo
|
|
||||||
bundle: hu.kramo.Cartridges.flatpak
|
bundle: hu.kramo.Cartridges.flatpak
|
||||||
manifest-path: hu.kramo.Cartridges.json
|
manifest-path: hu.kramo.Cartridges.json
|
||||||
cache-key: flatpak-builder-${{ github.sha }}
|
cache-key: flatpak-builder-${{ github.sha }}
|
||||||
|
|||||||
2
.github/workflows/windows.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
|||||||
- name: Compile
|
- name: Compile
|
||||||
shell: msys2 {0}
|
shell: msys2 {0}
|
||||||
run: |
|
run: |
|
||||||
meson _build
|
meson setup _build
|
||||||
ninja -C _build install
|
ninja -C _build install
|
||||||
pacman --noconfirm -Rs mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-meson git
|
pacman --noconfirm -Rs mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-meson git
|
||||||
- name: "Inno Setup"
|
- name: "Inno Setup"
|
||||||
|
|||||||
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
/subprojects/blueprint-compiler
|
/subprojects/blueprint-compiler
|
||||||
/.flatpak
|
/.flatpak
|
||||||
|
/.flatpak-builder
|
||||||
/.vscode
|
/.vscode
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#define MyAppName "Cartridges"
|
#define MyAppName "Cartridges"
|
||||||
#define MyAppVersion "0.1.3"
|
#define MyAppVersion "1.1"
|
||||||
#define MyAppPublisher "kramo"
|
#define MyAppPublisher "kramo"
|
||||||
#define MyAppURL "https://github.com/kra-mo/cartridges"
|
#define MyAppURL "https://github.com/kra-mo/cartridges"
|
||||||
#define MyAppExeName "pythonw.exe"
|
#define MyAppExeName "pythonw.exe"
|
||||||
@@ -30,8 +30,7 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
|
|||||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: "cartridges"; DestDir: "{app}\bin"; Flags: ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\bin\cartridges"; DestDir: "{app}\bin"; Flags: ignoreversion
|
||||||
|
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\bin\pythonw.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\bin\pythonw.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\bin\python.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\bin\python.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\bin\gdbus.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\bin\gdbus.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
||||||
@@ -41,10 +40,10 @@ Source: "D:\a\_temp\msys64\ucrt64\etc\ssl\*"; DestDir: "{app}\etc\ssl"; Flags: r
|
|||||||
|
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\lib\gdk-pixbuf-2.0\*"; DestDir: "{app}\lib\gdk-pixbuf-2.0"; Flags: recursesubdirs ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\lib\gdk-pixbuf-2.0\*"; DestDir: "{app}\lib\gdk-pixbuf-2.0"; Flags: recursesubdirs ignoreversion
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\lib\girepository-1.0\*"; DestDir: "{app}\lib\girepository-1.0"; Flags: recursesubdirs ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\lib\girepository-1.0\*"; DestDir: "{app}\lib\girepository-1.0"; Flags: recursesubdirs ignoreversion
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\lib\python3.10\*"; DestDir: "{app}\lib\python3.10"; Flags: recursesubdirs ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\lib\python3.10\*"; DestDir: "{app}\lib\python3.10"; Excludes: "__pycache__"; Flags: recursesubdirs ignoreversion
|
||||||
|
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\share\cartridges\*"; DestDir: "{app}\share\cartridges"; Flags: recursesubdirs ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\share\cartridges\*"; DestDir: "{app}\share\cartridges"; Excludes: "__pycache__"; Flags: recursesubdirs ignoreversion
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\share\icons\*"; DestDir: "{app}\share\icons"; Flags: recursesubdirs ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\share\icons\*"; DestDir: "{app}\share\icons"; Excludes: "cursors\*"; Flags: recursesubdirs ignoreversion
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\share\glib-2.0\*"; DestDir: "{app}\share\glib-2.0"; Flags: recursesubdirs ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\share\glib-2.0\*"; DestDir: "{app}\share\glib-2.0"; Flags: recursesubdirs ignoreversion
|
||||||
Source: "D:\a\_temp\msys64\ucrt64\share\gtk-4.0\*"; DestDir: "{app}\share\gtk-4.0"; Flags: recursesubdirs ignoreversion
|
Source: "D:\a\_temp\msys64\ucrt64\share\gtk-4.0\*"; DestDir: "{app}\share\gtk-4.0"; Flags: recursesubdirs ignoreversion
|
||||||
|
|
||||||
@@ -55,5 +54,4 @@ Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; Para
|
|||||||
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; Parameters: """{app}\bin\cartridges"""; IconFilename: "{app}\icon.ico"; Tasks: desktopicon
|
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; Parameters: """{app}\bin\cartridges"""; IconFilename: "{app}\icon.ico"; Tasks: desktopicon
|
||||||
|
|
||||||
[Run]
|
[Run]
|
||||||
Filename: "{app}\bin\{#MyAppExeName}"; Parameters: """{app}\bin\cartridges"""; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait skipifsilent
|
Filename: "{app}\bin\{#MyAppExeName}"; Parameters: """{app}\bin\cartridges"""; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall
|
||||||
|
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
# Cartridges
|
|
||||||
#
|
|
||||||
# Copyright 2022 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 sys
|
|
||||||
import signal
|
|
||||||
import gettext
|
|
||||||
|
|
||||||
VERSION = '0.1.3'
|
|
||||||
pkgdatadir = os.path.join(os.path.dirname(__file__), '..', 'share', 'cartridges')
|
|
||||||
localedir = os.path.join(os.path.dirname(__file__), '..', 'share', 'locale')
|
|
||||||
|
|
||||||
sys.path.insert(1, pkgdatadir)
|
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
|
||||||
gettext.install('cartridges', localedir)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
import gi
|
|
||||||
|
|
||||||
from gi.repository import Gio
|
|
||||||
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'cartridges.gresource'))
|
|
||||||
resource._register()
|
|
||||||
|
|
||||||
from cartridges import main
|
|
||||||
sys.exit(main.main(VERSION))
|
|
||||||
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 169 KiB |
128
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
We as members, contributors, and leaders pledge to make participation in our
|
||||||
|
community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||||
|
identity and expression, level of experience, education, socio-economic status,
|
||||||
|
nationality, personal appearance, race, religion, or sexual identity
|
||||||
|
and orientation.
|
||||||
|
|
||||||
|
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||||
|
diverse, inclusive, and healthy community.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to a positive environment for our
|
||||||
|
community include:
|
||||||
|
|
||||||
|
* Demonstrating empathy and kindness toward other people
|
||||||
|
* Being respectful of differing opinions, viewpoints, and experiences
|
||||||
|
* Giving and gracefully accepting constructive feedback
|
||||||
|
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||||
|
and learning from the experience
|
||||||
|
* Focusing on what is best not just for us as individuals, but for the
|
||||||
|
overall community
|
||||||
|
|
||||||
|
Examples of unacceptable behavior include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery, and sexual attention or
|
||||||
|
advances of any kind
|
||||||
|
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or email
|
||||||
|
address, without their explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Enforcement Responsibilities
|
||||||
|
|
||||||
|
Community leaders are responsible for clarifying and enforcing our standards of
|
||||||
|
acceptable behavior and will take appropriate and fair corrective action in
|
||||||
|
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||||
|
or harmful.
|
||||||
|
|
||||||
|
Community leaders have the right and responsibility to remove, edit, or reject
|
||||||
|
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||||
|
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||||
|
decisions when appropriate.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies within all community spaces, and also applies when
|
||||||
|
an individual is officially representing the community in public spaces.
|
||||||
|
Examples of representing our community include using an official e-mail address,
|
||||||
|
posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported to the community leaders responsible for enforcement at
|
||||||
|
cartridges-community@kramo.hu.
|
||||||
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
|
All community leaders are obligated to respect the privacy and security of the
|
||||||
|
reporter of any incident.
|
||||||
|
|
||||||
|
## Enforcement Guidelines
|
||||||
|
|
||||||
|
Community leaders will follow these Community Impact Guidelines in determining
|
||||||
|
the consequences for any action they deem in violation of this Code of Conduct:
|
||||||
|
|
||||||
|
### 1. Correction
|
||||||
|
|
||||||
|
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||||
|
unprofessional or unwelcome in the community.
|
||||||
|
|
||||||
|
**Consequence**: A private, written warning from community leaders, providing
|
||||||
|
clarity around the nature of the violation and an explanation of why the
|
||||||
|
behavior was inappropriate. A public apology may be requested.
|
||||||
|
|
||||||
|
### 2. Warning
|
||||||
|
|
||||||
|
**Community Impact**: A violation through a single incident or series
|
||||||
|
of actions.
|
||||||
|
|
||||||
|
**Consequence**: A warning with consequences for continued behavior. No
|
||||||
|
interaction with the people involved, including unsolicited interaction with
|
||||||
|
those enforcing the Code of Conduct, for a specified period of time. This
|
||||||
|
includes avoiding interactions in community spaces as well as external channels
|
||||||
|
like social media. Violating these terms may lead to a temporary or
|
||||||
|
permanent ban.
|
||||||
|
|
||||||
|
### 3. Temporary Ban
|
||||||
|
|
||||||
|
**Community Impact**: A serious violation of community standards, including
|
||||||
|
sustained inappropriate behavior.
|
||||||
|
|
||||||
|
**Consequence**: A temporary ban from any sort of interaction or public
|
||||||
|
communication with the community for a specified period of time. No public or
|
||||||
|
private interaction with the people involved, including unsolicited interaction
|
||||||
|
with those enforcing the Code of Conduct, is allowed during this period.
|
||||||
|
Violating these terms may lead to a permanent ban.
|
||||||
|
|
||||||
|
### 4. Permanent Ban
|
||||||
|
|
||||||
|
**Community Impact**: Demonstrating a pattern of violation of community
|
||||||
|
standards, including sustained inappropriate behavior, harassment of an
|
||||||
|
individual, or aggression toward or disparagement of classes of individuals.
|
||||||
|
|
||||||
|
**Consequence**: A permanent ban from any sort of public interaction within
|
||||||
|
the community.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||||
|
version 2.0, available at
|
||||||
|
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||||
|
|
||||||
|
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||||
|
enforcement ladder](https://github.com/mozilla/diversity).
|
||||||
|
|
||||||
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
|
||||||
|
For answers to common questions about this code of conduct, see the FAQ at
|
||||||
|
https://www.contributor-covenant.org/faq. Translations are available at
|
||||||
|
https://www.contributor-covenant.org/translations.
|
||||||
35
CONTRIBUTING.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Contributing
|
||||||
|
|
||||||
|
## Code
|
||||||
|
Fork the repository, make your changes, then create a pull request.
|
||||||
|
|
||||||
|
## Translations
|
||||||
|
### Weblate
|
||||||
|
The project can be translated on [Weblate](https://hosted.weblate.org/engage/cartridges/).
|
||||||
|
|
||||||
|
### Manually
|
||||||
|
1. Clone the repository.
|
||||||
|
2. If it isn't already there, add your language to `/po/LINGUAS`.
|
||||||
|
3. Create a new translation from the `/po/cartridges.pot` file with a translation editor such as [Poedit](https://poedit.net/).
|
||||||
|
4. Save the file as `[YOUR LANGUAGE CODE].po` to `/po/`.
|
||||||
|
5. Create a pull request with your translations.
|
||||||
|
|
||||||
|
# Building
|
||||||
|
|
||||||
|
## GNOME Builder
|
||||||
|
1. Install [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder).
|
||||||
|
2. Click "Clone Repository" with `https://github.com/kra-mo/cartridges.git` as the URL.
|
||||||
|
3. Click on the build button (hammer) at the top.
|
||||||
|
|
||||||
|
## For Windows
|
||||||
|
1. Install [MSYS2](https://www.msys2.org/).
|
||||||
|
2. From the MSYS2 shell, install the required dependencies listed [here](https://github.com/kra-mo/cartridges/blob/main/.github/workflows/windows.yml).
|
||||||
|
3. Build it via Meson
|
||||||
|
|
||||||
|
## Meson
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/kra-mo/cartridges.git
|
||||||
|
cd cartridges
|
||||||
|
meson setup build
|
||||||
|
ninja -C build install
|
||||||
|
```
|
||||||
70
README.md
@@ -5,71 +5,65 @@
|
|||||||
# Cartridges
|
# Cartridges
|
||||||
A GTK4 + Libadwaita game launcher
|
A GTK4 + Libadwaita game launcher
|
||||||
|
|
||||||
|
[![Flathub][flathub-image]][flathub-url]
|
||||||
[![Build status][github-actions-image]][github-actions-url]
|
[![Build status][github-actions-image]][github-actions-url]
|
||||||
[![Translation Status][weblate-image]][weblate-url]
|
[![Translation Status][weblate-image]][weblate-url]
|
||||||
[![Merged PRs][prs-merged-image]][prs-merged-url]
|
|
||||||
[![License][license-image]][license-url]
|
[![License][license-image]][license-url]
|
||||||
[![Code style][code-style-image]][code-style-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-url]: https://github.com/kra-mo/cartridges
|
||||||
[github-actions-image]: https://img.shields.io/github/actions/workflow/status/kra-mo/cartridges/flatpak-builder.yml?branch=main&label=build
|
[github-actions-image]: https://github.com/kra-mo/cartridges/actions/workflows/flatpak-builder.yml/badge.svg
|
||||||
[prs-merged-url]: https://github.com/kra-mo/cartridges/pulls?q=is:pr+is:merged
|
|
||||||
[prs-merged-image]: https://img.shields.io/github/issues-pr-closed-raw/kra-mo/cartridges.svg?label=merged+PRs&color=green
|
|
||||||
[license-url]: https://github.com/kra-mo/cartridges/blob/main/LICENSE
|
[license-url]: https://github.com/kra-mo/cartridges/blob/main/LICENSE
|
||||||
[license-image]: https://img.shields.io/github/license/kra-mo/cartridges
|
[license-image]: https://img.shields.io/github/license/kra-mo/cartridges
|
||||||
[code-style-url]: https://github.com/psf/black
|
[code-style-url]: https://github.com/psf/black
|
||||||
[code-style-image]: https://img.shields.io/badge/code%20style-black-000000?style=flat
|
[code-style-image]: https://img.shields.io/badge/code%20style-black-000000?style=flat
|
||||||
[weblate-url]: https://hosted.weblate.org/projects/cartridges/cartridges
|
[weblate-url]: https://hosted.weblate.org/engage/cartridges/
|
||||||
[weblate-image]: https://hosted.weblate.org/widgets/cartridges/-/cartridges/svg-badge.svg
|
[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>
|
</div>
|
||||||
|
|
||||||
|
# The Project
|
||||||
## The Project
|
Cartridges is a simple game launcher written in Python using GTK4 and Libadwaita.
|
||||||
Cartridges is a simple game launcher written in Python using GTK4 + Libadwaita.
|
## Features
|
||||||
### Features
|
|
||||||
- Manually adding and editing games
|
- Manually adding and editing games
|
||||||
- Importing games from Steam, Heroic and Bottles
|
- Importing games from Steam, Heroic and Bottles
|
||||||
|
- Support for multiple Steam install locations
|
||||||
- Hiding games
|
- Hiding games
|
||||||
- Searching and sorting by title, date added and last played
|
- Searching and sorting by title, date added and last played
|
||||||
|
|
||||||
## Building
|
For updates and questions, join our [Discord server]([discord-url])!
|
||||||
|
|
||||||
### GNOME Builder
|
# Installation
|
||||||
|
|
||||||
1. Download [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder).
|
## Linux
|
||||||
2. Click "Clone Repository" with `https://github.com/kra-mo/game-shelf.git` as the URL.
|
|
||||||
3. Click on the build button (hammer) at the top.
|
|
||||||
|
|
||||||
## Installation
|
### Flathub (Recommended)
|
||||||
|
|
||||||
### Latest Build From GitHub Actions
|
<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>
|
||||||
1. Install `org.gnome.Platform` from the [gnome-nightly repository](https://wiki.gnome.org/Apps/Nightly) if needed.
|
|
||||||
2. Download the artifact from the latest workflow run.
|
|
||||||
3. Decompress the archive.
|
|
||||||
4. Install it via GNOME Software or `flatpak install hu.kramo.Cartridges.flatpak`.
|
|
||||||
|
|
||||||
### From Releases
|
### From Releases
|
||||||
1. Install `org.gnome.Platform` from the [gnome-nightly repository](https://wiki.gnome.org/Apps/Nightly) if needed.
|
1. Download the latest release from [Releases](https://github.com/kra-mo/cartridges/releases).
|
||||||
2. Download the latest release from Releases.
|
2. Install the downloaded file via GNOME Software or `flatpak install hu.kramo.Cartridges.flatpak`.
|
||||||
3. Install it via GNOME Software or `flatpak install hu.kramo.Cartridges.flatpak`.
|
|
||||||
|
|
||||||
### From GNOME Builder
|
## Windows
|
||||||
Click the down arrow next to the hammer at the top of your GNOME Builder window, then click "Export". This will create a flatpak that then can be installed on your system.
|
|
||||||
|
|
||||||
## Contributing
|
### From Releases
|
||||||
|
1. Download the latest release from [Releases](https://github.com/kra-mo/cartridges/releases).
|
||||||
|
2. Run the downloaded installer.
|
||||||
|
|
||||||
### Code
|
Note: Windows might present you with a warning when trying to install the app. This is expected, just ignore the warning.
|
||||||
Fork the repository, make your changes, then create a pull request.
|
|
||||||
|
|
||||||
### Translations
|
## Building manually
|
||||||
#### Weblate
|
See [Building](https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md#building).
|
||||||
The project can be translated on [Weblate](https://hosted.weblate.org/projects/cartridges/).
|
|
||||||
|
|
||||||
#### Manually
|
# Contributing
|
||||||
1. Clone the repository.
|
|
||||||
2. If it isn't already there, add your language to `/po/LINGUAS`.
|
See [CONTRIBUTING](https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md).
|
||||||
3. Create a new translation from the `/po/cartridges.pot` file with a translation editor such as [Poedit](https://poedit.net/).
|
|
||||||
4. Save the file as `[YOUR LANGUAGE CODE].po` to `/po/`.
|
Thanks to [Weblate](https://weblate.org/) for hosting our translations!
|
||||||
5. Create a pull request with your translations.
|
|
||||||
|
|||||||
@@ -11,15 +11,12 @@ template game : Box {
|
|||||||
Box {
|
Box {
|
||||||
orientation: vertical;
|
orientation: vertical;
|
||||||
Button cover_button {
|
Button cover_button {
|
||||||
|
overflow: hidden;
|
||||||
Picture cover {
|
Picture cover {
|
||||||
width-request: 200;
|
width-request: 200;
|
||||||
height-request: 300;
|
height-request: 300;
|
||||||
hexpand: true;
|
hexpand: true;
|
||||||
vexpand: true;
|
vexpand: true;
|
||||||
|
|
||||||
styles [
|
|
||||||
"card",
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
styles [
|
styles [
|
||||||
@@ -35,7 +32,6 @@ template game : Box {
|
|||||||
Box {
|
Box {
|
||||||
Button button_play {
|
Button button_play {
|
||||||
halign: start;
|
halign: start;
|
||||||
label: _("Play");
|
|
||||||
margin-start: 6;
|
margin-start: 6;
|
||||||
margin-end: 6;
|
margin-end: 6;
|
||||||
margin-top: 6;
|
margin-top: 6;
|
||||||
@@ -47,7 +43,6 @@ template game : Box {
|
|||||||
margin-bottom: 6;
|
margin-bottom: 6;
|
||||||
margin-end: 6;
|
margin-end: 6;
|
||||||
margin-start: 6;
|
margin-start: 6;
|
||||||
menu-model: game_options;
|
|
||||||
hexpand: true;
|
hexpand: true;
|
||||||
halign: end;
|
halign: end;
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ using Adw 1;
|
|||||||
|
|
||||||
template PreferencesWindow : Adw.PreferencesWindow {
|
template PreferencesWindow : Adw.PreferencesWindow {
|
||||||
search-enabled: false;
|
search-enabled: false;
|
||||||
default-height: 500;
|
default-height: 550;
|
||||||
|
|
||||||
Adw.PreferencesPage page {
|
Adw.PreferencesPage page {
|
||||||
Adw.PreferencesGroup {
|
Adw.PreferencesGroup general_group {
|
||||||
title: _("General");
|
title: _("General");
|
||||||
|
|
||||||
Adw.ActionRow {
|
Adw.ActionRow {
|
||||||
@@ -16,10 +16,28 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
|||||||
valign: center;
|
valign: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Adw.ActionRow {
|
||||||
|
title: _("Cover Image Launches Game");
|
||||||
|
subtitle: _("Swaps the behavior of the cover image and the play button");
|
||||||
|
|
||||||
|
Switch cover_launches_game_switch {
|
||||||
|
valign: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Adw.ActionRow {
|
||||||
|
title: _("High Quality Images");
|
||||||
|
subtitle: _("Save game covers losslessly at the cost of storage");
|
||||||
|
|
||||||
|
Switch high_quality_images_switch {
|
||||||
|
valign: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Adw.PreferencesGroup steam_group {
|
Adw.PreferencesGroup steam_group {
|
||||||
title: "Steam";
|
title: _("Steam");
|
||||||
|
|
||||||
Adw.ActionRow {
|
Adw.ActionRow {
|
||||||
title: _("Steam Install Location");
|
title: _("Steam Install Location");
|
||||||
@@ -30,10 +48,34 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
|||||||
valign: center;
|
valign: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Adw.ActionRow {
|
||||||
|
title: _("Extra Steam Libraries");
|
||||||
|
subtitle: _("Select other directories where you have Steam games installed");
|
||||||
|
|
||||||
|
|
||||||
|
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.PreferencesGroup heroic_group {
|
Adw.PreferencesGroup heroic_group {
|
||||||
title: "Heroic";
|
title: _("Heroic");
|
||||||
|
|
||||||
Adw.ActionRow {
|
Adw.ActionRow {
|
||||||
title: _("Heroic Install Location");
|
title: _("Heroic Install Location");
|
||||||
@@ -48,7 +90,7 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
|||||||
Adw.ActionRow {
|
Adw.ActionRow {
|
||||||
title: _("Import Epic Games");
|
title: _("Import Epic Games");
|
||||||
|
|
||||||
Switch import_epic_games_switch {
|
Switch heroic_epic_switch {
|
||||||
valign: center;
|
valign: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,7 +98,7 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
|||||||
Adw.ActionRow {
|
Adw.ActionRow {
|
||||||
title: _("Import GOG Games");
|
title: _("Import GOG Games");
|
||||||
|
|
||||||
Switch import_gog_games_switch {
|
Switch heroic_gog_switch {
|
||||||
valign: center;
|
valign: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -64,14 +106,14 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
|||||||
Adw.ActionRow {
|
Adw.ActionRow {
|
||||||
title: _("Import Sideloaded Games");
|
title: _("Import Sideloaded Games");
|
||||||
|
|
||||||
Switch import_sideload_games_switch {
|
Switch heroic_sideloaded_switch {
|
||||||
valign: center;
|
valign: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Adw.PreferencesGroup bottles_group {
|
Adw.PreferencesGroup bottles_group {
|
||||||
title: "Bottles";
|
title: _("Bottles");
|
||||||
|
|
||||||
Adw.ActionRow {
|
Adw.ActionRow {
|
||||||
title: _("Bottles Install Location");
|
title: _("Bottles Install Location");
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Adw.StatusPage notice_no_results {
|
|||||||
|
|
||||||
Adw.StatusPage notice_empty {
|
Adw.StatusPage notice_empty {
|
||||||
icon-name: "applications-games-symbolic";
|
icon-name: "applications-games-symbolic";
|
||||||
title: _("No Games Found");
|
title: _("No Games");
|
||||||
description: _("Use the + button to add games.");
|
description: _("Use the + button to add games.");
|
||||||
vexpand: true;
|
vexpand: true;
|
||||||
valign: center;
|
valign: center;
|
||||||
@@ -41,6 +41,7 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
|||||||
Adw.HeaderBar {
|
Adw.HeaderBar {
|
||||||
[start]
|
[start]
|
||||||
Button back_button {
|
Button back_button {
|
||||||
|
tooltip-text: _("Back");
|
||||||
action-name: "win.go_back";
|
action-name: "win.go_back";
|
||||||
icon-name: "go-previous-symbolic";
|
icon-name: "go-previous-symbolic";
|
||||||
}
|
}
|
||||||
@@ -192,18 +193,21 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
|||||||
Adw.HeaderBar header_bar {
|
Adw.HeaderBar header_bar {
|
||||||
[start]
|
[start]
|
||||||
MenuButton {
|
MenuButton {
|
||||||
|
tooltip-text: _("Add Game");
|
||||||
icon-name: "list-add-symbolic";
|
icon-name: "list-add-symbolic";
|
||||||
menu-model: add_games;
|
menu-model: add_games;
|
||||||
}
|
}
|
||||||
|
|
||||||
[end]
|
[end]
|
||||||
MenuButton primary_menu_button {
|
MenuButton primary_menu_button {
|
||||||
|
tooltip-text: _("Main Menu");
|
||||||
icon-name: "open-menu-symbolic";
|
icon-name: "open-menu-symbolic";
|
||||||
menu-model: primary_menu;
|
menu-model: primary_menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
[end]
|
[end]
|
||||||
ToggleButton search_button {
|
ToggleButton search_button {
|
||||||
|
tooltip-text: _("Search");
|
||||||
icon-name: "system-search-symbolic";
|
icon-name: "system-search-symbolic";
|
||||||
action-name: "win.toggle_search";
|
action-name: "win.toggle_search";
|
||||||
}
|
}
|
||||||
@@ -247,6 +251,7 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
|||||||
Adw.HeaderBar hidden_header_bar {
|
Adw.HeaderBar hidden_header_bar {
|
||||||
[start]
|
[start]
|
||||||
Button hidden_back_button {
|
Button hidden_back_button {
|
||||||
|
tooltip-text: _("Back");
|
||||||
action-name: "win.go_back";
|
action-name: "win.go_back";
|
||||||
icon-name: "go-previous-symbolic";
|
icon-name: "go-previous-symbolic";
|
||||||
}
|
}
|
||||||
@@ -258,12 +263,14 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
|||||||
|
|
||||||
[end]
|
[end]
|
||||||
MenuButton {
|
MenuButton {
|
||||||
|
tooltip-text: _("Main Menu");
|
||||||
icon-name: "open-menu-symbolic";
|
icon-name: "open-menu-symbolic";
|
||||||
menu-model: primary_menu;
|
menu-model: primary_menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
[end]
|
[end]
|
||||||
ToggleButton hidden_search_button {
|
ToggleButton hidden_search_button {
|
||||||
|
tooltip-text: _("Search");
|
||||||
icon-name: "system-search-symbolic";
|
icon-name: "system-search-symbolic";
|
||||||
action-name: "win.toggle_search";
|
action-name: "win.toggle_search";
|
||||||
}
|
}
|
||||||
@@ -397,41 +404,3 @@ menu add_games {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -4,6 +4,21 @@
|
|||||||
<key name="exit-after-launch" type="b">
|
<key name="exit-after-launch" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
</key>
|
</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-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>
|
||||||
<key name="heroic-import-epic" type="b">
|
<key name="heroic-import-epic" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
</key>
|
</key>
|
||||||
@@ -13,12 +28,6 @@
|
|||||||
<key name="heroic-import-sideload" type="b">
|
<key name="heroic-import-sideload" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
</key>
|
</key>
|
||||||
<key name="steam-location" type="s">
|
|
||||||
<default>"~/.steam/"</default>
|
|
||||||
</key>
|
|
||||||
<key name="heroic-location" type="s">
|
|
||||||
<default>"~/.var/app/com.heroicgameslauncher.hgl/config/heroic/"</default>
|
|
||||||
</key>
|
|
||||||
<key name="bottles-location" type="s">
|
<key name="bottles-location" type="s">
|
||||||
<default>"~/.var/app/com.usebottles.bottles/data/bottles/"</default>
|
<default>"~/.var/app/com.usebottles.bottles/data/bottles/"</default>
|
||||||
</key>
|
</key>
|
||||||
|
|||||||
@@ -8,6 +8,47 @@
|
|||||||
<description>
|
<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>
|
<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>
|
</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>
|
<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.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>
|
</component>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 911 KiB |
BIN
data/screenshots/1.png
Normal file
|
After Width: | Height: | Size: 719 KiB |
BIN
data/screenshots/2.png
Normal file
|
After Width: | Height: | Size: 105 KiB |
BIN
data/screenshots/3.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
data/screenshots/4.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"app-id" : "hu.kramo.Cartridges",
|
"id" : "hu.kramo.Cartridges",
|
||||||
"runtime" : "org.gnome.Platform",
|
"runtime" : "org.gnome.Platform",
|
||||||
"runtime-version" : "master",
|
"runtime-version" : "44",
|
||||||
"sdk" : "org.gnome.Sdk",
|
"sdk" : "org.gnome.Sdk",
|
||||||
"command" : "cartridges",
|
"command" : "cartridges",
|
||||||
"finish-args" : [
|
"finish-args" : [
|
||||||
@@ -31,18 +31,34 @@
|
|||||||
"*.a"
|
"*.a"
|
||||||
],
|
],
|
||||||
"modules" : [
|
"modules" : [
|
||||||
"python3-modules.json",
|
|
||||||
{
|
{
|
||||||
"name": "blueprint-compiler",
|
"name": "python3-pyyaml",
|
||||||
"buildsystem": "meson",
|
"buildsystem": "simple",
|
||||||
|
"build-commands": [
|
||||||
|
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation"
|
||||||
|
],
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "git",
|
"type": "file",
|
||||||
"url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||||
"tag": "v0.6.0"
|
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name" : "blueprint-compiler",
|
||||||
|
"buildsystem" : "meson",
|
||||||
|
"sources" : [
|
||||||
|
{
|
||||||
|
"type" : "git",
|
||||||
|
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
||||||
|
"tag" : "v0.6.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cleanup" : [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name" : "cartridges",
|
"name" : "cartridges",
|
||||||
"builddir" : true,
|
"builddir" : true,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
project('cartridges',
|
project('cartridges',
|
||||||
version: '0.1.3',
|
version: '1.1',
|
||||||
meson_version: '>= 0.59.0',
|
meson_version: '>= 0.59.0',
|
||||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -3,3 +3,10 @@ ta
|
|||||||
uk
|
uk
|
||||||
nb_NO
|
nb_NO
|
||||||
fr
|
fr
|
||||||
|
nl
|
||||||
|
it
|
||||||
|
ar
|
||||||
|
es
|
||||||
|
fi
|
||||||
|
pt
|
||||||
|
ru
|
||||||
|
|||||||
549
po/ar.po
Normal file
@@ -0,0 +1,549 @@
|
|||||||
|
# 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-26 11:51+0200\n"
|
||||||
|
"PO-Revision-Date: 2023-03-25 17:57+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:115
|
||||||
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "التفضيلات"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "أوَّل إصدار مستقرٍّ"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
|
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
|
||||||
|
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
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr "استورد من"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr "ستيم"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
|
msgid "Heroic"
|
||||||
|
msgstr "هِرُوِك"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
|
msgid "Bottles"
|
||||||
|
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
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "أزل"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:106
|
||||||
|
msgid "Unhide"
|
||||||
|
msgstr "اكشف"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
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"
|
||||||
|
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 "Show hidden games"
|
||||||
|
msgstr "أظهر الألعاب المخفية"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:10
|
||||||
|
msgid "General"
|
||||||
|
msgstr "عام"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:13
|
||||||
|
msgid "Exit After Launching Games"
|
||||||
|
msgstr "اخرج بعد بدء الألعاب"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
|
msgid "Steam Install Location"
|
||||||
|
msgstr "موضع تثبيت ستيم"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
|
#: data/gtk/preferences.blp:120
|
||||||
|
msgid "Directory to use when importing games"
|
||||||
|
msgstr "المجلَّد المستخدم عند استيراد الألعاب"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "مكتبات ستيم الإضافية"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr "حدِّد المجلَّدات الأخرى التي ثُبِّتت فيها ألعاب ستيم"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "أمحُ"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
|
msgid "Heroic Install Location"
|
||||||
|
msgstr "موضع تثبيت هِرُوِك"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:91
|
||||||
|
msgid "Import Epic Games"
|
||||||
|
msgstr "استورد ألعاب أَبِك"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:99
|
||||||
|
msgid "Import GOG Games"
|
||||||
|
msgstr "استورد ألعاب جيأوجي"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:107
|
||||||
|
msgid "Import Sideloaded Games"
|
||||||
|
msgstr "استورد ألعابًا مثبَّتةً بغير متجر"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:119
|
||||||
|
msgid "Bottles Install Location"
|
||||||
|
msgstr "موضع تثبيت بوتلز"
|
||||||
|
|
||||||
|
#. Translators: Replace this with your name for it to show up in the about window
|
||||||
|
#: src/main.py:130
|
||||||
|
msgid "translator_credits"
|
||||||
|
msgstr "Ali Aljishi <ahj696@hotmail.com>"
|
||||||
|
|
||||||
|
#: src/main.py:193
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{title} removed"
|
||||||
|
msgstr "أزيلت {title}"
|
||||||
|
|
||||||
|
#: src/main.py:194
|
||||||
|
msgid "Undo"
|
||||||
|
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 "أضيفت في: {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
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "تفاصيل اللعبة"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
|
#: src/utils/steam_parser.py:245
|
||||||
|
msgid "Couldn't Import Games"
|
||||||
|
msgstr "تعذَّر استيراد الألعاب"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:81
|
||||||
|
msgid "The Bottles directory cannot be found."
|
||||||
|
msgstr "تعذَّر العثور على مجلَّد بوتلز."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:83
|
||||||
|
msgid "Set Bottles Location"
|
||||||
|
msgstr "عيِّن موضع بوتلز"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:141
|
||||||
|
msgid "No new games were found in the Bottles library."
|
||||||
|
msgstr "لم يُعثر على ألعاب جديدة في مكتبة بوتلز."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
|
msgid "Bottles Games Imported"
|
||||||
|
msgstr "اُستوردت ألعاب بوتلز"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
|
#: src/utils/steam_parser.py:177
|
||||||
|
msgid "Successfully imported 1 game."
|
||||||
|
msgstr "اُستوردت لعبة بنجاح."
|
||||||
|
|
||||||
|
#. The variable is the number of games
|
||||||
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
|
#: src/utils/steam_parser.py:185
|
||||||
|
#, 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:59
|
||||||
|
msgid "Images"
|
||||||
|
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 "تجاهل"
|
||||||
|
|
||||||
|
#: 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:251
|
||||||
|
msgid "No new games were found in the Heroic library."
|
||||||
|
msgstr "لم يُعثر على ألعاب جديدة في مكتبة هِرُوِك."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
|
msgid "Heroic Games Imported"
|
||||||
|
msgstr "اُستوردت ألعاب هِرُوِك"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:168
|
||||||
|
msgid "No new games were found in the Steam library."
|
||||||
|
msgstr "لم يُعثر على ألعاب جديدة في مكتبة ستيم."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
|
msgid "Steam Games Imported"
|
||||||
|
msgstr "اُستوردت ألعاب ستيم"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:246
|
||||||
|
msgid "The Steam directory cannot be found."
|
||||||
|
msgstr "تعذَّر العثور على مجلَّد ستيم."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:248
|
||||||
|
msgid "Set Steam Location"
|
||||||
|
msgstr "عيِّن موضع ستيم"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:265
|
||||||
|
msgid "Importing Games…"
|
||||||
|
msgstr "تُستورد الألعاب…"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:266
|
||||||
|
msgid "Talking to Steam"
|
||||||
|
msgstr "يُتواصل مع ستيم"
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# SOME DESCRIPTIVE TITLE.
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) YEAR kramo
|
||||||
# This file is distributed under the same license as the cartridges package.
|
# This file is distributed under the same license as the Cartridges package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: cartridges\n"
|
"Project-Id-Version: Cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@@ -19,7 +19,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||||
#: src/main.py:116
|
#: src/main.py:115
|
||||||
msgid "Cartridges"
|
msgid "Cartridges"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -42,8 +42,30 @@ msgid ""
|
|||||||
"hiding and sorting by date added or last played."
|
"hiding and sorting by date added or last played."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
msgid "No Games Found"
|
msgid "No Games Found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -51,6 +73,10 @@ msgstr ""
|
|||||||
msgid "Try a different search."
|
msgid "Try a different search."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:14
|
||||||
|
msgid "No Games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:15
|
#: data/gtk/window.blp:15
|
||||||
msgid "Use the + button to add games."
|
msgid "Use the + button to add games."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -63,104 +89,106 @@ msgstr ""
|
|||||||
msgid "Games you hide will appear here."
|
msgid "Games you hide will appear here."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:50
|
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||||
msgid "Game Details"
|
msgid "Back"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:91
|
#: data/gtk/window.blp:92
|
||||||
msgid "Game Title"
|
msgid "Game Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
#: data/gtk/window.blp:148 src/game.py:175
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:256
|
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||||
msgid "Hidden Games"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:314
|
|
||||||
msgid "Sort"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:317
|
|
||||||
msgid "A-Z"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:323
|
|
||||||
msgid "Z-A"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:329
|
|
||||||
msgid "Newest"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:335
|
|
||||||
msgid "Oldest"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:341
|
|
||||||
msgid "Last Played"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:348
|
|
||||||
msgid "Show Hidden"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:356
|
|
||||||
msgid "Preferences"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:361
|
|
||||||
msgid "Keyboard Shortcuts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:366
|
|
||||||
msgid "About Cartridges"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:375
|
|
||||||
msgid "Add Game"
|
msgid "Add Game"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:381
|
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||||
msgid "Import from"
|
msgid "Main Menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:383
|
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||||
msgid "Steam"
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:388
|
#: data/gtk/window.blp:388
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
msgid "Heroic"
|
msgid "Heroic"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:393
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
msgid "Bottles"
|
msgid "Bottles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||||
#: data/gtk/game.blp:106
|
msgid "Title"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
#: data/gtk/game.blp:87
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||||
#: data/gtk/game.blp:116
|
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
#: data/gtk/game.blp:106
|
||||||
msgid "Unhide"
|
msgid "Unhide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
|
||||||
msgid "Title"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:11
|
#: data/gtk/help-overlay.blp:11
|
||||||
msgctxt "shortcut window"
|
msgctxt "shortcut window"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
@@ -219,32 +247,60 @@ msgstr ""
|
|||||||
msgid "Exit After Launching Games"
|
msgid "Exit After Launching Games"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:25
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
msgid "Steam Install Location"
|
msgid "Steam Install Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
#: data/gtk/preferences.blp:78
|
#: data/gtk/preferences.blp:120
|
||||||
msgid "Directory to use when importing games"
|
msgid "Directory to use when importing games"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:39
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
msgid "Heroic Install Location"
|
msgid "Heroic Install Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:49
|
#: data/gtk/preferences.blp:91
|
||||||
msgid "Import Epic Games"
|
msgid "Import Epic Games"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:57
|
#: data/gtk/preferences.blp:99
|
||||||
msgid "Import GOG Games"
|
msgid "Import GOG Games"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:65
|
#: data/gtk/preferences.blp:107
|
||||||
msgid "Import Sideloaded Games"
|
msgid "Import Sideloaded Games"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:77
|
#: data/gtk/preferences.blp:119
|
||||||
msgid "Bottles Install Location"
|
msgid "Bottles Install Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -253,41 +309,45 @@ msgstr ""
|
|||||||
msgid "translator_credits"
|
msgid "translator_credits"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/main.py:195
|
#: src/main.py:193
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{title} removed"
|
msgid "{title} removed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/main.py:196
|
#: src/main.py:194
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:229
|
#: src/window.py:234
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:231
|
#: src/window.py:236
|
||||||
msgid "Yesterday"
|
msgid "Yesterday"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. The variable is the date when the game was added
|
#. The variable is the date when the game was added
|
||||||
#: src/window.py:265
|
#: src/window.py:270
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Added: {date}"
|
msgid "Added: {date}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:270
|
#: src/window.py:275
|
||||||
msgid "Never"
|
msgid "Never"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. The variable is the date when the game was last played
|
#. The variable is the date when the game was last played
|
||||||
#: src/window.py:274
|
#: src/window.py:279
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Last played: {last_played_date}"
|
msgid "Last played: {last_played_date}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/game.py:173
|
||||||
|
msgid "Details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
#: src/utils/steam_parser.py:230
|
#: src/utils/steam_parser.py:245
|
||||||
msgid "Couldn't Import Games"
|
msgid "Couldn't Import Games"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -299,22 +359,22 @@ msgstr ""
|
|||||||
msgid "Set Bottles Location"
|
msgid "Set Bottles Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:143
|
#: src/utils/bottles_parser.py:141
|
||||||
msgid "No new games were found in the Bottles library."
|
msgid "No new games were found in the Bottles library."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
msgid "Bottles Games Imported"
|
msgid "Bottles Games Imported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
#: src/utils/steam_parser.py:164
|
#: src/utils/steam_parser.py:177
|
||||||
msgid "Successfully imported 1 game."
|
msgid "Successfully imported 1 game."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
#: src/utils/steam_parser.py:172
|
#: src/utils/steam_parser.py:185
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully imported {games_no} games."
|
msgid "Successfully imported {games_no} games."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -327,10 +387,6 @@ msgstr ""
|
|||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:48
|
|
||||||
msgid "Edit Game Details"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:57
|
#: src/utils/create_details_window.py:57
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -351,36 +407,41 @@ msgstr ""
|
|||||||
msgid "The developer or publisher (optional)"
|
msgid "The developer or publisher (optional)"
|
||||||
msgstr ""
|
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"
|
msgid "file.txt"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. As in software
|
#. As in software
|
||||||
#: src/utils/create_details_window.py:113
|
#: src/utils/create_details_window.py:114
|
||||||
msgid "program"
|
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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{exe_name}"
|
msgid "C:\\path\\to\\{exe_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{file_name}"
|
msgid "C:\\path\\to\\{file_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "/path/to/{exe_name}"
|
msgid "/path/to/{exe_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "/path/to/{file_name}"
|
msgid "/path/to/{file_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:126
|
#: src/utils/create_details_window.py:131
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||||
@@ -394,38 +455,40 @@ msgid ""
|
|||||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:149
|
#: src/utils/create_details_window.py:154
|
||||||
msgid "Executable"
|
msgid "Executable"
|
||||||
msgstr ""
|
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"
|
msgid "File to open or command to run when launching the game"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:162
|
#: src/utils/create_details_window.py:167
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:217
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:227
|
||||||
|
#: src/utils/create_details_window.py:233
|
||||||
msgid "Couldn't Add Game"
|
msgid "Couldn't Add Game"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:219
|
||||||
#: src/utils/create_details_window.py:239
|
#: 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."
|
msgid "Game title cannot be empty."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:233
|
||||||
#: src/utils/create_details_window.py:247
|
#: src/utils/create_details_window.py:266
|
||||||
msgid "Executable cannot be empty."
|
msgid "Executable cannot be empty."
|
||||||
msgstr ""
|
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
|
#: src/utils/create_dialog.py:25
|
||||||
msgid "Dismiss"
|
msgid "Dismiss"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -438,34 +501,34 @@ msgstr ""
|
|||||||
msgid "Set Heroic Location"
|
msgid "Set Heroic Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:242
|
#: src/utils/heroic_parser.py:251
|
||||||
msgid "No new games were found in the Heroic library."
|
msgid "No new games were found in the Heroic library."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:247 src/utils/heroic_parser.py:254
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
msgid "Heroic Games Imported"
|
msgid "Heroic Games Imported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:158
|
#: src/utils/steam_parser.py:168
|
||||||
msgid "No new games were found in the Steam library."
|
msgid "No new games were found in the Steam library."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:163 src/utils/steam_parser.py:170
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
msgid "Steam Games Imported"
|
msgid "Steam Games Imported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:231
|
#: src/utils/steam_parser.py:246
|
||||||
msgid "The Steam directory cannot be found."
|
msgid "The Steam directory cannot be found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:233
|
#: src/utils/steam_parser.py:248
|
||||||
msgid "Set Steam Location"
|
msgid "Set Steam Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:249
|
#: src/utils/steam_parser.py:265
|
||||||
msgid "Importing Games…"
|
msgid "Importing Games…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:250
|
#: src/utils/steam_parser.py:266
|
||||||
msgid "Talking to Steam"
|
msgid "Talking to Steam"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
550
po/es.po
Normal file
@@ -0,0 +1,550 @@
|
|||||||
|
# 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-26 11:51+0200\n"
|
||||||
|
"PO-Revision-Date: 2023-03-25 13:56+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:115
|
||||||
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Preferencias"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "Primera versión estable"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
|
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
|
||||||
|
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
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr "Importar desde"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr "Steam"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
|
msgid "Heroic"
|
||||||
|
msgstr "Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
|
msgid "Bottles"
|
||||||
|
msgstr "Bottles"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Eliminar"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:106
|
||||||
|
msgid "Unhide"
|
||||||
|
msgstr "Mostrar"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "General"
|
||||||
|
msgstr "General"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:14
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Quit"
|
||||||
|
msgstr "Salir"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:19
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Buscar"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:24
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show preferences"
|
||||||
|
msgstr "Mostrar preferencias"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:29
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Shortcuts"
|
||||||
|
msgstr "Atajos"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:34
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Deshacer"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:39
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Open menu"
|
||||||
|
msgstr "Abrir menú"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:45
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Games"
|
||||||
|
msgstr "Juegos"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:48
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Add new game"
|
||||||
|
msgstr "Añadir juego nuevo"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:53
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show hidden games"
|
||||||
|
msgstr "Mostrar juegos ocultos"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:10
|
||||||
|
msgid "General"
|
||||||
|
msgstr "General"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:13
|
||||||
|
msgid "Exit After Launching Games"
|
||||||
|
msgstr "Salir después de iniciar juegos"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
|
msgid "Steam Install Location"
|
||||||
|
msgstr "Ubicación de la instalación de Steam"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
|
#: data/gtk/preferences.blp:120
|
||||||
|
msgid "Directory to use when importing games"
|
||||||
|
msgstr "Directorio a usar para importar juegos"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Bibliotecas Steam adicionales"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr "Seleccione otros directorios donde tenga instalados juegos de Steam"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Limpiar"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
|
msgid "Heroic Install Location"
|
||||||
|
msgstr "Ubicación de la instalación de Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:91
|
||||||
|
msgid "Import Epic Games"
|
||||||
|
msgstr "Importar juegos de Epic"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:99
|
||||||
|
msgid "Import GOG Games"
|
||||||
|
msgstr "Importar juegos de GOG"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:107
|
||||||
|
msgid "Import Sideloaded Games"
|
||||||
|
msgstr "Importar juegos descargados"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:119
|
||||||
|
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:130
|
||||||
|
msgid "translator_credits"
|
||||||
|
msgstr "Óscar Fernández Díaz <oscfdezdz@tuta.io>"
|
||||||
|
|
||||||
|
#: src/main.py:193
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{title} removed"
|
||||||
|
msgstr "{title} eliminado"
|
||||||
|
|
||||||
|
#: src/main.py:194
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Deshacer"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Detalles del juego"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
|
#: src/utils/steam_parser.py:245
|
||||||
|
msgid "Couldn't Import Games"
|
||||||
|
msgstr "No se pueden importar juegos"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:81
|
||||||
|
msgid "The Bottles directory cannot be found."
|
||||||
|
msgstr "No se encuentra el directorio Bottles."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:83
|
||||||
|
msgid "Set Bottles Location"
|
||||||
|
msgstr "Establecer la ubicación de Bottles"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:141
|
||||||
|
msgid "No new games were found in the Bottles library."
|
||||||
|
msgstr "No se han encontrado juegos nuevos en la biblioteca de Bottles."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
|
msgid "Bottles Games Imported"
|
||||||
|
msgstr "Juegos de Bottles importados"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
|
#: src/utils/steam_parser.py:177
|
||||||
|
msgid "Successfully imported 1 game."
|
||||||
|
msgstr "Importado 1 juego con éxito."
|
||||||
|
|
||||||
|
#. The variable is the number of games
|
||||||
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
|
#: src/utils/steam_parser.py:185
|
||||||
|
#, 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:59
|
||||||
|
msgid "Images"
|
||||||
|
msgstr "Imágenes"
|
||||||
|
|
||||||
|
#: 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"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:88
|
||||||
|
msgid "The Heroic directory cannot be found."
|
||||||
|
msgstr "No se encuentra el directorio Heroic."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:90
|
||||||
|
msgid "Set Heroic Location"
|
||||||
|
msgstr "Establecer ubicación de Heroic"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:251
|
||||||
|
msgid "No new games were found in the Heroic library."
|
||||||
|
msgstr "No se han encontrado juegos nuevos en la biblioteca de Heroic."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
|
msgid "Heroic Games Imported"
|
||||||
|
msgstr "Juegos de Heroic importados"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:168
|
||||||
|
msgid "No new games were found in the Steam library."
|
||||||
|
msgstr "No se han encontrado juegos nuevos en la biblioteca de Steam."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
|
msgid "Steam Games Imported"
|
||||||
|
msgstr "Juegos de Steam importados"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:246
|
||||||
|
msgid "The Steam directory cannot be found."
|
||||||
|
msgstr "No se encuentra el directorio de Steam."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:248
|
||||||
|
msgid "Set Steam Location"
|
||||||
|
msgstr "Establecer ubicación de Steam"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:265
|
||||||
|
msgid "Importing Games…"
|
||||||
|
msgstr "Importando juegos…"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:266
|
||||||
|
msgid "Talking to Steam"
|
||||||
|
msgstr "Hablando con Steam"
|
||||||
555
po/fi.po
Normal file
@@ -0,0 +1,555 @@
|
|||||||
|
# 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.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: cartridges\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||||
|
"PO-Revision-Date: 2023-03-24 21:14+0000\n"
|
||||||
|
"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>\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:115
|
||||||
|
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 ""
|
||||||
|
|
||||||
|
#: 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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Asetukset"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
|
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ä + painiketta pelien lisäämiseen."
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
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
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr "Tuo kohteesta"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr "Steam"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
|
msgid "Heroic"
|
||||||
|
msgstr "Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
|
msgid "Bottles"
|
||||||
|
msgstr "Bottles"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Poista"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:106
|
||||||
|
msgid "Unhide"
|
||||||
|
msgstr "Näytä"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Yleistä"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:14
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Quit"
|
||||||
|
msgstr "Lopeta"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:19
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Etsi"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:24
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show preferences"
|
||||||
|
msgstr "Näytä asetukset"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:29
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Shortcuts"
|
||||||
|
msgstr "Pikanäppäimet"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:34
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Kumoa"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:39
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Open menu"
|
||||||
|
msgstr "Avaa valikko"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:45
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Games"
|
||||||
|
msgstr "Pelit"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:48
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Add new game"
|
||||||
|
msgstr "Lisää uusi peli"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:53
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show hidden games"
|
||||||
|
msgstr "Näytä piilotetut pelit"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:10
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Yleistä"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:13
|
||||||
|
msgid "Exit After Launching Games"
|
||||||
|
msgstr "Poistuminen pelin käynnistämisen jälkeen"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
|
msgid "Steam Install Location"
|
||||||
|
msgstr "Steam asennuspaikka"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
|
#: data/gtk/preferences.blp:120
|
||||||
|
msgid "Directory to use when importing games"
|
||||||
|
msgstr "Hakemisto, jota käytetään pelejä tuotaessa"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Steam lisäkirjastot"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr "Valitse muut hakemistot, joihin Steam-pelit on asennettu"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Tyhjennä"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
|
msgid "Heroic Install Location"
|
||||||
|
msgstr "Heroic asennuspaikka"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:91
|
||||||
|
msgid "Import Epic Games"
|
||||||
|
msgstr "Tuo Epic-pelejä"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:99
|
||||||
|
msgid "Import GOG Games"
|
||||||
|
msgstr "Tuo GOG-pelejä"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:107
|
||||||
|
msgid "Import Sideloaded Games"
|
||||||
|
msgstr "Tuo Sideload-pelejä"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:119
|
||||||
|
msgid "Bottles Install Location"
|
||||||
|
msgstr "Bottles asennuspaikka"
|
||||||
|
|
||||||
|
#. Translators: Replace this with your name for it to show up in the about window
|
||||||
|
#: src/main.py:130
|
||||||
|
msgid "translator_credits"
|
||||||
|
msgstr "Linux Sauna"
|
||||||
|
|
||||||
|
#: src/main.py:193
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{title} removed"
|
||||||
|
msgstr "{title} poistettu"
|
||||||
|
|
||||||
|
#: src/main.py:194
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Kumoa"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Pelin tiedot"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
|
#: src/utils/steam_parser.py:245
|
||||||
|
msgid "Couldn't Import Games"
|
||||||
|
msgstr "Pelejä ei voitu tuoda"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:81
|
||||||
|
msgid "The Bottles directory cannot be found."
|
||||||
|
msgstr "Hakemistoa Bottles ei löydy."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:83
|
||||||
|
msgid "Set Bottles Location"
|
||||||
|
msgstr "Bottles aseta sijainti"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:141
|
||||||
|
msgid "No new games were found in the Bottles library."
|
||||||
|
msgstr "Bottles-kirjastosta ei löytynyt uusia pelejä."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
|
msgid "Bottles Games Imported"
|
||||||
|
msgstr "Bottles pelit on tuotu"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
|
#: src/utils/steam_parser.py:177
|
||||||
|
msgid "Successfully imported 1 game."
|
||||||
|
msgstr "Onnistuneesti tuotu 1 peli."
|
||||||
|
|
||||||
|
#. The variable is the number of games
|
||||||
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
|
#: src/utils/steam_parser.py:185
|
||||||
|
#, 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:59
|
||||||
|
msgid "Images"
|
||||||
|
msgstr "Kuvat"
|
||||||
|
|
||||||
|
#: 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"
|
||||||
|
"Tiedoston \"{file_name}\" avaaminen sovelluksessa oletuksena, 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 "Peruuta"
|
||||||
|
|
||||||
|
#: 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ää"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:88
|
||||||
|
msgid "The Heroic directory cannot be found."
|
||||||
|
msgstr "Heroic-hakemistoa ei löytynyt."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:90
|
||||||
|
msgid "Set Heroic Location"
|
||||||
|
msgstr "Heroic aseta sijainti"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:251
|
||||||
|
msgid "No new games were found in the Heroic library."
|
||||||
|
msgstr "Heroic-kirjastosta ei löytynyt uusia pelejä."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
|
msgid "Heroic Games Imported"
|
||||||
|
msgstr "Heroic-pelit tuotu"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:168
|
||||||
|
msgid "No new games were found in the Steam library."
|
||||||
|
msgstr "Steam-kirjastosta ei löytynyt uusia pelejä."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
|
msgid "Steam Games Imported"
|
||||||
|
msgstr "Steam-pelit tuotu"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:246
|
||||||
|
msgid "The Steam directory cannot be found."
|
||||||
|
msgstr "Steam-hakemistoa ei löydy."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:248
|
||||||
|
msgid "Set Steam Location"
|
||||||
|
msgstr "Steam aseta sijainti"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:265
|
||||||
|
msgid "Importing Games…"
|
||||||
|
msgstr "Pelien tuominen…"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:266
|
||||||
|
msgid "Talking to Steam"
|
||||||
|
msgstr "Yhdistetään Steam kirjastoon"
|
||||||
347
po/fr.po
@@ -2,14 +2,14 @@
|
|||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the cartridges package.
|
# This file is distributed under the same license as the cartridges package.
|
||||||
# "J. Lavoie" <j.lavoie@net-c.ca>, 2023.
|
# "J. Lavoie" <j.lavoie@net-c.ca>, 2023.
|
||||||
# kramo <login@kramo.hu>, 2023.
|
# kramo <contact@kramo.hu>, 2023.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: cartridges\n"
|
"Project-Id-Version: cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||||
"PO-Revision-Date: 2023-03-18 23:40+0000\n"
|
"PO-Revision-Date: 2023-03-26 09:45+0000\n"
|
||||||
"Last-Translator: \"J. Lavoie\" <j.lavoie@net-c.ca>\n"
|
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||||
"Language-Team: French <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: French <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/fr/>\n"
|
"cartridges/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -17,11 +17,11 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 4.16.2-dev\n"
|
"X-Generator: Weblate 4.17-dev\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||||
#: src/main.py:116
|
#: src/main.py:115
|
||||||
msgid "Cartridges"
|
msgid "Cartridges"
|
||||||
msgstr "Cartridges"
|
msgstr "Cartridges"
|
||||||
|
|
||||||
@@ -48,8 +48,30 @@ msgstr ""
|
|||||||
"d'organisation telles que le masquage et le tri par date d'ajout ou de "
|
"d'organisation telles que le masquage et le tri par date d'ajout ou de "
|
||||||
"dernière lecture."
|
"dernière lecture."
|
||||||
|
|
||||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
msgid "Library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: 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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Préférences"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
msgid "No Games Found"
|
msgid "No Games Found"
|
||||||
msgstr "Aucun jeu trouvé"
|
msgstr "Aucun jeu trouvé"
|
||||||
|
|
||||||
@@ -57,6 +79,10 @@ msgstr "Aucun jeu trouvé"
|
|||||||
msgid "Try a different search."
|
msgid "Try a different search."
|
||||||
msgstr "Essayez une autre recherche."
|
msgstr "Essayez une autre recherche."
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:14
|
||||||
|
msgid "No Games"
|
||||||
|
msgstr "Aucun jeu"
|
||||||
|
|
||||||
#: data/gtk/window.blp:15
|
#: data/gtk/window.blp:15
|
||||||
msgid "Use the + button to add games."
|
msgid "Use the + button to add games."
|
||||||
msgstr "Utilisez le bouton + pour ajouter des jeux."
|
msgstr "Utilisez le bouton + pour ajouter des jeux."
|
||||||
@@ -69,104 +95,106 @@ msgstr "Pas de jeux masqués"
|
|||||||
msgid "Games you hide will appear here."
|
msgid "Games you hide will appear here."
|
||||||
msgstr "Les jeux que vous masquez apparaîtront ici."
|
msgstr "Les jeux que vous masquez apparaîtront ici."
|
||||||
|
|
||||||
#: data/gtk/window.blp:50
|
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||||
msgid "Game Details"
|
msgid "Back"
|
||||||
msgstr "Détails du jeu"
|
msgstr "Retour"
|
||||||
|
|
||||||
#: data/gtk/window.blp:91
|
#: data/gtk/window.blp:92
|
||||||
msgid "Game Title"
|
msgid "Game Title"
|
||||||
msgstr "Titre du jeu"
|
msgstr "Titre du jeu"
|
||||||
|
|
||||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
#: data/gtk/window.blp:148 src/game.py:175
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr "Jouer"
|
msgstr "Jouer"
|
||||||
|
|
||||||
#: data/gtk/window.blp:256
|
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||||
msgid "Hidden Games"
|
|
||||||
msgstr "Jeux masqués"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:314
|
|
||||||
msgid "Sort"
|
|
||||||
msgstr "Trier"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:317
|
|
||||||
msgid "A-Z"
|
|
||||||
msgstr "A-Z"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:323
|
|
||||||
msgid "Z-A"
|
|
||||||
msgstr "Z-A"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:329
|
|
||||||
msgid "Newest"
|
|
||||||
msgstr "Le plus récent"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:335
|
|
||||||
msgid "Oldest"
|
|
||||||
msgstr "Le plus ancien"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:341
|
|
||||||
msgid "Last Played"
|
|
||||||
msgstr "Dernière session"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:348
|
|
||||||
msgid "Show Hidden"
|
|
||||||
msgstr "Afficher les masqués"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:356
|
|
||||||
msgid "Preferences"
|
|
||||||
msgstr "Préférences"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:361
|
|
||||||
msgid "Keyboard Shortcuts"
|
|
||||||
msgstr "Raccourcis clavier"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:366
|
|
||||||
msgid "About Cartridges"
|
|
||||||
msgstr "À propos de Cartridges"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:375
|
|
||||||
msgid "Add Game"
|
msgid "Add Game"
|
||||||
msgstr "Ajouter un jeu"
|
msgstr "Ajouter un jeu"
|
||||||
|
|
||||||
#: data/gtk/window.blp:381
|
#: 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
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Rechercher"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:261
|
||||||
|
msgid "Hidden Games"
|
||||||
|
msgstr "Jeux masqués"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:321
|
||||||
|
msgid "Sort"
|
||||||
|
msgstr "Trier"
|
||||||
|
|
||||||
|
#: 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 "Le plus récent"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:342
|
||||||
|
msgid "Oldest"
|
||||||
|
msgstr "Le plus ancien"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:348
|
||||||
|
msgid "Last Played"
|
||||||
|
msgstr "Dernière session"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:355
|
||||||
|
msgid "Show Hidden"
|
||||||
|
msgstr "Afficher les masqués"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:368
|
||||||
|
msgid "Keyboard Shortcuts"
|
||||||
|
msgstr "Raccourcis clavier"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:373
|
||||||
|
msgid "About Cartridges"
|
||||||
|
msgstr "À propos de Cartridges"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:388
|
||||||
msgid "Import from"
|
msgid "Import from"
|
||||||
msgstr "Importer depuis"
|
msgstr "Importer depuis"
|
||||||
|
|
||||||
#: data/gtk/window.blp:383
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
msgid "Steam"
|
msgid "Steam"
|
||||||
msgstr "Steam"
|
msgstr "Steam"
|
||||||
|
|
||||||
#: data/gtk/window.blp:388
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
msgid "Heroic"
|
msgid "Heroic"
|
||||||
msgstr "Heroic"
|
msgstr "Heroic"
|
||||||
|
|
||||||
#: data/gtk/window.blp:393
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
msgid "Bottles"
|
msgid "Bottles"
|
||||||
msgstr "Bottles"
|
msgstr "Bottles"
|
||||||
|
|
||||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||||
#: data/gtk/game.blp:106
|
msgid "Title"
|
||||||
|
msgstr "Titre"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Modifier"
|
msgstr "Modifier"
|
||||||
|
|
||||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
#: data/gtk/game.blp:87
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr "Masquer"
|
msgstr "Masquer"
|
||||||
|
|
||||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||||
#: data/gtk/game.blp:116
|
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Retirer"
|
msgstr "Retirer"
|
||||||
|
|
||||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
#: data/gtk/game.blp:106
|
||||||
msgid "Unhide"
|
msgid "Unhide"
|
||||||
msgstr "Afficher"
|
msgstr "Afficher"
|
||||||
|
|
||||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
|
||||||
msgid "Title"
|
|
||||||
msgstr "Titre"
|
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:11
|
#: data/gtk/help-overlay.blp:11
|
||||||
msgctxt "shortcut window"
|
msgctxt "shortcut window"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
@@ -225,75 +253,109 @@ msgstr "Général"
|
|||||||
msgid "Exit After Launching Games"
|
msgid "Exit After Launching Games"
|
||||||
msgstr "Quitter après avoir lancé les jeux"
|
msgstr "Quitter après avoir lancé les jeux"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:25
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
msgid "Steam Install Location"
|
msgid "Steam Install Location"
|
||||||
msgstr "Emplacement de l'installation de Steam"
|
msgstr "Emplacement de l'installation de Steam"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
#: data/gtk/preferences.blp:78
|
#: data/gtk/preferences.blp:120
|
||||||
msgid "Directory to use when importing games"
|
msgid "Directory to use when importing games"
|
||||||
msgstr "Répertoire à utiliser lors de l'importation de jeux"
|
msgstr "Répertoire à utiliser lors de l'importation de jeux"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:39
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Bibliothèque Steam supplémentaires"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
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:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Vider"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
msgid "Heroic Install Location"
|
msgid "Heroic Install Location"
|
||||||
msgstr "Emplacement de l'installation Heroic"
|
msgstr "Emplacement de l'installation Heroic"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:49
|
#: data/gtk/preferences.blp:91
|
||||||
msgid "Import Epic Games"
|
msgid "Import Epic Games"
|
||||||
msgstr "Importer Epic Games"
|
msgstr "Importer Epic Games"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:57
|
#: data/gtk/preferences.blp:99
|
||||||
msgid "Import GOG Games"
|
msgid "Import GOG Games"
|
||||||
msgstr "Importer des jeux GOG"
|
msgstr "Importer des jeux GOG"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:65
|
#: data/gtk/preferences.blp:107
|
||||||
msgid "Import Sideloaded Games"
|
msgid "Import Sideloaded Games"
|
||||||
msgstr "Importer des jeux Sideloaded"
|
msgstr "Importer des jeux Sideloaded"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:77
|
#: data/gtk/preferences.blp:119
|
||||||
msgid "Bottles Install Location"
|
msgid "Bottles Install Location"
|
||||||
msgstr "Emplacement de l'installation Bottles"
|
msgstr "Emplacement de l'installation Bottles"
|
||||||
|
|
||||||
#. Translators: Replace this with your name for it to show up in the about window
|
#. Translators: Replace this with your name for it to show up in the about window
|
||||||
#: src/main.py:130
|
#: src/main.py:130
|
||||||
msgid "translator_credits"
|
msgid "translator_credits"
|
||||||
msgstr ""
|
msgstr "Irénée Thirion"
|
||||||
|
|
||||||
#: src/main.py:195
|
#: src/main.py:193
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{title} removed"
|
msgid "{title} removed"
|
||||||
msgstr "retiré"
|
msgstr "{title} retiré"
|
||||||
|
|
||||||
#: src/main.py:196
|
#: src/main.py:194
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Annuler"
|
msgstr "Annuler"
|
||||||
|
|
||||||
#: src/window.py:229
|
#: src/window.py:234
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Aujourd'hui"
|
msgstr "Aujourd'hui"
|
||||||
|
|
||||||
#: src/window.py:231
|
#: src/window.py:236
|
||||||
msgid "Yesterday"
|
msgid "Yesterday"
|
||||||
msgstr "Hier"
|
msgstr "Hier"
|
||||||
|
|
||||||
#. The variable is the date when the game was added
|
#. The variable is the date when the game was added
|
||||||
#: src/window.py:265
|
|
||||||
#, fuzzy, python-brace-format
|
|
||||||
msgid "Added: {date}"
|
|
||||||
msgstr "Ajouté :"
|
|
||||||
|
|
||||||
#: src/window.py:270
|
#: src/window.py:270
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Added: {date}"
|
||||||
|
msgstr "Ajouté : {date}"
|
||||||
|
|
||||||
|
#: src/window.py:275
|
||||||
msgid "Never"
|
msgid "Never"
|
||||||
msgstr ""
|
msgstr "Jamais"
|
||||||
|
|
||||||
#. The variable is the date when the game was last played
|
#. The variable is the date when the game was last played
|
||||||
#: src/window.py:274
|
#: src/window.py:279
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Last played: {last_played_date}"
|
msgid "Last played: {last_played_date}"
|
||||||
msgstr "Dernière session : Jamais"
|
msgstr "Dernière session : {last_played_date}"
|
||||||
|
|
||||||
|
#: src/game.py:173
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Détails du jeu"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
#: src/utils/steam_parser.py:230
|
#: src/utils/steam_parser.py:245
|
||||||
msgid "Couldn't Import Games"
|
msgid "Couldn't Import Games"
|
||||||
msgstr "Impossible d'importer des jeux"
|
msgstr "Impossible d'importer des jeux"
|
||||||
|
|
||||||
@@ -305,25 +367,25 @@ msgstr "Le répertoire Bottles est introuvable."
|
|||||||
msgid "Set Bottles Location"
|
msgid "Set Bottles Location"
|
||||||
msgstr "Définir l'emplacement de Bottles"
|
msgstr "Définir l'emplacement de Bottles"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:143
|
#: src/utils/bottles_parser.py:141
|
||||||
msgid "No new games were found in the Bottles library."
|
msgid "No new games were found in the Bottles library."
|
||||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Bottles."
|
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Bottles."
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
msgid "Bottles Games Imported"
|
msgid "Bottles Games Imported"
|
||||||
msgstr "Jeux Bottles importés"
|
msgstr "Jeux Bottles importés"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
#: src/utils/steam_parser.py:164
|
#: src/utils/steam_parser.py:177
|
||||||
msgid "Successfully imported 1 game."
|
msgid "Successfully imported 1 game."
|
||||||
msgstr "Importation réussie de 1 jeu."
|
msgstr "Importation réussie de 1 jeu."
|
||||||
|
|
||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
#: src/utils/steam_parser.py:172
|
#: src/utils/steam_parser.py:185
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully imported {games_no} games."
|
msgid "Successfully imported {games_no} games."
|
||||||
msgstr "Importation réussie de 1 jeu."
|
msgstr "Importation réussie de {games_no} jeux."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:41
|
#: src/utils/create_details_window.py:41
|
||||||
msgid "Add New Game"
|
msgid "Add New Game"
|
||||||
@@ -333,10 +395,6 @@ msgstr "Ajouter un nouveau jeu"
|
|||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmer"
|
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
|
#: src/utils/create_details_window.py:57
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr "Appliquer"
|
msgstr "Appliquer"
|
||||||
@@ -357,36 +415,41 @@ msgstr "Développeur"
|
|||||||
msgid "The developer or publisher (optional)"
|
msgid "The developer or publisher (optional)"
|
||||||
msgstr "Le développeur ou l'éditeur (facultatif)"
|
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"
|
msgid "file.txt"
|
||||||
msgstr ""
|
msgstr "ficher.txt"
|
||||||
|
|
||||||
#. As in software
|
#. As in software
|
||||||
#: src/utils/create_details_window.py:113
|
#: src/utils/create_details_window.py:114
|
||||||
msgid "program"
|
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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{exe_name}"
|
msgid "C:\\path\\to\\{exe_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{file_name}"
|
msgid "C:\\path\\to\\{file_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "/path/to/{exe_name}"
|
msgid "/path/to/{exe_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "/path/to/{file_name}"
|
msgid "/path/to/{file_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:126
|
#: src/utils/create_details_window.py:131
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||||
@@ -400,38 +463,40 @@ msgid ""
|
|||||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:149
|
#: src/utils/create_details_window.py:154
|
||||||
msgid "Executable"
|
msgid "Executable"
|
||||||
msgstr "Exécutable"
|
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"
|
msgid "File to open or command to run when launching the game"
|
||||||
msgstr "Fichier à ouvrir ou commande à exécuter au lancement du jeu"
|
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"
|
msgid "Cancel"
|
||||||
msgstr "Annuler"
|
msgstr "Annuler"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:217
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:227
|
||||||
|
#: src/utils/create_details_window.py:233
|
||||||
msgid "Couldn't Add Game"
|
msgid "Couldn't Add Game"
|
||||||
msgstr "Impossible d'ajouter un jeu"
|
msgstr "Impossible d'ajouter un jeu"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:219
|
||||||
#: src/utils/create_details_window.py:239
|
#: 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."
|
msgid "Game title cannot be empty."
|
||||||
msgstr "Le titre du jeu ne peut pas être vide."
|
msgstr "Le titre du jeu ne peut pas être vide."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:233
|
||||||
#: src/utils/create_details_window.py:247
|
#: src/utils/create_details_window.py:266
|
||||||
msgid "Executable cannot be empty."
|
msgid "Executable cannot be empty."
|
||||||
msgstr "L'exécutable ne peut pas être vide."
|
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
|
#: src/utils/create_dialog.py:25
|
||||||
msgid "Dismiss"
|
msgid "Dismiss"
|
||||||
msgstr "Rejeter"
|
msgstr "Rejeter"
|
||||||
@@ -444,37 +509,35 @@ msgstr "Le répertoire Heroic est introuvable."
|
|||||||
msgid "Set Heroic Location"
|
msgid "Set Heroic Location"
|
||||||
msgstr "Définir l'emplacement Heroic"
|
msgstr "Définir l'emplacement Heroic"
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:242
|
#: src/utils/heroic_parser.py:251
|
||||||
msgid "No new games were found in the Heroic library."
|
msgid "No new games were found in the Heroic library."
|
||||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Heroic."
|
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Heroic."
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:247 src/utils/heroic_parser.py:254
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
msgid "Heroic Games Imported"
|
msgid "Heroic Games Imported"
|
||||||
msgstr "Jeux Heroic importés"
|
msgstr "Jeux Heroic importés"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:158
|
#: src/utils/steam_parser.py:168
|
||||||
msgid "No new games were found in the Steam library."
|
msgid "No new games were found in the Steam library."
|
||||||
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Steam."
|
msgstr "Aucun nouveau jeu n'a été trouvé dans la bibliothèque Steam."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:163 src/utils/steam_parser.py:170
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
msgid "Steam Games Imported"
|
msgid "Steam Games Imported"
|
||||||
msgstr "Jeux Steam importés"
|
msgstr "Jeux Steam importés"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:231
|
#: src/utils/steam_parser.py:246
|
||||||
msgid "The Steam directory cannot be found."
|
msgid "The Steam directory cannot be found."
|
||||||
msgstr "Le répertoire Steam est introuvable."
|
msgstr "Le répertoire Steam est introuvable."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:233
|
#: src/utils/steam_parser.py:248
|
||||||
msgid "Set Steam Location"
|
msgid "Set Steam Location"
|
||||||
msgstr "Définir l'emplacement Steam"
|
msgstr "Définir l'emplacement Steam"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:249
|
#: src/utils/steam_parser.py:265
|
||||||
#, fuzzy
|
|
||||||
msgid "Importing Games…"
|
msgid "Importing Games…"
|
||||||
msgstr "Importation de jeux…"
|
msgstr "Importation des jeux…"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:250
|
#: src/utils/steam_parser.py:266
|
||||||
#, fuzzy
|
|
||||||
msgid "Talking to Steam"
|
msgid "Talking to Steam"
|
||||||
msgstr "Parler à Steam"
|
msgstr "Parler à Steam"
|
||||||
|
|
||||||
|
|||||||
349
po/hu.po
@@ -1,16 +1,16 @@
|
|||||||
# Cartridges - Hungarian Translation
|
# SOME DESCRIPTIVE TITLE.
|
||||||
# Copyright (C) 2022 kramo
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the cartridges package.
|
# This file is distributed under the same license as the cartridges package.
|
||||||
# kramo, 2023.
|
# kramo, 2023.
|
||||||
#
|
#
|
||||||
# kramo <login@kramo.hu>, 2023.
|
# kramo <contact@kramo.hu>, 2023.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||||
"PO-Revision-Date: 2023-03-19 12:05+0000\n"
|
"PO-Revision-Date: 2023-03-26 09:45+0000\n"
|
||||||
"Last-Translator: kramo <login@kramo.hu>\n"
|
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: Hungarian <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/hu/>\n"
|
"cartridges/hu/>\n"
|
||||||
"Language: hu\n"
|
"Language: hu\n"
|
||||||
@@ -18,11 +18,11 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.16.2-dev\n"
|
"X-Generator: Weblate 4.17-dev\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||||
#: src/main.py:116
|
#: src/main.py:115
|
||||||
msgid "Cartridges"
|
msgid "Cartridges"
|
||||||
msgstr "Kazetták"
|
msgstr "Kazetták"
|
||||||
|
|
||||||
@@ -45,10 +45,32 @@ msgid ""
|
|||||||
"hiding and sorting by date added or last played."
|
"hiding and sorting by date added or last played."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A Kazetták egy egyszerű játékindító. Támogatja a Steam-ből, Heroic-ból és "
|
"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 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
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 Részleteinek Szerkesztése"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||||
|
msgid "Game Details"
|
||||||
|
msgstr "Játék Részletei"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||||
|
#: src/utils/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Beállítások"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "Első stabil kiadás"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
msgid "No Games Found"
|
msgid "No Games Found"
|
||||||
msgstr "Nem Találhatóak Játékok"
|
msgstr "Nem Találhatóak Játékok"
|
||||||
|
|
||||||
@@ -56,6 +78,10 @@ msgstr "Nem Találhatóak Játékok"
|
|||||||
msgid "Try a different search."
|
msgid "Try a different search."
|
||||||
msgstr "Próbálkozz más kereséssel."
|
msgstr "Próbálkozz más kereséssel."
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:14
|
||||||
|
msgid "No Games"
|
||||||
|
msgstr "Nincsenek Játékok"
|
||||||
|
|
||||||
#: data/gtk/window.blp:15
|
#: data/gtk/window.blp:15
|
||||||
msgid "Use the + button to add games."
|
msgid "Use the + button to add games."
|
||||||
msgstr "Használd a + gombot a játékok hozzáadásához."
|
msgstr "Használd a + gombot a játékok hozzáadásához."
|
||||||
@@ -68,104 +94,106 @@ msgstr "Nincsenek Rejtett Játékok"
|
|||||||
msgid "Games you hide will appear here."
|
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ók."
|
||||||
|
|
||||||
#: data/gtk/window.blp:50
|
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||||
msgid "Game Details"
|
msgid "Back"
|
||||||
msgstr "Játék Részletei"
|
msgstr "Vissza"
|
||||||
|
|
||||||
#: data/gtk/window.blp:91
|
#: data/gtk/window.blp:92
|
||||||
msgid "Game Title"
|
msgid "Game Title"
|
||||||
msgstr "Cím"
|
msgstr "Cím"
|
||||||
|
|
||||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
#: data/gtk/window.blp:148 src/game.py:175
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr "Játék"
|
msgstr "Játék"
|
||||||
|
|
||||||
#: data/gtk/window.blp:256
|
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||||
msgid "Hidden Games"
|
|
||||||
msgstr "Rejtett Játékok"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:314
|
|
||||||
msgid "Sort"
|
|
||||||
msgstr "Rendezés"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:317
|
|
||||||
msgid "A-Z"
|
|
||||||
msgstr "A-Z"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:323
|
|
||||||
msgid "Z-A"
|
|
||||||
msgstr "Z-A"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:329
|
|
||||||
msgid "Newest"
|
|
||||||
msgstr "Legújabb"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:335
|
|
||||||
msgid "Oldest"
|
|
||||||
msgstr "Legrégebbi"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:341
|
|
||||||
msgid "Last Played"
|
|
||||||
msgstr "Legutóbb játszott"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:348
|
|
||||||
msgid "Show Hidden"
|
|
||||||
msgstr "Rejtett Játékok"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:356
|
|
||||||
msgid "Preferences"
|
|
||||||
msgstr "Beállítások"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:361
|
|
||||||
msgid "Keyboard Shortcuts"
|
|
||||||
msgstr "Billentyűparancsok"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:366
|
|
||||||
msgid "About Cartridges"
|
|
||||||
msgstr "A Kazettákról"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:375
|
|
||||||
msgid "Add Game"
|
msgid "Add Game"
|
||||||
msgstr "Játék Hozzáadása"
|
msgstr "Játék Hozzáadása"
|
||||||
|
|
||||||
#: data/gtk/window.blp:381
|
#: 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
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Keresés"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:261
|
||||||
|
msgid "Hidden Games"
|
||||||
|
msgstr "Rejtett Játékok"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:321
|
||||||
|
msgid "Sort"
|
||||||
|
msgstr "Rendezés"
|
||||||
|
|
||||||
|
#: 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 "Legújabb"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:342
|
||||||
|
msgid "Oldest"
|
||||||
|
msgstr "Legrégebbi"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:348
|
||||||
|
msgid "Last Played"
|
||||||
|
msgstr "Legutóbb játszott"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:355
|
||||||
|
msgid "Show Hidden"
|
||||||
|
msgstr "Rejtett Játékok"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:368
|
||||||
|
msgid "Keyboard Shortcuts"
|
||||||
|
msgstr "Billentyűparancsok"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:373
|
||||||
|
msgid "About Cartridges"
|
||||||
|
msgstr "A Kazettákról"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:388
|
||||||
msgid "Import from"
|
msgid "Import from"
|
||||||
msgstr "Importálás innen"
|
msgstr "Importálás innen"
|
||||||
|
|
||||||
#: data/gtk/window.blp:383
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
msgid "Steam"
|
msgid "Steam"
|
||||||
msgstr "Steam"
|
msgstr "Steam"
|
||||||
|
|
||||||
#: data/gtk/window.blp:388
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
msgid "Heroic"
|
msgid "Heroic"
|
||||||
msgstr "Heroic"
|
msgstr "Heroic"
|
||||||
|
|
||||||
#: data/gtk/window.blp:393
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
msgid "Bottles"
|
msgid "Bottles"
|
||||||
msgstr "Bottles"
|
msgstr "Palackok"
|
||||||
|
|
||||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||||
#: data/gtk/game.blp:106
|
msgid "Title"
|
||||||
|
msgstr "Cím"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Szerkeszt"
|
msgstr "Szerkeszt"
|
||||||
|
|
||||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
#: data/gtk/game.blp:87
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr "Elrejt"
|
msgstr "Elrejt"
|
||||||
|
|
||||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||||
#: data/gtk/game.blp:116
|
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Eltávolít"
|
msgstr "Eltávolít"
|
||||||
|
|
||||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
#: data/gtk/game.blp:106
|
||||||
msgid "Unhide"
|
msgid "Unhide"
|
||||||
msgstr "Mutat"
|
msgstr "Mutat"
|
||||||
|
|
||||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
|
||||||
msgid "Title"
|
|
||||||
msgstr "Cím"
|
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:11
|
#: data/gtk/help-overlay.blp:11
|
||||||
msgctxt "shortcut window"
|
msgctxt "shortcut window"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
@@ -224,105 +252,137 @@ msgstr "Általános"
|
|||||||
msgid "Exit After Launching Games"
|
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:25
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr "A Borítókép Indítja el A Játékot"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
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 viselkedését"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr "Jó Minőségű Képek"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
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:43
|
||||||
msgid "Steam Install Location"
|
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:40
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
#: data/gtk/preferences.blp:78
|
#: data/gtk/preferences.blp:120
|
||||||
msgid "Directory to use when importing games"
|
msgid "Directory to use when importing games"
|
||||||
msgstr "Az importáláskor használatos mappa"
|
msgstr "Az importáláskor használatos mappa"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:39
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Extra Steam Könyvtárak"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
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:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Törlés"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
msgid "Heroic Install Location"
|
msgid "Heroic Install Location"
|
||||||
msgstr "Heroic Telepítés Helye"
|
msgstr "Heroic Telepítés Helye"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:49
|
#: data/gtk/preferences.blp:91
|
||||||
msgid "Import Epic Games"
|
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:57
|
#: data/gtk/preferences.blp:99
|
||||||
msgid "Import GOG Games"
|
msgid "Import GOG Games"
|
||||||
msgstr "GOG Játékok Importálása"
|
msgstr "GOG Játékok Importálása"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:65
|
#: data/gtk/preferences.blp:107
|
||||||
msgid "Import Sideloaded Games"
|
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:77
|
#: data/gtk/preferences.blp:119
|
||||||
msgid "Bottles Install Location"
|
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
|
#. Translators: Replace this with your name for it to show up in the about window
|
||||||
#: src/main.py:130
|
#: src/main.py:130
|
||||||
msgid "translator_credits"
|
msgid "translator_credits"
|
||||||
msgstr "kramo https://kramo.hu"
|
msgstr "kramo https://kramo.hu"
|
||||||
|
|
||||||
#: src/main.py:195
|
#: src/main.py:193
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{title} removed"
|
msgid "{title} removed"
|
||||||
msgstr "eltávolítva"
|
msgstr "{title} eltávolítva"
|
||||||
|
|
||||||
#: src/main.py:196
|
#: src/main.py:194
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Visszavonás"
|
msgstr "Visszavonás"
|
||||||
|
|
||||||
#: src/window.py:229
|
#: src/window.py:234
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Ma"
|
msgstr "Ma"
|
||||||
|
|
||||||
#: src/window.py:231
|
#: src/window.py:236
|
||||||
msgid "Yesterday"
|
msgid "Yesterday"
|
||||||
msgstr "Tegnap"
|
msgstr "Tegnap"
|
||||||
|
|
||||||
#. The variable is the date when the game was added
|
#. The variable is the date when the game was added
|
||||||
#: src/window.py:265
|
|
||||||
#, fuzzy, python-brace-format
|
|
||||||
msgid "Added: {date}"
|
|
||||||
msgstr "Hozzáadva:"
|
|
||||||
|
|
||||||
#: src/window.py:270
|
#: src/window.py:270
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Added: {date}"
|
||||||
|
msgstr "Hozzáadva: {date}"
|
||||||
|
|
||||||
|
#: src/window.py:275
|
||||||
msgid "Never"
|
msgid "Never"
|
||||||
msgstr "Soha"
|
msgstr "Soha"
|
||||||
|
|
||||||
#. The variable is the date when the game was last played
|
#. The variable is the date when the game was last played
|
||||||
#: src/window.py:274
|
#: src/window.py:279
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Last played: {last_played_date}"
|
msgid "Last played: {last_played_date}"
|
||||||
msgstr "Legutóbbi játékmenet: {last_played_date}"
|
msgstr "Legutóbbi játékmenet: {last_played_date}"
|
||||||
|
|
||||||
|
#: src/game.py:173
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Részletek"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
#: src/utils/steam_parser.py:230
|
#: src/utils/steam_parser.py:245
|
||||||
msgid "Couldn't Import Games"
|
msgid "Couldn't Import Games"
|
||||||
msgstr "Nem Lehet Importálni a Játékot"
|
msgstr "Nem Lehet Importálni a Játékot"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:81
|
#: src/utils/bottles_parser.py:81
|
||||||
msgid "The Bottles directory cannot be found."
|
msgid "The Bottles directory cannot be found."
|
||||||
msgstr "A Bottles mappa nem található."
|
msgstr "A Palackok mappa nem található."
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:83
|
#: src/utils/bottles_parser.py:83
|
||||||
msgid "Set Bottles Location"
|
msgid "Set Bottles Location"
|
||||||
msgstr "Bottles Mappa Kiválasztása"
|
msgstr "Palackok Mappa Kiválasztása"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:143
|
#: src/utils/bottles_parser.py:141
|
||||||
msgid "No new games were found in the Bottles library."
|
msgid "No new games were found in the Bottles library."
|
||||||
msgstr "Nem találhatók új játékok a Bottles könyvtárban."
|
msgstr "Nem találhatók új játékok a Palackok könyvtárban."
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
msgid "Bottles Games Imported"
|
msgid "Bottles Games Imported"
|
||||||
msgstr "Bottles Játékok Importálva"
|
msgstr "Palackok Játékok Importálva"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
#: src/utils/steam_parser.py:164
|
#: src/utils/steam_parser.py:177
|
||||||
msgid "Successfully imported 1 game."
|
msgid "Successfully imported 1 game."
|
||||||
msgstr "1 játék sikeresen importálva."
|
msgstr "1 játék sikeresen importálva."
|
||||||
|
|
||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
#: src/utils/steam_parser.py:172
|
#: src/utils/steam_parser.py:185
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully imported {games_no} games."
|
msgid "Successfully imported {games_no} games."
|
||||||
msgstr "{str(games_no)} játék sikeresen importálva."
|
msgstr "{games_no} játék sikeresen importálva."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:41
|
#: src/utils/create_details_window.py:41
|
||||||
msgid "Add New Game"
|
msgid "Add New Game"
|
||||||
@@ -332,10 +392,6 @@ msgstr "Új Játék Hozzáadása"
|
|||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Megerősít"
|
msgstr "Megerősít"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:48
|
|
||||||
msgid "Edit Game Details"
|
|
||||||
msgstr "Játék Részleteinek Szerkesztése"
|
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:57
|
#: src/utils/create_details_window.py:57
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr "Alkalmaz"
|
msgstr "Alkalmaz"
|
||||||
@@ -356,36 +412,41 @@ msgstr "Fejlesztő"
|
|||||||
msgid "The developer or publisher (optional)"
|
msgid "The developer or publisher (optional)"
|
||||||
msgstr "A fejlesztő vagy kiadó (nem kötelező)"
|
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"
|
msgid "file.txt"
|
||||||
msgstr "fájl.txt"
|
msgstr "fájl.txt"
|
||||||
|
|
||||||
#. As in software
|
#. As in software
|
||||||
#: src/utils/create_details_window.py:113
|
#: src/utils/create_details_window.py:114
|
||||||
msgid "program"
|
msgid "program"
|
||||||
msgstr "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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{exe_name}"
|
msgid "C:\\path\\to\\{exe_name}"
|
||||||
msgstr "C:\\útvonal\\a\\programhoz\\{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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{file_name}"
|
msgid "C:\\path\\to\\{file_name}"
|
||||||
msgstr "C:\\útvonal\\a\\fájlhoz\\{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
|
#, python-brace-format
|
||||||
msgid "/path/to/{exe_name}"
|
msgid "/path/to/{exe_name}"
|
||||||
msgstr "/útvonal/a/programhoz/{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
|
#, python-brace-format
|
||||||
msgid "/path/to/{file_name}"
|
msgid "/path/to/{file_name}"
|
||||||
msgstr "/útvonal/a/fájlhoz/{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
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||||
@@ -409,38 +470,40 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Ha az elérési útvonalban szóközök vannak, rakd az útvonalat idézőjelek közé!"
|
"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"
|
msgid "Executable"
|
||||||
msgstr "Program"
|
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"
|
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"
|
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"
|
msgid "Cancel"
|
||||||
msgstr "Mégse"
|
msgstr "Mégse"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:217
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:227
|
||||||
|
#: src/utils/create_details_window.py:233
|
||||||
msgid "Couldn't Add Game"
|
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:219
|
||||||
#: src/utils/create_details_window.py:239
|
#: 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."
|
msgid "Game title cannot be empty."
|
||||||
msgstr "A cím nem lehet üres."
|
msgstr "A cím nem lehet üres."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:233
|
||||||
#: src/utils/create_details_window.py:247
|
#: src/utils/create_details_window.py:266
|
||||||
msgid "Executable cannot be empty."
|
msgid "Executable cannot be empty."
|
||||||
msgstr "A program nem lehet üres."
|
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
|
#: src/utils/create_dialog.py:25
|
||||||
msgid "Dismiss"
|
msgid "Dismiss"
|
||||||
msgstr "Rendben"
|
msgstr "Rendben"
|
||||||
@@ -453,35 +516,35 @@ msgstr "A Heroic mappa nem található."
|
|||||||
msgid "Set Heroic Location"
|
msgid "Set Heroic Location"
|
||||||
msgstr "Heroic Mappa Kiválasztása"
|
msgstr "Heroic Mappa Kiválasztása"
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:242
|
#: src/utils/heroic_parser.py:251
|
||||||
msgid "No new games were found in the Heroic library."
|
msgid "No new games were found in the Heroic library."
|
||||||
msgstr "Nem találhatók új játékok a Heroic könyvtárban."
|
msgstr "Nem találhatók új játékok a Heroic könyvtárban."
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:247 src/utils/heroic_parser.py:254
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
msgid "Heroic Games Imported"
|
msgid "Heroic Games Imported"
|
||||||
msgstr "Heroic Játékok Importálva"
|
msgstr "Heroic Játékok Importálva"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:158
|
#: src/utils/steam_parser.py:168
|
||||||
msgid "No new games were found in the Steam library."
|
msgid "No new games were found in the Steam library."
|
||||||
msgstr "Nem találhatók új játékok a Steam könyvtárban."
|
msgstr "Nem találhatók új játékok a Steam könyvtárban."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:163 src/utils/steam_parser.py:170
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
msgid "Steam Games Imported"
|
msgid "Steam Games Imported"
|
||||||
msgstr "Steam Játékok Importálva"
|
msgstr "Steam Játékok Importálva"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:231
|
#: src/utils/steam_parser.py:246
|
||||||
msgid "The Steam directory cannot be found."
|
msgid "The Steam directory cannot be found."
|
||||||
msgstr "A Steam mappa nem található."
|
msgstr "A Steam mappa nem található."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:233
|
#: src/utils/steam_parser.py:248
|
||||||
msgid "Set Steam Location"
|
msgid "Set Steam Location"
|
||||||
msgstr "Steam Mappa Kiválasztása"
|
msgstr "Steam Mappa Kiválasztása"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:249
|
#: src/utils/steam_parser.py:265
|
||||||
msgid "Importing Games…"
|
msgid "Importing Games…"
|
||||||
msgstr "Játékok Importálása…"
|
msgstr "Játékok Importálása…"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:250
|
#: src/utils/steam_parser.py:266
|
||||||
msgid "Talking to Steam"
|
msgid "Talking to Steam"
|
||||||
msgstr "Beszélgetés a Steammel"
|
msgstr "Beszélgetés a Steammel"
|
||||||
|
|
||||||
|
|||||||
549
po/it.po
Normal file
@@ -0,0 +1,549 @@
|
|||||||
|
# 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-26 11:51+0200\n"
|
||||||
|
"PO-Revision-Date: 2023-03-25 17:57+0000\n"
|
||||||
|
"Last-Translator: albanobattistella <albano_battistella@hotmail.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:115
|
||||||
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Preferenze"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "Prima versione stabile"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
|
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
|
||||||
|
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
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr "Importa da"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr "Steam"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
|
msgid "Heroic"
|
||||||
|
msgstr "Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
|
msgid "Bottles"
|
||||||
|
msgstr "Bottles"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Rimuovi"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:106
|
||||||
|
msgid "Unhide"
|
||||||
|
msgstr "Mostra"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Generale"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:14
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Quit"
|
||||||
|
msgstr "Chiudi"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:19
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Cerca"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:24
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show preferences"
|
||||||
|
msgstr "Mostra preferenze"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:29
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Shortcuts"
|
||||||
|
msgstr "Scorciatoie da tastiera"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:34
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Annulla"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:39
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Open menu"
|
||||||
|
msgstr "Apri il menù"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:45
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Games"
|
||||||
|
msgstr "Giochi"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:48
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Add new game"
|
||||||
|
msgstr "Aggiungi un nuovo gioco"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:53
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show hidden games"
|
||||||
|
msgstr "Mostra giochi nascosti"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:10
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Generale"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:13
|
||||||
|
msgid "Exit After Launching Games"
|
||||||
|
msgstr "Esci dopo l'avvio dei giochi"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
|
msgid "Steam Install Location"
|
||||||
|
msgstr "Percorso Installazione Steam"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
|
#: data/gtk/preferences.blp:120
|
||||||
|
msgid "Directory to use when importing games"
|
||||||
|
msgstr "Cartella da usare per importare i giochi"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Librerie Steam Extra"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
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:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Cancella"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
|
msgid "Heroic Install Location"
|
||||||
|
msgstr "Percorso Installazione Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:91
|
||||||
|
msgid "Import Epic Games"
|
||||||
|
msgstr "Importa giochi da Epic Games"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:99
|
||||||
|
msgid "Import GOG Games"
|
||||||
|
msgstr "Importa giochi da GOG"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:107
|
||||||
|
msgid "Import Sideloaded Games"
|
||||||
|
msgstr "Importa giochi da aggiunti manualmente"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:119
|
||||||
|
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:130
|
||||||
|
msgid "translator_credits"
|
||||||
|
msgstr "Alessandro Iepure https://ale.iepure.me"
|
||||||
|
|
||||||
|
#: src/main.py:193
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{title} removed"
|
||||||
|
msgstr "{title} rimosso"
|
||||||
|
|
||||||
|
#: src/main.py:194
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Annulla"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Dettagli del gioco"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
|
#: src/utils/steam_parser.py:245
|
||||||
|
msgid "Couldn't Import Games"
|
||||||
|
msgstr "Non è stato possibile importare i giochi"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:81
|
||||||
|
msgid "The Bottles directory cannot be found."
|
||||||
|
msgstr "Non è possibile trovare il percorso per Bottles."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:83
|
||||||
|
msgid "Set Bottles Location"
|
||||||
|
msgstr "Imposta il percorso per Bottles"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:141
|
||||||
|
msgid "No new games were found in the Bottles library."
|
||||||
|
msgstr "Nessun nuovo gioco trovato nella libreria di Bottles."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
|
msgid "Bottles Games Imported"
|
||||||
|
msgstr "Importati giochi da Bottles"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
|
#: src/utils/steam_parser.py:177
|
||||||
|
msgid "Successfully imported 1 game."
|
||||||
|
msgstr "Un gioco importato con successo."
|
||||||
|
|
||||||
|
#. The variable is the number of games
|
||||||
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
|
#: src/utils/steam_parser.py:185
|
||||||
|
#, 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:59
|
||||||
|
msgid "Images"
|
||||||
|
msgstr "Immagini"
|
||||||
|
|
||||||
|
#: 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"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:88
|
||||||
|
msgid "The Heroic directory cannot be found."
|
||||||
|
msgstr "Non è possibile trovare il percorso per Heroic."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:90
|
||||||
|
msgid "Set Heroic Location"
|
||||||
|
msgstr "Imposta il percorso per Heroic"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:251
|
||||||
|
msgid "No new games were found in the Heroic library."
|
||||||
|
msgstr "Nessun nuovo gioco trovato nella libreria di Heroic."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
|
msgid "Heroic Games Imported"
|
||||||
|
msgstr "Importati giochi da Heroic"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:168
|
||||||
|
msgid "No new games were found in the Steam library."
|
||||||
|
msgstr "Nessun nuovo gioco trovato nella libreria di Steam."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
|
msgid "Steam Games Imported"
|
||||||
|
msgstr "Importati giochi da Steam"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:246
|
||||||
|
msgid "The Steam directory cannot be found."
|
||||||
|
msgstr "Non è possibile trovare il percorso per Steam."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:248
|
||||||
|
msgid "Set Steam Location"
|
||||||
|
msgstr "Imposta il percorso per Steam"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:265
|
||||||
|
msgid "Importing Games…"
|
||||||
|
msgstr "Import dei giochi in corso…"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:266
|
||||||
|
msgid "Talking to Steam"
|
||||||
|
msgstr "Parlando con Steam"
|
||||||
377
po/nb_NO.po
@@ -1,14 +1,15 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# SOME DESCRIPTIVE TITLE.
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the cartridges package.
|
# This file is distributed under the same license as the cartridges package.
|
||||||
# kramo <login@kramo.hu>, 2023.
|
# kramo <contact@kramo.hu>, 2023.
|
||||||
|
# Allan Nordhøy <epost@anotheragency.no>, 2023.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: cartridges\n"
|
"Project-Id-Version: cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||||
"PO-Revision-Date: 2023-03-15 22:46+0000\n"
|
"PO-Revision-Date: 2023-03-26 09:45+0000\n"
|
||||||
"Last-Translator: kramo <login@kramo.hu>\n"
|
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
||||||
"cartridges/cartridges/nb_NO/>\n"
|
"cartridges/cartridges/nb_NO/>\n"
|
||||||
"Language: nb_NO\n"
|
"Language: nb_NO\n"
|
||||||
@@ -16,11 +17,11 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.16.2-dev\n"
|
"X-Generator: Weblate 4.17-dev\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||||
#: src/main.py:116
|
#: src/main.py:115
|
||||||
msgid "Cartridges"
|
msgid "Cartridges"
|
||||||
msgstr "Cartridges"
|
msgstr "Cartridges"
|
||||||
|
|
||||||
@@ -47,8 +48,30 @@ msgstr ""
|
|||||||
"organiseringsfunksjoner som skjuling og sortering etter tillagt dato eller "
|
"organiseringsfunksjoner som skjuling og sortering etter tillagt dato eller "
|
||||||
"sist spilt."
|
"sist spilt."
|
||||||
|
|
||||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Innstillinger"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "Første ordentlige utgave"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
msgid "No Games Found"
|
msgid "No Games Found"
|
||||||
msgstr "Fant ingen spill"
|
msgstr "Fant ingen spill"
|
||||||
|
|
||||||
@@ -56,6 +79,10 @@ msgstr "Fant ingen spill"
|
|||||||
msgid "Try a different search."
|
msgid "Try a different search."
|
||||||
msgstr "Prøv et forskjellig søk."
|
msgstr "Prøv et forskjellig søk."
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:14
|
||||||
|
msgid "No Games"
|
||||||
|
msgstr "Ingen spill"
|
||||||
|
|
||||||
#: data/gtk/window.blp:15
|
#: data/gtk/window.blp:15
|
||||||
msgid "Use the + button to add games."
|
msgid "Use the + button to add games."
|
||||||
msgstr "Bruk «+»-knappen for å legge til spill."
|
msgstr "Bruk «+»-knappen for å legge til spill."
|
||||||
@@ -68,104 +95,107 @@ msgstr "Ingen skjulte spill"
|
|||||||
msgid "Games you hide will appear here."
|
msgid "Games you hide will appear here."
|
||||||
msgstr "Spill du skjuler vil vises her."
|
msgstr "Spill du skjuler vil vises her."
|
||||||
|
|
||||||
#: data/gtk/window.blp:50
|
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||||
msgid "Game Details"
|
msgid "Back"
|
||||||
msgstr "Spilldetaljer"
|
msgstr "Tilbake"
|
||||||
|
|
||||||
#: data/gtk/window.blp:91
|
#: data/gtk/window.blp:92
|
||||||
msgid "Game Title"
|
msgid "Game Title"
|
||||||
msgstr "Spillnavn"
|
msgstr "Spillnavn"
|
||||||
|
|
||||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
#: data/gtk/window.blp:148 src/game.py:175
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr "Spill"
|
msgstr "Spill"
|
||||||
|
|
||||||
#: data/gtk/window.blp:256
|
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||||
msgid "Hidden Games"
|
|
||||||
msgstr "Skjulte spill"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:314
|
|
||||||
msgid "Sort"
|
|
||||||
msgstr "Sorter"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:317
|
|
||||||
msgid "A-Z"
|
|
||||||
msgstr "A-Å"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:323
|
|
||||||
msgid "Z-A"
|
|
||||||
msgstr "Å-A"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:329
|
|
||||||
msgid "Newest"
|
|
||||||
msgstr "Nyeste"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:335
|
|
||||||
msgid "Oldest"
|
|
||||||
msgstr "Eldste"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:341
|
|
||||||
msgid "Last Played"
|
|
||||||
msgstr "Sist spilt"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:348
|
|
||||||
msgid "Show Hidden"
|
|
||||||
msgstr "Vis skjulte"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:356
|
|
||||||
msgid "Preferences"
|
|
||||||
msgstr "Innstillinger"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:361
|
|
||||||
msgid "Keyboard Shortcuts"
|
|
||||||
msgstr "Tastatursnarveier"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:366
|
|
||||||
msgid "About Cartridges"
|
|
||||||
msgstr "Om"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:375
|
|
||||||
msgid "Add Game"
|
msgid "Add Game"
|
||||||
msgstr "Legg til spill"
|
msgstr "Legg til spill"
|
||||||
|
|
||||||
#: data/gtk/window.blp:381
|
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||||
|
msgid "Main Menu"
|
||||||
|
msgstr "Hovedmeny"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Søk"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:261
|
||||||
|
msgid "Hidden Games"
|
||||||
|
msgstr "Skjulte spill"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:321
|
||||||
|
msgid "Sort"
|
||||||
|
msgstr "Sorter"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:324
|
||||||
|
msgid "A-Z"
|
||||||
|
msgstr "A-Å"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:330
|
||||||
|
msgid "Z-A"
|
||||||
|
msgstr "Å-A"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:336
|
||||||
|
msgid "Newest"
|
||||||
|
msgstr "Nyeste"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:342
|
||||||
|
msgid "Oldest"
|
||||||
|
msgstr "Eldste"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:348
|
||||||
|
msgid "Last Played"
|
||||||
|
msgstr "Sist spilt"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:355
|
||||||
|
msgid "Show Hidden"
|
||||||
|
msgstr "Vis skjulte"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:368
|
||||||
|
msgid "Keyboard Shortcuts"
|
||||||
|
msgstr "Tastatursnarveier"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:373
|
||||||
|
msgid "About Cartridges"
|
||||||
|
msgstr "Om"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:388
|
||||||
msgid "Import from"
|
msgid "Import from"
|
||||||
msgstr "Importer fra"
|
msgstr "Importer fra"
|
||||||
|
|
||||||
#: data/gtk/window.blp:383
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
msgid "Steam"
|
msgid "Steam"
|
||||||
msgstr "Steam"
|
msgstr "Steam"
|
||||||
|
|
||||||
#: data/gtk/window.blp:388
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
msgid "Heroic"
|
msgid "Heroic"
|
||||||
msgstr "Heroic"
|
msgstr "Heroic"
|
||||||
|
|
||||||
#: data/gtk/window.blp:393
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
msgid "Bottles"
|
msgid "Bottles"
|
||||||
msgstr "Bottles"
|
msgstr "Bottles"
|
||||||
|
|
||||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||||
#: data/gtk/game.blp:106
|
msgid "Title"
|
||||||
|
msgstr "Navn"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Rediger"
|
msgstr "Rediger"
|
||||||
|
|
||||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
#: data/gtk/game.blp:87
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr "Skjul"
|
msgstr "Skjul"
|
||||||
|
|
||||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||||
#: data/gtk/game.blp:116
|
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Fjern"
|
msgstr "Fjern"
|
||||||
|
|
||||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
#: data/gtk/game.blp:106
|
||||||
msgid "Unhide"
|
msgid "Unhide"
|
||||||
msgstr "Opphev fjerning"
|
msgstr "Opphev fjerning"
|
||||||
|
|
||||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
|
||||||
msgid "Title"
|
|
||||||
msgstr "Navn"
|
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:11
|
#: data/gtk/help-overlay.blp:11
|
||||||
msgctxt "shortcut window"
|
msgctxt "shortcut window"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
@@ -224,32 +254,61 @@ msgstr "Generelt"
|
|||||||
msgid "Exit After Launching Games"
|
msgid "Exit After Launching Games"
|
||||||
msgstr "Avslutt etter oppstart av spill"
|
msgstr "Avslutt etter oppstart av spill"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:25
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr "Høykvalitetsbilder"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr "Lagre spillomslag tapsfritt på bekostning av lagringsplass"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
msgid "Steam Install Location"
|
msgid "Steam Install Location"
|
||||||
msgstr "Installasjonssted for Steam"
|
msgstr "Installasjonssted for Steam"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
#: data/gtk/preferences.blp:78
|
#: data/gtk/preferences.blp:120
|
||||||
msgid "Directory to use when importing games"
|
msgid "Directory to use when importing games"
|
||||||
msgstr "Mappe å bruke ved import av spill"
|
msgstr "Mappe å bruke ved import av spill"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:39
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Ekstra Steam-bibliotek"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr "Velg andre mapper der du har Steam-spill installert"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Tøm"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
msgid "Heroic Install Location"
|
msgid "Heroic Install Location"
|
||||||
msgstr "Installasjonssted for Heroic"
|
msgstr "Installasjonssted for Heroic"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:49
|
#: data/gtk/preferences.blp:91
|
||||||
msgid "Import Epic Games"
|
msgid "Import Epic Games"
|
||||||
msgstr "Importer Epic-spill"
|
msgstr "Importer Epic-spill"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:57
|
#: data/gtk/preferences.blp:99
|
||||||
msgid "Import GOG Games"
|
msgid "Import GOG Games"
|
||||||
msgstr "Importer GOG-spill"
|
msgstr "Importer GOG-spill"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:65
|
#: data/gtk/preferences.blp:107
|
||||||
msgid "Import Sideloaded Games"
|
msgid "Import Sideloaded Games"
|
||||||
msgstr "Importer sideinnlastede spill"
|
msgstr "Importer sideinnlastede spill"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:77
|
#: data/gtk/preferences.blp:119
|
||||||
msgid "Bottles Install Location"
|
msgid "Bottles Install Location"
|
||||||
msgstr "Installasjonssted for Bottles"
|
msgstr "Installasjonssted for Bottles"
|
||||||
|
|
||||||
@@ -258,41 +317,46 @@ msgstr "Installasjonssted for Bottles"
|
|||||||
msgid "translator_credits"
|
msgid "translator_credits"
|
||||||
msgstr "Allan Nordhøy, <epost@anotheragency.no>"
|
msgstr "Allan Nordhøy, <epost@anotheragency.no>"
|
||||||
|
|
||||||
#: src/main.py:195
|
#: src/main.py:193
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{title} removed"
|
msgid "{title} removed"
|
||||||
msgstr "fjernet"
|
msgstr "{title} fjernet"
|
||||||
|
|
||||||
#: src/main.py:196
|
#: src/main.py:194
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Angre"
|
msgstr "Angre"
|
||||||
|
|
||||||
#: src/window.py:229
|
#: src/window.py:234
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "I dag"
|
msgstr "I dag"
|
||||||
|
|
||||||
#: src/window.py:231
|
#: src/window.py:236
|
||||||
msgid "Yesterday"
|
msgid "Yesterday"
|
||||||
msgstr "I går"
|
msgstr "I går"
|
||||||
|
|
||||||
#. The variable is the date when the game was added
|
#. The variable is the date when the game was added
|
||||||
#: src/window.py:265
|
|
||||||
#, fuzzy, python-brace-format
|
|
||||||
msgid "Added: {date}"
|
|
||||||
msgstr "Tillagt:"
|
|
||||||
|
|
||||||
#: src/window.py:270
|
#: src/window.py:270
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Added: {date}"
|
||||||
|
msgstr "Tillagt: {date}"
|
||||||
|
|
||||||
|
#: src/window.py:275
|
||||||
msgid "Never"
|
msgid "Never"
|
||||||
msgstr ""
|
msgstr "Aldri"
|
||||||
|
|
||||||
#. The variable is the date when the game was last played
|
#. The variable is the date when the game was last played
|
||||||
#: src/window.py:274
|
#: src/window.py:279
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Last played: {last_played_date}"
|
msgid "Last played: {last_played_date}"
|
||||||
msgstr "Sist spilt: Aldri"
|
msgstr "Sist spilt: {last_played_date}"
|
||||||
|
|
||||||
|
#: src/game.py:173
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Spilldetaljer"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
#: src/utils/steam_parser.py:230
|
#: src/utils/steam_parser.py:245
|
||||||
msgid "Couldn't Import Games"
|
msgid "Couldn't Import Games"
|
||||||
msgstr "Kunne ikke importere spill"
|
msgstr "Kunne ikke importere spill"
|
||||||
|
|
||||||
@@ -304,25 +368,25 @@ msgstr "Finner ikke Bottles-mappen."
|
|||||||
msgid "Set Bottles Location"
|
msgid "Set Bottles Location"
|
||||||
msgstr "Sett mappe for Bottles"
|
msgstr "Sett mappe for Bottles"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:143
|
#: src/utils/bottles_parser.py:141
|
||||||
msgid "No new games were found in the Bottles library."
|
msgid "No new games were found in the Bottles library."
|
||||||
msgstr "Fant ingen nye spill i Bottles-biblioteket."
|
msgstr "Fant ingen nye spill i Bottles-biblioteket."
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
msgid "Bottles Games Imported"
|
msgid "Bottles Games Imported"
|
||||||
msgstr "Bottles-spill importert"
|
msgstr "Bottles-spill importert"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
#: src/utils/steam_parser.py:164
|
#: src/utils/steam_parser.py:177
|
||||||
msgid "Successfully imported 1 game."
|
msgid "Successfully imported 1 game."
|
||||||
msgstr "Importerte ett spill."
|
msgstr "Importerte ett spill."
|
||||||
|
|
||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
#: src/utils/steam_parser.py:172
|
#: src/utils/steam_parser.py:185
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully imported {games_no} games."
|
msgid "Successfully imported {games_no} games."
|
||||||
msgstr "Importerte ett spill."
|
msgstr "Importerte {games_no} spill."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:41
|
#: src/utils/create_details_window.py:41
|
||||||
msgid "Add New Game"
|
msgid "Add New Game"
|
||||||
@@ -332,10 +396,6 @@ msgstr "Legg til nytt spill"
|
|||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bekreft"
|
msgstr "Bekreft"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:48
|
|
||||||
msgid "Edit Game Details"
|
|
||||||
msgstr "Rediger spilldetaljer"
|
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:57
|
#: src/utils/create_details_window.py:57
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr "Bruk"
|
msgstr "Bruk"
|
||||||
@@ -356,37 +416,42 @@ msgstr "Utvikler"
|
|||||||
msgid "The developer or publisher (optional)"
|
msgid "The developer or publisher (optional)"
|
||||||
msgstr "Utvikler eller utgiver (valgfritt)"
|
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"
|
msgid "file.txt"
|
||||||
msgstr ""
|
msgstr "fil.txt"
|
||||||
|
|
||||||
#. As in software
|
#. As in software
|
||||||
#: src/utils/create_details_window.py:113
|
#: src/utils/create_details_window.py:114
|
||||||
msgid "program"
|
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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{exe_name}"
|
msgid "C:\\path\\to\\{exe_name}"
|
||||||
msgstr ""
|
msgstr "C:\\sti\\til\\{exe_name}"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:118
|
|
||||||
#, python-brace-format
|
|
||||||
msgid "C:\\path\\to\\{file_name}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
|
#. Translate this string as you would translate "path to {file_name}"
|
||||||
#: src/utils/create_details_window.py:121
|
#: src/utils/create_details_window.py:121
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "/path/to/{exe_name}"
|
msgid "C:\\path\\to\\{file_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "/path/to/{file_name}"
|
msgid "/path/to/{file_name}"
|
||||||
msgstr ""
|
msgstr "/sti/til/{file_name}"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:126
|
#: src/utils/create_details_window.py:131
|
||||||
#, python-brace-format
|
#, fuzzy, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -398,39 +463,51 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"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"
|
msgid "Executable"
|
||||||
msgstr "Kjørbar"
|
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"
|
msgid "File to open or command to run when launching the game"
|
||||||
msgstr "Fil å åpne eller kommando å kjøre ved oppstart av spillet"
|
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"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:217
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:227
|
||||||
|
#: src/utils/create_details_window.py:233
|
||||||
msgid "Couldn't Add Game"
|
msgid "Couldn't Add Game"
|
||||||
msgstr "Kunne ikke legge til spill"
|
msgstr "Kunne ikke legge til spill"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:219
|
||||||
#: src/utils/create_details_window.py:239
|
#: 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."
|
msgid "Game title cannot be empty."
|
||||||
msgstr "Spillnavnet kan ikke være tomt."
|
msgstr "Spillnavnet kan ikke være tomt."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:233
|
||||||
#: src/utils/create_details_window.py:247
|
#: src/utils/create_details_window.py:266
|
||||||
msgid "Executable cannot be empty."
|
msgid "Executable cannot be empty."
|
||||||
msgstr "Kjørbar fil må angis."
|
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
|
#: src/utils/create_dialog.py:25
|
||||||
msgid "Dismiss"
|
msgid "Dismiss"
|
||||||
msgstr "Forkast"
|
msgstr "Forkast"
|
||||||
@@ -443,38 +520,38 @@ msgstr "Finner ikke Heroic-spillmappen."
|
|||||||
msgid "Set Heroic Location"
|
msgid "Set Heroic Location"
|
||||||
msgstr "Velg hvor Heroic er å finne"
|
msgstr "Velg hvor Heroic er å finne"
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:242
|
#: src/utils/heroic_parser.py:251
|
||||||
msgid "No new games were found in the Heroic library."
|
msgid "No new games were found in the Heroic library."
|
||||||
msgstr "Fant ingen nye spill i Heroic-biblioteket."
|
msgstr "Fant ingen nye spill i Heroic-biblioteket."
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:247 src/utils/heroic_parser.py:254
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
msgid "Heroic Games Imported"
|
msgid "Heroic Games Imported"
|
||||||
msgstr "Heroic-spill importert"
|
msgstr "Heroic-spill importert"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:158
|
#: src/utils/steam_parser.py:168
|
||||||
msgid "No new games were found in the Steam library."
|
msgid "No new games were found in the Steam library."
|
||||||
msgstr "Fant ingen nye spill i Steam-biblioteket."
|
msgstr "Fant ingen nye spill i Steam-biblioteket."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:163 src/utils/steam_parser.py:170
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
msgid "Steam Games Imported"
|
msgid "Steam Games Imported"
|
||||||
msgstr "Steam-spill importert"
|
msgstr "Steam-spill importert"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:231
|
#: src/utils/steam_parser.py:246
|
||||||
msgid "The Steam directory cannot be found."
|
msgid "The Steam directory cannot be found."
|
||||||
msgstr "Kunne ikke finne Steam-mappen."
|
msgstr "Kunne ikke finne Steam-mappen."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:233
|
#: src/utils/steam_parser.py:248
|
||||||
msgid "Set Steam Location"
|
msgid "Set Steam Location"
|
||||||
msgstr "Velg hvor Steam er å finne"
|
msgstr "Velg hvor Steam er å finne"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:249
|
#: src/utils/steam_parser.py:265
|
||||||
#, fuzzy
|
|
||||||
msgid "Importing Games…"
|
msgid "Importing Games…"
|
||||||
msgstr "Kunne ikke importere spill"
|
msgstr "Importerer spill …"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:250
|
#: src/utils/steam_parser.py:266
|
||||||
|
#, fuzzy
|
||||||
msgid "Talking to Steam"
|
msgid "Talking to Steam"
|
||||||
msgstr ""
|
msgstr "Snakker med Steam"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~ msgid "Successfully imported {str(len(bottles_games))} games."
|
#~ msgid "Successfully imported {str(len(bottles_games))} games."
|
||||||
|
|||||||
552
po/nl.po
Normal file
@@ -0,0 +1,552 @@
|
|||||||
|
# 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-26 11:51+0200\n"
|
||||||
|
"PO-Revision-Date: 2023-03-26 09:45+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:115
|
||||||
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Voorkeuren"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "Eerste stabiele uitgave"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
|
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
|
||||||
|
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
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr "Importeren uit"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr "Steam"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
|
msgid "Heroic"
|
||||||
|
msgstr "Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
|
msgid "Bottles"
|
||||||
|
msgstr "Bottles"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Verwijderen"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:106
|
||||||
|
msgid "Unhide"
|
||||||
|
msgstr "Niet meer verbergen"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Algemeen"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:14
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Quit"
|
||||||
|
msgstr "Sluiten"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:19
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Zoeken"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:24
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show preferences"
|
||||||
|
msgstr "Voorkeuren tonen"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:29
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Shortcuts"
|
||||||
|
msgstr "Sneltoetsen"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:34
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Ongedaan maken"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:39
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Open menu"
|
||||||
|
msgstr "Menu openen"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:45
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Games"
|
||||||
|
msgstr "Games"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:48
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Add new game"
|
||||||
|
msgstr "Nieuwe game toevoegen"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:53
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show hidden games"
|
||||||
|
msgstr "Verborgen games tonen"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:10
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Algemeen"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:13
|
||||||
|
msgid "Exit After Launching Games"
|
||||||
|
msgstr "Sluiten na starten van game"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr "Cover-afbeelding start game"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
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:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr "Afbeeldingen van hoge kwaliteit"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
"Game-covers zonder kwaliteitsverlies opslaan ten koste van opslagruimte"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
|
msgid "Steam Install Location"
|
||||||
|
msgstr "Installatielocatie van Steam"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
|
#: data/gtk/preferences.blp:120
|
||||||
|
msgid "Directory to use when importing games"
|
||||||
|
msgstr "Map om te gebruiken bij het importeren van games"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Extra Steam-bibliotheken"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr "Andere mappen waar u Steam-games heeft geïnstalleerd"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Wissen"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
|
msgid "Heroic Install Location"
|
||||||
|
msgstr "Installatielocatie van Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:91
|
||||||
|
msgid "Import Epic Games"
|
||||||
|
msgstr "Epic-games importeren"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:99
|
||||||
|
msgid "Import GOG Games"
|
||||||
|
msgstr "GOG-games importeren"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:107
|
||||||
|
msgid "Import Sideloaded Games"
|
||||||
|
msgstr "Gesideloade games importeren"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:119
|
||||||
|
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:130
|
||||||
|
msgid "translator_credits"
|
||||||
|
msgstr "Philip Goto <philip.goto@gmail.com>"
|
||||||
|
|
||||||
|
#: src/main.py:193
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{title} removed"
|
||||||
|
msgstr "{title} verwijderd"
|
||||||
|
|
||||||
|
#: src/main.py:194
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr "Ongedaan maken"
|
||||||
|
|
||||||
|
#: 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/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
|
#: src/utils/steam_parser.py:245
|
||||||
|
msgid "Couldn't Import Games"
|
||||||
|
msgstr "Kon games niet importeren"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:81
|
||||||
|
msgid "The Bottles directory cannot be found."
|
||||||
|
msgstr "De Bottles-map kan niet worden gevonden"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:83
|
||||||
|
msgid "Set Bottles Location"
|
||||||
|
msgstr "Bottles-locatie instellen"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:141
|
||||||
|
msgid "No new games were found in the Bottles library."
|
||||||
|
msgstr "Geen nieuwe games gevonden in de Bottles-bibliotheek"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
|
msgid "Bottles Games Imported"
|
||||||
|
msgstr "Bottles-games geïmporteerd"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
|
#: src/utils/steam_parser.py:177
|
||||||
|
msgid "Successfully imported 1 game."
|
||||||
|
msgstr "1 game succesvol geïmporteerd"
|
||||||
|
|
||||||
|
#. The variable is the number of games
|
||||||
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
|
#: src/utils/steam_parser.py:185
|
||||||
|
#, 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:59
|
||||||
|
msgid "Images"
|
||||||
|
msgstr "Afbeeldingen"
|
||||||
|
|
||||||
|
#: 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"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:88
|
||||||
|
msgid "The Heroic directory cannot be found."
|
||||||
|
msgstr "De Heroic-map kan niet worden gevonden"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:90
|
||||||
|
msgid "Set Heroic Location"
|
||||||
|
msgstr "Heroic-locatie instellen"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:251
|
||||||
|
msgid "No new games were found in the Heroic library."
|
||||||
|
msgstr "Geen nieuwe games gevonden in de Heroic-bibliotheek"
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
|
msgid "Heroic Games Imported"
|
||||||
|
msgstr "Heroic-games geïmporteerd"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:168
|
||||||
|
msgid "No new games were found in the Steam library."
|
||||||
|
msgstr "Geen nieuwe games gevonden in de Steam-bibliotheek"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
|
msgid "Steam Games Imported"
|
||||||
|
msgstr "Steam-games geïmporteerd"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:246
|
||||||
|
msgid "The Steam directory cannot be found."
|
||||||
|
msgstr "Steam-map kan niet worden gevonden"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:248
|
||||||
|
msgid "Set Steam Location"
|
||||||
|
msgstr "Steam-locatie instellen"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:265
|
||||||
|
msgid "Importing Games…"
|
||||||
|
msgstr "Games importeren…"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:266
|
||||||
|
msgid "Talking to Steam"
|
||||||
|
msgstr "Steam-bibliotheek aan het ophalen"
|
||||||
540
po/pt.po
Normal file
@@ -0,0 +1,540 @@
|
|||||||
|
# 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-26 11:51+0200\n"
|
||||||
|
"PO-Revision-Date: 2023-03-26 09:03+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:115
|
||||||
|
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 "Iniciar 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 simples inicializador de jogos. 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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Preferências"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "Primeiro lançamento estável"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
|
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 "Nenhum jogo"
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
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
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
|
msgid "Heroic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
|
msgid "Bottles"
|
||||||
|
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
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:106
|
||||||
|
msgid "Unhide"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
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"
|
||||||
|
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 "Show hidden games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:10
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:13
|
||||||
|
msgid "Exit After Launching Games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
|
msgid "Steam Install Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
|
#: data/gtk/preferences.blp:120
|
||||||
|
msgid "Directory to use when importing games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
|
msgid "Heroic Install Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:91
|
||||||
|
msgid "Import Epic Games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:99
|
||||||
|
msgid "Import GOG Games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:107
|
||||||
|
msgid "Import Sideloaded Games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:119
|
||||||
|
msgid "Bottles Install Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Translators: Replace this with your name for it to show up in the about window
|
||||||
|
#: src/main.py:130
|
||||||
|
msgid "translator_credits"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/main.py:193
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{title} removed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/main.py:194
|
||||||
|
msgid "Undo"
|
||||||
|
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
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Detalhes do jogo"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
|
#: src/utils/steam_parser.py:245
|
||||||
|
msgid "Couldn't Import Games"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:81
|
||||||
|
msgid "The Bottles directory cannot be found."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:83
|
||||||
|
msgid "Set Bottles Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:141
|
||||||
|
msgid "No new games were found in the Bottles library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
|
msgid "Bottles Games Imported"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
|
#: src/utils/steam_parser.py:177
|
||||||
|
msgid "Successfully imported 1 game."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. The variable is the number of games
|
||||||
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
|
#: src/utils/steam_parser.py:185
|
||||||
|
#, 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:59
|
||||||
|
msgid "Images"
|
||||||
|
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 ""
|
||||||
|
|
||||||
|
#: 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:251
|
||||||
|
msgid "No new games were found in the Heroic library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
|
msgid "Heroic Games Imported"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:168
|
||||||
|
msgid "No new games were found in the Steam library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
|
msgid "Steam Games Imported"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:246
|
||||||
|
msgid "The Steam directory cannot be found."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:248
|
||||||
|
msgid "Set Steam Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:265
|
||||||
|
msgid "Importing Games…"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:266
|
||||||
|
msgid "Talking to Steam"
|
||||||
|
msgstr ""
|
||||||
549
po/ru.po
Normal file
@@ -0,0 +1,549 @@
|
|||||||
|
# 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-26 11:51+0200\n"
|
||||||
|
"PO-Revision-Date: 2023-03-26 11:15+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:115
|
||||||
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Параметры"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "Первый стабильный выпуск"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
|
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
|
||||||
|
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
|
||||||
|
msgid "Import from"
|
||||||
|
msgstr "Импортировать из"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
|
msgid "Steam"
|
||||||
|
msgstr "Steam"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
|
msgid "Heroic"
|
||||||
|
msgstr "Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
|
msgid "Bottles"
|
||||||
|
msgstr "Bottles"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Удалить"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:106
|
||||||
|
msgid "Unhide"
|
||||||
|
msgstr "Показать"
|
||||||
|
|
||||||
|
#: data/gtk/help-overlay.blp:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
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"
|
||||||
|
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 "Show hidden games"
|
||||||
|
msgstr "Показать скрытые игры"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:10
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Основное"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:13
|
||||||
|
msgid "Exit After Launching Games"
|
||||||
|
msgstr "Выход после запуска игр"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr "Запуск игры используя изображение обложки"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr "Меняет местами поведение изображения обложки и кнопки запуска"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr "Изображения высокого качества"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr "Сохранение обложек игр без потерь за счет хранилища"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
|
msgid "Steam Install Location"
|
||||||
|
msgstr "Место установки Steam"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
|
#: data/gtk/preferences.blp:120
|
||||||
|
msgid "Directory to use when importing games"
|
||||||
|
msgstr "Каталог для импорта игр"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "Дополнительные библиотеки Steam"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr "Выберите другие каталоги, в которых у вас установлены игры из Steam"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Очистить"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
|
msgid "Heroic Install Location"
|
||||||
|
msgstr "Место установки Heroic"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:91
|
||||||
|
msgid "Import Epic Games"
|
||||||
|
msgstr "Импорт игр Epic"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:99
|
||||||
|
msgid "Import GOG Games"
|
||||||
|
msgstr "Импорт игр GOG"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:107
|
||||||
|
msgid "Import Sideloaded Games"
|
||||||
|
msgstr "Импорт сторонних игр"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:119
|
||||||
|
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
|
||||||
|
msgid "translator_credits"
|
||||||
|
msgstr "Ser82-png"
|
||||||
|
|
||||||
|
#: src/main.py:193
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "{title} removed"
|
||||||
|
msgstr "{title} удалена"
|
||||||
|
|
||||||
|
#: src/main.py:194
|
||||||
|
msgid "Undo"
|
||||||
|
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 "Добавлено: {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/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
|
#: src/utils/steam_parser.py:245
|
||||||
|
msgid "Couldn't Import Games"
|
||||||
|
msgstr "Не удалось импортировать игры"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:81
|
||||||
|
msgid "The Bottles directory cannot be found."
|
||||||
|
msgstr "Не удалось найти каталог Bottles."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:83
|
||||||
|
msgid "Set Bottles Location"
|
||||||
|
msgstr "Установить расположение Bottles"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:141
|
||||||
|
msgid "No new games were found in the Bottles library."
|
||||||
|
msgstr "В библиотеке Bottles не было найдено новых игр."
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
|
msgid "Bottles Games Imported"
|
||||||
|
msgstr "Игры Bottles импортированы"
|
||||||
|
|
||||||
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
|
#: src/utils/steam_parser.py:177
|
||||||
|
msgid "Successfully imported 1 game."
|
||||||
|
msgstr "Успешно импортирована 1 игра."
|
||||||
|
|
||||||
|
#. The variable is the number of games
|
||||||
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
|
#: src/utils/steam_parser.py:185
|
||||||
|
#, 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:59
|
||||||
|
msgid "Images"
|
||||||
|
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:\\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 "Отклонить"
|
||||||
|
|
||||||
|
#: 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:251
|
||||||
|
msgid "No new games were found in the Heroic library."
|
||||||
|
msgstr "В библиотеке Heroic не было найдено новых игр."
|
||||||
|
|
||||||
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
|
msgid "Heroic Games Imported"
|
||||||
|
msgstr "Игры Heroic импортированы"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:168
|
||||||
|
msgid "No new games were found in the Steam library."
|
||||||
|
msgstr "В библиотеке Steam новых игр не найдено."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
|
msgid "Steam Games Imported"
|
||||||
|
msgstr "Игры Steam импортированы"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:246
|
||||||
|
msgid "The Steam directory cannot be found."
|
||||||
|
msgstr "Не удалось найти каталог Steam."
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:248
|
||||||
|
msgid "Set Steam Location"
|
||||||
|
msgstr "Установить расположение Steam"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:265
|
||||||
|
msgid "Importing Games…"
|
||||||
|
msgstr "Импорт игр…"
|
||||||
|
|
||||||
|
#: src/utils/steam_parser.py:266
|
||||||
|
msgid "Talking to Steam"
|
||||||
|
msgstr "Общение со Steam"
|
||||||
368
po/ta.po
@@ -1,15 +1,15 @@
|
|||||||
# Cartridges - Tamil Translation
|
# SOME DESCRIPTIVE TITLE.
|
||||||
# Copyright (C) 2022 kramo
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the cartridges package.
|
# This file is distributed under the same license as the cartridges package.
|
||||||
# K.B.Dharun Krishna <kbdharunkrishna@gmail.com>, 2023.
|
# K.B.Dharun Krishna <kbdharunkrishna@gmail.com>, 2023.
|
||||||
# kramo <login@kramo.hu>, 2023.
|
# kramo <contact@kramo.hu>, 2023.
|
||||||
# "K.B.Dharun Krishna" <kbdharunkrishna@gmail.com>, 2023.
|
# "K.B.Dharun Krishna" <kbdharunkrishna@gmail.com>, 2023.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||||
"PO-Revision-Date: 2023-03-18 23:40+0000\n"
|
"PO-Revision-Date: 2023-03-25 14:46+0000\n"
|
||||||
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
|
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
|
||||||
"Language-Team: Tamil <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: Tamil <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/ta/>\n"
|
"cartridges/ta/>\n"
|
||||||
@@ -18,11 +18,11 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.16.2-dev\n"
|
"X-Generator: Weblate 4.17-dev\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||||
#: src/main.py:116
|
#: src/main.py:115
|
||||||
msgid "Cartridges"
|
msgid "Cartridges"
|
||||||
msgstr "கார்ட்ரிட்ஜ்கள்"
|
msgstr "கார்ட்ரிட்ஜ்கள்"
|
||||||
|
|
||||||
@@ -49,8 +49,30 @@ msgstr ""
|
|||||||
"மற்றும் சேர்த்த அல்லது கடைசியாக விளையாடிய தேதியின்படி வரிசைப்படுத்துதல் போன்ற நிறுவன "
|
"மற்றும் சேர்த்த அல்லது கடைசியாக விளையாடிய தேதியின்படி வரிசைப்படுத்துதல் போன்ற நிறுவன "
|
||||||
"அம்சங்களுடன்."
|
"அம்சங்களுடன்."
|
||||||
|
|
||||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "விருப்பங்கள்"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr "முதல் நிலையான வெளியீடு"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
msgid "No Games Found"
|
msgid "No Games Found"
|
||||||
msgstr "விளையாட்டுகள் எதுவும் இல்லை"
|
msgstr "விளையாட்டுகள் எதுவும் இல்லை"
|
||||||
|
|
||||||
@@ -58,6 +80,10 @@ msgstr "விளையாட்டுகள் எதுவும் இல்
|
|||||||
msgid "Try a different search."
|
msgid "Try a different search."
|
||||||
msgstr "வேறு தேடலை முயற்சிக்கவும்."
|
msgstr "வேறு தேடலை முயற்சிக்கவும்."
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:14
|
||||||
|
msgid "No Games"
|
||||||
|
msgstr "விளையாட்டுகள் இல்லை"
|
||||||
|
|
||||||
#: data/gtk/window.blp:15
|
#: data/gtk/window.blp:15
|
||||||
msgid "Use the + button to add games."
|
msgid "Use the + button to add games."
|
||||||
msgstr "விளையாட்டுகளைச் சேர்க்க + பொத்தானைப் பயன்படுத்தவும்."
|
msgstr "விளையாட்டுகளைச் சேர்க்க + பொத்தானைப் பயன்படுத்தவும்."
|
||||||
@@ -70,104 +96,106 @@ msgstr "மறைக்கப்பட்ட விளையாட்டுக
|
|||||||
msgid "Games you hide will appear here."
|
msgid "Games you hide will appear here."
|
||||||
msgstr "நீங்கள் மறைக்கும் விளையாட்டுகள் இங்கே தோன்றும்."
|
msgstr "நீங்கள் மறைக்கும் விளையாட்டுகள் இங்கே தோன்றும்."
|
||||||
|
|
||||||
#: data/gtk/window.blp:50
|
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||||
msgid "Game Details"
|
msgid "Back"
|
||||||
msgstr "விளையாட்டு விவரங்கள்"
|
msgstr "மீண்டும்"
|
||||||
|
|
||||||
#: data/gtk/window.blp:91
|
#: data/gtk/window.blp:92
|
||||||
msgid "Game Title"
|
msgid "Game Title"
|
||||||
msgstr "விளையாட்டு தலைப்பு"
|
msgstr "விளையாட்டு தலைப்பு"
|
||||||
|
|
||||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
#: data/gtk/window.blp:148 src/game.py:175
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr "விளையாடு"
|
msgstr "விளையாடு"
|
||||||
|
|
||||||
#: data/gtk/window.blp:256
|
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||||
msgid "Hidden Games"
|
|
||||||
msgstr "மறைக்கப்பட்ட விளையாட்டுகள்"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:314
|
|
||||||
msgid "Sort"
|
|
||||||
msgstr "வகைபடுத்து"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:317
|
|
||||||
msgid "A-Z"
|
|
||||||
msgstr "A-Z"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:323
|
|
||||||
msgid "Z-A"
|
|
||||||
msgstr "Z-A"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:329
|
|
||||||
msgid "Newest"
|
|
||||||
msgstr "புதியது"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:335
|
|
||||||
msgid "Oldest"
|
|
||||||
msgstr "பழமையானது"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:341
|
|
||||||
msgid "Last Played"
|
|
||||||
msgstr "கடைசியாக விளையாடியது"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:348
|
|
||||||
msgid "Show Hidden"
|
|
||||||
msgstr "மறைக்கப்பட்டதைக் காட்டு"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:356
|
|
||||||
msgid "Preferences"
|
|
||||||
msgstr "விருப்பங்கள்"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:361
|
|
||||||
msgid "Keyboard Shortcuts"
|
|
||||||
msgstr "விசைப்பலகை குறுக்குவழிகள்"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:366
|
|
||||||
msgid "About Cartridges"
|
|
||||||
msgstr "கார்ட்ரிட்ஜ்கள் பற்றி"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:375
|
|
||||||
msgid "Add Game"
|
msgid "Add Game"
|
||||||
msgstr "விளையாட்டைச் சேர்க்கவும்"
|
msgstr "விளையாட்டைச் சேர்க்கவும்"
|
||||||
|
|
||||||
#: data/gtk/window.blp:381
|
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||||
|
msgid "Main Menu"
|
||||||
|
msgstr "முதன்மை பட்டியல்"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||||
|
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 "A-Z"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:330
|
||||||
|
msgid "Z-A"
|
||||||
|
msgstr "Z-A"
|
||||||
|
|
||||||
|
#: 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
|
||||||
msgid "Import from"
|
msgid "Import from"
|
||||||
msgstr "இலிருந்து இறக்குமதி செய்"
|
msgstr "இலிருந்து இறக்குமதி செய்"
|
||||||
|
|
||||||
#: data/gtk/window.blp:383
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
msgid "Steam"
|
msgid "Steam"
|
||||||
msgstr "Steam (ஸ்டீம்)"
|
msgstr "Steam (ஸ்டீம்)"
|
||||||
|
|
||||||
#: data/gtk/window.blp:388
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
msgid "Heroic"
|
msgid "Heroic"
|
||||||
msgstr "Heroic (ஹீரோயிக்)"
|
msgstr "Heroic (ஹீரோயிக்)"
|
||||||
|
|
||||||
#: data/gtk/window.blp:393
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
msgid "Bottles"
|
msgid "Bottles"
|
||||||
msgstr "Bottles (பாட்டில்கள்)"
|
msgstr "Bottles (பாட்டில்கள்)"
|
||||||
|
|
||||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||||
#: data/gtk/game.blp:106
|
msgid "Title"
|
||||||
|
msgstr "தலைப்பு"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "தொகு"
|
msgstr "தொகு"
|
||||||
|
|
||||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
#: data/gtk/game.blp:87
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr "மறை"
|
msgstr "மறை"
|
||||||
|
|
||||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||||
#: data/gtk/game.blp:116
|
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "அகற்று"
|
msgstr "அகற்று"
|
||||||
|
|
||||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
#: data/gtk/game.blp:106
|
||||||
msgid "Unhide"
|
msgid "Unhide"
|
||||||
msgstr "மறை காட்டு"
|
msgstr "மறை காட்டு"
|
||||||
|
|
||||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
|
||||||
msgid "Title"
|
|
||||||
msgstr "தலைப்பு"
|
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:11
|
#: data/gtk/help-overlay.blp:11
|
||||||
msgctxt "shortcut window"
|
msgctxt "shortcut window"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
@@ -226,32 +254,60 @@ msgstr "பொது"
|
|||||||
msgid "Exit After Launching Games"
|
msgid "Exit After Launching Games"
|
||||||
msgstr "விளையாட்டுகளை தொடங்கிய பிறகு வெளியேறவும்"
|
msgstr "விளையாட்டுகளை தொடங்கிய பிறகு வெளியேறவும்"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:25
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
msgid "Steam Install Location"
|
msgid "Steam Install Location"
|
||||||
msgstr "Steam (ஸ்டீம்) நிறுவல் இடம்"
|
msgstr "Steam (ஸ்டீம்) நிறுவல் இடம்"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
#: data/gtk/preferences.blp:78
|
#: data/gtk/preferences.blp:120
|
||||||
msgid "Directory to use when importing games"
|
msgid "Directory to use when importing games"
|
||||||
msgstr "விளையாட்டுகளை இறக்குமதி செய்யும் போது பயன்படுத்த வேண்டிய அடைவு"
|
msgstr "விளையாட்டுகளை இறக்குமதி செய்யும் போது பயன்படுத்த வேண்டிய அடைவு"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:39
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr "கூடுதல் ஸ்டீம் (Steam) நூலகங்கள்"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr "ஸ்டீம் (Steam) கேம்களை நிறுவிய பிற கோப்பகங்களைத் தேர்ந்தெடுக்கவும்"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "தெளிவு"
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
msgid "Heroic Install Location"
|
msgid "Heroic Install Location"
|
||||||
msgstr "Heroic (ஹீரோயிக்) நிறுவல் இடம்"
|
msgstr "Heroic (ஹீரோயிக்) நிறுவல் இடம்"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:49
|
#: data/gtk/preferences.blp:91
|
||||||
msgid "Import Epic Games"
|
msgid "Import Epic Games"
|
||||||
msgstr "Epic விளையாட்டுகளை இறக்குமதி செய்"
|
msgstr "Epic விளையாட்டுகளை இறக்குமதி செய்"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:57
|
#: data/gtk/preferences.blp:99
|
||||||
msgid "Import GOG Games"
|
msgid "Import GOG Games"
|
||||||
msgstr "GOG விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
msgstr "GOG விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:65
|
#: data/gtk/preferences.blp:107
|
||||||
msgid "Import Sideloaded Games"
|
msgid "Import Sideloaded Games"
|
||||||
msgstr "பக்க ஏற்றப்பட்ட விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
msgstr "பக்க ஏற்றப்பட்ட விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:77
|
#: data/gtk/preferences.blp:119
|
||||||
msgid "Bottles Install Location"
|
msgid "Bottles Install Location"
|
||||||
msgstr "Bottles (பாட்டில்கள்) நிறுவும் இடம்"
|
msgstr "Bottles (பாட்டில்கள்) நிறுவும் இடம்"
|
||||||
|
|
||||||
@@ -260,41 +316,46 @@ msgstr "Bottles (பாட்டில்கள்) நிறுவும் இ
|
|||||||
msgid "translator_credits"
|
msgid "translator_credits"
|
||||||
msgstr "K.B.Dharun Krishna <kbdharunkrishna@gmail.com>"
|
msgstr "K.B.Dharun Krishna <kbdharunkrishna@gmail.com>"
|
||||||
|
|
||||||
#: src/main.py:195
|
#: src/main.py:193
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{title} removed"
|
msgid "{title} removed"
|
||||||
msgstr "அகற்றப்பட்டது"
|
msgstr "{title} அகற்றப்பட்டது"
|
||||||
|
|
||||||
#: src/main.py:196
|
#: src/main.py:194
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "செயல்தவிர்"
|
msgstr "செயல்தவிர்"
|
||||||
|
|
||||||
#: src/window.py:229
|
#: src/window.py:234
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "இன்று"
|
msgstr "இன்று"
|
||||||
|
|
||||||
#: src/window.py:231
|
#: src/window.py:236
|
||||||
msgid "Yesterday"
|
msgid "Yesterday"
|
||||||
msgstr "நேற்று"
|
msgstr "நேற்று"
|
||||||
|
|
||||||
#. The variable is the date when the game was added
|
#. 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
|
#: src/window.py:270
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Added: {date}"
|
||||||
|
msgstr "சேர்க்கப்பட்டது: {date}"
|
||||||
|
|
||||||
|
#: src/window.py:275
|
||||||
msgid "Never"
|
msgid "Never"
|
||||||
msgstr ""
|
msgstr "ஒருபோதும் இல்லை"
|
||||||
|
|
||||||
#. The variable is the date when the game was last played
|
#. The variable is the date when the game was last played
|
||||||
#: src/window.py:274
|
#: src/window.py:279
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Last played: {last_played_date}"
|
msgid "Last played: {last_played_date}"
|
||||||
msgstr "கடைசியாக விளையாடியது: ஒருபோதும் இல்லை"
|
msgstr "கடைசியாக விளையாடியது: {last_played_date}"
|
||||||
|
|
||||||
|
#: src/game.py:173
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "விளையாட்டு விவரங்கள்"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
#: src/utils/steam_parser.py:230
|
#: src/utils/steam_parser.py:245
|
||||||
msgid "Couldn't Import Games"
|
msgid "Couldn't Import Games"
|
||||||
msgstr "கேம்களை இறக்குமதி செய்ய முடியவில்லை"
|
msgstr "கேம்களை இறக்குமதி செய்ய முடியவில்லை"
|
||||||
|
|
||||||
@@ -306,25 +367,25 @@ msgstr "பாட்டில்கள் கோப்பகத்தைக்
|
|||||||
msgid "Set Bottles Location"
|
msgid "Set Bottles Location"
|
||||||
msgstr "பாட்டில்களின் இடத்தை அமைக்கவும்"
|
msgstr "பாட்டில்களின் இடத்தை அமைக்கவும்"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:143
|
#: src/utils/bottles_parser.py:141
|
||||||
msgid "No new games were found in the Bottles library."
|
msgid "No new games were found in the Bottles library."
|
||||||
msgstr "பாட்டில்கள் நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
msgstr "பாட்டில்கள் நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
msgid "Bottles Games Imported"
|
msgid "Bottles Games Imported"
|
||||||
msgstr "பாட்டில் விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
msgstr "பாட்டில் விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
#: src/utils/steam_parser.py:164
|
#: src/utils/steam_parser.py:177
|
||||||
msgid "Successfully imported 1 game."
|
msgid "Successfully imported 1 game."
|
||||||
msgstr "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
msgstr "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
||||||
|
|
||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
#: src/utils/steam_parser.py:172
|
#: src/utils/steam_parser.py:185
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully imported {games_no} games."
|
msgid "Successfully imported {games_no} games."
|
||||||
msgstr "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
msgstr "{games_no} விளையாட்டுகள் வெற்றிகரமாக இறக்குமதி செய்யப்பட்டன."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:41
|
#: src/utils/create_details_window.py:41
|
||||||
msgid "Add New Game"
|
msgid "Add New Game"
|
||||||
@@ -334,10 +395,6 @@ msgstr "புதிய விளையாட்டைச் சேர்க்
|
|||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "உறுதிப்படுத்தவும்"
|
msgstr "உறுதிப்படுத்தவும்"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:48
|
|
||||||
msgid "Edit Game Details"
|
|
||||||
msgstr "விளையாட்டு விவரங்களைத் திருத்து"
|
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:57
|
#: src/utils/create_details_window.py:57
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr "விண்ணப்பி"
|
msgstr "விண்ணப்பி"
|
||||||
@@ -358,36 +415,41 @@ msgstr "டெவலப்பர்"
|
|||||||
msgid "The developer or publisher (optional)"
|
msgid "The developer or publisher (optional)"
|
||||||
msgstr "டெவலப்பர் அல்லது வெளியீட்டாளர் (விரும்பினால்)"
|
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"
|
msgid "file.txt"
|
||||||
msgstr ""
|
msgstr "கோப்பு.txt"
|
||||||
|
|
||||||
#. As in software
|
#. As in software
|
||||||
#: src/utils/create_details_window.py:113
|
#: src/utils/create_details_window.py:114
|
||||||
msgid "program"
|
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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{exe_name}"
|
msgid "C:\\path\\to\\{exe_name}"
|
||||||
msgstr ""
|
msgstr "C:\\பாதை\\டு \\{exe_name}"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:118
|
|
||||||
#, python-brace-format
|
|
||||||
msgid "C:\\path\\to\\{file_name}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
|
#. Translate this string as you would translate "path to {file_name}"
|
||||||
#: src/utils/create_details_window.py:121
|
#: src/utils/create_details_window.py:121
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "/path/to/{exe_name}"
|
msgid "C:\\path\\to\\{file_name}"
|
||||||
msgstr ""
|
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
|
#, python-brace-format
|
||||||
msgid "/path/to/{file_name}"
|
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
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||||
@@ -400,39 +462,50 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"இயங்கக்கூடிய \"{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"
|
msgid "Executable"
|
||||||
msgstr "செயல்படுத்தக்கூடியது"
|
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"
|
msgid "File to open or command to run when launching the game"
|
||||||
msgstr "விளையாட்டைத் தொடங்கும் போது திறக்க கோப்பு அல்லது இயக்க கட்டளை"
|
msgstr "விளையாட்டைத் தொடங்கும் போது திறக்க கோப்பு அல்லது இயக்க கட்டளை"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:162
|
#: src/utils/create_details_window.py:167
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "ரத்துசெய்"
|
msgstr "ரத்துசெய்"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:217
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:227
|
||||||
|
#: src/utils/create_details_window.py:233
|
||||||
msgid "Couldn't Add Game"
|
msgid "Couldn't Add Game"
|
||||||
msgstr "விளையாட்டைச் சேர்க்க முடியவில்லை"
|
msgstr "விளையாட்டைச் சேர்க்க முடியவில்லை"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:219
|
||||||
#: src/utils/create_details_window.py:239
|
#: 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."
|
msgid "Game title cannot be empty."
|
||||||
msgstr "விளையாட்டு தலைப்பு காலியாக இருக்கக்கூடாது."
|
msgstr "விளையாட்டு தலைப்பு காலியாக இருக்கக்கூடாது."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:233
|
||||||
#: src/utils/create_details_window.py:247
|
#: src/utils/create_details_window.py:266
|
||||||
msgid "Executable cannot be empty."
|
msgid "Executable cannot be empty."
|
||||||
msgstr "இயங்கக்கூடியது காலியாக இருக்க முடியாது."
|
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
|
#: src/utils/create_dialog.py:25
|
||||||
msgid "Dismiss"
|
msgid "Dismiss"
|
||||||
msgstr "நிராகரி"
|
msgstr "நிராகரி"
|
||||||
@@ -445,36 +518,35 @@ msgstr "Heroic (ஹீரோயிக்) கோப்பகத்தைக்
|
|||||||
msgid "Set Heroic Location"
|
msgid "Set Heroic Location"
|
||||||
msgstr "Heroic (ஹீரோயிக்) இருப்பிடத்தை அமைக்கவும்"
|
msgstr "Heroic (ஹீரோயிக்) இருப்பிடத்தை அமைக்கவும்"
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:242
|
#: src/utils/heroic_parser.py:251
|
||||||
msgid "No new games were found in the Heroic library."
|
msgid "No new games were found in the Heroic library."
|
||||||
msgstr "Heroic (ஹீரோயிக்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
msgstr "Heroic (ஹீரோயிக்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:247 src/utils/heroic_parser.py:254
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
msgid "Heroic Games Imported"
|
msgid "Heroic Games Imported"
|
||||||
msgstr "Heroic (ஹீரோயிக்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
msgstr "Heroic (ஹீரோயிக்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:158
|
#: src/utils/steam_parser.py:168
|
||||||
msgid "No new games were found in the Steam library."
|
msgid "No new games were found in the Steam library."
|
||||||
msgstr "Steam (ஸ்டீம்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
msgstr "Steam (ஸ்டீம்) நூலகத்தில் புதிய விளையாட்டுகள் எதுவும் இல்லை."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:163 src/utils/steam_parser.py:170
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
msgid "Steam Games Imported"
|
msgid "Steam Games Imported"
|
||||||
msgstr "Steam (ஸ்டீம்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
msgstr "Steam (ஸ்டீம்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:231
|
#: src/utils/steam_parser.py:246
|
||||||
msgid "The Steam directory cannot be found."
|
msgid "The Steam directory cannot be found."
|
||||||
msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:233
|
#: src/utils/steam_parser.py:248
|
||||||
msgid "Set Steam Location"
|
msgid "Set Steam Location"
|
||||||
msgstr "Steam (ஸ்டீம் இடத்தை அமைக்கவும்"
|
msgstr "Steam (ஸ்டீம் இடத்தை அமைக்கவும்"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:249
|
#: src/utils/steam_parser.py:265
|
||||||
#, fuzzy
|
|
||||||
msgid "Importing Games…"
|
msgid "Importing Games…"
|
||||||
msgstr "விளையாட்டுகளை இறக்குமதி செய்கிறது…"
|
msgstr "விளையாட்டுகளை இறக்குமதி செய்கிறது…"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:250
|
#: src/utils/steam_parser.py:266
|
||||||
msgid "Talking to Steam"
|
msgid "Talking to Steam"
|
||||||
msgstr "ஸ்டிமுடன் (Steam) பேசுகிறேன்"
|
msgstr "ஸ்டிமுடன் (Steam) பேசுகிறேன்"
|
||||||
|
|
||||||
|
|||||||
369
po/uk.po
@@ -1,14 +1,14 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# SOME DESCRIPTIVE TITLE.
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the cartridges package.
|
# This file is distributed under the same license as the cartridges package.
|
||||||
# kramo <login@kramo.hu>, 2023.
|
# kramo <contact@kramo.hu>, 2023.
|
||||||
# Dan <denqwerta@gmail.com>, 2023.
|
# Dan <denqwerta@gmail.com>, 2023.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: cartridges\n"
|
"Project-Id-Version: cartridges\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||||
"PO-Revision-Date: 2023-03-16 18:47+0000\n"
|
"PO-Revision-Date: 2023-03-21 13:12+0000\n"
|
||||||
"Last-Translator: Dan <denqwerta@gmail.com>\n"
|
"Last-Translator: Dan <denqwerta@gmail.com>\n"
|
||||||
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/cartridges/"
|
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/cartridges/"
|
||||||
"cartridges/uk/>\n"
|
"cartridges/uk/>\n"
|
||||||
@@ -16,13 +16,13 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
"X-Generator: Weblate 4.16.2-dev\n"
|
"X-Generator: Weblate 4.16.2-dev\n"
|
||||||
|
|
||||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||||
#: src/main.py:116
|
#: src/main.py:115
|
||||||
msgid "Cartridges"
|
msgid "Cartridges"
|
||||||
msgstr "Cartridges"
|
msgstr "Cartridges"
|
||||||
|
|
||||||
@@ -48,8 +48,30 @@ msgstr ""
|
|||||||
"Steam, Heroic та Bottles із такими організаційними функціями, як "
|
"Steam, Heroic та Bottles із такими організаційними функціями, як "
|
||||||
"приховування та сортування за датою додавання чи останньої гри."
|
"приховування та сортування за датою додавання чи останньої гри."
|
||||||
|
|
||||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
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/steam_parser.py:170
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Параметри"
|
||||||
|
|
||||||
|
#: data/hu.kramo.Cartridges.metainfo.xml.in:41
|
||||||
|
msgid "First stable release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:6 src/utils/bottles_parser.py:140
|
||||||
|
#: src/utils/heroic_parser.py:250 src/utils/steam_parser.py:167
|
||||||
msgid "No Games Found"
|
msgid "No Games Found"
|
||||||
msgstr "Ігор не знайдено"
|
msgstr "Ігор не знайдено"
|
||||||
|
|
||||||
@@ -57,6 +79,11 @@ msgstr "Ігор не знайдено"
|
|||||||
msgid "Try a different search."
|
msgid "Try a different search."
|
||||||
msgstr "Спробуйте інший пошук."
|
msgstr "Спробуйте інший пошук."
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:14
|
||||||
|
#, fuzzy
|
||||||
|
msgid "No Games"
|
||||||
|
msgstr "Ігри"
|
||||||
|
|
||||||
#: data/gtk/window.blp:15
|
#: data/gtk/window.blp:15
|
||||||
msgid "Use the + button to add games."
|
msgid "Use the + button to add games."
|
||||||
msgstr "Використовуйте кнопку +, щоб додати гру."
|
msgstr "Використовуйте кнопку +, щоб додати гру."
|
||||||
@@ -69,104 +96,107 @@ msgstr "Ніяких прихованих ігор"
|
|||||||
msgid "Games you hide will appear here."
|
msgid "Games you hide will appear here."
|
||||||
msgstr "Ігри, які ви сховали, з'являться тут."
|
msgstr "Ігри, які ви сховали, з'являться тут."
|
||||||
|
|
||||||
#: data/gtk/window.blp:50
|
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||||
msgid "Game Details"
|
msgid "Back"
|
||||||
msgstr "Подробиці гри"
|
msgstr ""
|
||||||
|
|
||||||
#: data/gtk/window.blp:91
|
#: data/gtk/window.blp:92
|
||||||
msgid "Game Title"
|
msgid "Game Title"
|
||||||
msgstr "Назва гри"
|
msgstr "Назва гри"
|
||||||
|
|
||||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
#: data/gtk/window.blp:148 src/game.py:175
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr "Грати"
|
msgstr "Грати"
|
||||||
|
|
||||||
#: data/gtk/window.blp:256
|
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||||
msgid "Hidden Games"
|
|
||||||
msgstr "Приховані ігри"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:314
|
|
||||||
msgid "Sort"
|
|
||||||
msgstr "Сортувати"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:317
|
|
||||||
msgid "A-Z"
|
|
||||||
msgstr "А-Я"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:323
|
|
||||||
msgid "Z-A"
|
|
||||||
msgstr "Я-А"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:329
|
|
||||||
msgid "Newest"
|
|
||||||
msgstr "Найновіші"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:335
|
|
||||||
msgid "Oldest"
|
|
||||||
msgstr "Найстаріші"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:341
|
|
||||||
msgid "Last Played"
|
|
||||||
msgstr "Остання гра"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:348
|
|
||||||
msgid "Show Hidden"
|
|
||||||
msgstr "Показати приховане"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:356
|
|
||||||
msgid "Preferences"
|
|
||||||
msgstr "Параметри"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:361
|
|
||||||
msgid "Keyboard Shortcuts"
|
|
||||||
msgstr "Комбінації клавіш"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:366
|
|
||||||
msgid "About Cartridges"
|
|
||||||
msgstr "Про Cartridges"
|
|
||||||
|
|
||||||
#: data/gtk/window.blp:375
|
|
||||||
msgid "Add Game"
|
msgid "Add Game"
|
||||||
msgstr "Додати гру"
|
msgstr "Додати гру"
|
||||||
|
|
||||||
#: data/gtk/window.blp:381
|
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||||
|
msgid "Main Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:210 data/gtk/window.blp:273
|
||||||
|
#, fuzzy
|
||||||
|
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 "Про Cartridges"
|
||||||
|
|
||||||
|
#: data/gtk/window.blp:388
|
||||||
msgid "Import from"
|
msgid "Import from"
|
||||||
msgstr "Імпорт з"
|
msgstr "Імпорт з"
|
||||||
|
|
||||||
#: data/gtk/window.blp:383
|
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||||
msgid "Steam"
|
msgid "Steam"
|
||||||
msgstr "Steam"
|
msgstr "Steam"
|
||||||
|
|
||||||
#: data/gtk/window.blp:388
|
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||||
msgid "Heroic"
|
msgid "Heroic"
|
||||||
msgstr "Heroic"
|
msgstr "Heroic"
|
||||||
|
|
||||||
#: data/gtk/window.blp:393
|
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||||
msgid "Bottles"
|
msgid "Bottles"
|
||||||
msgstr "Bottles"
|
msgstr "Bottles"
|
||||||
|
|
||||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||||
#: data/gtk/game.blp:106
|
msgid "Title"
|
||||||
|
msgstr "Назва"
|
||||||
|
|
||||||
|
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Редагувати"
|
msgstr "Редагувати"
|
||||||
|
|
||||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
#: data/gtk/game.blp:87
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr "Приховати"
|
msgstr "Приховати"
|
||||||
|
|
||||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||||
#: data/gtk/game.blp:116
|
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Видалити"
|
msgstr "Видалити"
|
||||||
|
|
||||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
#: data/gtk/game.blp:106
|
||||||
msgid "Unhide"
|
msgid "Unhide"
|
||||||
msgstr "Показати"
|
msgstr "Показати"
|
||||||
|
|
||||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
|
||||||
msgid "Title"
|
|
||||||
msgstr "Назва"
|
|
||||||
|
|
||||||
#: data/gtk/help-overlay.blp:11
|
#: data/gtk/help-overlay.blp:11
|
||||||
msgctxt "shortcut window"
|
msgctxt "shortcut window"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
@@ -225,32 +255,60 @@ msgstr "Загальний"
|
|||||||
msgid "Exit After Launching Games"
|
msgid "Exit After Launching Games"
|
||||||
msgstr "Вихід після запуску ігор"
|
msgstr "Вихід після запуску ігор"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:25
|
#: data/gtk/preferences.blp:21
|
||||||
|
msgid "Cover Image Launches Game"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:22
|
||||||
|
msgid "Swaps the behavior of the cover image and the play button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:30
|
||||||
|
msgid "High Quality Images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:31
|
||||||
|
msgid "Save game covers losslessly at the cost of storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:43
|
||||||
msgid "Steam Install Location"
|
msgid "Steam Install Location"
|
||||||
msgstr "Місце встановлення Steam"
|
msgstr "Місце встановлення Steam"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||||
#: data/gtk/preferences.blp:78
|
#: data/gtk/preferences.blp:120
|
||||||
msgid "Directory to use when importing games"
|
msgid "Directory to use when importing games"
|
||||||
msgstr "Каталог для імпорту ігор"
|
msgstr "Каталог для імпорту ігор"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:39
|
#: data/gtk/preferences.blp:52
|
||||||
|
msgid "Extra Steam Libraries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:53
|
||||||
|
msgid "Select other directories where you have Steam games installed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:60
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/gtk/preferences.blp:81
|
||||||
msgid "Heroic Install Location"
|
msgid "Heroic Install Location"
|
||||||
msgstr "Місце встановлення Heroic"
|
msgstr "Місце встановлення Heroic"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:49
|
#: data/gtk/preferences.blp:91
|
||||||
msgid "Import Epic Games"
|
msgid "Import Epic Games"
|
||||||
msgstr "Імпорт Epic Games"
|
msgstr "Імпорт Epic Games"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:57
|
#: data/gtk/preferences.blp:99
|
||||||
msgid "Import GOG Games"
|
msgid "Import GOG Games"
|
||||||
msgstr "Імпорт ігор GOG"
|
msgstr "Імпорт ігор GOG"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:65
|
#: data/gtk/preferences.blp:107
|
||||||
msgid "Import Sideloaded Games"
|
msgid "Import Sideloaded Games"
|
||||||
msgstr "Імпорт сторонніх ігор"
|
msgstr "Імпорт сторонніх ігор"
|
||||||
|
|
||||||
#: data/gtk/preferences.blp:77
|
#: data/gtk/preferences.blp:119
|
||||||
msgid "Bottles Install Location"
|
msgid "Bottles Install Location"
|
||||||
msgstr "Місце встановлення Bottles"
|
msgstr "Місце встановлення Bottles"
|
||||||
|
|
||||||
@@ -259,41 +317,46 @@ msgstr "Місце встановлення Bottles"
|
|||||||
msgid "translator_credits"
|
msgid "translator_credits"
|
||||||
msgstr "kefir2105"
|
msgstr "kefir2105"
|
||||||
|
|
||||||
#: src/main.py:195
|
#: src/main.py:193
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "{title} removed"
|
msgid "{title} removed"
|
||||||
msgstr "видалено"
|
msgstr "{title} видалено"
|
||||||
|
|
||||||
#: src/main.py:196
|
#: src/main.py:194
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Відмінити"
|
msgstr "Відмінити"
|
||||||
|
|
||||||
#: src/window.py:229
|
#: src/window.py:234
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Сьогодні"
|
msgstr "Сьогодні"
|
||||||
|
|
||||||
#: src/window.py:231
|
#: src/window.py:236
|
||||||
msgid "Yesterday"
|
msgid "Yesterday"
|
||||||
msgstr "Вчора"
|
msgstr "Вчора"
|
||||||
|
|
||||||
#. The variable is the date when the game was added
|
#. 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
|
#: src/window.py:270
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Added: {date}"
|
||||||
|
msgstr "Додано: {date}"
|
||||||
|
|
||||||
|
#: src/window.py:275
|
||||||
msgid "Never"
|
msgid "Never"
|
||||||
msgstr ""
|
msgstr "Ніколи"
|
||||||
|
|
||||||
#. The variable is the date when the game was last played
|
#. The variable is the date when the game was last played
|
||||||
#: src/window.py:274
|
#: src/window.py:279
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Last played: {last_played_date}"
|
msgid "Last played: {last_played_date}"
|
||||||
msgstr "Остання гра: Ніколи"
|
msgstr "Останній раз грали: {last_played_date}"
|
||||||
|
|
||||||
|
#: src/game.py:173
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Подробиці гри"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
#: src/utils/bottles_parser.py:80 src/utils/heroic_parser.py:87
|
||||||
#: src/utils/steam_parser.py:230
|
#: src/utils/steam_parser.py:245
|
||||||
msgid "Couldn't Import Games"
|
msgid "Couldn't Import Games"
|
||||||
msgstr "Не вдається імпортувати ігри"
|
msgstr "Не вдається імпортувати ігри"
|
||||||
|
|
||||||
@@ -305,25 +368,25 @@ msgstr "Каталог Bottles не знайдено."
|
|||||||
msgid "Set Bottles Location"
|
msgid "Set Bottles Location"
|
||||||
msgstr "Встановити розташування Bottles"
|
msgstr "Встановити розташування Bottles"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:143
|
#: src/utils/bottles_parser.py:141
|
||||||
msgid "No new games were found in the Bottles library."
|
msgid "No new games were found in the Bottles library."
|
||||||
msgstr "У бібліотеці Bottles нових ігор не знайдено."
|
msgstr "У бібліотеці Bottles нових ігор не знайдено."
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:148 src/utils/bottles_parser.py:155
|
#: src/utils/bottles_parser.py:146 src/utils/bottles_parser.py:153
|
||||||
msgid "Bottles Games Imported"
|
msgid "Bottles Games Imported"
|
||||||
msgstr "Ігри Bottles імпортовано"
|
msgstr "Ігри Bottles імпортовано"
|
||||||
|
|
||||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||||
#: src/utils/steam_parser.py:164
|
#: src/utils/steam_parser.py:177
|
||||||
msgid "Successfully imported 1 game."
|
msgid "Successfully imported 1 game."
|
||||||
msgstr "Успішно імпортовано 1 гру."
|
msgstr "Успішно імпортовано 1 гру."
|
||||||
|
|
||||||
#. The variable is the number of games
|
#. The variable is the number of games
|
||||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
#: src/utils/bottles_parser.py:155 src/utils/heroic_parser.py:265
|
||||||
#: src/utils/steam_parser.py:172
|
#: src/utils/steam_parser.py:185
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully imported {games_no} games."
|
msgid "Successfully imported {games_no} games."
|
||||||
msgstr "Успішно імпортовано 1 гру."
|
msgstr "Успішно імпортовано {games_no} ігри."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:41
|
#: src/utils/create_details_window.py:41
|
||||||
msgid "Add New Game"
|
msgid "Add New Game"
|
||||||
@@ -333,10 +396,6 @@ msgstr "Додати нову гру"
|
|||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Підтвердити"
|
msgstr "Підтвердити"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:48
|
|
||||||
msgid "Edit Game Details"
|
|
||||||
msgstr "Редагувати інформацію про гру"
|
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:57
|
#: src/utils/create_details_window.py:57
|
||||||
msgid "Apply"
|
msgid "Apply"
|
||||||
msgstr "Застосувати"
|
msgstr "Застосувати"
|
||||||
@@ -357,36 +416,41 @@ msgstr "Розробник"
|
|||||||
msgid "The developer or publisher (optional)"
|
msgid "The developer or publisher (optional)"
|
||||||
msgstr "Розробник або видавець (необов'язково)"
|
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"
|
msgid "file.txt"
|
||||||
msgstr ""
|
msgstr "file.txt"
|
||||||
|
|
||||||
#. As in software
|
#. As in software
|
||||||
#: src/utils/create_details_window.py:113
|
#: src/utils/create_details_window.py:114
|
||||||
msgid "program"
|
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
|
#, python-brace-format
|
||||||
msgid "C:\\path\\to\\{exe_name}"
|
msgid "C:\\path\\to\\{exe_name}"
|
||||||
msgstr ""
|
msgstr "C:\\path\\to\\{exe_name}"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:118
|
|
||||||
#, python-brace-format
|
|
||||||
msgid "C:\\path\\to\\{file_name}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
|
#. Translate this string as you would translate "path to {file_name}"
|
||||||
#: src/utils/create_details_window.py:121
|
#: src/utils/create_details_window.py:121
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "/path/to/{exe_name}"
|
msgid "C:\\path\\to\\{file_name}"
|
||||||
msgstr ""
|
msgstr "C:\\path\\to\\{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 "/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
|
#, python-brace-format
|
||||||
msgid "/path/to/{file_name}"
|
msgid "/path/to/{file_name}"
|
||||||
msgstr ""
|
msgstr "/path/to/{file_name}"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:126
|
#: src/utils/create_details_window.py:131
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||||
@@ -399,39 +463,51 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Щоб запустити виконуваний файл \"{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"
|
msgid "Executable"
|
||||||
msgstr "Виконуваний"
|
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"
|
msgid "File to open or command to run when launching the game"
|
||||||
msgstr "Файл для відкриття або команда для запуску під час запуску гри"
|
msgstr "Файл для відкриття або команда для запуску під час запуску гри"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:162
|
#: src/utils/create_details_window.py:167
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Скасувати"
|
msgstr "Скасувати"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:217
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:227
|
||||||
|
#: src/utils/create_details_window.py:233
|
||||||
msgid "Couldn't Add Game"
|
msgid "Couldn't Add Game"
|
||||||
msgstr "Не вдалося додати гру"
|
msgstr "Не вдалося додати гру"
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:208
|
#: src/utils/create_details_window.py:219
|
||||||
#: src/utils/create_details_window.py:239
|
#: 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."
|
msgid "Game title cannot be empty."
|
||||||
msgstr "Назва гри не може бути порожньою."
|
msgstr "Назва гри не може бути порожньою."
|
||||||
|
|
||||||
#: src/utils/create_details_window.py:214
|
#: src/utils/create_details_window.py:233
|
||||||
#: src/utils/create_details_window.py:247
|
#: src/utils/create_details_window.py:266
|
||||||
msgid "Executable cannot be empty."
|
msgid "Executable cannot be empty."
|
||||||
msgstr "Виконуваний файл не може бути порожнім."
|
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
|
#: src/utils/create_dialog.py:25
|
||||||
msgid "Dismiss"
|
msgid "Dismiss"
|
||||||
msgstr "Відхилити"
|
msgstr "Відхилити"
|
||||||
@@ -444,36 +520,35 @@ msgstr "Не вдається знайти каталог Heroic."
|
|||||||
msgid "Set Heroic Location"
|
msgid "Set Heroic Location"
|
||||||
msgstr "Встановіть розташування Heroic"
|
msgstr "Встановіть розташування Heroic"
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:242
|
#: src/utils/heroic_parser.py:251
|
||||||
msgid "No new games were found in the Heroic library."
|
msgid "No new games were found in the Heroic library."
|
||||||
msgstr "У бібліотеці Heroic нових ігор не знайдено."
|
msgstr "У бібліотеці Heroic нових ігор не знайдено."
|
||||||
|
|
||||||
#: src/utils/heroic_parser.py:247 src/utils/heroic_parser.py:254
|
#: src/utils/heroic_parser.py:256 src/utils/heroic_parser.py:263
|
||||||
msgid "Heroic Games Imported"
|
msgid "Heroic Games Imported"
|
||||||
msgstr "Ігри Heroic імпортовано"
|
msgstr "Ігри Heroic імпортовано"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:158
|
#: src/utils/steam_parser.py:168
|
||||||
msgid "No new games were found in the Steam library."
|
msgid "No new games were found in the Steam library."
|
||||||
msgstr "У бібліотеці Steam не знайдено жодної нової гри."
|
msgstr "У бібліотеці Steam не знайдено жодної нової гри."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:163 src/utils/steam_parser.py:170
|
#: src/utils/steam_parser.py:176 src/utils/steam_parser.py:183
|
||||||
msgid "Steam Games Imported"
|
msgid "Steam Games Imported"
|
||||||
msgstr "Ігри Steam імпортовано"
|
msgstr "Ігри Steam імпортовано"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:231
|
#: src/utils/steam_parser.py:246
|
||||||
msgid "The Steam directory cannot be found."
|
msgid "The Steam directory cannot be found."
|
||||||
msgstr "Каталог Steam знайти неможливо."
|
msgstr "Каталог Steam знайти неможливо."
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:233
|
#: src/utils/steam_parser.py:248
|
||||||
msgid "Set Steam Location"
|
msgid "Set Steam Location"
|
||||||
msgstr "Встановіть розташування Steam"
|
msgstr "Встановіть розташування Steam"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:249
|
#: src/utils/steam_parser.py:265
|
||||||
#, fuzzy
|
|
||||||
msgid "Importing Games…"
|
msgid "Importing Games…"
|
||||||
msgstr "Імпорт ігор…"
|
msgstr "Імпорт ігор…"
|
||||||
|
|
||||||
#: src/utils/steam_parser.py:250
|
#: src/utils/steam_parser.py:266
|
||||||
msgid "Talking to Steam"
|
msgid "Talking to Steam"
|
||||||
msgstr "Спілкування зі Steam"
|
msgstr "Спілкування зі Steam"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# cartridges.in
|
# cartridges.in
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -25,22 +25,31 @@ import signal
|
|||||||
import locale
|
import locale
|
||||||
import gettext
|
import gettext
|
||||||
|
|
||||||
VERSION = '@VERSION@'
|
VERSION = "@VERSION@"
|
||||||
pkgdatadir = '@pkgdatadir@'
|
if os.name == "nt":
|
||||||
localedir = '@localedir@'
|
pkgdatadir = os.path.join(os.path.dirname(__file__), "..", "share", "cartridges")
|
||||||
|
localedir = os.path.join(os.path.dirname(__file__), "..", "share", "locale")
|
||||||
|
else:
|
||||||
|
pkgdatadir = "@pkgdatadir@"
|
||||||
|
localedir = "@localedir@"
|
||||||
|
|
||||||
sys.path.insert(1, pkgdatadir)
|
sys.path.insert(1, pkgdatadir)
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||||
locale.bindtextdomain('cartridges', localedir)
|
|
||||||
locale.textdomain('cartridges')
|
|
||||||
gettext.install('cartridges', localedir)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if os.name != "nt":
|
||||||
|
locale.bindtextdomain("cartridges", localedir)
|
||||||
|
locale.textdomain("cartridges")
|
||||||
|
|
||||||
|
gettext.install("cartridges", localedir)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
from gi.repository import Gio
|
from gi.repository import Gio
|
||||||
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'cartridges.gresource'))
|
|
||||||
|
resource = Gio.Resource.load(os.path.join(pkgdatadir, "cartridges.gresource"))
|
||||||
resource._register()
|
resource._register()
|
||||||
|
|
||||||
from cartridges import main
|
from cartridges import main
|
||||||
|
|
||||||
sys.exit(main.main(VERSION))
|
sys.exit(main.main(VERSION))
|
||||||
|
|||||||
117
src/game.py
@@ -1,6 +1,6 @@
|
|||||||
# game.py
|
# game.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -17,13 +17,19 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# 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_games import save_games
|
||||||
|
|
||||||
|
|
||||||
@Gtk.Template(resource_path="/hu/kramo/Cartridges/gtk/game.ui")
|
@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"
|
__gtype_name__ = "game"
|
||||||
|
|
||||||
overlay = Gtk.Template.Child()
|
overlay = Gtk.Template.Child()
|
||||||
@@ -32,9 +38,10 @@ class game(Gtk.Box):
|
|||||||
cover = Gtk.Template.Child()
|
cover = Gtk.Template.Child()
|
||||||
cover_button = Gtk.Template.Child()
|
cover_button = Gtk.Template.Child()
|
||||||
menu_button = Gtk.Template.Child()
|
menu_button = Gtk.Template.Child()
|
||||||
hidden_game_options = Gtk.Template.Child()
|
|
||||||
play_revealer = Gtk.Template.Child()
|
play_revealer = Gtk.Template.Child()
|
||||||
title_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):
|
def __init__(self, parent_widget, data, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
@@ -50,7 +57,7 @@ class game(Gtk.Box):
|
|||||||
self.removed = "removed" in data.keys()
|
self.removed = "removed" in data.keys()
|
||||||
self.blacklisted = "blacklisted" 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.cover.set_pixbuf(self.pixbuf)
|
||||||
self.title.set_label(self.name)
|
self.title.set_label(self.name)
|
||||||
@@ -59,11 +66,83 @@ class game(Gtk.Box):
|
|||||||
self.add_controller(self.event_contoller_motion)
|
self.add_controller(self.event_contoller_motion)
|
||||||
self.overlay.set_measure_overlay(self.play_revealer, True)
|
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("enter", self.show_play)
|
||||||
self.event_contoller_motion.connect("leave", self.hide_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)
|
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_games({self.game_id: 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):
|
def show_play(self, _widget, *_unused):
|
||||||
self.play_revealer.set_reveal_child(True)
|
self.play_revealer.set_reveal_child(True)
|
||||||
self.title_revealer.set_reveal_child(False)
|
self.title_revealer.set_reveal_child(False)
|
||||||
@@ -73,6 +152,28 @@ class game(Gtk.Box):
|
|||||||
self.play_revealer.set_reveal_child(False)
|
self.play_revealer.set_reveal_child(False)
|
||||||
self.title_revealer.set_reveal_child(True)
|
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.set_active_game(None, None, self.game_id)
|
||||||
self.parent_widget.get_application().on_launch_game_action(None)
|
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()
|
||||||
|
|||||||
24
src/main.py
@@ -1,6 +1,6 @@
|
|||||||
# main.py
|
# main.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -26,6 +26,7 @@ import gi
|
|||||||
gi.require_version("Gtk", "4.0")
|
gi.require_version("Gtk", "4.0")
|
||||||
gi.require_version("Adw", "1")
|
gi.require_version("Adw", "1")
|
||||||
|
|
||||||
|
# pylint: disable=wrong-import-position
|
||||||
from gi.repository import Adw, Gio, GLib, Gtk
|
from gi.repository import Adw, Gio, GLib, Gtk
|
||||||
|
|
||||||
from .bottles_parser import bottles_parser
|
from .bottles_parser import bottles_parser
|
||||||
@@ -33,10 +34,8 @@ from .create_details_window import create_details_window
|
|||||||
from .get_games import get_games
|
from .get_games import get_games
|
||||||
from .heroic_parser import heroic_parser
|
from .heroic_parser import heroic_parser
|
||||||
from .preferences import PreferencesWindow
|
from .preferences import PreferencesWindow
|
||||||
from .run_command import run_command
|
|
||||||
from .save_games import save_games
|
from .save_games import save_games
|
||||||
from .steam_parser import steam_parser
|
from .steam_parser import steam_parser
|
||||||
from .toggle_hidden import toggle_hidden
|
|
||||||
from .window import CartridgesWindow
|
from .window import CartridgesWindow
|
||||||
|
|
||||||
|
|
||||||
@@ -64,10 +63,10 @@ class CartridgesApplication(Adw.Application):
|
|||||||
|
|
||||||
self.win = None
|
self.win = None
|
||||||
|
|
||||||
def do_activate(self):
|
def do_activate(self): # pylint: disable=arguments-differ
|
||||||
|
|
||||||
# Create the main window
|
# Create the main window
|
||||||
self.win = self.props.active_window
|
self.win = self.props.active_window # pylint: disable=no-member
|
||||||
if not self.win:
|
if not self.win:
|
||||||
self.win = CartridgesWindow(application=self)
|
self.win = CartridgesWindow(application=self)
|
||||||
|
|
||||||
@@ -116,13 +115,14 @@ class CartridgesApplication(Adw.Application):
|
|||||||
application_name=_("Cartridges"),
|
application_name=_("Cartridges"),
|
||||||
application_icon="hu.kramo.Cartridges",
|
application_icon="hu.kramo.Cartridges",
|
||||||
developer_name="kramo",
|
developer_name="kramo",
|
||||||
version="0.1.3",
|
version="1.1",
|
||||||
developers=[
|
developers=[
|
||||||
"kramo https://kramo.hu",
|
"kramo https://kramo.hu",
|
||||||
"Paweł Lidwin https://github.com/imLinguin",
|
"Paweł Lidwin https://github.com/imLinguin",
|
||||||
|
"Bananaman https://github.com/Bananaman",
|
||||||
],
|
],
|
||||||
designers=["kramo https://kramo.hu"],
|
designers=["kramo https://kramo.hu"],
|
||||||
copyright="© 2022 kramo",
|
copyright="© 2022-2023 kramo",
|
||||||
license_type=Gtk.License.GPL_3_0,
|
license_type=Gtk.License.GPL_3_0,
|
||||||
issue_url="https://github.com/kra-mo/cartridges/issues/new",
|
issue_url="https://github.com/kra-mo/cartridges/issues/new",
|
||||||
website="https://github.com/kra-mo/cartridges",
|
website="https://github.com/kra-mo/cartridges",
|
||||||
@@ -149,7 +149,6 @@ class CartridgesApplication(Adw.Application):
|
|||||||
self.win.update_games(games.keys())
|
self.win.update_games(games.keys())
|
||||||
|
|
||||||
def on_launch_game_action(self, _widget, _callback=None):
|
def on_launch_game_action(self, _widget, _callback=None):
|
||||||
|
|
||||||
# Launch the game and update the last played value
|
# Launch the game and update the last played value
|
||||||
|
|
||||||
game_id = self.win.active_game_id
|
game_id = self.win.active_game_id
|
||||||
@@ -158,7 +157,7 @@ class CartridgesApplication(Adw.Application):
|
|||||||
data["last_played"] = int(time.time())
|
data["last_played"] = int(time.time())
|
||||||
save_games({game_id: data})
|
save_games({game_id: data})
|
||||||
|
|
||||||
run_command(self.win.games[self.win.active_game_id].executable)
|
self.win.games[game_id].launch()
|
||||||
|
|
||||||
self.win.update_games([game_id])
|
self.win.update_games([game_id])
|
||||||
|
|
||||||
@@ -168,7 +167,7 @@ class CartridgesApplication(Adw.Application):
|
|||||||
def on_hide_game_action(self, _widget, _callback=None):
|
def on_hide_game_action(self, _widget, _callback=None):
|
||||||
if self.win.stack.get_visible_child() == self.win.overview:
|
if self.win.stack.get_visible_child() == self.win.overview:
|
||||||
self.win.on_go_back_action(None, None)
|
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])
|
self.win.update_games([self.win.active_game_id])
|
||||||
|
|
||||||
def on_edit_details_action(self, _widget, _callback=None):
|
def on_edit_details_action(self, _widget, _callback=None):
|
||||||
@@ -178,7 +177,6 @@ class CartridgesApplication(Adw.Application):
|
|||||||
create_details_window(self.win)
|
create_details_window(self.win)
|
||||||
|
|
||||||
def on_remove_game_action(self, _widget, _callback=None):
|
def on_remove_game_action(self, _widget, _callback=None):
|
||||||
|
|
||||||
# Add "removed=True" to the game properties so it can be deleted on next init
|
# Add "removed=True" to the game properties so it can be deleted on next init
|
||||||
game_id = self.win.active_game_id
|
game_id = self.win.active_game_id
|
||||||
|
|
||||||
@@ -191,7 +189,7 @@ class CartridgesApplication(Adw.Application):
|
|||||||
self.win.on_go_back_action(None, None)
|
self.win.on_go_back_action(None, None)
|
||||||
|
|
||||||
# The variable is the title of the game
|
# The variable is the title of the game
|
||||||
title = {self.win.games[game_id].name}
|
title = self.win.games[game_id].name
|
||||||
toast = Adw.Toast.new(_(f"{title} removed"))
|
toast = Adw.Toast.new(_(f"{title} removed"))
|
||||||
toast.set_button_label(_("Undo"))
|
toast.set_button_label(_("Undo"))
|
||||||
toast.connect("button-clicked", self.win.on_undo_remove_action, game_id)
|
toast.connect("button-clicked", self.win.on_undo_remove_action, game_id)
|
||||||
@@ -215,6 +213,6 @@ class CartridgesApplication(Adw.Application):
|
|||||||
self.set_accels_for_action(f"win.{name}", shortcuts)
|
self.set_accels_for_action(f"win.{name}", shortcuts)
|
||||||
|
|
||||||
|
|
||||||
def main(version):
|
def main(version): # pylint: disable=unused-argument
|
||||||
app = CartridgesApplication()
|
app = CartridgesApplication()
|
||||||
return app.run(sys.argv)
|
return app.run(sys.argv)
|
||||||
|
|||||||
@@ -25,12 +25,9 @@ cartridges_sources = [
|
|||||||
'utils/steam_parser.py',
|
'utils/steam_parser.py',
|
||||||
'utils/heroic_parser.py',
|
'utils/heroic_parser.py',
|
||||||
'utils/bottles_parser.py',
|
'utils/bottles_parser.py',
|
||||||
'utils/run_command.py',
|
|
||||||
'utils/get_games.py',
|
'utils/get_games.py',
|
||||||
'utils/get_cover.py',
|
|
||||||
'utils/save_games.py',
|
'utils/save_games.py',
|
||||||
'utils/save_cover.py',
|
'utils/save_cover.py',
|
||||||
'utils/toggle_hidden.py',
|
|
||||||
'utils/create_dialog.py',
|
'utils/create_dialog.py',
|
||||||
'utils/create_details_window.py'
|
'utils/create_details_window.py'
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# preferences.py
|
# preferences.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -27,15 +27,22 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
__gtype_name__ = "PreferencesWindow"
|
__gtype_name__ = "PreferencesWindow"
|
||||||
|
|
||||||
page = Gtk.Template.Child()
|
page = Gtk.Template.Child()
|
||||||
bottles_group = Gtk.Template.Child()
|
|
||||||
|
|
||||||
exit_after_launch_switch = Gtk.Template.Child()
|
exit_after_launch_switch = Gtk.Template.Child()
|
||||||
import_epic_games_switch = Gtk.Template.Child()
|
cover_launches_game_switch = Gtk.Template.Child()
|
||||||
import_gog_games_switch = Gtk.Template.Child()
|
high_quality_images_switch = Gtk.Template.Child()
|
||||||
import_sideload_games_switch = Gtk.Template.Child()
|
|
||||||
|
|
||||||
steam_file_chooser_button = Gtk.Template.Child()
|
steam_file_chooser_button = Gtk.Template.Child()
|
||||||
|
steam_extra_file_chooser_button = Gtk.Template.Child()
|
||||||
|
steam_clear_button_revealer = Gtk.Template.Child()
|
||||||
|
steam_clear_button = Gtk.Template.Child()
|
||||||
|
|
||||||
heroic_file_chooser_button = 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_group = Gtk.Template.Child()
|
||||||
bottles_file_chooser_button = Gtk.Template.Child()
|
bottles_file_chooser_button = Gtk.Template.Child()
|
||||||
|
|
||||||
def __init__(self, parent_widget, **kwargs):
|
def __init__(self, parent_widget, **kwargs):
|
||||||
@@ -49,27 +56,45 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
"active",
|
"active",
|
||||||
Gio.SettingsBindFlags.DEFAULT,
|
Gio.SettingsBindFlags.DEFAULT,
|
||||||
)
|
)
|
||||||
|
schema.bind(
|
||||||
|
"cover-launches-game",
|
||||||
|
self.cover_launches_game_switch,
|
||||||
|
"active",
|
||||||
|
Gio.SettingsBindFlags.DEFAULT,
|
||||||
|
)
|
||||||
|
schema.bind(
|
||||||
|
"high-quality-images",
|
||||||
|
self.high_quality_images_switch,
|
||||||
|
"active",
|
||||||
|
Gio.SettingsBindFlags.DEFAULT,
|
||||||
|
)
|
||||||
schema.bind(
|
schema.bind(
|
||||||
"heroic-import-epic",
|
"heroic-import-epic",
|
||||||
self.import_epic_games_switch,
|
self.heroic_epic_switch,
|
||||||
"active",
|
"active",
|
||||||
Gio.SettingsBindFlags.DEFAULT,
|
Gio.SettingsBindFlags.DEFAULT,
|
||||||
)
|
)
|
||||||
schema.bind(
|
schema.bind(
|
||||||
"heroic-import-gog",
|
"heroic-import-gog",
|
||||||
self.import_gog_games_switch,
|
self.heroic_gog_switch,
|
||||||
"active",
|
"active",
|
||||||
Gio.SettingsBindFlags.DEFAULT,
|
Gio.SettingsBindFlags.DEFAULT,
|
||||||
)
|
)
|
||||||
schema.bind(
|
schema.bind(
|
||||||
"heroic-import-sideload",
|
"heroic-import-sideload",
|
||||||
self.import_sideload_games_switch,
|
self.heroic_sideloaded_switch,
|
||||||
"active",
|
"active",
|
||||||
Gio.SettingsBindFlags.DEFAULT,
|
Gio.SettingsBindFlags.DEFAULT,
|
||||||
)
|
)
|
||||||
|
|
||||||
filechooser = Gtk.FileDialog()
|
filechooser = Gtk.FileDialog()
|
||||||
|
|
||||||
|
def update_revealer():
|
||||||
|
if 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):
|
def set_steam_dir(_source, result, _unused):
|
||||||
try:
|
try:
|
||||||
schema.set_string(
|
schema.set_string(
|
||||||
@@ -79,6 +104,19 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
except GLib.GError:
|
except GLib.GError:
|
||||||
pass
|
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)
|
||||||
|
except GLib.GError:
|
||||||
|
pass
|
||||||
|
update_revealer()
|
||||||
|
|
||||||
|
def clear_steam_dirs(*_unused):
|
||||||
|
schema.set_strv("steam-extra-dirs", [])
|
||||||
|
update_revealer()
|
||||||
|
|
||||||
def set_heroic_dir(_source, result, _unused):
|
def set_heroic_dir(_source, result, _unused):
|
||||||
try:
|
try:
|
||||||
schema.set_string(
|
schema.set_string(
|
||||||
@@ -100,7 +138,13 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
|||||||
def choose_folder(_widget, function):
|
def choose_folder(_widget, function):
|
||||||
filechooser.select_folder(parent_widget, None, function, None)
|
filechooser.select_folder(parent_widget, None, function, None)
|
||||||
|
|
||||||
|
update_revealer()
|
||||||
|
|
||||||
self.steam_file_chooser_button.connect("clicked", choose_folder, set_steam_dir)
|
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
|
||||||
|
)
|
||||||
|
self.steam_clear_button.connect("clicked", clear_steam_dirs)
|
||||||
self.heroic_file_chooser_button.connect(
|
self.heroic_file_chooser_button.connect(
|
||||||
"clicked", choose_folder, set_heroic_dir
|
"clicked", choose_folder, set_heroic_dir
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# bottles_parser.py
|
# bottles_parser.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -83,9 +83,7 @@ def bottles_parser(parent_widget, action):
|
|||||||
_("Set Bottles Location"),
|
_("Set Bottles Location"),
|
||||||
).connect("response", response)
|
).connect("response", response)
|
||||||
|
|
||||||
if os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
if not os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
||||||
pass
|
|
||||||
else:
|
|
||||||
bottles_not_found()
|
bottles_not_found()
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
@@ -96,7 +94,6 @@ def bottles_parser(parent_widget, action):
|
|||||||
|
|
||||||
with open(os.path.join(bottles_dir, "library.yml"), "r") as open_file:
|
with open(os.path.join(bottles_dir, "library.yml"), "r") as open_file:
|
||||||
data = open_file.read()
|
data = open_file.read()
|
||||||
open_file.close()
|
|
||||||
|
|
||||||
library = yaml.load(data, Loader=yaml.Loader)
|
library = yaml.load(data, Loader=yaml.Loader)
|
||||||
|
|
||||||
@@ -104,7 +101,7 @@ def bottles_parser(parent_widget, action):
|
|||||||
game = library[game]
|
game = library[game]
|
||||||
values = {}
|
values = {}
|
||||||
|
|
||||||
values["game_id"] = "bottles_" + game["id"]
|
values["game_id"] = f'bottles_{game["id"]}'
|
||||||
|
|
||||||
if (
|
if (
|
||||||
values["game_id"] in parent_widget.games
|
values["game_id"] in parent_widget.games
|
||||||
@@ -113,9 +110,10 @@ def bottles_parser(parent_widget, action):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
values["name"] = game["name"]
|
values["name"] = game["name"]
|
||||||
values["executable"] = (
|
values["executable"] = [
|
||||||
"xdg-open bottles:run/" + game["bottle"]["name"] + "/" + game["name"]
|
"xdg-open",
|
||||||
)
|
f'bottles:run/{game["bottle"]["name"]}/{game["name"]}',
|
||||||
|
]
|
||||||
values["hidden"] = False
|
values["hidden"] = False
|
||||||
values["source"] = "bottles"
|
values["source"] = "bottles"
|
||||||
values["added"] = current_time
|
values["added"] = current_time
|
||||||
@@ -136,7 +134,7 @@ def bottles_parser(parent_widget, action):
|
|||||||
|
|
||||||
bottles_games[values["game_id"]] = values
|
bottles_games[values["game_id"]] = values
|
||||||
|
|
||||||
if len(bottles_games) == 0:
|
if not bottles_games:
|
||||||
create_dialog(
|
create_dialog(
|
||||||
parent_widget,
|
parent_widget,
|
||||||
_("No Games Found"),
|
_("No Games Found"),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# create_details_window.py
|
# create_details_window.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -19,12 +19,12 @@
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
import shlex
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, GObject, Gtk
|
from gi.repository import Adw, GdkPixbuf, Gio, GLib, GObject, Gtk
|
||||||
|
|
||||||
from .create_dialog import create_dialog
|
from .create_dialog import create_dialog
|
||||||
from .get_cover import get_cover
|
|
||||||
from .save_cover import save_cover
|
from .save_cover import save_cover
|
||||||
from .save_games import save_games
|
from .save_games import save_games
|
||||||
|
|
||||||
@@ -46,13 +46,13 @@ def create_details_window(parent_widget, game_id=None):
|
|||||||
apply_button = Gtk.Button.new_with_label(_("Confirm"))
|
apply_button = Gtk.Button.new_with_label(_("Confirm"))
|
||||||
else:
|
else:
|
||||||
window.set_title(_("Edit Game Details"))
|
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(
|
developer = Gtk.Entry.new_with_buffer(
|
||||||
Gtk.EntryBuffer.new(games[game_id].developer, -1)
|
Gtk.EntryBuffer.new(games[game_id].developer, -1)
|
||||||
)
|
)
|
||||||
name = Gtk.Entry.new_with_buffer(Gtk.EntryBuffer.new(games[game_id].name, -1))
|
name = Gtk.Entry.new_with_buffer(Gtk.EntryBuffer.new(games[game_id].name, -1))
|
||||||
executable = Gtk.Entry.new_with_buffer(
|
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"))
|
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"],
|
css_classes=["flat", "circular"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Translate this string as you would translate "file"
|
||||||
file_name = _("file.txt")
|
file_name = _("file.txt")
|
||||||
# As in software
|
# As in software
|
||||||
exe_name = _("program")
|
exe_name = _("program")
|
||||||
|
|
||||||
if os.name == "nt":
|
if os.name == "nt":
|
||||||
exe_name += ".exe"
|
exe_name += ".exe"
|
||||||
|
# Translate this string as you would translate "path to {exe_name}"
|
||||||
exe_path = _(f"C:\\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}")
|
file_path = _(f"C:\\path\\to\\{file_name}")
|
||||||
command = "start"
|
command = "start"
|
||||||
else:
|
else:
|
||||||
|
# Translate this string as you would translate "path to {exe_name}"
|
||||||
exe_path = _(f"/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}")
|
file_path = _(f"/path/to/{file_name}")
|
||||||
command = "xdg-open"
|
command = "xdg-open"
|
||||||
|
|
||||||
@@ -201,8 +206,22 @@ def create_details_window(parent_widget, game_id=None):
|
|||||||
final_developer = developer.get_buffer().get_text()
|
final_developer = developer.get_buffer().get_text()
|
||||||
final_executable = executable.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 == "":
|
if final_name == "":
|
||||||
create_dialog(
|
create_dialog(
|
||||||
window, _("Couldn't Add Game"), _("Game title cannot be empty.")
|
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:
|
if "imported_" in game:
|
||||||
numbers.append(int(game.replace("imported_", "")))
|
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["game_id"] = game_id
|
||||||
values["hidden"] = False
|
values["hidden"] = False
|
||||||
@@ -252,8 +271,8 @@ def create_details_window(parent_widget, game_id=None):
|
|||||||
save_cover(None, parent_widget, None, pixbuf, game_id)
|
save_cover(None, parent_widget, None, pixbuf, game_id)
|
||||||
|
|
||||||
values["name"] = final_name
|
values["name"] = final_name
|
||||||
values["developer"] = final_developer if final_developer else None
|
values["developer"] = final_developer or None
|
||||||
values["executable"] = final_executable
|
values["executable"] = final_executable_split
|
||||||
|
|
||||||
path = os.path.join(
|
path = os.path.join(
|
||||||
os.path.join(
|
os.path.join(
|
||||||
@@ -261,14 +280,13 @@ def create_details_window(parent_widget, game_id=None):
|
|||||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||||
"cartridges",
|
"cartridges",
|
||||||
"games",
|
"games",
|
||||||
game_id + ".json",
|
f"{game_id}.json",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if os.path.exists(path):
|
if os.path.exists(path):
|
||||||
with open(path, "r") as open_file:
|
with open(path, "r") as open_file:
|
||||||
data = json.loads(open_file.read())
|
data = json.loads(open_file.read())
|
||||||
open_file.close()
|
|
||||||
data.update(values)
|
data.update(values)
|
||||||
save_games({game_id: data})
|
save_games({game_id: data})
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# create_dialog.py
|
# create_dialog.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
# get_cover.py
|
|
||||||
#
|
|
||||||
# Copyright 2022 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)
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# get_games.py
|
# get_games.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -33,16 +33,14 @@ def get_games(game_ids=None):
|
|||||||
if not os.path.exists(games_dir):
|
if not os.path.exists(games_dir):
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
if not game_ids:
|
if game_ids:
|
||||||
game_files = os.listdir(games_dir)
|
game_files = [f"{game_id}.json" for game_id in game_ids]
|
||||||
else:
|
else:
|
||||||
game_files = []
|
game_files = os.listdir(games_dir)
|
||||||
for game_id in game_ids:
|
|
||||||
game_files.append(game_id + ".json")
|
|
||||||
|
|
||||||
for game in game_files:
|
for game in game_files:
|
||||||
with open(os.path.join(games_dir, game), "r") as open_file:
|
with open(os.path.join(games_dir, game), "r") as open_file:
|
||||||
data = json.loads(open_file.read())
|
data = json.loads(open_file.read())
|
||||||
open_file.close()
|
|
||||||
games[data["game_id"]] = data
|
games[data["game_id"]] = data
|
||||||
|
|
||||||
return games
|
return games
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# heroic_parser.py
|
# heroic_parser.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -90,9 +90,7 @@ def heroic_parser(parent_widget, action):
|
|||||||
_("Set Heroic Location"),
|
_("Set Heroic Location"),
|
||||||
).connect("response", response)
|
).connect("response", response)
|
||||||
|
|
||||||
if os.path.exists(os.path.join(heroic_dir, "config.json")):
|
if not os.path.exists(os.path.join(heroic_dir, "config.json")):
|
||||||
pass
|
|
||||||
else:
|
|
||||||
heroic_not_found()
|
heroic_not_found()
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
@@ -109,43 +107,49 @@ def heroic_parser(parent_widget, action):
|
|||||||
os.path.join(heroic_dir, "lib-cache", "library.json"), "r"
|
os.path.join(heroic_dir, "lib-cache", "library.json"), "r"
|
||||||
) as open_file:
|
) as open_file:
|
||||||
data = open_file.read()
|
data = open_file.read()
|
||||||
open_file.close()
|
|
||||||
library = json.loads(data)
|
library = json.loads(data)
|
||||||
|
|
||||||
for game in library["library"]:
|
try:
|
||||||
if not game["is_installed"]:
|
for game in library["library"]:
|
||||||
continue
|
if not game["is_installed"]:
|
||||||
|
continue
|
||||||
|
|
||||||
values = {}
|
values = {}
|
||||||
|
|
||||||
app_name = game["app_name"]
|
app_name = game["app_name"]
|
||||||
values["game_id"] = "heroic_epic_" + app_name
|
values["game_id"] = f"heroic_epic_{app_name}"
|
||||||
|
|
||||||
if (
|
if (
|
||||||
values["game_id"] in parent_widget.games
|
values["game_id"] in parent_widget.games
|
||||||
and not parent_widget.games[values["game_id"]].removed
|
and not parent_widget.games[values["game_id"]].removed
|
||||||
):
|
):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
values["name"] = game["title"]
|
values["name"] = game["title"]
|
||||||
values["developer"] = game["developer"]
|
values["developer"] = game["developer"]
|
||||||
values["executable"] = "xdg-open heroic://launch/" + app_name
|
values["executable"] = (
|
||||||
values["hidden"] = False
|
["start", f"heroic://launch/{app_name}"]
|
||||||
values["source"] = "heroic_epic"
|
if os.name == "nt"
|
||||||
values["added"] = current_time
|
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||||
values["last_played"] = 0
|
)
|
||||||
|
values["hidden"] = False
|
||||||
|
values["source"] = "heroic_epic"
|
||||||
|
values["added"] = current_time
|
||||||
|
values["last_played"] = 0
|
||||||
|
|
||||||
image_path = os.path.join(
|
image_path = os.path.join(
|
||||||
heroic_dir,
|
heroic_dir,
|
||||||
"images-cache",
|
"images-cache",
|
||||||
hashlib.sha256(
|
hashlib.sha256(
|
||||||
(game["art_square"] + "?h=400&resize=1&w=300").encode()
|
(f'{game["art_square"]}?h=400&resize=1&w=300').encode()
|
||||||
).hexdigest(),
|
).hexdigest(),
|
||||||
)
|
)
|
||||||
if os.path.exists(image_path):
|
if os.path.exists(image_path):
|
||||||
save_cover(values, parent_widget, image_path)
|
save_cover(values, parent_widget, image_path)
|
||||||
|
|
||||||
heroic_games[values["game_id"]] = values
|
heroic_games[values["game_id"]] = values
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
# Import GOG games
|
# Import GOG games
|
||||||
if not schema.get_boolean("heroic-import-gog"):
|
if not schema.get_boolean("heroic-import-gog"):
|
||||||
@@ -155,13 +159,12 @@ def heroic_parser(parent_widget, action):
|
|||||||
os.path.join(heroic_dir, "gog_store", "installed.json"), "r"
|
os.path.join(heroic_dir, "gog_store", "installed.json"), "r"
|
||||||
) as open_file:
|
) as open_file:
|
||||||
data = open_file.read()
|
data = open_file.read()
|
||||||
open_file.close()
|
|
||||||
installed = json.loads(data)
|
installed = json.loads(data)
|
||||||
for item in installed["installed"]:
|
for item in installed["installed"]:
|
||||||
values = {}
|
values = {}
|
||||||
app_name = item["appName"]
|
app_name = item["appName"]
|
||||||
|
|
||||||
values["game_id"] = "heroic_gog_" + app_name
|
values["game_id"] = f"heroic_gog_{app_name}"
|
||||||
|
|
||||||
if (
|
if (
|
||||||
values["game_id"] in parent_widget.games
|
values["game_id"] in parent_widget.games
|
||||||
@@ -174,7 +177,6 @@ def heroic_parser(parent_widget, action):
|
|||||||
os.path.join(heroic_dir, "gog_store", "library.json"), "r"
|
os.path.join(heroic_dir, "gog_store", "library.json"), "r"
|
||||||
) as open_file:
|
) as open_file:
|
||||||
data = open_file.read()
|
data = open_file.read()
|
||||||
open_file.close()
|
|
||||||
library = json.loads(data)
|
library = json.loads(data)
|
||||||
for game in library["games"]:
|
for game in library["games"]:
|
||||||
if game["app_name"] == app_name:
|
if game["app_name"] == app_name:
|
||||||
@@ -189,7 +191,11 @@ def heroic_parser(parent_widget, action):
|
|||||||
save_cover(values, parent_widget, image_path)
|
save_cover(values, parent_widget, image_path)
|
||||||
break
|
break
|
||||||
|
|
||||||
values["executable"] = "xdg-open heroic://launch/" + app_name
|
values["executable"] = (
|
||||||
|
["start", f"heroic://launch/{app_name}"]
|
||||||
|
if os.name == "nt"
|
||||||
|
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||||
|
)
|
||||||
values["hidden"] = False
|
values["hidden"] = False
|
||||||
values["source"] = "heroic_gog"
|
values["source"] = "heroic_gog"
|
||||||
values["added"] = current_time
|
values["added"] = current_time
|
||||||
@@ -205,13 +211,12 @@ def heroic_parser(parent_widget, action):
|
|||||||
os.path.join(heroic_dir, "sideload_apps", "library.json"), "r"
|
os.path.join(heroic_dir, "sideload_apps", "library.json"), "r"
|
||||||
) as open_file:
|
) as open_file:
|
||||||
data = open_file.read()
|
data = open_file.read()
|
||||||
open_file.close()
|
|
||||||
library = json.loads(data)
|
library = json.loads(data)
|
||||||
for item in library["games"]:
|
for item in library["games"]:
|
||||||
values = {}
|
values = {}
|
||||||
app_name = item["app_name"]
|
app_name = item["app_name"]
|
||||||
|
|
||||||
values["game_id"] = "heroic_sideload_" + app_name
|
values["game_id"] = f"heroic_sideload_{app_name}"
|
||||||
|
|
||||||
if (
|
if (
|
||||||
values["game_id"] in parent_widget.games
|
values["game_id"] in parent_widget.games
|
||||||
@@ -220,7 +225,11 @@ def heroic_parser(parent_widget, action):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
values["name"] = item["title"]
|
values["name"] = item["title"]
|
||||||
values["executable"] = "xdg-open heroic://launch/" + app_name
|
values["executable"] = (
|
||||||
|
["start", f"heroic://launch/{app_name}"]
|
||||||
|
if os.name == "nt"
|
||||||
|
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||||
|
)
|
||||||
values["hidden"] = False
|
values["hidden"] = False
|
||||||
values["source"] = "heroic_sideload"
|
values["source"] = "heroic_sideload"
|
||||||
values["added"] = current_time
|
values["added"] = current_time
|
||||||
@@ -235,7 +244,7 @@ def heroic_parser(parent_widget, action):
|
|||||||
|
|
||||||
heroic_games[values["game_id"]] = values
|
heroic_games[values["game_id"]] = values
|
||||||
|
|
||||||
if len(heroic_games) == 0:
|
if not heroic_games:
|
||||||
create_dialog(
|
create_dialog(
|
||||||
parent_widget,
|
parent_widget,
|
||||||
_("No Games Found"),
|
_("No Games Found"),
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
# run_command.py
|
|
||||||
#
|
|
||||||
# Copyright 2022 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],
|
|
||||||
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()
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# save_cover.py
|
# save_cover.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -29,8 +29,6 @@ def save_cover(game, parent_widget, file_path, pixbuf=None, game_id=None):
|
|||||||
"cartridges",
|
"cartridges",
|
||||||
"covers",
|
"covers",
|
||||||
)
|
)
|
||||||
if not os.path.exists(covers_dir):
|
|
||||||
os.makedirs(covers_dir)
|
|
||||||
|
|
||||||
if game_id is None:
|
if game_id is None:
|
||||||
game_id = game["game_id"]
|
game_id = game["game_id"]
|
||||||
@@ -41,12 +39,15 @@ def save_cover(game, parent_widget, file_path, pixbuf=None, game_id=None):
|
|||||||
def cover_callback(*_unused):
|
def cover_callback(*_unused):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
open_file = Gio.File.new_for_path(os.path.join(covers_dir, game_id + ".tiff"))
|
if not os.path.exists(covers_dir):
|
||||||
|
os.makedirs(covers_dir)
|
||||||
|
|
||||||
|
open_file = Gio.File.new_for_path(os.path.join(covers_dir, f"{game_id}.tiff"))
|
||||||
parent_widget.pixbufs[game_id] = pixbuf
|
parent_widget.pixbufs[game_id] = pixbuf
|
||||||
pixbuf.save_to_streamv_async(
|
pixbuf.save_to_streamv_async(
|
||||||
open_file.replace(None, False, Gio.FileCreateFlags.NONE),
|
open_file.replace(None, False, Gio.FileCreateFlags.NONE),
|
||||||
"tiff",
|
"tiff",
|
||||||
["compression"],
|
["compression"],
|
||||||
["7"],
|
["8"] if parent_widget.schema.get_boolean("high-quality-images") else ["7"],
|
||||||
callback=cover_callback,
|
callback=cover_callback,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# save_games.py
|
# save_games.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -33,6 +33,5 @@ def save_games(games):
|
|||||||
os.makedirs(games_dir)
|
os.makedirs(games_dir)
|
||||||
|
|
||||||
for game in games:
|
for game in games:
|
||||||
with open(os.path.join(games_dir, game + ".json"), "w") as open_file:
|
with open(os.path.join(games_dir, f"{game}.json"), "w") as open_file:
|
||||||
open_file.write(json.dumps(games[game], indent=4, sort_keys=True))
|
open_file.write(json.dumps(games[game], indent=4, sort_keys=True))
|
||||||
open_file.close()
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# steam_parser.py
|
# steam_parser.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -30,7 +30,7 @@ from .save_cover import save_cover
|
|||||||
from .save_games import save_games
|
from .save_games import save_games
|
||||||
|
|
||||||
|
|
||||||
def upadte_values_from_data(content, values):
|
def update_values_from_data(content, values):
|
||||||
basic_data = json.loads(content)[values["appid"]]
|
basic_data = json.loads(content)[values["appid"]]
|
||||||
if not basic_data["success"]:
|
if not basic_data["success"]:
|
||||||
values["blacklisted"] = True
|
values["blacklisted"] = True
|
||||||
@@ -49,12 +49,11 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
|||||||
|
|
||||||
with open(appmanifest, "r") as open_file:
|
with open(appmanifest, "r") as open_file:
|
||||||
data = open_file.read()
|
data = open_file.read()
|
||||||
open_file.close()
|
|
||||||
for datatype in datatypes:
|
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[datatype] = value[0]
|
||||||
|
|
||||||
values["game_id"] = "steam_" + values["appid"]
|
values["game_id"] = f'steam_{values["appid"]}'
|
||||||
|
|
||||||
if (
|
if (
|
||||||
values["game_id"] in parent_widget.games
|
values["game_id"] in parent_widget.games
|
||||||
@@ -63,13 +62,17 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
|||||||
task.return_value(None)
|
task.return_value(None)
|
||||||
return
|
return
|
||||||
|
|
||||||
values["executable"] = "xdg-open steam://rungameid/" + values["appid"]
|
values["executable"] = (
|
||||||
|
["start", f'steam://rungameid/{values["appid"]}']
|
||||||
|
if os.name == "nt"
|
||||||
|
else ["xdg-open", f'steam://rungameid/{values["appid"]}']
|
||||||
|
)
|
||||||
values["hidden"] = False
|
values["hidden"] = False
|
||||||
values["source"] = "steam"
|
values["source"] = "steam"
|
||||||
values["added"] = current_time
|
values["added"] = current_time
|
||||||
values["last_played"] = 0
|
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
|
# On Linux the request is made through gvfs so the app can run without network permissions
|
||||||
if os.name == "nt":
|
if os.name == "nt":
|
||||||
@@ -86,14 +89,14 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
|||||||
content = None
|
content = None
|
||||||
|
|
||||||
if content:
|
if content:
|
||||||
values = upadte_values_from_data(content, values)
|
values = update_values_from_data(content, values)
|
||||||
|
|
||||||
if os.path.isfile(
|
if os.path.isfile(
|
||||||
os.path.join(
|
os.path.join(
|
||||||
steam_dir,
|
steam_dir,
|
||||||
"appcache",
|
"appcache",
|
||||||
"librarycache",
|
"librarycache",
|
||||||
values["appid"] + "_library_600x900.jpg",
|
f'{values["appid"]}_library_600x900.jpg',
|
||||||
)
|
)
|
||||||
):
|
):
|
||||||
save_cover(
|
save_cover(
|
||||||
@@ -103,7 +106,7 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
|||||||
steam_dir,
|
steam_dir,
|
||||||
"appcache",
|
"appcache",
|
||||||
"librarycache",
|
"librarycache",
|
||||||
values["appid"] + "_library_600x900.jpg",
|
f'{values["appid"]}_library_600x900.jpg',
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -111,7 +114,7 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog, progressbar):
|
||||||
datatypes = ["appid", "name"]
|
datatypes = ["appid", "name"]
|
||||||
current_time = int(time.time())
|
current_time = int(time.time())
|
||||||
|
|
||||||
@@ -129,9 +132,12 @@ def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
|||||||
|
|
||||||
def update_games(_task, result, parent_widget):
|
def update_games(_task, result, parent_widget):
|
||||||
nonlocal queue
|
nonlocal queue
|
||||||
|
nonlocal total_queue
|
||||||
nonlocal import_dialog
|
nonlocal import_dialog
|
||||||
|
nonlocal progressbar
|
||||||
|
|
||||||
queue -= 1
|
queue -= 1
|
||||||
|
progressbar.set_fraction(1 - (queue / total_queue))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
final_values = result.propagate_value()[1]
|
final_values = result.propagate_value()[1]
|
||||||
@@ -151,12 +157,19 @@ def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def response(_widget, response):
|
||||||
|
if response == "open_preferences":
|
||||||
|
parent_widget.get_application().on_preferences_action(None)
|
||||||
|
|
||||||
if games_no == 0:
|
if games_no == 0:
|
||||||
create_dialog(
|
create_dialog(
|
||||||
parent_widget,
|
parent_widget,
|
||||||
_("No Games Found"),
|
_("No Games Found"),
|
||||||
_("No new games were found in the Steam library."),
|
_("No new games were found in the Steam library."),
|
||||||
)
|
"open_preferences",
|
||||||
|
_("Preferences"),
|
||||||
|
).connect("response", response)
|
||||||
|
|
||||||
elif games_no == 1:
|
elif games_no == 1:
|
||||||
create_dialog(
|
create_dialog(
|
||||||
parent_widget,
|
parent_widget,
|
||||||
@@ -172,8 +185,10 @@ def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
|||||||
_(f"Successfully imported {games_no} games."),
|
_(f"Successfully imported {games_no} games."),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
total_queue = 0
|
||||||
for appmanifest in appmanifests:
|
for appmanifest in appmanifests:
|
||||||
queue += 1
|
queue += 1
|
||||||
|
total_queue += 1
|
||||||
|
|
||||||
cancellable = Gio.Cancellable.new()
|
cancellable = Gio.Cancellable.new()
|
||||||
GLib.timeout_add_seconds(5, cancellable.cancel)
|
GLib.timeout_add_seconds(5, cancellable.cancel)
|
||||||
@@ -245,16 +260,18 @@ def steam_parser(parent_widget, action):
|
|||||||
|
|
||||||
steam_dir = os.path.expanduser(schema.get_string("steam-location"))
|
steam_dir = os.path.expanduser(schema.get_string("steam-location"))
|
||||||
|
|
||||||
|
progressbar = Gtk.ProgressBar(margin_start=12, margin_end=12)
|
||||||
import_statuspage = Adw.StatusPage(
|
import_statuspage = Adw.StatusPage(
|
||||||
title=_("Importing Games…"),
|
title=_("Importing Games…"),
|
||||||
description=_("Talking to Steam"),
|
description=_("Talking to Steam"),
|
||||||
|
child=progressbar,
|
||||||
)
|
)
|
||||||
|
|
||||||
import_dialog = Adw.Window(
|
import_dialog = Adw.Window(
|
||||||
content=import_statuspage,
|
content=import_statuspage,
|
||||||
modal=True,
|
modal=True,
|
||||||
default_width=350,
|
default_width=350,
|
||||||
default_height=200,
|
default_height=-1,
|
||||||
transient_for=parent_widget,
|
transient_for=parent_widget,
|
||||||
deletable=False,
|
deletable=False,
|
||||||
)
|
)
|
||||||
@@ -263,9 +280,17 @@ def steam_parser(parent_widget, action):
|
|||||||
|
|
||||||
appmanifests = []
|
appmanifests = []
|
||||||
|
|
||||||
for open_file in os.listdir(os.path.join(steam_dir, "steamapps")):
|
steam_dirs = schema.get_strv("steam-extra-dirs")
|
||||||
path = os.path.join(steam_dir, "steamapps", open_file)
|
steam_dirs.append(steam_dir)
|
||||||
if os.path.isfile(path) and "appmanifest" in open_file:
|
|
||||||
appmanifests.append(path)
|
|
||||||
|
|
||||||
get_games_async(parent_widget, appmanifests, steam_dir, import_dialog)
|
for directory in steam_dirs:
|
||||||
|
if not os.path.exists(os.path.join(directory, "steamapps")):
|
||||||
|
steam_dirs.remove(directory)
|
||||||
|
|
||||||
|
for directory in steam_dirs:
|
||||||
|
for open_file in os.listdir(os.path.join(directory, "steamapps")):
|
||||||
|
path = os.path.join(directory, "steamapps", open_file)
|
||||||
|
if os.path.isfile(path) and "appmanifest" in open_file:
|
||||||
|
appmanifests.append(path)
|
||||||
|
|
||||||
|
get_games_async(parent_widget, appmanifests, directory, import_dialog, progressbar)
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
# toggle_hidden.py
|
|
||||||
#
|
|
||||||
# Copyright 2022 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()
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# window.py
|
# window.py
|
||||||
#
|
#
|
||||||
# Copyright 2022 kramo
|
# Copyright 2022-2023 kramo
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -23,7 +23,6 @@ import os
|
|||||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, Gtk
|
from gi.repository import Adw, GdkPixbuf, Gio, GLib, Gtk
|
||||||
|
|
||||||
from .game import game
|
from .game import game
|
||||||
from .get_cover import get_cover
|
|
||||||
from .get_games import get_games
|
from .get_games import get_games
|
||||||
from .save_games import save_games
|
from .save_games import save_games
|
||||||
|
|
||||||
@@ -42,7 +41,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
library_bin = Gtk.Template.Child()
|
library_bin = Gtk.Template.Child()
|
||||||
notice_empty = Gtk.Template.Child()
|
notice_empty = Gtk.Template.Child()
|
||||||
notice_no_results = Gtk.Template.Child()
|
notice_no_results = Gtk.Template.Child()
|
||||||
game_options = Gtk.Template.Child()
|
|
||||||
search_bar = Gtk.Template.Child()
|
search_bar = Gtk.Template.Child()
|
||||||
search_entry = Gtk.Template.Child()
|
search_entry = Gtk.Template.Child()
|
||||||
search_button = Gtk.Template.Child()
|
search_button = Gtk.Template.Child()
|
||||||
@@ -63,7 +61,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
hidden_scrolledwindow = Gtk.Template.Child()
|
hidden_scrolledwindow = Gtk.Template.Child()
|
||||||
hidden_library_bin = Gtk.Template.Child()
|
hidden_library_bin = Gtk.Template.Child()
|
||||||
hidden_notice_empty = Gtk.Template.Child()
|
hidden_notice_empty = Gtk.Template.Child()
|
||||||
hidden_game_options = Gtk.Template.Child()
|
|
||||||
hidden_search_bar = Gtk.Template.Child()
|
hidden_search_bar = Gtk.Template.Child()
|
||||||
hidden_search_entry = Gtk.Template.Child()
|
hidden_search_entry = Gtk.Template.Child()
|
||||||
hidden_search_button = Gtk.Template.Child()
|
hidden_search_button = Gtk.Template.Child()
|
||||||
@@ -97,7 +94,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||||
"cartridges",
|
"cartridges",
|
||||||
"games",
|
"games",
|
||||||
current_game + ".json",
|
f"{current_game}.json",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
@@ -107,7 +104,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||||
"cartridges",
|
"cartridges",
|
||||||
"covers",
|
"covers",
|
||||||
current_game + ".dat",
|
f"{current_game}.dat",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
@@ -154,10 +151,8 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
self.library.append(entry)
|
self.library.append(entry)
|
||||||
else:
|
else:
|
||||||
self.hidden_widgets[game_id] = entry
|
self.hidden_widgets[game_id] = entry
|
||||||
entry.menu_button.set_menu_model(entry.hidden_game_options)
|
|
||||||
self.hidden_library.append(entry)
|
self.hidden_library.append(entry)
|
||||||
|
|
||||||
entry.cover_button.connect("clicked", self.show_overview, game_id)
|
|
||||||
entry.menu_button.get_popover().connect(
|
entry.menu_button.get_popover().connect(
|
||||||
"notify::visible", self.set_active_game, game_id
|
"notify::visible", self.set_active_game, game_id
|
||||||
)
|
)
|
||||||
@@ -188,7 +183,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
text = self.search_entry.get_text().lower()
|
text = self.search_entry.get_text().lower()
|
||||||
if text == "":
|
if text == "":
|
||||||
filtered = True
|
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
|
filtered = True
|
||||||
else:
|
else:
|
||||||
filtered = False
|
filtered = False
|
||||||
@@ -206,7 +206,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
text = self.hidden_search_entry.get_text().lower()
|
text = self.hidden_search_entry.get_text().lower()
|
||||||
if text == "":
|
if text == "":
|
||||||
filtered = True
|
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
|
filtered = True
|
||||||
else:
|
else:
|
||||||
filtered = False
|
filtered = False
|
||||||
@@ -242,17 +247,17 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
else:
|
else:
|
||||||
self.overview_developer.set_visible(False)
|
self.overview_developer.set_visible(False)
|
||||||
|
|
||||||
if not current_game.hidden:
|
self.overview_menu_button.set_menu_model(
|
||||||
self.overview_menu_button.set_menu_model(self.game_options)
|
current_game.menu_button.get_menu_model()
|
||||||
else:
|
)
|
||||||
self.overview_menu_button.set_menu_model(self.hidden_game_options)
|
|
||||||
|
|
||||||
if self.stack.get_visible_child() != self.overview:
|
if self.stack.get_visible_child() != self.overview:
|
||||||
self.stack.set_transition_type(Gtk.StackTransitionType.OVER_LEFT)
|
self.stack.set_transition_type(Gtk.StackTransitionType.OVER_LEFT)
|
||||||
self.stack.set_visible_child(self.overview)
|
self.stack.set_visible_child(self.overview)
|
||||||
|
|
||||||
self.active_game_id = game_id
|
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_cover.set_pixbuf(pixbuf)
|
||||||
self.overview_blurred_cover.set_pixbuf(
|
self.overview_blurred_cover.set_pixbuf(
|
||||||
pixbuf.scale_simple(2, 3, GdkPixbuf.InterpType.BILINEAR)
|
pixbuf.scale_simple(2, 3, GdkPixbuf.InterpType.BILINEAR)
|
||||||
@@ -290,36 +295,28 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
name2 = child2.get_first_child().name.lower()
|
name2 = child2.get_first_child().name.lower()
|
||||||
if name1 > name2:
|
if name1 > name2:
|
||||||
return -1
|
return -1
|
||||||
if name1 < name2:
|
return 1 if name1 < name2 else self.a_z_sort(child1, child2)
|
||||||
return 1
|
|
||||||
return self.a_z_sort(child1, child2)
|
|
||||||
|
|
||||||
def newest_sort(self, child1, child2):
|
def newest_sort(self, child1, child2):
|
||||||
time1 = self.games[child1.get_first_child().game_id].added
|
time1 = self.games[child1.get_first_child().game_id].added
|
||||||
time2 = self.games[child2.get_first_child().game_id].added
|
time2 = self.games[child2.get_first_child().game_id].added
|
||||||
if time1 > time2:
|
if time1 > time2:
|
||||||
return -1
|
return -1
|
||||||
if time1 < time2:
|
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||||
return 1
|
|
||||||
return self.a_z_sort(child1, child2)
|
|
||||||
|
|
||||||
def oldest_sort(self, child1, child2):
|
def oldest_sort(self, child1, child2):
|
||||||
time1 = self.games[child1.get_first_child().game_id].added
|
time1 = self.games[child1.get_first_child().game_id].added
|
||||||
time2 = self.games[child2.get_first_child().game_id].added
|
time2 = self.games[child2.get_first_child().game_id].added
|
||||||
if time1 > time2:
|
if time1 > time2:
|
||||||
return 1
|
return 1
|
||||||
if time1 < time2:
|
return -1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||||
return -1
|
|
||||||
return self.a_z_sort(child1, child2)
|
|
||||||
|
|
||||||
def last_played_sort(self, child1, child2):
|
def last_played_sort(self, child1, child2):
|
||||||
time1 = self.games[child1.get_first_child().game_id].last_played
|
time1 = self.games[child1.get_first_child().game_id].last_played
|
||||||
time2 = self.games[child2.get_first_child().game_id].last_played
|
time2 = self.games[child2.get_first_child().game_id].last_played
|
||||||
if time1 > time2:
|
if time1 > time2:
|
||||||
return -1
|
return -1
|
||||||
if time1 < time2:
|
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||||
return 1
|
|
||||||
return self.a_z_sort(child1, child2)
|
|
||||||
|
|
||||||
def on_go_back_action(self, _widget, _unused, _x=None, _y=None):
|
def on_go_back_action(self, _widget, _unused, _x=None, _y=None):
|
||||||
if self.stack.get_visible_child() == self.hidden_library_view:
|
if self.stack.get_visible_child() == self.hidden_library_view:
|
||||||
|
|||||||