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: flatpak/flatpak-github-actions/flatpak-builder@v5
|
||||
with:
|
||||
repository-name: gnome-nightly
|
||||
repository-url: https://nightly.gnome.org/gnome-nightly.flatpakrepo
|
||||
bundle: hu.kramo.Cartridges.flatpak
|
||||
manifest-path: hu.kramo.Cartridges.json
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
||||
|
||||
2
.github/workflows/windows.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
- name: Compile
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
meson _build
|
||||
meson setup _build
|
||||
ninja -C _build install
|
||||
pacman --noconfirm -Rs mingw-w64-ucrt-x86_64-desktop-file-utils mingw-w64-ucrt-x86_64-meson git
|
||||
- name: "Inno Setup"
|
||||
|
||||
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
/subprojects/blueprint-compiler
|
||||
/.flatpak
|
||||
/.flatpak-builder
|
||||
/.vscode
|
||||
@@ -1,5 +1,5 @@
|
||||
#define MyAppName "Cartridges"
|
||||
#define MyAppVersion "0.1.3"
|
||||
#define MyAppVersion "1.1"
|
||||
#define MyAppPublisher "kramo"
|
||||
#define MyAppURL "https://github.com/kra-mo/cartridges"
|
||||
#define MyAppExeName "pythonw.exe"
|
||||
@@ -30,8 +30,7 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||||
|
||||
[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\python.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\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\icons\*"; DestDir: "{app}\share\icons"; 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"; 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\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
|
||||
|
||||
[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
|
||||
```
|
||||
72
README.md
@@ -4,72 +4,66 @@
|
||||
|
||||
# Cartridges
|
||||
A GTK4 + Libadwaita game launcher
|
||||
|
||||
|
||||
[![Flathub][flathub-image]][flathub-url]
|
||||
[![Build status][github-actions-image]][github-actions-url]
|
||||
[![Translation Status][weblate-image]][weblate-url]
|
||||
[![Merged PRs][prs-merged-image]][prs-merged-url]
|
||||
[![License][license-image]][license-url]
|
||||
[![Code style][code-style-image]][code-style-url]
|
||||
[![Discord Chatroom][discord-image]][discord-url]
|
||||
|
||||
[github-actions-url]: https://github.com/kra-mo/cartridges
|
||||
[github-actions-image]: https://img.shields.io/github/actions/workflow/status/kra-mo/cartridges/flatpak-builder.yml?branch=main&label=build
|
||||
[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
|
||||
[github-actions-image]: https://github.com/kra-mo/cartridges/actions/workflows/flatpak-builder.yml/badge.svg
|
||||
[license-url]: https://github.com/kra-mo/cartridges/blob/main/LICENSE
|
||||
[license-image]: https://img.shields.io/github/license/kra-mo/cartridges
|
||||
[code-style-url]: https://github.com/psf/black
|
||||
[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
|
||||
[discord-url]: https://discord.gg/4KSFh3AmQR
|
||||
[discord-image]: https://img.shields.io/discord/1088155799299313754?color=%235865F2&label=discord&logo=discord&logoColor=%23FFFFFF
|
||||
[flathub-url]: https://flathub.org/apps/details/hu.kramo.Cartridges
|
||||
[flathub-image]: https://img.shields.io/flathub/v/hu.kramo.Cartridges
|
||||
|
||||
<img src="data/screenshot.webp">
|
||||
<img src="data/screenshots/1.png">
|
||||
</div>
|
||||
|
||||
|
||||
## The Project
|
||||
Cartridges is a simple game launcher written in Python using GTK4 + Libadwaita.
|
||||
### Features
|
||||
# The Project
|
||||
Cartridges is a simple game launcher written in Python using GTK4 and Libadwaita.
|
||||
## Features
|
||||
- Manually adding and editing games
|
||||
- Importing games from Steam, Heroic and Bottles
|
||||
- Support for multiple Steam install locations
|
||||
- Hiding games
|
||||
- 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).
|
||||
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.
|
||||
## Linux
|
||||
|
||||
## Installation
|
||||
### Flathub (Recommended)
|
||||
|
||||
### Latest Build From GitHub Actions
|
||||
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`.
|
||||
<a href=https://flathub.org/apps/details/hu.kramo.Cartridges><img width='240' alt='Download on Flathub' src='https://dl.flathub.org/assets/badges/flathub-badge-en.png'/></a>
|
||||
|
||||
### From Releases
|
||||
1. Install `org.gnome.Platform` from the [gnome-nightly repository](https://wiki.gnome.org/Apps/Nightly) if needed.
|
||||
2. Download the latest release from Releases.
|
||||
3. Install it via GNOME Software or `flatpak install hu.kramo.Cartridges.flatpak`.
|
||||
1. Download the latest release from [Releases](https://github.com/kra-mo/cartridges/releases).
|
||||
2. Install the downloaded file via GNOME Software or `flatpak install hu.kramo.Cartridges.flatpak`.
|
||||
|
||||
### From GNOME Builder
|
||||
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.
|
||||
## Windows
|
||||
|
||||
## Contributing
|
||||
### From Releases
|
||||
1. Download the latest release from [Releases](https://github.com/kra-mo/cartridges/releases).
|
||||
2. Run the downloaded installer.
|
||||
|
||||
### Code
|
||||
Fork the repository, make your changes, then create a pull request.
|
||||
Note: Windows might present you with a warning when trying to install the app. This is expected, just ignore the warning.
|
||||
|
||||
### Translations
|
||||
#### Weblate
|
||||
The project can be translated on [Weblate](https://hosted.weblate.org/projects/cartridges/).
|
||||
## Building manually
|
||||
See [Building](https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md#building).
|
||||
|
||||
#### 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.
|
||||
# Contributing
|
||||
|
||||
See [CONTRIBUTING](https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md).
|
||||
|
||||
Thanks to [Weblate](https://weblate.org/) for hosting our translations!
|
||||
|
||||
@@ -11,15 +11,12 @@ template game : Box {
|
||||
Box {
|
||||
orientation: vertical;
|
||||
Button cover_button {
|
||||
overflow: hidden;
|
||||
Picture cover {
|
||||
width-request: 200;
|
||||
height-request: 300;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles [
|
||||
"card",
|
||||
]
|
||||
}
|
||||
|
||||
styles [
|
||||
@@ -35,7 +32,6 @@ template game : Box {
|
||||
Box {
|
||||
Button button_play {
|
||||
halign: start;
|
||||
label: _("Play");
|
||||
margin-start: 6;
|
||||
margin-end: 6;
|
||||
margin-top: 6;
|
||||
@@ -47,7 +43,6 @@ template game : Box {
|
||||
margin-bottom: 6;
|
||||
margin-end: 6;
|
||||
margin-start: 6;
|
||||
menu-model: game_options;
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@ using Adw 1;
|
||||
|
||||
template PreferencesWindow : Adw.PreferencesWindow {
|
||||
search-enabled: false;
|
||||
default-height: 500;
|
||||
default-height: 550;
|
||||
|
||||
Adw.PreferencesPage page {
|
||||
Adw.PreferencesGroup {
|
||||
Adw.PreferencesGroup general_group {
|
||||
title: _("General");
|
||||
|
||||
Adw.ActionRow {
|
||||
@@ -16,10 +16,28 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
||||
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 {
|
||||
title: "Steam";
|
||||
title: _("Steam");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Steam Install Location");
|
||||
@@ -30,10 +48,34 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
||||
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 {
|
||||
title: "Heroic";
|
||||
title: _("Heroic");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Heroic Install Location");
|
||||
@@ -48,7 +90,7 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
||||
Adw.ActionRow {
|
||||
title: _("Import Epic Games");
|
||||
|
||||
Switch import_epic_games_switch {
|
||||
Switch heroic_epic_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
@@ -56,7 +98,7 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
||||
Adw.ActionRow {
|
||||
title: _("Import GOG Games");
|
||||
|
||||
Switch import_gog_games_switch {
|
||||
Switch heroic_gog_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
@@ -64,14 +106,14 @@ template PreferencesWindow : Adw.PreferencesWindow {
|
||||
Adw.ActionRow {
|
||||
title: _("Import Sideloaded Games");
|
||||
|
||||
Switch import_sideload_games_switch {
|
||||
Switch heroic_sideloaded_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup bottles_group {
|
||||
title: "Bottles";
|
||||
title: _("Bottles");
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Bottles Install Location");
|
||||
|
||||
@@ -11,7 +11,7 @@ Adw.StatusPage notice_no_results {
|
||||
|
||||
Adw.StatusPage notice_empty {
|
||||
icon-name: "applications-games-symbolic";
|
||||
title: _("No Games Found");
|
||||
title: _("No Games");
|
||||
description: _("Use the + button to add games.");
|
||||
vexpand: true;
|
||||
valign: center;
|
||||
@@ -41,6 +41,7 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
||||
Adw.HeaderBar {
|
||||
[start]
|
||||
Button back_button {
|
||||
tooltip-text: _("Back");
|
||||
action-name: "win.go_back";
|
||||
icon-name: "go-previous-symbolic";
|
||||
}
|
||||
@@ -192,18 +193,21 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
||||
Adw.HeaderBar header_bar {
|
||||
[start]
|
||||
MenuButton {
|
||||
tooltip-text: _("Add Game");
|
||||
icon-name: "list-add-symbolic";
|
||||
menu-model: add_games;
|
||||
}
|
||||
|
||||
[end]
|
||||
MenuButton primary_menu_button {
|
||||
tooltip-text: _("Main Menu");
|
||||
icon-name: "open-menu-symbolic";
|
||||
menu-model: primary_menu;
|
||||
}
|
||||
|
||||
[end]
|
||||
ToggleButton search_button {
|
||||
tooltip-text: _("Search");
|
||||
icon-name: "system-search-symbolic";
|
||||
action-name: "win.toggle_search";
|
||||
}
|
||||
@@ -247,6 +251,7 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
||||
Adw.HeaderBar hidden_header_bar {
|
||||
[start]
|
||||
Button hidden_back_button {
|
||||
tooltip-text: _("Back");
|
||||
action-name: "win.go_back";
|
||||
icon-name: "go-previous-symbolic";
|
||||
}
|
||||
@@ -258,12 +263,14 @@ template CartridgesWindow : Adw.ApplicationWindow {
|
||||
|
||||
[end]
|
||||
MenuButton {
|
||||
tooltip-text: _("Main Menu");
|
||||
icon-name: "open-menu-symbolic";
|
||||
menu-model: primary_menu;
|
||||
}
|
||||
|
||||
[end]
|
||||
ToggleButton hidden_search_button {
|
||||
tooltip-text: _("Search");
|
||||
icon-name: "system-search-symbolic";
|
||||
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">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="cover-launches-game" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="high-quality-images" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="steam-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">
|
||||
<default>true</default>
|
||||
</key>
|
||||
@@ -13,12 +28,6 @@
|
||||
<key name="heroic-import-sideload" type="b">
|
||||
<default>true</default>
|
||||
</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">
|
||||
<default>"~/.var/app/com.usebottles.bottles/data/bottles/"</default>
|
||||
</key>
|
||||
|
||||
@@ -8,6 +8,47 @@
|
||||
<description>
|
||||
<p>Cartridges is a simple game launcher. It has support for importing your games from Steam, Heroic and Bottles with organizational features such as hiding and sorting by date added or last played.</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">hu.kramo.Cartridges.desktop</launchable>
|
||||
<url type="homepage">https://github.com/kra-mo/cartridges</url>
|
||||
<url type="bugtracker">https://github.com/kra-mo/cartridges/issues</url>
|
||||
<url type="translate">https://hosted.weblate.org/engage/cartridges/</url>
|
||||
<url type="contact">https://www.kramo.hu/about/</url>
|
||||
<url type="vcs-browser">https://github.com/kra-mo/cartridges</url>
|
||||
<url type="contribute">https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md</url>
|
||||
<developer_name translatable="no">kramo</developer_name>
|
||||
<launchable type="desktop-id">hu.kramo.Cartridges.desktop</launchable>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/1.png</image>
|
||||
<caption>Library</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/2.png</image>
|
||||
<caption>Edit Game Details</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/3.png</image>
|
||||
<caption>Game Details</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/kra-mo/cartridges/main/data/screenshots/4.png</image>
|
||||
<caption>Preferences</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<content_rating type="oars-1.1" />
|
||||
<releases>
|
||||
<release version="1.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>
|
||||
|
||||
|
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-version" : "master",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "cartridges",
|
||||
"finish-args" : [
|
||||
@@ -31,18 +31,34 @@
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
"python3-modules.json",
|
||||
{
|
||||
"name": "blueprint-compiler",
|
||||
"buildsystem": "meson",
|
||||
"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": "git",
|
||||
"url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
||||
"tag": "v0.6.0"
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"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",
|
||||
"builddir" : true,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('cartridges',
|
||||
version: '0.1.3',
|
||||
version: '1.1',
|
||||
meson_version: '>= 0.59.0',
|
||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||
)
|
||||
|
||||
@@ -3,3 +3,10 @@ ta
|
||||
uk
|
||||
nb_NO
|
||||
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.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# Copyright (C) YEAR kramo
|
||||
# This file is distributed under the same license as the Cartridges package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Project-Id-Version: Cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-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"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr ""
|
||||
|
||||
@@ -42,8 +42,30 @@ msgid ""
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
||||
#: 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 ""
|
||||
|
||||
@@ -51,6 +73,10 @@ msgstr ""
|
||||
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 ""
|
||||
@@ -63,104 +89,106 @@ msgstr ""
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:50
|
||||
msgid "Game Details"
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:91
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:256
|
||||
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
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:381
|
||||
msgid "Import from"
|
||||
#: data/gtk/window.blp:203 data/gtk/window.blp:266
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:383
|
||||
msgid "Steam"
|
||||
#: 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:393
|
||||
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||
msgid "Bottles"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: 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/window.blp:409 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -219,32 +247,60 @@ msgstr ""
|
||||
msgid "Exit After Launching Games"
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
||||
#: data/gtk/preferences.blp:78
|
||||
#: 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: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"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:49
|
||||
#: data/gtk/preferences.blp:91
|
||||
msgid "Import Epic Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:57
|
||||
#: data/gtk/preferences.blp:99
|
||||
msgid "Import GOG Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:65
|
||||
#: data/gtk/preferences.blp:107
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
#: data/gtk/preferences.blp:119
|
||||
msgid "Bottles Install Location"
|
||||
msgstr ""
|
||||
|
||||
@@ -253,41 +309,45 @@ msgstr ""
|
||||
msgid "translator_credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:195
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/window.py:270
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr ""
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@@ -299,22 +359,22 @@ msgstr ""
|
||||
msgid "Set Bottles Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
||||
#: src/utils/steam_parser.py:164
|
||||
#: 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:157 src/utils/heroic_parser.py:256
|
||||
#: src/utils/steam_parser.py:172
|
||||
#: 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 ""
|
||||
@@ -327,10 +387,6 @@ msgstr ""
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
@@ -351,36 +407,41 @@ msgstr ""
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -394,38 +455,40 @@ msgid ""
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr ""
|
||||
@@ -438,34 +501,34 @@ msgstr ""
|
||||
msgid "Set Heroic Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/heroic_parser.py:242
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:158
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:231
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:233
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:249
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/steam_parser.py:250
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
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
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# "J. Lavoie" <j.lavoie@net-c.ca>, 2023.
|
||||
# kramo <login@kramo.hu>, 2023.
|
||||
# kramo <contact@kramo.hu>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
||||
"PO-Revision-Date: 2023-03-18 23:40+0000\n"
|
||||
"Last-Translator: \"J. Lavoie\" <j.lavoie@net-c.ca>\n"
|
||||
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||
"PO-Revision-Date: 2023-03-26 09:45+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -17,11 +17,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -48,8 +48,30 @@ msgstr ""
|
||||
"d'organisation telles que le masquage et le tri par date d'ajout ou de "
|
||||
"dernière lecture."
|
||||
|
||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
||||
#: 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 "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"
|
||||
msgstr "Aucun jeu trouvé"
|
||||
|
||||
@@ -57,6 +79,10 @@ msgstr "Aucun jeu trouvé"
|
||||
msgid "Try a different search."
|
||||
msgstr "Essayez une autre recherche."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Aucun jeu"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
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."
|
||||
msgstr "Les jeux que vous masquez apparaîtront ici."
|
||||
|
||||
#: data/gtk/window.blp:50
|
||||
msgid "Game Details"
|
||||
msgstr "Détails du jeu"
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
#: data/gtk/window.blp:91
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
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"
|
||||
msgstr "Jouer"
|
||||
|
||||
#: data/gtk/window.blp:256
|
||||
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
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
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"
|
||||
msgstr "Importer depuis"
|
||||
|
||||
#: data/gtk/window.blp:383
|
||||
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:393
|
||||
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Masquer"
|
||||
|
||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||
msgid "Remove"
|
||||
msgstr "Retirer"
|
||||
|
||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Afficher"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -225,75 +253,109 @@ msgstr "Général"
|
||||
msgid "Exit After Launching Games"
|
||||
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"
|
||||
msgstr "Emplacement de l'installation de Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
||||
#: data/gtk/preferences.blp:78
|
||||
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||
#: data/gtk/preferences.blp:120
|
||||
msgid "Directory to use when importing games"
|
||||
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"
|
||||
msgstr "Emplacement de l'installation Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:49
|
||||
#: data/gtk/preferences.blp:91
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importer Epic Games"
|
||||
|
||||
#: data/gtk/preferences.blp:57
|
||||
#: data/gtk/preferences.blp:99
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importer des jeux GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:65
|
||||
#: data/gtk/preferences.blp:107
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importer des jeux Sideloaded"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
#: data/gtk/preferences.blp:119
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Emplacement de l'installation Bottles"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr ""
|
||||
msgstr "Irénée Thirion"
|
||||
|
||||
#: src/main.py:195
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "retiré"
|
||||
msgstr "{title} retiré"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Aujourd'hui"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Hier"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Ajouté :"
|
||||
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Ajouté : {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "Jamais"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "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/steam_parser.py:230
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Impossible d'importer des jeux"
|
||||
|
||||
@@ -305,25 +367,25 @@ msgstr "Le répertoire Bottles est introuvable."
|
||||
msgid "Set Bottles Location"
|
||||
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."
|
||||
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"
|
||||
msgstr "Jeux Bottles importés"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
||||
#: src/utils/steam_parser.py:164
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importation réussie de 1 jeu."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
||||
#: src/utils/steam_parser.py:172
|
||||
#, fuzzy, python-brace-format
|
||||
#: 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 "Importation réussie de 1 jeu."
|
||||
msgstr "Importation réussie de {games_no} jeux."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
@@ -333,10 +395,6 @@ msgstr "Ajouter un nouveau jeu"
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Modifier les détails du jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Appliquer"
|
||||
@@ -357,36 +415,41 @@ msgstr "Développeur"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Le développeur ou l'éditeur (facultatif)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
msgstr "ficher.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -400,38 +463,40 @@ msgid ""
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Exécutable"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Fichier à ouvrir ou commande à exécuter au lancement du jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Impossible d'ajouter un jeu"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossible d'appliquer les préférences"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Le titre du jeu ne peut pas être vide."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "L'exécutable ne peut pas être vide."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Impossible d'appliquer les préférences"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Rejeter"
|
||||
@@ -444,37 +509,35 @@ msgstr "Le répertoire Heroic est introuvable."
|
||||
msgid "Set Heroic Location"
|
||||
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."
|
||||
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"
|
||||
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."
|
||||
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"
|
||||
msgstr "Jeux Steam importés"
|
||||
|
||||
#: src/utils/steam_parser.py:231
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Le répertoire Steam est introuvable."
|
||||
|
||||
#: src/utils/steam_parser.py:233
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Définir l'emplacement Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:249
|
||||
#, fuzzy
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Importation de jeux…"
|
||||
msgstr "Importation des jeux…"
|
||||
|
||||
#: src/utils/steam_parser.py:250
|
||||
#, fuzzy
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "Parler à Steam"
|
||||
|
||||
|
||||
349
po/hu.po
@@ -1,16 +1,16 @@
|
||||
# Cartridges - Hungarian Translation
|
||||
# Copyright (C) 2022 kramo
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# kramo, 2023.
|
||||
#
|
||||
# kramo <login@kramo.hu>, 2023.
|
||||
# kramo <contact@kramo.hu>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
||||
"PO-Revision-Date: 2023-03-19 12:05+0000\n"
|
||||
"Last-Translator: kramo <login@kramo.hu>\n"
|
||||
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||
"PO-Revision-Date: 2023-03-26 09:45+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/hu/>\n"
|
||||
"Language: hu\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Kazetták"
|
||||
|
||||
@@ -45,10 +45,32 @@ msgid ""
|
||||
"hiding and sorting by date added or last played."
|
||||
msgstr ""
|
||||
"A Kazetták egy egyszerű játékindító. Támogatja a Steam-ből, Heroic-ból és "
|
||||
"Bottles-ből való importálást, valamint a játékok elrejtését és rendezését."
|
||||
"Palackok-ból való importálást, valamint a játékok elrejtését és rendezését."
|
||||
|
||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Könyvtár"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Játék 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"
|
||||
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."
|
||||
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
|
||||
msgid "Use the + button to add games."
|
||||
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."
|
||||
msgstr "A rejtett játékaid itt lesznek megtalálhatók."
|
||||
|
||||
#: data/gtk/window.blp:50
|
||||
msgid "Game Details"
|
||||
msgstr "Játék Részletei"
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Vissza"
|
||||
|
||||
#: data/gtk/window.blp:91
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Cím"
|
||||
|
||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Játék"
|
||||
|
||||
#: data/gtk/window.blp:256
|
||||
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
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
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"
|
||||
msgstr "Importálás innen"
|
||||
|
||||
#: data/gtk/window.blp:383
|
||||
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:393
|
||||
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||
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:106
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Cím"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Szerkeszt"
|
||||
|
||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Elrejt"
|
||||
|
||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||
msgid "Remove"
|
||||
msgstr "Eltávolít"
|
||||
|
||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
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
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -224,105 +252,137 @@ msgstr "Általános"
|
||||
msgid "Exit After Launching Games"
|
||||
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"
|
||||
msgstr "Steam Telepítés Helye"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
||||
#: data/gtk/preferences.blp:78
|
||||
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||
#: data/gtk/preferences.blp:120
|
||||
msgid "Directory to use when importing games"
|
||||
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"
|
||||
msgstr "Heroic Telepítés Helye"
|
||||
|
||||
#: data/gtk/preferences.blp:49
|
||||
#: data/gtk/preferences.blp:91
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Epic Games Játékok Importálása"
|
||||
|
||||
#: data/gtk/preferences.blp:57
|
||||
#: data/gtk/preferences.blp:99
|
||||
msgid "Import GOG Games"
|
||||
msgstr "GOG Játékok Importálása"
|
||||
|
||||
#: data/gtk/preferences.blp:65
|
||||
#: data/gtk/preferences.blp:107
|
||||
msgid "Import Sideloaded Games"
|
||||
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"
|
||||
msgstr "Bottles Telepítés Helye"
|
||||
msgstr "Palackok Telepítés Helye"
|
||||
|
||||
#. Translators: Replace this with your name for it to show up in the about window
|
||||
#: src/main.py:130
|
||||
msgid "translator_credits"
|
||||
msgstr "kramo https://kramo.hu"
|
||||
|
||||
#: src/main.py:195
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "eltávolítva"
|
||||
msgstr "{title} eltávolítva"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Ma"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Tegnap"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Hozzáadva:"
|
||||
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Hozzáadva: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr "Soha"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Legutóbbi játékmenet: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
msgid "Details"
|
||||
msgstr "Részletek"
|
||||
|
||||
#: 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"
|
||||
msgstr "Nem Lehet Importálni a Játékot"
|
||||
|
||||
#: src/utils/bottles_parser.py:81
|
||||
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
|
||||
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."
|
||||
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"
|
||||
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/steam_parser.py:164
|
||||
#: 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 játék sikeresen importálva."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
||||
#: src/utils/steam_parser.py:172
|
||||
#, fuzzy, python-brace-format
|
||||
#: 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 "{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
|
||||
msgid "Add New Game"
|
||||
@@ -332,10 +392,6 @@ msgstr "Új Játék Hozzáadása"
|
||||
msgid "Confirm"
|
||||
msgstr "Megerősít"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Játék Részleteinek Szerkesztése"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Alkalmaz"
|
||||
@@ -356,36 +412,41 @@ msgstr "Fejlesztő"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "A fejlesztő vagy kiadó (nem kötelező)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr "fájl.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr "program"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr "C:\\útvonal\\a\\programhoz\\{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\útvonal\\a\\fájlhoz\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:121
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/útvonal/a/programhoz/{exe_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr "/útvonal/a/fájlhoz/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -409,38 +470,40 @@ msgstr ""
|
||||
"\n"
|
||||
"Ha az elérési útvonalban szóközök vannak, rakd az útvonalat idézőjelek közé!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Program"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Fájl megnyitása vagy parancs futtatása a játék indításakor"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Nem Lehet Hozzáadni a Játékot"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Nem Lehet Menteni a Beállításokat"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "A cím nem lehet üres."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "A program nem lehet üres."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Nem Lehet Menteni a Beállításokat"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Rendben"
|
||||
@@ -453,35 +516,35 @@ msgstr "A Heroic mappa nem található."
|
||||
msgid "Set Heroic Location"
|
||||
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."
|
||||
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"
|
||||
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."
|
||||
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"
|
||||
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."
|
||||
msgstr "A Steam mappa nem található."
|
||||
|
||||
#: src/utils/steam_parser.py:233
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam Mappa Kiválasztása"
|
||||
|
||||
#: src/utils/steam_parser.py:249
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Játékok Importálása…"
|
||||
|
||||
#: src/utils/steam_parser.py:250
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
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.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# 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 ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
||||
"PO-Revision-Date: 2023-03-15 22:46+0000\n"
|
||||
"Last-Translator: kramo <login@kramo.hu>\n"
|
||||
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||
"PO-Revision-Date: 2023-03-26 09:45+0000\n"
|
||||
"Last-Translator: kramo <contact@kramo.hu>\n"
|
||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
||||
"cartridges/cartridges/nb_NO/>\n"
|
||||
"Language: nb_NO\n"
|
||||
@@ -16,11 +17,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -47,8 +48,30 @@ msgstr ""
|
||||
"organiseringsfunksjoner som skjuling og sortering etter tillagt dato eller "
|
||||
"sist spilt."
|
||||
|
||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:22
|
||||
msgid "Library"
|
||||
msgstr "Bibliotek"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:26
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Rediger spilldetaljer"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:30 data/gtk/window.blp:51
|
||||
msgid "Game Details"
|
||||
msgstr "Spilldetaljer"
|
||||
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:34 data/gtk/window.blp:363
|
||||
#: src/utils/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"
|
||||
msgstr "Fant ingen spill"
|
||||
|
||||
@@ -56,6 +79,10 @@ msgstr "Fant ingen spill"
|
||||
msgid "Try a different search."
|
||||
msgstr "Prøv et forskjellig søk."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
msgid "No Games"
|
||||
msgstr "Ingen spill"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Bruk «+»-knappen for å legge til spill."
|
||||
@@ -68,104 +95,107 @@ msgstr "Ingen skjulte spill"
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Spill du skjuler vil vises her."
|
||||
|
||||
#: data/gtk/window.blp:50
|
||||
msgid "Game Details"
|
||||
msgstr "Spilldetaljer"
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "Tilbake"
|
||||
|
||||
#: data/gtk/window.blp:91
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Spillnavn"
|
||||
|
||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Spill"
|
||||
|
||||
#: data/gtk/window.blp:256
|
||||
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
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
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"
|
||||
msgstr "Importer fra"
|
||||
|
||||
#: data/gtk/window.blp:383
|
||||
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:393
|
||||
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: data/gtk/game.blp:60 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Navn"
|
||||
|
||||
#: data/gtk/game.blp:82 data/gtk/game.blp:101
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
#: data/gtk/window.blp:409 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Skjul"
|
||||
|
||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
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
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -224,32 +254,61 @@ msgstr "Generelt"
|
||||
msgid "Exit After Launching Games"
|
||||
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"
|
||||
msgstr "Installasjonssted for Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
||||
#: data/gtk/preferences.blp:78
|
||||
#: data/gtk/preferences.blp:44 data/gtk/preferences.blp:82
|
||||
#: data/gtk/preferences.blp:120
|
||||
msgid "Directory to use when importing games"
|
||||
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"
|
||||
msgstr "Installasjonssted for Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:49
|
||||
#: data/gtk/preferences.blp:91
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Importer Epic-spill"
|
||||
|
||||
#: data/gtk/preferences.blp:57
|
||||
#: data/gtk/preferences.blp:99
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Importer GOG-spill"
|
||||
|
||||
#: data/gtk/preferences.blp:65
|
||||
#: data/gtk/preferences.blp:107
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Importer sideinnlastede spill"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
#: data/gtk/preferences.blp:119
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Installasjonssted for Bottles"
|
||||
|
||||
@@ -258,41 +317,46 @@ msgstr "Installasjonssted for Bottles"
|
||||
msgid "translator_credits"
|
||||
msgstr "Allan Nordhøy, <epost@anotheragency.no>"
|
||||
|
||||
#: src/main.py:195
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "fjernet"
|
||||
msgstr "{title} fjernet"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Angre"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "I dag"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "I går"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Tillagt:"
|
||||
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Tillagt: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "Aldri"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "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/steam_parser.py:230
|
||||
#: src/utils/steam_parser.py:245
|
||||
msgid "Couldn't Import Games"
|
||||
msgstr "Kunne ikke importere spill"
|
||||
|
||||
@@ -304,25 +368,25 @@ msgstr "Finner ikke Bottles-mappen."
|
||||
msgid "Set Bottles Location"
|
||||
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."
|
||||
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"
|
||||
msgstr "Bottles-spill importert"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
||||
#: src/utils/steam_parser.py:164
|
||||
#: src/utils/bottles_parser.py:147 src/utils/heroic_parser.py:257
|
||||
#: src/utils/steam_parser.py:177
|
||||
msgid "Successfully imported 1 game."
|
||||
msgstr "Importerte ett spill."
|
||||
|
||||
#. The variable is the number of games
|
||||
#: src/utils/bottles_parser.py:157 src/utils/heroic_parser.py:256
|
||||
#: src/utils/steam_parser.py:172
|
||||
#, fuzzy, python-brace-format
|
||||
#: 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 "Importerte ett spill."
|
||||
msgstr "Importerte {games_no} spill."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
@@ -332,10 +396,6 @@ msgstr "Legg til nytt spill"
|
||||
msgid "Confirm"
|
||||
msgstr "Bekreft"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Rediger spilldetaljer"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Bruk"
|
||||
@@ -356,37 +416,42 @@ msgstr "Utvikler"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Utvikler eller utgiver (valgfritt)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
msgstr "fil.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
msgstr "program"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
msgstr "C:\\sti\\til\\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\sti\\til\\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/sti/til/{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
msgstr "/sti/til/{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#, python-brace-format
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, fuzzy, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
"\n"
|
||||
@@ -398,39 +463,51 @@ msgid ""
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Start den kjørbare «{exe_name}»-filen med denne kommandoen:\n"
|
||||
"\n"
|
||||
"<tt>«{exe_path}»</tt>\n"
|
||||
"\n"
|
||||
"For å åpne filen «{file_name}» med forvalgt program bruker du:\n"
|
||||
"\n"
|
||||
"<tt>{command} «{file_path}»</tt>\n"
|
||||
"\n"
|
||||
"Hvis stien inneholder mellomrom må du pakke den inn i doble engelske "
|
||||
"sitattegn."
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Kjørbar"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Fil å åpne eller kommando å kjøre ved oppstart av spillet"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Kunne ikke legge til spill"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kunne ikke ta i bruk endringer"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Spillnavnet kan ikke være tomt."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Kjørbar fil må angis."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Kunne ikke ta i bruk endringer"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Forkast"
|
||||
@@ -443,38 +520,38 @@ msgstr "Finner ikke Heroic-spillmappen."
|
||||
msgid "Set Heroic Location"
|
||||
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."
|
||||
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"
|
||||
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."
|
||||
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"
|
||||
msgstr "Steam-spill importert"
|
||||
|
||||
#: src/utils/steam_parser.py:231
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Kunne ikke finne Steam-mappen."
|
||||
|
||||
#: src/utils/steam_parser.py:233
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Velg hvor Steam er å finne"
|
||||
|
||||
#: src/utils/steam_parser.py:249
|
||||
#, fuzzy
|
||||
#: src/utils/steam_parser.py:265
|
||||
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"
|
||||
msgstr ""
|
||||
msgstr "Snakker med Steam"
|
||||
|
||||
#, fuzzy
|
||||
#~ 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
|
||||
# Copyright (C) 2022 kramo
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# 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.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
||||
"PO-Revision-Date: 2023-03-18 23:40+0000\n"
|
||||
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||
"PO-Revision-Date: 2023-03-25 14:46+0000\n"
|
||||
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
|
||||
"Language-Team: Tamil <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/ta/>\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "கார்ட்ரிட்ஜ்கள்"
|
||||
|
||||
@@ -49,8 +49,30 @@ msgstr ""
|
||||
"மற்றும் சேர்த்த அல்லது கடைசியாக விளையாடிய தேதியின்படி வரிசைப்படுத்துதல் போன்ற நிறுவன "
|
||||
"அம்சங்களுடன்."
|
||||
|
||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
||||
#: 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 "விளையாட்டுகள் எதுவும் இல்லை"
|
||||
|
||||
@@ -58,6 +80,10 @@ msgstr "விளையாட்டுகள் எதுவும் இல்
|
||||
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 "விளையாட்டுகளைச் சேர்க்க + பொத்தானைப் பயன்படுத்தவும்."
|
||||
@@ -70,104 +96,106 @@ msgstr "மறைக்கப்பட்ட விளையாட்டுக
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "நீங்கள் மறைக்கும் விளையாட்டுகள் இங்கே தோன்றும்."
|
||||
|
||||
#: data/gtk/window.blp:50
|
||||
msgid "Game Details"
|
||||
msgstr "விளையாட்டு விவரங்கள்"
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr "மீண்டும்"
|
||||
|
||||
#: data/gtk/window.blp:91
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "விளையாட்டு தலைப்பு"
|
||||
|
||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "விளையாடு"
|
||||
|
||||
#: data/gtk/window.blp:256
|
||||
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
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
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"
|
||||
msgstr "இலிருந்து இறக்குமதி செய்"
|
||||
|
||||
#: data/gtk/window.blp:383
|
||||
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||
msgid "Steam"
|
||||
msgstr "Steam (ஸ்டீம்)"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic (ஹீரோயிக்)"
|
||||
|
||||
#: data/gtk/window.blp:393
|
||||
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles (பாட்டில்கள்)"
|
||||
|
||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: 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/window.blp:409 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "மறை"
|
||||
|
||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||
msgid "Remove"
|
||||
msgstr "அகற்று"
|
||||
|
||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "மறை காட்டு"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "தலைப்பு"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -226,32 +254,60 @@ msgstr "பொது"
|
||||
msgid "Exit After Launching Games"
|
||||
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"
|
||||
msgstr "Steam (ஸ்டீம்) நிறுவல் இடம்"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
||||
#: data/gtk/preferences.blp:78
|
||||
#: 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: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"
|
||||
msgstr "Heroic (ஹீரோயிக்) நிறுவல் இடம்"
|
||||
|
||||
#: data/gtk/preferences.blp:49
|
||||
#: data/gtk/preferences.blp:91
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Epic விளையாட்டுகளை இறக்குமதி செய்"
|
||||
|
||||
#: data/gtk/preferences.blp:57
|
||||
#: data/gtk/preferences.blp:99
|
||||
msgid "Import GOG Games"
|
||||
msgstr "GOG விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
||||
|
||||
#: data/gtk/preferences.blp:65
|
||||
#: data/gtk/preferences.blp:107
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "பக்க ஏற்றப்பட்ட விளையாட்டுகளை இறக்குமதி செய்யவும்"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
#: data/gtk/preferences.blp:119
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Bottles (பாட்டில்கள்) நிறுவும் இடம்"
|
||||
|
||||
@@ -260,41 +316,46 @@ msgstr "Bottles (பாட்டில்கள்) நிறுவும் இ
|
||||
msgid "translator_credits"
|
||||
msgstr "K.B.Dharun Krishna <kbdharunkrishna@gmail.com>"
|
||||
|
||||
#: src/main.py:195
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "அகற்றப்பட்டது"
|
||||
msgstr "{title} அகற்றப்பட்டது"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "செயல்தவிர்"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "இன்று"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "நேற்று"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "சேர்க்கப்பட்டது:"
|
||||
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "சேர்க்கப்பட்டது: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "ஒருபோதும் இல்லை"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "கடைசியாக விளையாடியது: ஒருபோதும் இல்லை"
|
||||
msgstr "கடைசியாக விளையாடியது: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
#, fuzzy
|
||||
msgid "Details"
|
||||
msgstr "விளையாட்டு விவரங்கள்"
|
||||
|
||||
#: 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"
|
||||
msgstr "கேம்களை இறக்குமதி செய்ய முடியவில்லை"
|
||||
|
||||
@@ -306,25 +367,25 @@ msgstr "பாட்டில்கள் கோப்பகத்தைக்
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "பாட்டில்களின் இடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
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"
|
||||
msgstr "பாட்டில் விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
||||
#: src/utils/steam_parser.py:164
|
||||
#: 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:157 src/utils/heroic_parser.py:256
|
||||
#: src/utils/steam_parser.py:172
|
||||
#, fuzzy, python-brace-format
|
||||
#: 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 "1 விளையாட்டு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது."
|
||||
msgstr "{games_no} விளையாட்டுகள் வெற்றிகரமாக இறக்குமதி செய்யப்பட்டன."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
@@ -334,10 +395,6 @@ msgstr "புதிய விளையாட்டைச் சேர்க்
|
||||
msgid "Confirm"
|
||||
msgstr "உறுதிப்படுத்தவும்"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "விளையாட்டு விவரங்களைத் திருத்து"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "விண்ணப்பி"
|
||||
@@ -358,36 +415,41 @@ msgstr "டெவலப்பர்"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "டெவலப்பர் அல்லது வெளியீட்டாளர் (விரும்பினால்)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
msgstr "கோப்பு.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
msgstr "பயன்பாடு"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
msgstr "C:\\பாதை\\டு \\{exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:121
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr "C:\\பாதை\\டு \\{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:122
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:125
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{exe_name}"
|
||||
msgstr "/பாதை/டு/ {exe_name}"
|
||||
|
||||
#. Translate this string as you would translate "path to {file_name}"
|
||||
#: src/utils/create_details_window.py:127
|
||||
#, python-brace-format
|
||||
msgid "/path/to/{file_name}"
|
||||
msgstr ""
|
||||
msgstr "/பாதை/டு /{file_name}"
|
||||
|
||||
#: src/utils/create_details_window.py:126
|
||||
#: src/utils/create_details_window.py:131
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -400,39 +462,50 @@ msgid ""
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"இயங்கக்கூடிய \"{exe_name}\" ஐத் தொடங்க, கட்டளையைப் பயன்படுத்தவும்:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"இயல்புநிலை பயன்பாட்டுடன் \"{file_name}\" கோப்பைத் திறக்க, பயன்படுத்தவும்:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"பாதையில் இடைவெளிகள் இருந்தால், அதை இரட்டை மேற்கோள்களில் போர்த்துவதை உறுதிசெய்யவும்!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "செயல்படுத்தக்கூடியது"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "விளையாட்டைத் தொடங்கும் போது திறக்க கோப்பு அல்லது இயக்க கட்டளை"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "ரத்துசெய்"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "விளையாட்டைச் சேர்க்க முடியவில்லை"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "விருப்பத்தேர்வுகளைப் பயன்படுத்த முடியவில்லை"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "விளையாட்டு தலைப்பு காலியாக இருக்கக்கூடாது."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "இயங்கக்கூடியது காலியாக இருக்க முடியாது."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "விருப்பத்தேர்வுகளைப் பயன்படுத்த முடியவில்லை"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "நிராகரி"
|
||||
@@ -445,36 +518,35 @@ msgstr "Heroic (ஹீரோயிக்) கோப்பகத்தைக்
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Heroic (ஹீரோயிக்) இருப்பிடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/heroic_parser.py:242
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
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"
|
||||
msgstr "Heroic (ஹீரோயிக்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/steam_parser.py:158
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
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"
|
||||
msgstr "Steam (ஸ்டீம்) விளையாட்டுகள் இறக்குமதி செய்யப்பட்டன"
|
||||
|
||||
#: src/utils/steam_parser.py:231
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Steam (ஸ்டீம்) கோப்பகத்தைக் கண்டறிய முடியவில்லை."
|
||||
|
||||
#: src/utils/steam_parser.py:233
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Steam (ஸ்டீம் இடத்தை அமைக்கவும்"
|
||||
|
||||
#: src/utils/steam_parser.py:249
|
||||
#, fuzzy
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "விளையாட்டுகளை இறக்குமதி செய்கிறது…"
|
||||
|
||||
#: src/utils/steam_parser.py:250
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to Steam"
|
||||
msgstr "ஸ்டிமுடன் (Steam) பேசுகிறேன்"
|
||||
|
||||
|
||||
369
po/uk.po
@@ -1,14 +1,14 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the cartridges package.
|
||||
# kramo <login@kramo.hu>, 2023.
|
||||
# kramo <contact@kramo.hu>, 2023.
|
||||
# Dan <denqwerta@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: cartridges\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-19 13:11+0100\n"
|
||||
"PO-Revision-Date: 2023-03-16 18:47+0000\n"
|
||||
"POT-Creation-Date: 2023-03-26 11:51+0200\n"
|
||||
"PO-Revision-Date: 2023-03-21 13:12+0000\n"
|
||||
"Last-Translator: Dan <denqwerta@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/cartridges/"
|
||||
"cartridges/uk/>\n"
|
||||
@@ -16,13 +16,13 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
|
||||
#: data/hu.kramo.Cartridges.desktop.in:3
|
||||
#: data/hu.kramo.Cartridges.metainfo.xml.in:6 data/gtk/window.blp:29
|
||||
#: src/main.py:116
|
||||
#: src/main.py:115
|
||||
msgid "Cartridges"
|
||||
msgstr "Cartridges"
|
||||
|
||||
@@ -48,8 +48,30 @@ msgstr ""
|
||||
"Steam, Heroic та Bottles із такими організаційними функціями, як "
|
||||
"приховування та сортування за датою додавання чи останньої гри."
|
||||
|
||||
#: data/gtk/window.blp:6 data/gtk/window.blp:14 src/utils/bottles_parser.py:142
|
||||
#: src/utils/heroic_parser.py:241 src/utils/steam_parser.py:157
|
||||
#: 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 "Ігор не знайдено"
|
||||
|
||||
@@ -57,6 +79,11 @@ msgstr "Ігор не знайдено"
|
||||
msgid "Try a different search."
|
||||
msgstr "Спробуйте інший пошук."
|
||||
|
||||
#: data/gtk/window.blp:14
|
||||
#, fuzzy
|
||||
msgid "No Games"
|
||||
msgstr "Ігри"
|
||||
|
||||
#: data/gtk/window.blp:15
|
||||
msgid "Use the + button to add games."
|
||||
msgstr "Використовуйте кнопку +, щоб додати гру."
|
||||
@@ -69,104 +96,107 @@ msgstr "Ніяких прихованих ігор"
|
||||
msgid "Games you hide will appear here."
|
||||
msgstr "Ігри, які ви сховали, з'являться тут."
|
||||
|
||||
#: data/gtk/window.blp:50
|
||||
msgid "Game Details"
|
||||
msgstr "Подробиці гри"
|
||||
#: data/gtk/window.blp:44 data/gtk/window.blp:254
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: data/gtk/window.blp:91
|
||||
#: data/gtk/window.blp:92
|
||||
msgid "Game Title"
|
||||
msgstr "Назва гри"
|
||||
|
||||
#: data/gtk/window.blp:147 data/gtk/game.blp:38
|
||||
#: data/gtk/window.blp:148 src/game.py:175
|
||||
msgid "Play"
|
||||
msgstr "Грати"
|
||||
|
||||
#: data/gtk/window.blp:256
|
||||
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
|
||||
#: data/gtk/window.blp:196 data/gtk/window.blp:382
|
||||
msgid "Add Game"
|
||||
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"
|
||||
msgstr "Імпорт з"
|
||||
|
||||
#: data/gtk/window.blp:383
|
||||
#: data/gtk/window.blp:390 data/gtk/preferences.blp:40
|
||||
msgid "Steam"
|
||||
msgstr "Steam"
|
||||
|
||||
#: data/gtk/window.blp:388
|
||||
#: data/gtk/window.blp:395 data/gtk/preferences.blp:78
|
||||
msgid "Heroic"
|
||||
msgstr "Heroic"
|
||||
|
||||
#: data/gtk/window.blp:393
|
||||
#: data/gtk/window.blp:400 data/gtk/preferences.blp:116
|
||||
msgid "Bottles"
|
||||
msgstr "Bottles"
|
||||
|
||||
#: data/gtk/window.blp:404 data/gtk/window.blp:423 data/gtk/game.blp:87
|
||||
#: data/gtk/game.blp:106
|
||||
#: 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/window.blp:409 data/gtk/game.blp:92
|
||||
#: data/gtk/game.blp:87
|
||||
msgid "Hide"
|
||||
msgstr "Приховати"
|
||||
|
||||
#: data/gtk/window.blp:414 data/gtk/window.blp:433 data/gtk/game.blp:97
|
||||
#: data/gtk/game.blp:116
|
||||
#: data/gtk/game.blp:92 data/gtk/game.blp:111
|
||||
msgid "Remove"
|
||||
msgstr "Видалити"
|
||||
|
||||
#: data/gtk/window.blp:428 data/gtk/game.blp:111
|
||||
#: data/gtk/game.blp:106
|
||||
msgid "Unhide"
|
||||
msgstr "Показати"
|
||||
|
||||
#: data/gtk/game.blp:65 src/utils/create_details_window.py:94
|
||||
msgid "Title"
|
||||
msgstr "Назва"
|
||||
|
||||
#: data/gtk/help-overlay.blp:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -225,32 +255,60 @@ msgstr "Загальний"
|
||||
msgid "Exit After Launching Games"
|
||||
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"
|
||||
msgstr "Місце встановлення Steam"
|
||||
|
||||
#: data/gtk/preferences.blp:26 data/gtk/preferences.blp:40
|
||||
#: data/gtk/preferences.blp:78
|
||||
#: 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: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"
|
||||
msgstr "Місце встановлення Heroic"
|
||||
|
||||
#: data/gtk/preferences.blp:49
|
||||
#: data/gtk/preferences.blp:91
|
||||
msgid "Import Epic Games"
|
||||
msgstr "Імпорт Epic Games"
|
||||
|
||||
#: data/gtk/preferences.blp:57
|
||||
#: data/gtk/preferences.blp:99
|
||||
msgid "Import GOG Games"
|
||||
msgstr "Імпорт ігор GOG"
|
||||
|
||||
#: data/gtk/preferences.blp:65
|
||||
#: data/gtk/preferences.blp:107
|
||||
msgid "Import Sideloaded Games"
|
||||
msgstr "Імпорт сторонніх ігор"
|
||||
|
||||
#: data/gtk/preferences.blp:77
|
||||
#: data/gtk/preferences.blp:119
|
||||
msgid "Bottles Install Location"
|
||||
msgstr "Місце встановлення Bottles"
|
||||
|
||||
@@ -259,41 +317,46 @@ msgstr "Місце встановлення Bottles"
|
||||
msgid "translator_credits"
|
||||
msgstr "kefir2105"
|
||||
|
||||
#: src/main.py:195
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/main.py:193
|
||||
#, python-brace-format
|
||||
msgid "{title} removed"
|
||||
msgstr "видалено"
|
||||
msgstr "{title} видалено"
|
||||
|
||||
#: src/main.py:196
|
||||
#: src/main.py:194
|
||||
msgid "Undo"
|
||||
msgstr "Відмінити"
|
||||
|
||||
#: src/window.py:229
|
||||
#: src/window.py:234
|
||||
msgid "Today"
|
||||
msgstr "Сьогодні"
|
||||
|
||||
#: src/window.py:231
|
||||
#: src/window.py:236
|
||||
msgid "Yesterday"
|
||||
msgstr "Вчора"
|
||||
|
||||
#. The variable is the date when the game was added
|
||||
#: src/window.py:265
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Додано:"
|
||||
|
||||
#: src/window.py:270
|
||||
#, python-brace-format
|
||||
msgid "Added: {date}"
|
||||
msgstr "Додано: {date}"
|
||||
|
||||
#: src/window.py:275
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "Ніколи"
|
||||
|
||||
#. The variable is the date when the game was last played
|
||||
#: src/window.py:274
|
||||
#, fuzzy, python-brace-format
|
||||
#: src/window.py:279
|
||||
#, python-brace-format
|
||||
msgid "Last played: {last_played_date}"
|
||||
msgstr "Остання гра: Ніколи"
|
||||
msgstr "Останній раз грали: {last_played_date}"
|
||||
|
||||
#: src/game.py:173
|
||||
#, fuzzy
|
||||
msgid "Details"
|
||||
msgstr "Подробиці гри"
|
||||
|
||||
#: 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"
|
||||
msgstr "Не вдається імпортувати ігри"
|
||||
|
||||
@@ -305,25 +368,25 @@ msgstr "Каталог Bottles не знайдено."
|
||||
msgid "Set Bottles Location"
|
||||
msgstr "Встановити розташування Bottles"
|
||||
|
||||
#: src/utils/bottles_parser.py:143
|
||||
#: src/utils/bottles_parser.py:141
|
||||
msgid "No new games were found in the Bottles library."
|
||||
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"
|
||||
msgstr "Ігри Bottles імпортовано"
|
||||
|
||||
#: src/utils/bottles_parser.py:149 src/utils/heroic_parser.py:248
|
||||
#: src/utils/steam_parser.py:164
|
||||
#: 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:157 src/utils/heroic_parser.py:256
|
||||
#: src/utils/steam_parser.py:172
|
||||
#, fuzzy, python-brace-format
|
||||
#: 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 "Успішно імпортовано 1 гру."
|
||||
msgstr "Успішно імпортовано {games_no} ігри."
|
||||
|
||||
#: src/utils/create_details_window.py:41
|
||||
msgid "Add New Game"
|
||||
@@ -333,10 +396,6 @@ msgstr "Додати нову гру"
|
||||
msgid "Confirm"
|
||||
msgstr "Підтвердити"
|
||||
|
||||
#: src/utils/create_details_window.py:48
|
||||
msgid "Edit Game Details"
|
||||
msgstr "Редагувати інформацію про гру"
|
||||
|
||||
#: src/utils/create_details_window.py:57
|
||||
msgid "Apply"
|
||||
msgstr "Застосувати"
|
||||
@@ -357,36 +416,41 @@ msgstr "Розробник"
|
||||
msgid "The developer or publisher (optional)"
|
||||
msgstr "Розробник або видавець (необов'язково)"
|
||||
|
||||
#: src/utils/create_details_window.py:111
|
||||
#. Translate this string as you would translate "file"
|
||||
#: src/utils/create_details_window.py:112
|
||||
msgid "file.txt"
|
||||
msgstr ""
|
||||
msgstr "file.txt"
|
||||
|
||||
#. As in software
|
||||
#: src/utils/create_details_window.py:113
|
||||
#: src/utils/create_details_window.py:114
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
msgstr "програма"
|
||||
|
||||
#: src/utils/create_details_window.py:117
|
||||
#. Translate this string as you would translate "path to {exe_name}"
|
||||
#: src/utils/create_details_window.py:119
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{exe_name}"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/create_details_window.py:118
|
||||
#, python-brace-format
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
msgstr ""
|
||||
msgstr "C:\\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 "/path/to/{exe_name}"
|
||||
msgstr ""
|
||||
msgid "C:\\path\\to\\{file_name}"
|
||||
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
|
||||
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
|
||||
msgid ""
|
||||
"To launch the executable \"{exe_name}\", use the command:\n"
|
||||
@@ -399,39 +463,51 @@ msgid ""
|
||||
"\n"
|
||||
"If the path contains spaces, make sure to wrap it in double quotes!"
|
||||
msgstr ""
|
||||
"Щоб запустити виконуваний файл \"{exe_name}\", скористайтеся командою:\n"
|
||||
"\n"
|
||||
"<tt>\"{exe_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Щоб відкрити файл \"{file_name}\" за допомогою застосунку за замовчуванням, "
|
||||
"скористайтеся:\n"
|
||||
"\n"
|
||||
"<tt>{command} \"{file_path}\"</tt>\n"
|
||||
"\n"
|
||||
"Якщо шлях містить пробіли, обов'язково візьміть його в подвійні лапки!"
|
||||
|
||||
#: src/utils/create_details_window.py:149
|
||||
#: src/utils/create_details_window.py:154
|
||||
msgid "Executable"
|
||||
msgstr "Виконуваний"
|
||||
|
||||
#: src/utils/create_details_window.py:150
|
||||
#: src/utils/create_details_window.py:155
|
||||
msgid "File to open or command to run when launching the game"
|
||||
msgstr "Файл для відкриття або команда для запуску під час запуску гри"
|
||||
|
||||
#: src/utils/create_details_window.py:162
|
||||
#: src/utils/create_details_window.py:167
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:217
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:233
|
||||
msgid "Couldn't Add Game"
|
||||
msgstr "Не вдалося додати гру"
|
||||
|
||||
#: src/utils/create_details_window.py:208
|
||||
#: src/utils/create_details_window.py:239
|
||||
#: src/utils/create_details_window.py:219
|
||||
#: src/utils/create_details_window.py:257
|
||||
#: src/utils/create_details_window.py:265
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Не вдалося застосувати параметри"
|
||||
|
||||
#: src/utils/create_details_window.py:227
|
||||
#: src/utils/create_details_window.py:258
|
||||
msgid "Game title cannot be empty."
|
||||
msgstr "Назва гри не може бути порожньою."
|
||||
|
||||
#: src/utils/create_details_window.py:214
|
||||
#: src/utils/create_details_window.py:247
|
||||
#: src/utils/create_details_window.py:233
|
||||
#: src/utils/create_details_window.py:266
|
||||
msgid "Executable cannot be empty."
|
||||
msgstr "Виконуваний файл не може бути порожнім."
|
||||
|
||||
#: src/utils/create_details_window.py:238
|
||||
#: src/utils/create_details_window.py:246
|
||||
msgid "Couldn't Apply Preferences"
|
||||
msgstr "Не вдалося застосувати параметри"
|
||||
|
||||
#: src/utils/create_dialog.py:25
|
||||
msgid "Dismiss"
|
||||
msgstr "Відхилити"
|
||||
@@ -444,36 +520,35 @@ msgstr "Не вдається знайти каталог Heroic."
|
||||
msgid "Set Heroic Location"
|
||||
msgstr "Встановіть розташування Heroic"
|
||||
|
||||
#: src/utils/heroic_parser.py:242
|
||||
#: src/utils/heroic_parser.py:251
|
||||
msgid "No new games were found in the Heroic library."
|
||||
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"
|
||||
msgstr "Ігри Heroic імпортовано"
|
||||
|
||||
#: src/utils/steam_parser.py:158
|
||||
#: src/utils/steam_parser.py:168
|
||||
msgid "No new games were found in the Steam library."
|
||||
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"
|
||||
msgstr "Ігри Steam імпортовано"
|
||||
|
||||
#: src/utils/steam_parser.py:231
|
||||
#: src/utils/steam_parser.py:246
|
||||
msgid "The Steam directory cannot be found."
|
||||
msgstr "Каталог Steam знайти неможливо."
|
||||
|
||||
#: src/utils/steam_parser.py:233
|
||||
#: src/utils/steam_parser.py:248
|
||||
msgid "Set Steam Location"
|
||||
msgstr "Встановіть розташування Steam"
|
||||
|
||||
#: src/utils/steam_parser.py:249
|
||||
#, fuzzy
|
||||
#: src/utils/steam_parser.py:265
|
||||
msgid "Importing Games…"
|
||||
msgstr "Імпорт ігор…"
|
||||
|
||||
#: src/utils/steam_parser.py:250
|
||||
#: src/utils/steam_parser.py:266
|
||||
msgid "Talking to 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
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -25,22 +25,31 @@ import signal
|
||||
import locale
|
||||
import gettext
|
||||
|
||||
VERSION = '@VERSION@'
|
||||
pkgdatadir = '@pkgdatadir@'
|
||||
localedir = '@localedir@'
|
||||
VERSION = "@VERSION@"
|
||||
if os.name == "nt":
|
||||
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)
|
||||
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
|
||||
|
||||
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()
|
||||
|
||||
from cartridges import main
|
||||
|
||||
sys.exit(main.main(VERSION))
|
||||
|
||||
117
src/game.py
@@ -1,6 +1,6 @@
|
||||
# game.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,13 +17,19 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from gi.repository import Gtk
|
||||
import json
|
||||
import os
|
||||
import shlex # pylint: disable=unused-import
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from .get_cover import get_cover
|
||||
from gi.repository import GdkPixbuf, Gio, Gtk
|
||||
|
||||
from .save_games import save_games
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/hu/kramo/Cartridges/gtk/game.ui")
|
||||
class game(Gtk.Box):
|
||||
class game(Gtk.Box): # pylint: disable=invalid-name
|
||||
__gtype_name__ = "game"
|
||||
|
||||
overlay = Gtk.Template.Child()
|
||||
@@ -32,9 +38,10 @@ class game(Gtk.Box):
|
||||
cover = Gtk.Template.Child()
|
||||
cover_button = Gtk.Template.Child()
|
||||
menu_button = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
play_revealer = Gtk.Template.Child()
|
||||
title_revealer = Gtk.Template.Child()
|
||||
game_options = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, parent_widget, data, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
@@ -50,7 +57,7 @@ class game(Gtk.Box):
|
||||
self.removed = "removed" in data.keys()
|
||||
self.blacklisted = "blacklisted" in data.keys()
|
||||
|
||||
self.pixbuf = get_cover(self.game_id, self.parent_widget)
|
||||
self.pixbuf = self.get_cover()
|
||||
|
||||
self.cover.set_pixbuf(self.pixbuf)
|
||||
self.title.set_label(self.name)
|
||||
@@ -59,11 +66,83 @@ class game(Gtk.Box):
|
||||
self.add_controller(self.event_contoller_motion)
|
||||
self.overlay.set_measure_overlay(self.play_revealer, True)
|
||||
|
||||
self.button_play.connect("clicked", self.launch_game)
|
||||
self.set_play_label()
|
||||
|
||||
self.cover_button.connect("clicked", self.cover_button_clicked)
|
||||
self.button_play.connect("clicked", self.button_play_clicked)
|
||||
|
||||
self.event_contoller_motion.connect("enter", self.show_play)
|
||||
self.event_contoller_motion.connect("leave", self.hide_play)
|
||||
|
||||
self.parent_widget.schema.connect("changed", self.schema_changed)
|
||||
|
||||
if self.hidden:
|
||||
self.menu_button.set_menu_model(self.hidden_game_options)
|
||||
else:
|
||||
self.menu_button.set_menu_model(self.game_options)
|
||||
self.menu_button.get_popover().connect("notify::visible", self.hide_play)
|
||||
|
||||
def launch(self):
|
||||
# Generate launch arguments, either list (no shell) or a string (for shell).
|
||||
args = (
|
||||
["flatpak-spawn", "--host", *self.executable] # Flatpak
|
||||
if os.getenv("FLATPAK_ID") == "hu.kramo.Cartridges"
|
||||
else shlex.join(
|
||||
self.executable
|
||||
) # Windows (We need shell to support its "open" built-in).
|
||||
if os.name == "nt"
|
||||
else self.executable # Linux/Others
|
||||
)
|
||||
|
||||
# The host environment vars are automatically passed through by Popen.
|
||||
subprocess.Popen(
|
||||
args,
|
||||
shell=isinstance(args, str),
|
||||
start_new_session=True,
|
||||
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP if os.name == "nt" else 0,
|
||||
)
|
||||
if Gio.Settings.new("hu.kramo.Cartridges").get_boolean("exit-after-launch"):
|
||||
sys.exit()
|
||||
|
||||
def toggle_hidden(self):
|
||||
games_dir = os.path.join(
|
||||
os.getenv("XDG_DATA_HOME")
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
)
|
||||
|
||||
if not os.path.exists(games_dir):
|
||||
return
|
||||
|
||||
with open(os.path.join(games_dir, f"{self.game_id}.json"), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
|
||||
data["hidden"] = not data["hidden"]
|
||||
|
||||
save_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):
|
||||
self.play_revealer.set_reveal_child(True)
|
||||
self.title_revealer.set_reveal_child(False)
|
||||
@@ -73,6 +152,28 @@ class game(Gtk.Box):
|
||||
self.play_revealer.set_reveal_child(False)
|
||||
self.title_revealer.set_reveal_child(True)
|
||||
|
||||
def launch_game(self, _widget):
|
||||
def launch_game(self, _widget, *_unused):
|
||||
self.parent_widget.set_active_game(None, None, self.game_id)
|
||||
self.parent_widget.get_application().on_launch_game_action(None)
|
||||
|
||||
def cover_button_clicked(self, _widget):
|
||||
if self.parent_widget.schema.get_boolean("cover-launches-game"):
|
||||
self.launch_game(None)
|
||||
else:
|
||||
self.parent_widget.show_overview(None, self.game_id)
|
||||
|
||||
def button_play_clicked(self, _widget):
|
||||
if self.parent_widget.schema.get_boolean("cover-launches-game"):
|
||||
self.parent_widget.show_overview(None, self.game_id)
|
||||
else:
|
||||
self.launch_game(None)
|
||||
|
||||
def set_play_label(self):
|
||||
if self.parent_widget.schema.get_boolean("cover-launches-game"):
|
||||
self.button_play.set_label(_("Details"))
|
||||
else:
|
||||
self.button_play.set_label(_("Play"))
|
||||
|
||||
def schema_changed(self, _settings, key):
|
||||
if key == "cover-launches-game":
|
||||
self.set_play_label()
|
||||
|
||||
24
src/main.py
@@ -1,6 +1,6 @@
|
||||
# main.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -26,6 +26,7 @@ import gi
|
||||
gi.require_version("Gtk", "4.0")
|
||||
gi.require_version("Adw", "1")
|
||||
|
||||
# pylint: disable=wrong-import-position
|
||||
from gi.repository import Adw, Gio, GLib, Gtk
|
||||
|
||||
from .bottles_parser import bottles_parser
|
||||
@@ -33,10 +34,8 @@ from .create_details_window import create_details_window
|
||||
from .get_games import get_games
|
||||
from .heroic_parser import heroic_parser
|
||||
from .preferences import PreferencesWindow
|
||||
from .run_command import run_command
|
||||
from .save_games import save_games
|
||||
from .steam_parser import steam_parser
|
||||
from .toggle_hidden import toggle_hidden
|
||||
from .window import CartridgesWindow
|
||||
|
||||
|
||||
@@ -64,10 +63,10 @@ class CartridgesApplication(Adw.Application):
|
||||
|
||||
self.win = None
|
||||
|
||||
def do_activate(self):
|
||||
def do_activate(self): # pylint: disable=arguments-differ
|
||||
|
||||
# Create the main window
|
||||
self.win = self.props.active_window
|
||||
self.win = self.props.active_window # pylint: disable=no-member
|
||||
if not self.win:
|
||||
self.win = CartridgesWindow(application=self)
|
||||
|
||||
@@ -116,13 +115,14 @@ class CartridgesApplication(Adw.Application):
|
||||
application_name=_("Cartridges"),
|
||||
application_icon="hu.kramo.Cartridges",
|
||||
developer_name="kramo",
|
||||
version="0.1.3",
|
||||
version="1.1",
|
||||
developers=[
|
||||
"kramo https://kramo.hu",
|
||||
"Paweł Lidwin https://github.com/imLinguin",
|
||||
"Bananaman https://github.com/Bananaman",
|
||||
],
|
||||
designers=["kramo https://kramo.hu"],
|
||||
copyright="© 2022 kramo",
|
||||
copyright="© 2022-2023 kramo",
|
||||
license_type=Gtk.License.GPL_3_0,
|
||||
issue_url="https://github.com/kra-mo/cartridges/issues/new",
|
||||
website="https://github.com/kra-mo/cartridges",
|
||||
@@ -149,7 +149,6 @@ class CartridgesApplication(Adw.Application):
|
||||
self.win.update_games(games.keys())
|
||||
|
||||
def on_launch_game_action(self, _widget, _callback=None):
|
||||
|
||||
# Launch the game and update the last played value
|
||||
|
||||
game_id = self.win.active_game_id
|
||||
@@ -158,7 +157,7 @@ class CartridgesApplication(Adw.Application):
|
||||
data["last_played"] = int(time.time())
|
||||
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])
|
||||
|
||||
@@ -168,7 +167,7 @@ class CartridgesApplication(Adw.Application):
|
||||
def on_hide_game_action(self, _widget, _callback=None):
|
||||
if self.win.stack.get_visible_child() == self.win.overview:
|
||||
self.win.on_go_back_action(None, None)
|
||||
toggle_hidden(self.win.active_game_id)
|
||||
self.win.games[self.win.active_game_id].toggle_hidden()
|
||||
self.win.update_games([self.win.active_game_id])
|
||||
|
||||
def on_edit_details_action(self, _widget, _callback=None):
|
||||
@@ -178,7 +177,6 @@ class CartridgesApplication(Adw.Application):
|
||||
create_details_window(self.win)
|
||||
|
||||
def on_remove_game_action(self, _widget, _callback=None):
|
||||
|
||||
# Add "removed=True" to the game properties so it can be deleted on next init
|
||||
game_id = self.win.active_game_id
|
||||
|
||||
@@ -191,7 +189,7 @@ class CartridgesApplication(Adw.Application):
|
||||
self.win.on_go_back_action(None, None)
|
||||
|
||||
# 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.set_button_label(_("Undo"))
|
||||
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)
|
||||
|
||||
|
||||
def main(version):
|
||||
def main(version): # pylint: disable=unused-argument
|
||||
app = CartridgesApplication()
|
||||
return app.run(sys.argv)
|
||||
|
||||
@@ -25,12 +25,9 @@ cartridges_sources = [
|
||||
'utils/steam_parser.py',
|
||||
'utils/heroic_parser.py',
|
||||
'utils/bottles_parser.py',
|
||||
'utils/run_command.py',
|
||||
'utils/get_games.py',
|
||||
'utils/get_cover.py',
|
||||
'utils/save_games.py',
|
||||
'utils/save_cover.py',
|
||||
'utils/toggle_hidden.py',
|
||||
'utils/create_dialog.py',
|
||||
'utils/create_details_window.py'
|
||||
]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# preferences.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -27,15 +27,22 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
||||
__gtype_name__ = "PreferencesWindow"
|
||||
|
||||
page = Gtk.Template.Child()
|
||||
bottles_group = Gtk.Template.Child()
|
||||
|
||||
exit_after_launch_switch = Gtk.Template.Child()
|
||||
import_epic_games_switch = Gtk.Template.Child()
|
||||
import_gog_games_switch = Gtk.Template.Child()
|
||||
import_sideload_games_switch = Gtk.Template.Child()
|
||||
cover_launches_game_switch = Gtk.Template.Child()
|
||||
high_quality_images_switch = Gtk.Template.Child()
|
||||
|
||||
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_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()
|
||||
|
||||
def __init__(self, parent_widget, **kwargs):
|
||||
@@ -49,27 +56,45 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
||||
"active",
|
||||
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(
|
||||
"heroic-import-epic",
|
||||
self.import_epic_games_switch,
|
||||
self.heroic_epic_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
schema.bind(
|
||||
"heroic-import-gog",
|
||||
self.import_gog_games_switch,
|
||||
self.heroic_gog_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
schema.bind(
|
||||
"heroic-import-sideload",
|
||||
self.import_sideload_games_switch,
|
||||
self.heroic_sideloaded_switch,
|
||||
"active",
|
||||
Gio.SettingsBindFlags.DEFAULT,
|
||||
)
|
||||
|
||||
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):
|
||||
try:
|
||||
schema.set_string(
|
||||
@@ -79,6 +104,19 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
||||
except GLib.GError:
|
||||
pass
|
||||
|
||||
def add_steam_dir(_source, result, _unused):
|
||||
try:
|
||||
value = schema.get_strv("steam-extra-dirs")
|
||||
value.append(filechooser.select_folder_finish(result).get_path())
|
||||
schema.set_strv("steam-extra-dirs", value)
|
||||
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):
|
||||
try:
|
||||
schema.set_string(
|
||||
@@ -100,7 +138,13 @@ class PreferencesWindow(Adw.PreferencesWindow):
|
||||
def choose_folder(_widget, function):
|
||||
filechooser.select_folder(parent_widget, None, function, None)
|
||||
|
||||
update_revealer()
|
||||
|
||||
self.steam_file_chooser_button.connect("clicked", choose_folder, set_steam_dir)
|
||||
self.steam_extra_file_chooser_button.connect(
|
||||
"clicked", choose_folder, add_steam_dir
|
||||
)
|
||||
self.steam_clear_button.connect("clicked", clear_steam_dirs)
|
||||
self.heroic_file_chooser_button.connect(
|
||||
"clicked", choose_folder, set_heroic_dir
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# bottles_parser.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -83,9 +83,7 @@ def bottles_parser(parent_widget, action):
|
||||
_("Set Bottles Location"),
|
||||
).connect("response", response)
|
||||
|
||||
if os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
||||
pass
|
||||
else:
|
||||
if not os.path.isfile(os.path.join(bottles_dir, "library.yml")):
|
||||
bottles_not_found()
|
||||
return {}
|
||||
|
||||
@@ -96,7 +94,6 @@ def bottles_parser(parent_widget, action):
|
||||
|
||||
with open(os.path.join(bottles_dir, "library.yml"), "r") as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
|
||||
library = yaml.load(data, Loader=yaml.Loader)
|
||||
|
||||
@@ -104,7 +101,7 @@ def bottles_parser(parent_widget, action):
|
||||
game = library[game]
|
||||
values = {}
|
||||
|
||||
values["game_id"] = "bottles_" + game["id"]
|
||||
values["game_id"] = f'bottles_{game["id"]}'
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -113,9 +110,10 @@ def bottles_parser(parent_widget, action):
|
||||
continue
|
||||
|
||||
values["name"] = game["name"]
|
||||
values["executable"] = (
|
||||
"xdg-open bottles:run/" + game["bottle"]["name"] + "/" + game["name"]
|
||||
)
|
||||
values["executable"] = [
|
||||
"xdg-open",
|
||||
f'bottles:run/{game["bottle"]["name"]}/{game["name"]}',
|
||||
]
|
||||
values["hidden"] = False
|
||||
values["source"] = "bottles"
|
||||
values["added"] = current_time
|
||||
@@ -136,7 +134,7 @@ def bottles_parser(parent_widget, action):
|
||||
|
||||
bottles_games[values["game_id"]] = values
|
||||
|
||||
if len(bottles_games) == 0:
|
||||
if not bottles_games:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# create_details_window.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -19,12 +19,12 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import shlex
|
||||
import time
|
||||
|
||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, GObject, Gtk
|
||||
|
||||
from .create_dialog import create_dialog
|
||||
from .get_cover import get_cover
|
||||
from .save_cover import save_cover
|
||||
from .save_games import save_games
|
||||
|
||||
@@ -46,13 +46,13 @@ def create_details_window(parent_widget, game_id=None):
|
||||
apply_button = Gtk.Button.new_with_label(_("Confirm"))
|
||||
else:
|
||||
window.set_title(_("Edit Game Details"))
|
||||
cover = Gtk.Picture.new_for_pixbuf(get_cover(game_id, parent_widget))
|
||||
cover = Gtk.Picture.new_for_pixbuf(parent_widget.games[game_id].pixbuf)
|
||||
developer = Gtk.Entry.new_with_buffer(
|
||||
Gtk.EntryBuffer.new(games[game_id].developer, -1)
|
||||
)
|
||||
name = Gtk.Entry.new_with_buffer(Gtk.EntryBuffer.new(games[game_id].name, -1))
|
||||
executable = Gtk.Entry.new_with_buffer(
|
||||
Gtk.EntryBuffer.new((games[game_id].executable), -1)
|
||||
Gtk.EntryBuffer.new(shlex.join(games[game_id].executable), -1)
|
||||
)
|
||||
apply_button = Gtk.Button.new_with_label(_("Apply"))
|
||||
|
||||
@@ -108,17 +108,22 @@ def create_details_window(parent_widget, game_id=None):
|
||||
css_classes=["flat", "circular"],
|
||||
)
|
||||
|
||||
# Translate this string as you would translate "file"
|
||||
file_name = _("file.txt")
|
||||
# As in software
|
||||
exe_name = _("program")
|
||||
|
||||
if os.name == "nt":
|
||||
exe_name += ".exe"
|
||||
# Translate this string as you would translate "path to {exe_name}"
|
||||
exe_path = _(f"C:\\path\\to\\{exe_name}")
|
||||
# Translate this string as you would translate "path to {file_name}"
|
||||
file_path = _(f"C:\\path\\to\\{file_name}")
|
||||
command = "start"
|
||||
else:
|
||||
# Translate this string as you would translate "path to {exe_name}"
|
||||
exe_path = _(f"/path/to/{exe_name}")
|
||||
# Translate this string as you would translate "path to {file_name}"
|
||||
file_path = _(f"/path/to/{file_name}")
|
||||
command = "xdg-open"
|
||||
|
||||
@@ -201,8 +206,22 @@ def create_details_window(parent_widget, game_id=None):
|
||||
final_developer = developer.get_buffer().get_text()
|
||||
final_executable = executable.get_buffer().get_text()
|
||||
|
||||
if game_id is None:
|
||||
try:
|
||||
# Attempt to parse using shell parsing rules (doesn't verify executable existence).
|
||||
final_executable_split = shlex.split(
|
||||
final_executable, comments=False, posix=True
|
||||
)
|
||||
except ValueError as exception:
|
||||
create_dialog(
|
||||
window,
|
||||
_("Couldn't Add Game")
|
||||
if game_id is None
|
||||
else _("Couldn't Apply Preferences"),
|
||||
f'{_("Executable")}: {exception}.',
|
||||
)
|
||||
return
|
||||
|
||||
if game_id is None:
|
||||
if final_name == "":
|
||||
create_dialog(
|
||||
window, _("Couldn't Add Game"), _("Game title cannot be empty.")
|
||||
@@ -223,7 +242,7 @@ def create_details_window(parent_widget, game_id=None):
|
||||
if "imported_" in game:
|
||||
numbers.append(int(game.replace("imported_", "")))
|
||||
|
||||
game_id = "imported_" + str(max(numbers) + 1)
|
||||
game_id = f"imported_{str(max(numbers) + 1)}"
|
||||
|
||||
values["game_id"] = game_id
|
||||
values["hidden"] = False
|
||||
@@ -252,8 +271,8 @@ def create_details_window(parent_widget, game_id=None):
|
||||
save_cover(None, parent_widget, None, pixbuf, game_id)
|
||||
|
||||
values["name"] = final_name
|
||||
values["developer"] = final_developer if final_developer else None
|
||||
values["executable"] = final_executable
|
||||
values["developer"] = final_developer or None
|
||||
values["executable"] = final_executable_split
|
||||
|
||||
path = os.path.join(
|
||||
os.path.join(
|
||||
@@ -261,14 +280,13 @@ def create_details_window(parent_widget, game_id=None):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
game_id + ".json",
|
||||
f"{game_id}.json",
|
||||
)
|
||||
)
|
||||
|
||||
if os.path.exists(path):
|
||||
with open(path, "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
data.update(values)
|
||||
save_games({game_id: data})
|
||||
else:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# create_dialog.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -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
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -33,16 +33,14 @@ def get_games(game_ids=None):
|
||||
if not os.path.exists(games_dir):
|
||||
return {}
|
||||
|
||||
if not game_ids:
|
||||
game_files = os.listdir(games_dir)
|
||||
if game_ids:
|
||||
game_files = [f"{game_id}.json" for game_id in game_ids]
|
||||
else:
|
||||
game_files = []
|
||||
for game_id in game_ids:
|
||||
game_files.append(game_id + ".json")
|
||||
game_files = os.listdir(games_dir)
|
||||
|
||||
for game in game_files:
|
||||
with open(os.path.join(games_dir, game), "r") as open_file:
|
||||
data = json.loads(open_file.read())
|
||||
open_file.close()
|
||||
games[data["game_id"]] = data
|
||||
|
||||
return games
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# heroic_parser.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -90,9 +90,7 @@ def heroic_parser(parent_widget, action):
|
||||
_("Set Heroic Location"),
|
||||
).connect("response", response)
|
||||
|
||||
if os.path.exists(os.path.join(heroic_dir, "config.json")):
|
||||
pass
|
||||
else:
|
||||
if not os.path.exists(os.path.join(heroic_dir, "config.json")):
|
||||
heroic_not_found()
|
||||
return {}
|
||||
|
||||
@@ -109,43 +107,49 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "lib-cache", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
|
||||
for game in library["library"]:
|
||||
if not game["is_installed"]:
|
||||
continue
|
||||
try:
|
||||
for game in library["library"]:
|
||||
if not game["is_installed"]:
|
||||
continue
|
||||
|
||||
values = {}
|
||||
values = {}
|
||||
|
||||
app_name = game["app_name"]
|
||||
values["game_id"] = "heroic_epic_" + app_name
|
||||
app_name = game["app_name"]
|
||||
values["game_id"] = f"heroic_epic_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
continue
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
and not parent_widget.games[values["game_id"]].removed
|
||||
):
|
||||
continue
|
||||
|
||||
values["name"] = game["title"]
|
||||
values["developer"] = game["developer"]
|
||||
values["executable"] = "xdg-open heroic://launch/" + app_name
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_epic"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
values["name"] = game["title"]
|
||||
values["developer"] = game["developer"]
|
||||
values["executable"] = (
|
||||
["start", f"heroic://launch/{app_name}"]
|
||||
if os.name == "nt"
|
||||
else ["xdg-open", f"heroic://launch/{app_name}"]
|
||||
)
|
||||
values["hidden"] = False
|
||||
values["source"] = "heroic_epic"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
image_path = os.path.join(
|
||||
heroic_dir,
|
||||
"images-cache",
|
||||
hashlib.sha256(
|
||||
(game["art_square"] + "?h=400&resize=1&w=300").encode()
|
||||
).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
save_cover(values, parent_widget, image_path)
|
||||
image_path = os.path.join(
|
||||
heroic_dir,
|
||||
"images-cache",
|
||||
hashlib.sha256(
|
||||
(f'{game["art_square"]}?h=400&resize=1&w=300').encode()
|
||||
).hexdigest(),
|
||||
)
|
||||
if os.path.exists(image_path):
|
||||
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
|
||||
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"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
installed = json.loads(data)
|
||||
for item in installed["installed"]:
|
||||
values = {}
|
||||
app_name = item["appName"]
|
||||
|
||||
values["game_id"] = "heroic_gog_" + app_name
|
||||
values["game_id"] = f"heroic_gog_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -174,7 +177,6 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "gog_store", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
for game in library["games"]:
|
||||
if game["app_name"] == app_name:
|
||||
@@ -189,7 +191,11 @@ def heroic_parser(parent_widget, action):
|
||||
save_cover(values, parent_widget, image_path)
|
||||
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["source"] = "heroic_gog"
|
||||
values["added"] = current_time
|
||||
@@ -205,13 +211,12 @@ def heroic_parser(parent_widget, action):
|
||||
os.path.join(heroic_dir, "sideload_apps", "library.json"), "r"
|
||||
) as open_file:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
library = json.loads(data)
|
||||
for item in library["games"]:
|
||||
values = {}
|
||||
app_name = item["app_name"]
|
||||
|
||||
values["game_id"] = "heroic_sideload_" + app_name
|
||||
values["game_id"] = f"heroic_sideload_{app_name}"
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -220,7 +225,11 @@ def heroic_parser(parent_widget, action):
|
||||
continue
|
||||
|
||||
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["source"] = "heroic_sideload"
|
||||
values["added"] = current_time
|
||||
@@ -235,7 +244,7 @@ def heroic_parser(parent_widget, action):
|
||||
|
||||
heroic_games[values["game_id"]] = values
|
||||
|
||||
if len(heroic_games) == 0:
|
||||
if not heroic_games:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("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
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -29,8 +29,6 @@ def save_cover(game, parent_widget, file_path, pixbuf=None, game_id=None):
|
||||
"cartridges",
|
||||
"covers",
|
||||
)
|
||||
if not os.path.exists(covers_dir):
|
||||
os.makedirs(covers_dir)
|
||||
|
||||
if game_id is None:
|
||||
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):
|
||||
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
|
||||
pixbuf.save_to_streamv_async(
|
||||
open_file.replace(None, False, Gio.FileCreateFlags.NONE),
|
||||
"tiff",
|
||||
["compression"],
|
||||
["7"],
|
||||
["8"] if parent_widget.schema.get_boolean("high-quality-images") else ["7"],
|
||||
callback=cover_callback,
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# save_games.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -33,6 +33,5 @@ def save_games(games):
|
||||
os.makedirs(games_dir)
|
||||
|
||||
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.close()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# steam_parser.py
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -30,7 +30,7 @@ from .save_cover import save_cover
|
||||
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"]]
|
||||
if not basic_data["success"]:
|
||||
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:
|
||||
data = open_file.read()
|
||||
open_file.close()
|
||||
for datatype in datatypes:
|
||||
value = re.findall('"' + datatype + '"\t\t"(.*)"\n', data)
|
||||
value = re.findall(f'"{datatype}"\t\t"(.*)"\n', data)
|
||||
values[datatype] = value[0]
|
||||
|
||||
values["game_id"] = "steam_" + values["appid"]
|
||||
values["game_id"] = f'steam_{values["appid"]}'
|
||||
|
||||
if (
|
||||
values["game_id"] in parent_widget.games
|
||||
@@ -63,13 +62,17 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
task.return_value(None)
|
||||
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["source"] = "steam"
|
||||
values["added"] = current_time
|
||||
values["last_played"] = 0
|
||||
|
||||
url = "https://store.steampowered.com/api/appdetails?appids=" + values["appid"]
|
||||
url = f'https://store.steampowered.com/api/appdetails?appids={values["appid"]}'
|
||||
|
||||
# On Linux the request is made through gvfs so the app can run without network permissions
|
||||
if os.name == "nt":
|
||||
@@ -86,14 +89,14 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
content = None
|
||||
|
||||
if content:
|
||||
values = upadte_values_from_data(content, values)
|
||||
values = update_values_from_data(content, values)
|
||||
|
||||
if os.path.isfile(
|
||||
os.path.join(
|
||||
steam_dir,
|
||||
"appcache",
|
||||
"librarycache",
|
||||
values["appid"] + "_library_600x900.jpg",
|
||||
f'{values["appid"]}_library_600x900.jpg',
|
||||
)
|
||||
):
|
||||
save_cover(
|
||||
@@ -103,7 +106,7 @@ def get_game(task, datatypes, current_time, parent_widget, appmanifest, steam_di
|
||||
steam_dir,
|
||||
"appcache",
|
||||
"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
|
||||
|
||||
|
||||
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"]
|
||||
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):
|
||||
nonlocal queue
|
||||
nonlocal total_queue
|
||||
nonlocal import_dialog
|
||||
nonlocal progressbar
|
||||
|
||||
queue -= 1
|
||||
progressbar.set_fraction(1 - (queue / total_queue))
|
||||
|
||||
try:
|
||||
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:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
_("No Games Found"),
|
||||
_("No new games were found in the Steam library."),
|
||||
)
|
||||
"open_preferences",
|
||||
_("Preferences"),
|
||||
).connect("response", response)
|
||||
|
||||
elif games_no == 1:
|
||||
create_dialog(
|
||||
parent_widget,
|
||||
@@ -172,8 +185,10 @@ def get_games_async(parent_widget, appmanifests, steam_dir, import_dialog):
|
||||
_(f"Successfully imported {games_no} games."),
|
||||
)
|
||||
|
||||
total_queue = 0
|
||||
for appmanifest in appmanifests:
|
||||
queue += 1
|
||||
total_queue += 1
|
||||
|
||||
cancellable = Gio.Cancellable.new()
|
||||
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"))
|
||||
|
||||
progressbar = Gtk.ProgressBar(margin_start=12, margin_end=12)
|
||||
import_statuspage = Adw.StatusPage(
|
||||
title=_("Importing Games…"),
|
||||
description=_("Talking to Steam"),
|
||||
child=progressbar,
|
||||
)
|
||||
|
||||
import_dialog = Adw.Window(
|
||||
content=import_statuspage,
|
||||
modal=True,
|
||||
default_width=350,
|
||||
default_height=200,
|
||||
default_height=-1,
|
||||
transient_for=parent_widget,
|
||||
deletable=False,
|
||||
)
|
||||
@@ -263,9 +280,17 @@ def steam_parser(parent_widget, action):
|
||||
|
||||
appmanifests = []
|
||||
|
||||
for open_file in os.listdir(os.path.join(steam_dir, "steamapps")):
|
||||
path = os.path.join(steam_dir, "steamapps", open_file)
|
||||
if os.path.isfile(path) and "appmanifest" in open_file:
|
||||
appmanifests.append(path)
|
||||
steam_dirs = schema.get_strv("steam-extra-dirs")
|
||||
steam_dirs.append(steam_dir)
|
||||
|
||||
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
|
||||
#
|
||||
# Copyright 2022 kramo
|
||||
# Copyright 2022-2023 kramo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -23,7 +23,6 @@ import os
|
||||
from gi.repository import Adw, GdkPixbuf, Gio, GLib, Gtk
|
||||
|
||||
from .game import game
|
||||
from .get_cover import get_cover
|
||||
from .get_games import get_games
|
||||
from .save_games import save_games
|
||||
|
||||
@@ -42,7 +41,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
library_bin = Gtk.Template.Child()
|
||||
notice_empty = Gtk.Template.Child()
|
||||
notice_no_results = Gtk.Template.Child()
|
||||
game_options = Gtk.Template.Child()
|
||||
search_bar = Gtk.Template.Child()
|
||||
search_entry = Gtk.Template.Child()
|
||||
search_button = Gtk.Template.Child()
|
||||
@@ -63,7 +61,6 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
hidden_scrolledwindow = Gtk.Template.Child()
|
||||
hidden_library_bin = Gtk.Template.Child()
|
||||
hidden_notice_empty = Gtk.Template.Child()
|
||||
hidden_game_options = Gtk.Template.Child()
|
||||
hidden_search_bar = Gtk.Template.Child()
|
||||
hidden_search_entry = Gtk.Template.Child()
|
||||
hidden_search_button = Gtk.Template.Child()
|
||||
@@ -97,7 +94,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"games",
|
||||
current_game + ".json",
|
||||
f"{current_game}.json",
|
||||
)
|
||||
)
|
||||
try:
|
||||
@@ -107,7 +104,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
or os.path.expanduser(os.path.join("~", ".local", "share")),
|
||||
"cartridges",
|
||||
"covers",
|
||||
current_game + ".dat",
|
||||
f"{current_game}.dat",
|
||||
)
|
||||
)
|
||||
except FileNotFoundError:
|
||||
@@ -154,10 +151,8 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
self.library.append(entry)
|
||||
else:
|
||||
self.hidden_widgets[game_id] = entry
|
||||
entry.menu_button.set_menu_model(entry.hidden_game_options)
|
||||
self.hidden_library.append(entry)
|
||||
|
||||
entry.cover_button.connect("clicked", self.show_overview, game_id)
|
||||
entry.menu_button.get_popover().connect(
|
||||
"notify::visible", self.set_active_game, game_id
|
||||
)
|
||||
@@ -188,7 +183,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
text = self.search_entry.get_text().lower()
|
||||
if text == "":
|
||||
filtered = True
|
||||
elif text in child.get_first_child().name.lower():
|
||||
elif (
|
||||
text in child.get_first_child().name.lower()
|
||||
or text in child.get_first_child().developer.lower()
|
||||
if child.get_first_child().developer
|
||||
else None
|
||||
):
|
||||
filtered = True
|
||||
else:
|
||||
filtered = False
|
||||
@@ -206,7 +206,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
text = self.hidden_search_entry.get_text().lower()
|
||||
if text == "":
|
||||
filtered = True
|
||||
elif text in child.get_first_child().name.lower():
|
||||
elif (
|
||||
text in child.get_first_child().name.lower()
|
||||
or text in child.get_first_child().developer.lower()
|
||||
if child.get_first_child().developer
|
||||
else None
|
||||
):
|
||||
filtered = True
|
||||
else:
|
||||
filtered = False
|
||||
@@ -242,17 +247,17 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
else:
|
||||
self.overview_developer.set_visible(False)
|
||||
|
||||
if not current_game.hidden:
|
||||
self.overview_menu_button.set_menu_model(self.game_options)
|
||||
else:
|
||||
self.overview_menu_button.set_menu_model(self.hidden_game_options)
|
||||
self.overview_menu_button.set_menu_model(
|
||||
current_game.menu_button.get_menu_model()
|
||||
)
|
||||
|
||||
if self.stack.get_visible_child() != self.overview:
|
||||
self.stack.set_transition_type(Gtk.StackTransitionType.OVER_LEFT)
|
||||
self.stack.set_visible_child(self.overview)
|
||||
|
||||
self.active_game_id = game_id
|
||||
pixbuf = get_cover(self.active_game_id, self)
|
||||
|
||||
pixbuf = current_game.pixbuf
|
||||
self.overview_cover.set_pixbuf(pixbuf)
|
||||
self.overview_blurred_cover.set_pixbuf(
|
||||
pixbuf.scale_simple(2, 3, GdkPixbuf.InterpType.BILINEAR)
|
||||
@@ -290,36 +295,28 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
||||
name2 = child2.get_first_child().name.lower()
|
||||
if name1 > name2:
|
||||
return -1
|
||||
if name1 < name2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if name1 < name2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def newest_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].added
|
||||
time2 = self.games[child2.get_first_child().game_id].added
|
||||
if time1 > time2:
|
||||
return -1
|
||||
if time1 < time2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def oldest_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].added
|
||||
time2 = self.games[child2.get_first_child().game_id].added
|
||||
if time1 > time2:
|
||||
return 1
|
||||
if time1 < time2:
|
||||
return -1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return -1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def last_played_sort(self, child1, child2):
|
||||
time1 = self.games[child1.get_first_child().game_id].last_played
|
||||
time2 = self.games[child2.get_first_child().game_id].last_played
|
||||
if time1 > time2:
|
||||
return -1
|
||||
if time1 < time2:
|
||||
return 1
|
||||
return self.a_z_sort(child1, child2)
|
||||
return 1 if time1 < time2 else self.a_z_sort(child1, child2)
|
||||
|
||||
def on_go_back_action(self, _widget, _unused, _x=None, _y=None):
|
||||
if self.stack.get_visible_child() == self.hidden_library_view:
|
||||
|
||||