diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 1eee53fe3c..aaf94f8fd2 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -16,7 +16,7 @@ jobs: - name: Install Ubuntu dependencies run: | sudo apt update - sudo apt-get install libdbus-1-dev pkg-config libgirepository1.0-dev python3-gi-cairo libcairo2-dev + sudo apt-get install libdbus-1-dev pkg-config libgirepository-2.0-dev python3-gi-cairo libcairo2-dev - name: Install Python dependencies run: | python -m pip install --upgrade pip @@ -44,4 +44,4 @@ jobs: run: ruff --version ruff check . - name: Check format - run: ruff format . --check + run: ruff format . --check --diff diff --git a/.gitignore b/.gitignore index 06f3221296..97c905a825 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,9 @@ tests/coverage/* /flake.nix /flake.lock +# version generate file +lutris/version.py + # meson builddirs builddir diff --git a/Makefile b/Makefile index 0f988e4cd9..40eb994922 100644 --- a/Makefile +++ b/Makefile @@ -94,7 +94,8 @@ req-python: types-PyYAML evdev PyGObject pypresence protobuf moddb dev: - pip3 install ruff==0.3.5 mypy==1.8.0 mypy-baseline nose2 + pip3 install ruff==0.12.1 mypy==1.16.1 mypy-baseline nose2 + pip3 install pygobject-stubs --no-cache-dir --config-settings=config=Gtk3,Gdk3,Soup2 # ============ # Style checks diff --git a/README.rst b/README.rst index e1f7d2db11..3a046fd799 100644 --- a/README.rst +++ b/README.rst @@ -51,7 +51,7 @@ This token is stored in ``~/.cache/lutris/auth-token``. Configuration files =================== -* ``~/.config/lutris``: The client, runners, and game configuration files +* ``~/.local/share/lutris``: The client, runners, and game configuration files There is no need to manually edit these files as everything should be done from the client. @@ -63,14 +63,6 @@ Configuration files * ``games/*.yml``: Game-specific configurations -Game-specific configurations overwrite runner-specific configurations, which in -turn overwrite the system configuration. - -Runners and the game database -============================= - -``~/.local/share/lutris``: All data necessary to manage Lutris' library and games, including: - * ``pga.db``: An SQLite database tracking the game library, game installation status, various file locations, and some additional metadata * ``runners/*``: Runners downloaded from `lutris.net `_ @@ -79,6 +71,9 @@ Runners and the game database ``~/.local/share/icons/hicolor/128x128/apps/lutris_*.png``: Game icons +Game-specific configurations overwrite runner-specific configurations, which in +turn overwrite the system configuration. + Command line options ==================== diff --git a/bin/lutris b/bin/lutris index f3f63543b1..3fc9d607ed 100755 --- a/bin/lutris +++ b/bin/lutris @@ -12,12 +12,18 @@ # with this program. If not, see . """Main entry point for Lutris""" + import gettext import locale +import multiprocessing import os import sys from os.path import dirname, normpath, realpath +# Python 3.14 changes the default to 'forkserver' which is very different; +# let's not put up with _that_! +multiprocessing.set_start_method("fork") + LAUNCH_PATH = dirname(realpath(__file__)) # Prevent loading Python modules from home folder @@ -28,7 +34,7 @@ if os.environ.get("LUTRIS_ALLOW_LOCAL_PYTHON_PACKAGES") != "1": if os.path.isdir(os.path.join(LAUNCH_PATH, "../lutris")): sys.dont_write_bytecode = True - SOURCE_PATH = normpath(os.path.join(LAUNCH_PATH, '..')) + SOURCE_PATH = normpath(os.path.join(LAUNCH_PATH, "..")) sys.path.insert(0, SOURCE_PATH) else: sys.path.insert(0, os.path.normpath(os.path.join(LAUNCH_PATH, "../lib/lutris"))) @@ -40,7 +46,7 @@ except locale.Error as ex: try: # optional_settings does not exist if you don't use the meson build system - from lutris import optional_settings + from lutris import optional_settings # type: ignore try: locale.bindtextdomain("lutris", optional_settings.LOCALE_DIR) @@ -50,7 +56,7 @@ try: except Exception as ex: sys.stderr.write( "Couldn't bind gettext domain, translations won't work.\n" - "LOCALE_DIR: %s\nError: %s\n" % (optional_settings.LOCALE_DIR,ex) + "LOCALE_DIR: %s\nError: %s\n" % (optional_settings.LOCALE_DIR, ex) ) except ImportError: pass @@ -59,10 +65,10 @@ if "WEBKIT_DISABLE_DMABUF_RENDERER" not in os.environ: os.environ["WEBKIT_DISABLE_DMABUF_RENDERER"] = "1" try: - from lutris.gui.application import Application # pylint: disable=no-name-in-module + from lutris.gui.application import LutrisApplication except ImportError as ex: sys.stderr.write("Error importing Lutris application module: %s\n" % ex) sys.exit(1) -app = Application() # pylint: disable=invalid-name +app = LutrisApplication() sys.exit(app.run(sys.argv)) diff --git a/debian/changelog b/debian/changelog index aafeb11579..107ddb5d8a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,14 +1,17 @@ -lutris (0.5.19) jammy; urgency=medium +lutris (0.5.20) jammy; urgency=medium * Fix Proton integration bugs so Proton-fixes are applied - * Do not offer DXVK, VKD3D, D3D Extras or DDXVK-NVAPI on Proton versions; Proton will handle these. - * The "Enable Esync" and "Enable Fsync" settings are now passed on to Proton + * Do not offer VKD3D, D3D Extras or DXVK-NVAPI on Proton versions; Proton will handle these. + * The "Enable Esync" and "Enable Fsync" and "DXVK" settings are now passed on to Proton * DXVK's integrated D8VK will be enabled in Proton + * Fix for updated Flathub API * Emulator BIOS file location (used by libretro) may be set in Preferences * Obtain the release year from GOG and Itch.io. * MAME Machine setting uses a searchable entry for its enourmous list * Support for importing Commodore 64 ROMs - * F5 will refresh the main Lutris window + * Redundant "Add Games" menu item removed; use the plus button in the corner + * "Manual Script" for the context menu will now see the game's environment variables + * Support for Steam Families in the form of a "Steam Family" source -- Mathieu Comandon Sun, 23 Feb 2025 10:55:10 -0800 diff --git a/docs/installers.rst b/docs/installers.rst index 4b9aa7fb60..10a175b213 100644 --- a/docs/installers.rst +++ b/docs/installers.rst @@ -40,7 +40,7 @@ installer has finished. The configuration for a game is constructed from its installer. The `files` and `installer` sections are removed from the script, some variables such as $GAMEDIR are substituted and the results is saved in: -~/.config/lutris/games/-.yml. +~/.local/share/lutris/games/-.yml. Published installers can be accessed from a command line by using the ``lutris:`` URL prefix followed by the installer slug. @@ -728,7 +728,7 @@ Currently, the following tasks are implemented: - task: name: dosexec executable: file_id - config: $GAMEDIR/game_install.conf + config_file: $GAMEDIR/game_install.conf args: -scaler normal3x -conf more_conf.conf Displaying a drop-down menu with options diff --git a/lutris/api.py b/lutris/api.py index c27b9ed580..606de86301 100644 --- a/lutris/api.py +++ b/lutris/api.py @@ -17,7 +17,7 @@ from lutris import settings from lutris.gui.widgets import NotificationSource -from lutris.util import cache_single, http, system +from lutris.util import http, system from lutris.util.graphics.gpu import get_gpus_info from lutris.util.http import HTTPError, Request from lutris.util.linux import LINUX_SYSTEM @@ -75,7 +75,6 @@ def download_runtime_versions() -> Dict[str, Any]: return {} with open(settings.RUNTIME_VERSIONS_PATH, mode="w", encoding="utf-8") as runtime_file: json.dump(response.json, runtime_file, indent=2) - get_default_wine_runner_version_info.cache_clear() return response.json @@ -308,13 +307,6 @@ def get_default_runner_version_info(runner_name: str, version: Optional[str] = N return get_runner_version_from_cache(runner_name, version) or get_runner_version_from_api(runner_name, version) -@cache_single -def get_default_wine_runner_version_info() -> Optional[Dict[str, str]]: - """Just returns the runner info for the default Wine, but with - caching. This is just a little optimization.""" - return get_default_runner_version_info("wine") - - def get_http_post_response(url, payload): response = http.Request(url, headers={"Content-Type": "application/json"}) try: diff --git a/lutris/config.py b/lutris/config.py index 138393ef98..f92d35ea1b 100644 --- a/lutris/config.py +++ b/lutris/config.py @@ -3,7 +3,7 @@ import os import time from shutil import copyfile -from typing import Set +from typing import Any, Dict, Optional, Set from lutris import settings, sysoptions from lutris.runners import InvalidRunnerError, import_runner @@ -17,7 +17,7 @@ def make_game_config_id(game_slug: str) -> str: return "{}-{}".format(game_slug, int(time.time())) -def write_game_config(game_slug: str, config: dict): +def write_game_config(game_slug: str, config: Dict[str, Any]) -> str: """Writes a game config to disk""" configpath = make_game_config_id(game_slug) logger.debug("Writing game config to %s", configpath) @@ -26,7 +26,7 @@ def write_game_config(game_slug: str, config: dict): return configpath -def duplicate_game_config(game_slug: str, source_config_id: str): +def duplicate_game_config(game_slug: str, source_config_id: str) -> str: """Copies an existing configuration file, giving it a new id that this function returns.""" new_config_id = make_game_config_id(game_slug) @@ -36,6 +36,17 @@ def duplicate_game_config(game_slug: str, source_config_id: str): return new_config_id +def rename_config(old_config_id: str, new_slug: str) -> Optional[str]: + old_slug, timestamp = old_config_id.rsplit("-", 1) + if old_slug == new_slug: + return None + new_config_id = f"{new_slug}-{timestamp}" + src_path = f"{settings.GAME_CONFIG_DIR}/{old_config_id}.yml" + dest_path = f"{settings.GAME_CONFIG_DIR}/{new_config_id}.yml" + os.rename(src_path, dest_path) + return new_config_id + + class LutrisConfig: """Class where all the configuration handling happens. @@ -78,13 +89,17 @@ class LutrisConfig: """ def __init__( - self, runner_slug: str = None, game_config_id: str = None, level: str = None, options_supported: Set[str] = None + self, + runner_slug: Optional[str] = None, + game_config_id: Optional[str] = None, + level: Optional[str] = None, + options_supported: Optional[Set[str]] = None, ): self.game_config_id = game_config_id if runner_slug: - self.runner_slug = str(runner_slug) + self.runner_slug: Optional[str] = str(runner_slug) else: - self.runner_slug = runner_slug + self.runner_slug: Optional[str] = runner_slug self.options_supported = options_supported # Cascaded config sections (for reading) @@ -118,39 +133,41 @@ def __repr__(self): ) @property - def system_config_path(self): + def system_config_path(self) -> str: return os.path.join(settings.CONFIG_DIR, "system.yml") @property - def runner_config_path(self): + def runner_config_path(self) -> Optional[str]: if not self.runner_slug: return None return os.path.join(settings.RUNNERS_CONFIG_DIR, "%s.yml" % self.runner_slug) @property - def game_config_path(self): + def game_config_path(self) -> Optional[str]: if not self.game_config_id: return None return os.path.join(settings.CONFIG_DIR, "games/%s.yml" % self.game_config_id) - def initialize_config(self): + def initialize_config(self) -> None: """Init and load config files""" self.game_level = {"system": {}, self.runner_slug: {}, "game": {}} self.runner_level = {"system": {}, self.runner_slug: {}} self.system_level = {"system": {}} - self.game_level.update(read_yaml_from_file(self.game_config_path)) - self.runner_level.update(read_yaml_from_file(self.runner_config_path)) + if self.game_config_path: + self.game_level.update(read_yaml_from_file(self.game_config_path)) + if self.runner_config_path: + self.runner_level.update(read_yaml_from_file(self.runner_config_path)) self.system_level.update(read_yaml_from_file(self.system_config_path)) self.update_cascaded_config() self.update_raw_config() - def update_cascaded_config(self): + def update_cascaded_config(self) -> None: if self.system_level.get("system") is None: self.system_level["system"] = {} self.system_config.clear() self.system_config.update(self.get_defaults("system")) - self.system_config.update(self.system_level.get("system")) + self.system_config.update(self.system_level.get("system", {})) if self.level in ["runner", "game"] and self.runner_slug: if self.runner_level.get(self.runner_slug) is None: @@ -159,7 +176,7 @@ def update_cascaded_config(self): self.runner_level["system"] = {} self.runner_config.clear() self.runner_config.update(self.get_defaults("runner")) - self.runner_config.update(self.runner_level.get(self.runner_slug)) + self.runner_config.update(self.runner_level.get(self.runner_slug, {})) self.merge_to_system_config(self.runner_level.get("system")) if self.level == "game" and self.runner_slug: @@ -171,23 +188,26 @@ def update_cascaded_config(self): self.game_level["system"] = {} self.game_config.clear() self.game_config.update(self.get_defaults("game")) - self.game_config.update(self.game_level.get("game")) - self.runner_config.update(self.game_level.get(self.runner_slug)) + self.game_config.update(self.game_level.get("game", {})) + self.runner_config.update(self.game_level.get(self.runner_slug, {})) self.merge_to_system_config(self.game_level.get("system")) - def merge_to_system_config(self, config): + def merge_to_system_config(self, config: Optional[Dict[str, Any]]) -> None: """Merge a configuration to the system configuration""" - if not config: - return - existing_env = None - if self.system_config.get("env") and "env" in config: - existing_env = self.system_config["env"] - self.system_config.update(config) - if existing_env: - self.system_config["env"] = existing_env - self.system_config["env"].update(config["env"]) - - def update_raw_config(self): + if config: + existing_env = None + if self.system_config.get("env") and "env" in config: + existing_env = self.system_config["env"] + self.system_config.update(config) + if existing_env: + self.system_config["env"] = existing_env + self.system_config["env"].update(config["env"]) + + # Don't save env items where the key is empty; this would crash when used. + if "env" in self.system_config: + self.system_config["env"] = {k: v for k, v in self.system_config["env"].items() if k} + + def update_raw_config(self) -> None: # Select the right level of config if self.level == "game": raw_config = self.game_level @@ -198,22 +218,22 @@ def update_raw_config(self): # Load config sections self.raw_system_config = raw_config["system"] - if self.level in ["runner", "game"]: + if self.level in ["runner", "game"] and self.runner_slug is not None: self.raw_runner_config = raw_config[self.runner_slug] if self.level == "game": self.raw_game_config = raw_config["game"] self.raw_config = raw_config - def remove(self): + def remove(self) -> None: """Delete the configuration file from disk.""" - if not path_exists(self.game_config_path): + if not self.game_config_path or not path_exists(self.game_config_path): logger.debug("No config file at %s", self.game_config_path) return os.remove(self.game_config_path) logger.debug("Removed config %s", self.game_config_path) - def save(self): + def save(self) -> None: """Save configuration file according to its type""" if self.options_supported is not None: @@ -221,11 +241,11 @@ def save(self): if self.level == "system": config = self.system_level - config_path = self.system_config_path - elif self.level == "runner": + config_path: str = self.system_config_path + elif self.level == "runner" and self.runner_config_path: config = self.runner_level config_path = self.runner_config_path - elif self.level == "game": + elif self.level == "game" and self.game_config_path: config = self.game_level config_path = self.game_config_path else: @@ -236,7 +256,7 @@ def save(self): write_yaml_to_file(config, config_path) self.initialize_config() - def get_defaults(self, options_type): + def get_defaults(self, options_type: str) -> Dict[str, Any]: """Return a dict of options' default value.""" options_dict = self.options_as_dict(options_type) defaults = {} @@ -257,7 +277,7 @@ def get_defaults(self, options_type): defaults[option] = default return defaults - def options_as_dict(self, options_type: str) -> dict: + def options_as_dict(self, options_type: str) -> Dict[str, Any]: """Convert the option list to a dict with option name as keys""" if options_type == "system": options = ( diff --git a/lutris/database/categories.py b/lutris/database/categories.py index 37d6f8e498..35e624d691 100644 --- a/lutris/database/categories.py +++ b/lutris/database/categories.py @@ -2,9 +2,10 @@ import re from collections import defaultdict from itertools import repeat -from typing import Dict, List, Union +from typing import Any, Dict, List, Set, Union from lutris import settings +from lutris.database import games as games_db from lutris.database import sql from lutris.gui.widgets import NotificationSource @@ -18,8 +19,11 @@ class _SmartCategory(abc.ABC): def get_name(self) -> str: pass + def get_game_ids(self) -> Set[str]: + return set(game["id"] for game in self.get_games()) + @abc.abstractmethod - def get_games(self) -> List[str]: + def get_games(self) -> List[Any]: pass @@ -29,9 +33,12 @@ class _SmartUncategorizedCategory(_SmartCategory): def get_name(self) -> str: return ".uncategorized" - def get_games(self) -> List[str]: + def get_game_ids(self) -> Set[str]: return get_uncategorized_game_ids() + def get_games(self) -> List[Any]: + return get_uncategorized_games() + # All smart categories should be added to this variable. # TODO: Expose a way for the users to define new smart categories. @@ -136,12 +143,12 @@ def get_game_ids_for_categories(included_category_names=None, excluded_category_ continue if included_category_names is not None and smart_cat.get_name() not in included_category_names: continue - result |= set(smart_cat.get_games()) + result |= smart_cat.get_game_ids() return list(sorted(result)) -def get_uncategorized_game_ids() -> List[str]: +def get_uncategorized_game_ids() -> Set[str]: """Returns the ids of games that are in no categories. We do not count the 'favorites' category, but we do count '.hidden'- hidden games are hidden from this too.""" @@ -153,7 +160,12 @@ def get_uncategorized_game_ids() -> List[str]: "WHERE games.id = games_categories.game_id)" ) uncategorized = sql.db_query(settings.DB_PATH, query) - return [row["id"] for row in uncategorized] + return set(row["id"] for row in uncategorized) + + +def get_uncategorized_games() -> List[Any]: + """Return a list of currently running games""" + return games_db.get_games_by_ids(get_uncategorized_game_ids()) def get_categories_in_game(game_id): diff --git a/lutris/database/games.py b/lutris/database/games.py index f803d428d1..bb8e323ce6 100644 --- a/lutris/database/games.py +++ b/lutris/database/games.py @@ -221,7 +221,7 @@ def get_used_platforms(): """Return a list of platforms currently in use""" with sql.db_cursor(settings.DB_PATH) as cursor: query = ( - "select distinct platform from games " "where platform is not null and platform is not '' order by platform" + "select distinct platform from games where platform is not null and platform is not '' order by platform" ) rows = cursor.execute(query) results = rows.fetchall() diff --git a/lutris/exception_backstops.py b/lutris/exception_backstops.py index 9a57629377..558107731b 100644 --- a/lutris/exception_backstops.py +++ b/lutris/exception_backstops.py @@ -1,9 +1,10 @@ from functools import wraps from typing import Any, Callable, Iterable -from gi.repository import Gio, GLib, GObject, Gtk +from gi.repository import GLib, GObject, Gtk from lutris.gui.dialogs import display_error +from lutris.gui.widgets.utils import get_required_main_window from lutris.util.log import logger @@ -59,11 +60,10 @@ def _get_error_parent(error_objects: Iterable) -> Gtk.Window: toplevel = error_object.get_toplevel() if toplevel: return toplevel - except GLib.GError: + except GLib.GError: # type:ignore pass # hasattr() is always true for (some) GObjects, but the method fails when used - application = Gio.Application.get_default() - return application.window if application else None + return get_required_main_window() def _create_error_wrapper( diff --git a/lutris/exceptions.py b/lutris/exceptions.py index 827e50aa4c..539a0d6fbb 100644 --- a/lutris/exceptions.py +++ b/lutris/exceptions.py @@ -6,9 +6,20 @@ class LutrisError(Exception): """Base exception for Lutris related errors""" - def __init__(self, message, *args, **kwarg): + def __init__(self, message, message_markup=None, *args, **kwarg): super().__init__(message, *args, **kwarg) self.message = message + self.message_markup = message_markup + self.is_expected = False + + +class MissingRuntimeComponentError(LutrisError): + """Raised when a Lutris component isn't found, but should have been installed.""" + + def __init__(self, message, component_name, *args, **kwarg): + super().__init__(message, *args, **kwarg) + self.component_name = component_name + self.is_expected = True class MisconfigurationError(LutrisError): @@ -112,7 +123,7 @@ class FsyncUnsupportedError(Exception): def __init__(self, message=None, *args, **kwarg): if not message: - message = _("Your kernel is not patched for fsync." " Please get a patched kernel to use fsync.") + message = _("Your kernel is not patched for fsync. Please get a patched kernel to use fsync.") super().__init__(message, *args, **kwarg) diff --git a/lutris/game.py b/lutris/game.py index d98d19132a..4a7035c2eb 100644 --- a/lutris/game.py +++ b/lutris/game.py @@ -9,7 +9,7 @@ import subprocess import time from gettext import gettext as _ -from typing import cast +from typing import Optional, cast from gi.repository import Gio, GLib, Gtk @@ -66,7 +66,7 @@ class Game: PRIMARY_LAUNCH_CONFIG_NAME = "(primary)" - def __init__(self, game_id: str = None): + def __init__(self, game_id: Optional[str] = None): super().__init__() self.game_error = NotificationSource() @@ -725,15 +725,15 @@ def configure_game(self, launch_ui_delegate): self.runner.finish_env(env, self) - antimicro_config = self.runner.system_config.get("antimicro_config") + antimicro_config = self.runner.system_config.get("antimicro_config", "") if system.path_exists(antimicro_config): self.start_antimicrox(antimicro_config) # Execution control self.killswitch = self.get_killswitch() - if self.runner.system_config.get("prelaunch_command"): - self.start_prelaunch_command(self.runner.system_config.get("prelaunch_wait")) + if self.runner.system_config.get("prelaunch_command", ""): + self.start_prelaunch_command(self.runner.system_config["prelaunch_wait"]) self.start_game() return True diff --git a/lutris/game_actions.py b/lutris/game_actions.py index 21172f3d4e..bbc20fceec 100644 --- a/lutris/game_actions.py +++ b/lutris/game_actions.py @@ -29,6 +29,49 @@ from lutris.util.system import path_exists +def nuke_home_paths(data): + from re import compile + + home_re = compile(r"^(/home/([^/]+))(/.*)$") + + def repl_p(path): + if isinstance(path, str) and (match := home_re.match(path)): + return f"$HOME{match.group(3)}" + return path + + def keys_targeted(d): + if not isinstance(d, dict): + return d + d = dict(d) + # check in game key + if "game" in d and isinstance(d["game"], dict): + game_d = d["game"] + for k in ["exe", "prefix", "working_dir"]: + if k in game_d: + game_d[k] = repl_p(game_d[k]) + # check in system key + if "system" in d and isinstance(d["system"], dict): + system_d = d["system"] + for k in ["antimicro_config", "sdl_gamecontrollerconfig"]: + if k in system_d: + system_d[k] = repl_p(system_d[k]) + # env + if "env" in system_d and isinstance(system_d["env"], dict): + env_d = system_d["env"] + for k, v in env_d.items(): + env_d[k] = repl_p(v) + # check in wine key + wine_d = d.get("wine") + if isinstance(wine_d, dict) and "custom_wine_path" in wine_d: + wine_d["custom_wine_path"] = repl_p(wine_d["custom_wine_path"]) + # check in script key + if "script" in d and isinstance(d["script"], dict): + d["script"] = keys_targeted(d["script"]) + return d + + return keys_targeted(data) + + class GameActions: """These classes provide a set of action to apply to a game or list of games, and can be used to populate menus. The base class handles the no-games case, for which there are no actions. But @@ -250,6 +293,7 @@ def get_game_actions(self): ("rm-steam-shortcut", _("Delete Steam shortcut"), self.on_remove_steam_shortcut), ("view", _("View on Lutris.net"), self.on_view_game), ("duplicate", _("Duplicate"), self.on_game_duplicate), + ("export_script", _("Export Script"), self.on_export_script), (None, "-", None), ("remove", _("Remove"), self.on_remove_game), ] @@ -268,6 +312,7 @@ def get_displayed_entries(self): return { "duplicate": game.is_installed, + "export_script": game.is_installed, "install": self.is_installable, "add": not game.is_installed, "play": self.is_game_launchable, @@ -404,7 +449,7 @@ def on_game_duplicate(self, _widget): old_config_id = game.game_config_id if old_config_id: - new_config_id = duplicate_game_config(game.slug, old_config_id) + new_config_id = duplicate_game_config(slugify(new_name), old_config_id) else: new_config_id = None categories = game.get_categories() @@ -436,6 +481,38 @@ def on_game_duplicate(self, _widget): # completes, no need to wait for it. AsyncCall(download_lutris_media, None, db_game["slug"]) + def on_export_script(self, _widget): + game = self.game + config_id = game.game_config_id + # db_game = get_game_by_field(game.id, "id") + # print(f"--> db:{db_game}") + from lutris.settings import GAME_CONFIG_DIR + from lutris.util.yaml import read_yaml_from_file, save_yaml_as + + _config = read_yaml_from_file(f"{GAME_CONFIG_DIR}/{config_id}.yml") + _config["slug"] = game.slug + _config["name"] = game.name + _config["game_slug"] = game.slug + _config["runner"] = get_game_by_field(game.id, "id")["runner"] + _config["description"] = _config.get("description") + _config["notes"] = _config.get("notes", f"Import {game.name} config") + _config["version"] = _config.get("Standard") + + if _script := _config.get("script"): + _config["script"] = _script + else: + _config["script"] = {"files": {}, "game": _config["game"], "installer": {}} + # _config["script"]["game"]["working_dir"] = "$GAMEDIR" + if _sys := _config.get("system"): + _config["script"]["system"] = _sys + if _wine := _config.get("wine"): + _config["script"]["wine"] = _wine + # avoid to crash `version: system` + _config["script"]["wine"].pop("version") + _config = nuke_home_paths(_config) + # print(f"-->CONFIG: {_config}") + save_yaml_as(_config, f"{config_id}.yml") + def _select_game_launch_config_name(self, game): game_config = game.config.game_level.get("game", {}) configs = game_config.get("launch_configs") diff --git a/lutris/gui/addgameswindow.py b/lutris/gui/addgameswindow.py index bd8e9c32fc..cde6780b7e 100644 --- a/lutris/gui/addgameswindow.py +++ b/lutris/gui/addgameswindow.py @@ -42,8 +42,8 @@ class AddGamesWindow(ModelessDialog): # pylint: disable=too-many-public-methods ( "application-x-firmware-symbolic", "go-next-symbolic", - _("Import a ROM"), - _("Import a ROM that is known to Lutris"), + _("Import ROMs"), + _("Import ROMs referenced in TOSEC, No-intro or Redump"), "import_rom", ), ( @@ -124,7 +124,9 @@ def __init__(self, **kwargs): self.install_script_file_chooser = FileChooserEntry(title=_("Select script"), action=Gtk.FileChooserAction.OPEN) - self.import_rom_file_chooser = FileChooserEntry(title=_("Select ROM file"), action=Gtk.FileChooserAction.OPEN) + self.import_rom_file_chooser = FileChooserEntry( + title=_("Select ROMs"), action=Gtk.FileChooserAction.SELECT_FOLDER + ) self.stack.add_named_factory("initial", self.create_initial_page) self.stack.add_named_factory("search_installers", self.create_search_installers_page) @@ -312,6 +314,7 @@ def create_install_from_setup_page(self): preset_label = Gtk.Label(_("Installer preset:"), visible=True) grid.attach(preset_label, 0, 3, 1, 1) + self.installer_presets.append(["win11", _("Windows 11 64-bit")]) self.installer_presets.append(["win10", _("Windows 10 64-bit (Default)")]) self.installer_presets.append(["win7", _("Windows 7 64-bit")]) self.installer_presets.append(["winxp", _("Windows XP 32-bit")]) @@ -465,10 +468,10 @@ def create_import_rom_page(self): self.import_rom_file_chooser.set_hexpand(True) explanation = _( - "Lutris will identify a ROM via its MD5 hash and download game " + "Lutris will identify ROMs via its MD5 hash and download game " "information from Lutris.net.\n\n" - "The ROM data used for this comes from the TOSEC project.\n\n" - "When you click 'Install' below, the process of installing the game will " + "The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n\n" + "When you click 'Install' below, the process of installing the games will " "begin." ) @@ -476,19 +479,21 @@ def create_import_rom_page(self): return grid def present_import_rom_page(self): - self.set_page_title_markup(_("Select a ROM file")) + self.set_page_title_markup(_("Select ROMs")) self.stack.present_page("import_rom") self.display_continue_button(self.on_continue_import_rom_clicked, label=_("_Install")) def on_continue_import_rom_clicked(self, _widget): - path = self.import_rom_file_chooser.get_text() - if not path: - ErrorDialog(_("You must select a ROM file to install."), parent=self) - elif not os.path.isfile(path): - ErrorDialog(_("No file exists at '%s'.") % path, parent=self) + paths = [] + for path, _dirs, files in os.walk(self.import_rom_file_chooser.get_text()): + for file in files: + paths.append(os.path.join(path, file)) + + if not paths: + ErrorDialog(_("You must select ROMs to install."), parent=self) else: application = Gio.Application.get_default() - dialog = ImportGameDialog([path], parent=application.window) + dialog = ImportGameDialog(paths, parent=application.window) dialog.show() self.destroy() diff --git a/lutris/gui/application.py b/lutris/gui/application.py index 70f020e64f..2faf69e8e8 100644 --- a/lutris/gui/application.py +++ b/lutris/gui/application.py @@ -24,7 +24,7 @@ import tempfile from datetime import datetime, timedelta from gettext import gettext as _ -from typing import List +from typing import List, Optional import gi @@ -35,6 +35,7 @@ from gi.repository import Gio, GLib, Gtk +from lutris.version import VERSION, HASH, MESSAGE from lutris import settings from lutris.api import get_runners, parse_installer_url from lutris.database import games as games_db @@ -44,7 +45,7 @@ from lutris.gui.dialogs import ErrorDialog, InstallOrPlayDialog, NoticeDialog, display_error from lutris.gui.dialogs.delegates import CommandLineUIDelegate, InstallUIDelegate, LaunchUIDelegate from lutris.gui.dialogs.issue import IssueReportWindow -from lutris.gui.installerwindow import InstallationKind, InstallerWindow +from lutris.gui.installerwindow import INSTALLATION_COMPLETED, INSTALLATION_FAILED, InstallationKind, InstallerWindow from lutris.gui.widgets.status_icon import LutrisStatusIcon from lutris.installer import get_installers from lutris.migrations import migrate @@ -65,8 +66,8 @@ LUTRIS_EXPERIMENTAL_FEATURES_ENABLED = os.environ.get("LUTRIS_EXPERIMENTAL_FEATURES_ENABLED") == "1" -class Application(Gtk.Application): - def __init__(self): +class LutrisApplication(Gtk.Application): + def __init__(self) -> None: super().__init__( application_id="net.lutris.Lutris", flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE, @@ -80,12 +81,14 @@ def __init__(self): GAME_START.register(self.on_game_start) GAME_STOPPED.register(self.on_game_stopped) settings.SETTINGS_CHANGED.register(self.on_settings_changed) + INSTALLATION_COMPLETED.register(self.on_install_ended) + INSTALLATION_FAILED.register(self.on_install_ended) GLib.set_application_name(_("Lutris")) GLib.set_prgname("net.lutris.Lutris") self.force_updates = False self.css_provider = Gtk.CssProvider.new() - self.window = None + self.window: Optional[LutrisWindow] = None self.launch_ui_delegate = LaunchUIDelegate() self.install_ui_delegate = InstallUIDelegate() @@ -94,7 +97,7 @@ def __init__(self): self.tray = None self.quit_on_game_exit = False - self.style_manager = None + self.style_manager = StyleManager() if os.geteuid() == 0: NoticeDialog(_("Do not run Lutris as root.")) @@ -338,8 +341,6 @@ def do_startup(self): # pylint: disable=arguments-differ self.add_action(action) self.add_accelerator("q", "app.quit") - self.style_manager = StyleManager() - def do_activate(self): # pylint: disable=arguments-differ if not self.window: self.window = LutrisWindow(application=self) @@ -349,6 +350,8 @@ def do_activate(self): # pylint: disable=arguments-differ def start_runtime_updates(self) -> None: if os.environ.get("LUTRIS_SKIP_INIT"): logger.debug("Skipping initialization") + elif not self.window: + logger.error("Runtime updates can't be started with a LutrisWindow.") else: self.window.start_runtime_updates(self.force_updates) @@ -454,7 +457,6 @@ def do_handle_local_options(self, options): def do_command_line(self, command_line): # noqa: C901 # pylint: disable=arguments-differ # pylint: disable=too-many-locals,too-many-return-statements,too-many-branches # pylint: disable=too-many-statements - # TODO: split into multiple methods to reduce complexity (35) options = command_line.get_options_dict() # Use stdout to output logs, only if no command line argument is @@ -475,7 +477,7 @@ def do_command_line(self, command_line): # noqa: C901 # pylint: disable=argume if options.contains("force"): self.force_updates = True - logger.info("Starting Lutris %s", settings.VERSION) + logger.info("Starting Lutris %s, Commit: %s ( %s )", VERSION, HASH, MESSAGE) init_lutris() migrate() @@ -771,12 +773,13 @@ def on_error(error: BaseException) -> None: self.quit_on_game_exit = False return 0 - def on_settings_changed(self, setting_key, new_value): - if setting_key == "preferred_theme": - self.style_manager.preferred_theme = new_value - elif setting_key == "show_tray_icon" and self.window: - if self.window.get_visible(): - self.set_tray_icon() + def on_settings_changed(self, setting_key, new_value, section): + if section == "lutris": + if setting_key == "preferred_theme": + self.style_manager.preferred_theme = new_value + elif setting_key == "show_tray_icon" and self.window: + if self.window.get_visible(): + self.set_tray_icon() return True def on_game_start(self, game: Game) -> None: @@ -805,6 +808,12 @@ def on_game_stopped(self, game: Game) -> None: if self.quit_on_game_exit or not self.has_tray_icon(): self.quit() + def on_install_ended(self): + if not self.window or not self.window.is_visible(): + if not self.has_running_games: + if self.quit_on_game_exit or not self.has_tray_icon(): + self.quit() + def get_launch_ui_delegate(self): return self.launch_ui_delegate diff --git a/lutris/gui/config/accounts_box.py b/lutris/gui/config/accounts_box.py index 8639beaa7d..dffabba488 100644 --- a/lutris/gui/config/accounts_box.py +++ b/lutris/gui/config/accounts_box.py @@ -42,7 +42,7 @@ def __init__(self): self.connect("unrealize", self.on_unrealize) self.sync_frame = self._get_framed_options_list_box([self.sync_box]) - self.sync_frame.set_visible(settings.read_bool_setting("library_sync_enabled")) + self.sync_frame.set_visible(settings.read_bool_setting("library_sync_enabled", True)) self.pack_start(self.sync_frame, False, False, 0) @@ -111,7 +111,7 @@ def get_lutris_options(self): sync_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6, visible=True) sync_label = Gtk.Label(_("Keep your game library synced with Lutris.net"), visible=True) sync_switch = Gtk.Switch(visible=True) - sync_switch.set_active(settings.read_bool_setting("library_sync_enabled")) + sync_switch.set_active(settings.read_bool_setting("library_sync_enabled", default=True)) sync_switch.connect("state-set", self.on_sync_state_set) sync_box.pack_start(sync_label, False, False, 0) sync_box.pack_end(sync_switch, False, False, 0) diff --git a/lutris/gui/config/base_config_box.py b/lutris/gui/config/base_config_box.py index 9596ee71fb..5d302b5b67 100644 --- a/lutris/gui/config/base_config_box.py +++ b/lutris/gui/config/base_config_box.py @@ -1,4 +1,4 @@ -from typing import Callable +from typing import Callable, Optional from gi.repository import Gtk @@ -111,14 +111,14 @@ def _get_inner_settings_box( def get_listed_widget_box(self, label: str, widget: Gtk.Widget, margin: int = 12) -> Gtk.Box: box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=12, margin=margin, visible=True) - label = Gtk.Label(label, visible=True, wrap=True) + label = Gtk.Label(label=label, visible=True, wrap=True) label.set_alignment(0, 0.5) box.pack_start(label, True, True, 0) box.pack_end(widget, False, False, 0) return box def on_setting_change( - self, _widget, state: bool, setting_key: str, when_setting_changed: Callable[[bool], None] = None + self, _widget, state: bool, setting_key: str, when_setting_changed: Optional[Callable[[bool], None]] = None ) -> None: """Save a setting when an option is toggled""" settings.write_setting(setting_key, state) diff --git a/lutris/gui/config/boxes.py b/lutris/gui/config/boxes.py index 81fdacd428..54330621d3 100644 --- a/lutris/gui/config/boxes.py +++ b/lutris/gui/config/boxes.py @@ -131,13 +131,13 @@ def filter_widget(self, option_container: Gtk.Widget) -> bool: if is_advanced: # Record that we hid this because it was advanced, not because of ordinary # visibility - option_container.lutris_advanced_hidden = True + option_container.lutris_advanced_hidden = True # type:ignore[attr-defined] return False filter_text = self._filter_text if filter_text and hasattr(option_container, "lutris_option_label"): label = option_container.lutris_option_label.casefold() - helptext = option_container.lutris_option_helptext.casefold() + helptext = option_container.lutris_option_helptext.casefold() # type:ignore[attr-defined] if filter_text not in label and filter_text not in helptext: return False @@ -208,7 +208,7 @@ def __init__(self, config_level: str, lutris_config: LutrisConfig, game: Game = if lutris_config.level == "game": self.generate_top_info_box( - _("If modified, these options supersede the same options from " "the base runner configuration.") + _("If modified, these options supersede the same options from the base runner configuration.") ) def generate_widgets(self): @@ -241,7 +241,7 @@ def __init__(self, config_level: str, lutris_config: LutrisConfig, **kwargs) -> ) elif runner_slug: self.generate_top_info_box( - _("If modified, these options supersede the same options from " "the global preferences.") + _("If modified, these options supersede the same options from the global preferences.") ) @@ -263,7 +263,7 @@ def get_setting(self, option_key: str, default: Any) -> Any: else: return default - def update_option_container(self, option, container: Gtk.Box, wrapper: Gtk.Box): + def update_option_container(self, option, container: Gtk.Container, wrapper: Gtk.Container) -> None: super().update_option_container(option, container, wrapper) option_key = option["option"] @@ -278,7 +278,7 @@ def update_option_container(self, option, container: Gtk.Box, wrapper: Gtk.Box): else: set_option_wrapper_style_class(wrapper, None) - def create_option_container(self, option: Dict[str, Any], wrapper: Gtk.Widget) -> Gtk.Widget: + def create_option_container(self, option: Dict[str, Any], wrapper: Gtk.Widget) -> Gtk.Container: option_key = option["option"] reset_container = Gtk.Box(visible=True) reset_container.set_margin_left(18) @@ -307,7 +307,7 @@ def create_option_container(self, option: Dict[str, Any], wrapper: Gtk.Widget) - def get_visibility(self, option: Dict[str, Any]) -> bool: option_container = self.option_containers[option["option"]] - option_container.lutris_advanced_hidden = False + option_container.lutris_advanced_hidden = False # type:ignore[attr-defined] option_visibility = super().get_visibility(option) if not option_visibility: @@ -334,7 +334,7 @@ def get_no_options_message() -> Optional[str]: if self.parent.filter: return _("No options match '%s'") % self.parent.filter - elif any(c.lutris_advanced_hidden for c in self.option_containers.values()): + elif any(c.lutris_advanced_hidden for c in self.option_containers.values()): # type:ignore[attr-defined] return _("Only advanced options available") return _("No options available") diff --git a/lutris/gui/config/edit_category_games.py b/lutris/gui/config/edit_category_games.py index bad4287cc9..2eac53ed28 100644 --- a/lutris/gui/config/edit_category_games.py +++ b/lutris/gui/config/edit_category_games.py @@ -117,7 +117,7 @@ def on_save(self, _button: Gtk.Button) -> None: { "title": _("Merge the category '%s' into '%s'?") % (old_name, new_name), "question": _( - "If you rename this category, it will be combined with '%s'. " "Do you want to merge them?" + "If you rename this category, it will be combined with '%s'. Do you want to merge them?" ) % new_name, "parent": self, @@ -134,9 +134,11 @@ def on_save(self, _button: Gtk.Button) -> None: categories_db.redefine_category(self.category_id, new_name) old_name = new_name - for game_id, game in self.category_games.items(): - if game_id not in added_game_ids and game_id not in removed_game_ids: - updated_games[game_id] = game + updated_games = { + game_id: game + for game_id, game in self.category_games.items() + if game_id not in added_game_ids and game_id not in removed_game_ids + } # Apply category changes and fire GAME_UPDATED as needed after everything for game_id in added_game_ids: diff --git a/lutris/gui/config/edit_saved_search.py b/lutris/gui/config/edit_saved_search.py index 6903890a3a..368e713edc 100644 --- a/lutris/gui/config/edit_saved_search.py +++ b/lutris/gui/config/edit_saved_search.py @@ -56,7 +56,7 @@ def __init__(self, saved_search: SavedSearch, search_entry: Gtk.SearchEntry = No self.predicate_widget_functions: Dict[str, Callable[[SearchPredicate], None]] = {} self.updating_predicate_widgets = False - predicates_box = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6) + predicates_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) self.flags_grid = Gtk.Grid(row_spacing=6, column_spacing=6) self._add_flag_widgets() @@ -69,7 +69,7 @@ def __init__(self, saved_search: SavedSearch, search_entry: Gtk.SearchEntry = No self.categories_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) categories_scrolled_window.add(self.categories_box) categories_frame_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6) - categories_frame_box.pack_start(Gtk.Label(_("Categories"), halign=Gtk.Align.START), False, False, 0) + categories_frame_box.pack_start(Gtk.Label(label=_("Categories"), halign=Gtk.Align.START), False, False, 0) categories_frame_box.pack_start(categories_frame, True, True, 0) self._add_category_widgets() @@ -83,10 +83,10 @@ def __init__(self, saved_search: SavedSearch, search_entry: Gtk.SearchEntry = No self.show_all() def _add_entry_box( - self, label: str, text: str, button_icon_names: List[str] = None, clicked: Callable = None + self, label: str, text: str, button_icon_names: Optional[List[str]] = None, clicked: Optional[Callable] = None ) -> Gtk.Entry: hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) - entry_label = Gtk.Label(label) + entry_label = Gtk.Label(label=label) entry_label.set_alignment(0, 0.5) entry_label.set_size_request(120, -1) entry = Gtk.Entry() @@ -217,7 +217,7 @@ def populate_widget(predicate): else: combobox.set_active_id("") - label = Gtk.Label(caption, halign=Gtk.Align.START, valign=Gtk.Align.CENTER) + label = Gtk.Label(label=caption, halign=Gtk.Align.START, valign=Gtk.Align.CENTER) self.flags_grid.attach(label, 0, row, 1, 1) options = [(_("-"), "")] + options @@ -316,9 +316,10 @@ def __init__(self, parent, saved_search: SavedSearch) -> None: super().__init__(title, parent=parent, border_width=10) self.set_default_size(600, -1) - self.vbox.set_homogeneous(False) - self.vbox.set_spacing(10) - self.vbox.pack_start(self.filter_box, True, True, 0) + content_area = self.get_content_area() + content_area.set_homogeneous(False) + content_area.set_spacing(10) + content_area.pack_start(self.filter_box, True, True, 0) delete_button = self.add_styled_button(Gtk.STOCK_DELETE, Gtk.ResponseType.NONE, css_class="destructive-action") delete_button.connect("clicked", self.on_delete_clicked) diff --git a/lutris/gui/config/game_common.py b/lutris/gui/config/game_common.py index 7c49faaf9b..af228002b5 100644 --- a/lutris/gui/config/game_common.py +++ b/lutris/gui/config/game_common.py @@ -8,7 +8,7 @@ from gi.repository import GdkPixbuf, Gtk, Pango from lutris import runners, settings -from lutris.config import LutrisConfig, make_game_config_id +from lutris.config import LutrisConfig, make_game_config_id, rename_config from lutris.game import Game from lutris.gui.config import DIALOG_HEIGHT, DIALOG_WIDTH from lutris.gui.config.boxes import GameBox, RunnerBox, SystemConfigBox @@ -25,11 +25,11 @@ from lutris.services.service_media import resolve_media_path from lutris.util.jobs import AsyncCall from lutris.util.log import logger -from lutris.util.strings import gtk_safe, parse_playtime, slugify +from lutris.util.strings import parse_playtime, slugify # pylint: disable=too-many-instance-attributes, no-member -class GameDialogCommon(SavableModelessDialog, DialogInstallUIDelegate): +class GameDialogCommon(SavableModelessDialog, DialogInstallUIDelegate): # type:ignore[misc] """Base class for config dialogs""" no_runner_label = _("Select a runner in the Game Info tab") @@ -44,7 +44,6 @@ def __init__(self, title, config_level, parent=None): self.name_entry = None self.sortname_entry = None self.runner_box = None - self.runner_warning_box = None self.timer_id = None self.game = None @@ -160,10 +159,6 @@ def _build_info_tab(self): self.runner_box = self._get_runner_box() info_box.pack_start(self.runner_box, False, False, 6) # Runner - self.runner_warning_box = RunnerMessageBox() - info_box.pack_start(self.runner_warning_box, False, False, 6) # Runner - self.runner_warning_box.update_message(self.runner_name) - info_box.pack_start(self._get_year_box(), False, False, 6) # Year info_box.pack_start(self._get_playtime_box(), False, False, 6) # Playtime @@ -353,7 +348,7 @@ def _set_image(self, image_format, image_button): scale_factor = self.get_scale_factor() service_media = self.service_medias[image_format] game_slug = self.slug or (self.game.slug if self.game else "") - media_path = resolve_media_path(service_media.get_possible_media_paths(game_slug)) + media_path = resolve_media_path(service_media.get_possible_media_paths(game_slug)).path try: image = ScaledImage.new_from_media_path(media_path, service_media.config_ui_size, scale_factor) image_button.set_image(image) @@ -602,7 +597,6 @@ def _switch_runner(self, widget): self.runner_name = runner_name self.lutris_config = LutrisConfig(runner_slug=self.runner_name, level="game") self._rebuild_tabs() - self.runner_warning_box.update_message(self.runner_name) self.notebook.set_current_page(current_page) def _rebuild_tabs(self): @@ -696,6 +690,11 @@ def on_save(self, _button): self.game.playtime = playtime self.game.is_installed = True self.game.config = self.lutris_config + + # Rename config file if game slug changed + if new_config_id := rename_config(self.game.config.game_config_id, self.game.slug): + self.game.config.game_config_id = new_config_id + self.game.runner_name = self.runner_name if "icon" not in self.game.custom_images: @@ -732,7 +731,7 @@ def save_custom_media(self, image_type: str, image_path: str) -> None: slug = self.slug or self.game.slug service_media = self.service_medias[image_type] self.game.custom_images.add(image_type) - dest_paths = service_media.get_possible_media_paths(slug) + dest_paths = [mp.path for mp in service_media.get_possible_media_paths(slug)] if image_path not in dest_paths: ext = get_image_file_extension(image_path) @@ -826,16 +825,3 @@ def image_refreshed_cb(self, image_type, _error=None): class RunnerMessageBox(WidgetWarningMessageBox): def __init__(self): super().__init__(margin_left=12, margin_right=12, icon_name="dialog-warning") - - def update_message(self, runner_name): - try: - if runner_name: - runner_class = import_runner(runner_name) - runner = runner_class() - warning = runner.runner_warning - if warning: - self.show_markup(warning) - return - self.show_markup(None) - except Exception as ex: - self.show_message(gtk_safe(ex)) diff --git a/lutris/gui/config/preferences_box.py b/lutris/gui/config/preferences_box.py index 92f2991a3d..5cbe2ff5a8 100644 --- a/lutris/gui/config/preferences_box.py +++ b/lutris/gui/config/preferences_box.py @@ -1,7 +1,7 @@ from gettext import gettext as _ from typing import Any, Dict, Optional -from gi.repository import Gio, Gtk +from gi.repository import Gio, Gtk # type: ignore from lutris import settings from lutris.gui.config.base_config_box import BaseConfigBox diff --git a/lutris/gui/config/runners_box.py b/lutris/gui/config/runners_box.py index e4acd4dc65..bb04cfb660 100644 --- a/lutris/gui/config/runners_box.py +++ b/lutris/gui/config/runners_box.py @@ -22,7 +22,7 @@ def __init__(self): self.add(self.get_section_label(_("Add, remove or configure runners"))) self.add( self.get_description_label( - _("Runners are programs such as emulators, engines or " "translation layers capable of running games.") + _("Runners are programs such as emulators, engines or translation layers capable of running games.") ) ) self.search_failed_label = Gtk.Label(_("No runners matched the search")) diff --git a/lutris/gui/config/services_box.py b/lutris/gui/config/services_box.py index 06324c734f..df0aa8b82e 100644 --- a/lutris/gui/config/services_box.py +++ b/lutris/gui/config/services_box.py @@ -18,7 +18,7 @@ def __init__(self): self.add(self.get_section_label(_("Enable integrations with game sources"))) self.add( self.get_description_label( - _("Access your game libraries from various sources. " "Changes require a restart to take effect.") + _("Access your game libraries from various sources. Changes require a restart to take effect.") ) ) self.frame = Gtk.Frame(visible=True, shadow_type=Gtk.ShadowType.ETCHED_IN) diff --git a/lutris/gui/config/updates_box.py b/lutris/gui/config/updates_box.py index 500d8a730f..12d06a3553 100644 --- a/lutris/gui/config/updates_box.py +++ b/lutris/gui/config/updates_box.py @@ -1,43 +1,22 @@ import os from gettext import gettext as _ -from typing import Callable, Tuple +from typing import Callable, Optional from gi.repository import Gio, Gtk -from lutris import settings -from lutris.api import ( - format_runner_version, - get_default_wine_runner_version_info, - get_runtime_versions_date_time_ago, -) from lutris.gui.config.base_config_box import BaseConfigBox from lutris.gui.dialogs import NoticeDialog from lutris.runtime import RuntimeUpdater from lutris.services.lutris import sync_media -from lutris.settings import UPDATE_CHANNEL_STABLE, UPDATE_CHANNEL_UNSUPPORTED -from lutris.util import system from lutris.util.jobs import AsyncCall from lutris.util.log import logger from lutris.util.strings import gtk_safe -from lutris.util.wine.wine import WINE_DIR LUTRIS_EXPERIMENTAL_FEATURES_ENABLED = os.environ.get("LUTRIS_EXPERIMENTAL_FEATURES_ENABLED") == "1" class UpdatesBox(BaseConfigBox): def populate(self): - self.add(self.get_section_label(_("Wine update channel"))) - - update_channel_radio_buttons = self.get_update_channel_radio_buttons() - - update_label_text, update_button_text = self.get_wine_update_texts() - self.update_runners_box = UpdateButtonBox( - update_label_text, update_button_text, clicked=self.on_runners_update_clicked - ) - - self.pack_start(self._get_framed_options_list_box(update_channel_radio_buttons), False, False, 0) - self.pack_start(self._get_framed_options_list_box([self.update_runners_box]), False, False, 0) - self.add(self.get_section_label(_("Runtime updates"))) self.add(self.get_description_label(_("Runtime components include DXVK, VKD3D and Winetricks."))) self.update_runtime_box = UpdateButtonBox("", _("Check for Updates"), clicked=self.on_runtime_update_clicked) @@ -53,69 +32,9 @@ def populate(self): self.update_media_box = UpdateButtonBox("", _("Download Missing Media"), clicked=self.on_download_media_clicked) self.pack_start(self._get_framed_options_list_box([self.update_media_box]), False, False, 0) - def get_update_channel_radio_buttons(self): - update_channel = settings.read_setting("wine-update-channel", UPDATE_CHANNEL_STABLE) - markup = _( - "Stable:\n" - "Wine-GE updates are downloaded automatically and the latest version " - "is always used unless overridden in the settings.\n" - "\n" - "This allows us to keep track of regressions more efficiently and provide " - "fixes more reliably." - ) - stable_channel_radio_button = self._get_radio_button( - markup, active=update_channel == UPDATE_CHANNEL_STABLE, group=None - ) - - markup = _( - "Self-maintained:\n" - "Wine updates are no longer delivered automatically and you have full responsibility " - "of your Wine versions.\n" - "\n" - "Please note that this mode is fully unsupported. In order to submit issues on Github " - "or ask for help on Discord, switch back to the Stable channel." - ) - unsupported_channel_radio_button = self._get_radio_button( - markup, active=update_channel == UPDATE_CHANNEL_UNSUPPORTED, group=stable_channel_radio_button - ) - # Safer to connect these after the active property has been initialized on all radio buttons - stable_channel_radio_button.connect("toggled", self.on_update_channel_toggled, UPDATE_CHANNEL_STABLE) - unsupported_channel_radio_button.connect("toggled", self.on_update_channel_toggled, UPDATE_CHANNEL_UNSUPPORTED) - - return stable_channel_radio_button, unsupported_channel_radio_button - - def get_wine_update_texts(self) -> Tuple[str, str]: - wine_version_info = get_default_wine_runner_version_info() - if not wine_version_info: - update_label_text = _("No compatible Wine version could be identified. No updates are available.") - update_button_text = _("Check Again") - return update_label_text, update_button_text - - wine_version = format_runner_version(wine_version_info) - if wine_version and system.path_exists(os.path.join(settings.RUNNER_DIR, "wine", wine_version)): - update_label_text = _("Your Wine version is up to date. Using: %s\n" "Last checked %s.") % ( - wine_version_info["version"], - get_runtime_versions_date_time_ago(), - ) - update_button_text = _("Check Again") - elif not system.path_exists(os.path.join(settings.RUNNER_DIR, "wine")): - update_label_text = ( - _("You don't have any Wine version installed.\n" "We recommend %s") - % wine_version_info["version"] - ) - update_button_text = _("Download %s") % wine_version_info["version"] - else: - update_label_text = ( - _("You don't have the recommended Wine version: %s") % wine_version_info["version"] - ) - update_button_text = _("Download %s") % wine_version_info["version"] - return update_label_text, update_button_text - - def apply_wine_update_texts(self, completion_markup: str = "") -> None: - label_markup, _button_label = self.get_wine_update_texts() - self.update_runners_box.show_completion_markup(label_markup, completion_markup) - - def _get_radio_button(self, label_markup, active, group, margin=12): + def _get_radio_button( + self, label_markup: str, active: bool, group: Gtk.RadioButton, margin: int = 12 + ) -> Gtk.RadioButton: radio_button = Gtk.RadioButton.new_from_widget(group) radio_button.set_active(active) radio_button.set_margin_left(margin) @@ -125,10 +44,12 @@ def _get_radio_button(self, label_markup, active, group, margin=12): radio_button.set_visible(True) radio_button.set_label("") # creates Gtk.Label child - label = radio_button.get_child() - label.set_markup(label_markup) - label.set_margin_left(6) - label.props.wrap = True + label: Optional[Gtk.Label] = radio_button.get_child() + + if label: + label.set_markup(label_markup) + label.set_margin_left(6) + label.props.wrap = True return radio_button def on_download_media_clicked(self, _widget): @@ -166,37 +87,6 @@ def _get_main_window(self): return return application.window - def on_runners_update_clicked(self, _widget): - window = self._get_main_window() - if not window: - return - - # Create runner dir if missing, to enable installing runner updates at all. - if not system.path_exists(WINE_DIR): - os.mkdir(WINE_DIR) - - updater = RuntimeUpdater(force=True) - updater.update_runtime = False - component_updaters = updater.create_component_updaters() - if component_updaters: - - def on_complete(_result): - self.apply_wine_update_texts() - - started = window.install_runtime_component_updates( - component_updaters, - updater, - completion_function=on_complete, - error_function=self.update_runners_box.show_error, - ) - - if started: - self.update_runners_box.show_running_markup(_("Downloading...")) - else: - NoticeDialog(_("Updates are already being downloaded and installed."), parent=self.get_toplevel()) - else: - self.apply_wine_update_texts(_("No updates are required at this time.")) - def on_runtime_update_clicked(self, _widget): def get_updater(): updater = RuntimeUpdater(force=True) @@ -232,18 +122,6 @@ def on_complete(_result): else: update_box.show_completion_markup("", _("No updates are required at this time.")) - def on_update_channel_toggled(self, checkbox, value): - """Update setting when update channel is toggled""" - if not checkbox.get_active(): - return - last_setting = settings.read_setting("wine-update-channel", UPDATE_CHANNEL_STABLE) - if last_setting != UPDATE_CHANNEL_UNSUPPORTED and value == UPDATE_CHANNEL_UNSUPPORTED: - NoticeDialog( - _("Without the Wine-GE updates enabled, we can no longer provide support on Github and Discord."), - parent=self.get_toplevel(), - ) - settings.write_setting("wine-update-channel", value) - class UpdateButtonBox(Gtk.Box): """A box containing a button to start updating something, with methods to show a result @@ -256,7 +134,7 @@ def __init__(self, label: str, button_label: str, clicked: Callable[[Gtk.Widget] self.label.set_markup(label) self.pack_start(self.label, True, True, 0) - self.button = Gtk.Button(button_label, visible=True) + self.button = Gtk.Button(label=button_label, visible=True) self.button.connect("clicked", clicked) self.pack_end(self.button, False, False, 0) diff --git a/lutris/gui/config/widget_generator.py b/lutris/gui/config/widget_generator.py index c7c6d9fe80..964f34f0ac 100644 --- a/lutris/gui/config/widget_generator.py +++ b/lutris/gui/config/widget_generator.py @@ -4,9 +4,9 @@ from abc import ABC, abstractmethod from gettext import gettext as _ from inspect import Parameter, signature -from typing import Any, Callable, Dict, List, Optional, Union +from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional -from gi.repository import Gdk, Gtk +from gi.repository import Gdk, Gtk # type: ignore from lutris.config import LutrisConfig from lutris.gui.widgets import NotificationSource @@ -15,6 +15,9 @@ from lutris.util.log import logger from lutris.util.strings import gtk_safe +if TYPE_CHECKING: + from lutris.gui.config.boxes import ConfigBox + class WidgetGenerator(ABC): """This class generates widgets for an options page. It even adds the widgets @@ -38,7 +41,7 @@ class WidgetGenerator(ABC): GeneratorFunction = Callable[[Dict[str, Any], Any, Any], Optional[Gtk.Widget]] - def __init__(self, parent: Gtk.Box, *callback_args, **callback_kwargs) -> None: + def __init__(self, parent: "ConfigBox", *callback_args, **callback_kwargs) -> None: self.parent = parent self.callback_args = callback_args self.callback_kwargs = callback_kwargs @@ -50,7 +53,7 @@ def __init__(self, parent: Gtk.Box, *callback_args, **callback_kwargs) -> None: # These are outputs set by generate_widget() or generate_container() # and they are reset on each call. - self.wrapper: Optional[Gtk.Widget] = None + self.wrapper: Optional[Gtk.Box] = None self.default_value = None self.tooltip_default: Optional[str] = None self.options: Dict[str, Dict[str, Any]] = {} @@ -59,9 +62,9 @@ def __init__(self, parent: Gtk.Box, *callback_args, **callback_kwargs) -> None: self.warning_messages: List[Gtk.Widget] = [] # These accumulate results across all widgets - self.wrappers: Dict[str, Gtk.Widget] = {} + self.wrappers: Dict[str, Gtk.Container] = {} self.section_frames: List[SectionFrame] = [] - self.option_containers: Dict[str, Gtk.Widget] = {} + self.option_containers: Dict[str, Gtk.Container] = {} self._generators: Dict[str, WidgetGenerator.GeneratorFunction] = { "label": self._generate_label, @@ -98,7 +101,7 @@ def default_directory(self, new_dir: str) -> None: # Widget Construction - def add_container(self, option: Dict[str, Any], wrapper: Gtk.Box = None) -> Optional[Gtk.Widget]: + def add_container(self, option: Dict[str, Any], wrapper: Optional[Gtk.Box] = None) -> Optional[Gtk.Widget]: """Generates the option's widget, wrapper and container, and adds the container to the parent; if the option uses 'section', then the container is actually placed inside a SectionFrame, or in the previous frame if it is for the same section.""" @@ -122,7 +125,7 @@ def add_container(self, option: Dict[str, Any], wrapper: Gtk.Box = None) -> Opti self._current_parent.pack_start(option_container, False, False, 0) return option_container - def generate_container(self, option: Dict[str, Any], wrapper: Gtk.Box = None) -> Optional[Gtk.Widget]: + def generate_container(self, option: Dict[str, Any], wrapper: Optional[Gtk.Box] = None) -> Optional[Gtk.Widget]: """Creates the widget, wrapper, and container; this returns the container (or the wrapper if there's no container).""" option_widget = self.generate_widget(option, wrapper) @@ -132,20 +135,20 @@ def generate_container(self, option: Dict[str, Any], wrapper: Gtk.Box = None) -> self.option_containers[option_key] = option_container option_container.show_all() - option_container.lutris_option_key = option_key - option_container.lutris_option_label = option["label"] - option_container.lutris_option_helptext = option.get("help") or "" + option_container.lutris_option_key = option_key # type:ignore[attr-defined] + option_container.lutris_option_label = option["label"] # type:ignore[attr-defined] + option_container.lutris_option_helptext = option.get("help") or "" # type:ignore[attr-defined] # Mark advanced option containers, to be hidden by checking for this - option_container.lutris_advanced = bool(option.get("advanced")) - option_container.lutris_option = option + option_container.lutris_advanced = bool(option.get("advanced")) # type:ignore[attr-defined] + option_container.lutris_option = option # type:ignore[attr-defined] self.option_container = option_container return option_container else: return None - def generate_widget(self, option: Dict[str, Any], wrapper: Gtk.Box = None) -> Optional[Gtk.Widget]: + def generate_widget(self, option: Dict[str, Any], wrapper: Optional[Gtk.Box] = None) -> Optional[Gtk.Widget]: """This creates a wrapper box and a label and widget within it according to the options dict given. The option widget itself, is returned, but this method also sets attributes on the generator. You get 'wrapper', 'default_value', 'tooltip_default' and 'option_widget' which restates @@ -207,7 +210,7 @@ def configure_wrapper_box(self, wrapper: Gtk.Widget, option: Dict[str, Any], val def get_tooltip(self, option: Dict[str, Any], value: Any, default: Any): tooltip = option.get("help") - if isinstance(self.tooltip_default, str): + if self.tooltip_default: tooltip = tooltip + "\n\n" if tooltip else "" tooltip += _("Default: ") + self.tooltip_default return tooltip @@ -232,7 +235,7 @@ def create_wrapper_box(self, option: Dict[str, Any], value: Any, default: Any) - return Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=12, margin_bottom=6, visible=True) - def create_option_container(self, option: Dict[str, Any], wrapper: Gtk.Widget) -> Gtk.Widget: + def create_option_container(self, option: Dict[str, Any], wrapper: Gtk.Container) -> Gtk.Container: """This creates a wrapper box around the widget wrapper, to support additional controls. The base implementation wraps 'wrapper' in a Box with the error and warning widgets; if there are none it just returns 'wrapper'.""" @@ -292,15 +295,15 @@ def update_widgets(self) -> None: frame.set_visible(visible) frame.set_no_show_all(not visible) - def update_option_container(self, option, container: Gtk.Box, wrapper: Gtk.Box): + def update_option_container(self, option, container: Gtk.Container, wrapper: Gtk.Container): """This method updates an option container and its wrapper; this re-evaluates the relevant options in case they contain callables and those callables return different results.""" # Update messages in message boxes that support it - for ch in container.get_children(): - if hasattr(ch, "update_message"): - ch.update_message(option, self) + for child in container.get_children(): + if hasattr(child, "update_message"): + child.update_message(option, self) # Hide entire container if the option is not visible visible = self.get_visibility(option) @@ -308,7 +311,7 @@ def update_option_container(self, option, container: Gtk.Box, wrapper: Gtk.Box): container.set_no_show_all(not visible) # Grey out option if condition unmet, or if a second setting is False - condition = self.get_condition(option) + condition: bool = self.get_condition(option) wrapper.set_sensitive(condition) # Widget factories @@ -404,7 +407,7 @@ def populate_combobox_choices(): liststore.append(choice) if tooltip_default: - self.tooltip_default = tooltip_default + self.tooltip_default = str(tooltip_default) def expand_combobox_choices(): expanded = [] @@ -600,7 +603,7 @@ def on_files_treeview_keypress(treeview, event): vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) label = Label(label + ":") label.set_halign(Gtk.Align.START) - button = Gtk.Button(_("Add Files")) + button = Gtk.Button(label=_("Add Files")) button.connect("clicked", on_add_files_clicked) button.set_margin_left(10) vbox.pack_start(label, False, False, 5) @@ -619,7 +622,7 @@ def on_files_treeview_keypress(treeview, event): for filename in files: files_list_store.append([filename]) cell_renderer = Gtk.CellRendererText() - files_treeview = Gtk.TreeView(files_list_store) + files_treeview = Gtk.TreeView(model=files_list_store) files_column = Gtk.TreeViewColumn(_("Files"), cell_renderer, text=0) files_treeview.append_column(files_column) files_treeview.connect("key-press-event", on_files_treeview_keypress) @@ -709,7 +712,7 @@ def get_visibility(self, option: Dict[str, Any]) -> bool: True, and if it is callable this calls it. Subclasses can add further conditions.""" return self._evaluate_flag_option("visible", option) - def get_condition(self, option: Dict[str, Any]) -> Union[None, bool, Callable]: + def get_condition(self, option: Dict[str, Any]) -> bool: """Extracts the 'condition' option; but also the 'conditional_on' option, and if both are present, then if either indicates the control should be disabled this will be false..""" condition = self._evaluate_flag_option("condition", option) @@ -722,8 +725,8 @@ def get_condition(self, option: Dict[str, Any]) -> Union[None, bool, Callable]: container = self.option_containers[option["option"]] - for ch in container.get_children(): - if hasattr(ch, "blocks_sensitivity") and ch.blocks_sensitivity: + for child in container.get_children(): + if hasattr(child, "blocks_sensitivity") and child.blocks_sensitivity: return False return condition diff --git a/lutris/gui/dialogs/__init__.py b/lutris/gui/dialogs/__init__.py index 1f128a2e52..6ca217682e 100644 --- a/lutris/gui/dialogs/__init__.py +++ b/lutris/gui/dialogs/__init__.py @@ -1,14 +1,16 @@ """Commonly used dialogs""" +import builtins import inspect import os import traceback -from builtins import BaseException from gettext import gettext as _ -from typing import Any, Callable, Dict, Type, TypeVar, Union +from typing import Any, Callable, Dict, Optional, Type, TypeVar, Union, cast import gi +from lutris.exceptions import LutrisError + gi.require_version("Gdk", "3.0") gi.require_version("Gtk", "3.0") @@ -16,6 +18,7 @@ from lutris import api, settings from lutris.gui.widgets.log_text_view import LogTextView +from lutris.gui.widgets.utils import get_widget_children, get_widget_window from lutris.util import datapath from lutris.util.jobs import schedule_at_idle from lutris.util.log import get_log_contents, logger @@ -36,7 +39,8 @@ def __init__( buttons: Gtk.ButtonsType = None, **kwargs, ): - super().__init__(title, parent, flags, buttons, **kwargs) + # MyPy can't see it, but __init__ can handle the new_with_buttons arguments for us + super().__init__(title, parent, flags, buttons, **kwargs) # type:ignore self._response_type = Gtk.ResponseType.NONE self.connect("response", self.on_response) @@ -57,7 +61,7 @@ def on_response(self, _dialog, response: Gtk.ResponseType) -> None: this records the response for 'response_type'.""" self._response_type = response - def destroy_at_idle(self, condition: Callable = None): + def destroy_at_idle(self, condition: Optional[Callable] = None): """Adds as idle task to destroy this window at idle time; it can do so conditionally if you provide a callable to check, but it checks only once. You can still explicitly destroy the @@ -236,16 +240,16 @@ def initialize(self): # pylint: disable=arguments-differ class NoticeDialog(Gtk.MessageDialog): """Display a message to the user.""" - def __init__(self, message_markup: str, secondary: str = None, parent: Gtk.Window = None): + def __init__(self, message_markup: str, secondary: Optional[str] = None, parent: Optional[Gtk.Widget] = None): + parent: Gtk.Window = get_widget_window(parent) super().__init__(message_type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK, parent=parent) self.set_markup(message_markup) if secondary: self.format_secondary_text(secondary[:256]) # So you can copy warning text - for child in self.get_message_area().get_children(): - if isinstance(child, Gtk.Label): - child.set_selectable(True) + for child in get_widget_children(self.get_message_area(), child_type=Gtk.Label): + child.set_selectable(True) self.run() self.destroy() @@ -255,16 +259,16 @@ class WarningDialog(Gtk.MessageDialog): """Display a warning to the user, who responds with whether to proceed, like a QuestionDialog.""" - def __init__(self, message_markup: str, secondary: str = None, parent: Gtk.Window = None): + def __init__(self, message_markup: str, secondary: Optional[str] = None, parent: Optional[Gtk.Widget] = None): + parent: Gtk.Window = get_widget_window(parent) super().__init__(message_type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK_CANCEL, parent=parent) self.set_markup(message_markup) if secondary: self.format_secondary_text(secondary[:256]) # So you can copy warning text - for child in self.get_message_area().get_children(): - if isinstance(child, Gtk.Label): - child.set_selectable(True) + for child in get_widget_children(self.get_message_area(), child_type=Gtk.Label): + child.set_selectable(True) self.result = self.run() self.destroy() @@ -275,36 +279,44 @@ class ErrorDialog(Gtk.MessageDialog): def __init__( self, - error: Union[str, BaseException], - message_markup: str = None, - secondary: str = None, - parent: Gtk.Window = None, + error: Union[str, builtins.BaseException], + message_markup: Optional[str] = None, + secondary_markup: Optional[str] = None, + parent: Optional[Gtk.Widget] = None, ): + parent: Gtk.Window = get_widget_window(parent) super().__init__(message_type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK, parent=parent) - if isinstance(error, BaseException): - if secondary: + def get_message_markup(err: Union[BaseException, str]) -> str: + if isinstance(err, LutrisError): + return err.message_markup or gtk_safe(str(err)) + else: + return gtk_safe(str(err)) + + if isinstance(error, builtins.BaseException): + if secondary_markup: # Some errors contain < and > and look like markup, but aren't- # we'll need to protect the message dialog against this. To use markup, # you must pass the message itself directly. - message_markup = message_markup or gtk_safe(str(error)) + message_markup = message_markup or get_message_markup(error) elif not message_markup: message_markup = "%s" % _("Lutris has encountered an error") - secondary = str(error) + secondary_markup = get_message_markup(error) elif not message_markup: - message_markup = gtk_safe(str(error)) + message_markup = get_message_markup(error) # Gtk doesn't wrap long labels containing no space correctly # the length of the message is limited to avoid display issues - self.set_markup(message_markup[:256]) - if secondary: - self.format_secondary_text(secondary[:256]) + if message_markup: + self.set_markup(message_markup[:256]) + + if secondary_markup: + self.format_secondary_markup(secondary_markup[:256]) # So you can copy error text - for child in self.get_message_area().get_children(): - if isinstance(child, Gtk.Label): - child.set_selectable(True) + for child in get_widget_children(self.get_message_area(), child_type=Gtk.Label): + child.set_selectable(True) if isinstance(error, BaseException): content_area = self.get_content_area() @@ -315,8 +327,8 @@ def __init__( details_expander.set_margin_top(spacing) content_area.pack_end(details_expander, False, False, 0) - action_area = self.get_action_area() - copy_button = Gtk.Button(_("Copy Details to Clipboard"), visible=True) + action_area = cast(Gtk.ButtonBox, self.get_action_area()) + copy_button = Gtk.Button(label=_("Copy Details to Clipboard"), visible=True) action_area.pack_start(copy_button, False, True, 0) action_area.set_child_secondary(copy_button, True) copy_button.connect("clicked", self.on_copy_clicked, error) @@ -581,8 +593,8 @@ def on_connect(self, widget): # pylint: disable=unused-argument if not token: NoticeDialog(_("Login failed"), parent=self.parent) else: - self.emit("connected", username) self.dialog.destroy() + self.emit("connected", username) class InstallerSourceDialog(ModelessDialog): @@ -663,18 +675,32 @@ def on_response(self, dialog, response): super().on_response(dialog, response) +def _call_when_destroyed(self: Gtk.Widget, callback: Callable[[], None]) -> Callable[[], None]: + handler_id = self.connect("destroy", lambda *x: callback()) + return lambda: self.disconnect(handler_id) + + +# call_when_destroyed is a utility that hooks up the 'destroy' signal to call your callback, +# and returns a callable that unhooks it. This is used by AsyncJob to avoid sending a callback +# to a destroyed widget. +Gtk.Widget.call_when_destroyed = _call_when_destroyed # type: ignore[attr-defined] + _error_handlers: Dict[Type[BaseException], Callable[[BaseException, Gtk.Window], Any]] = {} TError = TypeVar("TError", bound=BaseException) -def display_error(error: BaseException, parent: Gtk.Window) -> None: +def display_error(error: BaseException, parent: Gtk.Widget) -> None: """Displays an error in a modal dialog. This can be customized via register_error_handler(), but displays an ErrorDialog by default. This allows custom error handling to be invoked anywhere that can show an ErrorDialog, instead of having to bounce exceptions off the backstop.""" handler = get_error_handler(type(error)) - handler(error, parent) + + if isinstance(parent, Gtk.Window): + handler(error, parent) + else: + handler(error, cast(Gtk.Window, parent.get_toplevel())) def register_error_handler(error_class: Type[TError], handler: Callable[[TError, Gtk.Window], Any]) -> None: diff --git a/lutris/gui/dialogs/delegates.py b/lutris/gui/dialogs/delegates.py index 49c9600580..5d3418afb3 100644 --- a/lutris/gui/dialogs/delegates.py +++ b/lutris/gui/dialogs/delegates.py @@ -1,7 +1,7 @@ from gettext import gettext as _ from typing import Optional -from gi.repository import Gdk, Gtk +from gi.repository import Gdk, Gtk # type: ignore from lutris.exceptions import UnavailableRunnerError from lutris.game import Game @@ -79,7 +79,7 @@ def show_install_file_inquiry(self, question: str, title: str, message: str) -> """ return None - def download_install_file(self, url: str, destination: str) -> Downloader: + def download_install_file(self, url: str, destination: str) -> bool: """Downloads a file from a URL to a destination, overwriting any file at that path. @@ -137,7 +137,7 @@ def show_install_file_inquiry(self, question, title, message): dlg = dialogs.FileDialog(message) return dlg.filename - def download_install_file(self, url, destination): + def download_install_file(self, url: str, destination: str) -> bool: dialog = DownloadDialog(url, destination, parent=self) dialog.run() return dialog.downloader.state == Downloader.COMPLETED diff --git a/lutris/gui/dialogs/log.py b/lutris/gui/dialogs/log.py index 0a85196188..36edaf72a3 100644 --- a/lutris/gui/dialogs/log.py +++ b/lutris/gui/dialogs/log.py @@ -4,7 +4,7 @@ from datetime import datetime from gettext import gettext as _ -from gi.repository import Gdk, GObject, Gtk +from gi.repository import Gdk, GObject, Gtk, Pango from lutris.gui.dialogs import FileDialog from lutris.gui.widgets.log_text_view import LogTextView @@ -37,6 +37,15 @@ def __init__(self, game, buffer, application=None): save_button = builder.get_object("save_button") save_button.connect("clicked", self.on_save_clicked) + self.window.add_events(Gdk.EventMask.SCROLL_MASK) + self.window.connect("scroll-event", self.on_scroll_event) + + # Add zoom buttons + zoom_in_button = builder.get_object("zoom_in_button") + zoom_out_button = builder.get_object("zoom_out_button") + zoom_in_button.connect("clicked", self.on_zoom_in_clicked) + zoom_out_button.connect("clicked", self.on_zoom_out_clicked) + self.window.connect("key-press-event", self.on_key_press_event) self.window.show_all() @@ -62,3 +71,36 @@ def on_save_clicked(self, _button): text = self.buffer.get_text(self.buffer.get_start_iter(), self.buffer.get_end_iter(), True) with open(log_path, "w", encoding="utf-8") as log_file: log_file.write(text) + + def on_scroll_event(self, widget: Gtk.Widget, event: Gdk.EventScroll) -> bool: + """Handle Ctrl+scroll to zoom text""" + if not event.state & Gdk.ModifierType.CONTROL_MASK: + return False + + font = self.logtextview.get_style_context().get_font(Gtk.StateFlags.NORMAL) + size = font.get_size() // Pango.SCALE + if event.direction == Gdk.ScrollDirection.UP and size < 48: + new_size = size + 1 + elif event.direction == Gdk.ScrollDirection.DOWN and size > 6: + new_size = size - 1 + else: + return False + font_desc = Pango.FontDescription() + font_desc.set_family("monospace") + font_desc.set_size(new_size * Pango.SCALE) + self.logtextview.override_font(font_desc) + return True + + def on_zoom_in_clicked(self, _button): + """Increase font size""" + font = self.logtextview.get_style_context().get_font(Gtk.StateFlags.NORMAL) + size = font.get_size() / Pango.SCALE + if size < 48: # Maximum size + self.logtextview.override_font(Pango.FontDescription(f"monospace {size + 1}")) + + def on_zoom_out_clicked(self, _button): + """Decrease font size""" + font = self.logtextview.get_style_context().get_font(Gtk.StateFlags.NORMAL) + size = font.get_size() / Pango.SCALE + if size > 6: # Minimum size + self.logtextview.override_font(Pango.FontDescription(f"monospace {size - 1}")) diff --git a/lutris/gui/dialogs/move_game.py b/lutris/gui/dialogs/move_game.py index 6db7b59581..e939f33034 100644 --- a/lutris/gui/dialogs/move_game.py +++ b/lutris/gui/dialogs/move_game.py @@ -25,7 +25,7 @@ def __init__(self, game, destination: str, parent: Gtk.Window = None) -> None: self.set_size_request(320, 60) self.set_decorated(False) vbox = Gtk.Box.new(Gtk.Orientation.VERTICAL, 12) - label = Gtk.Label(_("Moving %s to %s..." % (game, destination))) + label = Gtk.Label(label=_("Moving %s to %s..." % (game, destination))) vbox.add(label) self.progress = Gtk.ProgressBar(visible=True) self.progress.set_pulse_step(0.1) diff --git a/lutris/gui/dialogs/uninstall_dialog.py b/lutris/gui/dialogs/uninstall_dialog.py index ad54f8c064..756de33994 100644 --- a/lutris/gui/dialogs/uninstall_dialog.py +++ b/lutris/gui/dialogs/uninstall_dialog.py @@ -10,6 +10,7 @@ from lutris.game import Game from lutris.gui.dialogs import QuestionDialog from lutris.gui.widgets.gi_composites import GtkTemplate +from lutris.gui.widgets.utils import get_required_main_window, get_widget_children from lutris.util import datapath from lutris.util.jobs import AsyncCall from lutris.util.library_sync import LibrarySyncer @@ -44,6 +45,9 @@ def __init__(self, parent: Gtk.Window, **kwargs): self.init_template() self.show_all() + def get_game_removal_rows(self) -> List["GameRemovalRow"]: + return get_widget_children(self.uninstall_game_list, GameRemovalRow) + def add_games(self, game_ids: Iterable[str]) -> None: new_game_ids = set(game_ids) - set(g.id for g in self.games) new_games = [Game(game_id) for game_id in new_game_ids] @@ -81,7 +85,7 @@ def is_shared(directory: str) -> bool: dir_users.discard(g.id) return bool(dir_users) - for row in self.uninstall_game_list.get_children(): + for row in self.get_game_removal_rows(): game = row.game if game.is_installed and game.directory: if game.config and is_removeable(game.directory, game.config.system_config): @@ -100,7 +104,7 @@ def update_folder_sizes(self, new_games: List[Game]) -> None: folders_to_size = [] folders_seen = set() - for row in self.uninstall_game_list.get_children(): + for row in self.get_game_removal_rows(): game = row.game if game in new_games and game.is_installed and game.directory: if game.directory not in folders_seen: @@ -150,7 +154,7 @@ def update_message(self) -> None: ) ) else: - messages.append(_("After you remove these games, they will no longer " "appear in the 'Games' view.")) + messages.append(_("After you remove these games, they will no longer appear in the 'Games' view.")) if self.any_shared: messages.append( @@ -172,7 +176,7 @@ def update_message(self) -> None: def on_row_updated(self, row) -> None: directory = row.game.directory if directory and row.can_delete_files: - for r in self.uninstall_game_list.get_children(): + for r in self.get_game_removal_rows(): if row != r and r.game.directory == directory and r.can_delete_files: r.delete_files = row.delete_files @@ -186,7 +190,7 @@ def update_all_checkboxes(self) -> None: def update(checkbox, is_candidate, is_set): set_count = 0 unset_count = 0 - for row in self.uninstall_game_list.get_children(): + for row in self.get_game_removal_rows(): if is_candidate(row): if is_set(row): set_count += 1 @@ -241,7 +245,7 @@ def _apply_all_checkbox(self, checkbox, row_updater: Callable[["GameRemovalRow", active = checkbox.get_active() self._setting_all_checkboxes = True - for row in self.uninstall_game_list.get_children(): + for row in self.get_game_removal_rows(): row_updater(row, active) self._setting_all_checkboxes = False @@ -253,12 +257,12 @@ def on_cancel_button_clicked(self, _widget) -> None: @GtkTemplate.Callback def on_remove_button_clicked(self, _widget) -> None: - rows = list(self.uninstall_game_list.get_children()) + rows = list(self.get_game_removal_rows()) dirs_to_delete = list(set(row.game.directory for row in rows if row.delete_files)) if dirs_to_delete: if len(dirs_to_delete) == 1: - question = _("Please confirm.\nEverything under %s\n" "will be moved to the trash.") % gtk_safe( + question = _("Please confirm.\nEverything under %s\nwill be moved to the trash.") % gtk_safe( dirs_to_delete[0] ) else: @@ -277,21 +281,24 @@ def on_remove_button_clicked(self, _widget) -> None: if dlg.result != Gtk.ResponseType.YES: return + library_sync_enabled = settings.read_bool_setting("library_sync_enabled", True) games_removed_from_library = [] - if settings.read_bool_setting("library_sync_enabled"): - library_syncer = LibrarySyncer() - for row in rows: - if row.remove_from_library: - games_removed_from_library.append(get_game_by_field(row.game._id, "id")) - if games_removed_from_library: - library_syncer.sync_local_library() + library_syncer = LibrarySyncer() if library_sync_enabled else None for row in rows: + if library_syncer and row.remove_from_library: + games_removed_from_library.append(get_game_by_field(row.game._id, "id")) row.perform_removal() - if settings.read_bool_setting("library_sync_enabled") and games_removed_from_library: - library_syncer.delete_from_remote_library(games_removed_from_library) - self.parent.on_game_removed() + if library_syncer and games_removed_from_library: + + def sync_local_library(): + library_syncer.sync_local_library() + library_syncer.delete_from_remote_library(games_removed_from_library) + + AsyncCall(sync_local_library, None) + + get_required_main_window().on_game_removed() self.destroy() def on_response(self, _dialog, response: Gtk.ResponseType) -> None: @@ -325,7 +332,7 @@ def _get_next_folder_size_cb(self, result, error): remaining_directories, ) - for row in self.uninstall_game_list.get_children(): + for row in self.get_game_removal_rows(): if directory == row.game.directory: row.show_folder_size(size) @@ -347,16 +354,16 @@ def __init__(self, game: Game): vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) vbox.pack_start(hbox, False, False, 0) - label = Gtk.Label(game.name, selectable=True) + label = Gtk.Label(label=game.name, selectable=True) hbox.pack_start(label, False, False, 0) - self.remove_from_library_checkbox = Gtk.CheckButton(_("Remove from Library"), halign=Gtk.Align.START) + self.remove_from_library_checkbox = Gtk.CheckButton(label=_("Remove from Library"), halign=Gtk.Align.START) self.remove_from_library_checkbox.set_active(False) self.remove_from_library_checkbox.connect("toggled", self.on_checkbox_toggled) hbox.pack_end(self.remove_from_library_checkbox, False, False, 0) if game.is_installed and self.game.directory: - self.delete_files_checkbox = Gtk.CheckButton(_("Delete Files")) + self.delete_files_checkbox = Gtk.CheckButton(label=_("Delete Files")) self.delete_files_checkbox.set_sensitive(False) self.delete_files_checkbox.set_active(False) self.delete_files_checkbox.set_tooltip_text(self.game.directory) diff --git a/lutris/gui/dialogs/webconnect_dialog.py b/lutris/gui/dialogs/webconnect_dialog.py index c71475b0a5..ba76647110 100644 --- a/lutris/gui/dialogs/webconnect_dialog.py +++ b/lutris/gui/dialogs/webconnect_dialog.py @@ -13,18 +13,46 @@ gi.require_version("WebKit2", "4.1") except ValueError: gi.require_version("WebKit2", "4.0") -from gi.repository import WebKit2 +from gi.repository import WebKit2 # type: ignore[attr-defined] +from lutris.config import LutrisConfig from lutris.gui.dialogs import ModalDialog +from lutris.util.log import logger class WebConnectDialog(ModalDialog): """Login form for external services""" def __init__(self, service: "OnlineService", parent=None): + if service.is_login_in_progress: + # If the previous login was abandoned, remove any + # credentials that may have been left over for a clean start- + # this helps if the service thinks we are logged in (ie, credenial + # cookiers remain), but Lutris does not. + service.wipe_game_cache() + service.is_login_in_progress = True - self.context = WebKit2.WebContext.new() + self.context: WebKit2.WebContext = WebKit2.WebContext.new() + + # Set locale + # Locale fallback routine: + # Lutris locale -> System environment locale -> US English + webview_locales = ["en_US"] + lutris_config = LutrisConfig() + environment_locale_lang = os.environ.get("LANG") + if environment_locale_lang: + webview_locales = [environment_locale_lang.split(".")[0]] + webview_locales + lutris_locale = lutris_config.system_config.get("locale") + if lutris_locale: + webview_locales = [lutris_locale.split(".")[0]] + webview_locales + logger.debug( + f"Webview locale fallback order: " + f"[Lutris locale]: '{lutris_locale}' -> " + f"[env: LANG]: '{environment_locale_lang}' -> " + f"[Default]: '{webview_locales[-1]}'" + ) + self.context.set_preferred_languages(webview_locales) if "http_proxy" in os.environ: proxy = WebKit2.NetworkProxySettings.new(os.environ["http_proxy"]) @@ -38,6 +66,8 @@ def __init__(self, service: "OnlineService", parent=None): super().__init__(title=service.name, parent=parent) + content_area = self.get_content_area() + self.set_default_size(self.service.login_window_width, self.service.login_window_height) self.webview = WebKit2.WebView.new_with_context(self.context) @@ -45,8 +75,8 @@ def __init__(self, service: "OnlineService", parent=None): self.webview.connect("load-changed", self.on_navigation) self.webview.connect("create", self.on_webview_popup) self.webview.connect("decide-policy", self.on_decide_policy) - self.vbox.set_border_width(0) # pylint: disable=no-member - self.vbox.pack_start(self.webview, True, True, 0) # pylint: disable=no-member + content_area.set_border_width(0) + content_area.pack_start(self.webview, True, True, 0) webkit_settings = self.webview.get_settings() @@ -85,7 +115,7 @@ def on_navigation(self, widget, load_event): script = self.service.scripts[url] widget.run_javascript(script, None, None) return True - if url.startswith(self.service.redirect_uri): + if any(url.startswith(r) for r in self.service.redirect_uris): if self.service.requires_login_page: resource = widget.get_main_resource() resource.get_data(None, self._get_response_data_finish, None) diff --git a/lutris/gui/download_queue.py b/lutris/gui/download_queue.py index f0e53eea02..29981d0252 100644 --- a/lutris/gui/download_queue.py +++ b/lutris/gui/download_queue.py @@ -1,8 +1,8 @@ # pylint: disable=no-member import os -from typing import Any, Callable, Dict, Iterable, List, Set +from typing import Any, Callable, Dict, Iterable, List, Optional, Set -from gi.repository import Gtk +from gi.repository import GObject, Gtk # type: ignore from lutris.gui.widgets.gi_composites import GtkTemplate from lutris.gui.widgets.progress_box import ProgressBox @@ -16,9 +16,13 @@ class DownloadQueue(Gtk.ScrolledWindow): """This class is a widget that displays a stack of progress boxes, which you can create and destroy with its methods.""" + __gsignals__ = { + "download-completed": (GObject.SignalFlags.RUN_LAST, None, ()), + } + __gtype_name__ = "DownloadQueue" - download_box: Gtk.Box = GtkTemplate.Child() + download_box: Gtk.Box = GtkTemplate.Child() # type: ignore CompletionFunction = Callable[[Any], None] ErrorFunction = Callable[[Exception], None] @@ -95,9 +99,9 @@ def start( self, operation: Callable[[], Any], progress_function: ProgressBox.ProgressFunction, - completion_function: CompletionFunction = None, - error_function: ErrorFunction = None, - operation_name: str = None, + completion_function: Optional[CompletionFunction] = None, + error_function: Optional[ErrorFunction] = None, + operation_name: Optional[str] = None, ) -> bool: """Runs 'operation' on a thread, while displaying a progress bar. The 'progress_function' controls this progress bar, and it is removed when the 'operation' completes. @@ -125,9 +129,9 @@ def start_multiple( self, operation: Callable[[], Any], progress_functions: Iterable[ProgressBox.ProgressFunction], - completion_function: CompletionFunction = None, - error_function: ErrorFunction = None, - operation_names: List[str] = None, + completion_function: Optional[CompletionFunction] = None, + error_function: Optional[ErrorFunction] = None, + operation_names: Optional[List[str]] = None, ) -> bool: """Runs 'operation' on a thread, while displaying a set of progress bars. The 'progress_functions' control these progress bars, and they are removed when the @@ -148,6 +152,8 @@ def start_multiple( if not self.running_operation_names.isdisjoint(operation_names): return False self.running_operation_names.update(operation_names) + else: + operation_names = [] # Must capture the functions, since in earlier (<3.8) Pythons functions do not provide # value equality, so we need to make sure we're always using what we started with. @@ -168,6 +174,7 @@ def completion_callback(result, error): error_function(error) elif completion_function: completion_function(result) + self.emit("download-completed") AsyncCall(operation, completion_callback) return True diff --git a/lutris/gui/installerwindow.py b/lutris/gui/installerwindow.py index d8657ba996..6b1e1025bf 100644 --- a/lutris/gui/installerwindow.py +++ b/lutris/gui/installerwindow.py @@ -4,6 +4,7 @@ import os import traceback from gettext import gettext as _ +from typing import List from gi.repository import Gdk, Gio, GLib, Gtk @@ -21,9 +22,11 @@ from lutris.gui.dialogs.delegates import DialogInstallUIDelegate from lutris.gui.installer.files_box import InstallerFilesBox from lutris.gui.installer.script_picker import InstallerPicker +from lutris.gui.widgets import NotificationSource from lutris.gui.widgets.common import FileChooserEntry from lutris.gui.widgets.log_text_view import LogTextView from lutris.gui.widgets.navigation_stack import NavigationStack +from lutris.gui.widgets.utils import get_main_window from lutris.installer import InstallationKind, interpreter from lutris.installer.errors import MissingGameDependencyError, ScriptingError from lutris.installer.interpreter import ScriptInterpreter @@ -32,19 +35,22 @@ from lutris.util.linux import LINUX_SYSTEM from lutris.util.log import get_log_contents, logger from lutris.util.steam import shortcut as steam_shortcut -from lutris.util.strings import human_size +from lutris.util.strings import gtk_safe, human_size from lutris.util.system import is_removeable +INSTALLATION_FAILED = NotificationSource() +INSTALLATION_COMPLETED = NotificationSource() + class MarkupLabel(Gtk.Label): """Label for installer window""" def __init__(self, markup=None, **kwargs): - super().__init__(label=markup, use_markup=True, wrap=True, max_width_chars=80, **kwargs) + super().__init__(label=markup, use_markup=True, wrap=True, justify=Gtk.Justification.CENTER, **kwargs) self.set_alignment(0.5, 0) -class InstallerWindow(ModelessDialog, DialogInstallUIDelegate, ScriptInterpreter.InterpreterUIDelegate): # pylint: disable=too-many-public-methods +class InstallerWindow(ModelessDialog, DialogInstallUIDelegate, ScriptInterpreter.InterpreterUIDelegate): # type:ignore[misc] """GUI for the install process. This window is divided into pages; as you go through the install each page @@ -150,12 +156,12 @@ def __init__(self, installers, service=None, appid=None, installation_kind=Insta self.installer_files_box.connect("files-ready", self.on_files_ready) self.log_buffer = Gtk.TextBuffer() + self.error_details_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6, no_show_all=True) self.error_details_buffer = Gtk.TextBuffer() self.error_reporter = self.load_error_page - self.load_choose_installer_page() - # And... go! + self.load_first_page() self.show_all() self.present() @@ -217,6 +223,18 @@ def on_navigate_home(self, _accel_group, _window, _keyval, _modifier): def on_cancel_clicked(self, _button=None): """Ask a confirmation before cancelling the installation, if it has started.""" + + def on_cancelled(): + if self.interpreter: + self.interpreter.cleanup() # still remove temporary downloads in any case + + if self.interpreter and not self.install_in_progress: + INSTALLATION_COMPLETED.fire() + else: + INSTALLATION_FAILED.fire() + + self.destroy() + if self.install_in_progress: widgets = [] @@ -246,13 +264,16 @@ def on_cancel_clicked(self, _button=None): self.installer_files_box.stop_all() if self.interpreter: - self.interpreter.revert(remove_game_dir=remove_checkbox.get_active()) + self.interpreter.revert( + remove_game_dir=remove_checkbox.get_active(), + completion_function=on_cancelled, + error_function=self.on_signal_error, + ) + else: + on_cancelled() else: self.installer_files_box.stop_all() - - if self.interpreter: - self.interpreter.cleanup() # still remove temporary downloads in any case - self.destroy() + on_cancelled() def on_source_clicked(self, _button): InstallerSourceDialog(self.interpreter.installer.script_pretty, self.interpreter.installer.game_name, self) @@ -270,10 +291,10 @@ def _handle_callback_error(self, error): display_error(error, parent=self) self.stack.navigation_reset() - def set_status(self, text): + def set_status(self, markup): """Display a short status text.""" - self.status_label.set_text(text) - self.status_label.set_visible(bool(text)) + self.status_label.set_markup(markup) + self.status_label.set_visible(bool(markup)) def get_status(self): return self.status_label.get_text() if self.status_label.get_visible() else "" @@ -288,6 +309,34 @@ def register_page_creators(self): self.stack.add_named_factory("error", self.create_error_page) self.stack.add_named_factory("nothing", lambda *x: Gtk.Box()) + def load_first_page(self) -> None: + # If we're downloading updates in the background, we'll + # put up a spinner page to wait until that's done. Installations can + # fail if Lutris components are missing, and users sometimes try to install + # a game just after their first Lutris startup. This should help. + window = get_main_window() + if window and not window.download_queue.is_empty: + download_queue = window.download_queue + + def on_start_installation(*args): + self.load_choose_installer_page() + download_queue.disconnect(dc_handler) + + def on_download_complete(*args): + if download_queue.is_empty: + on_start_installation() + + dc_handler = download_queue.connect("download-completed", on_download_complete) + self.load_spinner_page( + _( + "Waiting for Lutris component installation\n" + "Installations can fail if Lutris components are not installed first." + ) + ) + self.display_continue_button(on_start_installation) + else: + self.load_choose_installer_page() + # Interpreter UI Delegate # # These methods are called from the ScriptInterpreter, and defer work until idle time @@ -297,17 +346,17 @@ def report_error(self, error): GLib.idle_add(self.error_reporter, error) def report_status(self, status): - GLib.idle_add(self.set_status, status) + GLib.idle_add(self.set_status, gtk_safe(status)) def attach_log(self, command): # Hook the log buffer right now, lest we miss updates. command.set_log_buffer(self.log_buffer) GLib.idle_add(self.load_log_page) - def begin_disc_prompt(self, message, requires, installer, callback): + def begin_disc_prompt(self, message_markup, requires, installer, callback): GLib.idle_add( self.load_ask_for_disc_page, - message, + message_markup, requires, installer, callback, @@ -317,7 +366,7 @@ def begin_input_menu(self, alias, options, preselect, callback): GLib.idle_add(self.load_input_menu_page, alias, options, preselect, callback) def report_finished(self, game_id, status): - GLib.idle_add(self.load_finish_install_page, game_id, status) + GLib.idle_add(self.load_finish_install_page, game_id, gtk_safe(status)) # Choose Installer Page # @@ -537,8 +586,9 @@ def on_continue(_button): self.set_status( _( - "This game has extra content. \nSelect which one you want and " - "they will be available in the 'extras' folder where the game is installed." + "This game has extra content\n" + "Select which one you want and " + "they will be available in the 'extras' folder where the game is installed." ) ) self.stack.present_page("extras") @@ -681,7 +731,7 @@ def launch_installer_commands(self): # Provides a generic progress spinner and displays a status. The back button # is disabled for this page. - def load_spinner_page(self, status, cancellable=True, extra_buttons=None): + def load_spinner_page(self, status: str, cancellable: bool = True, extra_buttons: List[Gtk.Button] = None) -> None: def present_spinner_page(): """Show a spinner in the middle of the view""" @@ -725,7 +775,7 @@ def on_exit_page(): self.error_reporter = saved_reporter def on_error(error): - self.set_status(str(error)) + self.set_status(gtk_safe(error)) saved_reporter = self.error_reporter self.error_reporter = on_error @@ -787,7 +837,7 @@ def on_input_menu_changed(self, combobox): # This page asks the user for a disc; it also has a callback used when # the user selects a disc. Again, this is summoned by the installer script. - def load_ask_for_disc_page(self, message, requires, installer, callback): + def load_ask_for_disc_page(self, message_markup, requires, installer, callback): def present_ask_for_disc_page(): """Ask the user to do insert a CD-ROM.""" @@ -801,7 +851,7 @@ def wrapped_callback(*args, **kwargs): self.load_error_page(err) vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6) - label = MarkupLabel(message) + label = MarkupLabel(message_markup) vbox.pack_start(label, False, False, 0) buttons_box = Gtk.Box() @@ -857,16 +907,21 @@ def load_error_page(self, error: BaseException) -> None: self.cancel_button.grab_focus() def present_error_page(self, error: BaseException) -> None: - self.set_status(str(error)) + self.set_status(gtk_safe(str(error))) - formatted = traceback.format_exception(type(error), error, error.__traceback__) - formatted = "\n".join(formatted).strip() + is_expected = hasattr(error, "is_expected") and error.is_expected - log = get_log_contents() - if log: - formatted = f"{formatted}\n\nLutris log:\n{log}".strip() + if is_expected: + formatted = traceback.format_exception(type(error), error, error.__traceback__) + formatted = "\n".join(formatted).strip() - self.error_details_buffer.set_text(formatted) + log = get_log_contents() + if log: + formatted = f"{formatted}\n\nLutris log:\n{log}".strip() + + self.error_details_buffer.set_text(formatted) + + self.error_details_box.set_visible(not is_expected) self.stack.present_page("error") self.display_cancel_button() @@ -881,7 +936,8 @@ def on_copy_clicked(_button): clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) clipboard.set_text(text, -1) - box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6) + error_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6) + label = Gtk.Label(xalign=0.0, wrap=True) label.set_markup( _( @@ -891,7 +947,8 @@ def on_copy_clicked(_button): "Discord." ) ) - box.pack_start(label, False, False, 0) + self.error_details_box.pack_start(label, False, False, 0) + frame = Gtk.Frame(shadow_type=Gtk.ShadowType.ETCHED_IN) details_textview = Gtk.TextView(editable=False, buffer=self.error_details_buffer) @@ -899,13 +956,14 @@ def on_copy_clicked(_button): scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.add(details_textview) frame.add(scrolledwindow) - box.pack_start(frame, True, True, 0) + self.error_details_box.pack_start(frame, True, True, 0) + error_box.pack_start(self.error_details_box, True, True, 0) - copy_button = Gtk.Button(_("Copy Details to Clipboard"), halign=Gtk.Align.START) - box.pack_end(copy_button, False, True, 0) + copy_button = Gtk.Button(label=_("Copy Details to Clipboard"), halign=Gtk.Align.START) + error_box.pack_end(copy_button, False, True, 0) copy_button.connect("clicked", on_copy_clicked) - return box + return error_box # Finished Page # diff --git a/lutris/gui/lutriswindow.py b/lutris/gui/lutriswindow.py index 469dc70712..f5414bc921 100644 --- a/lutris/gui/lutriswindow.py +++ b/lutris/gui/lutriswindow.py @@ -4,8 +4,9 @@ # pylint: disable=no-member import os from collections import namedtuple +from datetime import datetime from gettext import gettext as _ -from typing import Iterable, List, Set +from typing import Iterable, List, Set, cast from urllib.parse import unquote, urlparse from gi.repository import Gdk, Gio, GLib, Gtk @@ -15,8 +16,8 @@ LUTRIS_ACCOUNT_CONNECTED, LUTRIS_ACCOUNT_DISCONNECTED, get_runtime_versions, - read_user_info, ) +from lutris.database import categories from lutris.database import categories as categories_db from lutris.database import games as games_db from lutris.database import saved_searches as saved_searches_db @@ -49,7 +50,7 @@ from lutris.gui.views.store import GameStore from lutris.gui.widgets.game_bar import GameBar from lutris.gui.widgets.gi_composites import GtkTemplate -from lutris.gui.widgets.sidebar import LutrisSidebar +from lutris.gui.widgets.sidebar import LutrisSidebar, SidebarRow from lutris.gui.widgets.utils import has_stock_icon, load_icon_theme, open_uri from lutris.runtime import ComponentUpdater, RuntimeUpdater from lutris.search import GameSearch @@ -70,7 +71,7 @@ @GtkTemplate(ui=os.path.join(datapath.get(), "ui", "lutris-window.ui")) -class LutrisWindow(Gtk.ApplicationWindow, DialogLaunchUIDelegate, DialogInstallUIDelegate): # pylint: disable=too-many-public-methods +class LutrisWindow(Gtk.ApplicationWindow, DialogLaunchUIDelegate, DialogInstallUIDelegate): # type:ignore[misc] """Handler class for main window signals.""" default_view_type = "grid" @@ -92,12 +93,11 @@ class LutrisWindow(Gtk.ApplicationWindow, DialogLaunchUIDelegate, DialogInstallU game_view_spinner: Gtk.Spinner = GtkTemplate.Child() login_notification_revealer: Gtk.Revealer = GtkTemplate.Child() lutris_log_in_label: Gtk.Label = GtkTemplate.Child() - turn_on_library_sync_label: Gtk.Label = GtkTemplate.Child() version_notification_revealer: Gtk.Revealer = GtkTemplate.Child() version_notification_label: Gtk.Revealer = GtkTemplate.Child() show_hidden_games_button: Gtk.ModelButton = GtkTemplate.Child() - def __init__(self, application, **kwargs) -> None: + def __init__(self, application=None, **kwargs) -> None: width = int(settings.read_setting("width") or self.default_width) height = int(settings.read_setting("height") or self.default_height) super().__init__( @@ -111,6 +111,7 @@ def __init__(self, application, **kwargs) -> None: ) update_desktop_icons() load_icon_theme() + self.set_wmclass("net.lutris.Lutris", "net.lutris.Lutris") self.application = application self.window_x, self.window_y = self.get_position() self.restore_window_position() @@ -134,6 +135,10 @@ def __init__(self, application, **kwargs) -> None: "running": self.get_running_games, } + for smart_category in categories._SMART_CATEGORIES: + if smart_category.get_name() not in self.dynamic_categories_game_factories: + self.dynamic_categories_game_factories[smart_category.get_name()] = smart_category.get_games + self.accelerators = Gtk.AccelGroup() self.add_accel_group(self.accelerators) @@ -150,7 +155,7 @@ def __init__(self, application, **kwargs) -> None: # Since system-search-symbolic is already *right there* we'll try to pick some # other icon for the button that shows the search popover. fallback_filter_icons_names = ["filter-symbolic", "edit-find-replace-symbolic", "system-search-symbolic"] - filter_button_image = self.search_filters_button.get_child() + filter_button_image: Gtk.Image = self.search_filters_button.get_child() for n in fallback_filter_icons_names: if has_stock_icon(n): filter_button_image.set_from_icon_name(n, Gtk.IconSize.BUTTON) @@ -306,9 +311,9 @@ def sync_library(self, force: bool = False) -> None: def on_library_synced(_result, error): """Sync media after the library is loaded""" if not error: - sync_media() + AsyncCall(sync_media, None) - if settings.read_bool_setting("library_sync_enabled"): + if settings.read_bool_setting("library_sync_enabled", True): AsyncCall(LibrarySyncer().sync_local_library, on_library_synced if force else None, force=force) def update_action_state(self): @@ -465,36 +470,71 @@ def apply_view_sort(self, items, resolver=lambda i: i): "playtime": 0.0, } + def get_sort_default(item): + """Returns the default value to use when the value is missing; we may be able + to extract this from the item..""" + if self.view_sorting == "year" and self.service: + service_year = self.service.get_game_release_date(item) + service_year = convert_value(service_year) + if service_year: + return service_year + + # Users may have obsolete view_sorting settings, so + # we must tolerate them. We treat them all as blank. + return sort_defaults.get(self.view_sorting, "") + + def convert_value(value): + """Converts 'value' to the type required for the sort that is in use. Returns None if this + can't be managed.""" + try: + if not value: + return None + if self.view_sorting == "name": + return str(value) + if self.view_sorting == "year": + # Years can take many forms! We'll try to convert as best we can. + if isinstance(value, datetime): + return int(value.year) + else: + try: + return int(value) + except ValueError: + as_date = datetime.strptime(str(value), "%Y-%m-%d") + return int(as_date.year) + else: + return float(value) + except ValueError: + return None # unable to parse value? + + def extend_value(value): + """Expands the value to sort by to a more complex form, for smarter sorting.""" + if self.view_sorting == "name": + return get_natural_sort_key(value) + if self.view_sorting == "year": + contains_year = bool(value) + if self.view_reverse_order: + contains_year = not contains_year + return contains_year, value + return value + def get_sort_value(item): db_game = resolver(item) if not db_game: installation_flag = False - value = sort_defaults.get(self.view_sorting, "") + value = None else: installation_flag = bool(db_game.get("installed")) # When sorting by name, check for a valid sortname first, then fall back # on name if valid sortname is not available. - sortname = db_game.get("sortname") - if self.view_sorting == "name" and sortname: - value = sortname + if self.view_sorting == "name": + value = db_game.get("sortname") or db_game.get("name") else: value = db_game.get(self.view_sorting) - if self.view_sorting == "name": - value = get_natural_sort_key(value) - # Users may have obsolete view_sorting settings, so - # we must tolerate them. We treat them all as blank. - value = value or sort_defaults.get(self.view_sorting, "") - if self.view_sorting == "year": - if self.service: - service_value = self.service.get_game_release_date(item) - if service_value: - value = service_value - contains_year = bool(value) - if self.view_reverse_order: - contains_year = not contains_year - value = [contains_year, value] + value = convert_value(value) or get_sort_default(item) + value = extend_value(value) + if self.view_sorting_installed_first: # We want installed games to always be first, even in # a descending sort. @@ -502,7 +542,7 @@ def get_sort_value(item): installation_flag = not installation_flag if self.view_sorting == "name": installation_flag = not installation_flag - return [installation_flag, value] + return installation_flag, value return value reverse = self.view_reverse_order if self.view_sorting == "name" else not self.view_reverse_order @@ -616,7 +656,7 @@ def get_games_from_filters(self): service_id = self.filters.get("service") if service_id in services.SERVICES: if self.service.online and not self.service.is_authenticated(): - self.show_label(_("Connect your %s account to access your games") % self.service.name) + self.show_empty_label() return [] return self.get_service_games(service_id) if self.filters.get("dynamic_category") in self.dynamic_categories_game_factories: @@ -693,6 +733,10 @@ def update_revealer(self, games=None): def show_empty_label(self): """Display a label when the view is empty""" + if self.service and self.service.online and not self.service.is_authenticated(): + self.show_label(_("Connect your %s account to access your games") % self.service.name) + return + filter_text = self.filters.get("text") has_uninstalled_games = games_db.get_game_count("installed", "0") if filter_text: @@ -1007,26 +1051,17 @@ def set_show_installed_state(self, filter_installed): def update_notification(self): show_notification = self.is_showing_splash() if show_notification: - if not read_user_info(): - self.lutris_log_in_label.show() - self.turn_on_library_sync_label.hide() - elif not settings.read_bool_setting("library_sync_enabled"): - self.lutris_log_in_label.hide() - self.turn_on_library_sync_label.show() - else: - show_notification = False - + self.lutris_log_in_label.show() self.login_notification_revealer.set_reveal_child(show_notification) @GtkTemplate.Callback def on_lutris_log_in_label_activate_link(self, _label, _url): - ClientLoginDialog(parent=self) + def on_connect_success(widget, _username): + self.sync_library(force=True) - @GtkTemplate.Callback - def on_turn_on_library_sync_label_activate_link(self, _label, _url): - settings.write_setting("library_sync_enabled", True) - self.sync_library(force=True) - self.update_notification() + self.login_notification_revealer.set_reveal_child(False) + login_dialog = ClientLoginDialog(parent=self) + login_dialog.connect("connected", on_connect_success) def on_version_notification_close_button_clicked(self, _button): dialog = QuestionDialog( @@ -1278,11 +1313,12 @@ def on_toggle_badges(self, _widget, _data): settings.write_setting("hide_badges_on_icons", not state) self.on_settings_changed(None, not state, "hide_badges_on_icons") - def on_settings_changed(self, setting_key, new_value): - if setting_key == "hide_text_under_icons": - self.rebuild_view("grid") - else: - self.update_view_settings() + def on_settings_changed(self, setting_key, new_value, section): + if section == "lutris": + if setting_key == "hide_text_under_icons": + self.rebuild_view("grid") + else: + self.update_view_settings() self.update_notification() return True @@ -1339,7 +1375,7 @@ def on_game_stopped(self, game: Game) -> None: selected_row = self.sidebar.get_selected_row() # Only update the running page- we lose the selected row when we do this, # but on the running page this is okay. - if selected_row is not None and selected_row.id == "running": + if isinstance(selected_row, SidebarRow) and selected_row.id == "running": self.game_store.remove_game(game.id) def on_game_installed(self, game): @@ -1370,7 +1406,7 @@ def on_game_activated(self, _view, game_id): @property def download_queue(self) -> DownloadQueue: - queue = self.download_revealer.get_child() + queue = cast(DownloadQueue, self.download_revealer.get_child()) if not queue: queue = DownloadQueue(self.download_revealer) self.download_revealer.add(queue) diff --git a/lutris/gui/views/base.py b/lutris/gui/views/base.py index 178f87003b..ad5754e67b 100644 --- a/lutris/gui/views/base.py +++ b/lutris/gui/views/base.py @@ -1,7 +1,7 @@ import time from typing import List -from gi.repository import Gdk, Gio, GObject, Gtk +from gi.repository import Gdk, GObject, Gtk from lutris.database.games import get_game_for_service from lutris.database.services import ServiceGameCollection @@ -9,7 +9,7 @@ from lutris.game_actions import GameActions, get_game_actions from lutris.gui.widgets import EMPTY_NOTIFICATION_REGISTRATION from lutris.gui.widgets.contextual_menu import ContextualMenu -from lutris.gui.widgets.utils import MEDIA_CACHE_INVALIDATED +from lutris.gui.widgets.utils import MEDIA_CACHE_INVALIDATED, get_application from lutris.util.jobs import schedule_repeating_at_idle from lutris.util.log import logger from lutris.util.path_cache import MISSING_GAMES @@ -47,11 +47,7 @@ def set_game_store(self, game_store): self.service = game_store.service self.service_media = game_store.service_media - size = self.service_media.size - if self.image_renderer: - self.image_renderer.media_width = size[0] - self.image_renderer.media_height = size[1] self.image_renderer.service = self.service def on_media_cache_invalidated(self): @@ -97,7 +93,7 @@ def _get_games_by_ids(self, game_ids: List[str]) -> List[Game]: looking up running games, service games and all that.""" def _get_game_by_id(id_to_find: str) -> Game: - application = Gio.Application.get_default() + application = get_application() return application.get_game_by_id(id_to_find) if application else Game(id_to_find) games = [] diff --git a/lutris/gui/views/grid.py b/lutris/gui/views/grid.py index 535b796709..388d0a2769 100644 --- a/lutris/gui/views/grid.py +++ b/lutris/gui/views/grid.py @@ -10,7 +10,7 @@ from lutris.util.log import logger -class GameGridView(Gtk.IconView, GameView): +class GameGridView(Gtk.IconView, GameView): # type:ignore[misc] __gsignals__ = GameView.__gsignals__ min_width = 70 # Minimum width for a cell diff --git a/lutris/gui/views/list.py b/lutris/gui/views/list.py index c6d1a3afb8..da6b6ba9f6 100644 --- a/lutris/gui/views/list.py +++ b/lutris/gui/views/list.py @@ -26,11 +26,10 @@ COLUMN_NAMES, ) from lutris.gui.views.base import GameView -from lutris.gui.views.store import sort_func from lutris.gui.widgets.cellrenderers import GridViewCellRendererImage -class GameListView(Gtk.TreeView, GameView): +class GameListView(Gtk.TreeView, GameView): # type:ignore[misc] """Show the main list of games.""" __gsignals__ = GameView.__gsignals__ @@ -62,14 +61,13 @@ def __init__(self, store): name_cell = self.set_text_cell() name_cell.set_padding(5, 0) - self.set_column(name_cell, _("Name"), COL_NAME, 200, always_visible=True) - self.set_sort_with_column(COL_NAME, COL_SORTNAME) + self.set_column(name_cell, _("Name"), COL_NAME, 200, always_visible=True, sort_id=COL_SORTNAME) self.set_column(default_text_cell, _("Year"), COL_YEAR, 60) self.set_column(default_text_cell, _("Runner"), COL_RUNNER_HUMAN_NAME, 120) self.set_column(default_text_cell, _("Platform"), COL_PLATFORM, 120) - self.set_column(default_text_cell, _("Last Played"), COL_LASTPLAYED_TEXT, 120) - self.set_column(default_text_cell, _("Play Time"), COL_PLAYTIME_TEXT, 100) - self.set_column(default_text_cell, _("Installed At"), COL_INSTALLED_AT_TEXT, 120) + self.set_column(default_text_cell, _("Last Played"), COL_LASTPLAYED_TEXT, 120, sort_id=COL_LASTPLAYED) + self.set_column(default_text_cell, _("Play Time"), COL_PLAYTIME_TEXT, 100, sort_id=COL_PLAYTIME) + self.set_column(default_text_cell, _("Installed At"), COL_INSTALLED_AT_TEXT, 120, sort_id=COL_INSTALLED_AT) self.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) @@ -82,9 +80,6 @@ def set_game_store(self, game_store): self.model = game_store.store self.set_model(self.model) - self.set_sort_with_column(COL_LASTPLAYED_TEXT, COL_LASTPLAYED) - self.set_sort_with_column(COL_INSTALLED_AT_TEXT, COL_INSTALLED_AT) - self.set_sort_with_column(COL_PLAYTIME_TEXT, COL_PLAYTIME) if self.media_column: size = game_store.service_media.size @@ -102,7 +97,6 @@ def set_column(self, cell, header, column_id, default_width, always_visible=Fals column = Gtk.TreeViewColumn(header, cell, markup=column_id) column.set_sort_indicator(True) column.set_sort_column_id(column_id if sort_id is None else sort_id) - self.set_column_sort(column_id if sort_id is None else sort_id) column.set_resizable(True) column.set_reorderable(True) width = settings.read_setting("%s_column_width" % COLUMN_NAMES[column_id], section="list view") @@ -114,16 +108,6 @@ def set_column(self, cell, header, column_id, default_width, always_visible=Fals column.get_button().connect("button-press-event", self.on_column_header_button_pressed) return column - def set_column_sort(self, col): - """Sort a column and fallback to sorting by name and runner.""" - model = self.get_model() - if model: - model.set_sort_func(col, sort_func, col) - - def set_sort_with_column(self, col, sort_col): - """Sort a column by using another column's data""" - self.model.set_sort_func(col, sort_func, sort_col) - def get_path_at(self, x, y): path_at = self.get_path_at_pos(x, y) if path_at is None: diff --git a/lutris/gui/views/store.py b/lutris/gui/views/store.py index ba3fdee89c..2c932833a4 100644 --- a/lutris/gui/views/store.py +++ b/lutris/gui/views/store.py @@ -131,7 +131,7 @@ def update(self, db_game: dict) -> Union[Set[int], None]: Return the indices of the row that were updated, or an empty set if no change was made, or None if the game could not be found. """ - store_item = StoreItem(db_game, self.service_media) + store_item = StoreItem(db_game, self.service, self.service_media) row = self.get_row_by_id(store_item.id) if not row and "service_id" in db_game: row = self.get_row_by_id(db_game["service_id"]) @@ -166,7 +166,7 @@ def update(self, db_game: dict) -> Union[Set[int], None]: def add_game(self, db_game): """Add a game to the store""" - store_item = StoreItem(db_game, self.service_media) + store_item = StoreItem(db_game, self.service, self.service_media) self.add_item(store_item) def add_item(self, store_item): @@ -203,7 +203,7 @@ def add_preloaded_games(self, db_games, service_id): for db_game in db_games: if installed_db_games is not None and "appid" in db_game: appid = db_game["appid"] - store_item = StoreItem(db_game, self.service_media) + store_item = StoreItem(db_game, self.service, self.service_media) store_item.apply_installed_game_data(installed_db_games.get(appid)) self.add_item(store_item) else: @@ -214,7 +214,7 @@ def on_game_updated(self, game): db_games = sql.filtered_query( settings.DB_PATH, "service_games", - filters=({"service": self.service_media.service, "appid": game.appid}), + filters=({"service": self.service, "appid": game.appid}), ) else: db_games = sql.filtered_query(settings.DB_PATH, "games", filters=({"id": game.id})) diff --git a/lutris/gui/views/store_item.py b/lutris/gui/views/store_item.py index 5e6fad68a6..d02a9faed3 100644 --- a/lutris/gui/views/store_item.py +++ b/lutris/gui/views/store_item.py @@ -1,10 +1,13 @@ """Game representation for views""" import time +from typing import List from lutris.database import games +from lutris.database.services import ServiceGameCollection from lutris.runners import get_runner_human_name -from lutris.services import SERVICES +from lutris.services import SERVICES, LutrisService +from lutris.services.service_media import MediaPath from lutris.util.log import logger from lutris.util.strings import get_formatted_playtime, gtk_safe @@ -14,13 +17,14 @@ class StoreItem: TODO: Fix overlap with Game class """ - def __init__(self, game_data, service_media): + def __init__(self, game_data, service, service_media): if not game_data: raise RuntimeError("No game data provided") self._game_data = game_data self._cached_installed_game_data = None self._cached_installed_game_data_loaded = False - self.service_media = service_media + self._service_obj = service + self._service_media = service_media def __str__(self): return self.name @@ -79,6 +83,10 @@ def id(self) -> str: # pylint: disable=invalid-name def service(self): return gtk_safe(self._game_data.get("service")) + @property + def service_media(self): + return self._service_media + @property def slug(self): """Slug identifier""" @@ -135,12 +143,33 @@ def check_data(data): return check_data(self._installed_game_data) - def get_media_paths(self): + def get_media_paths(self) -> List[MediaPath]: """Returns the path to the image file for this item""" if self._game_data.get("icon"): return [self._game_data["icon"]] - return self.service_media.get_possible_media_paths(self.slug) + possible_paths = self.service_media.get_possible_media_paths(self.slug) + media_paths = [mp for mp in possible_paths if mp.exists] + if media_paths: + return media_paths + + service = self._service_obj or LutrisService + services = [(service, lambda: self.slug)] + + game_service_name = self._game_data.get("service") + game_service_id = self._game_data.get("service_id") + + if game_service_name and game_service_id and game_service_name in SERVICES: + + def get_service_slug(): + service_game = ServiceGameCollection.get_game(game_service_name, game_service_id) + return service_game.get("slug") if service_game else None + + game_service = SERVICES[game_service_name]() + services.append((game_service, get_service_slug)) + + fallback_path = self.service_media.get_fallback_media_path(services) + return [fallback_path] if fallback_path else possible_paths @property def installed_at(self): diff --git a/lutris/gui/widgets/cellrenderers.py b/lutris/gui/widgets/cellrenderers.py index 09ed2f8624..eeebd33b25 100644 --- a/lutris/gui/widgets/cellrenderers.py +++ b/lutris/gui/widgets/cellrenderers.py @@ -106,8 +106,6 @@ class GridViewCellRendererImage(Gtk.CellRenderer): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self._media_width = 0 - self._media_height = 0 self._game_id = None self._service = None self._media_paths = [] @@ -146,28 +144,6 @@ def inset_game(self, game_id: str, fraction: float) -> bool: return False - @GObject.Property(type=int, default=0) - def media_width(self): - """This is the width of the media being rendered; if the cell is larger - it will be centered in the cell area.""" - return self._media_width - - @media_width.setter - def media_width(self, value): - self._media_width = value - self.clear_cache() - - @GObject.Property(type=int, default=0) - def media_height(self): - """This is the height of the media being rendered; if the cell is larger - it will be at the bottom of the cell area.""" - return self._media_height - - @media_height.setter - def media_height(self, value): - self._media_height = value - self.clear_cache() - @GObject.Property(type=str) def game_id(self): """This is the path to the media file to be displayed.""" @@ -223,27 +199,42 @@ def is_installed(self): def is_installed(self, value): self._is_installed = value + def _get_preferred_size(self): + paths = self.media_paths + if paths: + path = paths[0] + return path.width, path.height + return 0, 0 + def do_get_preferred_width(self, widget): - return self.media_width, self.media_width + size = self._get_preferred_size() + return size[0], size[0] def do_get_preferred_height(self, widget): - return self.media_height, self.media_height + size = self._get_preferred_size() + return size[1], size[1] def do_render(self, cr, widget, background_area, cell_area, flags): - media_width = self.media_width - media_height = self.media_height - path = resolve_media_path(self.media_paths) if self.media_paths else None + media_path = resolve_media_path(self.media_paths) if self.media_paths else None + if not media_path: + return + + media_width = media_path.width + media_height = media_path.height + path = media_path.path alpha = 1 if self.is_installed else 100 / 255 if media_width > 0 and media_height > 0 and path: - surface = self._get_cached_surface_by_path(widget, path) + surface = self._get_cached_surface_by_path(widget, path, size=(media_width, media_height)) if not surface: # The default icon needs to be scaled to fill the cell space. path = get_default_icon_path((media_width, media_height)) - surface = self._get_cached_surface_by_path(widget, path, preserve_aspect_ratio=False) + surface = self._get_cached_surface_by_path( + widget, path, size=(media_width, media_height), preserve_aspect_ratio=False + ) if surface: media_area = self.get_media_area(surface, cell_area) - self.select_badge_metrics(surface) + self.select_badge_metrics(surface, media_width, media_height) cr.save() @@ -284,7 +275,7 @@ def do_render(self, cr, widget, background_area, cell_area, flags): # we can then discard surfaces we aren't using anymore. schedule_at_idle(self.cycle_cache) - def select_badge_metrics(self, surface): + def select_badge_metrics(self, surface, media_width, media_height): """Updates fields holding data about the appearance of the badges; this sets self.badge_size to None if no badges should be shown at all.""" @@ -292,11 +283,11 @@ def get_badge_icon_size(): """Returns the size of the badge icons to render, or None to hide them. We check width for the smallest size because Dolphin has very thin banners, but we only hide badges for icons, not banners.""" - if self.media_width < 64: + if media_width < 64: return None - if self.media_height < 128: + if media_height < 128: return 16, 16 - if self.media_height < 256: + if media_height < 256: return 24, 24 return 32, 32 @@ -514,7 +505,7 @@ def cycle_cache(self) -> None: self.cached_surfaces_new = {} self.cached_surfaces_loaded = 0 - def _get_cached_surface_by_path(self, widget, path, size=None, preserve_aspect_ratio=True): + def _get_cached_surface_by_path(self, widget, path, size, preserve_aspect_ratio=True): """This obtains the scaled surface to rander for a given media path; this is cached in this render, but we'll clear that cache when the media generation number is changed, or certain properties are. We also age surfaces from the cache at idle time after @@ -540,8 +531,8 @@ def _get_cached_surface_by_path(self, widget, path, size=None, preserve_aspect_r self.cached_surfaces_new[key] = surface return surface - def _get_surface_by_path(self, widget, path, size=None, preserve_aspect_ratio=True): - cell_size = size or (self.media_width, self.media_height) + def _get_surface_by_path(self, widget, path, size, preserve_aspect_ratio=True): + cell_size = size scale_factor = widget.get_scale_factor() if widget else 1 try: return get_scaled_surface_by_path( diff --git a/lutris/gui/widgets/common.py b/lutris/gui/widgets/common.py index 9725b7dda3..c80d0d4be0 100644 --- a/lutris/gui/widgets/common.py +++ b/lutris/gui/widgets/common.py @@ -15,8 +15,11 @@ from lutris.util import system from lutris.util.linux import LINUX_SYSTEM +# MyPy does not like GTK's notion of multiple inheritancs, but +# we don't control this, so we'll suppress type checking. -class SlugEntry(Gtk.Entry, Gtk.Editable): + +class SlugEntry(Gtk.Entry, Gtk.Editable): # type:ignore[misc] def do_insert_text(self, new_text, length, position): """Filter inserted characters to only accept alphanumeric and dashes""" new_text = "".join([c for c in new_text if c.isalnum() or c == "-"]).lower() @@ -25,7 +28,7 @@ def do_insert_text(self, new_text, length, position): return position + length -class NumberEntry(Gtk.Entry, Gtk.Editable): +class NumberEntry(Gtk.Entry, Gtk.Editable): # type:ignore[misc] def do_insert_text(self, new_text, length, position): """Filter inserted characters to only accept numbers""" new_text = "".join([c for c in new_text if c.isnumeric()]) @@ -35,7 +38,7 @@ def do_insert_text(self, new_text, length, position): return position -class FileChooserEntry(Gtk.Box): +class FileChooserEntry(Gtk.Box): # type:ignore[misc] """Editable entry with a file picker button""" max_completion_items = 15 # Maximum number of items to display in the autocompletion dropdown. @@ -249,7 +252,7 @@ def on_entry_changed(self, widget): if self.warn_if_non_empty and os.path.exists(path) and os.listdir(path): non_empty_label = Gtk.Label(visible=True) non_empty_label.set_markup( - _("Warning! The selected path " "contains files. Installation will not work properly.") + _("Warning! The selected path contains files. Installation will not work properly.") ) self.pack_end(non_empty_label, False, False, 10) if self.warn_if_non_writable_parent: @@ -257,7 +260,7 @@ def on_entry_changed(self, widget): if parent is not None and not os.access(parent, os.W_OK): non_writable_destination_label = Gtk.Label(visible=True) non_writable_destination_label.set_markup( - _("Warning The destination folder " "is not writable by the current user.") + _("Warning The destination folder is not writable by the current user.") ) self.pack_end(non_writable_destination_label, False, False, 10) diff --git a/lutris/gui/widgets/download_progress_box.py b/lutris/gui/widgets/download_progress_box.py index 35969a4e1c..bcc56b5249 100644 --- a/lutris/gui/widgets/download_progress_box.py +++ b/lutris/gui/widgets/download_progress_box.py @@ -44,7 +44,7 @@ def __init__( parsed_url = urlparse(url) title = "%s%s" % (parsed_url.netloc, parsed_url.path) - self.main_label = Gtk.Label(title) + self.main_label = Gtk.Label(label=title) self.main_label.set_alignment(0, 0) self.main_label.set_property("wrap", True) self.main_label.set_margin_bottom(10) diff --git a/lutris/gui/widgets/gi_composites.py b/lutris/gui/widgets/gi_composites.py index b92f9acbc1..ff93bb78fd 100644 --- a/lutris/gui/widgets/gi_composites.py +++ b/lutris/gui/widgets/gi_composites.py @@ -27,15 +27,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 # USA -# Standard Library import inspect +import os import warnings -from os.path import abspath, join -# Third Party Libraries -from gi.repository import Gio, GLib, GObject, Gtk +from gi.repository import Gio, GLib, GObject, Gtk # type: ignore -# Lutris Modules from lutris.gui.dialogs import ErrorDialog __all__ = ["GtkTemplate"] @@ -58,12 +55,13 @@ def _connect_func(builder, obj, signal_name, handler_name, connect_object, flags template_inst = builder.get_object(cls.__gtype_name__) if template_inst is None: # This should never happen - errmsg = ( + warnings.warn( "Internal error: cannot find template instance! obj: %s; " "signal: %s; handler: %s; connect_obj: %s; class: %s" - % (obj, signal_name, handler_name, connect_object, cls) + % (obj, signal_name, handler_name, connect_object, cls), + GtkTemplateWarning, + stacklevel=2, ) - warnings.warn(errmsg, GtkTemplateWarning) return handler = getattr(template_inst, handler_name) @@ -145,8 +143,11 @@ def _init_template(self, cls, base_init_template): ) for name in self.__gtemplate_methods__.difference(connected_signals): - errmsg = ("Signal '%s' was declared with @GtkTemplate.Callback " + "but was not present in template") % name - warnings.warn(errmsg, GtkTemplateWarning) + warnings.warn( + "Signal '%s' was declared with @GtkTemplate.Callback but was not present in template" % name, + GtkTemplateWarning, + stacklevel=2, + ) # TODO: Make it easier for IDE to introspect this @@ -242,7 +243,7 @@ def set_ui_path(*path): TODO: Alternatively, could wait until first class instantiation before registering templates? Would need a metaclass... """ - _GtkTemplate.__ui_path__ = abspath(join(*path)) # pylint: disable=no-value-for-parameter + _GtkTemplate.__ui_path__ = os.path.abspath(os.path.join(*path)) def __init__(self, ui): self.ui = ui @@ -260,13 +261,13 @@ def __call__(self, cls): try: template_bytes = Gio.resources_lookup_data(self.ui, Gio.ResourceLookupFlags.NONE) - except GLib.GError: + except GLib.GError: # type: ignore ui = self.ui if isinstance(ui, (list, tuple)): - ui = join(ui) + ui = " ".join(ui) if _GtkTemplate.__ui_path__ is not None: - ui = join(_GtkTemplate.__ui_path__, ui) + ui = os.path.join(_GtkTemplate.__ui_path__, ui) with open(ui, "rb") as fp: template_bytes = GLib.Bytes.new(fp.read()) diff --git a/lutris/gui/widgets/progress_box.py b/lutris/gui/widgets/progress_box.py index 39250f8181..658cec4280 100644 --- a/lutris/gui/widgets/progress_box.py +++ b/lutris/gui/widgets/progress_box.py @@ -1,4 +1,4 @@ -from typing import Callable +from typing import Callable, Optional from gi.repository import Gtk, Pango @@ -13,7 +13,7 @@ class ProgressInfo: Processes sometimes cannot be stopped after a certain point; at that point they start providing Progress objects with no stop-function.""" - def __init__(self, progress: float = None, label_markup: str = "", stop_function: Callable = None): + def __init__(self, progress: float = 0, label_markup: str = "", stop_function: Optional[Callable] = None): self.progress = progress self.label_markup = label_markup self.stop_function = stop_function @@ -56,7 +56,7 @@ def __init__(self, progress_function: ProgressFunction, **kwargs): vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, visible=True, spacing=6, valign=Gtk.Align.CENTER) - self.label = Gtk.Label("", visible=False, wrap=True, ellipsize=Pango.EllipsizeMode.MIDDLE, xalign=0) + self.label = Gtk.Label(label="", visible=False, wrap=True, ellipsize=Pango.EllipsizeMode.MIDDLE, xalign=0) vbox.pack_start(self.label, False, False, 0) self.progressbar = Gtk.ProgressBar(pulse_step=0.4, visible=True) diff --git a/lutris/gui/widgets/sidebar.py b/lutris/gui/widgets/sidebar.py index 3056781db9..ba49d15ecd 100644 --- a/lutris/gui/widgets/sidebar.py +++ b/lutris/gui/widgets/sidebar.py @@ -21,7 +21,7 @@ from lutris.gui.config.services_box import ServicesBox from lutris.gui.dialogs import display_error from lutris.gui.dialogs.runner_install import RunnerInstallDialog -from lutris.gui.widgets.utils import has_stock_icon +from lutris.gui.widgets.utils import get_widget_children, has_stock_icon from lutris.installer.interpreter import ScriptInterpreter from lutris.runners import InvalidRunnerError from lutris.services import SERVICES @@ -481,7 +481,7 @@ def initialize_rows(self): self.add( SidebarRow( ".uncategorized", - "category", + "dynamic_category", _("Uncategorized"), self.get_sidebar_icon("tag-symbolic", ["poi-marker", "favorite-symbolic"]), ) @@ -532,7 +532,7 @@ def selected_category(self, value): like ('service', 'lutris')""" self.previous_category = self.selected_category selected_row_type, selected_row_id = value or ("category", "all") - children = list(self.get_children()) + children = get_widget_children(self, SidebarRow) for row in children: if row.type == selected_row_type and row.id == selected_row_id: if row.get_visible(): @@ -703,7 +703,7 @@ def on_game_stopped(self, _game: Game) -> None: self.running_row.hide() if self.get_selected_row() == self.running_row: - self.select_row(self.get_children()[0]) + self.select_row(get_widget_children(self, SidebarRow)[0]) def on_service_auth_changed(self, service): logger.debug("Service %s auth changed", service.id) diff --git a/lutris/gui/widgets/utils.py b/lutris/gui/widgets/utils.py index 07cb54532c..cc09f5666e 100644 --- a/lutris/gui/widgets/utils.py +++ b/lutris/gui/widgets/utils.py @@ -2,7 +2,7 @@ import array import os -from typing import Optional +from typing import TYPE_CHECKING, Iterable, List, Optional, TypeVar, cast import cairo from gi.repository import Gdk, GdkPixbuf, Gio, GLib, Gtk @@ -13,6 +13,10 @@ from lutris.util import datapath, magic, system from lutris.util.log import logger +if TYPE_CHECKING: + from lutris.gui.application import LutrisApplication + from lutris.gui.lutriswindow import LutrisWindow + try: from PIL import Image except ImportError: @@ -23,16 +27,60 @@ MEDIA_CACHE_INVALIDATED = NotificationSource() -def get_main_window(widget): - """Return the application's main window from one of its widget""" - parent = widget.get_toplevel() - if not isinstance(parent, Gtk.Window): - # The sync dialog may have closed - parent = Gio.Application.get_default().props.active_window - for window in parent.application.get_windows(): - if "LutrisWindow" in window.__class__.__name__: - return window - return +def get_application() -> Optional["LutrisApplication"]: + return cast("LutrisApplication", Gio.Application.get_default()) + + +def get_required_application() -> "LutrisApplication": + application = cast("LutrisApplication", Gio.Application.get_default()) + if not application: + raise RuntimeError("The LutrisApplication does not exist.") + return application + + +def get_main_window() -> Optional["LutrisWindow"]: + """Return the application's main window, or None if it doesn't exist + (though it almost alway does exist)""" + application = get_application() + return application.window if application else None + + +def get_required_main_window() -> "LutrisWindow": + """Return the application's main window or raises an exception if + it doesn't exist.""" + application = get_required_application() + window = application.window + if not window: + raise RuntimeError("The main window does not exist.") + return window + + +def get_widget_window(widget: Optional[Gtk.Widget]) -> Optional[Gtk.Window]: + """Returns the window that contains a widget, if any. This wll return None + for a widget that is not in a window, rather than returning the widget itself + like get_toplevel().""" + if widget: + return cast(Optional[Gtk.Window], widget.get_ancestor(Gtk.Window)) + else: + return None + + +TChildWidget = TypeVar("TChildWidget", bound=Gtk.Widget) + + +def get_widget_children( + widget: Optional[Gtk.Widget], child_type: Optional[type[TChildWidget]] = None +) -> List[TChildWidget]: + """Returns the children of any widget; non-containers have no children + and returns an empty list. This can filter out a specific type of child widget if child_type + is not None, but otherwise it returns all children.""" + if isinstance(widget, Gtk.Container): + if child_type: + return [w for w in widget.get_children() if isinstance(w, child_type)] + else: + return list(cast(Iterable[TChildWidget], widget.get_children())) + else: + return [] def open_uri(uri): @@ -98,8 +146,8 @@ def get_scaled_surface_by_path(path, size, device_scale, preserve_aspect_ratio=T scale_x = min(scale_x, scale_y) scale_y = scale_x - pixel_width = int(round(pixbuf_width * scale_x)) - pixel_height = int(round(pixbuf_height * scale_y)) + pixel_width = round(pixbuf_width * scale_x) + pixel_height = round(pixbuf_height * scale_y) surface = cairo.ImageSurface(cairo.Format.ARGB32, pixel_width, pixel_height) # pylint:disable=no-member cr = cairo.Context(surface) # pylint:disable=no-member diff --git a/lutris/installer/commands.py b/lutris/installer/commands.py index 83ca976eb6..d9386828ec 100644 --- a/lutris/installer/commands.py +++ b/lutris/installer/commands.py @@ -77,7 +77,7 @@ def _check_required_params(params, command_data, command_name): _("One of {params} parameter is mandatory for the {cmd} command").format( params=_(" or ").join(param), cmd=command_name ), - command_data, + faulty_data=command_data, ) else: if param not in command_data: @@ -85,7 +85,7 @@ def _check_required_params(params, command_data, command_name): _("The {param} parameter is mandatory for the {cmd} command").format( param=param, cmd=command_name ), - command_data, + faulty_data=command_data, ) def chmodx(self, filename): @@ -105,8 +105,8 @@ def execute(self, data): self._check_required_params([("file", "command")], data, "execute") if "command" in data and "file" in data: raise ScriptingError( - _("Parameters file and command can't be used " "at the same time for the execute command"), - data, + _("Parameters file and command can't be used at the same time for the execute command"), + faulty_data=data, ) # Accept return codes other than 0 @@ -139,7 +139,7 @@ def execute(self, data): include_processes = [] exclude_processes = [] else: - raise ScriptingError(_("No parameters supplied to execute command."), data) + raise ScriptingError(_("No parameters supplied to execute command."), faulty_data=data) if command: exec_path = "bash" @@ -565,7 +565,7 @@ def _get_scummvm_arguments(self, gog_config_path): game_id = arguments.split()[-1] arguments = " ".join(arguments.split()[:-1]) base_dir = os.path.dirname(gog_config_path) - return {"game_id": game_id, "path": base_dir, "arguments": arguments} + return {"game_id": game_id, "path": base_dir, "args": arguments} def autosetup_gog_game(self, file_id, silent=False): """Automatically guess the best way to install a GOG game by inspecting its contents. diff --git a/lutris/installer/errors.py b/lutris/installer/errors.py index 563e5742c0..ae77389d52 100644 --- a/lutris/installer/errors.py +++ b/lutris/installer/errors.py @@ -13,11 +13,18 @@ class ScriptingError(LutrisError): """Custom exception for scripting errors, can be caught by modifying excepthook.""" - def __init__(self, message, faulty_data=None): + def __init__(self, message, message_markup=None, faulty_data=None): self.faulty_data = faulty_data - super().__init__(message) + super().__init__(message, message_markup=message_markup) logger.error(self.__str__()) + @staticmethod + def wrap(error: BaseException) -> "ScriptingError": + if isinstance(error, LutrisError): + return ScriptingError(error.message, message_markup=error.message_markup) + else: + return ScriptingError(str(error)) + def __str__(self): if self.faulty_data is None: return self.message diff --git a/lutris/installer/installer.py b/lutris/installer/installer.py index 05e9a6e575..24aad7dc4b 100644 --- a/lutris/installer/installer.py +++ b/lutris/installer/installer.py @@ -263,7 +263,7 @@ def get_game_config(self): try: game_config.update(self.script["game"]) except ValueError as err: - raise ScriptingError(_("Invalid 'game' section"), self.script["game"]) from err + raise ScriptingError(_("Invalid 'game' section"), faulty_data=self.script["game"]) from err # Obsolete install scripts may have the entry point key at root level; # we'll move them into the game-config if so, and if they are not already diff --git a/lutris/installer/installer_file.py b/lutris/installer/installer_file.py index 0bf466b06f..e9e0308881 100644 --- a/lutris/installer/installer_file.py +++ b/lutris/installer/installer_file.py @@ -250,13 +250,15 @@ def check_hash(self): try: hash_type, expected_hash = self.checksum.split(":", 1) except ValueError as err: - raise ScriptingError(_("Invalid checksum, expected format (type:hash) "), self.checksum) from err + raise ScriptingError( + _("Invalid checksum, expected format (type:hash) "), faulty_data=self.checksum + ) from err logger.info("Checking hash %s for %s", hash_type, self.dest_file) calculated_hash = system.get_file_checksum(self.dest_file, hash_type) if calculated_hash != expected_hash: raise ScriptingError( - hash_type.capitalize() + _(" checksum mismatch "), f"{expected_hash} != {calculated_hash}" + hash_type.capitalize() + _(" checksum mismatch "), faulty_data=f"{expected_hash} != {calculated_hash}" ) @property diff --git a/lutris/installer/interpreter.py b/lutris/installer/interpreter.py index 244a5b9ea6..c6ca364510 100644 --- a/lutris/installer/interpreter.py +++ b/lutris/installer/interpreter.py @@ -87,7 +87,9 @@ def __init__(self, installer, interpreter_ui_delegate=None): self.service = self.installer.service script_errors = self.installer.get_errors() if script_errors: - raise ScriptingError(_("Invalid script: \n{}").format("\n".join(script_errors)), self.installer.script) + raise ScriptingError( + _("Invalid script: \n{}").format("\n".join(script_errors)), faulty_data=self.installer.script + ) self._check_binary_dependencies() self._check_dependency() @@ -228,12 +230,12 @@ def create_game_folder(self): except PermissionError as err: raise ScriptingError( _("Lutris does not have the necessary permissions to install to path:"), - self.target_path, + faulty_data=self.target_path, ) from err except FileNotFoundError as err: raise ScriptingError( _("Path %s not found, unable to create game folder. Is the disk mounted?"), - self.target_path, + faulty_data=self.target_path, ) from err def get_runners_to_install(self): @@ -284,7 +286,7 @@ def install_more_runners(): ) except (NonInstallableRunnerError, RunnerInstallationError) as ex: logger.error(ex.message) - raise ScriptingError(ex.message) from ex + raise ScriptingError.wrap(ex) from ex def launch_installer_commands(self): """Run the pre-installation steps and launch install.""" @@ -385,19 +387,34 @@ def cleanup(self): os.chdir(os.path.expanduser("~")) system.delete_folder(self.cache_path) - def revert(self, remove_game_dir=True): - """Revert installation in case of an error""" + def revert(self, remove_game_dir=True, completion_function=None, error_function=None): + """Revert installation in case of an error. Since winekill can be slow, + this runs asynchronously and calls cocompletion_function() when successful, + or error_function(err) if it fails.""" logger.info("Cancelling installation of %s", self.installer.game_name) - if self.installer.runner.startswith("wine"): - self.task({"name": "winekill"}) self.cancelled = True - if self.abort_current_task: - self.abort_current_task() + def on_complete(_result, error): + if error: + error_function(error) + return + + try: + if self.abort_current_task: + self.abort_current_task() + + if self.target_path and remove_game_dir: + system.remove_folder(self.target_path) + + completion_function() + except Exception as ex: + error_function(ex) - if self.target_path and remove_game_dir: - system.remove_folder(self.target_path) + if self.installer.runner.startswith("wine"): + AsyncCall(self.task, on_complete, {"name": "winekill"}) + else: + on_complete(None, None) def _get_string_replacements(self): """Return a mapping of variables to their actual value""" diff --git a/lutris/installer/steam_installer.py b/lutris/installer/steam_installer.py index 1d4ddf5b2d..95b4c54cd2 100644 --- a/lutris/installer/steam_installer.py +++ b/lutris/installer/steam_installer.py @@ -61,7 +61,7 @@ def on_steam_game_installed(_data, error): since install progress is handled by _monitor_steam_game_install """ if error: - raise ScriptingError(str(error)) + raise ScriptingError.wrap(error) def install_steam_game(self) -> None: """Launch installation of a steam game""" diff --git a/lutris/migrations/__init__.py b/lutris/migrations/__init__.py index 68618e472a..5aba83edc2 100644 --- a/lutris/migrations/__init__.py +++ b/lutris/migrations/__init__.py @@ -3,7 +3,7 @@ from lutris import settings from lutris.util.log import logger -MIGRATION_VERSION = 15 # Never decrease this number +MIGRATION_VERSION = 16 # Never decrease this number # Replace deprecated migrations with empty lists MIGRATIONS = [ @@ -22,6 +22,7 @@ ["migrate_sortname"], ["migrate_hidden_category"], ["migrate_ge_proton"], + ["migrate_banners_back"], ] diff --git a/lutris/migrations/migrate_banners_back.py b/lutris/migrations/migrate_banners_back.py new file mode 100644 index 0000000000..3f82fccc3e --- /dev/null +++ b/lutris/migrations/migrate_banners_back.py @@ -0,0 +1,33 @@ +"""Migrate banners and coverart from .cache/lutris to .local/share/lutris""" + +import os + +from lutris import settings +from lutris.util.log import logger + + +def _migrate(dirname): + dest_dir = os.path.join(settings.DATA_DIR, dirname) + src_dir = os.path.join(settings.CACHE_DIR, dirname) + + try: + # init_lutris() creates the new banners directory + if os.path.isdir(src_dir) and os.path.isdir(dest_dir): + for filename in os.listdir(src_dir): + src_file = os.path.join(src_dir, filename) + dest_file = os.path.join(dest_dir, filename) + + if not os.path.exists(dest_file): + os.rename(src_file, dest_file) + else: + os.unlink(src_file) + + if not os.listdir(src_dir): + os.rmdir(src_dir) + except OSError as ex: + logger.exception("Failed to migrate banners: %s", ex) + + +def migrate(): + _migrate("banners") + _migrate("coverart") diff --git a/lutris/runners/__init__.py b/lutris/runners/__init__.py index 181856a760..2b35c2b7db 100644 --- a/lutris/runners/__init__.py +++ b/lutris/runners/__init__.py @@ -1,49 +1,39 @@ """Runner loaders""" __all__ = [ - # Native - "linux", - "steam", - "web", - "flatpak", - "zdoom", - # Microsoft based - "wine", + "atari800", + "cemu", + "dolphin", "dosbox", - "xemu", - # Multi-system + "duckstation", "easyrpg", - "mame", - "mednafen", - "scummvm", - "libretro", - # Commodore + "flatpak", "fsuae", - "vice", - # Atari - "atari800", "hatari", - # Nintendo - "snes9x", + "jzintv", + "libretro", + "linux", + "mame", + "mednafen", "mupen64plus", - "dolphin", - "ryujinx", - "yuzu", - "cemu", - # Sony - "duckstation", + "o2em", + "osmose", "pcsx2", + "pico8", + "redream", + "reicast", "rpcs3", + "ryujinx", + "scummvm", + "snes9x", + "steam", + "vice", "vita3k", - # Sega - "osmose", - "reicast", - "redream", - # Fantasy consoles - "pico8", - # Misc legacy systems - "jzintv", - "o2em", + "web", + "wine", + "xemu", + "yuzu", + "zdoom", ] from lutris.exceptions import LutrisError, MisconfigurationError diff --git a/lutris/runners/commands/wine.py b/lutris/runners/commands/wine.py index ab8c3feb6c..0f3b9229d7 100644 --- a/lutris/runners/commands/wine.py +++ b/lutris/runners/commands/wine.py @@ -4,8 +4,11 @@ import os import shlex import time +from typing import Dict, Optional, Tuple from lutris import runtime, settings +from lutris.config import LutrisConfig +from lutris.exceptions import MissingExecutableError from lutris.monitored_command import MonitoredCommand from lutris.runners import import_runner from lutris.util import linux, system @@ -63,7 +66,7 @@ def set_regedit_file(filename, wine_path=None, prefix=None, arch=WINE_DEFAULT_AR # a bug in Wine. see: https://github.com/lutris/lutris/issues/804 wine_path = wine_path + "64" - if proton.is_proton_path(wine_path): + if not wine_path or proton.is_proton_path(wine_path): proton_verb = "run" wineexec( @@ -80,7 +83,7 @@ def set_regedit_file(filename, wine_path=None, prefix=None, arch=WINE_DEFAULT_AR def delete_registry_key(key, wine_path=None, prefix=None, arch=WINE_DEFAULT_ARCH, proton_verb=None): """Deletes a registry key from a Wine prefix""" - if proton.is_proton_path(wine_path): + if not wine_path or proton.is_proton_path(wine_path): proton_verb = "run" wineexec( @@ -94,11 +97,33 @@ def delete_registry_key(key, wine_path=None, prefix=None, arch=WINE_DEFAULT_ARCH ) +def is_disallowed_fs(prefix): + """ + Check prefix is create in file system that not support to create linux symlink + + Returns: + bool: True if the prefix is on a disallowed filesystem or if the filesystem + type cannot be determined, False otherwise. + """ + + # Need add more if needed + disallowed_fs_types = {"exfat", "fat", "vfat", "msdos", "umsdos", "ncpfs", "iso9660"} + try: + if not os.path.exists(prefix): + prefix = os.path.dirname(prefix) + fs_type = linux.LinuxSystem().get_fs_type_for_path(prefix) + if fs_type is None: + return True + logger.info("Creating a prefix in file system type: %s", fs_type) + return fs_type in disallowed_fs_types + except: + return False + + def create_prefix( prefix, wine_path=None, arch=WINE_DEFAULT_ARCH, overrides=None, install_gecko=None, install_mono=None, runner=None ): """Create a new Wine prefix.""" - # pylint: disable=too-many-locals if overrides is None: overrides = {} if not prefix: @@ -118,20 +143,44 @@ def create_prefix( except OSError: logger.error("Failed to delete %s, you may lack permissions on this folder.", prefix) + # Wine does not allow creating a prefix in a parent directory that does not + # exist. For example, if the prefix is /mnt/a/b/c/d but the parent directory + # /mnt/a/b/c does not exist, it is not allowed. + if not os.path.exists(os.path.dirname(prefix)): + raise Exception("Can't create prefix: Not found directory %s" % os.path.dirname(prefix)) + + if not os.path.exists(prefix): + _stat = os.lstat(os.path.dirname(prefix)) + else: + _stat = os.lstat(prefix) + # Wine not allow to create prefix that not owned by user + if _stat.st_uid != os.getuid() or _stat.st_mode & 0o700 != 0o700: + raise Exception( + "%s must be owned by you with full owner permissions, refusing to create a configuration directory there" + % prefix + ) + + if is_disallowed_fs(prefix): + raise Exception("Can't create prefix on file system that not support linux symlink") + + if not runner: + runner = import_runner("wine")(prefix=prefix, wine_arch=arch) + if not wine_path: - if not runner: - runner = import_runner("wine")() wine_path = runner.get_executable() logger.info("Winepath: %s", wine_path) - wineenv = { - "WINEARCH": arch, - "WINEPREFIX": prefix, - "WINEDLLOVERRIDES": get_overrides_env(overrides), - "WINE_MONO_CACHE_DIR": os.path.join(os.path.dirname(os.path.dirname(wine_path)), "mono"), - "WINE_GECKO_CACHE_DIR": os.path.join(os.path.dirname(os.path.dirname(wine_path)), "gecko"), - } + wineenv = runner.system_config.get("env") or {} + wineenv.update( + { + "WINEARCH": arch, + "WINEPREFIX": prefix, + "WINEDLLOVERRIDES": get_overrides_env(overrides), + "WINE_MONO_CACHE_DIR": os.path.join(os.path.dirname(os.path.dirname(wine_path)), "mono"), + "WINE_GECKO_CACHE_DIR": os.path.join(os.path.dirname(os.path.dirname(wine_path)), "gecko"), + } + ) if install_gecko == "False": wineenv["WINE_SKIP_GECKO_INSTALLATION"] = "1" @@ -140,7 +189,7 @@ def create_prefix( wineenv["WINE_SKIP_MONO_INSTALLATION"] = "1" overrides["mscoree"] = "disabled" - if proton.is_proton_path(wine_path): + if proton.is_umu_path(wine_path) or proton.is_proton_path(wine_path): # All proton path prefixes are created via Umu; if you aren't using # the default Umu, we'll use PROTONPATH to indicate what Proton is # to be used. @@ -154,7 +203,7 @@ def create_prefix( wineboot_path = os.path.join(os.path.dirname(wine_path), "wineboot") if not system.path_exists(wineboot_path): logger.error( - "No wineboot executable found in %s, " "your wine installation is most likely broken", + "No wineboot executable found in %s, your wine installation is most likely broken", wine_path, ) return @@ -179,17 +228,21 @@ def create_prefix( prefix_manager.setup_defaults() -def winekill(prefix, arch=WINE_DEFAULT_ARCH, wine_path=None, env=None, initial_pids=None, runner=None): +def winekill(prefix, arch=WINE_DEFAULT_ARCH, wine_path="", env=None, initial_pids=None, runner=None): """Kill processes in Wine prefix.""" initial_pids = initial_pids or [] if not env: - env = {"WINEARCH": arch, "WINEPREFIX": prefix} - if proton.is_proton_path(wine_path): + env = { + "WINEARCH": arch, + "WINEPREFIX": prefix, + "GAMEID": proton.DEFAULT_GAMEID, + } + env["PROTON_VERB"] = "runinprefix" # must not block until the game exits, that would be sily! + if proton.is_umu_path(wine_path): + command = [wine_path, "wineboot", "-k"] + elif proton.is_proton_path(wine_path): command = [proton.get_umu_path(), "wineboot", "-k"] - env["GAMEID"] = proton.DEFAULT_GAMEID - env["WINEPREFIX"] = prefix - env["PROTON_VERB"] = "runinprefix" env["PROTONPATH"] = proton.get_proton_path_by_path(wine_path) else: if not wine_path: @@ -214,10 +267,12 @@ def winekill(prefix, arch=WINE_DEFAULT_ARCH, wine_path=None, env=None, initial_p if not running_processes: break if num_cycles > 20: - logger.warning( - "Some wine processes are still running: %s", - ", ".join(running_processes), - ) + logger.warning("Some wine processes are still running: %s", running_processes) + logger.warning("Wine processes running too long — force killing: %s", running_processes) + command = [os.path.join(wine_root, "wineboot"), "-k"] + logger.debug(command) + logger.debug(" ".join(command)) + system.execute(command, env=env, quiet=True) break time.sleep(0.1) logger.debug("Done waiting.") @@ -239,33 +294,32 @@ def use_lutris_runtime(wine_path, force_disable=False): return True -# pragma pylint: disable=too-many-locals def wineexec( - executable, - args="", - wine_path=None, - prefix=None, - arch=None, - working_dir=None, - winetricks_wine="", - blocking=False, - config=None, - include_processes=None, - exclude_processes=None, - disable_runtime=False, - env=None, + executable: str, + prefix: str, + args: str = "", + wine_path: Optional[str] = None, + arch: str = WINE_DEFAULT_ARCH, + working_dir: Optional[str] = None, + winetricks_wine: str = "", + blocking: bool = False, + config: Optional[LutrisConfig] = None, + include_processes: Optional[list] = None, + exclude_processes: Optional[list] = None, + disable_runtime: bool = False, + env: Optional[dict] = None, overrides=None, runner=None, - proton_verb=None, + proton_verb: Optional[str] = None, ): """ Execute a Wine command. Args: executable (str): wine program to run, pass None to run wine itself + prefix (str): path to the wine prefix to use args (str): program arguments wine_path (str): path to the wine version to use - prefix (str): path to the wine prefix to use arch (str): wine architecture of the prefix working_dir (str): path to the working dir for the process winetricks_wine (str): path to the wine version used by winetricks @@ -278,12 +332,9 @@ def wineexec( Process results if the process is running in blocking mode or MonitoredCommand instance otherwise. """ - if env is None: - env = {} - if exclude_processes is None: - exclude_processes = [] - if include_processes is None: - include_processes = [] + env = env or {} + exclude_processes = exclude_processes or [] + include_processes = include_processes or [] executable = str(executable) if executable else "" if isinstance(include_processes, str): include_processes = shlex.split(include_processes) @@ -296,6 +347,9 @@ def wineexec( if not wine_path: wine_path = runner.get_executable() + if not wine_path: # to satisfy mypy really + raise MissingExecutableError("The wine path could not be determined.") + if not working_dir: if os.path.isfile(executable): working_dir = os.path.dirname(executable) @@ -307,7 +361,7 @@ def wineexec( wineenv = {"WINEARCH": arch} if winetricks_wine and winetricks_wine is not wine_path and not proton.is_proton_path(wine_path): wineenv["WINE"] = winetricks_wine - else: + elif wine_path: wineenv["WINE"] = wine_path if prefix: @@ -383,8 +437,11 @@ def wineexec( # pragma pylint: enable=too-many-locals -def find_winetricks(env=None, system_winetricks=False): +def find_winetricks( + env: Optional[dict[str, str]] = None, system_winetricks: bool = False +) -> Tuple[str, Optional[str], Dict[str, str]]: """Find winetricks path.""" + env = env or {} winetricks_path = os.path.join(settings.RUNTIME_DIR, "winetricks/winetricks") if system_winetricks or not system.path_exists(winetricks_path): winetricks_path = system.find_required_executable("winetricks") @@ -395,9 +452,6 @@ def find_winetricks(env=None, system_winetricks=False): # working_dir, so it will find the data file. working_dir = os.path.join(settings.RUNTIME_DIR, "winetricks") - if not env: - env = {} - path = env.get("PATH", os.environ["PATH"]) env["PATH"] = "%s:%s" % (working_dir, path) @@ -405,11 +459,11 @@ def find_winetricks(env=None, system_winetricks=False): def winetricks( - app, - prefix=None, - arch=None, - silent=True, - wine_path=None, + app: Optional[str], + prefix: str, + arch: str = WINE_DEFAULT_ARCH, + silent: bool = True, + wine_path: Optional[str] = None, config=None, env=None, disable_runtime=False, @@ -418,39 +472,42 @@ def winetricks( proton_verb=None, ): """Execute winetricks.""" - winetricks_path, working_dir, env = find_winetricks(env, system_winetricks) - - if wine_path: - winetricks_wine = wine_path - if proton.is_proton_path(wine_path): - protonfixes_path = os.path.join(proton.get_proton_path_by_path(wine_path), "protonfixes") - if os.path.exists(protonfixes_path): - winetricks_wine = os.path.join(protonfixes_path, "winetricks") - winetricks_path = wine_path - if not app: - silent = False - app = "--gui" - else: - logger.info("winetricks: Valve official Proton builds do not support winetricks.") - return + if not app: + silent = False + app = "--gui" + args = app + if not wine_path or proton.is_umu_path(wine_path): + winetricks_wine = proton.get_umu_path() + winetricks_path = None + args = "winetricks " + args + proton_verb = "waitforexitandrun" + working_dir = None + elif proton.is_proton_path(wine_path): + proton_verb = "waitforexitandrun" + protonfixes_path = os.path.join(proton.get_proton_path_by_path(wine_path), "protonfixes") + working_dir = None + if os.path.exists(protonfixes_path): + winetricks_wine = os.path.join(protonfixes_path, "winetricks") + winetricks_path = wine_path + if not app: + silent = False + app = "--gui" + else: + logger.error("winetricks: Valve official Proton builds do not support winetricks.") + return else: + winetricks_path, working_dir, env = find_winetricks(env, system_winetricks) if not runner: runner = import_runner("wine")() winetricks_wine = runner.get_executable() - - if arch not in ("win32", "win64"): - arch = detect_arch(prefix, winetricks_wine) - args = app - - if str(silent).lower() in ("yes", "on", "true") and not proton.is_proton_path(wine_path): - args = "-q " + args - else: - if proton.is_proton_path(wine_path): - proton_verb = "waitforexitandrun" + if arch not in ("win32", "win64"): + arch = detect_arch(prefix, winetricks_wine) + if str(silent).lower() in ("yes", "on", "true"): + args = "-q " + args # Execute wineexec return wineexec( - None, + "", prefix=prefix, winetricks_wine=winetricks_wine, wine_path=winetricks_path, @@ -490,7 +547,7 @@ def winecfg(wine_path=None, prefix=None, arch=WINE_DEFAULT_ARCH, config=None, en ) -def eject_disc(wine_path, prefix, proton_verb=None): +def eject_disc(wine_path: str, prefix: str, proton_verb=None): """Use Wine to eject a drive""" if proton.is_proton_path(wine_path): @@ -498,7 +555,7 @@ def eject_disc(wine_path, prefix, proton_verb=None): wineexec("eject", prefix=prefix, wine_path=wine_path, args="-a", proton_verb=proton_verb) -def install_cab_component(cabfile, component, wine_path=None, prefix=None, arch=None, proton_verb=None): +def install_cab_component(cabfile, component, wine_path: str, prefix=None, arch=None, proton_verb=None): """Install a component from a cabfile in a prefix""" if proton.is_proton_path(wine_path): @@ -511,7 +568,9 @@ def install_cab_component(cabfile, component, wine_path=None, prefix=None, arch= cab_installer.cleanup() -def open_wine_terminal(terminal, wine_path, prefix, env, system_winetricks): +def open_wine_terminal( + terminal: Optional[str], wine_path: str, prefix: str, env: Optional[Dict[str, str]], system_winetricks: bool +): winetricks_path, _working_dir, env = find_winetricks(env, system_winetricks) path_paths = [os.path.dirname(wine_path)] if proton.is_proton_path(wine_path): @@ -538,5 +597,5 @@ def open_wine_terminal(terminal, wine_path, prefix, env, system_winetricks): if path_paths: env["PATH"] = ":".join(path_paths) shell_command = get_shell_command(prefix, env, aliases) - terminal = terminal or linux.get_default_terminal() + terminal = terminal or linux.get_required_default_terminal() system.spawn([terminal, "-e", shell_command]) diff --git a/lutris/runners/dosbox.py b/lutris/runners/dosbox.py index 3c3d8d231d..56c9d2f481 100644 --- a/lutris/runners/dosbox.py +++ b/lutris/runners/dosbox.py @@ -54,9 +54,7 @@ class dosbox(Runner): "label": _("Working directory"), "warn_if_non_writable_parent": True, "help": _( - "The location where the game is run from.\n" - "By default, Lutris uses the directory of the " - "executable." + "The location where the game is run from.\nBy default, Lutris uses the directory of the executable." ), }, ] diff --git a/lutris/runners/easyrpg.py b/lutris/runners/easyrpg.py index c788b29263..c5ed152ebd 100644 --- a/lutris/runners/easyrpg.py +++ b/lutris/runners/easyrpg.py @@ -30,8 +30,7 @@ class easyrpg(Runner): "advanced": True, "label": _("Encoding"), "help": _( - "Instead of auto detecting the encoding or using the " - "one in RPG_RT.ini, the specified encoding is used." + "Instead of auto detecting the encoding or using the one in RPG_RT.ini, the specified encoding is used." ), "choices": [ (_("Auto"), ""), @@ -114,7 +113,7 @@ class easyrpg(Runner): "option": "load_game_id", "type": "range", "label": _("Load game ID"), - "help": _("Skip the title scene and load SaveXX.lsd.\n" "Set to 0 to disable."), + "help": _("Skip the title scene and load SaveXX.lsd.\nSet to 0 to disable."), "min": 0, "max": 99, "default": 0, @@ -249,7 +248,7 @@ class easyrpg(Runner): "advanced": True, "section": _("Engine"), "label": _("RNG seed"), - "help": _("Seeds the random number generator.\n" "Use -1 to disable."), + "help": _("Seeds the random number generator.\nUse -1 to disable."), "min": -1, "max": 2147483647, "default": -1, @@ -305,7 +304,7 @@ class easyrpg(Runner): "advanced": True, "label": _("Game resolution"), "help": _( - "Force a different game resolution.\n\n" "This is experimental and can cause glitches or break games!" + "Force a different game resolution.\n\nThis is experimental and can cause glitches or break games!" ), "choices": [ (_("320×240 (4:3, Original)"), "original"), @@ -388,14 +387,14 @@ class easyrpg(Runner): "type": "directory", "section": _("Runtime Package"), "label": _("RPG2000 RTP location"), - "help": _("Full path to a directory containing an extracted " "RPG Maker 2000 Run-Time-Package (RTP)."), + "help": _("Full path to a directory containing an extracted RPG Maker 2000 Run-Time-Package (RTP)."), }, { "option": "rpg2k3_rtp_path", "type": "directory", "section": _("Runtime Package"), "label": _("RPG2003 RTP location"), - "help": _("Full path to a directory containing an extracted " "RPG Maker 2003 Run-Time-Package (RTP)."), + "help": _("Full path to a directory containing an extracted RPG Maker 2003 Run-Time-Package (RTP)."), }, { "option": "rpg_rtp_path", diff --git a/lutris/runners/flatpak.py b/lutris/runners/flatpak.py index 644835b6a8..3361569805 100644 --- a/lutris/runners/flatpak.py +++ b/lutris/runners/flatpak.py @@ -38,7 +38,7 @@ class flatpak(Runner): "type": "string", "label": _("Architecture"), "help": _( - "The architecture to run. " "See flatpak --supported-arches for architectures supported by the host." + "The architecture to run. See flatpak --supported-arches for architectures supported by the host." ), "advanced": True, }, @@ -141,7 +141,7 @@ def play(self): if appid.count(".") < 2: raise GameConfigError( - _("Application ID is not specified in correct format." "Must be something like: tld.domain.app") + _("Application ID is not specified in correct format.Must be something like: tld.domain.app") ) if any(x in appid for x in ("--", "/")): diff --git a/lutris/runners/fsuae.py b/lutris/runners/fsuae.py index 90fd651bdc..2b1bf3eb3d 100644 --- a/lutris/runners/fsuae.py +++ b/lutris/runners/fsuae.py @@ -257,7 +257,7 @@ class fsuae(Runner): "label": _("Scanlines display style"), "type": "bool", "default": False, - "help": _("Activates a display filter adding scanlines to imitate " "the displays of yesteryear."), + "help": _("Activates a display filter adding scanlines to imitate the displays of yesteryear."), }, { "option": "grafixcard", @@ -328,7 +328,7 @@ class fsuae(Runner): "choices": flsound_choices, "default": "0", "advanced": True, - "help": _("Set volume to 0 to disable floppy drive clicks " "when the drive is empty. Max volume is 100."), + "help": _("Set volume to 0 to disable floppy drive clicks when the drive is empty. Max volume is 100."), }, { "option": "fdspeed", @@ -358,7 +358,7 @@ class fsuae(Runner): "type": "bool", "default": False, "advanced": True, - "help": _("Automatically uses Feral GameMode daemon if available. " "Set to true to disable the feature."), + "help": _("Automatically uses Feral GameMode daemon if available. Set to true to disable the feature."), }, { "option": "govwarning", @@ -367,7 +367,7 @@ class fsuae(Runner): "default": False, "advanced": True, "help": _( - "Warn if running with a CPU governor other than performance. " "Set to true to disable the warning." + "Warn if running with a CPU governor other than performance. Set to true to disable the warning." ), }, { diff --git a/lutris/runners/libretro.py b/lutris/runners/libretro.py index eecab6c45f..7014d10e05 100644 --- a/lutris/runners/libretro.py +++ b/lutris/runners/libretro.py @@ -123,14 +123,11 @@ def get_platform(self): return "" def get_core_path(self, core): - """Return the path of a core, prioritizing Retroarch cores""" - lutris_cores_folder = os.path.join(self.directory, "cores") - retroarch_core_folder = os.path.join(os.path.expanduser("~/.config/retroarch/cores")) + """Return the path of a core from libretro's runner only""" + lutris_cores_folder = get_default_config_path("cores") core_filename = "{}_libretro.so".format(core) - retroarch_core = os.path.join(retroarch_core_folder, core_filename) - if system.path_exists(retroarch_core): - return retroarch_core - return os.path.join(lutris_cores_folder, core_filename) + lutris_core = os.path.join(lutris_cores_folder, core_filename) + return lutris_core def get_version(self, use_default=True): return self.game_config["core"] @@ -182,7 +179,7 @@ def get_system_directory(retro_config): """Return the system directory used for storing BIOS and firmwares.""" system_directory = retro_config["system_directory"] if not system_directory or system_directory == "default": - system_directory = "~/.config/retroarch/system" + system_directory = get_default_config_path("system") return os.path.expanduser(system_directory) def prelaunch(self): @@ -212,7 +209,7 @@ def prelaunch(self): retro_config["rgui_config_directory"] = get_default_config_path("config") retro_config["overlay_directory"] = get_default_config_path("overlay") retro_config["assets_directory"] = get_default_config_path("assets") - retro_config["system_directory"] = "~/.config/retroarch/system" + retro_config["system_directory"] = get_default_config_path("system") retro_config.save() else: retro_config = RetroConfig(config_file) @@ -254,9 +251,9 @@ def prelaunch(self): required_firmware_filename = retro_config["firmware%d_path" % index] required_firmware_path = os.path.join(system_path, required_firmware_filename) required_firmware_name = required_firmware_filename.split("/")[-1] - required_firmware_checksum = checksums[required_firmware_filename] + required_firmware_checksum = checksums.get(required_firmware_name) if system.path_exists(required_firmware_path): - if required_firmware_filename in checksums: + if required_firmware_checksum: checksum = system.get_md5_hash(required_firmware_path) if checksum == required_firmware_checksum: checksum_status = "Checksum good" @@ -266,8 +263,9 @@ def prelaunch(self): checksum_status = "No checksum info" logger.info("Firmware '%s' found (%s)", required_firmware_filename, checksum_status) else: - get_firmware(required_firmware_name, required_firmware_checksum, system_path) logger.warning("Firmware '%s' not found!", required_firmware_filename) + if required_firmware_checksum: + get_firmware(required_firmware_name, required_firmware_checksum, system_path) def get_runner_parameters(self): parameters = [] diff --git a/lutris/runners/linux.py b/lutris/runners/linux.py index 46c71a4cac..f9f1773cef 100644 --- a/lutris/runners/linux.py +++ b/lutris/runners/linux.py @@ -38,9 +38,7 @@ class linux(Runner): "type": "directory", "label": _("Working directory"), "help": _( - "The location where the game is run from.\n" - "By default, Lutris uses the directory of the " - "executable." + "The location where the game is run from.\nBy default, Lutris uses the directory of the executable." ), }, { diff --git a/lutris/runners/mame.py b/lutris/runners/mame.py index 7a74a6033e..3f5e8997d9 100644 --- a/lutris/runners/mame.py +++ b/lutris/runners/mame.py @@ -137,9 +137,7 @@ class mame(Runner): # pylint: disable=invalid-name "type": "string", "section": _("Autoboot"), "label": _("Autoboot command"), - "help": _( - "Autotype this command when the system has started, " "an enter keypress is automatically added." - ), + "help": _("Autotype this command when the system has started, an enter keypress is automatically added."), }, { "option": "autoboot_delay", @@ -174,8 +172,17 @@ class mame(Runner): # pylint: disable=invalid-name "type": "bool", "section": _("Graphics"), "label": _("CRT effect ()"), - "help": _("Applies a CRT effect to the screen." "Requires OpenGL renderer."), + "help": _("Applies a CRT effect to the screen.Requires OpenGL renderer."), + "default": False, + }, + { + "option": "verbose", + "type": "bool", + "section": _("Debugging"), + "label": _("Verbose"), + "help": _("display additional diagnostic information."), "default": False, + "advanced": True, }, { "option": "video", @@ -196,9 +203,7 @@ class mame(Runner): # pylint: disable=invalid-name "type": "bool", "section": _("Graphics"), "label": _("Wait for VSync"), - "help": _( - "Enable waiting for the start of vblank before " "flipping screens; reduces tearing effects." - ), + "help": _("Enable waiting for the start of vblank before flipping screens; reduces tearing effects."), "advanced": True, "default": False, }, @@ -220,7 +225,7 @@ class mame(Runner): # pylint: disable=invalid-name ], "default": "SCRLOCK", "advanced": True, - "help": _("Key to switch between Full Keyboard Mode and " "Partial Keyboard Mode (default: Scroll Lock)"), + "help": _("Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: Scroll Lock)"), }, ] @@ -317,6 +322,9 @@ def play(self): command += self.get_shader_params("CRT-geom", ["Gaussx", "Gaussy", "CRT-geom-halation"]) command += ["-nounevenstretch"] + if self.runner_config.get("verbose"): + command += ["-verbose", "-oslog", "-log"] + if self.game_config.get("machine"): rompath = self.runner_config.get("rompath") if rompath: diff --git a/lutris/runners/mednafen.py b/lutris/runners/mednafen.py index 3460b24c93..5a91c20a03 100644 --- a/lutris/runners/mednafen.py +++ b/lutris/runners/mednafen.py @@ -57,9 +57,7 @@ class mednafen(Runner): "option": "main_file", "type": "file", "label": _("ROM file"), - "help": _( - "The game data, commonly called a ROM image. \n" "Mednafen supports GZIP and ZIP compressed ROMs." - ), + "help": _("The game data, commonly called a ROM image. \nMednafen supports GZIP and ZIP compressed ROMs."), }, { "option": "machine", diff --git a/lutris/runners/o2em.py b/lutris/runners/o2em.py index 4cf90bca19..8013b210e6 100644 --- a/lutris/runners/o2em.py +++ b/lutris/runners/o2em.py @@ -86,7 +86,7 @@ class o2em(Runner): "section": _("Graphics"), "label": _("Scanlines display style"), "default": False, - "help": _("Activates a display filter adding scanlines to imitate " "the displays of yesteryear."), + "help": _("Activates a display filter adding scanlines to imitate the displays of yesteryear."), }, ] diff --git a/lutris/runners/reicast.py b/lutris/runners/reicast.py index bdc2f00fec..3d7352ad39 100644 --- a/lutris/runners/reicast.py +++ b/lutris/runners/reicast.py @@ -26,7 +26,7 @@ class reicast(Runner): "option": "iso", "type": "file", "label": _("Disc image file"), - "help": _("The game data.\n" "Supported formats: ISO, CDI"), + "help": _("The game data.\nSupported formats: ISO, CDI"), } ] diff --git a/lutris/runners/runner.py b/lutris/runners/runner.py index 0b838e44a4..bdb01bc109 100644 --- a/lutris/runners/runner.py +++ b/lutris/runners/runner.py @@ -19,6 +19,8 @@ from lutris.util.log import logger from lutris.util.process import Process +GLVND_DIR = "/usr/share/glvnd/egl_vendor.d" + def kill_processes(sig: int, pids: Iterable[int]) -> None: """Sends a signal to a process list, logging errors without stopping.""" @@ -47,6 +49,7 @@ class Runner: # pylint: disable=too-many-public-methods download_url = None arch = None # If the runner is only available for an architecture that isn't x86_64 flatpak_id = None + human_name = "" def __init__(self, config=None): """Initialize runner.""" @@ -62,22 +65,6 @@ def __init__(self, config=None): def __lt__(self, other): return self.name < other.name - @property - def description(self): - """Return the class' docstring as the description.""" - return self.__doc__ - - @description.setter - def description(self, value): - """Leave the ability to override the docstring.""" - self.__doc__ = value # What the shit - - @property - def runner_warning(self): - """Returns a message (as markup) that is displayed in the configuration dialog as - a warning.""" - return None - @property def name(self): return self.__class__.__name__ @@ -100,9 +87,6 @@ def config(self, new_config): @property def game_config(self): """Return the cascaded game config as a dict.""" - if not self.has_explicit_config: - logger.warning("Accessing game config while runner wasn't given one.") - return self.config.game_config @property @@ -242,6 +226,11 @@ def get_env(self, os_env=False, disable_runtime=False): env["__GL_SHADER_DISK_CACHE"] = "1" env["__GL_SHADER_DISK_CACHE_PATH"] = self.nvidia_shader_cache_path + # Store vkd3d sharder cache and dxvk cache as a same path as NVidia's shader. + # VKD3D_SHADER_CACHE_PATH not set cause error vkd3d can't not write shader cache + env["VKD3D_SHADER_CACHE_PATH"] = self.nvidia_shader_cache_path + env["DXVK_STATE_CACHE_PATH"] = self.nvidia_shader_cache_path + # Override SDL2 controller configuration sdl_gamecontrollerconfig = self.system_config.get("sdl_gamecontrollerconfig") if sdl_gamecontrollerconfig: @@ -263,11 +252,16 @@ def get_env(self, os_env=False, disable_runtime=False): env["__NV_PRIME_RENDER_OFFLOAD"] = "1" env["__GLX_VENDOR_LIBRARY_NAME"] = "nvidia" env["__VK_LAYER_NV_optimus"] = "NVIDIA_only" + env["__EGL_VENDOR_LIBRARY_FILENAMES"] = os.path.join(GLVND_DIR, "10_nvidia.json") else: env["DRI_PRIME"] = gpu.pci_id + env["__EGL_VENDOR_LIBRARY_FILENAMES"] = os.path.join(GLVND_DIR, "50_mesa.json") env["VK_ICD_FILENAMES"] = gpu.icd_files # Deprecated env["VK_DRIVER_FILES"] = gpu.icd_files # Current form + # To classify for multile GPUs with the same vendorID:deviceID + env["DXVK_FILTER_DEVICE_UUID"] = gpu.device_uuid + # Set PulseAudio latency to 60ms if self.system_config.get("pulse_latency"): env["PULSE_LATENCY_MSEC"] = "60" @@ -408,6 +402,9 @@ def prelaunch(self): if unavailable_libs: raise UnavailableLibrariesError(unavailable_libs, self.arch) + def get_version(self, use_default=True): + raise NotImplementedError + def get_run_data(self): """Return dict with command (exe & args list) and env vars (dict). @@ -462,7 +459,7 @@ def install_dialog(self, ui_delegate): """ if ui_delegate.show_install_yesno_inquiry( - question=_("The required runner is not installed.\n" "Do you wish to install it now?"), + question=_("The required runner is not installed.\nDo you wish to install it now?"), title=_("Required runner unavailable"), ): if hasattr(self, "get_version"): @@ -499,12 +496,12 @@ def adjust_installer_runner_config(self, installer_runner_config: Dict[str, Any] the confliguration before it is saved. This method should modify the dict given.""" pass - def get_runner_version(self, version: str = None) -> Optional[Dict[str, str]]: + def get_runner_version(self, version: Optional[str] = None) -> Optional[Dict[str, str]]: """Get the appropriate version for a runner, as with get_default_runner_version(), but this method allows the runner to apply its configuration.""" return get_default_runner_version_info(self.name, version) - def install(self, install_ui_delegate, version=None, callback=None): + def install(self, install_ui_delegate, version: Optional[str] = None, callback=None): """Install runner using package management systems.""" logger.debug( "Installing %s (version=%s, callback=%s)", @@ -553,7 +550,7 @@ def download_and_extract(self, url, dest=None, **opts): else: logger.info("Download canceled by the user.") - def extract(self, archive=None, dest=None, merge_single=None, callback=None): + def extract(self, archive: str, dest: str, merge_single: bool = False, callback=None): if not system.path_exists(archive, exclude_empty=True): raise RunnerInstallationError(_("Failed to extract {}").format(archive)) try: @@ -577,8 +574,9 @@ def extract(self, archive=None, dest=None, merge_single=None, callback=None): if callback: callback() - def remove_game_data(self, app_id=None, game_path=None): - system.remove_folder(game_path) + def remove_game_data(self, app_id=None, game_path: Optional[str] = None): + if game_path: + system.remove_folder(game_path) def can_uninstall(self): return os.path.isdir(self.directory) diff --git a/lutris/runners/ryujinx.py b/lutris/runners/ryujinx.py index 39a76e28f6..cc9d46080e 100644 --- a/lutris/runners/ryujinx.py +++ b/lutris/runners/ryujinx.py @@ -15,7 +15,7 @@ class ryujinx(Runner): description = _("Nintendo Switch emulator") runnable_alone = True runner_executable = "ryujinx/publish/Ryujinx" - flatpak_id = "org.ryujinx.Ryujinx" + flatpak_id = "io.github.ryubing.Ryujinx" download_url = "https://lutris.nyc3.digitaloceanspaces.com/runners/ryujinx/ryujinx-1.0.7074-linux_x64.tar.gz" game_options = [ diff --git a/lutris/runners/scummvm.py b/lutris/runners/scummvm.py index 815842aacb..48d55d9cd6 100644 --- a/lutris/runners/scummvm.py +++ b/lutris/runners/scummvm.py @@ -154,7 +154,7 @@ class scummvm(Runner): ], "warning": _get_opengl_warning, "help": _( - "The algorithm used to scale up the game's base " "resolution, resulting in different visual styles. " + "The algorithm used to scale up the game's base resolution, resulting in different visual styles. " ), }, { @@ -282,8 +282,7 @@ class scummvm(Runner): "type": "string", "label": _("Engine speed"), "help": _( - "Sets frames per second limit (0 - 100) for Grim Fandango " - "or Escape from Monkey Island (default: 60)." + "Sets frames per second limit (0 - 100) for Grim Fandango or Escape from Monkey Island (default: 60)." ), "advanced": True, }, @@ -361,8 +360,7 @@ class scummvm(Runner): ("rwopl3", "rwopl3"), ], "help": _( - "Chooses which emulator is used by ScummVM when the AdLib emulator " - "is chosen as the Preferred device." + "Chooses which emulator is used by ScummVM when the AdLib emulator is chosen as the Preferred device." ), "advanced": True, }, @@ -544,7 +542,8 @@ def play(self): args = self.game_config.get("args") or "" for arg in split_arguments(args): command.append(arg) - command.append(self.game_config.get("game_id")) + if self.game_config.get("game_id"): + command.append(self.game_config.get("game_id")) output = {"command": command} extra_libs = self.get_extra_libs() diff --git a/lutris/runners/steam.py b/lutris/runners/steam.py index de78faa75c..18c7c2f6b2 100644 --- a/lutris/runners/steam.py +++ b/lutris/runners/steam.py @@ -48,8 +48,7 @@ class steam(Runner): "type": "string", "label": _("Arguments"), "help": _( - "Command line arguments used when launching the game.\n" - "Ignored when Steam Big Picture mode is enabled." + "Command line arguments used when launching the game.\nIgnored when Steam Big Picture mode is enabled." ), }, { @@ -81,18 +80,6 @@ class steam(Runner): "Useful when playing with a Steam Controller." ), }, - { - "option": "lsi_steam", - "label": _("Start Steam with LSI"), - "type": "bool", - "default": False, - "help": _( - "Launches steam with LSI patches enabled. " - "Make sure Lutris Runtime is disabled and " - "you have LSI installed. " - "https://github.com/solus-project/linux-steam-integration" - ), - }, { "option": "args", "type": "string", @@ -141,10 +128,6 @@ def get_executable(self) -> str: if linux.LINUX_SYSTEM.is_flatpak(): # Fallback to xgd-open for Steam URIs in Flatpak return system.find_required_executable("xdg-open") - if self.runner_config.get("lsi_steam"): - lsi_steam_path = system.find_executable("lsi-steam") - if lsi_steam_path: - return lsi_steam_path runner_executable = self.runner_config.get("runner_executable") if runner_executable and os.path.isfile(runner_executable): return runner_executable @@ -184,12 +167,13 @@ def get_default_steamapps_path(self): def install(self, install_ui_delegate, version=None, callback=None): raise NonInstallableRunnerError( - _( + message=_("Steam for Linux installation is not handled by Lutris."), + message_markup=_( "Steam for Linux installation is not handled by Lutris.\n" "Please go to " "http://steampowered.com" " or install Steam with the package provided by your distribution." - ) + ), ) def install_game(self, appid, generate_acf=False): diff --git a/lutris/runners/web.py b/lutris/runners/web.py index 23df72da61..73d41a7768 100644 --- a/lutris/runners/web.py +++ b/lutris/runners/web.py @@ -76,7 +76,7 @@ class web(Runner): "label": _("Disable menu bar and default shortcuts"), "type": "bool", "default": False, - "help": _("This also disables default keyboard shortcuts, " "like copy/paste and fullscreen toggling."), + "help": _("This also disables default keyboard shortcuts, like copy/paste and fullscreen toggling."), }, { "option": "disable_scrolling", @@ -90,7 +90,7 @@ class web(Runner): "label": _("Hide mouse cursor"), "type": "bool", "default": False, - "help": _("Prevents the mouse cursor from showing " "when hovering above the window."), + "help": _("Prevents the mouse cursor from showing when hovering above the window."), }, { "option": "open_links", @@ -107,7 +107,7 @@ class web(Runner): "label": _("Remove default margin & padding"), "type": "bool", "default": False, - "help": _("Sets margin and padding to zero " "on <html> and <body> elements."), + "help": _("Sets margin and padding to zero on <html> and <body> elements."), }, { "option": "enable_flash", @@ -173,14 +173,14 @@ def get_env(self, os_env=True, disable_runtime=False): def play(self): url = self.game_config.get("main_file") if not url: - raise GameConfigError(_("The web address is empty, \n" "verify the game's configuration.")) + raise GameConfigError(_("The web address is empty, \nverify the game's configuration.")) # check if it's an url or a file is_url = urlparse(url).scheme != "" if not is_url: if not system.path_exists(url): - raise GameConfigError(_("The file %s does not exist, \n" "verify the game's configuration.") % url) + raise GameConfigError(_("The file %s does not exist, \nverify the game's configuration.") % url) url = "file://" + url game_data = get_game_by_field(self.config.game_config_id, "configpath") diff --git a/lutris/runners/wine.py b/lutris/runners/wine.py index 7a3fb852fd..b561cc1687 100644 --- a/lutris/runners/wine.py +++ b/lutris/runners/wine.py @@ -4,7 +4,7 @@ import os import shlex from gettext import gettext as _ -from typing import Any, Dict, Iterable, List, Optional, Set, Tuple +from typing import Any, Dict, Iterable, List, Optional, Set, Tuple, Callable from lutris import runtime, settings from lutris.api import format_runner_version, normalize_version_architecture @@ -46,14 +46,14 @@ from lutris.util.wine.dgvoodoo2 import dgvoodoo2Manager from lutris.util.wine.dxvk import REQUIRED_VULKAN_API_VERSION, DXVKManager from lutris.util.wine.dxvk_nvapi import DXVKNVAPIManager -from lutris.util.wine.extract_icon import PEFILE_AVAILABLE, ExtractIcon +from lutris.util.wine.extract_icon import PEFILE_AVAILABLE, IconExtractor from lutris.util.wine.prefix import DEFAULT_DLL_OVERRIDES, WinePrefixManager, find_prefix from lutris.util.wine.vkd3d import VKD3DManager from lutris.util.wine.wine import ( + GE_PROTON_LATEST, WINE_DEFAULT_ARCH, WINE_PATHS, detect_arch, - get_default_wine_runner_version_info, get_default_wine_version, get_installed_wine_versions, get_overrides_env, @@ -93,6 +93,21 @@ def _get_prefix_warning(_option_key: str, config: LutrisConfig) -> Optional[str] return _("Warning Some Wine configuration options cannot be applied, if no prefix can be found.") +def _get_exe_warning(_option_key: str, config: LutrisConfig) -> Optional[str]: + exe = config.game_config.get("exe") + if not exe: + return _("Warning No executable path specified") + _exe = exe.strip() + good_path = exe == _exe + if not _exe: + return _("Warning No executable path specified") + if good_path and os.path.isfile(_exe): + return None + elif not good_path: + return _("Warning Executable path has extra whitespace at the beginning or end") + return _("Warning Executable file does not exist") + + def _get_dxvk_warning() -> Optional[str]: if drivers.is_outdated(): driver_info = drivers.get_nvidia_driver_info() @@ -110,8 +125,7 @@ def _get_simple_vulkan_support_error(option_key: str, config: LutrisConfig, feat return None if config.runner_config.get(option_key) and not LINUX_SYSTEM.is_vulkan_supported(): return ( - _("Error Vulkan is not installed or is not supported by your system, " "%s is not available.") - % feature + _("Error Vulkan is not installed or is not supported by your system, %s is not available.") % feature ) return None @@ -145,6 +159,47 @@ def _get_dxvk_version_warning(_option_key: str, config: LutrisConfig) -> Optiona return None +def _get_dlls_proton_warning(dlls_type: str) -> Callable[[str, LutrisConfig], Optional[str]]: + """Creates a warning for specific DLL types. + + Args: + dlls_type: Type of DLLs to check ("dxvk", "nvapi", or "vkd3d") + + Returns: + A function that checks for warnings based on the provided parameters + """ + version_key = {"dxvk": "dxvk_version", "nvapi": "dxvk_nvapi_version", "vkd3d": "vkd3d_version"}.get(dlls_type) + if not version_key: + return lambda *_: None + + def check_warnings(_option_key: str, config: LutrisConfig) -> Optional[str]: + try: + if not config or not config.runner_config: + return None + + runner_config = config.runner_config + proton_warning = None + + # Only warnings if runner wine version is Proton + if not _is_pre_proton(_option_key, config) and runner_config.get(version_key) != "manual": + proton_warning = _("Warning Not using default %s DLLs of Proton") % dlls_type + + if dlls_type == "dxvk": + vulkan_warning = _get_dxvk_version_warning(_option_key, config) + return ( + f"{proton_warning}\n{vulkan_warning}" + if proton_warning and vulkan_warning + else proton_warning or vulkan_warning + ) + + return proton_warning + + except Exception: + return None + + return check_warnings + + def _get_esync_warning(_option_key: str, config: LutrisConfig) -> Optional[str]: if config.runner_config.get("esync"): limits_set = is_esync_limit_set() @@ -178,7 +233,7 @@ def _get_virtual_desktop_warning(_option_key: str, config: LutrisConfig) -> Opti def _get_wine_version_choices(): version_choices = [(_("Custom (select executable below)"), "custom")] - labels = { + system_wine_labels = { "winehq-devel": _("WineHQ Devel ({})"), "winehq-staging": _("WineHQ Staging ({})"), "wine-development": _("Wine Development ({})"), @@ -186,11 +241,11 @@ def _get_wine_version_choices(): } versions = get_installed_wine_versions() for version in versions: - if version in labels: - version_number = get_system_wine_version(WINE_PATHS[version]) - label = labels[version].format(version_number) - elif version == "ge-proton": + if version == GE_PROTON_LATEST: label = _("GE-Proton (Latest)") + elif version in system_wine_labels: + version_number = get_system_wine_version(WINE_PATHS[version]) + label = system_wine_labels[version].format(version_number) else: label = version version_choices.append((label, version)) @@ -198,7 +253,7 @@ def _get_wine_version_choices(): class wine(Runner): - description = _("Runs Windows games") + description: str = _("Runs Windows games") human_name = _("Wine") platforms = [_("Windows")] multiple_versions = True @@ -210,6 +265,7 @@ class wine(Runner): "type": "file", "label": _("Executable"), "help": _("The game's main EXE file"), + "warning": _get_exe_warning, }, { "option": "args", @@ -223,9 +279,7 @@ class wine(Runner): "type": "directory", "label": _("Working directory"), "help": _( - "The location where the game is run from.\n" - "By default, Lutris uses the directory of the " - "executable." + "The location where the game is run from.\nBy default, Lutris uses the directory of the executable." ), }, { @@ -279,7 +333,7 @@ class wine(Runner): "label": _("Custom Wine executable"), "type": "file", "advanced": True, - "help": _("The Wine executable to be used if you have " 'selected "Custom" as the Wine version.'), + "help": _('The Wine executable to be used if you have selected "Custom" as the Wine version.'), }, { "option": "system_winetricks", @@ -310,25 +364,21 @@ class wine(Runner): "label": _("DXVK version"), "advanced": True, "type": "choice_with_entry", - "visible": _is_pre_proton, "condition": LINUX_SYSTEM.is_vulkan_supported(), "conditional_on": "dxvk", "choices": lambda: DXVKManager().version_choices, "default": lambda: DXVKManager().version, - "warning": _get_dxvk_version_warning, + "warning": _get_dlls_proton_warning("dxvk"), }, { "option": "vkd3d", "section": _("Graphics"), "label": _("Enable VKD3D"), "type": "bool", - "visible": _is_pre_proton, "error": lambda k, c: _get_simple_vulkan_support_error(k, c, _("VKD3D")), "default": True, "active": True, - "help": _( - "Use VKD3D to enable support for Direct3D 12 " "applications by translating their calls to Vulkan." - ), + "help": _("Use VKD3D to enable support for Direct3D 12 applications by translating their calls to Vulkan."), }, { "option": "vkd3d_version", @@ -336,11 +386,11 @@ class wine(Runner): "label": _("VKD3D version"), "advanced": True, "type": "choice_with_entry", - "visible": _is_pre_proton, "condition": LINUX_SYSTEM.is_vulkan_supported(), "conditional_on": "vkd3d", "choices": lambda: VKD3DManager().version_choices, "default": lambda: VKD3DManager().version, + "warning": _get_dlls_proton_warning("vkd3d"), }, { "option": "d3d_extras", @@ -374,7 +424,6 @@ class wine(Runner): "error": lambda k, c: _get_simple_vulkan_support_error(k, c, _("DXVK-NVAPI / DLSS")), "default": True, "advanced": True, - "visible": _is_pre_proton, "help": _("Enable emulation of Nvidia's NVAPI and add DLSS support, if available."), }, { @@ -383,10 +432,10 @@ class wine(Runner): "label": _("DXVK NVAPI version"), "advanced": True, "conditional_on": "dxvk_nvapi", - "visible": _is_pre_proton, "type": "choice_with_entry", "choices": lambda: DXVKNVAPIManager().version_choices, "default": lambda: DXVKNVAPIManager().version, + "warning": _get_dlls_proton_warning("nvapi"), }, { "option": "dgvoodoo2", @@ -514,10 +563,8 @@ class wine(Runner): "type": "string", "conditional_on": "Dpi", "advanced": True, - "help": _( - "The DPI to be used if 'Enable DPI Scaling' is turned on.\n" - "If blank or 'auto', Lutris will auto-detect this." - ), + "default": str(get_default_dpi()), + "help": _("The DPI to be used if 'Enable DPI Scaling' is turned on."), }, { "option": "MouseWarpOverride", @@ -551,7 +598,7 @@ class wine(Runner): ], "default": "auto", "help": _( - "Which audio backend to use.\n" "By default, Wine automatically picks the right one " "for your system." + "Which audio backend to use.\nBy default, Wine automatically picks the right one for your system." ), }, { @@ -572,7 +619,7 @@ class wine(Runner): (_("Full (CAUTION: Will cause MASSIVE slowdown)"), "+all"), ], "default": "-all", - "help": _("Output debugging information in the game log " "(might affect performance)"), + "help": _("Output debugging information in the game log (might affect performance)"), }, { "option": "ShowCrashDialog", @@ -587,7 +634,7 @@ class wine(Runner): "label": _("Autoconfigure joypads"), "advanced": True, "default": False, - "help": _("Automatically disables one of Wine's detected joypad " "to avoid having 2 controllers detected"), + "help": _("Automatically disables one of Wine's detected joypad to avoid having 2 controllers detected"), }, ] @@ -617,22 +664,11 @@ def __init__(self, config=None, prefix=None, working_dir=None, wine_arch=None): self._wine_arch = wine_arch self.dll_overrides = DEFAULT_DLL_OVERRIDES.copy() # we'll modify this, so we better copy it - @property - def runner_warning(self): - if not get_system_wine_version(): - return _( - "Warning Wine is not installed on your system\n\n" - "Having Wine installed on your system guarantees that " - "Wine builds from Lutris will have all required dependencies.\nPlease " - "follow the instructions given in the Lutris Wiki to " - "install Wine." - ) - @property def context_menu_entries(self): """Return the contexual menu entries for wine""" return [ + ("winekill", _("Kill all Wine processes"), self.run_winekill), ("wineexec", _("Run EXE inside Wine prefix"), self.run_wineexec), ("wineshell", _("Open Bash terminal"), self.run_wine_terminal), ("wineconsole", _("Open Wine console"), self.run_wineconsole), @@ -641,6 +677,7 @@ def context_menu_entries(self): ("wine-regedit", _("Wine registry"), self.run_regedit), ("winecpl", _("Wine Control Panel"), self.run_winecpl), ("winetaskmgr", _("Wine Task Manager"), self.run_taskmgr), + ("wineexplorer", _("Wine Explorer"), self.run_explorer), (None, "-", None), ("winetricks", _("Winetricks"), self.run_winetricks), ] @@ -703,18 +740,13 @@ def wine_arch(self): arch = WINE_DEFAULT_ARCH return arch - def get_runner_version(self, version: str = None) -> Optional[Dict[str, str]]: - if not version: - default_version_info = get_default_wine_runner_version_info() - default_version = format_runner_version(default_version_info) if default_version_info else None - version = self.read_version_from_config(default=default_version) - + def get_runner_version(self, version: Optional[str] = None) -> Optional[Dict[str, str]]: if version in WINE_PATHS: return {"version": version} return super().get_runner_version(version) - def read_version_from_config(self, default: str = None) -> str: + def read_version_from_config(self, default: Optional[str] = None) -> str: """Return the Wine version to use. use_default can be set to false to force the installation of a specific wine version. If no version is configured, we return the default supplied, or the4 global Wine default if none is.""" @@ -725,7 +757,8 @@ def read_version_from_config(self, default: str = None) -> str: for level in [self.config.game_level, self.config.runner_level]: if "wine" in level: runner_version = level["wine"].get("version") - if runner_version: + # Treat 'ge-proton' as if no version is set + if runner_version and runner_version != GE_PROTON_LATEST: return runner_version if default: @@ -754,12 +787,14 @@ def resolve_config_path(self, path, relative_to=None): return resolved - def get_executable(self, version: str = None, fallback: bool = True) -> str: + def get_executable(self, version: str = "", fallback: bool = True) -> str: """Return the path to the Wine executable. A specific version can be specified if needed. """ - if version is None: + if not version: version = self.read_version_from_config() + if version == GE_PROTON_LATEST: + return proton.get_umu_path() if proton.is_proton_version(version): return proton.get_proton_wine_path(version) @@ -919,6 +954,11 @@ def run_wineconsole(self, *args): self.prelaunch() self._run_executable("wineconsole") + def run_explorer(self, *args): + """Runs wine explorer inside wine prefix.""" + self.prelaunch() + self._run_executable("explorer") + def run_winecfg(self, *args): """Run winecfg in the current context""" self.prelaunch() @@ -931,14 +971,14 @@ def run_winecfg(self, *args): runner=self, ) - def run_regedit(self, *args): + def run_regedit(self, *args) -> None: """Run regedit in the current context""" self.prelaunch() self._run_executable("regedit") - def run_wine_terminal(self, *args): + def run_wine_terminal(self, *args) -> None: terminal = self.system_config.get("terminal_app") - system_winetricks = self.runner_config.get("system_winetricks") + system_winetricks: bool = self.runner_config.get("system_winetricks", False) open_wine_terminal( terminal=terminal, wine_path=self.get_executable(), @@ -1001,7 +1041,7 @@ def set_regedit_keys(self): } for key, path in self.reg_keys.items(): value = self.runner_config.get(key) or "auto" - if not value or value == "auto" and key not in managed_keys: + if not value or (value == "auto" and key not in managed_keys): prefix_manager.clear_registry_subkeys(path, key) elif key in self.runner_config: if key in managed_keys: @@ -1030,26 +1070,17 @@ def set_regedit_keys(self): # had been on the only way to implement that is to save 96 DPI into the registry. prefix_manager.set_dpi(self.get_dpi()) - def get_dpi(self): + def get_dpi(self) -> int: """Return the DPI to be used by Wine; returns None to allow Wine's own setting to govern.""" if bool(self.runner_config.get("Dpi")): - explicit_dpi = self.runner_config.get("ExplicitDpi") - if explicit_dpi == "auto": - explicit_dpi = None - else: - try: - explicit_dpi = int(explicit_dpi) - except: - explicit_dpi = None - return explicit_dpi or get_default_dpi() - - return None + try: + return int(self.runner_config.get("ExplicitDpi", get_default_dpi())) + except: + return get_default_dpi() + return get_default_dpi() def prelaunch(self): - if not get_system_wine_version(): - logger.warning("Wine is not installed on your system; required dependencies may be missing.") - prefix_path = self.prefix_path if prefix_path: if not system.path_exists(os.path.join(prefix_path, "user.reg")): @@ -1117,20 +1148,36 @@ def get_env(self, os_env=False, disable_runtime=False): env = super().get_env(os_env, disable_runtime=disable_runtime) show_debug = self.runner_config.get("show_debug", "-all") if show_debug != "inherit": + # For performance, logging is disabled by default; env["WINEDEBUG"] = show_debug - env["DXVK_LOG_LEVEL"] = "error" - env["UMU_LOG"] = "1" + env["DXVK_LOG_LEVEL"] = "none" + env["UMU_LOG"] = "0" + env["VKD3D_DEBUG"] = "none" + env["VKD3D_SHADER_DEBUG"] = "none" + env["DXVK_NVAPI_LOG_LEVEL"] = "none" + env["DXVK_NVAPI_VKREFLEX_LAYER_LOG_LEVEL"] = "none" + if show_debug == "": env["DXVK_LOG_LEVEL"] = "info" - env["UMU_LOG"] = "warning" + env["VKD3D_DEBUG"] = "info" + env["UMU_LOG"] = "1" + env["DXVK_NVAPI_LOG_LEVEL"] = "info" + env["DXVK_NVAPI_VKREFLEX_LAYER_LOG_LEVEL"] = "info" elif show_debug == "+all": env["DXVK_LOG_LEVEL"] = "debug" + env["VKD3D_DEBUG"] = "debug" env["UMU_LOG"] = "debug" + env["DXVK_LOG_LEVEL"] = "debug" + env["DXVK_NVAPI_LOG_LEVEL"] = "trace" + env["DXVK_NVAPI_VKREFLEX_LAYER_LOG_LEVEL"] = "debug" + env["WINEARCH"] = self.wine_arch wine_exe = self.get_executable() is_proton = proton.is_proton_path(wine_exe) wine_config_version = self.read_version_from_config() + if wine_config_version == GE_PROTON_LATEST: + env["PROTONPATH"] = "GE-Proton" env["WINE"] = wine_exe files_dir = get_runner_files_dir_for_version(wine_config_version) @@ -1168,6 +1215,12 @@ def get_env(self, os_env=False, disable_runtime=False): if self.runner_config.get("dxvk_nvapi"): env["DXVK_NVAPIHACK"] = "0" env["DXVK_ENABLE_NVAPI"] = "1" + # Add Vulkan implicit layer path for DXVK-NVAPI + nvapi_version = self.runner_config.get("dxvk_nvapi_version") + if nvapi_version: + layer_dir = os.path.join(settings.RUNTIME_DIR, "dxvk-nvapi", nvapi_version, "layer") + if os.path.exists(layer_dir): + env["VK_ADD_LAYER_PATH"] = layer_dir if self.runner_config.get("battleye"): env["PROTON_BATTLEYE_RUNTIME"] = os.path.join(settings.RUNTIME_DIR, "battleye_runtime") @@ -1198,7 +1251,7 @@ def finish_env(self, env: Dict[str, str], game) -> None: wine_exe = self.get_executable() - if proton.is_proton_path(wine_exe): + if proton.is_proton_path(wine_exe) or proton.is_umu_path(wine_exe): game_id = proton.get_game_id(game, env) proton.update_proton_env(wine_exe, env, game_id=game_id) @@ -1245,10 +1298,10 @@ def configure_desktop_integration(self, wine_prefix): except Exception as ex: logger.exception("Failed to setup desktop integration, the prefix may not be valid: %s", ex) - def play(self): # pylint: disable=too-many-return-statements # noqa: C901 + def play(self) -> Dict[str, Any]: # pylint: disable=too-many-return-statements game_exe = self.game_exe - arguments = self.game_config.get("args", "") - launch_info = {"env": self.get_env(os_env=False)} + arguments: str = self.game_config.get("args", "") + launch_info: dict = {"env": self.get_env(os_env=False)} using_dxvk = self.runner_config.get("dxvk") and LINUX_SYSTEM.is_vulkan_supported if using_dxvk: @@ -1324,29 +1377,14 @@ def extract_icon(self, game_slug): if not exe or os.path.exists(pathtoicon) or not PEFILE_AVAILABLE: return False - extractor = ExtractIcon(self.game_exe) - groups = extractor.get_group_icons() + extractor = IconExtractor(exe) - if not groups: - return False + icon = extractor.get_best_icon() - icons = [] - biggestsize = (0, 0) - biggesticon = -1 - for i in range(len(groups[0])): - icons.append(extractor.export(groups[0], i)) - if icons[i].size > biggestsize: - biggesticon = i - biggestsize = icons[i].size - elif icons[i].size == wantedsize: - icons[i].save(pathtoicon) - return True - - if biggesticon >= 0: - resized = icons[biggesticon].resize(wantedsize) - resized.save(pathtoicon) - return True - return False + if not icon.size == wantedsize: + icon = icon.resize(wantedsize) + icon.save(pathtoicon) + return True except Exception as ex: logger.exception("Unable to extract icon from %s: %s", exe, ex) return False diff --git a/lutris/runners/zdoom.py b/lutris/runners/zdoom.py index 1548cb2bfc..893923ef2b 100644 --- a/lutris/runners/zdoom.py +++ b/lutris/runners/zdoom.py @@ -32,7 +32,7 @@ class zdoom(Runner): "option": "files", "type": "multiple_file", "label": _("PWAD files"), - "help": _("Used to load one or more PWAD files which generally contain " "user-created levels."), + "help": _("Used to load one or more PWAD files which generally contain user-created levels."), }, { "option": "warp", diff --git a/lutris/runtime.py b/lutris/runtime.py index a08252b6c0..226e8281b8 100644 --- a/lutris/runtime.py +++ b/lutris/runtime.py @@ -11,12 +11,10 @@ from lutris.api import ( check_stale_runtime_versions, download_runtime_versions, - format_runner_version, get_runtime_versions, get_time_from_api_date, ) from lutris.gui.widgets.progress_box import ProgressInfo -from lutris.settings import UPDATE_CHANNEL_STABLE from lutris.util import http, system from lutris.util.downloader import Downloader from lutris.util.extract import extract_archive @@ -28,9 +26,7 @@ from lutris.util.wine.dgvoodoo2 import dgvoodoo2Manager from lutris.util.wine.dxvk import DXVKManager from lutris.util.wine.dxvk_nvapi import DXVKNVAPIManager -from lutris.util.wine.proton import PROTON_DIR from lutris.util.wine.vkd3d import VKD3DManager -from lutris.util.wine.wine import clear_wine_version_cache RUNTIME_DISABLED = os.environ.get("LUTRIS_RUNTIME", "").casefold() in ("0", "off") DEFAULT_RUNTIME = "Ubuntu-18.04" @@ -44,7 +40,9 @@ } -def get_env(version: str = None, prefer_system_libs: bool = False, wine_path: str = None) -> Dict[str, str]: +def get_env( + version: Optional[str] = None, prefer_system_libs: bool = False, wine_path: Optional[str] = None +) -> Dict[str, str]: """Return a dict containing LD_LIBRARY_PATH env var Params: @@ -74,7 +72,9 @@ def get_winelib_paths(wine_path: str) -> List[str]: return paths -def get_runtime_paths(version: str = None, prefer_system_libs: bool = True, wine_path: str = None) -> List[str]: +def get_runtime_paths( + version: Optional[str] = None, prefer_system_libs: bool = True, wine_path: Optional[str] = None +) -> List[str]: """Return Lutris runtime paths""" version = version or DEFAULT_RUNTIME lutris_runtime_path = "%s-i686" % version @@ -106,7 +106,9 @@ def get_runtime_paths(version: str = None, prefer_system_libs: bool = True, wine return paths -def get_paths(version: str = None, prefer_system_libs: bool = True, wine_path: str = None) -> List[str]: +def get_paths( + version: Optional[str] = None, prefer_system_libs: bool = True, wine_path: Optional[str] = None +) -> List[str]: """Return a list of paths containing the runtime libraries.""" if not RUNTIME_DISABLED: paths = get_runtime_paths(version=version, prefer_system_libs=prefer_system_libs, wine_path=wine_path) @@ -159,21 +161,16 @@ def __init__(self, force: bool = False): if RUNTIME_DISABLED: logger.warning("Runtime disabled by environment variable. Re-enable runtime before submitting issues.") self.update_runtime = False - self.update_runners = False elif force: self.update_runtime = True - self.update_runners = True else: self.update_runtime = settings.read_bool_setting("auto_update_runtime", default=True) - wine_update_channel = settings.read_setting("wine-update-channel", default=UPDATE_CHANNEL_STABLE) - self.update_runners = wine_update_channel.casefold() == UPDATE_CHANNEL_STABLE if not self.update_runtime: logger.warning("Runtime updates are disabled. This configuration is not supported.") if not check_stale_runtime_versions(): self.update_runtime = False - self.update_runners = False if self.has_updates: self.runtime_versions = download_runtime_versions() @@ -182,7 +179,7 @@ def __init__(self, force: bool = False): @property def has_updates(self): - return self.update_runtime or self.update_runners + return self.update_runtime def create_component_updaters(self) -> List[ComponentUpdater]: """Creates the component updaters that need to be applied and returns them in a list. @@ -200,9 +197,6 @@ def create_component_updaters(self) -> List[ComponentUpdater]: if self.update_runtime: updaters += self._get_runtime_updaters(self.runtime_versions) - if self.update_runners: - updaters += self._get_runner_updaters(self.runtime_versions) - return [u for u in updaters if u.should_update] def check_client_versions(self) -> Optional[str]: @@ -244,36 +238,6 @@ def _get_runtime_updaters(runtime_versions: Dict[str, Any]) -> List[ComponentUpd return updaters - @staticmethod - def _get_runner_updaters(runtime_versions: Dict[str, Any]) -> List[ComponentUpdater]: - """Update installed runners (only works for Wine at the moment)""" - updaters: List[ComponentUpdater] = [] - upstream_runners = runtime_versions.get("runners", {}) - for name, runner_set in upstream_runners.items(): - if name != "wine": - continue - upstream_runner = None - for runner in runner_set: - if runner["architecture"] == LINUX_SYSTEM.arch: - upstream_runner = runner - - if upstream_runner: - updaters.append(RunnerComponentUpdater(name, upstream_runner)) - - for name, remote_runtime in runtime_versions.get("runtimes", {}).items(): - if remote_runtime["architecture"] == "x86_64" and not LINUX_SYSTEM.is_64_bit: - continue - - try: - # This one runtime is really a runner! - url = remote_runtime.get("url") - if url and "-proton" in os.path.basename(url).casefold(): - updaters.append(ProtonComponentUpdater(remote_runtime)) - except Exception as ex: - logger.exception("Unable to download %s: %s", name, ex) - - return updaters - class RuntimeComponentUpdater(ComponentUpdater): """A base class for component updates that use the timestamp from a runtime-info dict @@ -313,7 +277,7 @@ def get_progress(self) -> ProgressInfo: if self.state == ComponentUpdater.PENDING: return ProgressInfo(0.0, status_text) - return ProgressInfo(None, status_text) + return ProgressInfo(0, status_text) def get_updated_at(self) -> time.struct_time: """Return the modification date of the runtime folder""" @@ -440,35 +404,6 @@ def _extract(self, path: str) -> None: os.unlink(archive_path) -class ProtonComponentUpdater(RuntimeExtractedComponentUpdater): - """This is a special case updater for a runtime that is secretly a runner; - it's placed in subdirectory under ~/.local/share/lutris/runners/proton, - and with a custom directory name for some reason.""" - - def __init__(self, remote_runtime_info: Dict[str, Any]) -> None: - super().__init__(remote_runtime_info) - - @property - def should_update(self) -> bool: - wine_dir = os.path.join(settings.RUNNER_DIR, "wine") - return os.path.isdir(wine_dir) and super().should_update - - @property - def local_runtime_path(self) -> str: - """Return the local path for the runtime folder""" - return os.path.join(PROTON_DIR, self.name) - - @property - def archive_path(self): - return os.path.join(PROTON_DIR, os.path.basename(self.url)) - - def install_update(self, updater: RuntimeUpdater) -> None: - # This is a bit of a hack, but until Proton is a real runner we never really isntall it, so - # it's directory may not exist. So, we create it. - os.makedirs(PROTON_DIR, exist_ok=True) - return super().install_update(updater) - - class RuntimeFilesComponentUpdater(RuntimeComponentUpdater): """Component updaters that downloads a set of files described by the server individually.""" @@ -520,56 +455,3 @@ def _download_component(self, component: Dict[str, Any]) -> None: """Download an individual file from a runtime item""" file_path = os.path.join(self.local_runtime_path, component["filename"]) http.download_file(component["url"], file_path) - - -class RunnerComponentUpdater(ComponentUpdater): - """Component updaters that downloads new versions of runners. These are download - as archives and extracted into place.""" - - def __init__(self, name: str, upstream_runner: Dict[str, Any]): - self._name = name - self.upstream_runner = upstream_runner - self.runner_version = format_runner_version(upstream_runner) - self.version_path = os.path.join(settings.RUNNER_DIR, name, self.runner_version) - self.downloader: Downloader = None - self.state = ComponentUpdater.PENDING - - @property - def name(self) -> str: - return self._name - - @property - def should_update(self): - # This has the responsibility to update existing runners, not installing new ones - runner_base_path = os.path.join(settings.RUNNER_DIR, self.name) - return system.path_exists(runner_base_path) and not system.path_exists(self.version_path) - - def install_update(self, updater: "RuntimeUpdater") -> None: - url = self.upstream_runner["url"] - archive_download_path = os.path.join(settings.TMP_DIR, os.path.basename(url)) - self.state = ComponentUpdater.DOWNLOADING - self.downloader = Downloader(self.upstream_runner["url"], archive_download_path) - self.downloader.start() - self.downloader.join() - if self.downloader.state == self.downloader.COMPLETED: - self.downloader = None - self.state = ComponentUpdater.EXTRACTING - extract_archive(archive_download_path, self.version_path) - clear_wine_version_cache() - - os.remove(archive_download_path) - self.state = ComponentUpdater.COMPLETED - - def get_progress(self) -> ProgressInfo: - status_text = ComponentUpdater.status_formats[self.state] % self.name - d = self.downloader - if d: - return ProgressInfo(d.progress_fraction, status_text, d.cancel) - - if self.state == ComponentUpdater.EXTRACTING: - return ProgressInfo(None, status_text) - - if self.state == ComponentUpdater.COMPLETED: - return ProgressInfo.ended(status_text) - - return ProgressInfo(0.0, status_text) diff --git a/lutris/scanners/retroarch.py b/lutris/scanners/retroarch.py index 3267f616d7..717fe0a854 100644 --- a/lutris/scanners/retroarch.py +++ b/lutris/scanners/retroarch.py @@ -30,7 +30,8 @@ "F", "U", "E", - "UE" "W", + "UE", + "W", "M3", ] diff --git a/lutris/search.py b/lutris/search.py index 8759123db0..949eb6a591 100644 --- a/lutris/search.py +++ b/lutris/search.py @@ -355,7 +355,7 @@ def is_installed(db_game): return FlagPredicate(installed, lambda db_game: bool(db_game["installed"]), tag="installed") def get_categorized_predicate(self, categorized: Optional[bool]) -> SearchPredicate: - uncategorized_ids = set(get_uncategorized_game_ids()) + uncategorized_ids = get_uncategorized_game_ids() def is_categorized(db_game): return db_game["id"] not in uncategorized_ids diff --git a/lutris/services/__init__.py b/lutris/services/__init__.py index e998a52ab0..0c3ccba173 100644 --- a/lutris/services/__init__.py +++ b/lutris/services/__init__.py @@ -16,6 +16,7 @@ from lutris.services.mame import MAMEService from lutris.services.scummvm import SCUMMVM_CONFIG_FILE, ScummvmService from lutris.services.steam import SteamService +from lutris.services.steamfamily import SteamFamilyService from lutris.services.steamwindows import SteamWindowsService from lutris.services.ubisoft import UbisoftConnectService from lutris.services.xdg import XDGService @@ -45,6 +46,7 @@ def get_services(): if LINUX_SYSTEM.has_steam(): _services["steam"] = SteamService _services["steamwindows"] = SteamWindowsService + _services["steamfamily"] = SteamFamilyService if system.path_exists(DOLPHIN_GAME_CACHE_FILE): _services["dolphin"] = DolphinService if system.path_exists(SCUMMVM_CONFIG_FILE): diff --git a/lutris/services/amazon.py b/lutris/services/amazon.py index d7c8fdac5a..035c5169d5 100644 --- a/lutris/services/amazon.py +++ b/lutris/services/amazon.py @@ -90,7 +90,7 @@ class AmazonService(OnlineService): serial = None verifier = None - redirect_uri = "https://www.amazon.com/?" + redirect_uris = ["https://www.amazon.com/?"] cookies_path = os.path.join(settings.CACHE_DIR, ".amazon.auth") user_path = os.path.join(settings.CACHE_DIR, ".amazon.user") @@ -516,7 +516,7 @@ def get_file_patch(self, access_token, game_id, version, file_hashes): try: return self.request_sds( - "com.amazonaws.gearbox." "softwaredistribution.service.model." "SoftwareDistributionService.GetPatches", + "com.amazonaws.gearbox.softwaredistribution.service.model.SoftwareDistributionService.GetPatches", access_token, request_data, ) diff --git a/lutris/services/base.py b/lutris/services/base.py index 8aa4aebba5..6ba86346b9 100644 --- a/lutris/services/base.py +++ b/lutris/services/base.py @@ -55,6 +55,9 @@ def custom_media_storage_size(self): def run_system_update_desktop_icons(self): system.update_desktop_icons() + def get_fallback_media_path(self, services): + return None + class LutrisCoverart(ServiceMedia): service = "lutris" @@ -317,7 +320,6 @@ def get_service_installers(self, db_game, update): service_installers.extend(installers) if not service_installers: logger.error("No installer found for %s", db_game) - return return service_installers, db_game, None def install(self, db_game, update=False): @@ -383,7 +385,7 @@ def add_installed_games(self): """Services can implement this method to scan for locally installed games and add them to lutris. - This runs on a worker thread, and must trigger UI actions - + This runs on a worker thread, and must no trigger UI actions - so no emitting signals here. """ @@ -434,6 +436,7 @@ class OnlineService(BaseService): login_window_width = 390 login_window_height = 500 login_user_agent = settings.DEFAULT_USER_AGENT + redirect_uris = NotImplemented @property def credential_files(self): @@ -458,12 +461,12 @@ def login(self, parent=None): @property def is_login_in_progress(self) -> bool: - """Set to true if the login process is underway; the credential files make be created at this + """Set to true if the login process is underway; the credential files may be created at this time, but that does not count as 'authenticated' until the login process is over. This is used by WebConnectDialog since it creates its cookies before the login is actually complete. This is recorded with a file in ~/.cache/lutris so it will persist across Lutris - restarted, just as the credentials themselves do. For this reason, we need to allow + restarts, just as the credentials themselves do. For this reason, we need to allow the user to login again even when a login is in progress.""" return self._get_login_in_progress_path().exists() diff --git a/lutris/services/battlenet.py b/lutris/services/battlenet.py index a4b4ba04c6..153d7dbaa7 100644 --- a/lutris/services/battlenet.py +++ b/lutris/services/battlenet.py @@ -110,7 +110,7 @@ class BattleNetService(BaseService): client_installer = "battlenet" cookies_path = os.path.join(settings.CACHE_DIR, ".bnet.auth") cache_path = os.path.join(settings.CACHE_DIR, "bnet-library.json") - redirect_uri = "https://lutris.net" + redirect_uris = ["https://lutris.net"] @property def battlenet_config_path(self): @@ -123,7 +123,7 @@ def load(self): return games def add_installed_games(self): - """Scan an existing EGS install for games""" + """Scan an existing Battle.net install for games""" bnet_game = get_game_by_field(self.client_installer, "slug") if not bnet_game: raise RuntimeError("Battle.net is not installed in Lutris") @@ -168,11 +168,11 @@ def install_from_battlenet(self, bnet_game, game): def get_installed_slug(self, db_game): return db_game["slug"] - def generate_installer(self, db_game, egs_db_game): - egs_game = Game(egs_db_game["id"]) - egs_exe = egs_game.config.game_config["exe"] - if not os.path.isabs(egs_exe): - egs_exe = os.path.join(egs_game.config.game_config["prefix"], egs_exe) + def generate_installer(self, db_game, bnet_db_game): + bnet_app = Game(bnet_db_game["id"]) + bnet_exe = bnet_app.config.game_config["exe"] + if not os.path.isabs(bnet_exe): + bnet_exe = os.path.join(bnet_app.config.game_config["prefix"], bnet_exe) return { "name": db_game["name"], "version": self.name, @@ -189,9 +189,9 @@ def generate_installer(self, db_game, egs_db_game): { "task": { "name": "wineexec", - "executable": egs_exe, + "executable": bnet_exe, "args": '--exec="install %s"' % db_game["appid"], - "prefix": egs_game.config.game_config["prefix"], + "prefix": bnet_app.config.game_config["prefix"], "description": ( "Battle.net will now open. Please launch " "the installation of %s then close Battle.net " diff --git a/lutris/services/dolphin.py b/lutris/services/dolphin.py index 84e8339678..aabfdd3322 100644 --- a/lutris/services/dolphin.py +++ b/lutris/services/dolphin.py @@ -104,7 +104,7 @@ def get_game_name(cache_entry): def get_banner(self, cache_entry): banner = DolphinBanner() - banner_path = banner.get_possible_media_paths(self.appid)[0] # Dolphin only supports one media type + banner_path = banner.get_possible_media_paths(self.appid)[0].path # Dolphin only supports one media type if os.path.exists(banner_path): return banner_path diff --git a/lutris/services/ea_app.py b/lutris/services/ea_app.py index 9f06e9361a..cc63d8ec44 100644 --- a/lutris/services/ea_app.py +++ b/lutris/services/ea_app.py @@ -2,7 +2,6 @@ import json import os -import random import ssl from gettext import gettext as _ from typing import Any, Dict, Optional @@ -56,51 +55,45 @@ def get_installed_games_content_ids(self): return installed_game_ids -class EAAppArtSmall(ServiceMedia): +class EAAppMedia(ServiceMedia): service = "ea_app" file_patterns = ["%s.jpg"] - size = (63, 89) - dest_path = os.path.join(settings.CACHE_DIR, "ea_app/pack-art-small") - api_field = "packArtSmall" + name = NotImplemented + + @property + def dest_path(self): + return os.path.join(settings.CACHE_DIR, self.service, self.name) def get_media_url(self, details: Dict[str, Any]) -> Optional[str]: - image_server = details.get("imageServer") - if not image_server: - logger.warning("No field 'imageServer' in API game %s", details) - return None - i18n = details.get("i18n") - if not i18n: - logger.warning("No field 'i18n' in API game %s", details) - return None - field = i18n.get(self.api_field) - if not field: - logger.warning("No field 'i18n.%s' in API game %s", self.api_field, details) - return None - return image_server + field + image = details["baseItem"][self.name]["largestImage"] + return image.get("path", None) if image is not None else None + +class EAAppKeyArt(EAAppMedia): + name = "keyArt" + size = (192, 108) -class EAAppArtMedium(EAAppArtSmall): - size = (142, 200) - dest_path = os.path.join(settings.CACHE_DIR, "ea_app/pack-art-medium") - api_field = "packArtMedium" +class EAAppPackArt(EAAppMedia): + name = "packArt" + size = (135, 240) -class EAAppArtLarge(EAAppArtSmall): - size = (231, 326) - dest_path = os.path.join(settings.CACHE_DIR, "ea_app/pack-art-large") - api_field = "packArtLarge" + +class EAAppPrimaryLogo(EAAppMedia): + name = "primaryLogo" + size = (200, 100) class EAAppGame(ServiceGame): service = "ea_app" @classmethod - def new_from_api(cls, offer): + def new_from_api(cls, game): ea_game = EAAppGame() - ea_game.appid = offer["contentId"] - ea_game.slug = offer["gameNameFacetKey"] - ea_game.name = offer["i18n"]["displayName"] - ea_game.details = json.dumps(offer) + ea_game.appid = game["contentId"] + ea_game.slug = game["gameSlug"] + ea_game.name = game["baseItem"]["title"] + ea_game.details = json.dumps(game) return ea_game @@ -153,23 +146,24 @@ class EAAppService(OnlineService): runner = "wine" online = True medias = { - "packArtSmall": EAAppArtSmall, - "packArtMedium": EAAppArtMedium, - "packArtLarge": EAAppArtLarge, + "keyArt": EAAppKeyArt, + "packArt": EAAppPackArt, + "primaryLogo": EAAppPrimaryLogo, } - default_format = "packArtMedium" + default_format = "keyArt" cache_path = os.path.join(settings.CACHE_DIR, "ea_app/cache/") cookies_path = os.path.join(settings.CACHE_DIR, "ea_app/cookies") token_path = os.path.join(settings.CACHE_DIR, "ea_app/auth_token") origin_redirect_uri = "https://www.origin.com/views/login.html" login_url = "https://www.ea.com/login" - redirect_uri = "https://www.ea.com/" + redirect_uris = ["https://www.ea.com/"] origin_login_url = ( "https://accounts.ea.com/connect/auth" "?response_type=code&client_id=ORIGIN_SPA_ID&display=originXWeb/login" "&locale=en_US&release_type=prod" "&redirect_uri=%s" ) % origin_redirect_uri + api_url = "https://service-aggregation-layer.juno.ea.com/graphql" login_user_agent = settings.DEFAULT_USER_AGENT + " QtWebEngine/5.8.0" def __init__(self): @@ -180,8 +174,10 @@ def __init__(self): self.access_token = self.load_access_token() @property - def api_url(self): - return "https://api%s.origin.com" % random.randint(1, 4) + def api_headers(self): + headers = {"User-Agent": self.login_user_agent} + headers.update(self.get_auth_headers()) + return headers def is_connected(self): return bool(self.access_token) @@ -205,6 +201,16 @@ def load_access_token(self): token_data = json.load(token_file) return token_data.get("access_token", "") + def fetch_api(self, query, params: dict = None): + result = self.session.post( + self.api_url, headers=self.api_headers, json={"query": query, "variables": params or {}} + ).json() + + if "errors" in result: + raise RuntimeError("Errors occurred while running an EA api query.", result["errors"]) + + return result + def get_access_token(self): """Request an access token from EA""" response = self.session.get( @@ -241,19 +247,11 @@ def get_identity(self): if "error" in identity_data: raise RuntimeError(identity_data["error"]) - try: - user_id = identity_data["pid"]["pidId"] - except KeyError: - logger.error("Can't read user ID from %s", identity_data) - raise - - persona_id_response = self.session.get( - "{}/atom/users?userIds={}".format(self.api_url, user_id), headers=self.get_auth_headers() - ) - content = persona_id_response.text - ea_account_info = ElementTree.fromstring(content) - persona_id = ea_account_info.find("user").find("personaId").text - user_name = ea_account_info.find("user").find("EAID").text + + player = self.fetch_api("query{me{player{pd psd displayName}}}")["data"]["me"]["player"] + user_id = player["pd"] + persona_id = player["psd"] + user_name = player["displayName"] return str(user_id), str(persona_id), str(user_name) def load(self): @@ -269,29 +267,118 @@ def load(self): def get_library(self, user_id): """Load EA library""" - offers = [] - for entitlement in self.get_entitlements(user_id): - if entitlement["offerType"] != "basegame": + chunk_size = 100 + games = [] + entitlements = list( + filter( + lambda e: e["product"] is not None and e["product"]["baseItem"]["gameType"] == "BASE_GAME", + self.get_entitlements(user_id), + ) + ) + for chunk in [entitlements[i : i + chunk_size] for i in range(0, len(entitlements), chunk_size)]: + games += self.get_games([e["originOfferId"] for e in chunk]) + return games + + def get_games(self, offer_ids): + """Load game details from EA""" + result = self.fetch_api( + """query getOffers($offerIds: [String!]!) { + legacyOffers(offerIds: $offerIds, locale: "DEFAULT") { + offerId: id + contentId + } + gameProducts(offerIds: $offerIds, locale: "DEFAULT") { + items { + id + originOfferId + gameSlug + baseItem { + keyArt { + largestImage { path } + } + packArt { + largestImage { path } + } + primaryLogo { + largestImage { path } + } + title + } + } + } + } + """, + params={"offerIds": offer_ids}, + ) + + games = [] + legacy_offers = result["data"].get("legacyOffers") + game_products = (result["data"].get("gameProducts") or {}).get("items", []) + by_offer = {p.get("originOfferId"): p for p in game_products if isinstance(p, dict) and p.get("originOfferId")} + by_product_id = {p.get("id"): p for p in game_products if isinstance(p, dict) and p.get("id")} + + for legacy_offer in legacy_offers: + if not isinstance(legacy_offer, dict): continue - offer_id = entitlement["offerId"] - offer = self.get_offer(offer_id) - offers.append(offer) - return offers - - def get_offer(self, offer_id): - """Load offer details from EA""" - url = "{}/ecommerce2/public/supercat/{}/{}".format(self.api_url, offer_id, "en_US") - response = self.session.get(url, headers=self.get_auth_headers()) - return response.json() + offer_id = legacy_offer["offerId"] + content_id = legacy_offer["contentId"] + if not offer_id: + continue + product = ( + by_offer.get(offer_id) + or (content_id and by_product_id.get(content_id)) + or by_product_id.get(offer_id) + or {} + ) + # Certain games will have identification data but without any product information. + # Skip those. + if not product: + continue + game = {"contentId": content_id} + game.update(product) + games.append(game) + return games def get_entitlements(self, user_id): """Request the user's entitlements""" - url = "%s/ecommerce2/consolidatedentitlements/%s?machine_hash=1" % (self.api_url, user_id) - headers = self.get_auth_headers() - headers["Accept"] = "application/vnd.origin.v3+json; x-cache/force-write" - response = self.session.get(url, headers=headers) - data = response.json() - return data["entitlements"] + games = [] + variables = {"limit": 100} + while True: + result = self.fetch_api( + """query getEntitlements($limit: Int, $next: String) { + me { + ownedGameProducts( + locale: "DEFAULT" + entitlementEnabled: true + storefronts: [EA] + type: [DIGITAL_FULL_GAME, PACKAGED_FULL_GAME] + platforms: [PC] + paging: { + limit: $limit, + next: $next + } + ) { + next, + items { + originOfferId + product { + baseItem { + gameType + } + } + } + } + } + }""", + params=variables, + ) + + products = result["data"]["me"]["ownedGameProducts"] + variables["next"] = products["next"] + games += products["items"] + if products["next"] is None: + break + return games def get_auth_headers(self): """Return headers needed to authenticate HTTP requests""" diff --git a/lutris/services/egs.py b/lutris/services/egs.py index fbf811392a..85af7c2f5a 100644 --- a/lutris/services/egs.py +++ b/lutris/services/egs.py @@ -165,7 +165,7 @@ class EpicGamesStoreService(OnlineService): "https%3A//www.epicgames.com/id/api/redirect%3F" "clientId%3D34a02cf8f4414e29b15921876da36f9a%26responseType%3Dcode" ) - redirect_uri = "https://www.epicgames.com/id/api/redirect" + redirect_uris = ["https://www.epicgames.com/id/api/redirect"] oauth_url = "https://account-public-service-prod03.ol.epicgames.com" catalog_url = "https://catalog-public-service-prod06.ol.epicgames.com" library_url = "https://library-service.live.use1a.on.epicgames.com" @@ -416,4 +416,4 @@ def install(self, db_game): def get_launch_arguments(app_name, action="launch"): - return ("-opengl" " -SkipBuildPatchPrereq" " -com.epicgames.launcher://apps/%s?action=%s") % (app_name, action) + return ("-opengl -SkipBuildPatchPrereq -com.epicgames.launcher://apps/%s?action=%s") % (app_name, action) diff --git a/lutris/services/flathub.py b/lutris/services/flathub.py index 2f8933a2a4..ed44cf19db 100644 --- a/lutris/services/flathub.py +++ b/lutris/services/flathub.py @@ -57,7 +57,7 @@ class FlathubService(BaseService): icon = "flathub" medias = {"banner": FlathubBanner} default_format = "banner" - api_url = "https://flathub.org/api/v2/category/game" + api_url = "https://flathub.org/api/v2/collection/category/game" cache_path = os.path.join(settings.CACHE_DIR, "flathub-library.json") branch = "stable" diff --git a/lutris/services/gog.py b/lutris/services/gog.py index 21acc4b4a9..e193de85d7 100644 --- a/lutris/services/gog.py +++ b/lutris/services/gog.py @@ -88,7 +88,7 @@ class GOGService(OnlineService): client_id = "46899977096215655" client_secret = "9d85c43b1482497dbbce61f6e4aa173a433796eeae2ca8c5f6129f2dc4de46d9" - redirect_uri = "https://embed.gog.com/on_login_success?origin=client" + redirect_uris = ["https://embed.gog.com/on_login_success?origin=client"] login_success_url = "https://www.gog.com/on_login_success" cookies_path = os.path.join(settings.CACHE_DIR, ".gog.auth") @@ -116,7 +116,7 @@ def login_url(self): params = { "client_id": self.client_id, "layout": "client2", - "redirect_uri": self.redirect_uri, + "redirect_uri": self.redirect_uris[0], "response_type": "code", } return "https://auth.gog.com/auth?" + urlencode(params) @@ -170,7 +170,7 @@ def request_token(self, url: str = "", refresh_token: str = "") -> None: return extra_params = { "code": response_params["code"], - "redirect_uri": self.redirect_uri, + "redirect_uri": self.redirect_uris[0], } params = { @@ -180,7 +180,7 @@ def request_token(self, url: str = "", refresh_token: str = "") -> None: } params.update(extra_params) url = "https://auth.gog.com/token?" + urlencode(params) - request = Request(url) + request = Request(url, redacted_query_parameters=("refresh_token", "code")) try: request.get() except HTTPError as http_error: diff --git a/lutris/services/humblebundle.py b/lutris/services/humblebundle.py index c1ad86b082..4daf088835 100644 --- a/lutris/services/humblebundle.py +++ b/lutris/services/humblebundle.py @@ -33,6 +33,9 @@ class HumbleBundleIcon(ServiceMedia): class HumbleSmallIcon(HumbleBundleIcon): size = (35, 35) + def get_fallback_media_path(self, services): + return None + class HumbleBigIcon(HumbleBundleIcon): size = (105, 105) @@ -68,7 +71,7 @@ class HumbleBundleService(OnlineService): api_url = "https://www.humblebundle.com/" login_url = "https://www.humblebundle.com/login?goto=/home/library" - redirect_uri = "https://www.humblebundle.com/home/library" + redirect_uris = ["https://www.humblebundle.com/home/library"] cookies_path = os.path.join(settings.CACHE_DIR, ".humblebundle.auth") token_path = os.path.join(settings.CACHE_DIR, ".humblebundle.token") diff --git a/lutris/services/itchio.py b/lutris/services/itchio.py index 3978ee4df1..acd6964e16 100644 --- a/lutris/services/itchio.py +++ b/lutris/services/itchio.py @@ -7,9 +7,12 @@ from typing import Any, Dict, List, Optional from urllib.parse import quote_plus, urlencode +from gi.repository import Gtk + from lutris import settings from lutris.database import games as games_db from lutris.exceptions import UnavailableGameError +from lutris.gui.dialogs import InputDialog from lutris.installer import AUTO_ELF_EXE, AUTO_WIN32_EXE from lutris.installer.installer_file import InstallerFile from lutris.runners import get_runner_human_name @@ -73,20 +76,6 @@ def new(cls, igame): return service_game -class ItchIoGameTraits: - """Game Traits Helper Class""" - - def __init__(self, traits): - self._traits = traits - self.windows = bool("p_windows" in traits) - self.linux = bool("p_linux" in traits) - self.can_be_bought = bool("can_be_bought" in traits) - self.has_demo = bool("has_demo" in traits) - - def has_supported_platform(self): - return self.windows or self.linux - - class ItchIoService(OnlineService): """Service class for itch.io""" @@ -106,17 +95,19 @@ class ItchIoService(OnlineService): api_url = "https://api.itch.io" login_url = "https://itch.io/login" - redirect_uri = "https://itch.io/my-feed" - cookies_path = os.path.join(settings.CACHE_DIR, ".itchio.auth") + redirect_uris = ["https://itch.io/my-feed", "https://itch.io/dashboard"] cache_path = os.path.join(settings.CACHE_DIR, "itchio/api/") + api_key_path = os.path.join(settings.CACHE_DIR, "itchio/api-key") # must be kept outside of cache-path key_cache_file = os.path.join(cache_path, "profile/owned-keys.json") collection_list_cache_file = os.path.join(cache_path, "profile/collections.json") games_cache_path = os.path.join(cache_path, "games/") collection_cache_path = os.path.join(cache_path, "collections/") key_cache = {} - supported_platforms = ("p_linux", "p_windows") + runners_by_trait = {"p_linux": "linux", "p_windows": "wine"} + platforms_by_runner = {"wine": "Windows", "linux": "Linux"} + extra_types = ( "soundtrack", "book", @@ -129,9 +120,59 @@ class ItchIoService(OnlineService): "other", ) - def login_callback(self, url): - """Called after the user has logged in successfully""" - SERVICE_LOGIN.fire(self) + def login(self, parent=None): + # The InputDialog doesn't keep any state we need to protect, + # but we used to so we'll clear this persistent flag. + self.is_login_in_progress = False + + question = _( + "Lutris needs an API key to connect to itch.io. You can obtain one\n" + "from the itch.io API keys page.\n\n" + "You should give Lutris its own API key instead of sharing them." + ) + + api_key_dialog = InputDialog( + { + "parent": parent, + "question": question, + "title": _("Itch.io API key"), + "initial_value": "", + } + ) + + result = api_key_dialog.run() + if result != Gtk.ResponseType.OK: + api_key_dialog.destroy() + self.logout() + return + + api_key = api_key_dialog.user_value + + if api_key: + with open(self.api_key_path, "w") as key_file: + key_file.write(api_key) + SERVICE_LOGIN.fire(self) + else: + self.logout() + + @property + def credential_files(self): + """Return a list of all files used for authentication""" + return [self.api_key_path] + + def load_api_key(self) -> Optional[str]: + if not os.path.exists(self.api_key_path): + return None + + with open(self.api_key_path, "r") as key_file: + return key_file.read() + + def get_headers(self): + api_key = self.load_api_key() + if api_key: + return {"Authorization": f"Bearer {api_key}"} + else: + return {} def is_connected(self): """Check if service is connected and can call the API""" @@ -168,7 +209,10 @@ def make_api_request(self, path, query=None): if query is not None and isinstance(query, dict): url += "?{}".format(urlencode(query, quote_via=quote_plus)) try: - request = Request(url, cookies=self.load_cookies()) + request = Request( + url, + headers=self.get_headers(), + ) request.get() return request.json except UnauthorizedAccessError: @@ -330,9 +374,9 @@ def get_games_in_collections(self, collection_list: list, force_load=False): safety -= 1 # filter out bad data for safety - collection["games"] = list( - filter(lambda col_game: "game" in col_game and "id" in col_game["game"], collection["games"]) - ) + collection["games"] = [ + col_game for col_game in collection["games"] if "game" in col_game and "id" in col_game["game"] + ] # try to get download keys from cache for col_game in collection["games"]: @@ -374,31 +418,27 @@ def get_collection_list(self, force_load=False): def get_games(self): """Return games from the user's library""" - # get and cache owned games + # get and cache owned games; this populates collections.json for later owned_games = self.get_owned_games() # get all collections collections = self.get_collection_list() - # if there is only one collecion, use owned games and this collection - if len(collections) == 1: - games = owned_games + self.get_games_in_collections(collections) + # if there are collections titled "lutris" (case insestitive) we use only these + lutris_collections = [col for col in collections if col.get("title", "").casefold() == "lutris" and "id" in col] + + if len(lutris_collections) > 0: + games = self.get_games_in_collections(lutris_collections) else: - # if there are collections titled "lutris" (case insestitive) we use only these - lutris_collections = list( - filter(lambda col: col.get("title", "").lower() == "lutris" and "id" in col, collections) - ) - if len(lutris_collections) > 0: - games = self.get_games_in_collections(lutris_collections) - # otherwise we just use all owned games - else: - games = self.get_owned_games() + # otherwise, dig up every game we can find! + games = owned_games + self.get_games_in_collections(collections) filtered_games = [] for game in games: - traits = game.get("traits", {}) - if any(platform in traits for platform in self.supported_platforms): - filtered_games.append(game) + classification = game.get("classification") + if not classification or classification == "game": + if self._get_detail_runners(game): + filtered_games.append(game) return filtered_games def get_key(self, appid): @@ -461,17 +501,45 @@ def get_extras(self, appid): all_extras["Bonus Content"] = extras return all_extras + @staticmethod + def _get_detail_runners(details: Dict[str, Any], fix_missing_platforms: bool = True) -> List[str]: + """Extracts the runners available for a given game, given its details. + This test the traits for specific platforms, and returns the runners + in a priority order- Linux is first, which occasionally matters. + + Normally, if a game has no platforms we'll assume a default set of runners, + but 'fix_missing_platforms' may be set to false to turn this off.""" + runners = [] + traits = details["traits"] + traits.clear + for trait, runner in ItchIoService.runners_by_trait.items(): + if trait in traits: + runners.append(runner) + + # Special case- some games don't list platform at all. If the game has + # no "p_" traits- not even "p_osx"- we can assume *all* our platforms are + # supported and hope for the best! + + if fix_missing_platforms and not runners: + if not any(t for t in traits if t.startswith("p_")): + logger.warning( + "The itch.io game '%s' has no platforms lists; Lutris will assume all supported runners will work.", + details.get("title"), + ) + return list(ItchIoService.runners_by_trait.values()) + + return runners + def get_installed_slug(self, db_game): return db_game["slug"] def generate_installer(self, db_game: Dict[str, Any]) -> Dict[str, Any]: """Auto generate installer for itch.io game""" details = json.loads(db_game["details"]) + runners = self._get_detail_runners(details) - if "p_linux" in details["traits"]: - return self._generate_installer("linux", db_game) - elif "p_windows" in details["traits"]: - return self._generate_installer("wine", db_game) + if runners: + return self._generate_installer(runners[0], db_game) logger.warning("No supported platforms found") return {} @@ -480,13 +548,8 @@ def generate_installers(self, db_game: Dict[str, Any]) -> List[dict]: """Auto generate installer for itch.io game""" details = json.loads(db_game["details"]) - installers = [] - - if "p_linux" in details["traits"]: - installers.append(self._generate_installer("linux", db_game)) - - if "p_windows" in details["traits"]: - installers.append(self._generate_installer("wine", db_game)) + runners = self._get_detail_runners(details) + installers = [self._generate_installer(runner, db_game) for runner in runners] if len(installers) > 1: for installer in installers: @@ -523,27 +586,16 @@ def _generate_installer(self, runner, db_game: Dict[str, Any]) -> Dict[str, Any] }, } - def get_installed_runner_name(self, db_game): + def get_installed_runner_name(self, db_game: Dict[str, Any]) -> str: details = json.loads(db_game["details"]) - - if "p_linux" in details["traits"]: - return "linux" - if "p_windows" in details["traits"]: - return "wine" - - return "" + runners = self._get_detail_runners(details) + return runners[0] if runners else "" def get_game_platforms(self, db_game: dict) -> List[str]: - platforms = [] details = json.loads(db_game["details"]) - if "p_linux" in details["traits"]: - platforms.append("Linux") - - if "p_windows" in details["traits"]: - platforms.append("Windows") - - return platforms + runners = self._get_detail_runners(details, fix_missing_platforms=False) + return [self.platforms_by_runner[r] for r in runners] def _check_update_with_db(self, db_game, key, upload=None): stamp = 0 @@ -634,7 +686,7 @@ def get_update_installers(self, db_game): "url": patch_url, "filename": "update.zip", "downloader": lambda f, url=patch_url: Downloader( - url, f.download_file, overwrite=True, cookies=self.load_cookies() + url, f.download_file, overwrite=True, headers=self.get_headers() ), } } @@ -698,12 +750,11 @@ def get_installer_files(self, installer, installer_file_id, selected_extras): continue # default = games/tools ("executables") if upload["type"] == "default" and (installer.runner in ("linux", "wine")): - is_linux = installer.runner == "linux" and "p_linux" in upload["traits"] - is_windows = installer.runner == "wine" and "p_windows" in upload["traits"] - is_demo = "demo" in upload["traits"] - if not (is_linux or is_windows): + upload_runners = self._get_detail_runners(upload) + if installer.runner not in upload_runners: continue + is_demo = "demo" in upload["traits"] upload["Weight"] = self.get_file_weight(upload["filename"], is_demo) if upload["Weight"] == 0xFF: continue @@ -740,7 +791,7 @@ def get_installer_files(self, installer, installer_file_id, selected_extras): "url": link, "filename": filename or file.filename or "setup.zip", "downloader": lambda f, url=link: Downloader( - url, f.download_file, overwrite=True, cookies=self.load_cookies() + url, f.download_file, overwrite=True, headers=self.get_headers() ), }, ) @@ -758,7 +809,7 @@ def get_installer_files(self, installer, installer_file_id, selected_extras): "url": link, "filename": extra["filename"], "downloader": lambda f, url=link: Downloader( - url, f.download_file, overwrite=True, cookies=self.load_cookies() + url, f.download_file, overwrite=True, headers=self.get_headers() ), }, ) diff --git a/lutris/services/service_media.py b/lutris/services/service_media.py index 66b7977478..cff36fe761 100644 --- a/lutris/services/service_media.py +++ b/lutris/services/service_media.py @@ -2,7 +2,7 @@ import os import random import time -from typing import Any, Dict, List, Optional +from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, List, Optional, Tuple from lutris.database.services import ServiceGameCollection from lutris.util import system @@ -10,14 +10,53 @@ from lutris.util.log import logger from lutris.util.portals import TrashPortal +if TYPE_CHECKING: + from lutris.services.base import BaseService -def resolve_media_path(possible_paths: List[str]) -> str: + +class MediaPath: + """An object to describe a media file along with the media size- which + is defined by Lutris, not the size of the image in the file. Note that + the file may not exist.""" + + def __init__(self, path: str, service_media: "ServiceMedia", size: Optional[Tuple[int, int]] = None): + self.path = path + self.service_media = service_media + self.size = size or service_media.size + + @property + def width(self) -> int: + return self.size[0] + + @property + def height(self) -> int: + return self.size[1] + + @property + def exists(self) -> bool: + return system.path_exists(self.path, exclude_empty=True) and os.path.isfile(self.path) + + def scale_to_fit(self, max_size: Tuple[int, int]) -> "MediaPath": + if max_size != self.size: + x_factor = max_size[0] / self.width + y_factor = max_size[1] / self.height + factor = min(x_factor, y_factor) + scaled_width = int(self.width * factor) + scaled_height = int(self.height * factor) + return MediaPath(self.path, self.service_media, (scaled_width, scaled_height)) + return self + + def __repr__(self) -> str: + return self.path + + +def resolve_media_path(possible_paths: List[MediaPath]) -> MediaPath: """Selects the best path from a list of paths to media. This will take the first one that exists and has contents, or the just first one if none are usable.""" if len(possible_paths) > 1: - for path in possible_paths: - if system.path_exists(path, exclude_empty=True) and os.path.isfile(path): - return path + for mp in possible_paths: + if mp.exists: + return mp elif not possible_paths: raise ValueError("resolve_media_path() requires at least one path.") @@ -43,20 +82,47 @@ def __init__(self): def get_filename(self, slug): return self.file_patterns[0] % slug - def get_possible_media_paths(self, slug: str) -> List[str]: + def get_possible_media_paths(self, slug: str) -> List[MediaPath]: """Returns a list of each path where the media might be found. At most one of these should be found, but they are in a priority order - the first is in the preferred format.""" - return [os.path.join(self.dest_path, pattern % slug) for pattern in self.file_patterns] + return [MediaPath(os.path.join(self.dest_path, pattern % slug), self) for pattern in self.file_patterns] + + def get_fallback_media_path( + self, services: Iterable[Tuple["BaseService", Callable[[], str]]] + ) -> Optional[MediaPath]: + """Returns the media path to use when none of the possible paths (above) actually exist. + This may be scaled down so it no taller than this media's height. + + This method finds the media that is nearest to the size of this media, and + then evaluates the provided callables to obtain slugs, starting with the nearest + match. As soon as it finds a media that exists, it will return it. If it finds + none, it returns None. + """ + + medias = [(mt(), t[1]) for t in services for mt in t[0].medias.values()] + + def similarity(media: Tuple[ServiceMedia, Callable[[], str]]) -> int: + diff = abs(media[0].size[1] - self.size[1]) + return diff if media[0].size[1] >= self.size[1] else diff + 1000 + + for media, slug_function in sorted(medias, key=similarity): + slug = slug_function() + if slug: + for mp in media.get_possible_media_paths(slug): + if mp.exists: + return mp.scale_to_fit(self.size) + + return None def trash_media( self, slug: str, - completion_function: TrashPortal.CompletionFunction = None, - error_function: TrashPortal.ErrorFunction = None, + completion_function: Optional[TrashPortal.CompletionFunction] = None, + error_function: Optional[TrashPortal.ErrorFunction] = None, ) -> None: """Sends each media file for a game to the trash, and invokes callsbacks when this has been completed or has failed.""" - paths = [path for path in self.get_possible_media_paths(slug) if os.path.exists(path)] + paths = [mp.path for mp in self.get_possible_media_paths(slug) if os.path.exists(mp.path)] if paths: TrashPortal(paths, completion_function=completion_function, error_function=error_function) elif completion_function: diff --git a/lutris/services/steamfamily.py b/lutris/services/steamfamily.py new file mode 100644 index 0000000000..d951caedeb --- /dev/null +++ b/lutris/services/steamfamily.py @@ -0,0 +1,154 @@ +"""Steam Family service""" + +import json +import os +from gettext import gettext as _ + +import requests + +from lutris import settings +from lutris.services.base import SERVICE_LOGIN, AuthTokenExpiredError, OnlineService +from lutris.services.steam import SteamGame, SteamService +from lutris.util.log import logger +from lutris.util.steam.config import get_active_steamid64, get_steam_library + + +class SteamFamilyGame(SteamGame): + service = "steamfamily" + installer_slug = "steam" + runner = "steam" + + @classmethod + def new_from_steamfamily_game(cls, game): + """Return a Steam Family game instance from an AppManifest""" + game = cls.new_from_steam_game(game) + game.service = cls.service + return game + + +class SteamFamilyService(SteamService, OnlineService): + """Service class for Steam Family sharing""" + + id = "steamfamily" + name = _("Steam Family") + description = _("Use for displaying every game in the Steam family") + login_window_width = 500 + login_window_height = 850 + online = True + requires_login_page = True + game_class = SteamFamilyGame + include_own_games = settings.STEAM_FAMILY_INCLUDE_OWN + cookies_path = os.path.join(settings.CACHE_DIR, ".steam.auth") + token_path = os.path.join(settings.CACHE_DIR, ".steam.token") + cache_path = os.path.join(settings.CACHE_DIR, "steam-library.json") + login_url = "https://store.steampowered.com/login/?redir=/about" + redirect_uris = ["https://store.steampowered.com/about"] + access_token_url = "https://store.steampowered.com/pointssummary/ajaxgetasyncconfig" + library_url = "https://api.steampowered.com/IFamilyGroupsService/GetSharedLibraryApps/v1/" + family_url = "https://api.steampowered.com/IFamilyGroupsService/GetFamilyGroupForUser/v1/" + + user_agent = ( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/537.36 (KHTML, like Gecko) " + "Chrome/84.0.4147.38 Safari/537.36" + ) + + def __init__(self): + super().__init__() + self.session = requests.session() + self.session.headers["User-Agent"] = self.user_agent + self.access_token = self.load_access_token() + + def is_connected(self): + return self.is_authenticated() and bool(self.load_access_token()) + + def fetch_access_token(self): + """Fetch the access token from the store, save to disk and set""" + token_data = self.get_access_token() + if not token_data: + raise RuntimeError("Failed to get access token") + with open(self.token_path, "w", encoding="utf-8") as token_file: + token_file.write(json.dumps(token_data, indent=2)) + self.access_token = self.load_access_token() + + def load_access_token(self): + """Load the access token from disk""" + if not os.path.exists(self.token_path): + return "" + with open(self.token_path, encoding="utf-8") as token_file: + token_data = json.load(token_file) + return token_data.get("data").get("webapi_token", "") + + def get_access_token(self): + """Request an access token from steam and return dump""" + logger.debug("Requesting access token") + response = self.session.get( + self.access_token_url, + cookies=self.load_cookies(), + ) + response.raise_for_status() + token_data = response.json() + return token_data + + def login_callback(self, content): + """Once the user logs in in a browser window, they're redirected to a + an arbitrary page (about), then we redirect to a page containing the + store access token which we can use to fetch family games""" + logger.debug("Login to Steam store successful") + self.fetch_access_token() + SERVICE_LOGIN.fire(self) + + def get_family_groupid(self): + """Get the user's family group id""" + response = self.session.get( + self.family_url, params={"access_token": self.load_access_token(), "steamid": get_active_steamid64()} + ) + response.raise_for_status() + resData = response.json() + records = resData["response"] + if not records["is_not_member_of_any_group"]: + return records["family_groupid"] + logger.error("User is not a member of any family group") + return None + + def get_library(self): + steamid = get_active_steamid64() + if not steamid: + logger.error("Unable to find SteamID from Steam config") + return [] + response = self.session.get( + self.library_url, + params={ + "access_token": self.load_access_token(), + "family_groupid": self.get_family_groupid(), + "steamid": get_active_steamid64(), + }, + ) + response.raise_for_status() + resData = response.json() + records = resData["response"]["apps"] + if self.include_own_games: + own_games = get_steam_library(steamid) + ids = {game["appid"] for game in records} + records.extend([game for game in own_games if game["appid"] not in ids]) + return records + + def load(self): + """Load the list of games""" + try: + library = self.get_library() + except Exception as ex: # pylint=disable:broad-except + logger.warning("Access Token expired, will attempt to get a new one") + try: + self.fetch_access_token() + library = self.get_library() + except: + logger.warning("Failed to get a new access token") + raise AuthTokenExpiredError("Access Token expired") from ex + for steam_game in library: + if steam_game["appid"] in self.excluded_appids: + continue + game = self.game_class.new_from_steamfamily_game(steam_game) + game.save() + self.match_games() + return library diff --git a/lutris/services/ubisoft.py b/lutris/services/ubisoft.py index 225a9f89f2..9b4ba4b974 100644 --- a/lutris/services/ubisoft.py +++ b/lutris/services/ubisoft.py @@ -4,7 +4,6 @@ import os import shutil from gettext import gettext as _ -from typing import Any, Dict, Optional from urllib.parse import unquote from gi.repository import Gio @@ -35,13 +34,8 @@ class UbisoftCover(ServiceMedia): size = (160, 186) dest_path = os.path.join(settings.CACHE_DIR, "ubisoft/covers") file_patterns = ["%s.jpg"] - api_field = "id" - url_pattern = "https://ubiservices.cdn.ubi.com/%s/spaceCardAsset/boxArt_mobile.jpg?imwidth=320" - - def get_media_url(self, details: Dict[str, Any]) -> Optional[str]: - if self.api_field in details: - return super().get_media_url(details) - return details["thumbImage"] + api_field = "thumbImage" + url_pattern = "https://static3.cdn.ubi.com/orbit/uplay_launcher_3_0/assets/%s" def download(self, slug, url): if url.startswith("http"): @@ -93,7 +87,7 @@ class UbisoftConnectService(OnlineService): token_path = os.path.join(settings.CACHE_DIR, "ubisoft/.token") cache_path = os.path.join(settings.CACHE_DIR, "ubisoft/library/") login_url = consts.LOGIN_URL - redirect_uri = "https://connect.ubisoft.com/change_domain/" + redirect_uris = ["https://connect.ubisoft.com/change_domain/"] scripts = { "https://connect.ubisoft.com/ready": ('window.location.replace("https://connect.ubisoft.com/change_domain/");'), "https://connect.ubisoft.com/change_domain/": ( @@ -136,7 +130,7 @@ def get_configurations(self): return base_dir = ubi_game["directory"] configurations_path = os.path.join( - base_dir, "drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/" "cache/configuration/configurations" + base_dir, "drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/cache/configuration/configurations" ) if not os.path.exists(configurations_path): return diff --git a/lutris/settings.py b/lutris/settings.py index bf02dcb4f2..2af75ff92e 100644 --- a/lutris/settings.py +++ b/lutris/settings.py @@ -31,15 +31,12 @@ TMP_DIR = os.path.join(CACHE_DIR, "tmp") GAME_CONFIG_DIR = os.path.join(CONFIG_DIR, "games") RUNNERS_CONFIG_DIR = os.path.join(CONFIG_DIR, "runners") +WINE_DIR: str = os.path.join(RUNNER_DIR, "wine") SHADER_CACHE_DIR = os.path.join(CACHE_DIR, "shaders") INSTALLER_CACHE_DIR = os.path.join(CACHE_DIR, "installer") -BANNER_PATH = os.path.join(CACHE_DIR, "banners") -if not os.path.exists(BANNER_PATH): - BANNER_PATH = os.path.join(DATA_DIR, "banners") -COVERART_PATH = os.path.join(CACHE_DIR, "coverart") -if not os.path.exists(COVERART_PATH): - COVERART_PATH = os.path.join(DATA_DIR, "coverart") +BANNER_PATH = os.path.join(DATA_DIR, "banners") +COVERART_PATH = os.path.join(DATA_DIR, "coverart") RUNTIME_VERSIONS_PATH = os.path.join(CACHE_DIR, "versions.json") ICON_PATH = os.path.join(GLib.get_user_data_dir(), "icons", "hicolor", "128x128", "apps") @@ -58,6 +55,7 @@ RUNTIME_URL = SITE_URL + "/api/runtimes" STEAM_API_KEY = sio.read_setting("steam_api_key") or "34C9698CEB394AB4401D65927C6B3752" +STEAM_FAMILY_INCLUDE_OWN = sio.read_setting("steam_family_include_own", default="False") SHOW_MEDIA = os.environ.get("LUTRIS_HIDE_MEDIA") != "1" and sio.read_setting("hide_media") != "True" @@ -66,8 +64,6 @@ DEFAULT_USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0" -UPDATE_CHANNEL_STABLE = "stable" -UPDATE_CHANNEL_UNSUPPORTED = "self-maintained" read_setting = sio.read_setting read_bool_setting = sio.read_bool_setting diff --git a/lutris/startup.py b/lutris/startup.py index 6d0ceda445..d00dbcad73 100644 --- a/lutris/startup.py +++ b/lutris/startup.py @@ -73,7 +73,7 @@ def check_vulkan(): library_api_version = vkquery.get_vulkan_api_version() if library_api_version and library_api_version < required_api_version: logger.warning( - "Vulkan reports an API version of %s. " "%s is required for the latest DXVK.", + "Vulkan reports an API version of %s. %s is required for the latest DXVK.", vkquery.format_version(library_api_version), vkquery.format_version(required_api_version), ) @@ -82,7 +82,7 @@ def check_vulkan(): if devices and devices[0].api_version < required_api_version: logger.warning( - "Vulkan reports that the '%s' device has API version of %s. " "%s is required for the latest DXVK.", + "Vulkan reports that the '%s' device has API version of %s. %s is required for the latest DXVK.", devices[0].name, vkquery.format_version(devices[0].api_version), vkquery.format_version(required_api_version), diff --git a/lutris/sysoptions.py b/lutris/sysoptions.py index a42fbb8b5d..ce4ba4edd8 100644 --- a/lutris/sysoptions.py +++ b/lutris/sysoptions.py @@ -6,7 +6,12 @@ from lutris import runners from lutris.util import linux, system -from lutris.util.display import DISPLAY_MANAGER, SCREEN_SAVER_INHIBITOR, is_compositing_enabled, is_display_x11 +from lutris.util.display import ( + DISPLAY_MANAGER, + SCREEN_SAVER_INHIBITOR, + is_compositing_enabled, + is_display_x11, +) from lutris.util.graphics.gpu import GPUS @@ -26,12 +31,13 @@ def get_locale_choices(): """ return [ (_("System"), ""), - (_("Chinese"), "zh_CN.utf8"), + (_("Chinese (Simplified)"), "zh_CN.utf8"), + (_("Chinese (Traditional)"), "zh_TW.utf8"), (_("Croatian"), "hr_HR.utf8"), (_("Dutch"), "nl_NL.utf8"), (_("English"), "en_US.utf8"), (_("Finnish"), "fi_FI.utf8"), - (_("French"), "fr_FR.utf"), + (_("French"), "fr_FR.utf8"), (_("Georgian"), "ka_GE.utf8"), (_("German"), "de_DE.utf8"), (_("Greek"), "el_GR.utf8"), @@ -104,7 +110,7 @@ def get_output_list(): "type": "bool", "label": _("Prefer system libraries"), "default": True, - "help": _("When the runtime is enabled, prioritize the system libraries" " over the provided ones."), + "help": _("When the runtime is enabled, prioritize the system libraries over the provided ones."), }, { "section": _("Display"), @@ -148,21 +154,17 @@ def get_output_list(): "advanced": True, "available": is_display_x11, "condition": is_compositing_enabled(), - "help": _("Disable desktop effects while game is running, " "reducing stuttering and increasing performance"), + "help": _("Disable desktop effects while game is running, reducing stuttering and increasing performance"), }, { "section": _("Display"), "option": "disable_screen_saver", - "label": _("Disable screen saver"), + "label": _("Prevent sleep"), "type": "bool", "default": SCREEN_SAVER_INHIBITOR is not None, "advanced": True, "condition": SCREEN_SAVER_INHIBITOR is not None, - "help": _( - "Disable the screen saver while a game is running. " - "Requires the screen saver's functionality " - "to be exposed over DBus." - ), + "help": _("Prevents the computer from suspending when a game is running."), }, { "section": _("Display"), @@ -213,7 +215,7 @@ def get_output_list(): "label": _("Enable Gamescope"), "default": False, "condition": system.can_find_executable("gamescope") and linux.LINUX_SYSTEM.nvidia_gamescope_support(), - "help": _("Use gamescope to draw the game window isolated from your desktop.\n" "Toggle fullscreen: Super + F"), + "help": _("Use gamescope to draw the game window isolated from your desktop.\nToggle fullscreen: Super + F"), }, { "section": _("Gamescope"), @@ -224,7 +226,7 @@ def get_output_list(): "default": False, "conditional_on": "gamescope", "condition": bool(system.can_find_executable("gamescope")), - "help": _("Enable HDR for games that support it.\n" "Requires Plasma 6 and VK_hdr_layer."), + "help": _("Enable HDR for games that support it.\nRequires Plasma 6 and VK_hdr_layer."), }, { "section": _("Gamescope"), @@ -265,7 +267,7 @@ def get_output_list(): "choices": DISPLAY_MANAGER.get_resolutions, "conditional_on": "gamescope", "condition": system.can_find_executable("gamescope"), - "help": _("Set the maximum resolution used by the game.\n" "\n" "Custom Resolutions: (width)x(height)"), + "help": _("Set the maximum resolution used by the game.\n\nCustom Resolutions: (width)x(height)"), }, { "section": _("Gamescope"), @@ -280,7 +282,7 @@ def get_output_list(): "default": "-f", "conditional_on": "gamescope", "condition": system.can_find_executable("gamescope"), - "help": _("Run gamescope in fullscreen, windowed or borderless mode\n" "Toggle fullscreen : Super + F"), + "help": _("Run gamescope in fullscreen, windowed or borderless mode\nToggle fullscreen : Super + F"), }, { "section": _("Gamescope"), @@ -291,7 +293,7 @@ def get_output_list(): "conditional_on": "gamescope", "condition": system.can_find_executable("gamescope"), "help": _( - "Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" "Upscaler sharpness from 0 (max) to 20 (min)." + "Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\nUpscaler sharpness from 0 (max) to 20 (min)." ), }, { @@ -313,7 +315,7 @@ def get_output_list(): "conditional_on": "gamescope", "condition": system.can_find_executable("gamescope"), "help": _( - "Set additional flags for gamescope (if available).\n" "See 'gamescope --help' for a full list of options." + "Set additional flags for gamescope (if available).\nSee 'gamescope --help' for a full list of options." ), }, { @@ -350,7 +352,7 @@ def get_output_list(): "default": False, "advanced": True, "condition": system.can_find_executable("pulseaudio") or system.can_find_executable("pipewire-pulse"), - "help": _("Set the environment variable PULSE_LATENCY_MSEC=60 " "to improve audio quality on some games"), + "help": _("Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality on some games"), }, { "section": _("Input"), @@ -377,8 +379,7 @@ def get_output_list(): "label": _("SDL2 gamepad mapping"), "advanced": True, "help": _( - "SDL_GAMECONTROLLERCONFIG mapping string or path to a custom " - "gamecontrollerdb.txt file containing mappings." + "SDL_GAMECONTROLLERCONFIG mapping string or path to a custom gamecontrollerdb.txt file containing mappings." ), }, { @@ -430,7 +431,7 @@ def get_output_list(): "type": "string", "label": _("Command prefix"), "advanced": True, - "help": _("Command line instructions to add in front of the game's " "execution command."), + "help": _("Command line instructions to add in front of the game's execution command."), }, { "section": _("Game execution"), diff --git a/lutris/util/datapath.py b/lutris/util/datapath.py index e0fefce149..6c85c8ccf4 100644 --- a/lutris/util/datapath.py +++ b/lutris/util/datapath.py @@ -11,9 +11,9 @@ def get(): """Return the path for the resources.""" launch_path = os.path.realpath(sys.path[0]) - if launch_path.startswith("/usr/local"): + if launch_path.startswith("/usr/local") and os.path.isdir("/usr/local/share/lutris"): data_path = "/usr/local/share/lutris" - elif launch_path.startswith("/usr"): + elif launch_path.startswith("/usr") and os.path.isdir("/usr/share/lutris"): data_path = "/usr/share/lutris" elif system.path_exists(os.path.normpath(os.path.join(sys.path[0], "share"))): data_path = os.path.normpath(os.path.join(sys.path[0], "share/lutris")) diff --git a/lutris/util/display.py b/lutris/util/display.py index 11b7d4fcd5..6c421b8717 100644 --- a/lutris/util/display.py +++ b/lutris/util/display.py @@ -3,14 +3,15 @@ # isort:skip_file import enum import os +import json import subprocess -from typing import Any, Dict +from typing import Any, Dict, Optional import gi try: gi.require_version("GnomeDesktop", "3.0") - from gi.repository import GnomeDesktop + from gi.repository import GnomeDesktop # type: ignore LIB_GNOME_DESKTOP_AVAILABLE = True except ValueError: @@ -53,64 +54,286 @@ def is_display_x11(): return "x11" in type(display).__name__.casefold() -class DisplayManager: - """Get display and resolution using GnomeDesktop""" +@cache_single +def is_display_wayland(): + """True if the current display is Wayland""" + display = Gdk.Display.get_default() + return "wayland" in type(display).__name__.casefold() - def __init__(self, screen: Gdk.Screen): + +class DisplayManager: + """Get display and resolution using various backends based on the current environment""" + + def __init__(self, screen=None): + self.display = Gdk.Display.get_default() + self.screen = screen + self.hyprctl_path = None + self.rr_screen = None + self.rr_config = None + + # Determine which backend to use + self.backend = self._determine_backend() + + # Initialize the appropriate backend + if self.backend == "hyprland": + self._init_hyprland() + elif self.backend == "gnome" and screen: + self._init_gnome(screen) + + def _determine_backend(self): + """Determine which backend to use based on the environment""" + # Check for Hyprland + if "HYPRLAND_INSTANCE_SIGNATURE" in os.environ: + for path in os.environ.get("PATH", "").split(os.pathsep): + hyprctl_path = os.path.join(path, "hyprctl") + if os.path.isfile(hyprctl_path) and os.access(hyprctl_path, os.X_OK): + self.hyprctl_path = hyprctl_path + return "hyprland" + + # Check for GNOME Desktop + if LIB_GNOME_DESKTOP_AVAILABLE and self.screen: + return "gnome" + # Generic Wayland + if is_display_wayland(): + return "wayland" + # X11 + if is_display_x11(): + return "x11" + return "fallback" + + def _init_gnome(self, screen): + """Initialize GNOME Desktop backend""" self.rr_screen = GnomeDesktop.RRScreen.new(screen) self.rr_config = GnomeDesktop.RRConfig.new_current(self.rr_screen) self.rr_config.load_current() + def _init_hyprland(self): + """Initialize Hyprland backend""" + # Already have hyprctl_path from _determine_backend + pass + + def _run_hyprctl(self, *args): + """Run hyprctl with given arguments and return the output""" + if not self.hyprctl_path: + return {} + + try: + cmd = [self.hyprctl_path, *args, "-j"] # Use JSON output + result = subprocess.run(cmd, capture_output=True, text=True, check=True) + return json.loads(result.stdout) + except (subprocess.SubprocessError, json.JSONDecodeError) as ex: + logger.error(f"Error running hyprctl: {ex}") + return {} + def get_display_names(self): """Return names of connected displays""" - return [output_info.get_display_name() for output_info in self.rr_config.get_outputs()] + if self.backend == "hyprland": + monitors = self._run_hyprctl("monitors") + if not monitors: + return [] + return [monitor.get("name") for monitor in monitors] + + elif self.backend == "gnome" and self.rr_config: + return [output_info.get_display_name() for output_info in self.rr_config.get_outputs()] + + elif self.backend == "wayland": + names = [] + n_monitors = self.display.get_n_monitors() + for i in range(n_monitors): + monitor = self.display.get_monitor(i) + model = monitor.get_model() + names.append(model if model else f"Monitor-{i}") + return names + + else: + # Fallback to XRandR + return LegacyDisplayManager().get_display_names() def get_resolutions(self): """Return available resolutions""" - resolutions = ["%sx%s" % (mode.get_width(), mode.get_height()) for mode in self.rr_screen.list_modes()] - if not resolutions: - logger.error("Failed to generate resolution list from default GdkScreen") - return ["%sx%s" % (DEFAULT_RESOLUTION_WIDTH, DEFAULT_RESOLUTION_HEIGHT)] - return sorted(set(resolutions), key=lambda x: int(x.split("x")[0]), reverse=True) - - def _get_primary_output(self): - """Return the RROutput used as a primary display""" + if self.backend == "hyprland": + modes = [] + monitors = self._run_hyprctl("monitors") + + # If no monitors, return default + if not monitors: + return [f"{DEFAULT_RESOLUTION_WIDTH}x{DEFAULT_RESOLUTION_HEIGHT}"] + + # Get modes from monitors + for monitor in monitors: + if monitor.get("reserved"): # Skip special monitors + continue + + width = monitor.get("width") + height = monitor.get("height") + if width and height: + modes.append(f"{width}x{height}") + + if not modes: + return [f"{DEFAULT_RESOLUTION_WIDTH}x{DEFAULT_RESOLUTION_HEIGHT}"] + + return sorted(set(modes), key=lambda x: int(x.split("x")[0]), reverse=True) + + elif self.backend == "gnome" and self.rr_screen: + resolutions = ["%sx%s" % (mode.get_width(), mode.get_height()) for mode in self.rr_screen.list_modes()] + if not resolutions: + logger.error("Failed to generate resolution list from default GdkScreen") + return ["%sx%s" % (DEFAULT_RESOLUTION_WIDTH, DEFAULT_RESOLUTION_HEIGHT)] + return sorted(set(resolutions), key=lambda x: int(x.split("x")[0]), reverse=True) + + elif self.backend == "wayland": + # For generic Wayland, we can only report current resolutions + resolutions = [] + n_monitors = self.display.get_n_monitors() + for i in range(n_monitors): + monitor = self.display.get_monitor(i) + geometry = monitor.get_geometry() + resolution = f"{geometry.width}x{geometry.height}" + resolutions.append(resolution) + + if not resolutions: + return [f"{DEFAULT_RESOLUTION_WIDTH}x{DEFAULT_RESOLUTION_HEIGHT}"] + + return sorted(set(resolutions), key=lambda x: int(x.split("x")[0]), reverse=True) + + else: + # Fallback to XRandR + return LegacyDisplayManager().get_resolutions() + + def _get_primary_output_gnome(self): + """Return the RROutput used as a primary display (GNOME backend)""" + if not self.rr_screen: + return None + for output in self.rr_screen.list_outputs(): if output.get_is_primary(): return output - return + return None def get_current_resolution(self): """Return the current resolution for the primary display""" - output = self._get_primary_output() - if not output: - logger.error("Failed to get a default output") - return str(DEFAULT_RESOLUTION_WIDTH), str(DEFAULT_RESOLUTION_HEIGHT) - current_mode = output.get_current_mode() - return str(current_mode.get_width()), str(current_mode.get_height()) - - @staticmethod - def set_resolution(resolution): - """Set the resolution of one or more displays. - The resolution can either be a string, which will be applied to the - primary display or a list of configurations as returned by `get_config`. - This method uses XrandR and will not work on Wayland. - """ - return change_resolution(resolution) - - @staticmethod - def get_config(): - """Return the current display resolution - This method uses XrandR and will not work on wayland - The output can be fed in `set_resolution` - """ - return get_outputs() + if self.backend == "hyprland": + monitors = self._run_hyprctl("monitors") + + # Find primary/focused monitor + primary_monitor = None + for monitor in monitors: + if monitor.get("focused", False): + primary_monitor = monitor + break + + if not primary_monitor: + # If no primary found, use the first non-reserved one + for monitor in monitors: + if not monitor.get("reserved"): + primary_monitor = monitor + break + + if not primary_monitor: + logger.error("Failed to get a primary monitor from Hyprland") + return str(DEFAULT_RESOLUTION_WIDTH), str(DEFAULT_RESOLUTION_HEIGHT) + + width = primary_monitor.get("width", DEFAULT_RESOLUTION_WIDTH) + height = primary_monitor.get("height", DEFAULT_RESOLUTION_HEIGHT) + return str(width), str(height) + + elif self.backend == "gnome": + output = self._get_primary_output_gnome() + if not output: + logger.error("Failed to get a default output") + return str(DEFAULT_RESOLUTION_WIDTH), str(DEFAULT_RESOLUTION_HEIGHT) + current_mode = output.get_current_mode() + return str(current_mode.get_width()), str(current_mode.get_height()) + + elif self.backend == "wayland": + monitor = self.display.get_primary_monitor() + if not monitor: + # Fall back to first monitor if no primary + if self.display.get_n_monitors() > 0: + monitor = self.display.get_monitor(0) + + if not monitor: + logger.error("Failed to get a monitor from Wayland display") + return str(DEFAULT_RESOLUTION_WIDTH), str(DEFAULT_RESOLUTION_HEIGHT) + + geometry = monitor.get_geometry() + return str(geometry.width), str(geometry.height) + + else: + # Fallback to XRandR + return LegacyDisplayManager().get_current_resolution() + + def set_resolution(self, resolution): + """Set the resolution of one or more displays""" + if self.backend == "hyprland": + if isinstance(resolution, list): + # We don't support multi-monitor configuration yet + logger.warning("Multi-monitor configuration not supported for Hyprland") + return False + + try: + width, height = resolution.split("x") + monitor = self._get_focused_monitor_name_hyprland() + if not monitor: + logger.error("Failed to get focused monitor") + return False + + # Format: keyword arg=value + cmd = [self.hyprctl_path, "keyword", f"monitor,{monitor},preferred,auto,{float(width) / float(height)}"] + subprocess.run(cmd, check=True) + return True + except (ValueError, subprocess.SubprocessError) as ex: + logger.error(f"Failed to set resolution in Hyprland: {ex}") + return False + + elif self.backend in ("x11", "gnome"): + # Both use XRandR underneath + return change_resolution(resolution) + + elif self.backend == "wayland": + logger.warning("Cannot set resolution directly in generic Wayland mode") + return False + + else: + return LegacyDisplayManager().set_resolution(resolution) + + def _get_focused_monitor_name_hyprland(self): + """Get the name of the focused monitor (Hyprland backend)""" + monitors = self._run_hyprctl("monitors") + for monitor in monitors: + if monitor.get("focused", False): + return monitor.get("name") + return None + + def get_config(self): + """Return the current display configuration""" + if self.backend == "hyprland": + # For Hyprland, we'll just return the current resolutions as strings + monitors = self._run_hyprctl("monitors") + configs = [] + + for monitor in monitors: + if monitor.get("reserved"): + continue + width = monitor.get("width") + height = monitor.get("height") + if width and height: + configs.append(f"{width}x{height}") + + return configs + + elif self.backend == "wayland": + # For generic Wayland, return current resolutions + return self.get_resolutions() + + else: + # Use XRandR for X11 and GNOME + return get_outputs() def get_display_manager(): - """Return the appropriate display manager instance. - Defaults to Mutter if available. This is the only one to support Wayland. - """ + """Return the appropriate display manager instance.""" + # Try Mutter (which supports Wayland) if DBus is available if DBUS_AVAILABLE: try: return MutterDisplayManager() @@ -141,6 +364,7 @@ class DesktopEnvironment(enum.Enum): MATE = 1 XFCE = 2 DEEPIN = 3 + HYPRLAND = 4 UNKNOWN = 999 @@ -187,6 +411,12 @@ class DesktopEnvironment(enum.Enum): "com.deepin.WMSwitcher.RequestSwitchWM", ], }, + DesktopEnvironment.HYPRLAND: { + "check": ["echo", "$HYPRLAND_CMD"], + "active_result": b"Hyprland\n", + "stop_compositor": ["Hyprland"], + "start_compositor": ["hyprctl", "dispatch", "exit"], + }, } # These additional compositors can be detected by looking for their process, @@ -207,7 +437,7 @@ class DesktopEnvironment(enum.Enum): ] -def get_desktop_environment(): +def get_desktop_environment() -> Optional[DesktopEnvironment]: """Converts the value of the DESKTOP_SESSION environment variable to one of the constants in the DesktopEnvironment class. Returns None if DESKTOP_SESSION is empty or unset. @@ -223,6 +453,8 @@ def get_desktop_environment(): return DesktopEnvironment.DEEPIN if "plasma" in desktop_session: return DesktopEnvironment.PLASMA + if os.environ.get("XDG_SESSION_DESKTOP", "") == "Hyprland": + return DesktopEnvironment.HYPRLAND return DesktopEnvironment.UNKNOWN @@ -282,7 +514,9 @@ def _get_compositor_commands(): a flag to indicate if we need to run the commands in the background. """ desktop_environment = get_desktop_environment() - command_set = _compositor_commands_by_de.get(desktop_environment) + command_set = None + if desktop_environment is not None: + command_set = _compositor_commands_by_de.get(desktop_environment) if not command_set: for c in _non_de_compositor_commands: @@ -344,10 +578,10 @@ def enable_compositing(): class DBusScreenSaverInhibitor: - """Inhibit and uninhibit the screen saver using DBus. + """Inhibit and uninhibit the suspend using DBus. - It will use the Gtk.Application's inhibit and uninhibit methods to inhibit - the screen saver. + It will use the Gtk.Application's inhibit and uninhibit methods to + prevent the computer from going to sleep. For enviroments which don't support either org.freedesktop.ScreenSaver or org.gnome.ScreenSaver interfaces one can declare a DBus interface which @@ -364,7 +598,7 @@ def set_dbus_iface(self, name, path, interface, bus_type=Gio.BusType.SESSION): ) def inhibit(self, game_name): - """Inhibit the screen saver. + """Inhibit suspend. Returns a cookie that must be passed to the corresponding uninhibit() call. If an error occurs, None is returned instead.""" reason = "Running game: %s" % game_name @@ -387,7 +621,7 @@ def inhibit(self, game_name): return cookie def uninhibit(self, cookie): - """Uninhibit the screen saver. + """Uninhibit suspend. Takes a cookie as returned by inhibit. If cookie is None, no action is taken.""" if not cookie: return @@ -399,8 +633,8 @@ def uninhibit(self, cookie): app.uninhibit(cookie) -def _get_screen_saver_inhibitor(): - """Return the appropriate screen saver inhibitor instance. +def _get_suspend_inhibitor(): + """Return the appropriate suspend inhibitor instance. If the required interface isn't available, it will default to GTK's implementation.""" desktop_environment = get_desktop_environment() @@ -426,10 +660,10 @@ def _get_screen_saver_inhibitor(): inhibitor.set_dbus_iface(name, path, interface) except GLib.Error as err: logger.warning( - "Failed to set up a DBus proxy for name %s, path %s, " "interface %s: %s", name, path, interface, err + "Failed to set up a DBus proxy for name %s, path %s, interface %s: %s", name, path, interface, err ) return inhibitor -SCREEN_SAVER_INHIBITOR = _get_screen_saver_inhibitor() +SCREEN_SAVER_INHIBITOR = _get_suspend_inhibitor() diff --git a/lutris/util/downloader.py b/lutris/util/downloader.py index 3b49093765..379eee1b20 100644 --- a/lutris/util/downloader.py +++ b/lutris/util/downloader.py @@ -2,7 +2,7 @@ import os import threading import time -from typing import Any +from typing import Any, Dict, Optional import requests @@ -27,10 +27,19 @@ class Downloader: (INIT, DOWNLOADING, CANCELLED, ERROR, COMPLETED) = list(range(5)) - def __init__(self, url: str, dest: str, overwrite: bool = False, referer: str = None, cookies: Any = None) -> None: + def __init__( + self, + url: str, + dest: str, + overwrite: bool = False, + referer: Optional[str] = None, + cookies: Any = None, + headers: Dict[str, str] = None, + ) -> None: self.url: str = url self.dest: str = dest self.cookies = cookies + self.headers = headers self.overwrite: bool = overwrite self.referer = referer self.stop_request = None @@ -131,6 +140,9 @@ def async_download(self): headers["User-Agent"] = "Lutris/%s" % __version__ if self.referer: headers["Referer"] = self.referer + if self.headers: + for key, value in self.headers.items(): + headers[key] = value response = requests.get(self.url, headers=headers, stream=True, timeout=30, cookies=self.cookies) if response.status_code != 200: logger.info("%s returned a %s error", self.url, response.status_code) diff --git a/lutris/util/game_finder.py b/lutris/util/game_finder.py index 1e49c3b692..d720aa6ff1 100644 --- a/lutris/util/game_finder.py +++ b/lutris/util/game_finder.py @@ -89,9 +89,11 @@ def find_windows_game_executable(path): file_type = magic.from_file(abspath) if "MS Windows shortcut" in file_type: candidates["link"] = abspath - elif "PE32+ executable (GUI) x86-64" in file_type: + elif all([_ in file_type for _ in ("PE32+ executable", "(GUI)", "x86-64")]): candidates["64bit"] = abspath - elif "PE32 executable (GUI) Intel 80386" in file_type: + elif all([_ in file_type for _ in ("PE32 executable", "(GUI)")]) and any( + [_ in file_type for _ in ("Intel i386", "Intel 80386")] + ): candidates["32bit"] = abspath if candidates: return candidates.get("link") or candidates.get("64bit") or candidates.get("32bit") diff --git a/lutris/util/graphics/drivers.py b/lutris/util/graphics/drivers.py index d7f896a7f0..12cc598ec1 100644 --- a/lutris/util/graphics/drivers.py +++ b/lutris/util/graphics/drivers.py @@ -17,11 +17,11 @@ @cache_single -def get_nvidia_driver_info() -> Dict[str, Dict[str, str]]: +def get_nvidia_driver_info() -> Dict[str, str]: """Return information about Nvidia drivers""" version_file_path = "/proc/driver/nvidia/version" - def read_from_proc() -> Dict[str, Dict[str, str]]: + def read_from_proc() -> Dict[str, str]: try: if not os.path.exists(version_file_path): return {} @@ -61,7 +61,7 @@ def read_from_proc() -> Dict[str, Dict[str, str]]: logger.warning("Unable to parse %s. Falling back to glxinfo: %s", version_file_path, ex) return {} - def invoke_glxinfo() -> Dict[str, Dict[str, str]]: + def invoke_glxinfo() -> Dict[str, str]: glx_info = GlxInfo() platform = read_process_output(["uname", "-s"]) arch = read_process_output(["uname", "-m"]) @@ -159,13 +159,13 @@ def is_nvidia() -> bool: try: return os.path.exists("/proc/driver/nvidia") except OSError: - logger.info("Could not determine whether /proc/driver/nvidia exists. " "Falling back to alternative method") + logger.info("Could not determine whether /proc/driver/nvidia exists. Falling back to alternative method") try: with open("/proc/modules", encoding="utf-8") as f: modules = f.read() return bool(re.search(r"^nvidia ", modules, flags=re.MULTILINE)) except OSError: - logger.error("Could not access /proc/modules to find the Nvidia drivers. " "Nvidia card may not be detected.") + logger.error("Could not access /proc/modules to find the Nvidia drivers. Nvidia card may not be detected.") glx_info = GlxInfo() return "NVIDIA" in glx_info.opengl_vendor # type: ignore[attr-defined] diff --git a/lutris/util/graphics/glxinfo.py b/lutris/util/graphics/glxinfo.py index 6b17b6f3c5..a057f6afbf 100644 --- a/lutris/util/graphics/glxinfo.py +++ b/lutris/util/graphics/glxinfo.py @@ -49,7 +49,7 @@ def parse(self): key = key.replace(" string", "").replace(" ", "_") value = value.strip() - if not value and key.startswith(("Extended_renderer_info", "Memory_info")): + if not value and key.startswith(("Extended_renderer_info", "Memory_info")) and "(" in key: self._section = key[key.index("(") + 1 : -1] setattr(self, self._section, Container()) continue diff --git a/lutris/util/graphics/gpu.py b/lutris/util/graphics/gpu.py index 49751a13e4..e0d4ac0487 100644 --- a/lutris/util/graphics/gpu.py +++ b/lutris/util/graphics/gpu.py @@ -77,6 +77,7 @@ def __init__(self, card): self.icd_files = self.get_icd_files() if VULKANINFO_AVAILABLE: try: + self.device_uuid = self.get_vulkaninfo_device_uuid() self.name = self.get_vulkaninfo_name() or self.get_lspci_name() except (OSError, subprocess.CalledProcessError, subprocess.TimeoutExpired): # already logged this, so we'll just fall back to lspci. @@ -158,6 +159,13 @@ def get_vulkaninfo_name(self) -> Optional[str]: return vulkaninfo[gpu_index]["deviceName"] return None + def get_vulkaninfo_device_uuid(self) -> Optional[str]: + vulkaninfo = self.get_vulkaninfo() + for gpu_index in vulkaninfo: + device_uuid = vulkaninfo[gpu_index]["deviceUUID"].replace("-", "") + return device_uuid + return None + def get_lspci_name(self): lspci_results = [line.split(maxsplit=1) for line in system.execute(["lspci"], timeout=3).split("\n")] lspci_results = [parts for parts in lspci_results if len(parts) == 2 and ": " in parts[1]] @@ -175,6 +183,7 @@ def get_icd_files(self): "v3d": "broadcom", "virtio-pci": "lvp", "i915": "intel", + "xe": "intel", } if self.driver in loader_map: loader = loader_map[self.driver] diff --git a/lutris/util/graphics/xrandr.py b/lutris/util/graphics/xrandr.py index 3b1cf8c4f8..cbe38f682a 100644 --- a/lutris/util/graphics/xrandr.py +++ b/lutris/util/graphics/xrandr.py @@ -51,7 +51,7 @@ def get_outputs(): # pylint: disable=too-many-locals position = "{x_pos}x{y_pos}".format(x_pos=x_pos, y_pos=y_pos) except ValueError as ex: logger.error( - "Unhandled xrandr line %s, error: %s. " "Please send your xrandr output to the dev team", line, ex + "Unhandled xrandr line %s, error: %s. Please send your xrandr output to the dev team", line, ex ) continue elif "*" in line: diff --git a/lutris/util/http.py b/lutris/util/http.py index b98fd7c053..cffbb1b9c7 100644 --- a/lutris/util/http.py +++ b/lutris/util/http.py @@ -40,6 +40,7 @@ def __init__( stop_request=None, headers=None, cookies=None, + redacted_query_parameters=None, ): self.url = self._clean_url(url) self.status_code = None @@ -52,6 +53,7 @@ def __init__( self.headers = {"User-Agent": self.user_agent} self.response_headers = None self.info = None + self.redacted_query_parameters = redacted_query_parameters if headers is None: headers = {} if not isinstance(headers, dict): @@ -84,8 +86,31 @@ def _clean_url(url): def user_agent(self): return "{} {}".format(PROJECT, VERSION) + @property + def redacted_url(self): + """A version of the ULR with specified query string parameters + replaced with REDACTED for security. We log these.""" + if self.redacted_query_parameters: + parsed = urllib.parse.urlparse(self.url) + query_items = urllib.parse.parse_qsl(parsed.query) + new_query_items = [] + redacted_any = False + for key, value in query_items: + if key in self.redacted_query_parameters: + redacted_any = True + value = "REDACTED" + new_query_items.append((key, value)) + + if redacted_any: + parsed_parts = list(parsed) + parsed_parts[4] = urllib.parse.urlencode(new_query_items) + parsed = tuple(parsed_parts) + return urllib.parse.urlunparse(parsed) + + return self.url + def _request(self, method, data=None): - logger.debug("%s %s", method, self.url) + logger.debug("%s %s", method, self.redacted_url) try: req = urllib.request.Request(url=self.url, data=data, headers=self.headers, method=method) except ValueError as ex: diff --git a/lutris/util/i18n.py b/lutris/util/i18n.py index 1c1c9217ad..343d4bcd6b 100644 --- a/lutris/util/i18n.py +++ b/lutris/util/i18n.py @@ -2,10 +2,20 @@ import locale +from lutris.config import LutrisConfig from lutris.util.log import logger def get_user_locale(): + """Get locale for the user, based on global options, else try system locale""" + config = LutrisConfig(level="system") + if config.system_config.get("locale"): + try: + user_locale, _user_encoding = config.system_config["locale"].split(".") + return user_locale + except ValueError: # If '.' is not found + return config.system_config["locale"] + user_locale, _user_encoding = locale.getlocale() if not user_locale: logger.error("Unable to get locale") diff --git a/lutris/util/jobs.py b/lutris/util/jobs.py index 226940fa02..d0f26209d6 100644 --- a/lutris/util/jobs.py +++ b/lutris/util/jobs.py @@ -1,27 +1,59 @@ import sys import threading import traceback -from typing import Callable +from typing import Callable, Optional -from gi.repository import GLib +from gi.repository import GLib # type: ignore from lutris.util.log import logger class AsyncCall(threading.Thread): - def __init__(self, func, callback, *args, **kwargs): + def __init__(self, func, callback, *args, callback_target=None, **kwargs): """Execute `function` in a new thread then schedule `callback` for - execution in the main loop. + execution in the main loop. If 'callback_target' is a widget and it is destroyed + in the meantime, the callback is cancelled. """ self.callback_task = None self.stop_request = threading.Event() super().__init__(target=self.target, args=args, kwargs=kwargs) self.function = func - self.callback = callback if callback else lambda r, e: None + if not callback: + self.callback = lambda r, e: None + else: + self.callback = self._protect_callback(callback, callback_target) self.daemon = kwargs.pop("daemon", True) self.start() + def _protect_callback(self, callback, callback_target=None): + """Wraps and hooks up an on-destroyed handler on the callback_target that + removes the callback; this prevents an AsyncJob from completing on a + destroyed widget, which can cause a crash. + + If no callback_target is given, this will use the receiver of the callback + (if it has one).""" + if not callback_target: + callback_target = callback.__self__ if hasattr(callback, "__self__") else None + + if callback_target and hasattr(callback_target, "call_when_destroyed"): + + def unhook(): + # If the target is destroyed, block the callback; no need to disconnect + # from a dead object. + self.callback = lambda r, e: None + + def fire(r, e): + # Before starting the callback, unhook the on-destroyed callback + # so we don't leak it. + disconnecter() + callback(r, e) + + disconnecter = callback_target.call_when_destroyed(unhook) + return fire + else: + return callback + def target(self, *a, **kw): result = None error = None @@ -48,19 +80,15 @@ class IdleTask: def __init__(self) -> None: """Initializes a task with no connection to a source, but also not completed; this can be connected to a source via the connect() method, unless it is completed first.""" - self.source_id = None + self.source_id: Optional[int] = None self._is_completed = False def unschedule(self) -> None: """Call this to prevent the idle task from running, if it has not already run.""" - if self.is_connected(): + if self.source_id is not None: GLib.source_remove(self.source_id) self.disconnect() - def is_connected(self) -> bool: - """True if the idle task can still be unscheduled. If false, unschedule() will do nothing.""" - return self.source_id is not None - def is_completed(self) -> bool: """True if the idle task has completed; that is, if mark_completed() was called on it.""" return self._is_completed diff --git a/lutris/util/libretro.py b/lutris/util/libretro.py index af8655aae6..52f1346295 100644 --- a/lutris/util/libretro.py +++ b/lutris/util/libretro.py @@ -22,7 +22,7 @@ def config(self): return self._config except UnicodeDecodeError: logger.error( - "The Retroarch config in %s could not " "be read because of character encoding issues", self.config_path + "The Retroarch config in %s could not be read because of character encoding issues", self.config_path ) return [] diff --git a/lutris/util/linux.py b/lutris/util/linux.py index 44490b4748..58b6629a80 100644 --- a/lutris/util/linux.py +++ b/lutris/util/linux.py @@ -8,8 +8,10 @@ import shutil import sys from collections import Counter, defaultdict +from gettext import gettext as _ from lutris import settings +from lutris.exceptions import MisconfigurationError from lutris.util import flatpak, system from lutris.util.graphics import drivers, glxinfo, vkquery from lutris.util.log import logger @@ -32,11 +34,9 @@ "gtk-update-icon-cache", "lspci", "ldconfig", - "wine", ], "OPTIONAL_COMMANDS": [ "fluidsynth", - "lsi-steam", "nvidia-smi", "fluidsynth", ], @@ -71,6 +71,7 @@ "deepin-terminal", "wezterm", "foot", + "ptyxis", ], "LIBRARIES": { "OPENGL": ["libGL.so.1"], @@ -208,12 +209,11 @@ def get_kernel_version(): def gamemode_available(self): """Return whether gamemode is available""" - # Current versions of gamemode use gamemoderun + if missing_arch := self.get_missing_lib_arch("GAMEMODE"): + logger.warning("Missing libgamemode arch: %s", missing_arch) + if system.can_find_executable("gamemoderun"): return True - # This is for old versions of gamemode only - if self.is_feature_supported("GAMEMODE"): - return True return False def nvidia_gamescope_support(self): @@ -535,3 +535,12 @@ def get_default_terminal(): if terms: return terms[0] logger.error("Couldn't find a terminal emulator.") + + +def get_required_default_terminal(): + """Return the default terminal emulator, or raises MisconfigurationError if none can be + found.""" + term = get_default_terminal() + if term: + return term + raise MisconfigurationError(_("No terminal emulator could be detected.")) diff --git a/lutris/util/log.py b/lutris/util/log.py index bbb275d151..ef30d8a9aa 100644 --- a/lutris/util/log.py +++ b/lutris/util/log.py @@ -35,6 +35,7 @@ logger = logging.getLogger(__name__) logger.addHandler(console_handler) logger.setLevel(logging.INFO) +logger.propagate = False def get_log_contents(): diff --git a/lutris/util/magic.py b/lutris/util/magic.py index 8cfcdf1c38..5b9f1ecd3e 100644 --- a/lutris/util/magic.py +++ b/lutris/util/magic.py @@ -23,6 +23,7 @@ import threading from ctypes import POINTER, byref, c_char_p, c_int, c_size_t, c_void_p +# ruff: noqa # avoid shadowing the real open with the version from compat.py _real_open = open @@ -231,11 +232,11 @@ def from_descriptor(fd, mime=False): platform_to_lib = { "darwin": ["/opt/local/lib/libmagic.dylib", "/usr/local/lib/libmagic.dylib"] # Assumes there will only be one version installed - + glob.glob("/usr/local/Cellar/libmagic/*/lib/libmagic.dylib"), # flake8:noqa + + glob.glob("/usr/local/Cellar/libmagic/*/lib/libmagic.dylib"), "win32": windows_dlls, "cygwin": windows_dlls, "linux": ["libmagic.so.1"], - # fallback for some Linuxes (e.g. Alpine) where library search does not work # flake8:noqa + # fallback for some Linuxes (e.g. Alpine) where library search does not work } platform = "linux" if sys.platform.startswith("linux") else sys.platform for dll in platform_to_lib.get(platform, []): diff --git a/lutris/util/portals.py b/lutris/util/portals.py index 18009c734b..2c55e48218 100644 --- a/lutris/util/portals.py +++ b/lutris/util/portals.py @@ -1,6 +1,6 @@ import os from gettext import gettext as _ -from typing import Callable, Iterable +from typing import Callable, Iterable, Optional from gi.repository import Gio, GLib, GObject @@ -21,8 +21,8 @@ class TrashPortal(GObject.Object): def __init__( self, file_paths: Iterable[str], - completion_function: CompletionFunction = None, - error_function: ErrorFunction = None, + completion_function: Optional[CompletionFunction] = None, + error_function: Optional[ErrorFunction] = None, ): super().__init__() self.file_paths = list(file_paths) diff --git a/lutris/util/settings.py b/lutris/util/settings.py index 3e6336a9db..d55bcdbdaf 100644 --- a/lutris/util/settings.py +++ b/lutris/util/settings.py @@ -13,7 +13,7 @@ def __init__(self, config_file): self.config = configparser.ConfigParser() # A notification that fires on each settings change - self.SETTINGS_CHANGED = NotificationSource() # called with (setting-key, new-value) + self.SETTINGS_CHANGED = NotificationSource() # called with (setting-key, new-value, section) if os.path.exists(self.config_file): try: @@ -53,4 +53,4 @@ def write_setting(self, key, value, section="lutris"): with open(self.config_file, "w", encoding="utf-8") as config_file: self.config.write(config_file) - self.SETTINGS_CHANGED.fire(key, value) + self.SETTINGS_CHANGED.fire(key, value, section) diff --git a/lutris/util/steam/shortcut.py b/lutris/util/steam/shortcut.py index 5973666a26..2e00c06f09 100644 --- a/lutris/util/steam/shortcut.py +++ b/lutris/util/steam/shortcut.py @@ -170,17 +170,17 @@ def set_artwork(game): shortcut_id = generate_appid(game) source_cover = resources.get_cover_path(game.slug) source_banner = resources.get_banner_path(game.slug) - target_cover = os.path.join(artwork_path, "{}p.jpg".format(shortcut_id)) - target_banner = os.path.join(artwork_path, "{}_hero.jpg".format(shortcut_id)) - if not system.path_exists(target_cover, exclude_empty=True): - try: - shutil.copyfile(source_cover, target_cover) - logger.debug("Copied %s cover to %s", game, target_cover) - except FileNotFoundError as ex: - logger.error("Failed to copy cover to %s: %s", target_cover, ex) - if not system.path_exists(target_banner, exclude_empty=True): - try: - shutil.copyfile(source_banner, target_banner) - logger.debug("Copied %s cover to %s", game, target_banner) - except FileNotFoundError as ex: - logger.error("Failed to copy banner to %s: %s", target_banner, ex) + source_icon = resources.get_icon_path(game.slug) + assets = [ + ("grid horizontal", source_banner, os.path.join(artwork_path, "{}.jpg".format(shortcut_id))), + ("grid vertical", source_cover, os.path.join(artwork_path, "{}p.jpg".format(shortcut_id))), + ("hero", source_banner, os.path.join(artwork_path, "{}_hero.jpg".format(shortcut_id))), + ("icon", source_icon, os.path.join(artwork_path, "{}_icon.jpg".format(shortcut_id))), + ] + for name, source, target in assets: + if not system.path_exists(target, exclude_empty=True): + try: + shutil.copyfile(source, target) + logger.debug("Copied %s %s asset to %s", game, name, target) + except FileNotFoundError as ex: + logger.error("Failed to copy %s %s asset to %s: %s", game, name, target, ex) diff --git a/lutris/util/steam/steamid.py b/lutris/util/steam/steamid.py index 227b9cd998..f5d0d653c8 100644 --- a/lutris/util/steam/steamid.py +++ b/lutris/util/steam/steamid.py @@ -160,7 +160,10 @@ def from_community_url(cls, steam_id, universe=UNIVERSE_INDIVIDUAL): match = COMMUNITY32_REGEX.match(url.path) if match: if match.group("path") not in TYPE_URL_PATH_MAP[LETTER_TYPE_MAP[match.group("type")]]: - warnings.warn("Community URL ({}) path doesn't " "match type character".format(url.path)) + warnings.warn( + "Community URL ({}) path doesn't match type character".format(url.path), + stacklevel=2, + ) steamid = int(match.group("steamid")) instance = steamid & 1 account_number = (steamid - instance) / 2 @@ -306,7 +309,7 @@ def as_32(self): return "[{}:1:{}]".format(TYPE_LETTER_MAP[self.account_type], self.get_32_bit_community_id()) except KeyError as ex: raise SteamIDError( - "Cannot create 32-bit indentifier for " "SteamID with type {}".format(self.type_name) + "Cannot create 32-bit indentifier for SteamID with type {}".format(self.type_name) ) from ex def get_32_bit_community_id(self): diff --git a/lutris/util/steam/vdf/vdict.py b/lutris/util/steam/vdf/vdict.py index b4111bccb1..72d948c5c4 100644 --- a/lutris/util/steam/vdf/vdict.py +++ b/lutris/util/steam/vdf/vdict.py @@ -7,17 +7,17 @@ import collections as _c -class _kView(_c.KeysView): +class _kView(_c.KeysView): # type: ignore def __iter__(self): return self._mapping.iterkeys() -class _vView(_c.ValuesView): +class _vView(_c.ValuesView): # type: ignore def __iter__(self): return self._mapping.itervalues() -class _iView(_c.ItemsView): +class _iView(_c.ItemsView): # type: ignore def __iter__(self): return self._mapping.iteritems() diff --git a/lutris/util/strings.py b/lutris/util/strings.py index b4d2790f06..50dcbdf71f 100644 --- a/lutris/util/strings.py +++ b/lutris/util/strings.py @@ -8,9 +8,9 @@ import uuid from dataclasses import dataclass from gettext import gettext as _ -from typing import List, Tuple, Union +from typing import List, Optional, Tuple, Union -from gi.repository import GLib +from gi.repository import GLib # type: ignore from lutris.util.log import logger @@ -175,12 +175,15 @@ def destroy_func(_user_data): parser = GLib.MarkupParser() # DEFAULT_FLAGS == 0, but was not defined before GLib 2.74 so # we'll just hard-code the value. - context = GLib.MarkupParseContext(parser, 0, None, destroy_func) + parser_flags: GLib.MarkupParseFlags = 0 # type: ignore + context = GLib.MarkupParseContext.new( + parser=parser, flags=parser_flags, user_data=None, user_data_dnotify=destroy_func + ) markup = f"{text}" context.parse(markup, len(markup)) return True - except GLib.GError: + except GLib.GError: # type: ignore return False @@ -353,7 +356,7 @@ def parse_playtime_parts(text: str) -> PlaytimeParts: return playtime -def _split_arguments(args: str, closing_quot: str = "", quotations: str = None) -> List[str]: +def _split_arguments(args: str, closing_quot: str = "", quotations: Optional[List[str]] = None) -> List[str]: if quotations is None: quotations = ["'", '"'] try: @@ -374,7 +377,7 @@ def split_arguments(args: str) -> List[str]: return _split_arguments(args) -def human_size(size: int) -> str: +def human_size(size: float) -> str: """Shows a size in bytes in a more readable way""" units = ("bytes", "kB", "MB", "GB", "TB", "PB", "nuh uh", "no way", "BS") unit_index = 0 diff --git a/lutris/util/system.py b/lutris/util/system.py index 1135232f7b..9ac346a04d 100644 --- a/lutris/util/system.py +++ b/lutris/util/system.py @@ -13,7 +13,7 @@ from pathlib import Path from typing import Dict, List, Optional, Tuple -from gi.repository import Gio, GLib +from gi.repository import Gio, GLib # type: ignore from lutris import settings from lutris.exceptions import MissingExecutableError @@ -41,11 +41,11 @@ def get_environment(): def execute( command: List[str], - env: Dict[str, str] = None, - cwd: str = None, + env: Optional[Dict[str, str]] = None, + cwd: Optional[str] = None, quiet: bool = False, shell: bool = False, - timeout: float = None, + timeout: Optional[float] = None, ) -> str: """ Execute a system command and return its standard output; standard error is discarded. @@ -66,11 +66,11 @@ def execute( def execute_with_error( command: List[str], - env: Dict[str, str] = None, - cwd: str = None, + env: Optional[Dict[str, str]] = None, + cwd: Optional[str] = None, quiet: bool = False, shell: bool = False, - timeout: float = None, + timeout: Optional[float] = None, ) -> Tuple[str, str]: """ Execute a system command and return its standard output and; standard error in a tuple. @@ -90,12 +90,12 @@ def execute_with_error( def _execute( command: List[str], - env: Dict[str, str] = None, - cwd: str = None, + env: Optional[Dict[str, str]] = None, + cwd: Optional[str] = None, capture_stderr: bool = False, quiet: bool = False, shell: bool = False, - timeout: float = None, + timeout: Optional[float] = None, ) -> Tuple[str, str]: # Check if the executable exists if not command: @@ -292,11 +292,8 @@ def kill_pid(pid): logger.error("Could not kill process %s", pid) -def python_identifier(unsafe_string): +def python_identifier(unsafe_string: str): """Converts a string to something that can be used as a python variable""" - if not isinstance(unsafe_string, str): - logger.error("Cannot convert %s to a python identifier", type(unsafe_string)) - return def _dashrepl(matchobj): return matchobj.group(0).replace("-", "_") @@ -304,7 +301,7 @@ def _dashrepl(matchobj): return re.sub(r"(\${)([\w-]*)(})", _dashrepl, unsafe_string) -def substitute(string_template, variables): +def substitute(string_template: str, variables): """Expand variables on a string template Args: @@ -355,8 +352,8 @@ def merge_folders(source, destination): def remove_folder( path: str, - completion_function: TrashPortal.CompletionFunction = None, - error_function: TrashPortal.ErrorFunction = None, + completion_function: Optional[TrashPortal.CompletionFunction] = None, + error_function: Optional[TrashPortal.ErrorFunction] = None, ) -> None: """Trashes a folder specified by path, asynchronously. The folder likely exists after this returns, since it's using DBus to ask diff --git a/lutris/util/wine/d3d_extras.py b/lutris/util/wine/d3d_extras.py index ff301ac5f2..a7ac7fa4ac 100644 --- a/lutris/util/wine/d3d_extras.py +++ b/lutris/util/wine/d3d_extras.py @@ -54,3 +54,4 @@ class D3DExtrasManager(DLLManager): "d3dcompiler_47", ) releases_url = "https://api.github.com/repos/lutris/d3d_extras/releases" + proton_compatible = True diff --git a/lutris/util/wine/dll_manager.py b/lutris/util/wine/dll_manager.py index 07238b73d5..5f1c4ebfbb 100644 --- a/lutris/util/wine/dll_manager.py +++ b/lutris/util/wine/dll_manager.py @@ -7,6 +7,7 @@ from lutris import settings from lutris.api import get_runtime_versions +from lutris.exceptions import MissingRuntimeComponentError from lutris.util import system from lutris.util.extract import extract_archive from lutris.util.http import download_file @@ -96,8 +97,13 @@ def path(self): """Path to local folder containing DLLs""" version = self.version if not version: - raise RuntimeError( - "No path can be generated for %s because no version information is available." % self.human_name + raise MissingRuntimeComponentError( + _( + "The '%s' runtime component is not installed; " + "visit the Updates tab in the Preferences dialog to install it." + ) + % self.human_name, + component_name=self.name, ) return os.path.join(self.base_dir, version) @@ -310,7 +316,30 @@ def fetch_versions(self): """Get releases from GitHub""" if not os.path.isdir(self.base_dir): os.mkdir(self.base_dir) - download_file(self.releases_url, self.versions_path, overwrite=True) + + versions = [] + urls = [self.releases_url] if isinstance(self.releases_url, str) else self.releases_url + for url in urls: + temp_path = os.path.join("/tmp/", f"{self.name}_versions.json") + logger.info("Fetching versions from %s", url) + try: + download_file(url, temp_path, overwrite=True) + with open(temp_path, "r", encoding="utf-8") as version_file: + releases = json.load(version_file) + versions.extend(releases) + except Exception as e: + logger.warning("Failed to fetch versions from %s: %s", url, e) + finally: + if os.path.exists(temp_path): + os.remove(temp_path) + # TODO: add () for detail of repo (lutris, sarek,..) + # Remove duplicates based on tag_name and sort by tag_name + unique_versions = {v["tag_name"]: v for v in versions} + versions = list(unique_versions.values()) + versions.sort(key=lambda x: x["tag_name"], reverse=True) + + with open(self.versions_path, "w", encoding="utf-8") as version_file: + json.dump(versions, version_file, indent=2) def upgrade(self): if not self.is_available(): diff --git a/lutris/util/wine/dxvk.py b/lutris/util/wine/dxvk.py index a089d5dcff..8afce98259 100644 --- a/lutris/util/wine/dxvk.py +++ b/lutris/util/wine/dxvk.py @@ -13,7 +13,10 @@ class DXVKManager(DLLManager): name = "dxvk" human_name = "DXVK" managed_dlls = ("dxgi", "d3d11", "d3d10core", "d3d9", "d3d8") - releases_url = "https://api.github.com/repos/lutris/dxvk/releases" + releases_url = [ + "https://api.github.com/repos/lutris/dxvk/releases", + "https://api.github.com/repos/pythonlover02/DXVK-Sarek/releases", + ] def can_enable(self): if os.environ.get("LUTRIS_NO_VKQUERY"): diff --git a/lutris/util/wine/dxvk_nvapi.py b/lutris/util/wine/dxvk_nvapi.py index a9a729b0d6..9aebf63838 100644 --- a/lutris/util/wine/dxvk_nvapi.py +++ b/lutris/util/wine/dxvk_nvapi.py @@ -11,9 +11,18 @@ class DXVKNVAPIManager(DLLManager): human_name = "DXVK-NVAPI" # apparently, nvofapi.dll (the 32 bit version) is not being included here - # see https://github.com/jp7677/dxvk-nvapi/pull/213 - managed_dlls = ("nvapi", "nvapi64", "nvml", "nvofapi64") + managed_dlls = ( + "nvapi", + "nvapi64", + "nvofapi64", + "nvoptix", + "nvencodeapi", + "nvencodeapi64", + "nvcuvid", + "nvcuda", + ) releases_url = "https://api.github.com/repos/lutris/dxvk-nvapi/releases" - dlss_dlls = ("nvngx", "_nvngx") + dlss_dlls = ("nvngx", "_nvngx", "nvngx_dlssg") def can_enable(self): return LINUX_SYSTEM.is_vulkan_supported() diff --git a/lutris/util/wine/extract_icon.py b/lutris/util/wine/extract_icon.py index c74754912a..d062fde32a 100644 --- a/lutris/util/wine/extract_icon.py +++ b/lutris/util/wine/extract_icon.py @@ -1,7 +1,36 @@ +""" +The MIT License (MIT) + +Copyright (c) 2015-2016 Fadhil Mandaga +Copyright (c) 2019-2025 James Lu +Copyright (c) 2025 Hoang Cao Tri + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +""" + # pylint: disable=no-member +import logging import struct from io import BytesIO +from PIL import Image + try: import pefile @@ -10,145 +39,160 @@ pefile = None PEFILE_AVAILABLE = False -from PIL import Image - -# From https://github.com/firodj/extract-icon-py - - -class ExtractIcon(object): - GRPICONDIRENTRY_format = ( - "GRPICONDIRENTRY", - ("B,Width", "B,Height", "B,ColorCount", "B,Reserved", "H,Planes", "H,BitCount", "I,BytesInRes", "H,ID"), - ) - GRPICONDIR_format = ("GRPICONDIR", ("H,Reserved", "H,Type", "H,Count")) - RES_ICON = 1 - RES_CURSOR = 2 - - def __init__(self, filepath): - self.pe = pefile.PE(filepath) - - def find_resource_base(self, res_type): - if hasattr(self.pe, "DIRECTORY_ENTRY_RESOURCE"): - try: - rt_base_idx = [entry.id for entry in self.pe.DIRECTORY_ENTRY_RESOURCE.entries].index( - pefile.RESOURCE_TYPE[res_type] - ) - - if rt_base_idx is not None: - return self.pe.DIRECTORY_ENTRY_RESOURCE.entries[rt_base_idx] - except (ValueError, IndexError): - pass # if the resource is not found or the index is bogus - - return None - - def find_resource(self, res_type, res_index): - rt_base_dir = self.find_resource_base(res_type) - - if not rt_base_dir: - return None - - if res_index < 0: - try: - idx = [entry.id for entry in rt_base_dir.directory.entries].index(-res_index) - except: - return None - else: - idx = res_index if res_index < len(rt_base_dir.directory.entries) else None - - if idx is None: +GRPICONDIRENTRY_FORMAT = ( + "GRPICONDIRENTRY", + ("B,Width", "B,Height", "B,ColorCount", "B,Reserved", "H,Planes", "H,BitCount", "I,BytesInRes", "H,ID"), +) +GRPICONDIR_FORMAT = ("GRPICONDIR", ("H,Reserved", "H,Type", "H,Count")) + +logger = logging.getLogger("icoextract") +logging.basicConfig() + + +class IconExtractorError(Exception): + """Superclass for exceptions raised by IconExtractor.""" + + +class IconNotFoundError(IconExtractorError): + """Exception raised when extracting an icon index or resource ID that does not exist.""" + + +class NoIconsAvailableError(IconExtractorError): + """Exception raised when the input program has no icon resources.""" + + +class InvalidIconDefinitionError(IconExtractorError): + """Exception raised when the input program has an invalid icon resource.""" + + +class IconExtractor: + def __init__(self, filename=None, data=None): + """ + Loads an executable from the given `filename` or `data` (raw bytes). + As with pefile, if both `filename` and `data` are given, `filename` takes precedence. + + If the executable has contains no icons, this will raise `NoIconsAvailableError`. + """ + # Use fast loading and explicitly load the RESOURCE directory entry. This saves a LOT of time + # on larger files + self._pe = pefile.PE(name=filename, data=data, fast_load=True) + self._pe.parse_data_directories(pefile.DIRECTORY_ENTRY["IMAGE_DIRECTORY_ENTRY_RESOURCE"]) + + if not hasattr(self._pe, "DIRECTORY_ENTRY_RESOURCE"): + raise NoIconsAvailableError("File has no resources") + + # Reverse the list of entries before making the mapping so that earlier values take precedence + # When an executable includes multiple icon resources, we should use only the first one. + # pylint: disable=no-member + resources = {rsrc.id: rsrc for rsrc in reversed(self._pe.DIRECTORY_ENTRY_RESOURCE.entries)} + + self.groupiconres = resources.get(pefile.RESOURCE_TYPE["RT_GROUP_ICON"]) + if not self.groupiconres: + raise NoIconsAvailableError("File has no group icon resources") + self.rticonres = resources.get(pefile.RESOURCE_TYPE["RT_ICON"]) + + # Populate resources by ID + self._group_icons = {entry.struct.Name: idx for idx, entry in enumerate(self.groupiconres.directory.entries)} + self._icons = { + icon_entry_list.id: icon_entry_list.directory.entries[0] # Select first language + for icon_entry_list in self.rticonres.directory.entries + } + + def _get_icon(self, index: int = 0): + """ + Returns the specified group icon in the binary. + + Result is a list of (group icon structure, icon data) tuples. + """ + try: + groupicon = self.groupiconres.directory.entries[index] + except IndexError: + raise IconNotFoundError(f"No icon exists at index {index}") from None + resource_id = groupicon.struct.Name + icon_lang = None + if groupicon.struct.DataIsDirectory: + # Select the first language from subfolders as needed. + groupicon = groupicon.directory.entries[0] + icon_lang = groupicon.struct.Name + logger.debug("Picking first language %s", icon_lang) + + # Read the data pointed to by the group icon directory (GRPICONDIR) struct. + rva = groupicon.data.struct.OffsetToData + grp_icon_data = self._pe.get_data(rva, groupicon.data.struct.Size) + file_offset = self._pe.get_offset_from_rva(rva) + + grp_icon_dir = self._pe.__unpack_data__(GRPICONDIR_FORMAT, grp_icon_data, file_offset) + logger.debug( + "Group icon %d has ID %s and %d images: %s", + # pylint: disable=no-member + index, + resource_id, + grp_icon_dir.Count, + grp_icon_dir, + ) + + # pylint: disable=no-member + if grp_icon_dir.Reserved: + # pylint: disable=no-member + raise InvalidIconDefinitionError( + "Invalid group icon definition (got Reserved=%s instead of 0)" % hex(grp_icon_dir.Reserved) + ) + + # For each group icon entry (GRPICONDIRENTRY) that immediately follows, read the struct and look up the + # corresponding icon image + grp_icons = [] + icon_offset = grp_icon_dir.sizeof() + for grp_icon_index in range(grp_icon_dir.Count): + grp_icon = self._pe.__unpack_data__( + GRPICONDIRENTRY_FORMAT, grp_icon_data[icon_offset:], file_offset + icon_offset + ) + icon_offset += grp_icon.sizeof() + logger.debug("Got group icon entry %d: %s", grp_icon_index, grp_icon) + + icon_entry = self._icons[grp_icon.ID] + icon_data = self._pe.get_data(icon_entry.data.struct.OffsetToData, icon_entry.data.struct.Size) + logger.debug("Got icon data for ID %d: %s", grp_icon.ID, icon_entry.data.struct) + grp_icons.append((grp_icon, icon_data)) + return grp_icons + + def get_best_icon(self, size=128): + """ + Extract best matching icon closest to specified size + + Returns PIL Image object or None if extraction fails + """ + icons = self._get_icon() + best_score = -1 + icon = None + + for grp_icon, icon_data in icons: + width = grp_icon.Width or 256 + height = grp_icon.Height or 256 + bit_count = grp_icon.BitCount or 32 + + score = (1 << 20) if (width == size and height == size) else (bit_count << 10) + (width * height) + if score > best_score: + best_score = score + icon = (grp_icon, icon_data) + if not icon: return None - test_res_dir = rt_base_dir.directory.entries[idx] - res_dir = test_res_dir - if test_res_dir.struct.DataIsDirectory: - # another Directory - # probably language take the first one - res_dir = test_res_dir.directory.entries[0] - if res_dir.struct.DataIsDirectory: - # Ooooooooooiconoo no !! another Directory !!! - return None - - return res_dir - - def get_group_icons(self): - rt_base_dir = self.find_resource_base("RT_GROUP_ICON") - - if not rt_base_dir: - return [] - - groups = [] - for res_index in range(0, len(rt_base_dir.directory.entries)): - grp_icon_dir_entry = self.find_resource("RT_GROUP_ICON", res_index) - - if not grp_icon_dir_entry: - continue - - data_rva = grp_icon_dir_entry.data.struct.OffsetToData - size = grp_icon_dir_entry.data.struct.Size - data = self.pe.get_memory_mapped_image()[data_rva : data_rva + size] - file_offset = self.pe.get_offset_from_rva(data_rva) - - grp_icon_dir = pefile.Structure(self.GRPICONDIR_format, file_offset=file_offset) - grp_icon_dir.__unpack__(data) - - if grp_icon_dir.Reserved != 0 or grp_icon_dir.Type != self.RES_ICON: - continue - offset = grp_icon_dir.sizeof() - - entries = [] - for _idx in range(0, grp_icon_dir.Count): - grp_icon = pefile.Structure(self.GRPICONDIRENTRY_format, file_offset=file_offset + offset) - grp_icon.__unpack__(data[offset:]) - offset += grp_icon.sizeof() - entries.append(grp_icon) - - groups.append(entries) - return groups - - def get_icon(self, index): - icon_entry = self.find_resource("RT_ICON", -index) - if not icon_entry: - return None - - data_rva = icon_entry.data.struct.OffsetToData - size = icon_entry.data.struct.Size - data = self.pe.get_memory_mapped_image()[data_rva : data_rva + size] - - return data - - def export_raw(self, entries, index=None): - if index is not None: - entries = entries[index : index + 1] - - ico = struct.pack("\n" "__NR_" + syscall_name + "\n") + stdout, stderr = popen.communicate("#include \n__NR_" + syscall_name + "\n") except FileNotFoundError as ex: raise RuntimeError( - "failed to determine " + syscall_name + " syscall number: " "cpp not installed or not in PATH" + "failed to determine " + syscall_name + " syscall number: cpp not installed or not in PATH" ) from ex if popen.returncode: raise RuntimeError( - "failed to determine " + syscall_name + " syscall number: " "cpp returned nonzero exit code", stderr + "failed to determine " + syscall_name + " syscall number: cpp returned nonzero exit code", stderr ) if not stdout: - raise RuntimeError("failed to determine " + syscall_name + " syscall number: " "no output from cpp") + raise RuntimeError("failed to determine " + syscall_name + " syscall number: no output from cpp") last_line = stdout.splitlines()[-1] if last_line == "__NR_futex": raise RuntimeError( - "failed to determine " + syscall_name + " syscall number: " "__NR_" + syscall_name + " not expanded" + "failed to determine " + syscall_name + " syscall number: __NR_" + syscall_name + " not expanded" ) try: diff --git a/lutris/util/wine/prefix.py b/lutris/util/wine/prefix.py index 75a8b1832e..8de4431b55 100644 --- a/lutris/util/wine/prefix.py +++ b/lutris/util/wine/prefix.py @@ -9,9 +9,17 @@ from lutris.util.wine.registry import WineRegistry from lutris.util.xdgshortcuts import get_xdg_entry -DESKTOP_KEYS = ["Desktop", "Personal", "My Music", "My Videos", "My Pictures"] -DEFAULT_DESKTOP_FOLDERS = ["Desktop", "Documents", "Music", "Videos", "Pictures"] -DESKTOP_XDG = ["DESKTOP", "DOCUMENTS", "MUSIC", "VIDEOS", "PICTURES"] +DESKTOP_KEYS = [ + "Desktop", + "Personal", + "My Music", + "My Videos", + "My Pictures", + "{374DE290-123F-4565-9164-39C4925E467B}", # Downloads + "Templates", +] +DEFAULT_DESKTOP_FOLDERS = ["Desktop", "Documents", "Music", "Videos", "Pictures", "Downloads"] +DESKTOP_XDG = ["DESKTOP", "DOCUMENTS", "MUSIC", "VIDEOS", "PICTURES", "DOWNLOADS"] DEFAULT_DLL_OVERRIDES = { "winemenubuilder": "", } @@ -156,7 +164,7 @@ def install_desktop_integration(self): folders in your home directory.""" user_dir = self.user_dir home_dir = os.path.expanduser("~") - current_dir = self._get_desktop_integration_assignment() or user_dir + current_dir = self._get_desktop_integration_assignment() if system.path_exists(user_dir, check_symlinks=True) and current_dir != home_dir: desktop_folders = self.get_desktop_folders() @@ -180,7 +188,7 @@ def install_desktop_integration(self): def remove_desktop_integration(self): """Replace the desktop integration links with proper folders.""" user_dir = self.user_dir - current_dir = self._get_desktop_integration_assignment() or user_dir + current_dir = self._get_desktop_integration_assignment() if system.path_exists(user_dir) and current_dir != user_dir: desktop_folders = self.get_desktop_folders() diff --git a/lutris/util/wine/proton.py b/lutris/util/wine/proton.py index cdef329971..db1217d9c4 100644 --- a/lutris/util/wine/proton.py +++ b/lutris/util/wine/proton.py @@ -13,7 +13,6 @@ from lutris.util.strings import get_natural_sort_key DEFAULT_GAMEID = "umu-default" -PROTON_DIR: str = os.path.join(settings.RUNNER_DIR, "proton") def is_proton_version(version: Optional[str]) -> bool: @@ -22,7 +21,7 @@ def is_proton_version(version: Optional[str]) -> bool: return version in get_proton_versions() -def is_umu_path(path: str) -> bool: +def is_umu_path(path: Optional[str]) -> bool: """True if the path given actually runs Umu; this will run Proton-Wine in turn, but can be directed to particular Proton implementation by setting the env-var PROTONPATH, but if this is omitted it will default to the latest Proton it @@ -30,7 +29,7 @@ def is_umu_path(path: str) -> bool: return bool(path and (path.endswith("/umu_run.py") or path.endswith("/umu-run"))) -def is_proton_path(wine_path: str) -> bool: +def is_proton_path(wine_path: Optional[str]) -> bool: """True if the path given actually runs Umu; this will run Proton-Wine in turn, but can be directed to particular Proton implementation by setting the env-var PROTONPATH, but if this is omitted it will default to the latest Proton it @@ -38,6 +37,8 @@ def is_proton_path(wine_path: str) -> bool: This function may be given the wine root directory or a file within such as the wine executable and will return true for either.""" + if not wine_path: + return True for candidate_wine_path in get_proton_versions().values(): if system.path_contains(candidate_wine_path, wine_path): return True @@ -129,15 +130,16 @@ def get_proton_versions() -> Dict[str, str]: for proton_path in _iter_proton_locations(): if os.path.isdir(proton_path): for version in os.listdir(proton_path): - wine_path = os.path.join(proton_path, version) - if os.path.isfile(os.path.join(wine_path, "proton")): - versions[version] = wine_path + if version not in versions: + wine_path = os.path.join(proton_path, version) + if os.path.isfile(os.path.join(wine_path, "proton")): + versions[version] = wine_path return versions def _iter_proton_locations() -> Generator[str, None, None]: """Iterate through all potential Proton locations""" - yield PROTON_DIR + yield settings.WINE_DIR try: steamapp_dirs = get_steamapps_dirs() @@ -151,7 +153,7 @@ def _iter_proton_locations() -> Generator[str, None, None]: yield path -def update_proton_env(wine_path: str, env: Dict[str, str], game_id: str = DEFAULT_GAMEID, umu_log: str = None) -> None: +def update_proton_env(wine_path: str, env: Dict[str, str], game_id: str = DEFAULT_GAMEID, umu_log: str = "") -> None: """Add various env-vars to an 'env' dict for use by Proton and Umu; this won't replace env-vars, so they can still be pre-set before we get here. This sets the PROTONPATH so the Umu launcher will know what Proton to use, and the WINEARCH to win64, which is what we expect Proton to always be. GAMEID is required, but we'll use a default @@ -159,7 +161,7 @@ def update_proton_env(wine_path: str, env: Dict[str, str], game_id: str = DEFAUL This also propagates LC_ALL to HOST_LC_ALL, if LC_ALL is set.""" - if "PROTONPATH" not in env: + if "PROTONPATH" not in env and not is_umu_path(wine_path): env["PROTONPATH"] = get_proton_path_by_path(wine_path) if "GAMEID" not in env: diff --git a/lutris/util/wine/registry.py b/lutris/util/wine/registry.py index 2a3a99231e..5c680f50ad 100644 --- a/lutris/util/wine/registry.py +++ b/lutris/util/wine/registry.py @@ -154,8 +154,7 @@ def save(self, path=None): prefix_path = os.path.dirname(path) if not os.path.isdir(prefix_path): raise OSError( - "Invalid Wine prefix path %s, make sure to " - "create the prefix before saving to a registry" % prefix_path + "Invalid Wine prefix path %s, make sure to create the prefix before saving to a registry" % prefix_path ) with open(path, "w", encoding="utf-8") as registry_file: registry_file.write(self.render()) diff --git a/lutris/util/wine/wine.py b/lutris/util/wine/wine.py index 0e15b4615d..f21642db58 100644 --- a/lutris/util/wine/wine.py +++ b/lutris/util/wine/wine.py @@ -3,19 +3,17 @@ import os from collections import OrderedDict from gettext import gettext as _ -from typing import Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Set, Tuple -from lutris import settings -from lutris.api import get_default_wine_runner_version_info -from lutris.exceptions import MisconfigurationError, UnavailableRunnerError, UnspecifiedVersionError +from lutris.exceptions import MisconfigurationError, UnspecifiedVersionError +from lutris.settings import WINE_DIR from lutris.util import cache_single, linux, system from lutris.util.log import logger from lutris.util.strings import get_natural_sort_key, parse_version from lutris.util.wine import fsync, proton -WINE_DIR: str = os.path.join(settings.RUNNER_DIR, "wine") - WINE_DEFAULT_ARCH: str = "win64" if linux.LINUX_SYSTEM.is_64_bit else "win32" +GE_PROTON_LATEST: str = "ge-proton" WINE_PATHS: Dict[str, str] = { "winehq-devel": "/opt/wine-devel/bin/wine", "winehq-staging": "/opt/wine-staging/bin/wine", @@ -37,7 +35,7 @@ logger.exception("Unable to enumerate system Wine versions: %s", ex) -def detect_arch(prefix_path: str = None, wine_path: str = None) -> str: +def detect_arch(prefix_path: Optional[str] = None, wine_path: Optional[str] = None) -> str: """Given a Wine prefix path, return its architecture""" if wine_path: if proton.is_proton_path(wine_path) or system.path_exists(wine_path + "64"): @@ -117,7 +115,7 @@ def list_lutris_wine_versions() -> List[str]: versions = [] for dirname in version_sort(os.listdir(WINE_DIR), reverse=True): try: - wine_path = get_wine_path_for_version(version=dirname) + wine_path = os.path.join(WINE_DIR, dirname, "bin/wine") if wine_path and os.path.isfile(wine_path): versions.append(dirname) except MisconfigurationError: @@ -127,8 +125,25 @@ def list_lutris_wine_versions() -> List[str]: @cache_single def get_installed_wine_versions() -> List[str]: - """Return the list of Wine versions installed""" - return list_system_wine_versions() + proton.list_proton_versions() + list_lutris_wine_versions() + """Return the list of Wine versions installed, with no duplicates and in + the presentation order.""" + versions: Set[str] = { + GE_PROTON_LATEST, + } + + for v in proton.list_proton_versions(): + if v not in versions: + versions.add(v) + + for v in list_lutris_wine_versions(): + if v not in versions: + versions.add(v) + + for v in list_system_wine_versions(): + if v not in versions: + versions.add(v) + + return list(versions) def clear_wine_version_cache() -> None: @@ -141,15 +156,17 @@ def get_runner_files_dir_for_version(version: str) -> Optional[str]: """This returns the path to the root of the Wine files for a specific version. The 'bin' directory for that version is there, and we can place more directories there. If we shouldn't do that, this will return None.""" + if version == GE_PROTON_LATEST: + return None if version in WINE_PATHS: return None elif proton.is_proton_version(version): - return os.path.join(proton.PROTON_DIR, version, "files") + return os.path.join(WINE_DIR, version, "files") else: return os.path.join(WINE_DIR, version) -def get_wine_path_for_version(version: str, config: dict = None) -> str: +def get_wine_path_for_version(version: str, config: Optional[dict] = None) -> str: """Return the absolute path of a wine executable for a given version, or the configured version if you don't ask for a version.""" if not version and config: @@ -158,6 +175,8 @@ def get_wine_path_for_version(version: str, config: dict = None) -> str: if not version: raise UnspecifiedVersionError(_("The Wine version must be specified.")) + if version == GE_PROTON_LATEST: + return proton.get_umu_path() if version in WINE_PATHS: return system.find_required_executable(WINE_PATHS[version]) if proton.is_proton_version(version): @@ -182,10 +201,10 @@ def parse_wine_version(version: str) -> Tuple[List[int], str, str]: def version_sort(versions: List[str], reverse: bool = False) -> List[str]: - def version_key(version): + def version_key(version: str) -> List[Any]: version_list, prefix, suffix = parse_wine_version(version) # Normalize the length of sub-versions - sort_key = version_list + [0] * (10 - len(version_list)) + sort_key: List[Any] = list(version_list) + [0] * (10 - len(version_list)) sort_key.append(prefix) sort_key.append(suffix) return sort_key @@ -205,15 +224,7 @@ def is_fsync_supported() -> bool: def get_default_wine_version() -> str: """Return the default version of wine.""" - installed_versions = get_installed_wine_versions() - if installed_versions: - default_version = get_default_wine_runner_version_info() - if default_version and "version" in default_version and "architecture" in default_version: - version = default_version["version"] + "-" + default_version["architecture"] - if version in installed_versions: - return version - return installed_versions[0] - raise UnavailableRunnerError(_("No versions of Wine are installed.")) + return GE_PROTON_LATEST def get_system_wine_version(wine_path: str = "wine") -> str: @@ -231,7 +242,7 @@ def get_system_wine_version(wine_path: str = "wine") -> str: return version -def get_real_executable(windows_executable: str, working_dir: str) -> Tuple[str, List[str], str]: +def get_real_executable(windows_executable: str, working_dir: Optional[str]) -> Tuple[str, List[str], Optional[str]]: """Given a Windows executable, return the real program capable of launching it along with necessary arguments.""" @@ -259,7 +270,9 @@ def get_overrides_env(overrides: Dict[str, str]) -> str: """ default_overrides = {"winemenubuilder": ""} overrides.update(default_overrides) - override_buckets = OrderedDict([("n,b", []), ("b,n", []), ("b", []), ("n", []), ("d", []), ("", [])]) + override_buckets: Dict[str, List] = OrderedDict( + [("n,b", []), ("b,n", []), ("b", []), ("n", []), ("d", []), ("", [])] + ) for dll, value in overrides.items(): if not value: value = "" diff --git a/lutris/util/xdgshortcuts.py b/lutris/util/xdgshortcuts.py index 217cd32713..0b7bdd189e 100644 --- a/lutris/util/xdgshortcuts.py +++ b/lutris/util/xdgshortcuts.py @@ -29,6 +29,8 @@ def get_xdg_entry(directory): "PICTURES": GLib.UserDirectory.DIRECTORY_PICTURES, "VIDEOS": GLib.UserDirectory.DIRECTORY_VIDEOS, "DOCUMENTS": GLib.UserDirectory.DIRECTORY_DOCUMENTS, + "DOWNLOADS": GLib.UserDirectory.DIRECTORY_DOWNLOAD, + "TEMPLATES": GLib.UserDirectory.DIRECTORY_TEMPLATES, } directory = directory.upper() if directory not in special_dir: @@ -65,7 +67,7 @@ def create_launcher(game_slug, game_id, game_name, launch_config_name=None, desk # field code in the Exec key. command = f"{lutris_executable} {shlex.quote(url)}".replace("%", "%%") - try_exec = "" if LINUX_SYSTEM.is_flatpak() else "lutris" + try_exec = "" if LINUX_SYSTEM.is_flatpak() else "TryExec=lutris" launcher_content = dedent( """ @@ -75,7 +77,7 @@ def create_launcher(game_slug, game_id, game_name, launch_config_name=None, desk Icon={} Exec=env LUTRIS_SKIP_INIT=1 {} Categories=Game - TryExec={} + {} """.format(game_name, f"lutris_{game_slug}", command, try_exec) ) diff --git a/lutris/util/yaml.py b/lutris/util/yaml.py index fec23cba7b..d8f1ecd1f6 100644 --- a/lutris/util/yaml.py +++ b/lutris/util/yaml.py @@ -2,8 +2,10 @@ import os -# pylint: disable=no-member import yaml +from yaml.parser import ParserError +from yaml.scanner import ScannerError +from gi.repository import Gtk from lutris.util.log import logger from lutris.util.system import path_exists @@ -16,13 +18,16 @@ def read_yaml_from_file(filename: str) -> dict: with open(filename, "r", encoding="utf-8") as yaml_file: try: yaml_content = yaml.safe_load(yaml_file) or {} - except (yaml.scanner.ScannerError, yaml.parser.ParserError): + except (ScannerError, ParserError): logger.error("error parsing file %s", filename) yaml_content = {} return yaml_content -def write_yaml_to_file(config: dict, filepath: str) -> None: +def write_yaml_to_file(config: dict, filepath: str | None) -> None: + if not filepath: + logger.error("filepath is None") + return yaml_config = yaml.safe_dump(config, default_flow_style=False) temp_path = filepath + ".tmp" @@ -33,3 +38,24 @@ def write_yaml_to_file(config: dict, filepath: str) -> None: finally: if os.path.isfile(temp_path): os.unlink(temp_path) + + +def save_yaml_as(config: dict, default_name: str) -> None: + dialog = Gtk.FileChooserNative.new( + title="Save as", parent=None, action=Gtk.FileChooserAction.SAVE, accept_label="_Save", cancel_label="_Cancel" + ) + dialog.set_current_name(default_name) + dialog.set_do_overwrite_confirmation(True) + _yaml = Gtk.FileFilter() + _yaml.set_name("YAML files") + _yaml.add_pattern("*.yaml") + _yaml.add_pattern("*.yml") + dialog.add_filter(_yaml) + + try: + response = dialog.run() + if response == Gtk.ResponseType.ACCEPT: + if file := dialog.get_file(): + write_yaml_to_file(config, file.get_path()) + finally: + dialog.destroy() diff --git a/meson.build b/meson.build index 42d2124177..bd16e2359a 100644 --- a/meson.build +++ b/meson.build @@ -4,6 +4,8 @@ project( meson_version: '>=0.46.0', ) +run_command('sh', 'version.sh') + # Find Python installation python = import('python').find_installation() diff --git a/po/LINGUAS b/po/LINGUAS index e3adfbb3aa..96649925d9 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,4 +1,5 @@ ar +be de el es @@ -9,9 +10,11 @@ hr it ka ko +nb nl pl pt_BR ru tr +vi zh_CN diff --git a/po/POTFILES b/po/POTFILES index 1fa591781c..d2bedd2af2 100644 --- a/po/POTFILES +++ b/po/POTFILES @@ -1,4 +1,4 @@ -# generated on 2023-12-06T11:10:35+00:00 +# generated on 2025-12-13T11:09:02+00:00 share/applications/net.lutris.Lutris.desktop share/metainfo/net.lutris.Lutris.metainfo.xml @@ -12,15 +12,16 @@ share/lutris/ui/uninstall-dialog.ui lutris/api.py lutris/cache.py -lutris/command.py lutris/config.py lutris/database/categories.py lutris/database/games.py lutris/database/__init__.py +lutris/database/saved_searches.py lutris/database/schema.py lutris/database/services.py lutris/database/sources.py lutris/database/sql.py +lutris/exception_backstops.py lutris/exceptions.py lutris/game_actions.py lutris/game.py @@ -30,10 +31,11 @@ lutris/gui/config/accounts_box.py lutris/gui/config/add_game_dialog.py lutris/gui/config/base_config_box.py lutris/gui/config/boxes.py -lutris/gui/config/common.py lutris/gui/config/edit_category_games.py lutris/gui/config/edit_game_categories.py lutris/gui/config/edit_game.py +lutris/gui/config/edit_saved_search.py +lutris/gui/config/game_common.py lutris/gui/config/__init__.py lutris/gui/config/preferences_box.py lutris/gui/config/preferences_dialog.py @@ -44,6 +46,7 @@ lutris/gui/config/services_box.py lutris/gui/config/storage_box.py lutris/gui/config/sysinfo_box.py lutris/gui/config/updates_box.py +lutris/gui/config/widget_generator.py lutris/gui/dialogs/cache.py lutris/gui/dialogs/delegates.py lutris/gui/dialogs/download.py @@ -51,8 +54,9 @@ lutris/gui/dialogs/game_import.py lutris/gui/dialogs/__init__.py lutris/gui/dialogs/issue.py lutris/gui/dialogs/log.py +lutris/gui/dialogs/move_game.py lutris/gui/dialogs/runner_install.py -lutris/gui/dialogs/uninstall_game.py +lutris/gui/dialogs/uninstall_dialog.py lutris/gui/dialogs/webconnect_dialog.py lutris/gui/download_queue.py lutris/gui/__init__.py @@ -84,7 +88,7 @@ lutris/gui/widgets/navigation_stack.py lutris/gui/widgets/notifications.py lutris/gui/widgets/progress_box.py lutris/gui/widgets/scaled_image.py -lutris/gui/widgets/searchable_combobox.py +lutris/gui/widgets/searchable_entrybox.py lutris/gui/widgets/sidebar.py lutris/gui/widgets/status_icon.py lutris/gui/widgets/utils.py @@ -97,15 +101,17 @@ lutris/installer/installer_file_collection.py lutris/installer/installer_file.py lutris/installer/installer.py lutris/installer/interpreter.py -lutris/installer/legacy.py lutris/installer/steam_installer.py lutris/migrations/__init__.py lutris/migrations/mess_to_mame.py -lutris/migrations/migrate_banners.py +lutris/migrations/migrate_banners_back.py +lutris/migrations/migrate_ge_proton.py +lutris/migrations/migrate_hidden_category.py lutris/migrations/migrate_hidden_ids.py lutris/migrations/migrate_sortname.py lutris/migrations/migrate_steam_appids.py lutris/migrations/retrieve_discord_appids.py +lutris/monitored_command.py lutris/runner_interpreter.py lutris/runners/atari800.py lutris/runners/cemu.py @@ -114,6 +120,7 @@ lutris/runners/commands/__init__.py lutris/runners/commands/wine.py lutris/runners/dolphin.py lutris/runners/dosbox.py +lutris/runners/duckstation.py lutris/runners/easyrpg.py lutris/runners/flatpak.py lutris/runners/fsuae.py @@ -140,6 +147,7 @@ lutris/runners/scummvm.py lutris/runners/snes9x.py lutris/runners/steam.py lutris/runners/vice.py +lutris/runners/vita3k.py lutris/runners/web.py lutris/runners/wine.py lutris/runners/xemu.py @@ -151,6 +159,8 @@ lutris/scanners/__init__.py lutris/scanners/lutris.py lutris/scanners/retroarch.py lutris/scanners/tosec.py +lutris/search_predicate.py +lutris/search.py lutris/services/amazon.py lutris/services/base.py lutris/services/battlenet.py @@ -167,6 +177,7 @@ lutris/services/mame.py lutris/services/scummvm.py lutris/services/service_game.py lutris/services/service_media.py +lutris/services/steamfamily.py lutris/services/steam.py lutris/services/steamwindows.py lutris/services/ubisoft.py @@ -178,10 +189,10 @@ lutris/sysoptions.py lutris/util/amazon/__init__.py lutris/util/amazon/protobuf_decoder.py lutris/util/amazon/sds_proto2.py -lutris/util/audio.py lutris/util/battlenet/definitions.py lutris/util/battlenet/__init__.py lutris/util/battlenet/product_db_pb2.py +lutris/util/busy.py lutris/util/cookies.py lutris/util/datapath.py lutris/util/discord/base.py @@ -197,6 +208,7 @@ lutris/util/egs/egs_launcher.py lutris/util/egs/__init__.py lutris/util/extract.py lutris/util/fileio.py +lutris/util/files.py lutris/util/flatpak.py lutris/util/gamecontrollerdb.py lutris/util/game_finder.py @@ -204,6 +216,7 @@ lutris/util/gog.py lutris/util/graphics/displayconfig.py lutris/util/graphics/drivers.py lutris/util/graphics/glxinfo.py +lutris/util/graphics/gpu.py lutris/util/graphics/__init__.py lutris/util/graphics/vkquery.py lutris/util/graphics/xephyr.py @@ -213,6 +226,7 @@ lutris/util/i18n.py lutris/util/__init__.py lutris/util/jobs.py lutris/util/joypad.py +lutris/util/library_sync.py lutris/util/libretro.py lutris/util/linux.py lutris/util/log.py @@ -222,11 +236,13 @@ lutris/util/mame/ini.py lutris/util/mame/__init__.py lutris/util/moddb.py lutris/util/nvidia.py +lutris/util/path_cache.py lutris/util/portals.py lutris/util/process.py lutris/util/process_watcher.py lutris/util/resources.py lutris/util/retroarch/core_config.py +lutris/util/retroarch/firmware.py lutris/util/savesync.py lutris/util/settings.py lutris/util/shell.py @@ -244,6 +260,7 @@ lutris/util/strings.py lutris/util/system.py lutris/util/test_config.py lutris/util/timer.py +lutris/util/tokenization.py lutris/util/ubisoft/client.py lutris/util/ubisoft/consts.py lutris/util/ubisoft/helpers.py @@ -259,8 +276,8 @@ lutris/util/wine/extract_icon.py lutris/util/wine/fsync.py lutris/util/wine/__init__.py lutris/util/wine/prefix.py +lutris/util/wine/proton.py lutris/util/wine/registry.py -lutris/util/wine/shader_cache.py lutris/util/wine/vkd3d.py lutris/util/wine/wine.py lutris/util/xdgshortcuts.py diff --git a/po/README.md b/po/README.md index 903e78e8a1..f5dc9b0e82 100644 --- a/po/README.md +++ b/po/README.md @@ -16,7 +16,7 @@ Run the following command to update: ./po/generate-potfiles.sh ``` -## Updating a translations +## Updating a translation ```bash meson builddir diff --git a/po/be.po b/po/be.po new file mode 100644 index 0000000000..7c2fc12089 --- /dev/null +++ b/po/be.po @@ -0,0 +1,8067 @@ +# This file is distributed under the same license as the lutris package. +# Aliaksandr Trush , 2025. +# Aliaksandr Truš , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: lutris\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-16 16:07+0200\n" +"PO-Revision-Date: 2025-08-24 23:01+0200\n" +"Last-Translator: Aliaksandr Truš \n" +"Language-Team: Belarusian\n" +"Language: be\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: Gtranslator 48.0\n" + +#: share/applications/net.lutris.Lutris.desktop:2 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:13 +#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 +#: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 +#: lutris/services/lutris.py:49 lutris/sysoptions.py:80 lutris/sysoptions.py:90 +#: lutris/sysoptions.py:102 +msgid "Lutris" +msgstr "Lutris" + +#: share/applications/net.lutris.Lutris.desktop:4 +msgid "Video Game Preservation Platform" +msgstr "Платформа для захавання відэагульняў" + +#: share/applications/net.lutris.Lutris.desktop:6 +msgid "gaming;wine;emulator;" +msgstr "gaming;wine;emulator;" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:8 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:10 +msgid "Lutris Team" +msgstr "Каманда Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:14 +#: share/lutris/ui/about-dialog.ui:18 +msgid "Video game preservation platform" +msgstr "Платформа для захавання відэагульняў" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:17 +msgid "Main window" +msgstr "Галоўнае вакно" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:21 +msgid "" +"Lutris helps you install and play video games from all eras and from most " +"gaming systems. By leveraging and combining existing emulators, engine re-" +"implementations and compatibility layers, it gives you a central interface " +"to launch all your games." +msgstr "" +"Lutris дапамагае вам усталёўваць і гуляць у відэагульні ўсіх эпох і з большасці " +"гульнявых сістэм. Дзякуючы выкарыстанню і спалучэнню існуючых эмулятараў, " +"пераўвасабленняў рухавікоў і слаёў сумяшчальнасці, ён дае вам цэнтральны інтэрфейс " +"для запуску ўсіх вашых гульняў." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +msgid "" +"Lutris downloads the latest GE-Proton build for Wine if any Wine version is " +"installed" +msgstr "" +"Lutris спампоўвае апошнюю зборку GE-Proton для Wine, калі ўсталяваная любая версія Wine" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +msgid "Use dark theme by default" +msgstr "Прадвызначана выкарыстоўваць цёмную тэму" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +msgid "Display cover-art rather than banners by default" +msgstr "Паказваць вокладкі замест банэраў па змаўчанні" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +msgid "Add 'Uncategorized' view to sidebar" +msgstr "Дадаць выгляд 'Без катэгорыі' на бакавую панэль" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +msgid "" +"Preference options that do not work on Wayland will be hidden when on Wayland" +msgstr "" +"Параметры налад, якія не працуюць на Wayland, будуць схаваныя пры працы на Wayland" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +msgid "" +"Game searches can now use fancy tags like 'installed:yes' or 'source:gog', " +"with explanatory tool-tip" +msgstr "" +"Пошук гульняў цяпер можа выкарыстоўваць спецыяльныя тэгі, такія як 'installed:yes' або 'source:gog', з тлумачальнымі падказкамі" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +msgid "" +"A new filter button on the search box can build many of these fancy tags for " +"you" +msgstr "" +"Новая кнопка фільтра ў полі пошуку можа стварыць для вас шмат такіх спецыяльных тэгаў" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +msgid "" +"Runner searches can use 'installed:yes' as well, but no other fancy searches " +"or anything" +msgstr "" +"Пошук запускальнікаў таксама можа выкарыстоўваць 'installed:yes', але ніякіх іншых спецыяльных пошукаў" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +msgid "" +"Updated the Flathub and Amazon source to new APIs, restoring integration" +msgstr "" +"Абноўлены крыніцы Flathub і Amazon да новых API, аднаўляючы інтэграцыю" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +msgid "" +"Itch.io source integration will load a collection named 'Lutris' if present" +msgstr "" +"Інтэграцыя з крыніцай Itch.io будзе загружаць калекцыю з назвай 'Lutris', калі яна існуе" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +msgid "" +"GOG and Itch.io sources can now offer Linux and Windows installers for the " +"same game" +msgstr "" +"Крыніцы GOG і Itch.io цяпер могуць прапаноўваць усталёўнікі для Linux і Windows для адной і той жа гульні" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +msgid "Added support for the 'foot' terminal" +msgstr "Дададзена падтрымка тэрмінала 'foot'" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +msgid "Support for DirectX 8 in DXVK v2.4" +msgstr "Падтрымка DirectX 8 у DXVK v2.4" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +msgid "Support for Ayatana Application Indicators" +msgstr "Падтрымка індыкатараў праграм Ayatana" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +msgid "Additional options for Ruffle runner" +msgstr "Дадатковыя параметры для запускальніка Ruffle" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +msgid "Updated download links for the Atari800 and MicroM8 runners" +msgstr "Абноўлены спасылкі для спампоўкі запускальнікаў Atari800 і MicroM8" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +msgid "" +"No longer re-download cached installation files even when some are missing" +msgstr "" +"Больш не спампоўваюцца паўторна кэшаваныя ўсталявальныя файлы, нават калі некаторыя адсутнічаюць" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +msgid "Lutris log is included in the 'System' tab of the Preferences window" +msgstr "Журнал Lutris дадазены на ўкладку 'Сістэма' вакна налад" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +msgid "" +"Improved error reporting, with the Lutris log included in the error details" +msgstr "" +"Палепшана справаздачнасць аб памылках, з уключэннем журнала Lutris у дэталі памылкі" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +msgid "Add AppArmor profile for Ubuntu versions >= 23.10" +msgstr "Дадаць профіль AppArmor для версій Ubuntu >= 23.10" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 +msgid "Add Duckstation runner" +msgstr "Дадаць запускальнік Duckstation" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 +msgid "" +"Fix critical bug preventing completion of installs if the script specifies a " +"wine version" +msgstr "" +"Выпраўлена крытычная памылка, якая перашкаджала завяршэнню ўсталёўкі, калі " +"скрыпт паказваў версію wine" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +msgid "Fix critical bug preventing Steam library sync" +msgstr "Выпраўлена крытычная памылка, якая перашкаджала сінхранізацыі бібліятэкі Steam" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +msgid "Fix critical bug preventing game or runner uninstall in Flatpak" +msgstr "Выпраўлена крытычная памылка, якая перашкаджала выдаленню гульні або запускальніка ў Flatpak" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +msgid "Support for library sync to lutris.net, this allows to sync games, play" +msgstr "Падтрымка сінхранізацыі бібліятэкі з lutris.net, гэта дазваляе сінхранізаваць гульні, гуляць" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 +msgid "time and categories to multiple devices." +msgstr "час і катэгорыі на некалькіх прыладах." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 +msgid "" +"Remove \"Lutris\" service view; with library sync the \"Games\" view " +"replaces it." +msgstr "" +"Выдаліць выгляд службы \"Lutris\"; з сінхранізацыяй бібліятэкі выгляд \"Гульні\" замяняе яго." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 +msgid "" +"Torturous and sadistic options for multi-GPUs that were half broken and " +"understood by no one have been replaced by a simple GPU selector." +msgstr "" +"Жорсткія і садысцкія параметры для некалькіх графічных працэсараў, якія " +"былі напалову зламаныя і нікім не зразумелыя, былі заменены простым " +"выбарам графічнага працэсара." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 +msgid "" +"EXPERIMENTAL support for umu, which allows running games with Proton and" +msgstr "" +"ЭКСПЕРЫМЕНТАЛЬНАЯ падтрымка umu, якая дазваляе запускаць гульні з Proton і" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 +msgid "" +"Pressure Vessel. Using Proton in Lutris without umu is no longer possible." +msgstr "" +"Pressure Vessel. Выкарыстанне Proton у Lutris без umu больш немагчыма." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 +msgid "" +"Better and sensible sorting for games (sorting by playtime or last played no " +"longer needs to be reversed)" +msgstr "" +"Лепшае і разумнае сартаванне для гульняў (сартаванне па часе гульні або " +"апошнім запуску больш не трэба пераварочваць)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +msgid "Support the \"Categories\" command when you select multiple games" +msgstr "Падтрымка каманды \"Катэгорыі\" пры выбары некалькіх гульняў" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +msgid "Notification bar when your Lutris is no longer supported" +msgstr "Панэль апавяшчэнняў, калі ваш Lutris больш не падтрымліваецца" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +msgid "Improved error dialog." +msgstr "Палепшаны дыялог памылак." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" +msgstr "Дадаць запускальнік Vita3k (дзякуй @ItsAllAboutTheCode)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +msgid "Add Supermodel runner" +msgstr "Дадаць запускальнік Supermodel" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +msgid "WUA files are now supported in Cemu" +msgstr "Файлы WUA цяпер падтрымліваюцца ў Cemu" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +msgid "" +"\"Show Hidden Games\" now displays the hidden games in a separate view, and " +"re-hides them as soon as you leave it." +msgstr "" +"\"Паказаць схаваныя гульні\" цяпер паказвае схаваныя гульні ў асобным выглядзе " +"і зноў хавае іх, як толькі вы яго пакідаеце." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +msgid "Support transparent PNG files for custom banner and cover-art" +msgstr "Падтрымка празрыстых файлаў PNG для карыстальніцкіх банэраў і вокладак" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +msgid "Images are now downloaded for manually added games." +msgstr "Выявы цяпер спампоўваюцца для гульняў, дададзеных уручную." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," +msgstr "Спынена падтрымка 'exe', 'main_file' або 'iso', размешчаныя ў корані скрыпта," + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +msgid "all lutris.net installers have been updated accordingly." +msgstr "усе ўсталёўнікі lutris.net былі адпаведна абноўлены." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +msgid "Deprecate libstrangle and xgamma support." +msgstr "Спынена падтрымка libstrangle і xgamma." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 +msgid "" +"Deprecate DXVK state cache feature (it was never used and is no longer " +"relevant to DXVK 2)" +msgstr "" +"Спынена падтрымка кэша стану DXVK (ён ніколі не выкарыстоўваўся і больш не актуальны для DXVK 2)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +msgid "Fix bug that prevented installers to complete" +msgstr "Выпраўлена памылка, якая перашкаджала завяршэнню ўсталёўкі" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +msgid "Better handling of Steam configurations for the Steam account picker" +msgstr "Палепшаная апрацоўка канфігурацый Steam для выбару ўліковага запісу Steam" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 +msgid "Load game library in a background thread" +msgstr "Загрузка бібліятэкі гульняў у фонавым рэжыме" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 +msgid "" +"Fix some crashes happening when using Wayland and a high DPI gaming mouse" +msgstr "" +"Выпраўлены некаторыя збоі, якія адбываюцца пры выкарыстанні Wayland і " +"гульнявой мышы з высокім DPI" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +msgid "Fix crash when opening the system preferences tab for a game" +msgstr "Выпраўлены збой пры адкрыцці ўкладкі сістэмных налад для гульні" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +msgid "" +"Reduced the locales list to a predefined one (let us know if you need yours " +"added)" +msgstr "" +"Спіс лакаляў скарочаны да прадусталяванага (дайце нам ведаць, калі вам трэба дадаць свой)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +msgid "Fix Lutris not expanding \"~\" in paths" +msgstr "Выпраўлена, што Lutris не разгортвае \"~\" у шляхах" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +msgid "Download runtime components from the main window," +msgstr "Спампоўка кампанентаў асяроддзя выканання з галоўнага акна," + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +msgid "" +"the \"updating runtime\" dialog appearing before Lutris opens has been " +"removed" +msgstr "" +"дыялогавае акно \"абнаўленне асяроддзя выканання\", якое з'яўлялася перад адкрыццём Lutris, было выдалена" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +msgid "" +"Add the ability to open a location in your file browser from file picker " +"widgets" +msgstr "" +"Дададзена магчымасць адкрываць месцазнаходжанне ў файлавым браўзеры з віджэтаў выбару файлаў" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +msgid "" +"Add the ability to select, remove, or stop multiple games in the Lutris " +"window" +msgstr "" +"Дададзена магчымасць выбіраць, выдаляць або спыняць некалькі гульняў у акне Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +msgid "" +"Redesigned 'Uninstall Game' dialog now completely removes games by default" +msgstr "" +"Перапрацаваны дыялог 'Дэінсталяваць гульню' цяпер цалкам выдаляе гульні па змаўчанні" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +msgid "Fix the export / import feature" +msgstr "Выпраўлена функцыя экспарту / імпарту" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +msgid "Show an animation when a game is launched" +msgstr "Паказваць анімацыю пры запуску гульні" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +msgid "" +"Add the ability to disable Wine auto-updates at the expense of losing support" +msgstr "" +"Дададзена магчымасць адключыць аўтаматычнае абнаўленне Wine за кошт страты падтрымкі" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +msgid "Add playtime editing in the game preferences" +msgstr "Дададзена рэдагаванне часу гульні ў наладах гульні" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +msgid "" +"Move game files, runners to the trash instead of deleting them they are " +"uninstalled" +msgstr "" +"Перамяшчаць файлы гульняў, запускальнікі ў кошык замест іх выдалення пры дэінсталяцыі" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +msgid "" +"Add \"Updates\" tab in Preferences control and check for updates and correct " +"missing media" +msgstr "" +"Дададзена ўкладка \"Абнаўленні\" ў наладах для праверкі абнаўленняў і выпраўлення адсутных медыя" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +msgid "in the 'Games' view." +msgstr "у выглядзе 'Гульні'." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +msgid "" +"Add \"Storage\" tab in Preferences to control game and installer cache " +"location" +msgstr "" +"Дададзена ўкладка \"Сховішча\" ў наладах для кіравання месцазнаходжаннем кэша гульняў і ўсталёўнікаў" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +msgid "" +"Expand \"System\" tab in Preferences with more system information but less " +"brown." +msgstr "" +"Пашырана ўкладка \"Сістэма\" ў наладах з большай колькасцю сістэмнай інфармацыі, але менш карычневага." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +msgid "Add \"Run Task Manager\" command for Wine games" +msgstr "Дададзена каманда \"Запусціць дыспетчар задач\" для гульняў Wine" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +msgid "Add two new, smaller banner sizes for itch.io games." +msgstr "Дададзены два новыя, меншых па памеру, банеры для гульняў itch.io." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 +msgid "" +"Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" +msgstr "" +"Ігнараваць наладу віртуальнага працоўнага стала Wine пры выкарыстанні Wine-GE/Proton, каб пазбегнуць збою" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 +msgid "Ignore MangoHUD setting when launching Steam to avoid crash" +msgstr "Ігнараваць наладу MangoHUD пры запуску Steam, каб пазбегнуць збою" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 +msgid "Sync Steam playtimes with the Lutris library" +msgstr "Сінхранізаваць час гульні Steam з бібліятэкай Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 +msgid "Add Steam account switcher to handle multiple Steam accounts" +msgstr "Дадаць пераключальнік уліковых запісаў Steam для апрацоўкі " +"некалькіх уліковых запісаў Steam" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 +msgid "on the same device." +msgstr "на адной прыладзе." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 +msgid "Add user defined tags / categories" +msgstr "Дадаць карыстальніцкія тэгі / катэгорыі" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 +msgid "Group every API calls for runtime updates in a single one" +msgstr "Згрупаваць усе выклікі API для абнаўленняў асяроддзя выканання ў адзін" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 +msgid "Download appropriate DXVK and VKD3D versions based on" +msgstr "Спампоўка адпаведных версій DXVK і VKD3D на аснове" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 +msgid "the available GPU PCI IDs" +msgstr "даступных GPU PCI ID" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 +msgid "" +"EA App integration. Your Origin games and saves can be manually imported" +msgstr "" +"Інтэграцыя з EA App. Вашы гульні і захаванні Origin можна імпартаваць уручную" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 +msgid "from your Origin prefix." +msgstr "з вашага прэфікса Origin." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 +msgid "Add integration with ScummVM local library" +msgstr "Дадаць інтэграцыю з лакальнай бібліятэкай ScummVM" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 +msgid "Download Wine-GE updates when Lutris starts" +msgstr "Спампоўваць абнаўленні Wine-GE пры запуску Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 +msgid "Group GOG and Amazon download in a single progress bar" +msgstr "Згрупаваць спампоўкі GOG і Amazon у адзін індыкатар выканання" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 +msgid "Fix blank login window on online services such as GOG or EGS" +msgstr "Выпраўлена пустое акно ўваходу ў анлайн-сэрвісы, такія як GOG або EGS" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 +msgid "Add a sort name field" +msgstr "Дадаць поле для сартавання назваў" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 +msgid "Yuzu and xemu now use an AppImage" +msgstr "Yuzu і xemu цяпер выкарыстоўваюць AppImage" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 +msgid "Experimental support for Flatpak provided runners" +msgstr "Эксперыментальная падтрымка запускальнікаў, якія прадстаўляюцца праз Flatpak" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 +msgid "Header-bar search for configuration options" +msgstr "Пошук параметраў канфігурацыі ў панэлі загалоўка" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 +msgid "Support for Gamescope 3.12" +msgstr "Падтрымка Gamescope 3.12" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 +msgid "Missing games show an additional badge" +msgstr "Адсутныя гульні паказваюць дадатковы значок" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 +msgid "Add missing dependency on python3-gi-cairo for Debian packages" +msgstr "Дададзена адсутная залежнасць ад python3-gi-cairo для пакетаў Debian" + +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 +msgid "About Lutris" +msgstr "Пра Lutris" + +#: share/lutris/ui/about-dialog.ui:21 +msgid "" +"This program is free software: you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation, either version 3 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program. If not, see .\n" +msgstr "" +"Гэтая праграма з'яўляецца свабодным праграмным забеспячэннем: вы можаце распаўсюджваць яе і/або змяняць\n" +"яе на ўмовах GNU General Public License, апублікаванай\n" +"Free Software Foundation, альбо версіі 3 Ліцэнзіі, альбо\n" +"(на ваш выбар) любой больш позняй версіі.\n" +"\n" +"Гэтая праграма распаўсюджваецца ў надзеі, што яна будзе карыснай,\n" +"але БЕЗ НІЯКІХ ГАРАНТЫЙ; нават без пэўнай гарантыі\n" +"КАМЕРЦЫЙНАСЦІ або ПРЫДАТНАСЦІ ДЛЯ ПЭЎНЫХ МЭТ. Глядзіце\n" +"GNU General Public License для атрымання дадатковай інфармацыі.\n" +"\n" +"Вы павінны былі атрымаць копію GNU General Public License\n" +"разам з гэтай праграмай. Калі не, глядзіце .\n" + +#: share/lutris/ui/about-dialog.ui:34 lutris/settings.py:17 +msgid "The Lutris team" +msgstr "Каманда Lutris" + +#: share/lutris/ui/dialog-lutris-login.ui:8 +msgid "Connect to lutris.net" +msgstr "Падключыцца да lutris.net" + +#: share/lutris/ui/dialog-lutris-login.ui:26 +msgid "Forgot password?" +msgstr "Забылі пароль?" + +#: share/lutris/ui/dialog-lutris-login.ui:43 lutris/gui/dialogs/issue.py:51 +msgid "C_ancel" +msgstr "С_касаваць" + +#: share/lutris/ui/dialog-lutris-login.ui:57 +msgid "_Connect" +msgstr "_Падключыцца" + +#: share/lutris/ui/dialog-lutris-login.ui:96 +msgid "Password" +msgstr "Пароль" + +#: share/lutris/ui/dialog-lutris-login.ui:110 +msgid "Username" +msgstr "Імя карыстальніка" + +#: share/lutris/ui/log-window.ui:36 +msgid "Search..." +msgstr "Шукаць..." + +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "Паменшыць памер тэксту" + +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "Павялічыць памер тэксту" + +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" +msgstr "Увайсці ў Lutris, каб сінхранізаваць вашу бібліятэку гульняў" + +#: share/lutris/ui/lutris-window.ui:149 +msgid "" +"Lutris %s is no longer supported. Download %s here!" +msgstr "" +"Lutris %s больш не падтрымліваецца. Спампуйце %s тут!" + +#: share/lutris/ui/lutris-window.ui:282 +msgid "" +"Enter the name of a game to search for, or use search terms:\n" +"\n" +"installed:true\t\t\tOnly installed games.\n" +"hidden:true\t\t\tOnly hidden games.\n" +"favorite:true\t\t\tOnly favorite games.\n" +"categorized:true\t\tOnly games in a category.\n" +"category:x\t\t\tOnly games in category x.\n" +"source:steam\t\t\tOnly Steam games\n" +"runner:wine\t\t\tOnly Wine games\n" +"platform:windows\tOnly Windows games\n" +"playtime:>2 hours\tOnly games played for more than 2 " +"hours.\n" +"lastplayed:<2 days\tOnly games played in the last 2 days.\n" +"directory:game/dir\tOnly games at the path." +msgstr "" +"Увядзіце назву гульні для пошуку або выкарыстоўвайце ўмовы пошуку:\n" +"\n" +"installed:true\t\t\tТолькі ўсталяваныя гульні.\n" +"hidden:true\t\t\tТолькі схаваныя гульні.\n" +"favorite:true\t\t\tТолькі абраныя гульні.\n" +"categorized:true\t\tТолькі гульні ў катэгорыі.\n" +"category:x\t\t\tТолькі гульні ў катэгорыі x.\n" +"source:steam\t\t\tТолькі гульні Steam\n" +"runner:wine\t\t\tТолькі гульні Wine\n" +"platform:windows\tТолькі гульні Windows\n" +"playtime:>2 hours\tТолькі гульні, у якія гулялі больш за 2 гадзіны.\n" +"lastplayed:<2 days\tТолькі гульні, у якія гулялі за апошнія 2 дні.\n" +"directory:game/dir\tТолькі гульні па шляху." + +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:808 +msgid "Search games" +msgstr "Шукаць гульні" + +#: share/lutris/ui/lutris-window.ui:346 +msgid "Add Game" +msgstr "Дадаць гульню" + +#: share/lutris/ui/lutris-window.ui:378 +msgid "Toggle View" +msgstr "Пераключыць выгляд" + +#: share/lutris/ui/lutris-window.ui:476 +msgid "Zoom " +msgstr "Маштаб " + +#: share/lutris/ui/lutris-window.ui:518 +msgid "Sort Installed First" +msgstr "Спачатку сартаваць усталяваныя" + +#: share/lutris/ui/lutris-window.ui:532 +msgid "Reverse order" +msgstr "Адваротны парадак" + +#: share/lutris/ui/lutris-window.ui:558 +#: lutris/gui/config/edit_category_games.py:35 +#: lutris/gui/config/edit_saved_search.py:47 +#: lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:65 +#: lutris/gui/views/list.py:215 +msgid "Name" +msgstr "Назва" + +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:67 +msgid "Year" +msgstr "Год" + +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:70 +msgid "Last Played" +msgstr "Апошні запуск" + +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:72 +msgid "Installed At" +msgstr "Усталявана" + +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:71 +msgid "Play Time" +msgstr "Час гульні" + +#: share/lutris/ui/lutris-window.ui:647 +msgid "_Installed Games Only" +msgstr "_Толькі ўсталяваныя гульні" + +#: share/lutris/ui/lutris-window.ui:662 +msgid "Show Side _Panel" +msgstr "Паказаць бакавую _панэль" + +#: share/lutris/ui/lutris-window.ui:677 +msgid "Show _Hidden Games" +msgstr "Паказаць _схаваныя гульні" + +#: share/lutris/ui/lutris-window.ui:698 +msgid "Preferences" +msgstr "Налады" + +#: share/lutris/ui/lutris-window.ui:723 +msgid "Discord" +msgstr "Discord" + +#: share/lutris/ui/lutris-window.ui:737 +msgid "Lutris forums" +msgstr "Форум Lutris" + +#: share/lutris/ui/lutris-window.ui:751 +msgid "Make a donation" +msgstr "Ахвяраваць" + +#: share/lutris/ui/uninstall-dialog.ui:53 +msgid "Uninstalling games" +msgstr "Дэінсталяцыя гульняў" + +#: share/lutris/ui/uninstall-dialog.ui:92 +msgid "Delete All Files\t" +msgstr "Выдаліць усе файлы" + +#: share/lutris/ui/uninstall-dialog.ui:108 +msgid "Remove All Games from Library" +msgstr "Выдаліць усе гульні з бібліатэкі" + +#: share/lutris/ui/uninstall-dialog.ui:135 +msgid "Remove Games" +msgstr "Выдаліць гульні" + +#: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 +#: lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 +#: lutris/gui/dialogs/__init__.py:172 lutris/gui/dialogs/runner_install.py:275 +#: lutris/gui/installerwindow.py:103 lutris/gui/installerwindow.py:1087 +#: lutris/gui/widgets/download_collection_progress_box.py:153 +#: lutris/gui/widgets/download_progress_box.py:116 +msgid "Cancel" +msgstr "Скасаваць" + +#: share/lutris/ui/uninstall-dialog.ui:147 lutris/game_actions.py:198 +#: lutris/game_actions.py:254 +msgid "Remove" +msgstr "Выдаліць" + +#: lutris/api.py:44 +msgid "never" +msgstr "ніколі" + +#: lutris/cache.py:84 +#, python-format +msgid "" +"The cache path '%s' does not exist, but its parent does so it will be " +"created when needed." +msgstr "" +"Шлях кэша '%s' не існуе, але яго бацькоўскі каталог існуе, таму ён будзе " +"створаны пры неабходнасці." + +#: lutris/cache.py:88 +#, python-format +msgid "" +"The cache path %s does not exist, nor does its parent, so it won't be " +"created." +msgstr "" +"Шлях кэша %s не існуе, як і яго бацькоўскі каталог, таму ён не будзе створаны." + +#: lutris/exceptions.py:36 +msgid "The directory {} could not be found" +msgstr "Каталог {} не знойдзены" + +#: lutris/exceptions.py:50 +msgid "A bios file is required to run this game" +msgstr "Для запуску гэтай гульні патрабуецца файл BIOS" + +#: lutris/exceptions.py:63 +#, python-brace-format +msgid "" +"The following {arch} libraries are required but are not installed on your " +"system:\n" +"{libs}" +msgstr "" +"Наступныя бібліятэкі {arch} патрабуюцца, але не ўсталяваны ў вашай сістэме:\n" +"{libs}" + +#: lutris/exceptions.py:87 lutris/exceptions.py:99 +msgid "The file {} could not be found" +msgstr "Файл {} не знойдзены" + +#: lutris/exceptions.py:101 +msgid "" +"This game has no executable set. The install process didn't finish properly." +msgstr "" +"У гэтай гульні не зададзены выканальны файл. Працэс устаноўкі не быў завершаны належным чынам." + +#: lutris/exceptions.py:116 +msgid "Your ESYNC limits are not set correctly." +msgstr "Вашы ліміты ESYNC устаноўлены няправільна." + +#: lutris/exceptions.py:126 +msgid "" +"Your kernel is not patched for fsync. Please get a patched kernel to use " +"fsync." +msgstr "" +"Ваша ядро не прапатчана для fsync. Калі ласка, атрымайце прапатчанае ядро для выкарыстання fsync." + +#: lutris/game_actions.py:190 lutris/game_actions.py:228 +#: lutris/gui/widgets/game_bar.py:217 +msgid "Stop" +msgstr "Стоп" + +#: lutris/game_actions.py:192 lutris/game_actions.py:233 +#: lutris/gui/config/edit_game_categories.py:18 +#: lutris/gui/config/edit_saved_search.py:72 lutris/gui/widgets/sidebar.py:400 +msgid "Categories" +msgstr "Катэгорыі" + +#: lutris/game_actions.py:193 lutris/game_actions.py:235 +msgid "Add to favorites" +msgstr "Дадаць у абраныя" + +#: lutris/game_actions.py:194 lutris/game_actions.py:236 +msgid "Remove from favorites" +msgstr "Выдаліць з абраных" + +#: lutris/game_actions.py:195 lutris/game_actions.py:237 +msgid "Hide game from library" +msgstr "Схаваць гульню з бібліятэкі" + +#: lutris/game_actions.py:196 lutris/game_actions.py:238 +msgid "Unhide game from library" +msgstr "Паказаць гульню ў бібліятэцы" + +#. Local services don't show an install dialog, they can be launched directly +#: lutris/game_actions.py:227 lutris/gui/widgets/game_bar.py:210 +#: lutris/gui/widgets/game_bar.py:227 +msgid "Play" +msgstr "Гуляць" + +#: lutris/game_actions.py:229 +msgid "Execute script" +msgstr "Выканаць скрыпт" + +#: lutris/game_actions.py:230 +msgid "Show logs" +msgstr "Паказаць журналы" + +#: lutris/game_actions.py:232 lutris/gui/widgets/sidebar.py:235 +msgid "Configure" +msgstr "Наладзіць" + +#: lutris/game_actions.py:234 +msgid "Browse files" +msgstr "Праглядзець файлы" + +#: lutris/game_actions.py:240 lutris/game_actions.py:467 +#: lutris/gui/dialogs/runner_install.py:284 +#: lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:221 +msgid "Install" +msgstr "Усталяваць" + +#: lutris/game_actions.py:241 +msgid "Install another version" +msgstr "Усталяваць іншую версію" + +#: lutris/game_actions.py:242 +msgid "Install DLCs" +msgstr "Усталяваць DLC" + +#: lutris/game_actions.py:243 +msgid "Install updates" +msgstr "Усталяваць абнаўленні" + +#: lutris/game_actions.py:244 lutris/game_actions.py:468 +#: lutris/gui/widgets/game_bar.py:197 +msgid "Locate installed game" +msgstr "Знайсці ўсталяваную гульню" + +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:461 +msgid "Create desktop shortcut" +msgstr "Стварыць ярлык на працоўным стале" + +#: lutris/game_actions.py:246 +msgid "Delete desktop shortcut" +msgstr "Выдаліць ярлык з працоўнага стала" + +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:468 +msgid "Create application menu shortcut" +msgstr "Стварыць ярлык меню праграм" + +#: lutris/game_actions.py:248 +msgid "Delete application menu shortcut" +msgstr "Выдаліць ярлык меню праграм" + +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:476 +msgid "Create Steam shortcut" +msgstr "Стварыць ярлык Steam" + +#: lutris/game_actions.py:250 +msgid "Delete Steam shortcut" +msgstr "Выдаліць ярлык Steam" + +#: lutris/game_actions.py:251 lutris/game_actions.py:469 +msgid "View on Lutris.net" +msgstr "Праглядзець на Lutris.net" + +#: lutris/game_actions.py:252 +msgid "Duplicate" +msgstr "Дубляваць" + +#: lutris/game_actions.py:336 +msgid "This game has no installation directory" +msgstr "У гэтай гульні няма каталога ўстаноўкі" + +#: lutris/game_actions.py:340 +#, python-format +msgid "" +"Can't open %s \n" +"The folder doesn't exist." +msgstr "" +"Немагчыма адкрыць %s \n" +"Папка не існуе." + +#: lutris/game_actions.py:390 +#, python-format +msgid "" +"Do you wish to duplicate %s?\n" +"The configuration will be duplicated, but the games files will not be " +"duplicated.\n" +"Please enter the new name for the copy:" +msgstr "" +"Ці жадаеце вы дубляваць %s?\n" +"Канфігурацыя будзе дублявана, але файлы гульняў не будуць дубляваны.\n" +"Калі ласка, увядзіце новую назву для копіі:" + +#: lutris/game_actions.py:395 +msgid "Duplicate game?" +msgstr "Дубляваць гульню?" + +#. use primary configuration +#: lutris/game_actions.py:446 +msgid "Select shortcut target" +msgstr "Выбраць мэту ярлыка" + +#: lutris/game.py:321 lutris/game.py:508 +msgid "Invalid game configuration: Missing runner" +msgstr "Няправільная канфігурацыя гульні: Адсутнічае запускальнік" + +#: lutris/game.py:387 +msgid "No updates found" +msgstr "Абнаўленняў не знойдзена" + +#: lutris/game.py:406 +msgid "No DLC found" +msgstr "DLC не знойдзена" + +#: lutris/game.py:440 +msgid "Uninstall the game before deleting" +msgstr "Дэінсталяваць гульню перад выдаленнем" + +#: lutris/game.py:506 +msgid "Tried to launch a game that isn't installed." +msgstr "Спрабавалі запусціць гульню, якая не ўсталявана." + +#: lutris/game.py:540 +msgid "Unable to find Xephyr, install it or disable the Xephyr option" +msgstr "Немагчыма знайсці Xephyr, усталюйце яго або адключыце опцыю Xephyr" + +#: lutris/game.py:556 +msgid "Unable to find Antimicrox, install it or disable the Antimicrox option" +msgstr "Немагчыма знайсці Antimicrox, усталюйце яго або адключыце опцыю Antimicrox" + +#: lutris/game.py:593 +#, python-format +msgid "" +"The selected terminal application could not be launched:\n" +"%s" +msgstr "" +"Выбраная тэрмінальная праграма не можа быць запушчана:\n" +"%s" + +#: lutris/game.py:896 +msgid "Error lauching the game:\n" +msgstr "Памылка запуску гульні:\n" + +#: lutris/game.py:1002 +#, python-format +msgid "" +"Error: Missing shared library.\n" +"\n" +"%s" +msgstr "" +"Памылка: Адсутнічае агульная бібліятэка.\n" +"\n" +"%s" + +#: lutris/game.py:1008 +msgid "" +"Error: A different Wine version is already using the same Wine prefix." +msgstr "" +"Памылка: Іншая версія Wine ужо выкарыстоўвае той жа прэфікс Wine." + +#: lutris/game.py:1026 +#, python-format +msgid "Lutris can't move '%s' to a location inside of itself, '%s'." +msgstr "Lutris не можа перамясціць '%s' у месца ўнутры сябе, '%s'." + +#: lutris/gui/addgameswindow.py:24 +msgid "Search the Lutris website for installers" +msgstr "Шукаць усталёўшчыкі на сайце Lutris" + +#: lutris/gui/addgameswindow.py:25 +msgid "Query our website for community installers" +msgstr "Звярніцеся да нашага вэб-сайта, каб знайсці усталёўшчыкі ад супольнасці" + +#: lutris/gui/addgameswindow.py:31 +msgid "Install a Windows game from an executable" +msgstr "Усталяваць гульню Windows з выканальнага файла" + +#: lutris/gui/addgameswindow.py:32 +msgid "Launch a Windows executable (.exe) installer" +msgstr "Запусціць усталёўшчык выканальнага файла Windows (.exe)" + +#: lutris/gui/addgameswindow.py:38 +msgid "Install from a local install script" +msgstr "Усталяваць з лакальнага сцэнарыя ўстаноўкі" + +#: lutris/gui/addgameswindow.py:39 +msgid "Run a YAML install script" +msgstr "Запусціць сцэнарый устаноўкі YAML" + +#: lutris/gui/addgameswindow.py:45 +msgid "Import ROMs" +msgstr "Імпартаваць ROMы" + +#: lutris/gui/addgameswindow.py:46 +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "Імпартаваць ROMы, на якія спасылаюцца ў TOSEC, No-intro або Redump" + +#: lutris/gui/addgameswindow.py:52 +msgid "Add locally installed game" +msgstr "Дадаць лакальна ўсталяваную гульню" + +#: lutris/gui/addgameswindow.py:53 +msgid "Manually configure a game available locally" +msgstr "Уручную наладзіць лакальна даступную гульню" + +#: lutris/gui/addgameswindow.py:59 +msgid "Add games to Lutris" +msgstr "Дадаць гульні ў Lutris" + +#. Header bar buttons +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:96 +msgid "Back" +msgstr "Назад" + +#. Continue Button +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 +#: lutris/gui/installerwindow.py:106 lutris/gui/installerwindow.py:1035 +msgid "_Continue" +msgstr "_Працягнуць" + +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 +#: lutris/gui/config/widget_generator.py:655 +msgid "Select folder" +msgstr "Выбраць папкі" + +#: lutris/gui/addgameswindow.py:115 +msgid "Identifier" +msgstr "Ідэнтыфікатар" + +#: lutris/gui/addgameswindow.py:125 +msgid "Select script" +msgstr "Выбраць скрыпт" + +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "Выбраць ROMы" + +#: lutris/gui/addgameswindow.py:204 +msgid "" +"Lutris will search Lutris.net for games matching the terms you enter, and " +"any that it finds will appear here.\n" +"\n" +"When you click on a game that it found, the installer window will appear to " +"perform the installation." +msgstr "" +"Lutris будзе шукаць на Lutris.net гульні, якія адпавядаюць уведзеным вамі " +"тэрмінам, і ўсе знойдзеныя з'явяцца тут.\n" +"Калі вы націснеце на знойдзеную гульню, з'явіцца акно ўсталёўшчыка для выканання ўсталёўкі." + +#: lutris/gui/addgameswindow.py:225 +msgid "Search Lutris.net" +msgstr "Шукаць Lutris.net" + +#: lutris/gui/addgameswindow.py:256 +msgid "No results" +msgstr "Няма вынікаў" + +#: lutris/gui/addgameswindow.py:258 +#, python-format +msgid "Showing %s results" +msgstr "Паказана %s вынікаў" + +#: lutris/gui/addgameswindow.py:260 +#, python-format +msgid "%s results, only displaying first %s" +msgstr "%s вынікаў, паказаны толькі першыя %s" + +#: lutris/gui/addgameswindow.py:289 +msgid "Game name" +msgstr "Назва гульні" + +#: lutris/gui/addgameswindow.py:305 +msgid "" +"Enter the name of the game you will install.\n" +"\n" +"When you click 'Install' below, the installer window will appear and guide " +"you through a simple installation.\n" +"\n" +"It will prompt you for a setup executable, and will use Wine to install it.\n" +"\n" +"If you know the Lutris identifier for the game, you can provide it for " +"improved Lutris integration, such as Lutris provided banners." +msgstr "" +"Увядзіце назву гульні, якую вы будзеце ўсталёўваць.\n" +"\n" +"Калі вы націснеце 'Усталяваць', з'явіцца акно ўсталёўшчыка і правядзе " +"вас праз простую ўстаноўку.\n" +"\n" +"Яно запытае выканальны файл устаноўкі і выкарыстае Wine для ўстаноўкі.\n" +"\n" +"Калі вы ведаеце ідэнтыфікатар Lutris для гульні, вы можаце ўказаць яго для " +"палепшанай інтэграцыі Lutris, напрыклад, для банэраў, якія прадастаўляюцца Lutris." + +#: lutris/gui/addgameswindow.py:314 +msgid "Installer preset:" +msgstr "Прадвызначаныя налады усталёўшчыка:" + +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "Windows 11 64-біты" + +#: lutris/gui/addgameswindow.py:318 +msgid "Windows 10 64-bit (Default)" +msgstr "Windows 10 64-біты (Стандартны)" + +#: lutris/gui/addgameswindow.py:319 +msgid "Windows 7 64-bit" +msgstr "Windows 7 64-біты" + +#: lutris/gui/addgameswindow.py:320 +msgid "Windows XP 32-bit" +msgstr "Windows XP 32-біты" + +#: lutris/gui/addgameswindow.py:321 +msgid "Windows XP + 3DFX 32-bit" +msgstr "Windows XP + 3DFX 32-біты" + +#: lutris/gui/addgameswindow.py:322 +msgid "Windows 98 32-bit" +msgstr "Windows 98 32-біты" + +#: lutris/gui/addgameswindow.py:323 +msgid "Windows 98 + 3DFX 32-bit" +msgstr "Windows 98 + 3DFX 32-біты" + +#: lutris/gui/addgameswindow.py:334 +msgid "Locale:" +msgstr "Лакаль:" + +#: lutris/gui/addgameswindow.py:359 +msgid "Select setup file" +msgstr "Выберыце файл устаноўкі" + +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 +#: lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1070 +msgid "_Install" +msgstr "_Усталяваць" + +#: lutris/gui/addgameswindow.py:377 +msgid "You must provide a name for the game you are installing." +msgstr "Вы павінны ўказаць назву гульні, якую ўсталёўваеце." + +#: lutris/gui/addgameswindow.py:397 +msgid "Setup file" +msgstr "Файл устаноўкі" + +#: lutris/gui/addgameswindow.py:403 +msgid "Select the setup file" +msgstr "Выберыце файл устаноўкі" + +#: lutris/gui/addgameswindow.py:424 +msgid "Script file" +msgstr "Файл скрыпта" + +#: lutris/gui/addgameswindow.py:430 +msgid "" +"Lutris install scripts are YAML files that guide Lutris through the " +"installation process.\n" +"\n" +"They can be obtained on Lutris.net, or written by hand.\n" +"\n" +"When you click 'Install' below, the installer window will appear and load " +"the script, and it will guide the process from there." +msgstr "Сцэнарыі ўстаноўкі Lutris - гэта файлы YAML, якія кіруюць Lutris падчас " +"працэсу ўстаноўкі.\n" +"\n" +"Іх можна атрымаць на Lutris.net або напісаць уручную.\n" +"\n" +"Калі вы націснеце 'Усталяваць', з'явіцца акно ўсталёўшчыка і загрузіць " +"сцэнарый, і ён будзе кіраваць працэсам далей." + +#: lutris/gui/addgameswindow.py:441 +msgid "Select a Lutris installer" +msgstr "Выберыце ўсталёўшчык Lutris" + +#: lutris/gui/addgameswindow.py:448 +msgid "You must select a script file to install." +msgstr "Вы павінны выбраць файл сцэнарыя для ўстаноўкі." + +#: lutris/gui/addgameswindow.py:450 +#, python-format +msgid "No file exists at '%s'." +msgstr "Файл па шляху '%s' не існуе." + +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 +#: lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 +#: lutris/runners/libretro.py:76 lutris/runners/mame.py:80 +#: lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 +#: lutris/runners/o2em.py:47 lutris/runners/openmsx.py:20 +#: lutris/runners/osmose.py:20 lutris/runners/snes9x.py:29 +#: lutris/runners/vice.py:37 lutris/runners/yuzu.py:23 +msgid "ROM file" +msgstr "Файл ROM" + +#: lutris/gui/addgameswindow.py:471 +msgid "" +"Lutris will identify ROMs via its MD5 hash and download game information " +"from Lutris.net.\n" +"\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" +"\n" +"When you click 'Install' below, the process of installing the games will " +"begin." +msgstr "Lutris будзе ідэнтыфікаваць ROMы па іх хэшу MD5 і спампоўваць інфармацыю " +"аб гульні з Lutris.net.\n" +"\n" +"Дадзеныя ROM, якія выкарыстоўваюцца для гэтага, паступаюць з праектаў TOSEC, No-Intro і Redump.\n" +"\n" +"Калі вы націснеце 'Усталяваць' ніжэй, пачнецца працэс устаноўкі гульняў." + +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "Выберыце ROMы" + +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." +msgstr "Вы павінны выбраць ROMы для ўстаноўкі." + +#: lutris/gui/application.py:102 +msgid "Do not run Lutris as root." +msgstr "Не запускайце Lutris ад імя root." + +#: lutris/gui/application.py:113 +msgid "Your Linux distribution is too old. Lutris won't function properly." +msgstr "Ваш дыстрыбутыў Linux занадта стары. Lutris не будзе працаваць належным чынам." + +#: lutris/gui/application.py:119 +msgid "" +"Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" +"If several games share the same identifier you can use the numerical ID " +"(displayed when running lutris --list-games) and add lutris:rungameid/" +"numerical-id.\n" +"To install a game, add lutris:install/game-identifier." +msgstr "" +"Запусціце гульню непасрэдна, дадаўшы параметр lutris:rungame/game-identifier.\n" +"Калі некалькі гульняў маюць аднолькавы ідэнтыфікатар, вы можаце выкарыстоўваць лікавы ID " +"(адлюстроўваецца пры запуску lutris --list-games) і дадайце lutris:rungameid/" +"numerical-id.\n" +"Каб усталяваць гульню, дадайце lutris:install/game-identifier." + +#: lutris/gui/application.py:133 +msgid "Print the version of Lutris and exit" +msgstr "Надрукаваць версію Lutris і выйсці" + +#: lutris/gui/application.py:141 +msgid "Show debug messages" +msgstr "Паказаць адладачныя паведамленні" + +#: lutris/gui/application.py:149 +msgid "Install a game from a yml file" +msgstr "Усталяваць гульню з файла yml" + +#: lutris/gui/application.py:157 +msgid "Force updates" +msgstr "Прымусовыя абнаўленні" + +#: lutris/gui/application.py:165 +msgid "Generate a bash script to run a game without the client" +msgstr "Стварыць скрыпт bash для запуску гульні без кліента" + +#: lutris/gui/application.py:173 +msgid "Execute a program with the Lutris Runtime" +msgstr "Выканаць праграму з асяроддзем выканання Lutris" + +#: lutris/gui/application.py:181 +msgid "List all games in database" +msgstr "Пералічыць усе гульні ў базе даных" + +#: lutris/gui/application.py:189 +msgid "Only list installed games" +msgstr "Пералічыць толькі ўсталяваныя гульні" + +#: lutris/gui/application.py:197 +msgid "List available Steam games" +msgstr "Пералічыць даступныя гульні Steam" + +#: lutris/gui/application.py:205 +msgid "List all known Steam library folders" +msgstr "Пералічыць усе вядомыя папкі бібліятэкі Steam" + +#: lutris/gui/application.py:213 +msgid "List all known runners" +msgstr "Пералічыць усе вядомыя запускальнікі" + +#: lutris/gui/application.py:221 +msgid "List all known Wine versions" +msgstr "Пералічыць усе вядомыя версіі Wine" + +#: lutris/gui/application.py:229 +msgid "List all games for all services in database" +msgstr "Пералічыць усе гульні для ўсіх сэрвісаў у базе даных" + +#: lutris/gui/application.py:237 +msgid "List all games for provided service in database" +msgstr "Пералічыць усе гульні для прадастаўленага сэрвісу ў базе даных" + +#: lutris/gui/application.py:245 +msgid "Install a Runner" +msgstr "Усталяваць запускальнік" + +#: lutris/gui/application.py:253 +msgid "Uninstall a Runner" +msgstr "Дэінсталяваць запускальнік" + +#: lutris/gui/application.py:261 +msgid "Export a game" +msgstr "Экспартаваць гульню" + +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 +msgid "Import a game" +msgstr "Імпартаваць гульню" + +#: lutris/gui/application.py:278 +msgid "Show statistics about a game saves" +msgstr "Паказаць статыстыку захаванняў гульні" + +#: lutris/gui/application.py:286 +msgid "Upload saves" +msgstr "Запампаваць захаванні" + +#: lutris/gui/application.py:294 +msgid "Verify status of save syncing" +msgstr "Праверыць статус сінхранізацыі захаванняў" + +#: lutris/gui/application.py:303 +msgid "Destination path for export" +msgstr "Шлях прызначэння для экспарту" + +#: lutris/gui/application.py:311 +msgid "Display the list of games in JSON format" +msgstr "Паказаць спіс гульняў у фармаце JSON" + +#: lutris/gui/application.py:319 +msgid "Reinstall game" +msgstr "Пераўсталяваць гульню" + +#: lutris/gui/application.py:322 +msgid "Submit an issue" +msgstr "Адправіць праблему" + +#: lutris/gui/application.py:328 +msgid "URI to open" +msgstr "URI для адкрыцця" + +#: lutris/gui/application.py:413 +msgid "No installer available." +msgstr "Няма даступнага ўсталёўшчыка." + +#: lutris/gui/application.py:628 +#, python-format +msgid "%s is not a valid URI" +msgstr "%s не з'яўляецца правільным URI" + +#: lutris/gui/application.py:651 +#, python-format +msgid "Failed to download %s" +msgstr "Не атрымалася спампаваць %s" + +#: lutris/gui/application.py:660 +#, python-brace-format +msgid "download {url} to {file} started" +msgstr "спампоўка {url} у {file} пачалася" + +#: lutris/gui/application.py:671 +#, python-format +msgid "No such file: %s" +msgstr "Няма такога файла: %s" + +#: lutris/gui/config/accounts_box.py:39 +msgid "Sync Again" +msgstr "Сінхранізаваць зноў" + +#: lutris/gui/config/accounts_box.py:49 +msgid "Steam accounts" +msgstr "Уліковыя запісы Steam" + +#: lutris/gui/config/accounts_box.py:52 +msgid "" +"Select which Steam account is used for Lutris integration and creating Steam " +"shortcuts." +msgstr "" +"Выбраць, які ўліковы запіс Steam выкарыстоўваецца для інтэграцыі Lutris і " +"стварэння ярлыкоў Steam." + +#: lutris/gui/config/accounts_box.py:89 +#, python-format +msgid "Connected as %s" +msgstr "Падключана як %s" + +#: lutris/gui/config/accounts_box.py:91 +msgid "Not connected" +msgstr "Не падключана" + +#: lutris/gui/config/accounts_box.py:96 +msgid "Logout" +msgstr "Выйсці" + +#: lutris/gui/config/accounts_box.py:99 +msgid "Login" +msgstr "Увайсці" + +#: lutris/gui/config/accounts_box.py:112 +msgid "Keep your game library synced with Lutris.net" +msgstr "Сінхранізуйце сваю бібліятэку гульняў з Lutris.net" + +#: lutris/gui/config/accounts_box.py:125 +msgid "" +"This will send play time, last played, runner, platform \n" +"and store information to the lutris website so you can \n" +"sync this data on multiple devices" +msgstr "Гэта адправіць час гульні, апошні запуск, запускальнік, платформу \n" +"і інфармацыю аб краме на вэб-сайт lutris, каб вы маглі \n" +"сінхранізаваць гэтыя даныя на некалькіх прыладах" + +#: lutris/gui/config/accounts_box.py:153 +msgid "No Steam account found" +msgstr "Уліковы запіс Steam не знойдзены" + +#: lutris/gui/config/accounts_box.py:180 +msgid "Syncing library..." +msgstr "Сінхранізацыя бібліятэкі..." + +#: lutris/gui/config/accounts_box.py:189 +#, python-format +msgid "Last synced %s." +msgstr "Апошняя сінхранізацыя %s." + +#: lutris/gui/config/accounts_box.py:201 +msgid "Synchronize library?" +msgstr "Сінхранізаваць бібліятэку?" + +#: lutris/gui/config/accounts_box.py:202 +msgid "Enable library sync and run a full sync with lutris.net?" +msgstr "Уключыць сінхранізацыю бібліятэкі і выканаць поўную сінхранізацыю з lutris.net?" + +#: lutris/gui/config/add_game_dialog.py:11 +msgid "Add a new game" +msgstr "Дадаць новую гульню" + +#: lutris/gui/config/boxes.py:211 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration." +msgstr "" +"Калі зменены, гэтыя параметры замяняюць тыя ж параметры з базавай " +"канфігурацыі запускальніка." + +#: lutris/gui/config/boxes.py:237 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration, which themselves supersede the global preferences." +msgstr "" +"Калі зменены, гэтыя параметры замяняюць тыя ж параметры з базавай " +"канфігурацыі запускальніка, якія самі замяняюць глабальныя налады." + +#: lutris/gui/config/boxes.py:244 +msgid "" +"If modified, these options supersede the same options from the global " +"preferences." +msgstr "" +"Калі зменены, гэтыя параметры замяняюць тыя ж параметры з глабальных налад." + +#: lutris/gui/config/boxes.py:293 +msgid "Reset option to global or default config" +msgstr "Скінуць параметр да глабальнай або стандартнай канфігурацыі" + +#: lutris/gui/config/boxes.py:323 +msgid "" +"(Italic indicates that this option is modified in a lower configuration " +"level.)" +msgstr "" +"(Курсіў паказвае, што гэты параметр зменены на ніжэйшым узроўні канфігурацыі.)" + +#: lutris/gui/config/boxes.py:336 +#, python-format +msgid "No options match '%s'" +msgstr "Няма параметраў, якія адпавядаюць '%s'" + +#. type:ignore[attr-defined] +#: lutris/gui/config/boxes.py:338 +msgid "Only advanced options available" +msgstr "Даступныя толькі пашыраныя параметры" + +#: lutris/gui/config/boxes.py:340 +msgid "No options available" +msgstr "Няма даступных параметраў" + +#: lutris/gui/config/edit_category_games.py:18 +#: lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:315 +#: lutris/gui/config/runner.py:18 +#, python-format +msgid "Configure %s" +msgstr "Наладзіць %s" + +#: lutris/gui/config/edit_category_games.py:69 +#, python-format +msgid "Do you want to delete the category '%s'?" +msgstr "Вы жадаеце выдаліць катэгорыю '%s'?" + +#: lutris/gui/config/edit_category_games.py:71 +msgid "" +"This will permanently destroy the category, but the games themselves will " +"not be deleted." +msgstr "" +"Гэта назаўсёды выдаліць катэгорыю, але самі гульні не будуць выдалены." + +#: lutris/gui/config/edit_category_games.py:113 +#, python-format +msgid "'%s' is a reserved category name." +msgstr "'%s' - гэта зарэзерваваная назва катэгорыі." + +#: lutris/gui/config/edit_category_games.py:118 +#, python-format +msgid "Merge the category '%s' into '%s'?" +msgstr "Аб'яднаць катэгорыю '%s' у '%s'?" + +#: lutris/gui/config/edit_category_games.py:120 +#, python-format +msgid "" +"If you rename this category, it will be combined with '%s'. Do you want to " +"merge them?" +msgstr "" +"Калі вы перайменуеце гэтую катэгорыю, яна будзе аб'яднана з '%s'. Вы жадаеце " +"іх аб'яднаць?" + +#: lutris/gui/config/edit_game_categories.py:78 +#, python-format +msgid "%d games" +msgstr "%d гульняў" + +#: lutris/gui/config/edit_game_categories.py:117 +msgid "Add Category" +msgstr "Дадаць катэгорыю" + +#: lutris/gui/config/edit_game_categories.py:119 +msgid "Adds the category to the list." +msgstr "Дадае катэгорыю ў спіс." + +#: lutris/gui/config/edit_game_categories.py:154 +msgid "" +"You are updating the categories on 1 game. Are you sure you want to change " +"it?" +msgstr "" +"Вы абнаўляеце катэгорыі для 1 гульні. Вы ўпэўнены, што хочаце змяніць іх?" + +#: lutris/gui/config/edit_game_categories.py:157 +#, python-format +msgid "" +"You are updating the categories on %d games. Are you sure you want to change " +"them?" +msgstr "" +"Вы абнаўляеце катэгорыі для %d гульняў. Вы ўпэўнены, што хочаце змяніць іх?" + +#: lutris/gui/config/edit_game_categories.py:163 +msgid "Changing Categories" +msgstr "Змена катэгорый" + +#: lutris/gui/config/edit_saved_search.py:19 +msgid "New Saved Search" +msgstr "Новы захаваны пошук" + +#: lutris/gui/config/edit_saved_search.py:53 +msgid "Search" +msgstr "Пошук" + +#: lutris/gui/config/edit_saved_search.py:130 +msgid "Installed" +msgstr "Усталявана" + +#: lutris/gui/config/edit_saved_search.py:131 +msgid "Favorite" +msgstr "Абранае" + +#: lutris/gui/config/edit_saved_search.py:132 lutris/gui/widgets/sidebar.py:493 +msgid "Hidden" +msgstr "Схаванае" + +#: lutris/gui/config/edit_saved_search.py:133 +msgid "Categorized" +msgstr "Катэгарызавана" + +#: lutris/gui/config/edit_saved_search.py:170 +#: lutris/gui/config/edit_saved_search.py:223 +msgid "-" +msgstr "-" + +#: lutris/gui/config/edit_saved_search.py:171 +msgid "Yes" +msgstr "Так" + +#: lutris/gui/config/edit_saved_search.py:172 +msgid "No" +msgstr "Не" + +#: lutris/gui/config/edit_saved_search.py:184 +msgid "Source" +msgstr "Крыніца" + +#: lutris/gui/config/edit_saved_search.py:191 +#: lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:68 +msgid "Runner" +msgstr "Запускальнік" + +#: lutris/gui/config/edit_saved_search.py:198 lutris/gui/views/list.py:69 +#: lutris/runners/dolphin.py:34 lutris/runners/scummvm.py:259 +msgid "Platform" +msgstr "Платформа" + +#: lutris/gui/config/edit_saved_search.py:292 +#, python-format +msgid "'%s' is already a saved search." +msgstr "'%s' ужо з'яўляецца захаваным пошукам." + +#: lutris/gui/config/edit_saved_search.py:336 +#, python-format +msgid "Do you want to delete the saved search '%s'?" +msgstr "Вы жадаеце выдаліць захаваны пошук '%s'?" + +#: lutris/gui/config/edit_saved_search.py:338 +msgid "" +"This will permanently destroy the saved search, but the games themselves " +"will not be deleted." +msgstr "Гэта назаўсёды выдаліць захаваны пошук, але самі гульні не будуць выдалены." + +#: lutris/gui/config/game_common.py:35 +msgid "Select a runner in the Game Info tab" +msgstr "Выберыце запускальнік на ўкладцы Інфармацыя аб гульні" + +#: lutris/gui/config/game_common.py:143 lutris/gui/config/runner.py:27 +#, python-format +msgid "Search %s options" +msgstr "Пошук параметраў %s" + +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 +msgid "Search options" +msgstr "Параметры пошуку" + +#: lutris/gui/config/game_common.py:172 +msgid "Game info" +msgstr "Інфармацыя аб гульні" + +#: lutris/gui/config/game_common.py:187 +msgid "Sort name" +msgstr "Назва сартавання" + +#: lutris/gui/config/game_common.py:203 +#, python-format +msgid "" +"Identifier\n" +"(Internal ID: %s)" +msgstr "" +"Ідэнтыфікатар\n" +"(Унутраны ID: %s)" + +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 +msgid "Change" +msgstr "Змяніць" + +#: lutris/gui/config/game_common.py:223 +msgid "Directory" +msgstr "Папка" + +#: lutris/gui/config/game_common.py:229 +msgid "Move" +msgstr "Перамясціць" + +#: lutris/gui/config/game_common.py:249 +msgid "The default launch option will be used for this game" +msgstr "Для гэтай гульні будзе выкарыстана опцыя запуску па змаўчанні" + +#: lutris/gui/config/game_common.py:251 +#, python-format +msgid "The '%s' launch option will be used for this game" +msgstr "Для гэтай гульні будзе выкарыстана опцыя запуску '%s'" + +#: lutris/gui/config/game_common.py:258 +msgid "Reset" +msgstr "Скінуць" + +#: lutris/gui/config/game_common.py:289 +msgid "Set custom cover art" +msgstr "Задаць уласную вокладку" + +#: lutris/gui/config/game_common.py:289 +msgid "Remove custom cover art" +msgstr "Выдаліць уласную вокладку" + +#: lutris/gui/config/game_common.py:290 +msgid "Set custom banner" +msgstr "Задаць уласны банер" + +#: lutris/gui/config/game_common.py:290 +msgid "Remove custom banner" +msgstr "Выдаліць уласны банер" + +#: lutris/gui/config/game_common.py:291 +msgid "Set custom icon" +msgstr "Задаць уласны значок" + +#: lutris/gui/config/game_common.py:291 +msgid "Remove custom icon" +msgstr "Выдаліць уласны значок" + +#: lutris/gui/config/game_common.py:324 +msgid "Release year" +msgstr "Год выпуску" + +#: lutris/gui/config/game_common.py:337 +msgid "Playtime" +msgstr "Час гульні" + +#: lutris/gui/config/game_common.py:383 +msgid "Select a runner from the list" +msgstr "Выбраць запускальнік са спісу" + +#: lutris/gui/config/game_common.py:391 +msgid "Apply" +msgstr "Ужыць" + +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 +#: lutris/gui/config/game_common.py:461 +msgid "Game options" +msgstr "Параметры гульні" + +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 +msgid "Runner options" +msgstr "Параметры запускальніка" + +#: lutris/gui/config/game_common.py:473 +msgid "System options" +msgstr "Сістэмныя параметры" + +#: lutris/gui/config/game_common.py:510 +msgid "Show advanced options" +msgstr "Паказаць пашыраныя параметры" + +#: lutris/gui/config/game_common.py:512 +msgid "Advanced" +msgstr "Пашыраны" + +#: lutris/gui/config/game_common.py:566 +msgid "" +"Are you sure you want to change the runner for this game ? This will reset " +"the full configuration for this game and is not reversible." +msgstr "" +"Вы ўпэўнены, што хочаце змяніць запускальнік для гэтай гульні? Гэта скіне " +"поўную канфігурацыю для гэтай гульні і гэта незваротна." + +#: lutris/gui/config/game_common.py:570 +msgid "Confirm runner change" +msgstr "Пацвердзіць змену запускальніка" + +#: lutris/gui/config/game_common.py:622 +msgid "Runner not provided" +msgstr "Запускальнік не прадастаўлены" + +#: lutris/gui/config/game_common.py:625 +msgid "Please fill in the name" +msgstr "Калі ласка, увядзіце назву" + +#: lutris/gui/config/game_common.py:628 +msgid "Steam AppID not provided" +msgstr "Steam AppID не прадастаўлены" + +#: lutris/gui/config/game_common.py:654 +msgid "The following fields have invalid values: " +msgstr "Наступныя палі маюць памылковыя значэнні: " + +#: lutris/gui/config/game_common.py:661 +msgid "Current configuration is not valid, ignoring save request" +msgstr "Бягучая канфігурацыя памылковая, запыт на захаванне ігнаруецца" + +#: lutris/gui/config/game_common.py:705 +msgid "Please choose a custom image" +msgstr "Калі ласка, выберыце ўласную выяву" + +#: lutris/gui/config/game_common.py:713 +msgid "Images" +msgstr "Выявы" + +#: lutris/gui/config/preferences_box.py:22 +msgid "Minimize client when a game is launched" +msgstr "Згарнуць кліент пры запуску гульні" + +#: lutris/gui/config/preferences_box.py:24 +msgid "" +"Minimize the Lutris window while playing a game; it will return when the " +"game exits." +msgstr "Згарнуць акно Lutris падчас гульні; яно вернецца, калі гульня завершыцца." + +#: lutris/gui/config/preferences_box.py:28 +msgid "Hide text under icons" +msgstr "Схаваць тэкст пад значкамі" + +#: lutris/gui/config/preferences_box.py:30 +msgid "" +"Removes the names from the Lutris window when in grid view, but not list " +"view." +msgstr "" +"Выдаляе назвы з акна Lutris у рэжыме сеткі, але не ў рэжыме спісу." + +#: lutris/gui/config/preferences_box.py:34 +msgid "Hide badges on icons (Ctrl+p to toggle)" +msgstr "Схаваць эмблемы на значках (Ctrl+p для пераключэння)" + +#: lutris/gui/config/preferences_box.py:37 +msgid "" +"Removes the platform and missing-game badges from icons in the Lutris window." +msgstr "" +"Выдаляе эмблемы платформы і адсутных гульняў са значкоў у акне Lutris." + +#: lutris/gui/config/preferences_box.py:41 +msgid "Show Tray Icon" +msgstr "Паказаць значок у трэі" + +#: lutris/gui/config/preferences_box.py:45 +msgid "" +"Adds a Lutris icon to the tray, and prevents Lutris from exiting when the " +"Lutris window is closed. You can still exit using the menu of the tray icon." +msgstr "" +"Дадае значок Lutris у трэй і прадухіляе выхад Lutris пры закрыцці акна Lutris. " +"Вы ўсё яшчэ можаце выйсці, выкарыстоўваючы меню значка ў трэі." + +#: lutris/gui/config/preferences_box.py:51 +msgid "Enable Discord Rich Presence for Available Games" +msgstr "Уключыць Discord Rich Presence для даступных гульняў" + +#: lutris/gui/config/preferences_box.py:57 +msgid "Theme" +msgstr "Тэма" + +#: lutris/gui/config/preferences_box.py:59 +msgid "System Default" +msgstr "Сістэмная" + +#: lutris/gui/config/preferences_box.py:60 +msgid "Light" +msgstr "Светлая" + +#: lutris/gui/config/preferences_box.py:61 +msgid "Dark" +msgstr "Цёмная" + +#: lutris/gui/config/preferences_box.py:64 +msgid "Overrides Lutris's appearance to be light or dark." +msgstr "Перавызначае знешні выгляд Lutris на светлы або цёмны." + +#: lutris/gui/config/preferences_box.py:72 +msgid "Interface options" +msgstr "Параметры інтэрфейсу" + +#: lutris/gui/config/preferences_dialog.py:23 +msgid "Lutris settings" +msgstr "Налады Lutris" + +#: lutris/gui/config/preferences_dialog.py:35 +msgid "Interface" +msgstr "Інтэрфейс" + +#: lutris/gui/config/preferences_dialog.py:36 lutris/gui/widgets/sidebar.py:403 +msgid "Runners" +msgstr "Запускальнікі" + +#: lutris/gui/config/preferences_dialog.py:37 lutris/gui/widgets/sidebar.py:402 +msgid "Sources" +msgstr "Крыніцы" + +#: lutris/gui/config/preferences_dialog.py:38 +msgid "Accounts" +msgstr "Уліковыя запісы" + +#: lutris/gui/config/preferences_dialog.py:39 +msgid "Updates" +msgstr "Абнаўленні" + +#: lutris/gui/config/preferences_dialog.py:40 lutris/sysoptions.py:28 +msgid "System" +msgstr "Сістэма" + +#: lutris/gui/config/preferences_dialog.py:41 +msgid "Storage" +msgstr "Сховішча" + +#: lutris/gui/config/preferences_dialog.py:42 +msgid "Global options" +msgstr "Глабальныя параметры" + +#: lutris/gui/config/preferences_dialog.py:111 +msgid "Search global options" +msgstr "Пошук глабальных параметраў" + +#: lutris/gui/config/runner_box.py:89 lutris/gui/widgets/sidebar.py:254 +#, python-format +msgid "Manage %s versions" +msgstr "Кіраваць версіямі %s" + +#: lutris/gui/config/runner_box.py:109 +#, python-format +msgid "Do you want to uninstall %s?" +msgstr "Вы хочаце дэінсталяваць %s?" + +#: lutris/gui/config/runner_box.py:110 +#, python-format +msgid "This will remove %s and all associated data." +msgstr "Гэта выдаліць %s і ўсе звязаныя даныя." + +#: lutris/gui/config/runners_box.py:22 +msgid "Add, remove or configure runners" +msgstr "Дадаць, выдаліць або наладзіць запускальнікі" + +#: lutris/gui/config/runners_box.py:25 +msgid "" +"Runners are programs such as emulators, engines or translation layers " +"capable of running games." +msgstr "" +"Запускальнікі - гэта праграмы, такія як эмулятары, рухавікі або слаі перакладу, здольныя запускаць гульні." + +#: lutris/gui/config/runners_box.py:28 +msgid "No runners matched the search" +msgstr "Ніводзін запускальнік не адпавядае пошуку" + +#. pretty sure there will always be many runners, so assume plural +#: lutris/gui/config/runners_box.py:47 +#, python-format +msgid "Search %s runners" +msgstr "Пошук запускальнікаў %s" + +#: lutris/gui/config/services_box.py:18 +msgid "Enable integrations with game sources" +msgstr "Уключыць інтэграцыю з крыніцамі гульняў" + +#: lutris/gui/config/services_box.py:21 +msgid "" +"Access your game libraries from various sources. Changes require a restart " +"to take effect." +msgstr "" +"Доступ да вашых гульнявых бібліятэк з розных крыніц. Змены патрабуюць " +"перазапуску, каб уступіць у сілу." + +#: lutris/gui/config/storage_box.py:24 +msgid "Paths" +msgstr "Шляхі" + +#: lutris/gui/config/storage_box.py:36 +msgid "Game library" +msgstr "Бібліятэка гульняў" + +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 +msgid "The default folder where you install your games." +msgstr "Папка па змаўчанні, куды вы ўсталёўваеце свае гульні." + +#: lutris/gui/config/storage_box.py:43 +msgid "Installer cache" +msgstr "Кэш усталёўніка" + +#: lutris/gui/config/storage_box.py:48 +msgid "" +"If provided, files downloaded during game installs will be kept there\n" +"\n" +"Otherwise, all downloaded files are discarded." +msgstr "" +"Калі пазначана, файлы, спампаваныя падчас усталёўкі гульняў, будуць захоўвацца там\n" +"\n" +"У адваротным выпадку ўсе спампаваныя файлы будуць выдалены." + +#: lutris/gui/config/storage_box.py:53 +msgid "Emulator BIOS files location" +msgstr "Размяшчэнне файлаў эмулятара BIOS" + +#: lutris/gui/config/storage_box.py:57 +msgid "The folder Lutris will search in for emulator BIOS files if needed" +msgstr "Папка, у якой Lutris будзе шукаць файлы эмулятара BIOS, калі гэта неабходна" + +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "Папка занадта вялікая (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "Занадта шмат файлаў у папцы" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "Папка занадта глыбокая" + +#: lutris/gui/config/sysinfo_box.py:18 +msgid "Vulkan support" +msgstr "Падтрымка Vulkan" + +#: lutris/gui/config/sysinfo_box.py:22 +msgid "Esync support" +msgstr "Падтрымка Esync" + +#: lutris/gui/config/sysinfo_box.py:26 +msgid "Fsync support" +msgstr "Падтрымка Fsync" + +#: lutris/gui/config/sysinfo_box.py:30 +msgid "Wine installed" +msgstr "Wine усталяваны" + +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 +#: lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 +#: lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 +#: lutris/sysoptions.py:294 lutris/sysoptions.py:304 +msgid "Gamescope" +msgstr "Gamescope" + +#: lutris/gui/config/sysinfo_box.py:34 +msgid "Mangohud" +msgstr "Mangohud" + +#: lutris/gui/config/sysinfo_box.py:35 +msgid "Gamemode" +msgstr "Рэжым гульні" + +#: lutris/gui/config/sysinfo_box.py:36 lutris/gui/installer/file_box.py:100 +#: lutris/runners/steam.py:30 lutris/services/steam.py:74 +msgid "Steam" +msgstr "Steam" + +#: lutris/gui/config/sysinfo_box.py:37 +msgid "In Flatpak" +msgstr "У Flatpak" + +#: lutris/gui/config/sysinfo_box.py:42 +msgid "System information" +msgstr "Сістэмная інфармацыя" + +#: lutris/gui/config/sysinfo_box.py:51 +msgid "Copy system info to Clipboard" +msgstr "Скапіраваць інфармацыю аб сістэме ў буфер абмену" + +#: lutris/gui/config/sysinfo_box.py:56 +msgid "Lutris logs" +msgstr "Журналы Lutris" + +#: lutris/gui/config/sysinfo_box.py:65 +msgid "Copy logs to Clipboard" +msgstr "Скапіраваць журналы ў буфер абмену" + +#: lutris/gui/config/sysinfo_box.py:133 +msgid "YES" +msgstr "ТАК" + +#: lutris/gui/config/sysinfo_box.py:134 +msgid "NO" +msgstr "НЕ" + +#: lutris/gui/config/updates_box.py:20 +msgid "Runtime updates" +msgstr "Абнаўленні асяроддзя выканання" + +#: lutris/gui/config/updates_box.py:21 +msgid "Runtime components include DXVK, VKD3D and Winetricks." +msgstr "Кампаненты асяроддзя выканання ўключаюць DXVK, VKD3D і Winetricks." + +#: lutris/gui/config/updates_box.py:22 +msgid "Check for Updates" +msgstr "Праверыць наяўнасць абнаўленняў" + +#: lutris/gui/config/updates_box.py:26 +msgid "Automatically Update the Lutris runtime" +msgstr "Аўтаматычна абнаўляць асяроддзе выканання Lutris" + +#: lutris/gui/config/updates_box.py:31 +msgid "Media updates" +msgstr "Абнаўленні медыя" + +#: lutris/gui/config/updates_box.py:32 +msgid "Download Missing Media" +msgstr "Спампаваць адсутныя медыя" + +#: lutris/gui/config/updates_box.py:56 +msgid "Checking for missing media..." +msgstr "Праверка наяўнасці адсутных медыя..." + +#: lutris/gui/config/updates_box.py:63 +msgid "Nothing to update" +msgstr "Няма чаго абнаўляць" + +#: lutris/gui/config/updates_box.py:65 +msgid "Updated: " +msgstr "Абноўлена: " + +#: lutris/gui/config/updates_box.py:67 +msgid "banner" +msgstr "банер" + +#: lutris/gui/config/updates_box.py:68 +msgid "icon" +msgstr "значок" + +#: lutris/gui/config/updates_box.py:69 +msgid "cover" +msgstr "вокладка" + +#: lutris/gui/config/updates_box.py:70 +msgid "banners" +msgstr "банеры" + +#: lutris/gui/config/updates_box.py:71 +msgid "icons" +msgstr "значкі" + +#: lutris/gui/config/updates_box.py:72 +msgid "covers" +msgstr "вокладкі" + +#: lutris/gui/config/updates_box.py:81 +msgid "No new media found." +msgstr "Новых медыя не знойдзена." + +#: lutris/gui/config/updates_box.py:110 +#, python-format +msgid "%s has been updated." +msgstr "%s быў абноўлены." + +#: lutris/gui/config/updates_box.py:112 +#, python-format +msgid "%s have been updated." +msgstr "%s былі абноўлены." + +#: lutris/gui/config/updates_box.py:119 +msgid "Checking for updates..." +msgstr "Праверка наяўнасці абнаўленняў..." + +#: lutris/gui/config/updates_box.py:121 +msgid "Updates are already being downloaded and installed." +msgstr "Абнаўленні ўжо спампоўваюцца і ўсталёўваюцца." + +#: lutris/gui/config/updates_box.py:123 +msgid "No updates are required at this time." +msgstr "На дадзены момант абнаўленні не патрабуюцца." + +#: lutris/gui/config/widget_generator.py:215 +msgid "Default: " +msgstr "Па змаўчанні: " + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/wine.py:559 +msgid "Enabled" +msgstr "Уключана" + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/easyrpg.py:371 +#: lutris/runners/mednafen.py:78 lutris/runners/wine.py:558 +msgid "Disabled" +msgstr "Адключана" + +#: lutris/gui/config/widget_generator.py:424 +#, python-format +msgid "%s (default)" +msgstr "%s (па змаўчанні)" + +#: lutris/gui/config/widget_generator.py:488 +#, python-format +msgid "" +"The setting '%s' is no longer available. You should select another choice." +msgstr "" +"Налада '%s' больш недаступная. Вы павінны выбраць іншы варыянт." + +#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:52 +msgid "Select file" +msgstr "Выбраць файл" + +#: lutris/gui/config/widget_generator.py:567 +msgid "Select files" +msgstr "Выбраць файлы" + +#: lutris/gui/config/widget_generator.py:570 +msgid "_Add" +msgstr "_Дадаць" + +#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:446 +#: lutris/gui/dialogs/__init__.py:472 lutris/gui/dialogs/issue.py:74 +#: lutris/gui/widgets/common.py:170 +#: lutris/gui/widgets/download_collection_progress_box.py:56 +#: lutris/gui/widgets/download_progress_box.py:64 +msgid "_Cancel" +msgstr "_Скасаваць" + +#: lutris/gui/config/widget_generator.py:606 +msgid "Add Files" +msgstr "Дадаць файлы" + +#: lutris/gui/config/widget_generator.py:626 +#: lutris/installer/installer_file_collection.py:88 +msgid "Files" +msgstr "Файлы" + +#: lutris/gui/dialogs/cache.py:12 +msgid "Download cache configuration" +msgstr "Канфігурацыя кэша спампоўкі" + +#: lutris/gui/dialogs/cache.py:35 +msgid "Cache path" +msgstr "Шлях кэша" + +#: lutris/gui/dialogs/cache.py:38 +msgid "Set the folder for the cache path" +msgstr "Задаць папку для шляху кэша" + +#: lutris/gui/dialogs/cache.py:52 +msgid "" +"If provided, this location will be used by installers to cache downloaded " +"files locally for future re-use. \n" +"If left empty, the installer files are discarded after the install " +"completion." +msgstr "" +"Калі пазначана, гэтае месца будзе выкарыстоўвацца ўсталёўшчыкамі для " +"лакальнага кэшавання спампаваных файлаў для будучага паўторнага выкарыстання. \n" +"Калі пакінута пустым, файлы ўсталёўшчыка выдаляюцца пасля завяршэння ўсталёўкі." + +#: lutris/gui/dialogs/delegates.py:41 +#, python-format +msgid "The required runner '%s' is not installed." +msgstr "Патрабаваны запускальнік '%s' не ўсталяваны." + +#: lutris/gui/dialogs/delegates.py:207 +msgid "Select game to launch" +msgstr "Выбраць гульню для запуску" + +#: lutris/gui/dialogs/download.py:14 +msgid "Downloading file" +msgstr "Спампоўка файла" + +#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:128 +#, python-format +msgid "Downloading %s" +msgstr "Спампоўка %s" + +#: lutris/gui/dialogs/game_import.py:96 +msgid "Launch" +msgstr "Запусціць" + +#: lutris/gui/dialogs/game_import.py:129 +msgid "Calculating checksum..." +msgstr "Разлік кантрольнай сумы..." + +#: lutris/gui/dialogs/game_import.py:138 +msgid "Looking up checksum on Lutris.net..." +msgstr "Пошук кантрольнай сумы на Lutris.net..." + +#: lutris/gui/dialogs/game_import.py:141 +msgid "This ROM could not be identified." +msgstr "Гэты ROM не быў ідэнтыфікаваны." + +#: lutris/gui/dialogs/game_import.py:150 +msgid "Looking for installed game..." +msgstr "Пошук усталяванай гульні..." + +#: lutris/gui/dialogs/game_import.py:199 +#, python-format +msgid "Failed to import a ROM: %s" +msgstr "Не атрымалася імпартаваць ROM: %s" + +#: lutris/gui/dialogs/game_import.py:220 +msgid "Game already installed in Lutris" +msgstr "Гульня ўжо ўсталявана ў Lutris" + +#: lutris/gui/dialogs/game_import.py:242 +#, python-format +msgid "The platform '%s' is unknown to Lutris." +msgstr "Платформа '%s' невядомая для Lutris." + +#: lutris/gui/dialogs/game_import.py:252 +#, python-format +msgid "Lutris does not have a default installer for the '%s' platform." +msgstr "Lutris не мае стандартнага ўсталёўшчыка для платформы '%s'." + +#: lutris/gui/dialogs/__init__.py:175 +msgid "Save" +msgstr "Захаваць" + +#: lutris/gui/dialogs/__init__.py:303 +msgid "Lutris has encountered an error" +msgstr "У Lutris адбылася памылка" + +#: lutris/gui/dialogs/__init__.py:331 lutris/gui/installerwindow.py:962 +msgid "Copy Details to Clipboard" +msgstr "Скапіраваць дэталі ў буфер абмену" + +#: lutris/gui/dialogs/__init__.py:351 +msgid "" +"You can get support from GitHub or Discord. Make sure " +"to provide the error details;\n" +"use the 'Copy Details to Clipboard' button to get them." +msgstr "Вы можаце атрымаць падтрымку на GitHub або Discord. Пераканайцеся, " +"што вы падалі дэталі памылкі;\n" +"выкарыстоўвайце кнопку 'Скапіраваць дэталі ў буфер абмену', каб атрымаць іх." + +#: lutris/gui/dialogs/__init__.py:360 +msgid "Error details" +msgstr "Дэталі памылкі" + +#: lutris/gui/dialogs/__init__.py:445 lutris/gui/dialogs/__init__.py:471 +#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:170 +msgid "_OK" +msgstr "_Добра" + +#: lutris/gui/dialogs/__init__.py:462 +msgid "Please choose a file" +msgstr "Калі ласка, выберыце файл" + +#: lutris/gui/dialogs/__init__.py:486 +#, python-format +msgid "%s is already installed" +msgstr "%s ужо ўсталяваны" + +#: lutris/gui/dialogs/__init__.py:496 +msgid "Launch game" +msgstr "Запусціць гульню" + +#: lutris/gui/dialogs/__init__.py:500 +msgid "Install the game again" +msgstr "Усталяваць гульню зноў" + +#: lutris/gui/dialogs/__init__.py:539 +msgid "Do not ask again for this game." +msgstr "Не пытацца больш для гэтай гульні." + +#: lutris/gui/dialogs/__init__.py:594 +msgid "Login failed" +msgstr "Памылка ўваходу" + +#: lutris/gui/dialogs/__init__.py:604 +msgid "Install script for {}" +msgstr "Скрыпт усталёўкі для {}" + +#: lutris/gui/dialogs/__init__.py:628 +msgid "Humble Bundle Cookie Authentication" +msgstr "Аўтэнтыфікацыя Humble Bundle праз файлы cookie" + +#: lutris/gui/dialogs/__init__.py:640 +msgid "" +"Humble Bundle Authentication via cookie import\n" +"\n" +"In Firefox\n" +"- Install the following extension: https://addons.mozilla.org/en-US/firefox/" +"addon/export-cookies-txt/\n" +"- Open a tab to humblebundle.com and make sure you are logged in.\n" +"- Click the cookie icon in the top right corner, next to the settings menu\n" +"- Check 'Prefix HttpOnly cookies' and click 'humblebundle.com'\n" +"- Open the generated file and paste the contents below. Click OK to finish.\n" +"- You can delete the cookies file generated by Firefox\n" +"- Optionally, open a support ticket to ask Humble Bundle to fix their " +"configuration." +msgstr "Аўтэнтыфікацыя Humble Bundle праз імпарт файлаў cookie\n" +"\n" +"У Firefox\n" +"- Усталюйце наступнае пашырэнне: https://addons.mozilla.org/en-US/firefox/" +"addon/export-cookies-txt/\n" +"- Адкрыйце ўкладку humblebundle.com і пераканайцеся, што вы ўвайшлі ў сістэму.\n" +"- Націсніце на значок файла cookie ў правым верхнім куце, побач з меню налад\n" +"- Адзначце 'Prefix HttpOnly cookies' і націсніце 'humblebundle.com'\n" +"- Адкрыйце згенераваны файл і ўстаўце змесціва ніжэй. Націсніце OK, каб завяршыць.\n" +"- Вы можаце выдаліць файл cookies, згенераваны Firefox\n" +"- Пры жаданні, адкрыйце заяўку ў службу падтрымкі, каб папрасіць Humble Bundle выправіць іх " +"канфігурацыю." + +#: lutris/gui/dialogs/__init__.py:723 +#, python-format +msgid "The key '%s' could not be found." +msgstr "Ключ '%s' не знойдзены." + +#: lutris/gui/dialogs/issue.py:24 +msgid "Submit an issue" +msgstr "Адправіць праблему" + +#: lutris/gui/dialogs/issue.py:30 +msgid "" +"Describe the problem you're having in the text box below. This information " +"will be sent the Lutris team along with your system information. You can " +"also save this information locally if you are offline." +msgstr "Апішыце праблему, з якой вы сутыкнуліся, у тэкставым полі ніжэй. Гэтая інфармацыя будзе адпраўлена камандзе Lutris разам з інфармацыяй аб вашай сістэме. Вы таксама можаце захаваць гэтую інфармацыю лакальна, калі вы па-за сеткай." + +#: lutris/gui/dialogs/issue.py:54 +msgid "_Save" +msgstr "_Захаваць" + +#: lutris/gui/dialogs/issue.py:70 +msgid "Select a location to save the issue" +msgstr "Выберыце месца для захавання праблемы" + +#: lutris/gui/dialogs/issue.py:90 +#, python-format +msgid "Issue saved in %s" +msgstr "Праблема захавана ў %s" + +#: lutris/gui/dialogs/log.py:23 +msgid "Log for {}" +msgstr "Журнал для {}" + +#: lutris/gui/dialogs/move_game.py:28 +#, python-format +msgid "Moving %s to %s..." +msgstr "Перамяшчэнне %s у %s..." + +#: lutris/gui/dialogs/move_game.py:57 +msgid "" +"Do you want to change the game location anyway? No files can be moved, and " +"the game configuration may need to be adjusted." +msgstr "" +"Вы ўсё роўна хочаце змяніць месцазнаходжанне гульні? Файлы не могуць " +"быць перамешчаны, і канфігурацыя гульні можа запатрабаваць карэкціроўкі." + +#: lutris/gui/dialogs/runner_install.py:59 +#, python-format +msgid "Showing games using %s" +msgstr "Паказ гульняў з выкарыстаннем %s" + +#: lutris/gui/dialogs/runner_install.py:115 +#, python-format +msgid "Waiting for response from %s" +msgstr "Чакаем адказу ад %s" + +#: lutris/gui/dialogs/runner_install.py:176 +#, python-format +msgid "Unable to get runner versions: %s" +msgstr "Немагчыма атрымаць версіі запускальніка: %s" + +#: lutris/gui/dialogs/runner_install.py:182 +msgid "Unable to get runner versions from lutris.net" +msgstr "Немагчыма атрымаць версіі запускальніка з lutris.net" + +#: lutris/gui/dialogs/runner_install.py:189 +#, python-format +msgid "%s version management" +msgstr "Кіраванне версіямі %s" + +#: lutris/gui/dialogs/runner_install.py:241 +#, python-format +msgid "View %d game" +msgid_plural "View %d games" +msgstr[0] "Праглядзець %d гульню" +msgstr[1] "Праглядзець %d гульні" +msgstr[2] "Праглядзець %d гульняў" + +#: lutris/gui/dialogs/runner_install.py:280 +#: lutris/gui/dialogs/uninstall_dialog.py:223 +msgid "Uninstall" +msgstr "Дэінсталяваць" + +#: lutris/gui/dialogs/runner_install.py:294 +msgid "Wine version usage" +msgstr "Выкарыстанне версіі Wine" + +#: lutris/gui/dialogs/runner_install.py:365 +#, python-format +msgid "Version %s is not longer available" +msgstr "Версія %s больш недаступная" + +#: lutris/gui/dialogs/runner_install.py:390 +msgid "Downloading…" +msgstr "Спампоўка..." + +#: lutris/gui/dialogs/runner_install.py:393 +msgid "Extracting…" +msgstr "Выманне..." + +#: lutris/gui/dialogs/runner_install.py:423 +msgid "Failed to retrieve the runner archive" +msgstr "Не атрымалася атрымаць архіў запускальніка" + +#: lutris/gui/dialogs/uninstall_dialog.py:128 +#, python-format +msgid "Uninstall %s" +msgstr "Дэінсталяваць %s" + +#: lutris/gui/dialogs/uninstall_dialog.py:130 +#, python-format +msgid "Remove %s" +msgstr "Выдаліць %s" + +#: lutris/gui/dialogs/uninstall_dialog.py:132 +#, python-format +msgid "Uninstall %d games" +msgstr "Дэінсталяваць %d гульняў" + +#: lutris/gui/dialogs/uninstall_dialog.py:134 +#, python-format +msgid "Remove %d games" +msgstr "Выдаліць %d гульняў" + +#: lutris/gui/dialogs/uninstall_dialog.py:136 +#, python-format +msgid "Uninstall %d games and remove %d games" +msgstr "Дэінсталяваць %d гульняў і выдаліць %d гульняў" + +#: lutris/gui/dialogs/uninstall_dialog.py:149 +msgid "After you uninstall these games, you won't be able play them in Lutris." +msgstr "Пасля дэінсталяцыі гэтых гульняў вы не зможаце гуляць у іх у Lutris." + +#: lutris/gui/dialogs/uninstall_dialog.py:152 +msgid "" +"Uninstalled games that you remove from the library will no longer appear in " +"the 'Games' view, but those that remain will retain their playtime data." +msgstr "Дэінсталяваныя гульні, якія вы выдаляеце з бібліятэкі, больш не будуць з'яўляцца ў " +"выглядзе 'Гульні', але тыя, што засталіся, захаваюць свае даныя аб часе гульні." + +#: lutris/gui/dialogs/uninstall_dialog.py:157 +msgid "" +"After you remove these games, they will no longer appear in the 'Games' view." +msgstr "" +"Пасля выдалення гэтых гульняў яны больш не будуць з'яўляцца ў выглядзе 'Гульні'." + +#: lutris/gui/dialogs/uninstall_dialog.py:162 +msgid "" +"Some of the game directories cannot be removed because they are shared with " +"other games that you are not removing." +msgstr "" +"Некаторыя каталогі гульняў не могуць быць выдалены, таму што яны " +"выкарыстоўваюцца іншымі гульнямі, якія вы не выдаляеце." + +#: lutris/gui/dialogs/uninstall_dialog.py:168 +msgid "" +"Some of the game directories cannot be removed because they are protected." +msgstr "" +"Некаторыя каталогі гульняў не могуць быць выдалены, таму што яны абаронены." + +#: lutris/gui/dialogs/uninstall_dialog.py:265 +#, python-format +msgid "" +"Please confirm.\n" +"Everything under %s\n" +"will be moved to the trash." +msgstr "Калі ласка, пацвердзіце.\n" +"Усё, што знаходзіцца ў %s\n" +"будзе перамешчана ў сметніцу." + +#: lutris/gui/dialogs/uninstall_dialog.py:269 +#, python-format +msgid "" +"Please confirm.\n" +"All the files for %d games will be moved to the trash." +msgstr "Калі ласка, пацвердзіце.\n" +"Усе файлы для %d гульняў будуць перамешчаны ў сметніцу." + +#: lutris/gui/dialogs/uninstall_dialog.py:277 +msgid "Permanently delete files?" +msgstr "Выдаліць файлы назаўсёды?" + +#: lutris/gui/dialogs/uninstall_dialog.py:360 +msgid "Remove from Library" +msgstr "Выдаліць з бібліятэкі" + +#: lutris/gui/dialogs/uninstall_dialog.py:366 +msgid "Delete Files" +msgstr "Выдаліць файлы" + +#: lutris/gui/dialogs/webconnect_dialog.py:149 +msgid "Loading..." +msgstr "Загрузка..." + +#: lutris/gui/installer/file_box.py:84 +#, python-brace-format +msgid "Steam game {appid}" +msgstr "Гульня Steam {appid}" + +#: lutris/gui/installer/file_box.py:96 +msgid "Download" +msgstr "Спампаваць" + +#: lutris/gui/installer/file_box.py:98 +msgid "Use Cache" +msgstr "Выкарыстоўваць кэш" + +#: lutris/gui/installer/file_box.py:102 +msgid "Select File" +msgstr "Выбраць файл" + +#: lutris/gui/installer/file_box.py:159 +msgid "Cache file for future installations" +msgstr "Кэш-файл для будучых усталёвак" + +#: lutris/gui/installer/file_box.py:178 +msgid "Source:" +msgstr "Крыніца:" + +#: lutris/gui/installerwindow.py:128 +msgid "Configure download cache" +msgstr "Наладзіць кэш спампоўкі" + +#: lutris/gui/installerwindow.py:130 +msgid "Change where Lutris downloads game installer files." +msgstr "Змяніць месца, куды Lutris спампоўвае файлы ўсталёўшчыка гульні." + +#: lutris/gui/installerwindow.py:133 +msgid "View installer source" +msgstr "Праглядзець крыніцу ўсталёўшчыка" + +#: lutris/gui/installerwindow.py:241 +msgid "Remove game files" +msgstr "Выдаліць файлы гульні" + +#: lutris/gui/installerwindow.py:256 +msgid "Are you sure you want to cancel the installation?" +msgstr "Вы ўпэўнены, што хочаце скасаваць усталёўку?" + +#: lutris/gui/installerwindow.py:257 +msgid "Cancel installation?" +msgstr "Скасаваць усталёўку?" + +#: lutris/gui/installerwindow.py:332 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"Чакаем усталёўкі кампанентаў Lutris\n" +"Усталёўкі могуць не атрымлівацца, калі кампаненты Lutris не ўсталяваны на пачатку." + +#: lutris/gui/installerwindow.py:389 +#, python-format +msgid "Install %s" +msgstr "Усталяваць %s" + +#: lutris/gui/installerwindow.py:411 +#, python-format +msgid "This game requires %s. Do you want to install it?" +msgstr "Гэтая гульня патрабуе %s. Усталяваць?" + +#: lutris/gui/installerwindow.py:412 +msgid "Missing dependency" +msgstr "Адсутнічае залежнасць" + +#: lutris/gui/installerwindow.py:420 +msgid "Installing {}" +msgstr "Усталяванне {}" + +#: lutris/gui/installerwindow.py:426 +msgid "No installer available" +msgstr "Няма даступнага ўсталёўшчыка" + +#: lutris/gui/installerwindow.py:432 +#, python-format +msgid "Missing field \"%s\" in install script" +msgstr "Адсутнічае поле \"%s\" у скрыпце ўсталёўкі" + +#: lutris/gui/installerwindow.py:435 +#, python-format +msgid "Improperly formatted file \"%s\"" +msgstr "Няправільна адфарматаваны файл \"%s\"" + +#: lutris/gui/installerwindow.py:485 +msgid "Select installation directory" +msgstr "Выберыце каталог усталёўкі" + +#: lutris/gui/installerwindow.py:495 +msgid "Preparing Lutris for installation" +msgstr "Падрыхтоўка Lutris да ўсталёўкі" + +#: lutris/gui/installerwindow.py:589 +msgid "" +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' " +"folder where the game is installed." +msgstr "" +"Гэтая гульня мае дадатковы кантэнт\n" +"Выберыце, які вы хочаце, і ён будзе даступны ў папцы 'extras', дзе ўсталявана гульня." + +#: lutris/gui/installerwindow.py:685 +msgid "" +"Please review the files needed for the installation then click 'Install'" +msgstr "" +"Калі ласка, праглядзіце файлы, неабходныя для ўсталёўкі, затым націсніце 'Усталяваць'" + +#: lutris/gui/installerwindow.py:693 +msgid "Downloading game data" +msgstr "Спампоўка даных гульні" + +#: lutris/gui/installerwindow.py:710 +#, python-format +msgid "Unable to get files: %s" +msgstr "Немагчыма атрымаць файлы: %s" + +#: lutris/gui/installerwindow.py:724 +msgid "Installing game data" +msgstr "Усталёўка даных гульні" + +#. Lutris flatplak doesn't autodetect files on CD-ROM properly +#. and selecting this option doesn't let the user click "Back" +#. so the only option is to cancel the install. +#: lutris/gui/installerwindow.py:866 +msgid "Autodetect" +msgstr "Аўтавызначэнне" + +#: lutris/gui/installerwindow.py:871 +msgid "Browse…" +msgstr "Агляд..." + +#: lutris/gui/installerwindow.py:878 +msgid "Eject" +msgstr "Выняць" + +#: lutris/gui/installerwindow.py:890 +msgid "Select the folder where the disc is mounted" +msgstr "Выберыце папку, дзе змантаваны дыск" + +#: lutris/gui/installerwindow.py:944 +msgid "" +"An unexpected error has occurred while installing this game. Please share " +"the details below with the Lutris team on GitHub or Discord." +msgstr "" +"Падчас усталёўкі гэтай гульні адбылася нечаканая памылка. Калі ласка, " +"падзяліцеся падрабязнасцямі ніжэй з камандай Lutris на GitHub або Discord." + +#: lutris/gui/installerwindow.py:1003 +msgid "_Launch" +msgstr "_Запусціць" + +#: lutris/gui/installerwindow.py:1083 +msgid "_Abort" +msgstr "_Перарваць" + +#: lutris/gui/installerwindow.py:1084 +msgid "Abort and revert the installation" +msgstr "Перарваць і адмяніць усталёўку" + +#: lutris/gui/installerwindow.py:1087 +msgid "_Close" +msgstr "_Закрыць" + +#: lutris/gui/lutriswindow.py:654 +#, python-format +msgid "Connect your %s account to access your games" +msgstr "Падключыце свой уліковы запіс %s, каб атрымаць доступ да вашых гульняў" + +#: lutris/gui/lutriswindow.py:735 +#, python-format +msgid "Add a game matching '%s' to your favorites to see it here." +msgstr "Дадайце гульню, якая адпавядае '%s', у абраныя, каб убачыць яе тут." + +#: lutris/gui/lutriswindow.py:737 +#, python-format +msgid "No hidden games matching '%s' found." +msgstr "Схаваных гульняў, якія адпавядаюць '%s', не знойдзена." + +#: lutris/gui/lutriswindow.py:740 +#, python-format +msgid "" +"No installed games matching '%s' found. Press Ctrl+I to show uninstalled " +"games." +msgstr "" +"Не знойдзена ўсталяваных гульняў, якія адпавядаюць '%s'. Націсніце " +"Ctrl+I, каб паказаць неўсталяваныя гульні." + +#: lutris/gui/lutriswindow.py:743 +#, python-format +msgid "No games matching '%s' found " +msgstr "Не знойдзена гульняў, якія адпавядаюць '%s' " + +#: lutris/gui/lutriswindow.py:746 +msgid "Add games to your favorites to see them here." +msgstr "Дадайце гульні ў абраныя, каб убачыць іх тут." + +#: lutris/gui/lutriswindow.py:748 +msgid "No games are hidden." +msgstr "Няма схаваных гульняў." + +#: lutris/gui/lutriswindow.py:750 +msgid "No installed games found. Press Ctrl+I to show uninstalled games." +msgstr "Не знойдзена ўсталяваных гульняў. Націсніце Ctrl+I, каб паказаць неўсталяваныя гульні." + +#: lutris/gui/lutriswindow.py:759 +msgid "No games found" +msgstr "Гульні не знойдзены" + +#: lutris/gui/lutriswindow.py:804 +#, python-format +msgid "Search %s games" +msgstr "Шукаць %s гульняў" + +#: lutris/gui/lutriswindow.py:806 +msgid "Search 1 game" +msgstr "Шукаць 1 гульню" + +#: lutris/gui/lutriswindow.py:1060 +msgid "Unsupported Lutris Version" +msgstr "Непадтрымліваемая версія Lutris" + +#: lutris/gui/lutriswindow.py:1062 +msgid "" +"This version of Lutris will no longer receive support on Github and Discord, " +"and may not interoperate properly with Lutris.net. Do you want to use it " +"anyway?" +msgstr "" +"Гэтая версія Lutris больш не будзе атрымліваць падтрымку на Github і Discord, " +"і можа не працаваць належным чынам з Lutris.net. Вы ўсё роўна хочаце яе выкарыстоўваць?" + +#: lutris/gui/lutriswindow.py:1273 +msgid "Show Hidden Games" +msgstr "Паказаць схаваныя гульні" + +#: lutris/gui/lutriswindow.py:1275 +msgid "Rehide Hidden Games" +msgstr "Зноў схаваць схаваныя гульні" + +#: lutris/gui/lutriswindow.py:1473 +msgid "" +"Your limits are not set correctly. Please increase them as described here: " +"How-to:-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "" +"Вашы ліміты заданы няправільна. Калі ласка, павялічце іх, як апісана тут: " +"How-to:-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/gui/widgets/cellrenderers.py:385 lutris/gui/widgets/sidebar.py:501 +msgid "Missing" +msgstr "Адсутнічае" + +#: lutris/gui/widgets/common.py:87 +msgid "Select a folder" +msgstr "Выбраць папку" + +#: lutris/gui/widgets/common.py:89 +msgid "Select a file" +msgstr "Выбраць файл" + +#: lutris/gui/widgets/common.py:95 +msgid "Open in file browser" +msgstr "Адкрыць у файлавым браўзеры" + +#: lutris/gui/widgets/common.py:246 +msgid "" +"Warning! The selected path is located on a drive formatted by " +"Windows.\n" +"Games and programs installed on Windows drives don't work." +msgstr "" +"Увага! Выбраны шлях знаходзіцца на дыску, адфарматаваным Windows.\n" +"Гульні і праграмы, усталяваныя на дысках Windows, не працуюць." + +#: lutris/gui/widgets/common.py:255 +msgid "" +"Warning! The selected path contains files. Installation will not work " +"properly." +msgstr "" +"Увага! Выбраны шлях утрымлівае файлы. Усталёўка не будзе працаваць належным чынам." + +#: lutris/gui/widgets/common.py:263 +msgid "" +"Warning The destination folder is not writable by the current user." +msgstr "" +"Увага Папка прызначэння недаступная для запісу бягучым карыстальнікам." + +#: lutris/gui/widgets/common.py:381 +msgid "Add" +msgstr "Дадаць" + +#: lutris/gui/widgets/common.py:385 +msgid "Delete" +msgstr "Выдаліць" + +#: lutris/gui/widgets/download_collection_progress_box.py:145 +#: lutris/gui/widgets/download_progress_box.py:109 +msgid "Retry" +msgstr "Паўтарыць" + +#: lutris/gui/widgets/download_collection_progress_box.py:172 +#: lutris/gui/widgets/download_progress_box.py:136 +msgid "Download interrupted" +msgstr "Спампоўка перарвана" + +#: lutris/gui/widgets/download_collection_progress_box.py:191 +#: lutris/gui/widgets/download_progress_box.py:144 +#, python-brace-format +msgid "{downloaded} / {size} ({speed:0.2f}MB/s), {time} remaining" +msgstr "{downloaded} / {size} ({speed:0.2f}МБ/с), засталося {time}" + +#: lutris/gui/widgets/game_bar.py:174 +#, python-format +msgid "" +"Platform:\n" +"%s" +msgstr "" +"Платформа:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:183 +#, python-format +msgid "" +"Time played:\n" +"%s" +msgstr "" +"Час гульні:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:192 +#, python-format +msgid "" +"Last played:\n" +"%s" +msgstr "" +"Апошні запуск:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:214 +msgid "Launching" +msgstr "Запуск" + +#: lutris/gui/widgets/sidebar.py:156 lutris/gui/widgets/sidebar.py:189 +#: lutris/gui/widgets/sidebar.py:234 +msgid "Run" +msgstr "Запусціць" + +#: lutris/gui/widgets/sidebar.py:157 lutris/gui/widgets/sidebar.py:190 +msgid "Reload" +msgstr "Перазагрузіць" + +#: lutris/gui/widgets/sidebar.py:191 +msgid "Disconnect" +msgstr "Адлучыць" + +#: lutris/gui/widgets/sidebar.py:192 +msgid "Connect" +msgstr "Падлучыць" + +#: lutris/gui/widgets/sidebar.py:231 +msgid "Manage Versions" +msgstr "Кіраваць версіямі" + +#: lutris/gui/widgets/sidebar.py:277 lutris/gui/widgets/sidebar.py:317 +msgid "Edit Games" +msgstr "Рэдагаваць гульні" + +#: lutris/gui/widgets/sidebar.py:399 +msgid "Library" +msgstr "Бібліатэка" + +#: lutris/gui/widgets/sidebar.py:401 +msgid "Saved Searches" +msgstr "Захаваныя пошукі" + +#: lutris/gui/widgets/sidebar.py:404 +msgid "Platforms" +msgstr "Платформы" + +#: lutris/gui/widgets/sidebar.py:458 lutris/util/system.py:32 +msgid "Games" +msgstr "Гульні" + +#: lutris/gui/widgets/sidebar.py:467 +msgid "Recent" +msgstr "Нядаўнія" + +#: lutris/gui/widgets/sidebar.py:476 +msgid "Favorites" +msgstr "Абраныя" + +#: lutris/gui/widgets/sidebar.py:485 +msgid "Uncategorized" +msgstr "Без катэгорыі" + +#: lutris/gui/widgets/sidebar.py:509 +msgid "Running" +msgstr "Запушчана" + +#: lutris/gui/widgets/status_icon.py:89 lutris/gui/widgets/status_icon.py:113 +msgid "Show Lutris" +msgstr "Паказаць Lutris" + +#: lutris/gui/widgets/status_icon.py:94 +msgid "Quite" +msgstr "Выйсці" + +#: lutris/gui/widgets/status_icon.py:111 +msgid "Hide Lutris" +msgstr "Схаваць Lutris" + +#: lutris/installer/commands.py:61 +#, python-format +msgid "Invalid runner provided %s" +msgstr "Пададзены памылковы запускальнік %s" + +#: lutris/installer/commands.py:77 +#, python-brace-format +msgid "One of {params} parameter is mandatory for the {cmd} command" +msgstr "Адзін з параметраў {params} з'яўляецца абавязковым для каманды {cmd}" + +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 +#: lutris/installer/interpreter.py:190 +msgid " or " +msgstr " або " + +#: lutris/installer/commands.py:85 +#, python-brace-format +msgid "The {param} parameter is mandatory for the {cmd} command" +msgstr "Параметр {param} з'яўляецца абавязковым для каманды {cmd}" + +#: lutris/installer/commands.py:95 +#, python-format +msgid "Invalid file '%s'. Can't make it executable" +msgstr "Памылковы файл '%s'. Немагчыма зрабіць яго выканальным" + +#: lutris/installer/commands.py:108 +msgid "" +"Parameters file and command can't be used at the same time for the execute " +"command" +msgstr "" +"Параметры file і command не могуць выкарыстоўвацца адначасова для каманды execute" + +#: lutris/installer/commands.py:142 +msgid "No parameters supplied to execute command." +msgstr "Не перададзены параметры для каманды выканання." + +#: lutris/installer/commands.py:158 +#, python-format +msgid "Unable to find executable %s" +msgstr "Немагчыма знайсці выканальны файл %s" + +#: lutris/installer/commands.py:192 +#, python-format +msgid "%s does not exist" +msgstr "%s не існуе" + +#: lutris/installer/commands.py:198 lutris/runtime.py:129 +#, python-format +msgid "Extracting %s" +msgstr "Выманне %s" + +#: lutris/installer/commands.py:232 +msgid "" +"Insert or mount game disc and click Autodetect or\n" +"use Browse if the disc is mounted on a non standard location." +msgstr "" +"Устаўце або змантуйце гульнявы дыск і націсніце Аўтавызначэнне або\n" +"выкарыстоўвайце Агляд, калі дыск змантаваны ў нестандартным месцы." + +#: lutris/installer/commands.py:238 +#, python-format +msgid "" +"\n" +"\n" +"Lutris is looking for a mounted disk drive or image \n" +"containing the following file or folder:\n" +"%s" +msgstr "" +"\n" +"\n" +"Lutris шукае змантаваны дыскавод або вобраз, \n" +"які змяшчае наступны файл або папку:\n" +"%s" + +#: lutris/installer/commands.py:261 +#, python-format +msgid "The required file '%s' could not be located." +msgstr "Немагчыма знайсці неабходны файл '%s'." + +#: lutris/installer/commands.py:282 +#, python-format +msgid "Source does not exist: %s" +msgstr "Крыніца не існуе: %s" + +#: lutris/installer/commands.py:308 +#, python-format +msgid "Invalid source for 'move' operation: %s" +msgstr "Несапраўдная крыніца для аперацыі 'перамяшчэння': %s" + +#: lutris/installer/commands.py:327 +#, python-brace-format +msgid "" +"Can't move {src} \n" +"to destination {dst}" +msgstr "" +"Немагчыма перамясціць {src} \n" +"у прызначэнне {dst}" + +#: lutris/installer/commands.py:334 +#, python-format +msgid "Rename error, source path does not exist: %s" +msgstr "Памылка перайменавання, зыходны шлях не існуе: %s" + +#: lutris/installer/commands.py:341 +#, python-format +msgid "Rename error, destination already exists: %s" +msgstr "Памылка перайменавання, прызначэнне ўжо існуе: %s" + +#: lutris/installer/commands.py:357 +msgid "Missing parameter src" +msgstr "Адсутнічае параметр src" + +#: lutris/installer/commands.py:360 +msgid "Wrong value for 'src' param" +msgstr "Няправільнае значэнне для параметра 'src'" + +#: lutris/installer/commands.py:364 +msgid "Wrong value for 'dst' param" +msgstr "Няправільнае значэнне для параметра 'dst'" + +#: lutris/installer/commands.py:439 +#, python-format +msgid "Command exited with code %s" +msgstr "Каманда завершана з кодам %s" + +#: lutris/installer/commands.py:458 +#, python-format +msgid "Wrong value for write_file mode: '%s'" +msgstr "Няправільнае значэнне для рэжыму write_file: '%s'" + +#: lutris/installer/commands.py:651 +msgid "install_or_extract only works with wine!" +msgstr "install_or_extract працуе толькі з wine!" + +#: lutris/installer/errors.py:49 +#, python-format +msgid "This game requires %s." +msgstr "Гэтая гульня патрабуе %s." + +#: lutris/installer/installer_file_collection.py:86 +msgid "File" +msgstr "Файл" + +#: lutris/installer/installer_file.py:48 +#, python-format +msgid "missing field `url` for file `%s`" +msgstr "адсутнічае поле `url` для файла `%s`" + +#: lutris/installer/installer_file.py:67 +#, python-format +msgid "missing field `filename` in file `%s`" +msgstr "адсутнічае поле `filename` у файле `%s`" + +#: lutris/installer/installer_file.py:162 +#, python-brace-format +msgid "{file} on {host}" +msgstr "{file} на {host}" + +#: lutris/installer/installer_file.py:254 +msgid "Invalid checksum, expected format (type:hash) " +msgstr "Памылковая кантрольная сума, чаканы фармат (тып:хэш) " + +#: lutris/installer/installer_file.py:261 +msgid " checksum mismatch " +msgstr " неадпаведнасць кантрольнай сумы " + +#: lutris/installer/installer.py:38 +#, python-format +msgid "The script was missing the '%s' key, which is required." +msgstr "У скрыпце адсутнічаў ключ '%s', які з'яўляецца абавязковым." + +#: lutris/installer/installer.py:218 +msgid "Game config key must be a string" +msgstr "Ключ канфігурацыі гульні павінен быць радком" + +#: lutris/installer/installer.py:266 +msgid "Invalid 'game' section" +msgstr "Памылковы раздзел 'game'" + +#: lutris/installer/interpreter.py:85 +msgid "This installer doesn't have a 'script' section" +msgstr "Гэты ўсталёўшчык не мае раздзела 'script'" + +#: lutris/installer/interpreter.py:91 +msgid "" +"Invalid script: \n" +"{}" +msgstr "" +"Памылковы скрыпт: \n" +"{}" + +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 +#, python-format +msgid "This installer requires %s on your system" +msgstr "Гэты ўсталёўшчык патрабуе %s у вашай сістэме" + +#: lutris/installer/interpreter.py:183 +msgid "You need to install {} before" +msgstr "Вам трэба спачатку ўсталяваць {}" + +#: lutris/installer/interpreter.py:232 +msgid "Lutris does not have the necessary permissions to install to path:" +msgstr "Lutris не мае неабходных дазволаў для ўсталёўкі па шляху:" + +#: lutris/installer/interpreter.py:237 +#, python-format +msgid "Path %s not found, unable to create game folder. Is the disk mounted?" +msgstr "Шлях %s не знойдзены, немагчыма стварыць папку гульні. Ці змантаваны дыск?" + +#: lutris/installer/interpreter.py:312 +msgid "Installer commands are not formatted correctly" +msgstr "Каманды ўсталёўшчыка адфарматаваны няправільна" + +#: lutris/installer/interpreter.py:364 +#, python-format +msgid "The command \"%s\" does not exist." +msgstr "Каманда \"%s\" не існуе." + +#: lutris/installer/interpreter.py:374 +#, python-format +msgid "" +"The executable at path %s can't be found, please check the destination " +"folder.\n" +"Some parts of the installation process may have not completed successfully." +msgstr "" +"Выканальны файл па шляху %s не знойдзены, калі ласка, праверце папку прызначэння.\n" +"Некаторыя часткі працэсу ўсталёўкі маглі не завяршыцца паспяхова." + +#: lutris/installer/interpreter.py:381 +msgid "Installation completed!" +msgstr "Усталёўка завершана!" + +#: lutris/installer/steam_installer.py:43 +#, python-format +msgid "Malformed steam path: %s" +msgstr "Няправільны шлях Steam: %s" + +#: lutris/runners/atari800.py:16 +msgid "Desktop resolution" +msgstr "Раздзяляльнасць працоўнага стала" + +#: lutris/runners/atari800.py:21 +msgid "Atari800" +msgstr "Atari800" + +#: lutris/runners/atari800.py:22 +msgid "Atari 8bit computers" +msgstr "8-бітныя камп'ютары Atari" + +#: lutris/runners/atari800.py:25 +msgid "Atari 400, 800 and XL emulator" +msgstr "Эмулятар Atari 400, 800 і XL" + +#: lutris/runners/atari800.py:39 +msgid "" +"The game data, commonly called a ROM image. \n" +"Supported formats: ATR, XFD, DCM, ATR.GZ, XFD.GZ and PRO." +msgstr "Даныя гульні, звычайна званыя вобразам ROM. \n" +"Падтрымліваюцца фарматы: ATR, XFD, DCM, ATR.GZ, XFD.GZ і PRO." + +#: lutris/runners/atari800.py:50 +msgid "BIOS location" +msgstr "Размяшчэнне BIOS" + +#: lutris/runners/atari800.py:52 +msgid "" +"A folder containing the Atari 800 BIOS files.\n" +"They are provided by Lutris so you shouldn't have to change this." +msgstr "" +"Папка, якая змяшчае файлы BIOS Atari 800.\n" +"Яны прадастаўляюцца Lutris, таму вам не трэба гэта мяняць." + +#: lutris/runners/atari800.py:61 +msgid "Emulate Atari 800" +msgstr "Эмуляваць Atari 800" + +#: lutris/runners/atari800.py:62 +msgid "Emulate Atari 800 XL" +msgstr "Эмуляваць Atari 800 XL" + +#: lutris/runners/atari800.py:63 +msgid "Emulate Atari 320 XE (Compy Shop)" +msgstr "Эмуляваць Atari 320 XE (Compy Shop)" + +#: lutris/runners/atari800.py:64 +msgid "Emulate Atari 320 XE (Rambo)" +msgstr "Эмуляваць Atari 320 XE (Rambo)" + +#: lutris/runners/atari800.py:65 +msgid "Emulate Atari 5200" +msgstr "Эмуляваць Atari 5200" + +#: lutris/runners/atari800.py:68 lutris/runners/mame.py:85 +#: lutris/runners/vice.py:86 +msgid "Machine" +msgstr "Машына" + +#: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 +#: lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 +#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 +#: lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:337 lutris/runners/easyrpg.py:345 +#: lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 +#: lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 +#: lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 +#: lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 +#: lutris/runners/hatari.py:79 lutris/runners/hatari.py:94 +#: lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 +#: lutris/runners/mame.py:166 lutris/runners/mame.py:173 +#: lutris/runners/mame.py:190 lutris/runners/mame.py:204 +#: lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 +#: lutris/runners/mednafen.py:89 lutris/runners/o2em.py:79 +#: lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 +#: lutris/runners/pico8.py:45 lutris/runners/redream.py:24 +#: lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 +#: lutris/runners/scummvm.py:118 lutris/runners/scummvm.py:126 +#: lutris/runners/scummvm.py:139 lutris/runners/scummvm.py:162 +#: lutris/runners/scummvm.py:182 lutris/runners/scummvm.py:197 +#: lutris/runners/scummvm.py:221 lutris/runners/scummvm.py:239 +#: lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 +#: lutris/runners/vice.py:51 lutris/runners/vice.py:58 +#: lutris/runners/vice.py:65 lutris/runners/vice.py:72 +#: lutris/runners/wine.py:290 lutris/runners/wine.py:305 +#: lutris/runners/wine.py:318 lutris/runners/wine.py:329 +#: lutris/runners/wine.py:341 lutris/runners/wine.py:353 +#: lutris/runners/wine.py:363 lutris/runners/wine.py:374 +#: lutris/runners/wine.py:385 lutris/runners/wine.py:398 +msgid "Graphics" +msgstr "Графіка" + +#: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 +#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 +#: lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 +#: lutris/runners/libretro.py:95 lutris/runners/mame.py:167 +#: lutris/runners/mednafen.py:71 lutris/runners/mupen64plus.py:29 +#: lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 +#: lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 +#: lutris/runners/redream.py:24 lutris/runners/reicast.py:40 +#: lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 +#: lutris/runners/vice.py:52 lutris/runners/vita3k.py:41 +#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 +msgid "Fullscreen" +msgstr "Поўнаэкранны рэжым" + +#: lutris/runners/atari800.py:83 +msgid "Fullscreen resolution" +msgstr "Раздзяляльнасць поўнаэкраннага рэжыму" + +#: lutris/runners/atari800.py:93 +msgid "Could not download Atari 800 BIOS archive" +msgstr "Не атрымалася спампаваць архіў BIOS Atari 800" + +#: lutris/runners/cemu.py:12 +msgid "Cemu" +msgstr "Cemu" + +#: lutris/runners/cemu.py:13 +msgid "Wii U" +msgstr "Wii U" + +#: lutris/runners/cemu.py:14 +msgid "Wii U emulator" +msgstr "Эмулятар Wii U" + +#: lutris/runners/cemu.py:22 lutris/runners/easyrpg.py:24 +msgid "Game directory" +msgstr "Каталог гульні" + +#: lutris/runners/cemu.py:24 +msgid "" +"The directory in which the game lives. If installed into Cemu, this will be " +"in the mlc directory, such as mlc/usr/title/00050000/101c9500." +msgstr "" +"Каталог, у якім знаходзіцца гульня. Калі ўсталявана ў Cemu, гэта будзе " +"ў каталогу mlc, напрыклад mlc/usr/title/00050000/101c9500." + +#: lutris/runners/cemu.py:31 +msgid "Compressed ROM" +msgstr "Сціснуты ROM" + +#: lutris/runners/cemu.py:32 +msgid "" +"A game compressed into a single file (WUA format), only use if not using " +"game directory" +msgstr "" +"Гульня, сціснутая ў адзін файл (фармат WUA), выкарыстоўваць толькі калі " +"не выкарыстоўваецца каталог гульні" + +#: lutris/runners/cemu.py:44 +msgid "Custom mlc folder location" +msgstr "Карыстальніцкае размяшчэнне папкі mlc" + +#: lutris/runners/cemu.py:49 +msgid "Render in upside down mode" +msgstr "Рэндэрынг у перавернутым рэжыме" + +#: lutris/runners/cemu.py:56 +msgid "NSight debugging options" +msgstr "Параметры адладкі NSight" + +#: lutris/runners/cemu.py:63 +msgid "Intel legacy graphics mode" +msgstr "Рэжым старой графікі Intel" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 +msgid "Nintendo GameCube" +msgstr "Nintendo GameCube" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 +msgid "Nintendo Wii" +msgstr "Nintendo Wii" + +#: lutris/runners/dolphin.py:15 +msgid "GameCube and Wii emulator" +msgstr "Эмулятар GameCube і Wii" + +#: lutris/runners/dolphin.py:16 lutris/services/dolphin.py:29 +msgid "Dolphin" +msgstr "Dolphin" + +#: lutris/runners/dolphin.py:29 lutris/runners/pcsx2.py:22 +#: lutris/runners/xemu.py:19 +msgid "ISO file" +msgstr "Файл ISO" + +#: lutris/runners/dolphin.py:42 +msgid "Batch" +msgstr "Пакет" + +#: lutris/runners/dolphin.py:45 +msgid "Exit Dolphin with emulator." +msgstr "Выйсці з Dolphin разам з эмулятарам." + +#: lutris/runners/dolphin.py:52 +msgid "Custom Global User Directory" +msgstr "Адмысловы глабальны каталог карыстальніка" + +#: lutris/runners/dosbox.py:16 +msgid "DOSBox" +msgstr "DOSBox" + +#: lutris/runners/dosbox.py:17 +msgid "MS-DOS emulator" +msgstr "Эмулятар MS-DOS" + +#: lutris/runners/dosbox.py:18 +msgid "MS-DOS" +msgstr "MS-DOS" + +#: lutris/runners/dosbox.py:26 +msgid "Main file" +msgstr "Галоўны файл" + +#: lutris/runners/dosbox.py:28 +msgid "" +"The CONF, EXE, COM or BAT file to launch.\n" +"If the executable is managed in the config file, this should be the config " +"file, instead specifying it in 'Configuration file'." +msgstr "" +"Файл CONF, EXE, COM або BAT для запуску.\n" +"Калі выканальны файл кіруецца ў файле канфігурацыі, гэта павінен быць файл " +"канфігурацыі, замест таго, што пазначаны ў 'Файл канфігурацыі'." + +#: lutris/runners/dosbox.py:36 +msgid "Configuration file" +msgstr "Файл канфігурацыі" + +#: lutris/runners/dosbox.py:38 +msgid "" +"Start DOSBox with the options specified in this file. \n" +"It can have a section in which you can put commands to execute on startup. " +"Read DOSBox's documentation for more information." +msgstr "" +"Запусціць DOSBox з параметрамі, указанымі ў гэтым файле. \n" +"Ён можа мець раздзел, у якім вы можаце размясціць каманды для выканання пры запуску. " +"Прачытайце дакументацыю DOSBox для атрымання дадатковай інфармацыі." + +#: lutris/runners/dosbox.py:47 +msgid "Command line arguments" +msgstr "Аргументы каманднага радка" + +#: lutris/runners/dosbox.py:48 +msgid "Command line arguments used when launching DOSBox" +msgstr "Аргументы каманднага радка, якія выкарыстоўваюцца пры запуску DOSBox" + +#: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 +#: lutris/runners/linux.py:39 lutris/runners/wine.py:222 +msgid "Working directory" +msgstr "Працоўны каталог" + +#: lutris/runners/dosbox.py:57 lutris/runners/linux.py:41 +#: lutris/runners/wine.py:224 +msgid "" +"The location where the game is run from.\n" +"By default, Lutris uses the directory of the executable." +msgstr "" +"Месца, адкуль запускаецца гульня.\n" +"Па змаўчанні Lutris выкарыстоўвае каталог выканальнага файла." + +#: lutris/runners/dosbox.py:66 +msgid "Open game in fullscreen" +msgstr "Адкрыць гульню ў поўнаэкранным рэжыме" + +#: lutris/runners/dosbox.py:69 +msgid "Tells DOSBox to launch the game in fullscreen." +msgstr "Загадвае DOSBox запусціць гульню ў поўнаэкранным рэжыме." + +#: lutris/runners/dosbox.py:73 +msgid "Exit DOSBox with the game" +msgstr "Выйсці з DOSBox разам з гульнёй" + +#: lutris/runners/dosbox.py:76 +msgid "Shut down DOSBox when the game is quit." +msgstr "Выключыць DOSBox, калі гульня завершана." + +#: lutris/runners/duckstation.py:13 +msgid "DuckStation" +msgstr "DuckStation" + +#: lutris/runners/duckstation.py:14 +msgid "PlayStation 1 Emulator" +msgstr "Эмулятар PlayStation 1" + +#: lutris/runners/duckstation.py:15 lutris/runners/mednafen.py:31 +msgid "Sony PlayStation" +msgstr "Sony PlayStation" + +#: lutris/runners/duckstation.py:37 +msgid "Enters fullscreen mode immediately after starting." +msgstr "Пераходзіць у поўнаэкранны рэжым адразу пасля запуску." + +#: lutris/runners/duckstation.py:43 +msgid "No Fullscreen" +msgstr "Без поўнаэкраннага рэжыму" + +#: lutris/runners/duckstation.py:45 +msgid "Prevents fullscreen mode from triggering if enabled." +msgstr "Калі уключана прадухіляе ўключэнне поўнаэкраннага рэжыму." + +#: lutris/runners/duckstation.py:51 +msgid "Batch Mode" +msgstr "Пакетны рэжым" + +#: lutris/runners/duckstation.py:52 lutris/runners/duckstation.py:61 +#: lutris/runners/duckstation.py:69 +msgid "Boot" +msgstr "Загрузка" + +#: lutris/runners/duckstation.py:53 +msgid "Enables batch mode (exits after powering off)." +msgstr "Уключае пакетны рэжым (выходзіць пасля выключэння)." + +#: lutris/runners/duckstation.py:60 +msgid "Force Fastboot" +msgstr "Прымусовая хуткая загрузка" + +#: lutris/runners/duckstation.py:62 +msgid "Force fast boot." +msgstr "Прымусовая хуткая загрузка." + +#: lutris/runners/duckstation.py:68 +msgid "Force Slowboot" +msgstr "Прымусовая павольная загрузка" + +#: lutris/runners/duckstation.py:70 +msgid "Force slow boot." +msgstr "Прымусовая павольная загрузка." + +#: lutris/runners/duckstation.py:76 +msgid "No Controllers" +msgstr "Без кантролераў" + +#: lutris/runners/duckstation.py:77 lutris/runners/o2em.py:64 +#: lutris/runners/o2em.py:72 +msgid "Controllers" +msgstr "Кантролеры" + +#: lutris/runners/duckstation.py:79 +msgid "" +"Prevents the emulator from polling for controllers. Try this option if " +"you're having difficulties starting the emulator." +msgstr "" +"Прадухіляе апытанне эмулятарам кантролераў. Паспрабуйце гэты параметр, калі " +"ў вас узнікаюць цяжкасці з запускам эмулятара." + +#: lutris/runners/duckstation.py:87 +msgid "Custom configuration file" +msgstr "Карыстальніцкі файл канфігурацыі" + +#: lutris/runners/duckstation.py:89 +msgid "" +"Loads a custom settings configuration from the specified filename. Default " +"settings applied if file not found." +msgstr "" +"Загружае карыстальніцкую канфігурацыю налад з указанага імя файла. Калі файл не знойдзены " +"прымяняюцца налады па змаўчанні." + +#: lutris/runners/easyrpg.py:12 +msgid "EasyRPG Player" +msgstr "EasyRPG Player" + +#: lutris/runners/easyrpg.py:13 +msgid "Runs RPG Maker 2000/2003 games" +msgstr "Запускае гульні RPG Maker 2000/2003" + +#: lutris/runners/easyrpg.py:14 lutris/runners/flatpak.py:22 +#: lutris/runners/linux.py:17 lutris/runners/linux.py:19 +#: lutris/runners/scummvm.py:56 lutris/runners/steam.py:31 +#: lutris/runners/zdoom.py:15 +msgid "Linux" +msgstr "Linux" + +#: lutris/runners/easyrpg.py:25 +msgid "Select the directory of the game. (required)" +msgstr "Выберыце каталог гульні. (абавязкова)" + +#: lutris/runners/easyrpg.py:31 +msgid "Encoding" +msgstr "Кадзіроўка" + +#: lutris/runners/easyrpg.py:33 +msgid "" +"Instead of auto detecting the encoding or using the one in RPG_RT.ini, the " +"specified encoding is used." +msgstr "" +"Замест аўтаматычнага вызначэння кадзіроўкі або выкарыстання той, што ў " +"RPG_RT.ini, выкарыстоўваецца пазначаная кадзіроўка." + +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 +#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 +#: lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 +#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:242 +#: lutris/runners/wine.py:537 lutris/sysoptions.py:50 +msgid "Auto" +msgstr "Аўтаматычна" + +#: lutris/runners/easyrpg.py:37 +msgid "Auto (ignore RPG_RT.ini)" +msgstr "Аўтаматычна (ігнараваць RPG_RT.ini)" + +#: lutris/runners/easyrpg.py:38 +msgid "Western European" +msgstr "Заходнееўрапейская" + +#: lutris/runners/easyrpg.py:39 +msgid "Central/Eastern European" +msgstr "Цэнтральная/Усходняя Еўропа" + +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 +#: lutris/sysoptions.py:39 +msgid "Japanese" +msgstr "Японская" + +#: lutris/runners/easyrpg.py:41 +msgid "Cyrillic" +msgstr "Кірыліца" + +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 +msgid "Korean" +msgstr "Карэйская" + +#: lutris/runners/easyrpg.py:43 +msgid "Chinese (Simplified)" +msgstr "Кітайская (спрошчаная)" + +#: lutris/runners/easyrpg.py:44 +msgid "Chinese (Traditional)" +msgstr "Кітайская (традыцыйная)" + +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 +msgid "Greek" +msgstr "Грэчаская" + +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 +msgid "Turkish" +msgstr "Турэцкая" + +#: lutris/runners/easyrpg.py:47 +msgid "Hebrew" +msgstr "Іўрыт" + +#: lutris/runners/easyrpg.py:48 +msgid "Arabic" +msgstr "Арабская" + +#: lutris/runners/easyrpg.py:49 +msgid "Baltic" +msgstr "Балтыйская" + +#: lutris/runners/easyrpg.py:50 +msgid "Thai" +msgstr "Тайская" + +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 +msgid "Engine" +msgstr "Рухавік" + +#: lutris/runners/easyrpg.py:59 +msgid "Disable auto detection of the simulated engine." +msgstr "Адключыць аўтаматычнае вызначэнне імітаванага рухавіка." + +#: lutris/runners/easyrpg.py:62 +msgid "RPG Maker 2000 engine (v1.00 - v1.10)" +msgstr "Рухавік RPG Maker 2000 (v1.00 - v1.10)" + +#: lutris/runners/easyrpg.py:63 +msgid "RPG Maker 2000 engine (v1.50 - v1.51)" +msgstr "Рухавік RPG Maker 2000 (v1.50 - v1.51)" + +#: lutris/runners/easyrpg.py:64 +msgid "RPG Maker 2000 (English release) engine" +msgstr "Рухавік RPG Maker 2000 (англійская версія)" + +#: lutris/runners/easyrpg.py:65 +msgid "RPG Maker 2003 engine (v1.00 - v1.04)" +msgstr "Рухавік RPG Maker 2003 (v1.00 - v1.04)" + +#: lutris/runners/easyrpg.py:66 +msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" +msgstr "Рухавік RPG Maker 2003 (v1.05 - v1.09a)" + +#: lutris/runners/easyrpg.py:67 +msgid "RPG Maker 2003 (English release) engine" +msgstr "Рухавік RPG Maker 2003 (англійская версія)" + +#: lutris/runners/easyrpg.py:75 +msgid "Patches" +msgstr "Патчы" + +#: lutris/runners/easyrpg.py:77 +msgid "" +"Instead of autodetecting patches used by this game, force emulation of " +"certain patches.\n" +"\n" +"Available patches:\n" +"common-this: \"This Event\" in common eventsdynrpg: DynRPG " +"patch by Cherrykey-patch: Key Patch by Inelukimaniac: Maniac " +"Patch by BingShanpic-unlock: Pictures are not blocked by " +"messagesrpg2k3-cmds: Support all RPG Maker 2003 event commands in any " +"version of the engine\n" +"\n" +"You can provide multiple patches or use 'none' to disable all engine patches." +msgstr "" +"Замест аўтаматычнага вызначэння патчаў, якія выкарыстоўваюцца гэтай гульнёй, прымусова эмуляваць пэўныя патчы.\n" +"\n" +"Даступныя патчы:\n" +"common-this: \"Гэта падзея\" у агульных падзеяхdynrpg: Патч DynRPG " +"ад Cherrykey-patch: Ключавы патч ад Inelukimaniac: Патч Maniac " +"ад BingShanpic-unlock: Выявы не блакуюцца " +"паведамленняміrpg2k3-cmds: Падтрымка ўсіх каманд падзей RPG Maker 2003 у любой " +"версіі рухавіка\n" +"\n" +"Вы можаце пазначыць некалькі патчаў або выкарыстоўваць 'none', каб адключыць усе патчы рухавіка." + +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 +msgid "Language" +msgstr "Мова" + +#: lutris/runners/easyrpg.py:93 +msgid "Load the game translation in the language/LANG directory." +msgstr "Загрузіць пераклад гульні з каталога language/LANG." + +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 +msgid "Save path" +msgstr "Шлях захавання" + +#: lutris/runners/easyrpg.py:101 +msgid "" +"Instead of storing save files in the game directory they are stored in the " +"specified path. The directory must exist." +msgstr "" +"Замест захавання файлаў захавання ў каталогу гульні яны захоўваюцца па " +"ўказаным шляху. Каталог павінен існаваць." + +#: lutris/runners/easyrpg.py:108 +msgid "New game" +msgstr "Новая гульня" + +#: lutris/runners/easyrpg.py:109 +msgid "Skip the title scene and start a new game directly." +msgstr "Прапусціць тытульную сцэну і пачаць новую гульню непасрэдна." + +#: lutris/runners/easyrpg.py:115 +msgid "Load game ID" +msgstr "Загрузіць ID гульні" + +#: lutris/runners/easyrpg.py:116 +msgid "" +"Skip the title scene and load SaveXX.lsd.\n" +"Set to 0 to disable." +msgstr "" +"Прапусціць тытульную сцэну і загрузіць SaveXX.lsd.\n" +"Усталюйце 0, каб адключыць." + +#: lutris/runners/easyrpg.py:125 +msgid "Record input" +msgstr "Запіс уводу" + +#: lutris/runners/easyrpg.py:126 +msgid "Records all button input to the specified log file." +msgstr "Запісвае ўсе націскі кнопак у пазначаны файл журнала." + +#: lutris/runners/easyrpg.py:132 +msgid "Replay input" +msgstr "Прайграць увод" + +#: lutris/runners/easyrpg.py:134 +msgid "" +"Replays button input from the specified log file, as generated by 'Record " +"input'.\n" +"If the RNG seed and the state of the save file directory is also the same as " +"it was when the log was recorded, this should reproduce an identical run to " +"the one recorded." +msgstr "" +"Прайгравае ўвод кнопак з указанага файла журнала, як згенеравана 'Запіс уводу'.\n" +"Калі пачатковае значэнне генератара выпадковых лікаў і стан каталога файлаў " +"захавання таксама супадаюць з тымі, што былі пры запісе журнала, гэта павінна " +"прайграць ідэнтычны запуск таму, што быў запісаны." + +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 +#: lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 +#: lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 +msgid "Debug" +msgstr "Адладка" + +#: lutris/runners/easyrpg.py:144 +msgid "Test play" +msgstr "Тэставая гульня" + +#: lutris/runners/easyrpg.py:145 +msgid "Enable TestPlay (debug) mode." +msgstr "Уключыць рэжым TestPlay (адладка)." + +#: lutris/runners/easyrpg.py:153 +msgid "Hide title" +msgstr "Схаваць загаловак" + +#: lutris/runners/easyrpg.py:154 +msgid "Hide the title background image and center the command menu." +msgstr "Схаваць фонавы малюнак загалоўка і адцэнтраваць меню каманд." + +#: lutris/runners/easyrpg.py:162 +msgid "Start map ID" +msgstr "Пачатковы ID карты" + +#: lutris/runners/easyrpg.py:164 +msgid "" +"Overwrite the map used for new games and use MapXXXX.lmu instead.\n" +"Set to 0 to disable.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Перазапісаць карту, якая выкарыстоўваецца для новых гульняў, і выкарыстоўваць " +"замест яе MapXXXX.lmu.\n" +"Задайце 0, каб адключыць.\n" +"\n" +"Несумяшчальна з 'Загрузіць ID гульні'." + +#: lutris/runners/easyrpg.py:177 +msgid "Start position" +msgstr "Пачатковая пазіцыя" + +#: lutris/runners/easyrpg.py:179 +msgid "" +"Overwrite the party start position and move the party to the specified " +"position.\n" +"Provide two numbers separated by a space.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Перазапісаць пачатковую пазіцыю групы і перамясціць групу ў пазначаную пазіцыю.\n" +"Падайце два лікі, падзеленыя прабелам.\n" +"\n" +"Несумяшчальна з 'Загрузіць ID гульні'." + +#: lutris/runners/easyrpg.py:189 +msgid "Start party" +msgstr "Пачатковая група" + +#: lutris/runners/easyrpg.py:191 +msgid "" +"Overwrite the starting party members with the actors with the specified " +"IDs.\n" +"Provide one to four numbers separated by spaces.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Перазапісаць пачатковых членаў групы акцёрамі з указанымі ID.\n" +"Падайце адзін-чатыры лікі, падзеленыя прабеламі.\n" +"\n" +"Несумяшчальна з 'Загрузіць ID гульні'." + +#: lutris/runners/easyrpg.py:201 +msgid "Battle test" +msgstr "Тэст бітвы" + +#: lutris/runners/easyrpg.py:202 +msgid "Start a battle test with the specified monster party." +msgstr "Пачаць тэст бітвы з указанай групай монстраў." + +#: lutris/runners/easyrpg.py:212 +msgid "AutoBattle algorithm" +msgstr "Алгарытм AutoBattle" + +#: lutris/runners/easyrpg.py:214 +msgid "" +"Which AutoBattle algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT " +"bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +"ATTACK: Like RPG_RT+ but only physical attacks, no skills." +msgstr "" +"Які алгарытм AutoBattle выкарыстоўваць.\n" +"\n" +"RPG_RT: Алгарытм, сумяшчальны з RPG_RT па змаўчанні, уключаючы памылкі RPG_RT.\n" +"RPG_RT+: Алгарытм, сумяшчальны з RPG_RT па змаўчанні, з выпраўленнямі памылак.\n" +"ATTACK: Як RPG_RT+, але толькі фізічныя атакі, без навыкаў." + +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 +msgid "RPG_RT" +msgstr "RPG_RT" + +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 +msgid "RPG_RT+" +msgstr "RPG_RT+" + +#: lutris/runners/easyrpg.py:223 +msgid "ATTACK" +msgstr "ATTACK" + +#: lutris/runners/easyrpg.py:232 +msgid "EnemyAI algorithm" +msgstr "Алгарытм EnemyAI" + +#: lutris/runners/easyrpg.py:234 +msgid "" +"Which EnemyAI algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT " +"bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +msgstr "" +"Які алгарытм EnemyAI выкарыстоўваць.\n" +"\n" +"RPG_RT: Алгарытм, сумяшчальны з RPG_RT па змаўчанні, уключаючы памылкі RPG_RT.\n" +"RPG_RT+: Алгарытм, сумяшчальны з RPG_RT па змаўчанні, з выпраўленнямі памылак.\n" + +#: lutris/runners/easyrpg.py:250 +msgid "RNG seed" +msgstr "Пачатковае значэнне RNG" + +#: lutris/runners/easyrpg.py:251 +msgid "" +"Seeds the random number generator.\n" +"Use -1 to disable." +msgstr "" +"Задае пачатковае значэнне генератара выпадковых лікаў.\n" +"Выкарыстоўвайце -1, каб адключыць." + +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 +#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 +#: lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 +#: lutris/runners/scummvm.py:336 lutris/runners/scummvm.py:349 +#: lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 +#: lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 +#: lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 +msgid "Audio" +msgstr "Аўдыя" + +#: lutris/runners/easyrpg.py:260 +msgid "Enable audio" +msgstr "Уключыць аўдыя" + +#: lutris/runners/easyrpg.py:261 +msgid "Switch off to disable audio." +msgstr "Выключыць, каб адключыць аўдыя." + +#: lutris/runners/easyrpg.py:268 +msgid "BGM volume" +msgstr "Гучнасць BGM" + +#: lutris/runners/easyrpg.py:269 +msgid "Volume of the background music." +msgstr "Гучнасць фонавай музыкі." + +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 +msgid "SFX volume" +msgstr "Гучнасць SFX" + +#: lutris/runners/easyrpg.py:279 +msgid "Volume of the sound effects." +msgstr "Гучнасць гукавых эфектаў." + +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 +msgid "Soundfont" +msgstr "Гукавы шрыфт" + +#: lutris/runners/easyrpg.py:290 +msgid "Soundfont in sf2 format to use when playing MIDI files." +msgstr "Гукавы шрыфт у фармаце sf2 для выкарыстання пры прайграванні MIDI-файлаў." + +#: lutris/runners/easyrpg.py:297 +msgid "Start in fullscreen mode." +msgstr "Запусціць у поўнаэкранным рэжыме." + +#: lutris/runners/easyrpg.py:305 +msgid "Game resolution" +msgstr "Раздзяляльнасць гульні" + +#: lutris/runners/easyrpg.py:307 +msgid "" +"Force a different game resolution.\n" +"\n" +"This is experimental and can cause glitches or break games!" +msgstr "" +"Прымусова ўсталяваць іншую раздзяляльнасць гульні.\n" +"\n" +"Гэта эксперыментальна і можа выклікаць збоі або зламаць гульні!" + +#: lutris/runners/easyrpg.py:310 +msgid "320×240 (4:3, Original)" +msgstr "320×240 (4:3, Арыгінал)" + +#: lutris/runners/easyrpg.py:311 +msgid "416×240 (16:9, Widescreen)" +msgstr "416×240 (16:9, Шырокаэкранны)" + +#: lutris/runners/easyrpg.py:312 +msgid "560×240 (21:9, Ultrawide)" +msgstr "560×240 (21:9, Ультрашырокі)" + +#: lutris/runners/easyrpg.py:320 +msgid "Scaling" +msgstr "Маштабаванне" + +#: lutris/runners/easyrpg.py:322 +msgid "" +"How the video output is scaled.\n" +"\n" +"Nearest: Scale to screen size (causes scaling artifacts)\n" +"Integer: Scale to multiple of the game resolution\n" +"Bilinear: Like Nearest, but output is blurred to avoid artifacts\n" +msgstr "" +"Як маштабуецца відэавыхад.\n" +"\n" +"Бліжэйшы: Маштабаванне да памеру экрана (выклікае артэфакты маштабавання)\n" +"Цэлы: Маштабаванне да кратнасці раздзяляльнасці гульні\n" +"Білінейны: Як Бліжэйшы, але выява размываецца, каб пазбегнуць артэфактаў)\n" + +#: lutris/runners/easyrpg.py:328 +msgid "Nearest" +msgstr "Бліжэйшы" + +#: lutris/runners/easyrpg.py:329 +msgid "Integer" +msgstr "Цэлы" + +#: lutris/runners/easyrpg.py:330 +msgid "Bilinear" +msgstr "Білінейны" + +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 +#: lutris/runners/scummvm.py:229 +msgid "Stretch" +msgstr "Расцягнуць" + +#: lutris/runners/easyrpg.py:339 +msgid "" +"Ignore the aspect ratio and stretch video output to the entire width of the " +"screen." +msgstr "" +"Ігнараваць суадносіны бакоў і расцягнуць відэавыхад на ўсю шырыню экрана." + +#: lutris/runners/easyrpg.py:346 +msgid "Enable VSync" +msgstr "Уключыць VSync" + +#: lutris/runners/easyrpg.py:347 +msgid "Switch off to disable VSync and use the FPS limit." +msgstr "Выключыць, каб адключыць VSync і выкарыстоўваць абмежаванне FPS." + +#: lutris/runners/easyrpg.py:354 +msgid "FPS limit" +msgstr "Ліміт FPS" + +#: lutris/runners/easyrpg.py:356 +msgid "" +"Set a custom frames per second limit.\n" +"If unspecified, the default is 60 FPS.\n" +"Set to 0 to disable the frame limiter." +msgstr "" +"Задайце ўласны ліміт кадраў у секунду.\n" +"Калі не пазначана, па змаўчанні 60 FPS.\n" +"Задайце 0, каб адключыць абмежавальнік кадраў." + +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:561 +msgid "Show FPS" +msgstr "Паказаць FPS" + +#: lutris/runners/easyrpg.py:369 +msgid "Enable frames per second counter." +msgstr "Уключыць лічыльнік кадраў у секунду." + +#: lutris/runners/easyrpg.py:372 +msgid "Fullscreen & title bar" +msgstr "Поўнаэкранны рэжым і радок загалоўка" + +#: lutris/runners/easyrpg.py:373 +msgid "Fullscreen, title bar & window" +msgstr "Поўнаэкранны рэжым, радок загалоўка і акно" + +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 +msgid "Runtime Package" +msgstr "Пакет асяроддзя выканання" + +#: lutris/runners/easyrpg.py:381 +msgid "Enable RTP" +msgstr "Уключыць RTP" + +#: lutris/runners/easyrpg.py:382 +msgid "Switch off to disable support for the Runtime Package (RTP)." +msgstr "Выключыць, каб адключыць падтрымку пакета асяроддзя выканання (RTP)." + +#: lutris/runners/easyrpg.py:389 +msgid "RPG2000 RTP location" +msgstr "Размяшчэнне RPG2000 RTP" + +#: lutris/runners/easyrpg.py:390 +msgid "" +"Full path to a directory containing an extracted RPG Maker 2000 Run-Time-" +"Package (RTP)." +msgstr "" +"Поўны шлях да каталога, які змяшчае распакаваны пакет RPG Maker 2000 Run-Time-Package (RTP)." + +#: lutris/runners/easyrpg.py:396 +msgid "RPG2003 RTP location" +msgstr "Размяшчэнне RPG2003 RTP" + +#: lutris/runners/easyrpg.py:397 +msgid "" +"Full path to a directory containing an extracted RPG Maker 2003 Run-Time-" +"Package (RTP)." +msgstr "" +"Поўны шлях да каталога, які змяшчае распакаваны пакет RPG Maker 2003 Run-Time-Package (RTP)." + +#: lutris/runners/easyrpg.py:403 +msgid "Fallback RTP location" +msgstr "Рэзервовае размяшчэнне RTP" + +#: lutris/runners/easyrpg.py:404 +msgid "Full path to a directory containing a combined RTP." +msgstr "Поўны шлях да каталога, які змяшчае камбінаваны RTP." + +#: lutris/runners/easyrpg.py:517 +msgid "No game directory provided" +msgstr "Не уведзены каталог гульні" + +#: lutris/runners/flatpak.py:21 +msgid "Runs Flatpak applications" +msgstr "Запускае праграмы Flatpak" + +#: lutris/runners/flatpak.py:24 +msgid "Flatpak" +msgstr "Flatpak" + +#: lutris/runners/flatpak.py:33 lutris/runners/steam.py:37 +msgid "Application ID" +msgstr "ID праграмы" + +#: lutris/runners/flatpak.py:34 +msgid "The application's unique three-part identifier (tld.domain.app)." +msgstr "Унікальны трохчастковы ідэнтыфікатар праграмы (tld.domain.app)." + +#: lutris/runners/flatpak.py:39 +msgid "Architecture" +msgstr "Архітэктура" + +#: lutris/runners/flatpak.py:41 +msgid "" +"The architecture to run. See flatpak --supported-arches for architectures " +"supported by the host." +msgstr "" +"Архітэктура для запуску. Глядзіце flatpak --supported-arches для архітэктур, " +"якія падтрымліваюцца хостам." + +#: lutris/runners/flatpak.py:45 +msgid "Branch" +msgstr "Галіна" + +#: lutris/runners/flatpak.py:45 +msgid "The branch to use." +msgstr "Галіна для выкарыстання." + +#: lutris/runners/flatpak.py:49 +msgid "Install type" +msgstr "Тып усталёўкі" + +#: lutris/runners/flatpak.py:50 +msgid "Can be system or user." +msgstr "Можа быць сістэмнай або карыстальніцкай." + +#: lutris/runners/flatpak.py:56 +msgid "Args" +msgstr "Аргументы" + +#: lutris/runners/flatpak.py:57 +msgid "Arguments to be passed to the application." +msgstr "Аргументы, якія перадаюцца праграме." + +#: lutris/runners/flatpak.py:62 +msgid "Command" +msgstr "Каманда" + +#: lutris/runners/flatpak.py:63 +msgid "" +"The command to run instead of the one listed in the application metadata." +msgstr "" +"Каманда для запуску замест той, што пазначана ў метаданых праграмы." + +#: lutris/runners/flatpak.py:71 +msgid "" +"The directory to run the command in. Note that this must be a directory " +"inside the sandbox." +msgstr "" +"Каталог для выканання каманды. Звярніце ўвагу, што гэта павінен быць " +"каталог унутры пясочніцы." + +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 +msgid "Environment variables" +msgstr "Пераменныя асяроддзя" + +#: lutris/runners/flatpak.py:79 +msgid "" +"Set an environment variable in the application. This overrides to the " +"Context section from the application metadata." +msgstr "" +"Задаць пераменную асяроддзя ў праграме. Гэта перавызначае раздзел " +"Context з метаданых праграмы." + +#: lutris/runners/flatpak.py:92 +msgid "The Flatpak executable could not be found." +msgstr "Немагчыма знайсці выканальны файл Flatpak." + +#: lutris/runners/flatpak.py:98 +msgid "" +"Flatpak installation is not handled by Lutris.\n" +"Install Flatpak with the package provided by your distribution." +msgstr "" +"Усталёўка Flatpak не апрацоўваецца Lutris.\n" +"Усталюйце Flatpak з пакетам, прадастаўленым вашым дыстрыбутывам." + +#: lutris/runners/flatpak.py:140 +msgid "No application specified." +msgstr "Не пазначана праграма." + +#: lutris/runners/flatpak.py:144 +msgid "" +"Application ID is not specified in correct format.Must be something like: " +"tld.domain.app" +msgstr "" +"ID праграмы пазначаны ў няправільным фармаце. Павінен быць прыкладна такім: " +"tld.domain.app" + +#: lutris/runners/flatpak.py:148 +msgid "Application ID field must not contain options or arguments." +msgstr "Поле ID праграмы не павінна ўтрымліваць опцый або аргументаў." + +#: lutris/runners/fsuae.py:12 +msgid "Amiga 500" +msgstr "Amiga 500" + +#: lutris/runners/fsuae.py:19 +msgid "Amiga 500+" +msgstr "Amiga 500+" + +#: lutris/runners/fsuae.py:20 +msgid "Amiga 600" +msgstr "Amiga 600" + +#: lutris/runners/fsuae.py:21 +msgid "Amiga 1200" +msgstr "Amiga 1200" + +#: lutris/runners/fsuae.py:22 +msgid "Amiga 3000" +msgstr "Amiga 3000" + +#: lutris/runners/fsuae.py:24 +msgid "Amiga 4000" +msgstr "Amiga 4000" + +#: lutris/runners/fsuae.py:27 +msgid "Amiga 1000" +msgstr "Amiga 1000" + +#: lutris/runners/fsuae.py:29 +msgid "Amiga CD32" +msgstr "Amiga CD32" + +#: lutris/runners/fsuae.py:34 +msgid "Commodore CDTV" +msgstr "Commodore CDTV" + +#: lutris/runners/fsuae.py:91 +msgid "FS-UAE" +msgstr "FS-UAE" + +#: lutris/runners/fsuae.py:92 +msgid "Amiga emulator" +msgstr "Эмулятар Amiga" + +#: lutris/runners/fsuae.py:109 +msgid "68000" +msgstr "68000" + +#: lutris/runners/fsuae.py:110 +msgid "68010" +msgstr "68010" + +#: lutris/runners/fsuae.py:111 +msgid "68020 with 24-bit addressing" +msgstr "68020 з 24-бітнай адрасацыяй" + +#: lutris/runners/fsuae.py:112 +msgid "68020" +msgstr "68020" + +#: lutris/runners/fsuae.py:113 +msgid "68030 without internal MMU" +msgstr "68030 без унутранага MMU" + +#: lutris/runners/fsuae.py:114 +msgid "68030" +msgstr "68030" + +#: lutris/runners/fsuae.py:115 +msgid "68040 without internal FPU and MMU" +msgstr "68040 без унутраных FPU і MMU" + +#: lutris/runners/fsuae.py:116 +msgid "68040 without internal FPU" +msgstr "68040 без унутранага FPU" + +#: lutris/runners/fsuae.py:117 +msgid "68040 without internal MMU" +msgstr "68040 без унутранага MMU" + +#: lutris/runners/fsuae.py:118 +msgid "68040" +msgstr "68040" + +#: lutris/runners/fsuae.py:119 +msgid "68060 without internal FPU and MMU" +msgstr "68060 без унутраных FPU і MMU" + +#: lutris/runners/fsuae.py:120 +msgid "68060 without internal FPU" +msgstr "68060 без унутранага FPU" + +#: lutris/runners/fsuae.py:121 +msgid "68060 without internal MMU" +msgstr "68060 без унутранага MMU" + +#: lutris/runners/fsuae.py:122 +msgid "68060" +msgstr "68060" + +#: lutris/runners/fsuae.py:126 lutris/runners/fsuae.py:133 +#: lutris/runners/fsuae.py:167 +msgid "0" +msgstr "0" + +#: lutris/runners/fsuae.py:127 lutris/runners/fsuae.py:134 +#: lutris/runners/fsuae.py:168 +msgid "1 MB" +msgstr "1 МБ" + +#: lutris/runners/fsuae.py:128 lutris/runners/fsuae.py:135 +#: lutris/runners/fsuae.py:169 +msgid "2 MB" +msgstr "2 МБ" + +#: lutris/runners/fsuae.py:129 lutris/runners/fsuae.py:136 +#: lutris/runners/fsuae.py:170 +msgid "4 MB" +msgstr "4 МБ" + +#: lutris/runners/fsuae.py:130 lutris/runners/fsuae.py:137 +#: lutris/runners/fsuae.py:171 +msgid "8 MB" +msgstr "8 МБ" + +#: lutris/runners/fsuae.py:138 lutris/runners/fsuae.py:172 +msgid "16 MB" +msgstr "16 МБ" + +#: lutris/runners/fsuae.py:139 lutris/runners/fsuae.py:173 +msgid "32 MB" +msgstr "32 МБ" + +#: lutris/runners/fsuae.py:140 lutris/runners/fsuae.py:174 +msgid "64 MB" +msgstr "64 МБ" + +#: lutris/runners/fsuae.py:141 lutris/runners/fsuae.py:175 +msgid "128 MB" +msgstr "128 МБ" + +#: lutris/runners/fsuae.py:142 lutris/runners/fsuae.py:176 +msgid "256 MB" +msgstr "256 МБ" + +#: lutris/runners/fsuae.py:143 +msgid "384 MB" +msgstr "384 МБ" + +#: lutris/runners/fsuae.py:144 +msgid "512 MB" +msgstr "512 МБ" + +#: lutris/runners/fsuae.py:145 +msgid "768 MB" +msgstr "768 МБ" + +#: lutris/runners/fsuae.py:146 +msgid "1 GB" +msgstr "1 ГБ" + +#: lutris/runners/fsuae.py:179 +msgid "Turbo" +msgstr "Турба" + +#: lutris/runners/fsuae.py:190 +msgid "Boot disk" +msgstr "Загрузачны дыск" + +#: lutris/runners/fsuae.py:193 +msgid "" +"The main floppy disk file with the game data. \n" +"FS-UAE supports floppy images in multiple file formats: ADF, IPF, DMS are " +"the most common. ADZ (compressed ADF) and ADFs in zip files are a also " +"supported.\n" +"Files ending in .hdf will be mounted as hard drives and ISOs can be used for " +"Amiga CD32 and CDTV models." +msgstr "" +"Галоўны файл дыскеты з данымі гульні. \n" +"FS-UAE падтрымлівае вобразы дыскет у некалькіх фарматах файлаў: ADF, IPF, DMS " +"з'яўляюцца найбольш распаўсюджанымі. ADZ (сціснуты ADF) і ADF у zip-файлах " +"таксама падтрымліваюцца.\n" +"Файлы з пашырэннем .hdf будуць мантавацца як жорсткія дыскі, а ISO можна " +"выкарыстоўваць для мадэляў Amiga CD32 і CDTV." + +#: lutris/runners/fsuae.py:203 lutris/runners/fsuae.py:211 +#: lutris/runners/fsuae.py:325 lutris/runners/fsuae.py:335 +msgid "Media" +msgstr "Медыя" + +#: lutris/runners/fsuae.py:205 +msgid "Additional floppies" +msgstr "Дадатковыя дыскеты" + +#: lutris/runners/fsuae.py:207 +msgid "The additional floppy disk image(s)." +msgstr "Дадатковыя вобразы дыскет." + +#: lutris/runners/fsuae.py:212 +msgid "CD-ROM image" +msgstr "Вобраз CD-ROM" + +#: lutris/runners/fsuae.py:214 +msgid "CD-ROM image to use on non CD32/CDTV models" +msgstr "Вобраз CD-ROM для выкарыстання на мадэлях, якія не з'яўляюцца CD32/CDTV" + +#: lutris/runners/fsuae.py:221 +msgid "Amiga model" +msgstr "Мадэль Amiga" + +#: lutris/runners/fsuae.py:225 +msgid "Specify the Amiga model you want to emulate." +msgstr "Удакладніце мадэль Amiga, якую вы хочаце эмуляваць." + +#: lutris/runners/fsuae.py:229 lutris/runners/fsuae.py:242 +msgid "Kickstart" +msgstr "Kickstart" + +#: lutris/runners/fsuae.py:230 +msgid "Kickstart ROMs location" +msgstr "Размяшчэнне ROM Kickstart" + +#: lutris/runners/fsuae.py:233 +msgid "" +"Choose the folder containing original Amiga Kickstart ROMs. Refer to FS-UAE " +"documentation to find how to acquire them. Without these, FS-UAE uses a " +"bundled replacement ROM which is less compatible with Amiga software." +msgstr "" +"Выберыце папку, якая змяшчае арыгінальныя ROM Kickstart Amiga. Звярніцеся да " +"дакументацыі FS-UAE, каб даведацца, як іх атрымаць. Без іх FS-UAE выкарыстоўвае " +"ўбудаваны ROM, які менш сумяшчальны з праграмным забеспячэннем Amiga." + +#: lutris/runners/fsuae.py:243 +msgid "Extended Kickstart location" +msgstr "Размяшчэнне пашыранага Kickstart" + +#: lutris/runners/fsuae.py:245 +msgid "Location of extended Kickstart used for CD32" +msgstr "Размяшчэнне пашыранага Kickstart, які выкарыстоўваецца для CD32" + +#: lutris/runners/fsuae.py:250 +msgid "Fullscreen (F12 + F to switch)" +msgstr "Поўнаэкранны рэжым (F12 + F для пераключэння)" + +#: lutris/runners/fsuae.py:257 lutris/runners/o2em.py:87 +msgid "Scanlines display style" +msgstr "Стыль адлюстравання скан-ліній" + +#: lutris/runners/fsuae.py:260 lutris/runners/o2em.py:89 +msgid "" +"Activates a display filter adding scanlines to imitate the displays of " +"yesteryear." +msgstr "" +"Актывуе фільтр дысплея, які дадае скан-лініі для імітацыі дысплеяў мінулых гадоў." + +#: lutris/runners/fsuae.py:265 +msgid "Graphics Card" +msgstr "Відэакарта" + +#: lutris/runners/fsuae.py:271 +msgid "" +"Use this option to enable a graphics card. This option is none by default, " +"in which case only chipset graphics (OCS/ECS/AGA) support is available." +msgstr "" +"Выкарыстоўвайце гэты параметр, каб уключыць відэакарту. Па змаўчанні гэты " +"параметр адсутнічае, у гэтым выпадку даступная толькі падтрымка графікі чыпсэта (OCS/ECS/AGA)." + +#: lutris/runners/fsuae.py:278 +msgid "Graphics Card RAM" +msgstr "Аператыўная памяць відэакарты" + +#: lutris/runners/fsuae.py:284 +msgid "" +"Override the amount of graphics memory on the graphics card. The 0 MB option " +"is not really valid, but exists for user interface reasons." +msgstr "" +"Перавызначыць аб'ём графічнай памяці на відэакарце. Параметр 0 МБ не з'яўляецца правільным, " +"але існуе для зручнасці карыстацкага інтэрфейсу." + +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 +#: lutris/sysoptions.py:324 lutris/sysoptions.py:333 +msgid "CPU" +msgstr "Цэнтральны працэсар" + +#: lutris/runners/fsuae.py:296 +msgid "" +"Use this option to override the CPU model in the emulated Amiga. All Amiga " +"models imply a default CPU model, so you only need to use this option if you " +"want to use another CPU." +msgstr "" +"Выкарыстоўвайце гэты параметр, каб перавызначыць мадэль працэсара ў эмуляванай " +"Amiga. Усе мадэлі Amiga маюць на ўвазе мадэль працэсара па змаўчанні, таму вам " +"трэба выкарыстоўваць гэты параметр, толькі калі вы хочаце выкарыстоўваць іншы працэсар." + +#: lutris/runners/fsuae.py:303 +msgid "Fast Memory" +msgstr "Хуткая памяць" + +#: lutris/runners/fsuae.py:308 +msgid "Specify how much Fast Memory the Amiga model should have." +msgstr "Удакладніце колькі хуткай памяці павінна быць у мадэлі Amiga." + +#: lutris/runners/fsuae.py:312 +msgid "Zorro III RAM" +msgstr "Аператыўная памяць Zorro III" + +#: lutris/runners/fsuae.py:318 +msgid "" +"Override the amount of Zorro III Fast memory, specified in KB. Must be a " +"multiple of 1024. The default value depends on [amiga_model]. Requires a " +"processor with 32-bit address bus, (use for example the A1200/020 model)." +msgstr "" +"Перавызначыць аб'ём хуткай памяці Zorro III, паказаны ў КБ. Павінен быць " +"кратным 1024. Значэнне па змаўчанні залежыць ад [amiga_model]. Патрабуецца " +"працэсар з 32-бітнай адраснай шынай (выкарыстоўвайце, напрыклад, мадэль A1200/020)." + +#: lutris/runners/fsuae.py:326 +msgid "Floppy Drive Volume" +msgstr "Гучнасць дыскавода" + +#: lutris/runners/fsuae.py:331 +msgid "" +"Set volume to 0 to disable floppy drive clicks when the drive is empty. Max " +"volume is 100." +msgstr "" +"Усталюйце гучнасць на 0, каб адключыць пстрычкі дыскавода, калі " +"дыскавод пусты. Максімальная гучнасць - 100." + +#: lutris/runners/fsuae.py:336 +msgid "Floppy Drive Speed" +msgstr "Хуткасць дыскавода" + +#: lutris/runners/fsuae.py:342 +msgid "" +"Set the speed of the emulated floppy drives, in percent. For example, you " +"can specify 800 to get an 8x increase in speed. Use 0 to specify turbo mode. " +"Turbo mode means that all floppy operations complete immediately. The " +"default is 100 for most models." +msgstr "" +"Задаць хуткасць эмуляваных дыскаводаў у працэнтах. Напрыклад, вы можаце " +"задаць 800, каб атрымаць 8-кратнае павелічэнне хуткасці. Выкарыстоўвайце 0, " +"каб задаць турба-рэжым. Турба-рэжым азначае, што ўсе аперацыі з дыскетамі " +"завяршаюцца неадкладна. Па змаўчанні для большасці мадэляў - 100." + +#: lutris/runners/fsuae.py:350 +msgid "JIT Compiler" +msgstr "JIT-кампілятар" + +#: lutris/runners/fsuae.py:357 +msgid "Feral GameMode" +msgstr "Feral GameMode" + +#: lutris/runners/fsuae.py:361 +msgid "" +"Automatically uses Feral GameMode daemon if available. Set to true to " +"disable the feature." +msgstr "" +"Аўтаматычна выкарыстоўвае дэман Feral GameMode, калі ён даступны. " +"Усталюйце true, каб адключыць гэтую функцыю." + +#: lutris/runners/fsuae.py:365 +msgid "CPU governor warning" +msgstr "Папярэджанне ад дыспетчара частаты працэсара" + +#: lutris/runners/fsuae.py:370 +msgid "" +"Warn if running with a CPU governor other than performance. Set to true to " +"disable the warning." +msgstr "" +"Папярэджваць, калі запушчана ў рэжыме кантролю частаты, адрозным ад 'прадукцыйнасць'. " +"Задайце true, каб адключыць папярэджанне." + +#: lutris/runners/fsuae.py:375 +msgid "UAE bsdsocket.library" +msgstr "UAE bsdsocket.library" + +#: lutris/runners/hatari.py:15 +msgid "Atari ST computers emulator" +msgstr "Эмулятар камп'ютараў Atari ST" + +#: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:212 +msgid "Atari ST" +msgstr "Atari ST" + +#: lutris/runners/hatari.py:26 +msgid "Floppy Disk A" +msgstr "Дыскета A" + +#: lutris/runners/hatari.py:28 lutris/runners/hatari.py:39 +msgid "" +"Hatari supports floppy disk images in the following formats: ST, DIM, MSA, " +"STX, IPF, RAW and CRT. The last three require the caps library (capslib). " +"ZIP is supported, you don't need to uncompress the file." +msgstr "" +"Hatari падтрымлівае вобразы дыскет у наступных фарматах: ST, DIM, MSA, STX, " +"IPF, RAW і CRT. Апошнія тры патрабуюць бібліятэкі caps (capslib). ZIP " +"падтрымліваецца, вам не трэба распакоўваць файл." + +#: lutris/runners/hatari.py:37 +msgid "Floppy Disk B" +msgstr "Дыскета B" + +#: lutris/runners/hatari.py:47 lutris/runners/redream.py:74 +#: lutris/runners/zdoom.py:66 +msgid "None" +msgstr "Няма" + +#: lutris/runners/hatari.py:47 +msgid "Keyboard" +msgstr "Клавіятура" + +#: lutris/runners/hatari.py:47 lutris/runners/o2em.py:41 +#: lutris/runners/scummvm.py:269 +msgid "Joystick" +msgstr "Джойстык" + +#: lutris/runners/hatari.py:53 +msgid "Bios file (TOS)" +msgstr "Файл BIOS (TOS)" + +#: lutris/runners/hatari.py:55 +msgid "" +"TOS is the operating system of the Atari ST and is necessary to run " +"applications with the best fidelity, minimizing risks of issues.\n" +"TOS 1.02 is recommended for games." +msgstr "" +"TOS - гэта аперацыйная сістэma Atari ST, неабходная для запуску праграм " +"з найлепшай дакладнасцю, мінімізуючы рызыкі праблем.\n" +"TOS 1.02 рэкамендуецца для гульняў." + +#: lutris/runners/hatari.py:72 +msgid "Scale up display by 2 (Atari ST/STE)" +msgstr "Павялічыць дысплей у 2 разы (Atari ST/STE)" + +#: lutris/runners/hatari.py:74 +msgid "Double the screen size in windowed mode." +msgstr "Падвоіць памер экрана ў аконным рэжыме." + +#: lutris/runners/hatari.py:80 +msgid "Add borders to display" +msgstr "Дадаць рамкі да дысплея" + +#: lutris/runners/hatari.py:83 +msgid "" +"Useful for some games and demos using the overscan technique. The Atari ST " +"displayed borders around the screen because it was not powerful enough to " +"display graphics in fullscreen. But people from the demo scene were able to " +"remove them and some games made use of this technique." +msgstr "" +"Карысна для некаторых гульняў і дэма, якія выкарыстоўваюць тэхніку overscan. " +"Atari ST адлюстроўваў рамкі вакол экрана, таму што ён не быў дастаткова магутным " +"для адлюстравання графікі ў поўнаэкранным рэжыме. Але людзі з дэма-сцэны змаглі іх " +"выдаліць, і некаторыя гульні выкарыстоўвалі гэтую тэхніку." + +#: lutris/runners/hatari.py:95 +msgid "Display status bar" +msgstr "Паказваць радок стану" + +#: lutris/runners/hatari.py:98 +msgid "" +"Displays a status bar with some useful information, like green leds lighting " +"up when the floppy disks are read." +msgstr "" +"Адлюстроўвае радок стану з карыснай інфармацыяй, напрыклад, зялёныя святлодыёды, " +"якія загараюцца пры чытанні дыскет." + +#: lutris/runners/hatari.py:106 lutris/runners/hatari.py:114 +msgid "Joysticks" +msgstr "Джойстыкі" + +#: lutris/runners/hatari.py:107 +msgid "Joystick 0" +msgstr "Джойстык 0" + +#: lutris/runners/hatari.py:115 +msgid "Joystick 1" +msgstr "Джойстык 1" + +#: lutris/runners/hatari.py:126 +msgid "Do you want to select an Atari ST BIOS file?" +msgstr "Вы хочаце выбраць файл BIOS Atari ST?" + +#: lutris/runners/hatari.py:127 +msgid "Use BIOS file?" +msgstr "Выкарыстоўваць файл BIOS?" + +#: lutris/runners/hatari.py:128 +msgid "Select a BIOS file" +msgstr "Выбраць файл BIOS" + +#: lutris/runners/jzintv.py:13 +msgid "jzIntv" +msgstr "jzIntv" + +#: lutris/runners/jzintv.py:14 +msgid "Intellivision Emulator" +msgstr "Эмулятар Intellivision" + +#: lutris/runners/jzintv.py:15 +msgid "Intellivision" +msgstr "Intellivision" + +#: lutris/runners/jzintv.py:24 +msgid "" +"The game data, commonly called a ROM image. \n" +"Supported formats: ROM, BIN+CFG, INT, ITV \n" +"The file extension must be lower-case." +msgstr "Даныя гульні, звычайна званыя вобразам ROM. \n" +"Падтрымліваюцца фарматы: ROM, BIN+CFG, INT, ITV \n" +"Пашырэнне файла павінна быць у ніжнім рэгістры." + +#: lutris/runners/jzintv.py:34 +msgid "Bios location" +msgstr "Размяшчэнне BIOS" + +#: lutris/runners/jzintv.py:36 +msgid "" +"Choose the folder containing the Intellivision BIOS files (exec.bin and grom." +"bin).\n" +"These files contain code from the original hardware necessary to the " +"emulation." +msgstr "" +"Выберыце папку, якая змяшчае файлы BIOS Intellivision (exec.bin і grom.bin).\n" +"Гэтыя файлы ўтрымліваюць код з арыгінальнага абсталявання, неабходны для эмуляцыі." + +#: lutris/runners/jzintv.py:47 +msgid "Resolution" +msgstr "Раздзяляльнасць" + +#: lutris/runners/libretro.py:69 +msgid "Libretro" +msgstr "Libretro" + +#: lutris/runners/libretro.py:70 +msgid "Multi-system emulator" +msgstr "Мультысістэмны эмулятар" + +#: lutris/runners/libretro.py:80 +msgid "Core" +msgstr "Ядро" + +#: lutris/runners/libretro.py:89 lutris/runners/zdoom.py:76 +msgid "Config file" +msgstr "Файл налад" + +#: lutris/runners/libretro.py:101 +msgid "Verbose logging" +msgstr "Падрабязнае вядзенне журнала" + +#: lutris/runners/libretro.py:150 +msgid "The installer does not specify the libretro 'core' version." +msgstr "Усталёўшчык не паказвае версію «ядра» libretro." + +#: lutris/runners/libretro.py:246 +msgid "" +"The emulator files BIOS location must be configured in the Preferences " +"dialog." +msgstr "" +"Размяшчэнне BIOS файлаў эмулятара павінна быць наладжана ў дыялогавым акне «Налады»." + +#: lutris/runners/libretro.py:292 +msgid "No core has been selected for this game" +msgstr "Для гэтай гульні не выбрана ядро" + +#: lutris/runners/libretro.py:298 +msgid "No game file specified" +msgstr "Файл гульні не пазначаны" + +#: lutris/runners/linux.py:18 +msgid "Runs native games" +msgstr "Запускае натыўныя гульні" + +#: lutris/runners/linux.py:27 lutris/runners/wine.py:209 +msgid "Executable" +msgstr "Выканальны файл" + +#: lutris/runners/linux.py:28 +msgid "The game's main executable file" +msgstr "Галоўны выканальны файл гульні" + +#: lutris/runners/linux.py:33 lutris/runners/mame.py:126 +#: lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 +#: lutris/runners/steam.py:86 lutris/runners/wine.py:215 +#: lutris/runners/zdoom.py:28 +msgid "Arguments" +msgstr "Аргументы" + +#: lutris/runners/linux.py:34 lutris/runners/mame.py:127 +#: lutris/runners/scummvm.py:67 +msgid "Command line arguments used when launching the game" +msgstr "Аргументы каманднага радка, якія выкарыстоўваюцца пры запуску гульні" + +#: lutris/runners/linux.py:47 +msgid "Preload library" +msgstr "Папярэдняя загрузка бібліятэкі" + +#: lutris/runners/linux.py:49 +msgid "A library to load before running the game's executable." +msgstr "Бібліятэка для загрузкі перад запускам выканальнага файла гульні." + +#: lutris/runners/linux.py:54 +msgid "Add directory to LD_LIBRARY_PATH" +msgstr "Дадаць каталог у LD_LIBRARY_PATH" + +#: lutris/runners/linux.py:57 +msgid "" +"A directory where libraries should be searched for first, before the " +"standard set of directories; this is useful when debugging a new library or " +"using a nonstandard library for special purposes." +msgstr "" +"Каталог, у якім бібліятэкі павінны шукацца ў першую чаргу, перад стандартным " +"наборам каталогаў; гэта карысна пры адладцы новай бібліятэкі або выкарыстанні " +"нестандартнай бібліятэкі для спецыяльных мэт." + +#: lutris/runners/linux.py:139 +msgid "" +"The runner could not find a command or exe to use for this configuration." +msgstr "" +"Запускальнік не змог знайсці каманду або exe для выкарыстання ў гэтай канфігурацыі." + +#: lutris/runners/linux.py:162 +#, python-format +msgid "The file %s is not executable" +msgstr "Файл %s не з'яўляецца выканальным" + +#: lutris/runners/mame.py:66 lutris/services/mame.py:13 +msgid "MAME" +msgstr "MAME" + +#: lutris/runners/mame.py:67 +msgid "Arcade game emulator" +msgstr "Эмулятар аркадных гульняў" + +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 +msgid "The emulated machine." +msgstr "Эмуляваная машына." + +#: lutris/runners/mame.py:92 +msgid "Storage type" +msgstr "Тып сховішча" + +#: lutris/runners/mame.py:94 +msgid "Floppy disk" +msgstr "Дыскета" + +#: lutris/runners/mame.py:95 +msgid "Floppy drive 1" +msgstr "Дыскавод 1" + +#: lutris/runners/mame.py:96 +msgid "Floppy drive 2" +msgstr "Дыскавод 2" + +#: lutris/runners/mame.py:97 +msgid "Floppy drive 3" +msgstr "Дыскавод 3" + +#: lutris/runners/mame.py:98 +msgid "Floppy drive 4" +msgstr "Дыскавод 4" + +#: lutris/runners/mame.py:99 +msgid "Cassette (tape)" +msgstr "Касета (стужка)" + +#: lutris/runners/mame.py:100 +msgid "Cassette 1 (tape)" +msgstr "Касета 1 (стужка)" + +#: lutris/runners/mame.py:101 +msgid "Cassette 2 (tape)" +msgstr "Касета 2 (стужка)" + +#: lutris/runners/mame.py:102 +msgid "Cartridge" +msgstr "Картрыдж" + +#: lutris/runners/mame.py:103 +msgid "Cartridge 1" +msgstr "Картрыдж 1" + +#: lutris/runners/mame.py:104 +msgid "Cartridge 2" +msgstr "Картрыдж 2" + +#: lutris/runners/mame.py:105 +msgid "Cartridge 3" +msgstr "Картрыдж 3" + +#: lutris/runners/mame.py:106 +msgid "Cartridge 4" +msgstr "Картрыдж 4" + +#: lutris/runners/mame.py:107 +msgid "Snapshot" +msgstr "Здымак" + +#: lutris/runners/mame.py:108 +msgid "Hard Disk" +msgstr "Цвёрды дыск" + +#: lutris/runners/mame.py:109 +msgid "Hard Disk 1" +msgstr "Цвёрды дыск 1" + +#: lutris/runners/mame.py:110 +msgid "Hard Disk 2" +msgstr "Цвёрды дыск 2" + +#: lutris/runners/mame.py:111 +msgid "CD-ROM" +msgstr "CD-ROM" + +#: lutris/runners/mame.py:112 +msgid "CD-ROM 1" +msgstr "CD-ROM 1" + +#: lutris/runners/mame.py:113 +msgid "CD-ROM 2" +msgstr "CD-ROM 2" + +#: lutris/runners/mame.py:114 +msgid "Snapshot (dump)" +msgstr "Здымак (дамп)" + +#: lutris/runners/mame.py:115 +msgid "Quickload" +msgstr "Хуткая загрузка" + +#: lutris/runners/mame.py:116 +msgid "Memory Card" +msgstr "Карта памяці" + +#: lutris/runners/mame.py:117 +msgid "Cylinder" +msgstr "Цыліндр" + +#: lutris/runners/mame.py:118 +msgid "Punch Tape 1" +msgstr "Перфастужка 1" + +#: lutris/runners/mame.py:119 +msgid "Punch Tape 2" +msgstr "Перфастужка 2" + +#: lutris/runners/mame.py:120 +msgid "Print Out" +msgstr "Раздрукоўка" + +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 +msgid "Autoboot" +msgstr "Аўтазагрузка" + +#: lutris/runners/mame.py:139 +msgid "Autoboot command" +msgstr "Каманда аўтазагрузкі" + +#: lutris/runners/mame.py:140 +msgid "" +"Autotype this command when the system has started, an enter keypress is " +"automatically added." +msgstr "" +"Аўтаматычна ўводзіць гэтую каманду пры запуску сістэмы, націск клавішы " +"Enter дадаецца аўтаматычна." + +#: lutris/runners/mame.py:146 +msgid "Delay before entering autoboot command" +msgstr "Затрымка перад уводам каманды аўтазагрузкі" + +#: lutris/runners/mame.py:156 +msgid "ROM/BIOS path" +msgstr "Шлях да ROM/BIOS" + +#: lutris/runners/mame.py:158 +msgid "" +"Choose the folder containing ROMs and BIOS files.\n" +"These files contain code from the original hardware necessary to the " +"emulation." +msgstr "" +"Выберыце папку, якая змяшчае файлы ROM і BIOS.\n" +"Гэтыя файлы ўтрымліваюць код з арыгінальнага абсталявання, неабходны для эмуляцыі." + +#: lutris/runners/mame.py:174 +msgid "CRT effect ()" +msgstr "Эфект ЭПТ ()" + +#: lutris/runners/mame.py:175 +msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." +msgstr "Прымяняе эфект ЭПТ да экрана. Патрабуецца рэндэрэр OpenGL." + +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 +#: lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "Адладка" + +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "Падрабязны" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "адлюстроўваць дадатковую дыягнастычную інфармацыю." + +#: lutris/runners/mame.py:191 +msgid "Video backend" +msgstr "Відэа бэкэнд" + +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 +#: lutris/runners/vice.py:74 +msgid "Software" +msgstr "Праграмнае забеспячэнне" + +#: lutris/runners/mame.py:205 +msgid "Wait for VSync" +msgstr "Чакаць VSync" + +#: lutris/runners/mame.py:206 +msgid "" +"Enable waiting for the start of vblank before flipping screens; " +"reduces tearing effects." +msgstr "" +"Уключыць чаканне пачатку vblank перад пераключэннем экранаў; памяншае эфекты разрыву." + +#: lutris/runners/mame.py:213 +msgid "Menu mode key" +msgstr "Клавіша рэжыму меню" + +#: lutris/runners/mame.py:215 +msgid "Scroll Lock" +msgstr "Scroll Lock" + +#: lutris/runners/mame.py:216 +msgid "Num Lock" +msgstr "Num Lock" + +#: lutris/runners/mame.py:217 +msgid "Caps Lock" +msgstr "Caps Lock" + +#: lutris/runners/mame.py:218 +msgid "Menu" +msgstr "Меню" + +#: lutris/runners/mame.py:219 +msgid "Right Control" +msgstr "Правы Control" + +#: lutris/runners/mame.py:220 +msgid "Left Control" +msgstr "Левы Control" + +#: lutris/runners/mame.py:221 +msgid "Right Alt" +msgstr "Правы Alt" + +#: lutris/runners/mame.py:222 +msgid "Left Alt" +msgstr "Левы Alt" + +#: lutris/runners/mame.py:223 +msgid "Right Super" +msgstr "Правы Super" + +#: lutris/runners/mame.py:224 +msgid "Left Super" +msgstr "Левы Super" + +#: lutris/runners/mame.py:228 +msgid "" +"Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: " +"Scroll Lock)" +msgstr "" +"Клавіша для пераключэння паміж поўным і частковым рэжымам клавіятуры (па змаўчанні: Scroll Lock)" + +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 +msgid "Arcade" +msgstr "Аркада" + +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 +msgid "Nintendo Game & Watch" +msgstr "Nintendo Game & Watch" + +#: lutris/runners/mame.py:337 +#, python-format +msgid "No device is set for machine %s" +msgstr "Для машыны %s не ўстаноўлена прылада" + +#: lutris/runners/mame.py:347 +#, python-format +msgid "The path '%s' is not set. please set it in the options." +msgstr "Шлях '%s' не зададзены. Калі ласка, задайце яго ў наладах." + +#: lutris/runners/mednafen.py:18 +msgid "Mednafen" +msgstr "Mednafen" + +#: lutris/runners/mednafen.py:19 +msgid "Multi-system emulator: NES, PC Engine, PSX…" +msgstr "Мультысістэмны эмулятар: NES, PC Engine, PSX…" + +#: lutris/runners/mednafen.py:21 +msgid "Nintendo Game Boy (Color)" +msgstr "Nintendo Game Boy (Color)" + +#: lutris/runners/mednafen.py:22 +msgid "Nintendo Game Boy Advance" +msgstr "Nintendo Game Boy Advance" + +#: lutris/runners/mednafen.py:23 +msgid "Sega Game Gear" +msgstr "Sega Game Gear" + +#: lutris/runners/mednafen.py:24 +msgid "Sega Genesis/Mega Drive" +msgstr "Sega Genesis/Mega Drive" + +#: lutris/runners/mednafen.py:25 +msgid "Atari Lynx" +msgstr "Atari Lynx" + +#: lutris/runners/mednafen.py:26 lutris/runners/osmose.py:14 +msgid "Sega Master System" +msgstr "Sega Master System" + +#: lutris/runners/mednafen.py:27 +msgid "SNK Neo Geo Pocket (Color)" +msgstr "SNK Neo Geo Pocket (Color)" + +#: lutris/runners/mednafen.py:28 +msgid "Nintendo NES" +msgstr "Nintendo NES" + +#: lutris/runners/mednafen.py:29 +msgid "NEC PC Engine TurboGrafx-16" +msgstr "NEC PC Engine TurboGrafx-16" + +#: lutris/runners/mednafen.py:30 +msgid "NEC PC-FX" +msgstr "NEC PC-FX" + +#: lutris/runners/mednafen.py:32 +msgid "Sega Saturn" +msgstr "Sega Saturn" + +#: lutris/runners/mednafen.py:33 lutris/runners/snes9x.py:20 +msgid "Nintendo SNES" +msgstr "Nintendo SNES" + +#: lutris/runners/mednafen.py:34 +msgid "Bandai WonderSwan" +msgstr "Bandai WonderSwan" + +#: lutris/runners/mednafen.py:35 +msgid "Nintendo Virtual Boy" +msgstr "Nintendo Virtual Boy" + +#: lutris/runners/mednafen.py:38 +msgid "Game Boy (Color)" +msgstr "Game Boy (Color)" + +#: lutris/runners/mednafen.py:39 +msgid "Game Boy Advance" +msgstr "Game Boy Advance" + +#: lutris/runners/mednafen.py:40 +msgid "Game Gear" +msgstr "Game Gear" + +#: lutris/runners/mednafen.py:41 +msgid "Genesis/Mega Drive" +msgstr "Genesis/Mega Drive" + +#: lutris/runners/mednafen.py:42 +msgid "Lynx" +msgstr "Lynx" + +#: lutris/runners/mednafen.py:43 +msgid "Master System" +msgstr "Master System" + +#: lutris/runners/mednafen.py:44 +msgid "Neo Geo Pocket (Color)" +msgstr "Neo Geo Pocket (Color)" + +#: lutris/runners/mednafen.py:45 +msgid "NES" +msgstr "NES" + +#: lutris/runners/mednafen.py:46 +msgid "PC Engine" +msgstr "PC Engine" + +#: lutris/runners/mednafen.py:47 +msgid "PC-FX" +msgstr "PC-FX" + +#: lutris/runners/mednafen.py:48 +msgid "PlayStation" +msgstr "PlayStation" + +#: lutris/runners/mednafen.py:49 +msgid "Saturn" +msgstr "Saturn" + +#: lutris/runners/mednafen.py:50 +msgid "SNES" +msgstr "SNES" + +#: lutris/runners/mednafen.py:51 +msgid "WonderSwan" +msgstr "WonderSwan" + +#: lutris/runners/mednafen.py:52 +msgid "Virtual Boy" +msgstr "Virtual Boy" + +#: lutris/runners/mednafen.py:60 +msgid "" +"The game data, commonly called a ROM image. \n" +"Mednafen supports GZIP and ZIP compressed ROMs." +msgstr "Даныя гульні, звычайна званыя вобразам ROM. \n" +"Mednafen падтрымлівае сціснутыя ROM-ы GZIP і ZIP." + +#: lutris/runners/mednafen.py:65 +msgid "Machine type" +msgstr "Тып машыны" + +#: lutris/runners/mednafen.py:76 +msgid "Aspect ratio" +msgstr "Суадносіны бакоў" + +#: lutris/runners/mednafen.py:79 +msgid "Stretched" +msgstr "Расцягнуты" + +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 +msgid "Preserve aspect ratio" +msgstr "Захаваць суадносіны бакоў" + +#: lutris/runners/mednafen.py:81 +msgid "Integer scale" +msgstr "Цэлалікавае маштабаванне" + +#: lutris/runners/mednafen.py:82 +msgid "Multiple of 2 scale" +msgstr "Маштаб, кратны 2" + +#: lutris/runners/mednafen.py:90 +msgid "Video scaler" +msgstr "Відэа скейлер" + +#: lutris/runners/mednafen.py:114 +msgid "Sound device" +msgstr "Гукавая прылада" + +#: lutris/runners/mednafen.py:116 +msgid "Mednafen default" +msgstr "Mednafen па змаўчанні" + +#: lutris/runners/mednafen.py:117 +msgid "ALSA default" +msgstr "ALSA па змаўчанні" + +#: lutris/runners/mednafen.py:127 +msgid "Use default Mednafen controller configuration" +msgstr "Выкарыстоўваць канфігурацыю кантролера Mednafen па змаўчанні" + +#: lutris/runners/mupen64plus.py:13 +msgid "Mupen64Plus" +msgstr "Mupen64Plus" + +#: lutris/runners/mupen64plus.py:14 +msgid "Nintendo 64 emulator" +msgstr "Nintendo 64 эмулятар" + +#: lutris/runners/mupen64plus.py:15 +msgid "Nintendo 64" +msgstr "Nintendo 64" + +#: lutris/runners/mupen64plus.py:22 lutris/runners/o2em.py:49 +#: lutris/runners/openmsx.py:21 lutris/runners/ryujinx.py:26 +#: lutris/runners/snes9x.py:30 lutris/runners/yuzu.py:24 +msgid "The game data, commonly called a ROM image." +msgstr "Даныя гульні, звычайна званыя вобразам ROM." + +#: lutris/runners/mupen64plus.py:32 +msgid "Hide OSD" +msgstr "Схаваць OSD" + +#: lutris/runners/o2em.py:13 +msgid "O2EM" +msgstr "O2EM" + +#: lutris/runners/o2em.py:14 +msgid "Magnavox Odyssey² Emulator" +msgstr "Magnavox Odyssey² эмулятар" + +#: lutris/runners/o2em.py:16 lutris/runners/o2em.py:32 +msgid "Magnavox Odyssey²" +msgstr "Magnavox Odyssey²" + +#: lutris/runners/o2em.py:17 lutris/runners/o2em.py:33 +msgid "Phillips C52" +msgstr "Phillips C52" + +#: lutris/runners/o2em.py:18 lutris/runners/o2em.py:34 +msgid "Phillips Videopac+" +msgstr "Phillips Videopac+" + +#: lutris/runners/o2em.py:19 lutris/runners/o2em.py:35 +msgid "Brandt Jopac" +msgstr "Brandt Jopac" + +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:518 +msgid "Disable" +msgstr "Адключыць" + +#: lutris/runners/o2em.py:39 +msgid "Arrow Keys and Right Shift" +msgstr "Стрэлкі і правы Shift" + +#: lutris/runners/o2em.py:40 +msgid "W,S,A,D,SPACE" +msgstr "W,S,A,D,ПРАБЕЛ" + +#: lutris/runners/o2em.py:57 +msgid "BIOS" +msgstr "BIOS" + +#: lutris/runners/o2em.py:65 +msgid "First controller" +msgstr "Першы кантролер" + +#: lutris/runners/o2em.py:73 +msgid "Second controller" +msgstr "Другі кантролер" + +#: lutris/runners/openmsx.py:12 +msgid "openMSX" +msgstr "openMSX" + +#: lutris/runners/openmsx.py:13 +msgid "MSX computer emulator" +msgstr "Эмулятар камп'ютара MSX" + +#: lutris/runners/openmsx.py:14 +msgid "MSX, MSX2, MSX2+, MSX turboR" +msgstr "MSX, MSX2, MSX2+, MSX turboR" + +#: lutris/runners/osmose.py:12 +msgid "Osmose" +msgstr "Osmose" + +#: lutris/runners/osmose.py:13 +msgid "Sega Master System Emulator" +msgstr "Эмулятар Sega Master System" + +#: lutris/runners/osmose.py:23 +msgid "" +"The game data, commonly called a ROM image.\n" +"Supported formats: SMS and GG files. ZIP compressed ROMs are supported." +msgstr "Даныя гульні, звычайна званыя вобразам ROM.\n" +"Падтрымліваюцца фарматы: файлы SMS і GG. Падтрымліваюцца сціснутыя ROM-ы ZIP." + +#: lutris/runners/pcsx2.py:12 +msgid "PCSX2" +msgstr "PCSX2" + +#: lutris/runners/pcsx2.py:13 +msgid "PlayStation 2 emulator" +msgstr "Эмулятар PlayStation 2" + +#: lutris/runners/pcsx2.py:14 +msgid "Sony PlayStation 2" +msgstr "Sony PlayStation 2" + +#: lutris/runners/pcsx2.py:34 +msgid "Fullboot" +msgstr "Поўная загрузка" + +#: lutris/runners/pcsx2.py:35 lutris/runners/rpcs3.py:26 +msgid "No GUI" +msgstr "Без графічнага інтэрфейсу" + +#: lutris/runners/pico8.py:21 +msgid "Runs PICO-8 fantasy console cartridges" +msgstr "Запускае картрыджы кансолі PICO-8" + +#: lutris/runners/pico8.py:23 lutris/runners/pico8.py:24 +msgid "PICO-8" +msgstr "PICO-8" + +#: lutris/runners/pico8.py:29 +msgid "Cartridge file/URL/ID" +msgstr "Файл/URL/ID картрыджа" + +#: lutris/runners/pico8.py:30 +msgid "You can put a .p8.png file path, URL, or BBS cartridge ID here." +msgstr "Вы можаце ўставіць сюды шлях да файла .p8.png, URL або ID картрыджа BBS." + +#: lutris/runners/pico8.py:41 +msgid "Launch in fullscreen." +msgstr "Запусціць у поўнаэкранным рэжыме." + +#: lutris/runners/pico8.py:46 lutris/runners/web.py:47 +msgid "Window size" +msgstr "Памер акна" + +#: lutris/runners/pico8.py:49 +msgid "The initial size of the game window." +msgstr "Пачатковы памер акна гульні." + +#: lutris/runners/pico8.py:54 +msgid "Start in splore mode" +msgstr "Запусціць у рэжыме splore" + +#: lutris/runners/pico8.py:60 +msgid "Extra arguments" +msgstr "Дадатковыя аргументы" + +#: lutris/runners/pico8.py:62 +msgid "Extra arguments to the executable" +msgstr "Дадатковыя аргументы для выканальнага файла" + +#: lutris/runners/pico8.py:68 +msgid "Engine (web only)" +msgstr "Рухавік (толькі для вэб)" + +#: lutris/runners/pico8.py:70 +msgid "Name of engine (will be downloaded) or local file path" +msgstr "Назва рухавіка (будзе спампавана) або лакальны шлях да файла" + +#: lutris/runners/redream.py:10 +msgid "Redream" +msgstr "Redream" + +#: lutris/runners/redream.py:11 lutris/runners/reicast.py:17 +msgid "Sega Dreamcast emulator" +msgstr "Эмулятар Sega Dreamcast" + +#: lutris/runners/redream.py:12 lutris/runners/reicast.py:18 +msgid "Sega Dreamcast" +msgstr "Sega Dreamcast" + +#: lutris/runners/redream.py:19 lutris/runners/reicast.py:28 +msgid "Disc image file" +msgstr "Файл вобраза дыска" + +#: lutris/runners/redream.py:20 +msgid "" +"Game data file\n" +"Supported formats: GDI, CDI, CHD" +msgstr "" +"Файл даных гульні\n" +"Падтрымліваюцца фарматы: GDI, CDI, CHD" + +#: lutris/runners/redream.py:29 +msgid "Aspect Ratio" +msgstr "Суадносіны бакоў" + +#: lutris/runners/redream.py:30 +msgid "4:3" +msgstr "4:3" + +#: lutris/runners/redream.py:36 +msgid "Region" +msgstr "Рэгіён" + +#: lutris/runners/redream.py:37 +msgid "USA" +msgstr "ЗША" + +#: lutris/runners/redream.py:37 +msgid "Europe" +msgstr "Еўропа" + +#: lutris/runners/redream.py:37 +msgid "Japan" +msgstr "Японія" + +#: lutris/runners/redream.py:43 +msgid "System Language" +msgstr "Мова сістэмы" + +#: lutris/runners/redream.py:45 lutris/sysoptions.py:32 +msgid "English" +msgstr "Англійская" + +#: lutris/runners/redream.py:46 lutris/sysoptions.py:36 +msgid "German" +msgstr "Нямецкая" + +#: lutris/runners/redream.py:47 lutris/sysoptions.py:34 +msgid "French" +msgstr "Французская" + +#: lutris/runners/redream.py:48 lutris/sysoptions.py:44 +msgid "Spanish" +msgstr "Іспанская" + +#: lutris/runners/redream.py:49 lutris/sysoptions.py:38 +msgid "Italian" +msgstr "Італьянская" + +#: lutris/runners/redream.py:59 +msgid "NTSC" +msgstr "NTSC" + +#: lutris/runners/redream.py:60 +msgid "PAL" +msgstr "PAL" + +#: lutris/runners/redream.py:61 +msgid "PAL-M (Brazil)" +msgstr "PAL-M (Бразілія)" + +#: lutris/runners/redream.py:62 +msgid "PAL-N (Argentina, Paraguay, Uruguay)" +msgstr "PAL-N (Аргенціна, Парагвай, Уругвай)" + +#: lutris/runners/redream.py:69 +msgid "Time Sync" +msgstr "Сінхранізацыя часу" + +#: lutris/runners/redream.py:71 +msgid "Audio and video" +msgstr "Аўдыя і відэа" + +#: lutris/runners/redream.py:73 +msgid "Video" +msgstr "Відэа" + +#: lutris/runners/redream.py:82 +msgid "Internal Video Resolution Scale" +msgstr "Маштаб унутранай раздзяляльнасці відэа" + +#: lutris/runners/redream.py:95 +msgid "Only available in premium version." +msgstr "Даступна толькі ў прэміум-версіі." + +#: lutris/runners/redream.py:102 +msgid "Do you want to select a premium license file?" +msgstr "Вы хочаце выбраць файл прэміум-ліцэнзіі?" + +#: lutris/runners/redream.py:103 lutris/runners/redream.py:104 +msgid "Use premium version?" +msgstr "Выкарыстоўваць прэміум-версію?" + +#: lutris/runners/reicast.py:16 +msgid "Reicast" +msgstr "Reicast" + +#: lutris/runners/reicast.py:29 +msgid "" +"The game data.\n" +"Supported formats: ISO, CDI" +msgstr "" +"Даныя гульні.\n" +"Падтрымліваюцца фарматы: ISO, CDI" + +#: lutris/runners/reicast.py:46 lutris/runners/reicast.py:54 +#: lutris/runners/reicast.py:62 lutris/runners/reicast.py:70 +msgid "Gamepads" +msgstr "Геймпады" + +#: lutris/runners/reicast.py:47 +msgid "Gamepad 1" +msgstr "Геймпад 1" + +#: lutris/runners/reicast.py:55 +msgid "Gamepad 2" +msgstr "Геймпад 2" + +#: lutris/runners/reicast.py:63 +msgid "Gamepad 3" +msgstr "Геймпад 3" + +#: lutris/runners/reicast.py:71 +msgid "Gamepad 4" +msgstr "Геймпад 4" + +#: lutris/runners/rpcs3.py:12 +msgid "RPCS3" +msgstr "RPCS3" + +#: lutris/runners/rpcs3.py:13 +msgid "PlayStation 3 emulator" +msgstr "Эмулятар PlayStation 3" + +#: lutris/runners/rpcs3.py:14 +msgid "Sony PlayStation 3" +msgstr "Sony PlayStation 3" + +#: lutris/runners/rpcs3.py:23 +msgid "Path to EBOOT.BIN" +msgstr "Шлях да EBOOT.BIN" + +#: lutris/runners/runner.py:162 +msgid "Custom executable for the runner" +msgstr "Адмысловы выканальны файл для запускальніка" + +#: lutris/runners/runner.py:169 +msgid "Side Panel" +msgstr "Бакавая панэль" + +#: lutris/runners/runner.py:172 +msgid "Visible in Side Panel" +msgstr "Бачны ў бакавой панэлі" + +#: lutris/runners/runner.py:176 +msgid "" +"Show this runner in the side panel if it is installed or available through " +"Flatpak." +msgstr "" +"Паказаць гэты запускальнік у бакавой панэлі, калі ён усталяваны або даступны праз Flatpak." + +#: lutris/runners/runner.py:191 lutris/runners/runner.py:200 +#: lutris/runners/vice.py:115 lutris/util/system.py:261 +#, python-format +msgid "The executable '%s' could not be found." +msgstr "Выканальны файл '%s' не знойдзены." + +#: lutris/runners/runner.py:452 +msgid "" +"The required runner is not installed.\n" +"Do you wish to install it now?" +msgstr "" +"Патрабаваны запускальнік не ўсталяваны.\n" +"Вы жадаеце ўсталяваць яго зараз?" + +#: lutris/runners/runner.py:453 +msgid "Required runner unavailable" +msgstr "Патрабаваны запускальнік недаступны" + +#: lutris/runners/runner.py:508 +msgid "Failed to retrieve {} ({}) information" +msgstr "Не атрымалася атрымаць інфармацыю аб {} ({})" + +#: lutris/runners/runner.py:513 +#, python-format +msgid "The '%s' version of the '%s' runner can't be downloaded." +msgstr "Версія '%s' запускальніка '%s' не можа быць спампавана." + +#: lutris/runners/runner.py:516 +#, python-format +msgid "The the '%s' runner can't be downloaded." +msgstr "Запускальнік '%s' не можа быць спампаваны." + +#: lutris/runners/runner.py:545 +msgid "Failed to extract {}" +msgstr "Не атрымалася выняць {}" + +#: lutris/runners/runner.py:550 +msgid "Failed to extract {}: {}" +msgstr "Не атрымалася выняць {}: {}" + +#: lutris/runners/ryujinx.py:13 +msgid "Ryujinx" +msgstr "Ryujinx" + +#: lutris/runners/ryujinx.py:14 lutris/runners/yuzu.py:14 +msgid "Nintendo Switch" +msgstr "Nintendo Switch" + +#: lutris/runners/ryujinx.py:15 lutris/runners/yuzu.py:15 +msgid "Nintendo Switch emulator" +msgstr "Эмулятар Nintendo Switch" + +#: lutris/runners/ryujinx.py:25 +msgid "NSP file" +msgstr "Файл NSP" + +#: lutris/runners/ryujinx.py:32 lutris/runners/yuzu.py:30 +msgid "Encryption keys" +msgstr "Ключы шыфравання" + +#: lutris/runners/ryujinx.py:34 lutris/runners/yuzu.py:32 +msgid "File containing the encryption keys." +msgstr "Файл, які змяшчае ключы шыфравання." + +#: lutris/runners/ryujinx.py:38 lutris/runners/yuzu.py:36 +msgid "Title keys" +msgstr "Ключы загалоўкаў" + +#: lutris/runners/ryujinx.py:40 lutris/runners/yuzu.py:38 +msgid "File containing the title keys." +msgstr "Файл, які змяшчае ключы загалоўкаў." + +#: lutris/runners/scummvm.py:32 +msgid "Warning Scalers may not work with OpenGL rendering." +msgstr "Увага Скейлеры могуць не працаваць з рэндэрынгам OpenGL." + +#: lutris/runners/scummvm.py:45 +#, python-format +msgid "Warning The '%s' scaler does not work with a scale factor of %s." +msgstr "Увага Скейлер '%s' не працуе з каэфіцыентам маштабавання %s." + +#: lutris/runners/scummvm.py:54 +msgid "Engine for point-and-click games." +msgstr "Рухавік для гульняў тыпу point-and-click." + +#: lutris/runners/scummvm.py:55 lutris/services/scummvm.py:29 +msgid "ScummVM" +msgstr "ScummVM" + +#: lutris/runners/scummvm.py:61 +msgid "Game identifier" +msgstr "Ідэнтыфікатар гульні" + +#: lutris/runners/scummvm.py:62 +msgid "Game files location" +msgstr "Размяшчэнне файлаў гульні" + +#: lutris/runners/scummvm.py:119 +msgid "Enable subtitles" +msgstr "Уключыць субцітры" + +#: lutris/runners/scummvm.py:127 +msgid "Aspect ratio correction" +msgstr "Карэкцыя суадносін бакоў" + +#: lutris/runners/scummvm.py:131 +msgid "" +"Most games supported by ScummVM were made for VGA display modes using " +"rectangular pixels. Activating this option for these games will preserve the " +"4:3 aspect ratio they were made for." +msgstr "" +"Большасць гульняў, якія падтрымліваюцца ScummVM, былі створаны для рэжымаў " +"адлюстравання VGA з выкарыстаннем прамавугольных пікселяў. Актывацыя гэтай " +"опцыі для такіх гульняў захавае суадносіны бакоў 4:3, для якіх яны былі створаны." + +#: lutris/runners/scummvm.py:140 +msgid "Graphic scaler" +msgstr "Графічны скейлер" + +#: lutris/runners/scummvm.py:157 +msgid "" +"The algorithm used to scale up the game's base resolution, resulting in " +"different visual styles. " +msgstr "" +"Алгарытм, які выкарыстоўваецца для маштабавання базавай раздзяляльнасці " +"гульні, што прыводзіць да розных візуальных стыляў. " + +#: lutris/runners/scummvm.py:163 +msgid "Scale factor" +msgstr "Каэфіцыент маштабавання" + +#: lutris/runners/scummvm.py:174 +msgid "" +"Changes the resolution of the game. For example, a 2x scale will take a " +"320x200 resolution game and scale it up to 640x400. " +msgstr "Змяняе раздзяляльнасць гульні. Напрыклад, маштаб 2x ператворыць " +"гульню з раздзяляльнасцю 320x200 у 640x400. " + +#: lutris/runners/scummvm.py:183 +msgid "Renderer" +msgstr "Рэндэрэр" + +#: lutris/runners/scummvm.py:188 +msgid "OpenGL" +msgstr "OpenGL" + +#: lutris/runners/scummvm.py:189 +msgid "OpenGL (with shaders)" +msgstr "OpenGL (з шэйдэрамі)" + +#: lutris/runners/scummvm.py:193 +msgid "Changes the rendering method used for 3D games." +msgstr "Змяняе метад рэндэрынгу, які выкарыстоўваецца для 3D-гульняў." + +#: lutris/runners/scummvm.py:198 +msgid "Render mode" +msgstr "Рэжым рэндэрынгу" + +#: lutris/runners/scummvm.py:202 +msgid "Hercules (Green)" +msgstr "Геркулес (Зялёны)" + +#: lutris/runners/scummvm.py:203 +msgid "Hercules (Amber)" +msgstr "Геркулес (Бурштынавы)" + +#: lutris/runners/scummvm.py:204 +msgid "CGA" +msgstr "CGA" + +#: lutris/runners/scummvm.py:205 +msgid "EGA" +msgstr "EGA" + +#: lutris/runners/scummvm.py:206 +msgid "VGA" +msgstr "VGA" + +#: lutris/runners/scummvm.py:207 +msgid "Amiga" +msgstr "Amiga" + +#: lutris/runners/scummvm.py:208 +msgid "FM Towns" +msgstr "FM Towns" + +#: lutris/runners/scummvm.py:209 +msgid "PC-9821" +msgstr "PC-9821" + +#: lutris/runners/scummvm.py:210 +msgid "PC-9801" +msgstr "PC-9801" + +#: lutris/runners/scummvm.py:211 +msgid "Apple IIgs" +msgstr "Apple IIgs" + +#: lutris/runners/scummvm.py:213 +msgid "Macintosh" +msgstr "Macintosh" + +#: lutris/runners/scummvm.py:217 +msgid "" +"Changes the graphics hardware the game will target, if the game supports " +"this." +msgstr "" +"Змяняе графічнае абсталяванне, на якое будзе арыентавана гульня, калі " +"гульня гэта падтрымлівае." + +#: lutris/runners/scummvm.py:222 +msgid "Stretch mode" +msgstr "Рэжым расцягвання" + +#: lutris/runners/scummvm.py:226 +msgid "Center" +msgstr "Цэнтр" + +#: lutris/runners/scummvm.py:227 +msgid "Pixel Perfect" +msgstr "Ідэальныя пікселі" + +#: lutris/runners/scummvm.py:228 +msgid "Even Pixels" +msgstr "Роўныя пікселі" + +#: lutris/runners/scummvm.py:230 +msgid "Fit" +msgstr "Па памерах" + +#: lutris/runners/scummvm.py:231 +msgid "Fit (force aspect ratio)" +msgstr "Па памерах (прымусовыя суадносіны бакоў)" + +#: lutris/runners/scummvm.py:235 +msgid "Changes how the game is placed when the window is resized." +msgstr "Змяняе размяшчэнне гульні пры змене памеру акна." + +#: lutris/runners/scummvm.py:240 +msgid "Filtering" +msgstr "Фільтраванне" + +#: lutris/runners/scummvm.py:243 +msgid "" +"Uses bilinear interpolation instead of nearest neighbor resampling for the " +"aspect ratio correction and stretch mode." +msgstr "" +"Выкарыстоўвае білінейную інтэрпаляцыю замест перадыскрэтызацыі па " +"бліжэйшых суседзях для карэкцыі суадносін бакоў і рэжыму расцягвання." + +#: lutris/runners/scummvm.py:251 +msgid "Data directory" +msgstr "Каталог даных" + +#: lutris/runners/scummvm.py:253 +msgid "Defaults to share/scummvm if unspecified." +msgstr "Па змаўчанні - share/scummvm, калі не пазначана." + +#: lutris/runners/scummvm.py:261 +msgid "" +"Specifes platform of game. Allowed values: 2gs, 3do, acorn, amiga, atari, " +"c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" +msgstr "" +"Паказвае платформу гульні. Дазволеныя значэнні: 2gs, 3do, acorn, amiga, " +"atari, c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" + +#: lutris/runners/scummvm.py:270 +msgid "Enables joystick input (default: 0 = first joystick)" +msgstr "Уключае ўвод з джойстыка (па змаўчанні: 0 = першы джойстык)" + +#: lutris/runners/scummvm.py:277 +msgid "" +"Selects language (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" +msgstr "" +"Выбраць мову (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" + +#: lutris/runners/scummvm.py:283 +msgid "Engine speed" +msgstr "Хуткасць рухавіка" + +#: lutris/runners/scummvm.py:285 +msgid "" +"Sets frames per second limit (0 - 100) for Grim Fandango or Escape from " +"Monkey Island (default: 60)." +msgstr "" +"Задае ліміт кадраў у секунду (0 - 100) для Grim Fandango або Escape from Monkey Island (па змаўчанні: 60)." + +#: lutris/runners/scummvm.py:292 +msgid "Talk speed" +msgstr "Хуткасць размовы" + +#: lutris/runners/scummvm.py:293 +msgid "Sets talk speed for games (default: 60)" +msgstr "Задае хуткасць размовы для гульняў (па змаўчанні: 60)" + +#: lutris/runners/scummvm.py:300 +msgid "Music tempo" +msgstr "Тэмп музыкі" + +#: lutris/runners/scummvm.py:301 +msgid "Sets music tempo (in percent, 50-200) for SCUMM games (default: 100)" +msgstr "Задае тэмп музыкі (у працэнтах, 50-200) для гульняў SCUMM (па змаўчанні: 100)" + +#: lutris/runners/scummvm.py:308 +msgid "Digital iMuse tempo" +msgstr "Лічбавы тэмп iMuse" + +#: lutris/runners/scummvm.py:309 +msgid "Sets internal Digital iMuse tempo (10 - 100) per second (default: 10)" +msgstr "Задае ўнутраны лічбавы тэмп iMuse (10 - 100) у секунду (па змаўчанні: 10)" + +#: lutris/runners/scummvm.py:315 +msgid "Music driver" +msgstr "Музычны драйвер" + +#: lutris/runners/scummvm.py:331 +msgid "Specifies the device ScummVM uses to output audio." +msgstr "Паказвае прыладу, якую ScummVM выкарыстоўвае для вываду гуку." + +#: lutris/runners/scummvm.py:337 +msgid "Output rate" +msgstr "Частата вываду" + +#: lutris/runners/scummvm.py:344 +msgid "Selects output sample rate in Hz." +msgstr "Выбірае частату дыскрэтызацыі вываду ў Гц." + +#: lutris/runners/scummvm.py:350 +msgid "OPL driver" +msgstr "Драйвер OPL" + +#: lutris/runners/scummvm.py:363 +msgid "" +"Chooses which emulator is used by ScummVM when the AdLib emulator is chosen " +"as the Preferred device." +msgstr "" +"Выбірае, які эмулятар выкарыстоўваецца ScummVM, калі эмулятар AdLib выбраны " +"ў якасці пераважнай прылады." + +#: lutris/runners/scummvm.py:371 +msgid "Music volume" +msgstr "Гучнасць музыкі" + +#: lutris/runners/scummvm.py:372 +msgid "Sets the music volume, 0-255 (default: 192)" +msgstr "Задае гучнасць музыкі, 0-255 (па змаўчанні: 192)" + +#: lutris/runners/scummvm.py:380 +msgid "Sets the sfx volume, 0-255 (default: 192)" +msgstr "Задае гучнасць SFX, 0-255 (па змаўчанні: 192)" + +#: lutris/runners/scummvm.py:387 +msgid "Speech volume" +msgstr "Гучнасць маўлення" + +#: lutris/runners/scummvm.py:388 +msgid "Sets the speech volume, 0-255 (default: 192)" +msgstr "Задае гучнасць маўлення, 0-255 (па змаўчанні: 192)" + +#: lutris/runners/scummvm.py:395 +msgid "MIDI gain" +msgstr "Узмацненне MIDI" + +#: lutris/runners/scummvm.py:396 +msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" +msgstr "Задае ўзмацненне для прайгравання MIDI. 0-1000 (па змаўчанні: 100)" + +#: lutris/runners/scummvm.py:404 +msgid "Specifies the path to a soundfont file." +msgstr "Паказвае шлях да файла гукавога шрыфта." + +#: lutris/runners/scummvm.py:410 +msgid "Mixed AdLib/MIDI mode" +msgstr "Змешаны рэжым AdLib/MIDI" + +#: lutris/runners/scummvm.py:413 +msgid "Combines MIDI music with AdLib sound effects." +msgstr "Спалучае MIDI-музыку з гукавымі эфектамі AdLib." + +#: lutris/runners/scummvm.py:419 +msgid "True Roland MT-32" +msgstr "Сапраўдны Roland MT-32" + +#: lutris/runners/scummvm.py:423 +msgid "" +"Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, " +"CM-32L, CM-500 or other MT-32 device." +msgstr "" +"Паведамляе ScummVM, што MIDI-прылада з'яўляецца сапраўдным Roland MT-32, " +"LAPC-I, CM-64, CM-32L, CM-500 або іншай прыладай MT-32." + +#: lutris/runners/scummvm.py:431 +msgid "Enable Roland GS" +msgstr "Уключыць Roland GS" + +#: lutris/runners/scummvm.py:435 +msgid "" +"Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, " +"such as an SC-55, SC-88 or SC-8820." +msgstr "" +"Паведамляе ScummVM, што MIDI-прылада з'яўляецца прыладай GS, якая мае карту " +"MT-32, напрыклад, SC-55, SC-88 або SC-8820." + +#: lutris/runners/scummvm.py:443 +msgid "Use alternate intro" +msgstr "Выкарыстоўваць альтэрнатыўнае ўступленне" + +#: lutris/runners/scummvm.py:444 +msgid "Uses alternative intro for CD versions" +msgstr "Выкарыстоўвае альтэрнатыўнае ўступленне для CD-версій" + +#: lutris/runners/scummvm.py:450 +msgid "Copy protection" +msgstr "Абарона ад капіравання" + +#: lutris/runners/scummvm.py:451 +msgid "Enables copy protection" +msgstr "Уключае абарону ад капіравання" + +#: lutris/runners/scummvm.py:457 +msgid "Demo mode" +msgstr "Дэма-рэжым" + +#: lutris/runners/scummvm.py:458 +msgid "Starts demo mode of Maniac Mansion or The 7th Guest" +msgstr "Запускае дэма-рэжым Maniac Mansion або The 7th Guest" + +#: lutris/runners/scummvm.py:465 +msgid "Debug level" +msgstr "Узровень адладкі" + +#: lutris/runners/scummvm.py:466 +msgid "Sets debug verbosity level" +msgstr "Задае ўзровень дэталёвасці адладкі" + +#: lutris/runners/scummvm.py:473 +msgid "Debug flags" +msgstr "Пазнакі адладкі" + +#: lutris/runners/scummvm.py:474 +msgid "Enables engine specific debug flags" +msgstr "Уключае пазнакі адладкі, спецыфічныя для рухавіка" + +#: lutris/runners/snes9x.py:18 +msgid "Super Nintendo emulator" +msgstr "Эмулятар Super Nintendo" + +#: lutris/runners/snes9x.py:19 +msgid "Snes9x" +msgstr "Snes9x" + +#: lutris/runners/snes9x.py:40 +msgid "Maintain aspect ratio (4:3)" +msgstr "Захоўваць суадносіны бакоў (4:3)" + +#: lutris/runners/snes9x.py:43 +msgid "" +"Super Nintendo games were made for 4:3 screens with rectangular pixels, but " +"modern screens have square pixels, which results in a vertically squeezed " +"image. This option corrects this by displaying rectangular pixels." +msgstr "" +"Гульні Super Nintendo былі створаны для экранаў 4:3 з прамавугольнымі пікселямі, " +"але сучасныя экраны маюць квадратныя пікселі, што прыводзіць да вертыкальна " +"сціснутага малюнка. Гэтая опцыя выпраўляе гэта, адлюстроўваючы прамавугольныя пікселі." + +#: lutris/runners/snes9x.py:53 +msgid "Sound driver" +msgstr "Гукавы драйвер" + +#: lutris/runners/steam.py:29 +msgid "Runs Steam for Linux games" +msgstr "Запускае гульні Steam для Linux" + +#: lutris/runners/steam.py:40 +msgid "" +"The application ID can be retrieved from the game's page at steampowered." +"com. Example: 235320 is the app ID for Original War in: \n" +"http://store.steampowered.com/app/235320/" +msgstr "" +"ID праграмы можна атрымаць са старонкі гульні на steampowered.com. " +"Прыклад: 235320 - гэта ID праграмы для Original War у: \n" +"http://store.steampowered.com/app/235320/" + +#: lutris/runners/steam.py:51 +msgid "" +"Command line arguments used when launching the game.\n" +"Ignored when Steam Big Picture mode is enabled." +msgstr "" +"Аргументы каманднага радка, якія выкарыстоўваюцца пры запуску гульні.\n" +"Ігнаруюцца, калі ўключаны рэжым Steam Big Picture." + +#: lutris/runners/steam.py:56 +msgid "DRM free mode (Do not launch Steam)" +msgstr "Рэжым без DRM (Не запускаць Steam)" + +#: lutris/runners/steam.py:60 +msgid "" +"Run the game directly without Steam, requires the game binary path to be set" +msgstr "" +"Запусціць гульню непасрэдна без Steam, патрабуецца ўсталяваць шлях да бінарнага файла гульні" + +#: lutris/runners/steam.py:65 +msgid "Game binary path" +msgstr "Шлях да бінарнага файла гульні" + +#: lutris/runners/steam.py:67 +msgid "Path to the game executable (Required by DRM free mode)" +msgstr "Шлях да выканальнага файла гульні (патрабуецца для рэжыму без DRM)" + +#: lutris/runners/steam.py:73 +msgid "Start Steam in Big Picture mode" +msgstr "Запусціць Steam у рэжыме Big Picture" + +#: lutris/runners/steam.py:77 +msgid "" +"Launches Steam in Big Picture mode.\n" +"Only works if Steam is not running or already running in Big Picture mode.\n" +"Useful when playing with a Steam Controller." +msgstr "" +"Запускае Steam у рэжыме Big Picture.\n" +"Працуе толькі калі Steam не запушчаны або ўжо працуе ў рэжыме Big Picture.\n" +"Карысна пры гульні з кантролерам Steam." + +#: lutris/runners/steam.py:88 +msgid "Extra command line arguments used when launching Steam" +msgstr "Дадатковыя аргументы каманднага радка, якія выкарыстоўваюцца пры запуску Steam" + +#: lutris/runners/steam.py:170 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "Усталёўка Steam для Linux не ажыцяўляецца Lutris." + +#: lutris/runners/steam.py:172 +msgid "" +"Steam for Linux installation is not handled by Lutris.\n" +"Please go to http://steampowered.com " +"or install Steam with the package provided by your distribution." +msgstr "" +"Усталёўка Steam для Linux не ажыцяўляецца Lutris.\n" +"Калі ласка, перайдзіце на http://steampowered.com " +"або ўсталюйце Steam з пакетам, прадастаўленым вашым дыстрыбутывам." + +#: lutris/runners/steam.py:186 +msgid "Could not find Steam path, is Steam installed?" +msgstr "Не атрымалася знайсці шлях Steam. Ці ўсталяваны Steam?" + +#: lutris/runners/vice.py:14 +msgid "Commodore Emulator" +msgstr "Эмулятар Commodore" + +#: lutris/runners/vice.py:15 +msgid "Vice" +msgstr "Vice" + +#: lutris/runners/vice.py:18 +msgid "Commodore 64" +msgstr "Commodore 64" + +#: lutris/runners/vice.py:19 +msgid "Commodore 128" +msgstr "Commodore 128" + +#: lutris/runners/vice.py:20 +msgid "Commodore VIC20" +msgstr "Commodore VIC20" + +#: lutris/runners/vice.py:21 +msgid "Commodore PET" +msgstr "Commodore PET" + +#: lutris/runners/vice.py:22 +msgid "Commodore Plus/4" +msgstr "Commodore Plus/4" + +#: lutris/runners/vice.py:23 +msgid "Commodore CBM II" +msgstr "Commodore CBM II" + +#: lutris/runners/vice.py:39 +msgid "" +"The game data, commonly called a ROM image.\n" +"Supported formats: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, " +"D4M, T46, P00 and CRT." +msgstr "" +"Даныя гульні, звычайна званыя вобразам ROM.\n" +"Падтрымліваюцца фарматы: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, D4M, T46, P00 і CRT." + +#: lutris/runners/vice.py:47 +msgid "Use joysticks" +msgstr "Выкарыстоўваць джойстыкі" + +#: lutris/runners/vice.py:59 +msgid "Scale up display by 2" +msgstr "Павялічыць дысплей у 2 разы" + +#: lutris/runners/vice.py:73 +msgid "Graphics renderer" +msgstr "Графічны рэндэрэр" + +#: lutris/runners/vice.py:80 +msgid "Enable sound emulation of disk drives" +msgstr "Уключыць эмуляцыю гуку дыскаводаў" + +#: lutris/runners/vice.py:190 +msgid "No rom provided" +msgstr "ROM не прадастаўлены" + +#: lutris/runners/vita3k.py:12 lutris/runners/vita3k.py:98 +msgid "The Vita App has no Title ID set" +msgstr "Праграма Vita не мае ўсталяванага Title ID" + +#: lutris/runners/vita3k.py:18 +msgid "Vita3K" +msgstr "Vita3K" + +#: lutris/runners/vita3k.py:19 +msgid "Sony PlayStation Vita" +msgstr "Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:20 +msgid "Sony PlayStation Vita emulator" +msgstr "Эмулятар Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:29 +msgid "Title ID of Installed Application" +msgstr "ID загалоўка ўсталяванай праграмы" + +#: lutris/runners/vita3k.py:32 +msgid "" +"Title ID of installed application. Eg.\"PCSG00042\". User installed apps are " +"located in ux0:/app/<title-id>." +msgstr "" +"ID загалоўка ўсталяванай праграмы. Напрыклад, \"PCSG00042\". Усталяваныя " +"карыстальнікам праграмы знаходзяцца ў ux0:/app/<title-id>." + +#: lutris/runners/vita3k.py:44 +msgid "Start the emulator in fullscreen mode." +msgstr "Запусціць эмулятар у поўнаэкранным рэжыме." + +#: lutris/runners/vita3k.py:49 +msgid "Config location" +msgstr "Размяшчэнне канфігурацыі" + +#: lutris/runners/vita3k.py:52 +msgid "" +"Get a configuration file from a given location. If a filename is given, it " +"must end with \".yml\", otherwise it will be assumed to be a directory." +msgstr "" +"Атрымаць файл канфігурацыі з зададзенага месца. Калі пазначана імя файла, " +"яно павінна заканчвацца на \".yml\", інакш будзе лічыцца каталогам." + +#: lutris/runners/vita3k.py:58 +msgid "Load configuration file" +msgstr "Загрузіць файл канфігурацыі" + +#: lutris/runners/vita3k.py:61 +msgid "" +"If trues, informs the emualtor to load the config file from the \"Config " +"location\" option." +msgstr "" +"Калі праўда, паведамляе эмулятару загрузіць файл канфігурацыі з опцыі \"Размяшчэнне канфігурацыі\"." + +#: lutris/runners/web.py:19 lutris/runners/web.py:21 +msgid "Web" +msgstr "Вэб" + +#: lutris/runners/web.py:20 +msgid "Runs web based games" +msgstr "Запускае вэб-гульні" + +#: lutris/runners/web.py:26 +msgid "Full URL or HTML file path" +msgstr "Поўны URL або шлях да файла HTML" + +#: lutris/runners/web.py:27 +msgid "The full address of the game's web page or path to a HTML file." +msgstr "Поўны адрас вэб-старонкі гульні або шлях да файла HTML." + +#: lutris/runners/web.py:33 +msgid "Open in fullscreen" +msgstr "Адкрыць у поўнаэкранным рэжыме" + +#: lutris/runners/web.py:36 +msgid "Launch the game in fullscreen." +msgstr "Запусціць гульню ў поўнаэкранным рэжыме." + +#: lutris/runners/web.py:40 +msgid "Open window maximized" +msgstr "Адкрыць акно на ўвесь экран" + +#: lutris/runners/web.py:43 +msgid "Maximizes the window when game starts." +msgstr "Разгортвае акно на ўвесь экран пры запуску гульні." + +#: lutris/runners/web.py:58 +msgid "The initial size of the game window when not opened." +msgstr "Пачатковы памер акна гульні, калі яно не адкрыта." + +#: lutris/runners/web.py:62 +msgid "Disable window resizing (disables fullscreen and maximize)" +msgstr "Адключыць змяненне памеру акна (адключае поўнаэкранны рэжым і максімізацыю)" + +#: lutris/runners/web.py:65 +msgid "You can't resize this window." +msgstr "Вы не можаце змяніць памер гэтага акна." + +#: lutris/runners/web.py:69 +msgid "Borderless window" +msgstr "Акно без рамкі" + +#: lutris/runners/web.py:72 +msgid "The window has no borders/frame." +msgstr "Акно не мае межаў/рамкі." + +#: lutris/runners/web.py:76 +msgid "Disable menu bar and default shortcuts" +msgstr "Адключыць радок меню і стандартныя спалучэнні клавіш" + +#: lutris/runners/web.py:79 +msgid "" +"This also disables default keyboard shortcuts, like copy/paste and " +"fullscreen toggling." +msgstr "" +"Таксама адключае стандартныя спалучэнні клавіш, такія як " +"капіраванне/ўстаўка і пераключэнне поўнаэкраннага рэжыму." + +#: lutris/runners/web.py:83 +msgid "Disable page scrolling and hide scrollbars" +msgstr "Адключыць прагортку старонкі і схаваць палосы прагорткі" + +#: lutris/runners/web.py:86 +msgid "Disables scrolling on the page." +msgstr "Адключае прагортку на старонцы." + +#: lutris/runners/web.py:90 +msgid "Hide mouse cursor" +msgstr "Схаваць курсор мышы" + +#: lutris/runners/web.py:93 +msgid "Prevents the mouse cursor from showing when hovering above the window." +msgstr "Прадухіляе адлюстраванне курсора мышы пры навядзенні на акно." + +#: lutris/runners/web.py:97 +msgid "Open links in game window" +msgstr "Адкрываць спасылкі ў акне гульні" + +#: lutris/runners/web.py:101 +msgid "" +"Enable this option if you want clicked links to open inside the game window. " +"By default all links open in your default web browser." +msgstr "" +"Уключыце гэтую опцыю, калі вы хочаце, каб націснутыя спасылкі адкрываліся ў " +"акне гульні. Па змаўчанні ўсе спасылкі адкрываюцца ў вашым вэб-браўзеры па змаўчанні." + +#: lutris/runners/web.py:107 +msgid "Remove default margin & padding" +msgstr "Выдаліць стандартныя водступы (margin & padding)" + +#: lutris/runners/web.py:110 +msgid "" +"Sets margin and padding to zero on <html> and <body> elements." +msgstr "" +"Усталёўвае водступы (margin і padding) у нуль для элементаў <html> і <body>." + +#: lutris/runners/web.py:114 +msgid "Enable Adobe Flash Player" +msgstr "Уключыць Adobe Flash Player" + +#: lutris/runners/web.py:117 +msgid "Enable Adobe Flash Player." +msgstr "Уключыць Adobe Flash Player." + +#: lutris/runners/web.py:121 +msgid "Custom User-Agent" +msgstr "Уласны User-Agent" + +#: lutris/runners/web.py:124 +msgid "Overrides the default User-Agent header used by the runner." +msgstr "Перавызначае стандартны загаловак User-Agent, які выкарыстоўваецца запускальнікам." + +#: lutris/runners/web.py:129 +msgid "Debug with Developer Tools" +msgstr "Адладка з дапамогай інструментаў распрацоўніка" + +#: lutris/runners/web.py:132 +msgid "Let's you debug the page." +msgstr "Дазваляе адладжваць старонку." + +#: lutris/runners/web.py:137 +msgid "Open in web browser (old behavior)" +msgstr "Адкрыць у вэб-браўзеры (старыя паводзіны)" + +#: lutris/runners/web.py:140 +msgid "Launch the game in a web browser." +msgstr "Запусціць гульню ў вэб-браўзеры." + +#: lutris/runners/web.py:144 +msgid "Custom web browser executable" +msgstr "Адмысловы выканальны файл вэб-браўзера" + +#: lutris/runners/web.py:147 +msgid "" +"Select the executable of a browser on your system.\n" +"If left blank, Lutris will launch your default browser (xdg-open)." +msgstr "" +"Выберыце выканальны файл браўзера ў вашай сістэме.\n" +"Калі пакінуць пустым, Lutris запусціць ваш браўзер па змаўчанні (xdg-open)." + +#: lutris/runners/web.py:153 +msgid "Web browser arguments" +msgstr "Аргументы вэб-браўзера" + +#: lutris/runners/web.py:157 +msgid "" +"Command line arguments to pass to the executable.\n" +"$GAME or $URL inserts the game url.\n" +"\n" +"For Chrome/Chromium app mode use: --app=\"$GAME\"" +msgstr "" +"Аргументы каманднага радка для перадачы выканальнаму файлу.\n" +"$GAME або $URL устаўляе URL гульні.\n" +"\n" +"Для рэжыму праграмы Chrome/Chromium выкарыстоўвайце: --app=\"$GAME\"" + +#: lutris/runners/web.py:176 +msgid "" +"The web address is empty, \n" +"verify the game's configuration." +msgstr "" +"Вэб-адрас пусты,\n" +"праверце канфігурацыю гульні." + +#: lutris/runners/web.py:183 +#, python-format +msgid "" +"The file %s does not exist, \n" +"verify the game's configuration." +msgstr "" +"Файл %s не існуе,\n" +"праверце канфігурацыю гульні." + +#: lutris/runners/wine.py:78 lutris/runners/wine.py:775 +msgid "Proton is not compatible with 32-bit prefixes." +msgstr "Proton не сумяшчальны з 32-бітнымі прэфіксамі." + +#: lutris/runners/wine.py:92 +msgid "" +"Warning Some Wine configuration options cannot be applied, if no " +"prefix can be found." +msgstr "" +"Папярэджанне Некаторыя параметры канфігурацыі Wine не могуць быць " +"прыменены, калі не знойдзены прэфікс." + +#: lutris/runners/wine.py:99 +#, python-format +msgid "" +"Warning Your NVIDIA driver is outdated.\n" +"You are currently running driver %s which does not fully support all " +"features for Vulkan and DXVK games." +msgstr "" +"Папярэджанне Ваш драйвер NVIDIA састарэў.\n" +"Вы зараз выкарыстоўваеце драйвер %s, які не цалкам падтрымлівае ўсе " +"функцыі для гульняў Vulkan і DXVK." + +#: lutris/runners/wine.py:112 +#, python-format +msgid "" +"Error Vulkan is not installed or is not supported by your system, %s " +"is not available." +msgstr "" +"Памылка Vulkan не ўсталяваны або не падтрымліваецца вашай сістэмай, " +"%s недаступны." + +#: lutris/runners/wine.py:127 +#, python-format +msgid "" +"Warning Lutris has detected that Vulkan API version %s is installed, " +"but to use the latest DXVK version, %s is required." +msgstr "" +"Папярэджанне Lutris выявіў, што ўсталявана версія Vulkan API %s, але " +"для выкарыстання апошняй версіі DXVK патрабуецца %s." + +#: lutris/runners/wine.py:135 +#, python-format +msgid "" +"Warning Lutris has detected that the best device available ('%s') " +"supports Vulkan API %s, but to use the latest DXVK version, %s is required." +msgstr "" +"Папярэджанне Lutris выявіў, што найлепшая даступная прылада ('%s') " +"падтрымлівае Vulkan API %s, але для выкарыстання апошняй версіі DXVK патрабуецца %s." + +#: lutris/runners/wine.py:151 +msgid "" +"Warning Your limits are not set correctly. Please increase them as " +"described here:\n" +"How-to-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "" +"Папярэджанне Вашы ліміты ўстаноўлены няправільна. Калі ласка, павялічце іх, як апісана тут:\n" +"How-to-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/runners/wine.py:162 +msgid "Warning Your kernel is not patched for fsync." +msgstr "Папярэджанне Ваша ядро не прапатчана для fsync." + +#: lutris/runners/wine.py:167 +msgid "Wine virtual desktop is no longer supported" +msgstr "Віртуальны працоўны стол Wine больш не падтрымліваецца" + +#: lutris/runners/wine.py:173 +msgid "Virtual desktops cannot be enabled in Proton or GE Wine versions." +msgstr "Віртуальныя працоўныя сталы не могуць быць уключаны ў версіях Proton або GE Wine." + +#: lutris/runners/wine.py:178 +msgid "Custom (select executable below)" +msgstr "Карыстальніцкі (выберыце выканальны файл ніжэй)" + +#: lutris/runners/wine.py:180 +msgid "WineHQ Devel ({})" +msgstr "WineHQ Devel ({})" + +#: lutris/runners/wine.py:181 +msgid "WineHQ Staging ({})" +msgstr "WineHQ Staging ({})" + +#: lutris/runners/wine.py:182 +msgid "Wine Development ({})" +msgstr "Wine Development ({})" + +#: lutris/runners/wine.py:183 +msgid "System ({})" +msgstr "Сістэма ({})" + +#: lutris/runners/wine.py:188 +msgid "GE-Proton (Latest)" +msgstr "GE-Proton (Апошні)" + +#: lutris/runners/wine.py:199 +msgid "Runs Windows games" +msgstr "Запускае гульні Windows" + +#: lutris/runners/wine.py:200 +msgid "Wine" +msgstr "Wine" + +#: lutris/runners/wine.py:201 +msgid "Windows" +msgstr "Windows" + +#: lutris/runners/wine.py:210 +msgid "The game's main EXE file" +msgstr "Галоўны EXE-файл гульні" + +#: lutris/runners/wine.py:216 +msgid "Windows command line arguments used when launching the game" +msgstr "Аргументы каманднага радка Windows, якія выкарыстоўваюцца пры запуску гульні" + +#: lutris/runners/wine.py:230 +msgid "Wine prefix" +msgstr "Прэфікс Wine" + +#: lutris/runners/wine.py:233 +msgid "" +"The prefix used by Wine.\n" +"It's a directory containing a set of files and folders making up a confined " +"Windows environment." +msgstr "" +"Прэфікс, які выкарыстоўваецца Wine.\n" +"Гэта каталог, які змяшчае набор файлаў і папак, якія ўтвараюць абмежаванае асяроддзе Windows." + +#: lutris/runners/wine.py:241 +msgid "Prefix architecture" +msgstr "Архітэктура прэфікса" + +#: lutris/runners/wine.py:242 +msgid "32-bit" +msgstr "32-біты" + +#: lutris/runners/wine.py:242 +msgid "64-bit" +msgstr "64-біты" + +#: lutris/runners/wine.py:244 +msgid "The architecture of the Windows environment" +msgstr "Архітэктура асяроддзя Windows" + +#: lutris/runners/wine.py:249 +msgid "Integrate system files in the prefix" +msgstr "Інтэграваць сістэмныя файлы ў прэфікс" + +#: lutris/runners/wine.py:253 +msgid "" +"Place 'Documents', 'Pictures', and similar files in your home folder, " +"instead of keeping them in the game's prefix. This includes some saved games." +msgstr "" +"Размясціць 'Дакументы', 'Малюнкі' і падобныя файлы ў вашай хатняй папцы, " +"замест таго, каб захоўваць іх у прэфіксе гульні. Гэта ўключае некаторыя захаваныя гульні." + +#: lutris/runners/wine.py:262 +msgid "Wine version" +msgstr "Версія Wine" + +#: lutris/runners/wine.py:268 +msgid "" +"The version of Wine used to launch the game.\n" +"Using the last version is generally recommended, but some games work better " +"on older versions." +msgstr "" +"Версія Wine, якая выкарыстоўваецца для запуску гульні.\n" +"Звычайна рэкамендуецца выкарыстоўваць апошнюю версію, але некаторыя гульні лепш працуюць на старых версіях." + +#: lutris/runners/wine.py:275 +msgid "Custom Wine executable" +msgstr "Уласны выканальны файл Wine" + +#: lutris/runners/wine.py:278 +msgid "" +"The Wine executable to be used if you have selected \"Custom\" as the Wine " +"version." +msgstr "" +"Выканальны файл Wine, які будзе выкарыстоўвацца, калі вы выбралі \"Карыстальніцкі\" ў якасці версіі Wine." + +#: lutris/runners/wine.py:282 +msgid "Use system winetricks" +msgstr "Выкарыстоўваць сістэмныя winetricks" + +#: lutris/runners/wine.py:286 +msgid "Switch on to use /usr/bin/winetricks for winetricks." +msgstr "Уключыце, каб выкарыстоўваць /usr/bin/winetricks для winetricks." + +#: lutris/runners/wine.py:291 +msgid "Enable DXVK" +msgstr "Уключыць DXVK" + +#: lutris/runners/wine.py:295 +msgid "DXVK" +msgstr "DXVK" + +#: lutris/runners/wine.py:298 +msgid "" +"Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 " +"applications by translating their calls to Vulkan." +msgstr "" +"Выкарыстоўвайце DXVK для павышэння сумяшчальнасці і прадукцыйнасці ў праграмах " +"Direct3D 11, 10 і 9 шляхам пераўтварэння іх выклікаў у Vulkan." + +#: lutris/runners/wine.py:306 +msgid "DXVK version" +msgstr "Версія DXVK" + +#: lutris/runners/wine.py:319 +msgid "Enable VKD3D" +msgstr "Уключыць VKD3D" + +#: lutris/runners/wine.py:322 +msgid "VKD3D" +msgstr "VKD3D" + +#: lutris/runners/wine.py:325 +msgid "" +"Use VKD3D to enable support for Direct3D 12 applications by translating " +"their calls to Vulkan." +msgstr "" +"Выкарыстоўвайце VKD3D для ўключэння падтрымкі праграм Direct3D 12 шляхам " +"пераўтварэння іх выклікаў у Vulkan." + +#: lutris/runners/wine.py:330 +msgid "VKD3D version" +msgstr "Версія VKD3D" + +#: lutris/runners/wine.py:342 +msgid "Enable D3D Extras" +msgstr "Уключыць D3D Extras" + +#: lutris/runners/wine.py:347 +msgid "" +"Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed " +"for proper functionality of DXVK with some games." +msgstr "" +"Замяніць бібліятэкі D3DX і D3DCOMPILER Wine на альтэрнатыўныя. Неабходна для " +"правільнай працы DXVK з некаторымі гульнямі." + +#: lutris/runners/wine.py:354 +msgid "D3D Extras version" +msgstr "Версія D3D Extras" + +#: lutris/runners/wine.py:364 +msgid "Enable DXVK-NVAPI / DLSS" +msgstr "Уключыць DXVK-NVAPI / DLSS" + +#: lutris/runners/wine.py:366 +msgid "DXVK-NVAPI / DLSS" +msgstr "DXVK-NVAPI / DLSS" + +#: lutris/runners/wine.py:370 +msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." +msgstr "Уключыць эмуляцыю NVAPI Nvidia і дадаць падтрымку DLSS, калі даступна." + +#: lutris/runners/wine.py:375 +msgid "DXVK NVAPI version" +msgstr "Версія DXVK NVAPI" + +#: lutris/runners/wine.py:386 +msgid "Enable dgvoodoo2" +msgstr "Уключыць dgvoodoo2" + +#: lutris/runners/wine.py:391 +msgid "" +"dgvoodoo2 is an alternative translation layer for rendering old games that " +"utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended " +"to use it in combination with DXVK. Only 32-bit apps are supported." +msgstr "" +"dgvoodoo2 - гэта альтэрнатыўны слой пераўтварэння для рэндэрынгу старых " +"гульняў, якія выкарыстоўваюць D3D1-7 і Glide API. Паколькі ён пераўтварае " +"ў D3D11, рэкамендуецца выкарыстоўваць яго ў спалучэнні з DXVK. Падтрымліваюцца " +"толькі 32-бітныя праграмы." + +#: lutris/runners/wine.py:399 +msgid "dgvoodoo2 version" +msgstr "Версія dgvoodoo2" + +#: lutris/runners/wine.py:408 +msgid "Enable Esync" +msgstr "Уключыць Esync" + +#: lutris/runners/wine.py:414 +msgid "" +"Enable eventfd-based synchronization (esync). This will increase performance " +"in applications that take advantage of multi-core processors." +msgstr "" +"Уключыць сінхранізацыю на аснове eventfd (esync). Гэта павысіць прадукцыйнасць " +"у праграмах, якія выкарыстоўваюць шмат'ядравыя працэсары." + +#: lutris/runners/wine.py:421 +msgid "Enable Fsync" +msgstr "Уключыць Fsync" + +#: lutris/runners/wine.py:427 +msgid "" +"Enable futex-based synchronization (fsync). This will increase performance " +"in applications that take advantage of multi-core processors. Requires " +"kernel 5.16 or above." +msgstr "" +"Уключыць сінхранізацыю на аснове futex (fsync). Гэта павысіць прадукцыйнасць " +"у праграмах, якія выкарыстоўваюць шмат'ядравыя працэсары. Патрабуецца ядро 5.16 або вышэй." + +#: lutris/runners/wine.py:435 +msgid "Enable AMD FidelityFX Super Resolution (FSR)" +msgstr "Уключыць AMD FidelityFX Super Resolution (FSR)" + +#: lutris/runners/wine.py:439 +msgid "" +"Use FSR to upscale the game window to native resolution.\n" +"Requires Lutris Wine FShack >= 6.13 and setting the game to a lower " +"resolution.\n" +"Does not work with games running in borderless window mode or that perform " +"their own upscaling." +msgstr "" +"Выкарыстоўвайце FSR для маштабавання акна гульні да роднай раздзяляльнасці.\n" +"Патрабуецца Lutris Wine FShack >= 6.13 і ўстаноўка гульні на меншую разрзяляльнасць.\n" +"Не працуе з гульнямі, якія працуюць у рэжыме акна без рамкі або якія выконваюць уласнае маштабаванне." + +#: lutris/runners/wine.py:446 +msgid "Enable BattlEye Anti-Cheat" +msgstr "Уключыць BattlEye Anti-Cheat" + +#: lutris/runners/wine.py:450 +msgid "" +"Enable support for BattlEye Anti-Cheat in supported games\n" +"Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" +msgstr "" +"Уключыць падтрымку BattlEye Anti-Cheat у падтрымоўваных гульнях\n" +"Патрабуецца Lutris Wine 6.21-2 і навей або любая іншая сумяшчальная зборка Wine.\n" + +#: lutris/runners/wine.py:456 +msgid "Enable Easy Anti-Cheat" +msgstr "Уключыць Easy Anti-Cheat" + +#: lutris/runners/wine.py:460 +msgid "" +"Enable support for Easy Anti-Cheat in supported games\n" +"Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" +msgstr "" +"Уключыць падтрымку Easy Anti-Cheat у падтрымоўваных гульнях\n" +"Патрабуецца Lutris Wine 7.2 і навей або любая іншая сумяшчальная зборка Wine.\n" + +#: lutris/runners/wine.py:466 lutris/runners/wine.py:481 +msgid "Virtual Desktop" +msgstr "Віртуальны працоўны стол" + +#: lutris/runners/wine.py:467 +msgid "Windowed (virtual desktop)" +msgstr "Аконны (віртуальны працоўны стол)" + +#: lutris/runners/wine.py:474 +msgid "" +"Run the whole Windows desktop in a window.\n" +"Otherwise, run it fullscreen.\n" +"This corresponds to Wine's Virtual Desktop option." +msgstr "" +"Запусціць увесь працоўны стол Windows у акне.\n" +"У адваротным выпадку, запусціць яго ў поўнаэкранным рэжыме.\n" +"Гэта адпавядае опцыі віртуальнага працоўнага стала Wine." + +#: lutris/runners/wine.py:482 +msgid "Virtual desktop resolution" +msgstr "Раздзяляльнасць віртуальнага працоўнага стала" + +#: lutris/runners/wine.py:488 +msgid "The size of the virtual desktop in pixels." +msgstr "Памер віртуальнага працоўнага стала ў пікселях." + +#: lutris/runners/wine.py:492 lutris/runners/wine.py:504 +#: lutris/runners/wine.py:505 +msgid "DPI" +msgstr "DPI" + +#: lutris/runners/wine.py:493 +msgid "Enable DPI Scaling" +msgstr "Уключыць маштабаванне DPI" + +#: lutris/runners/wine.py:498 +msgid "" +"Enables the Windows application's DPI scaling.\n" +"Otherwise, the Screen Resolution option in 'Wine configuration' controls " +"this." +msgstr "" +"Уключае маштабаванне DPI для праграмы Windows.\n" +"У адваротным выпадку гэтым кіруе опцыя 'Раздзяляльнасць экрана' ў 'Канфігурацыі Wine'." + +#: lutris/runners/wine.py:510 +msgid "The DPI to be used if 'Enable DPI Scaling' is turned on." +msgstr "DPI, які будзе выкарыстоўвацца, калі ўключана 'Уключыць маштабаванне DPI'." + +#: lutris/runners/wine.py:514 +msgid "Mouse Warp Override" +msgstr "Перавызначэнне дэфармацыі мышы" + +#: lutris/runners/wine.py:517 +msgid "Enable" +msgstr "Уключыць" + +#: lutris/runners/wine.py:519 +msgid "Force" +msgstr "Прымусова" + +#: lutris/runners/wine.py:524 +msgid "" +"Override the default mouse pointer warping behavior\n" +"Enable: (Wine default) warp the pointer when the mouse is exclusively " +"acquired \n" +"Disable: never warp the mouse pointer \n" +"Force: always warp the pointer" +msgstr "" +"Перавызначыць стандартныя паводзіны дэфармацыі указальніка мышы\n" +"Уключыць: (па змаўчанні Wine) дэфармаваць указальнік, калі мыш эксклюзіўна захоплена \n" +"Адключыць: ніколі не дэфармаваць указальнік мышы \n" +"Прымусова: заўсёды дэфармаваць указальнік" + +#: lutris/runners/wine.py:533 +msgid "Audio driver" +msgstr "Аўдыёдрайвер" + +#: lutris/runners/wine.py:544 +msgid "" +"Which audio backend to use.\n" +"By default, Wine automatically picks the right one for your system." +msgstr "" +"Які аўдыёбэкэнд выкарыстоўваць.\n" +"Па змаўчанні Wine аўтаматычна выбірае патрэбны для вашай сістэмы." + +#: lutris/runners/wine.py:550 +msgid "DLL overrides" +msgstr "Перавызначэнні DLL" + +#: lutris/runners/wine.py:551 +msgid "Sets WINEDLLOVERRIDES when launching the game." +msgstr "Усталёўвае WINEDLLOVERRIDES пры запуску гульні." + +#: lutris/runners/wine.py:555 +msgid "Output debugging info" +msgstr "Вывесці інфармацыю для адладкі" + +#: lutris/runners/wine.py:560 +msgid "Inherit from environment" +msgstr "Наследаваць з асяроддзя" + +#: lutris/runners/wine.py:562 +msgid "Full (CAUTION: Will cause MASSIVE slowdown)" +msgstr "Поўны (УВАГА: Выкліча ЗНАЧНАЕ запаволенне)" + +#: lutris/runners/wine.py:565 +msgid "Output debugging information in the game log (might affect performance)" +msgstr "Выводзіць інфармацыю для адладкі ў журнал гульні (можа паўплываць на прадукцыйнасць)" + +#: lutris/runners/wine.py:569 +msgid "Show crash dialogs" +msgstr "Паказваць дыялогі збояў" + +#: lutris/runners/wine.py:577 +msgid "Autoconfigure joypads" +msgstr "Аўтаматычная канфігурацыя джойстыкаў" + +#: lutris/runners/wine.py:580 +msgid "" +"Automatically disables one of Wine's detected joypad to avoid having 2 " +"controllers detected" +msgstr "" +"Аўтаматычна адключае адзін з выяўленых Wine джойстыкаў, каб пазбегнуць " +"выяўлення 2 кантролераў." + +#: lutris/runners/wine.py:614 +msgid "Run EXE inside Wine prefix" +msgstr "Запусціць EXE ўнутры прэфікса Wine" + +#: lutris/runners/wine.py:615 +msgid "Open Bash terminal" +msgstr "Адкрыць тэрмінал Bash" + +#: lutris/runners/wine.py:616 +msgid "Open Wine console" +msgstr "Адкрыць кансоль Wine" + +#: lutris/runners/wine.py:618 +msgid "Wine configuration" +msgstr "Канфігурацыя Wine" + +#: lutris/runners/wine.py:619 +msgid "Wine registry" +msgstr "Рэестр Wine" + +#: lutris/runners/wine.py:620 +msgid "Wine Control Panel" +msgstr "Панэль кіравання Wine" + +#: lutris/runners/wine.py:621 +msgid "Wine Task Manager" +msgstr "Дыспетчар задач Wine" + +#: lutris/runners/wine.py:623 +msgid "Winetricks" +msgstr "Winetricks" + +#: lutris/runners/wine.py:750 lutris/runners/wine.py:756 +#, python-format +msgid "The Wine executable at '%s' is missing." +msgstr "Выканальны файл Wine па адрасе '%s' адсутнічае." + +#: lutris/runners/wine.py:814 +#, python-format +msgid "The required game '%s' could not be found." +msgstr "Патрабаваная гульня '%s' не знойдзена." + +#: lutris/runners/wine.py:847 +msgid "The runner configuration does not specify a Wine version." +msgstr "Канфігурацыя запускальніка не паказвае версію Wine." + +#: lutris/runners/wine.py:885 +msgid "Select an EXE or MSI file" +msgstr "Выберыце файл EXE або MSI" + +#: lutris/runners/xemu.py:9 +msgid "xemu" +msgstr "xemu" + +#: lutris/runners/xemu.py:10 +msgid "Xbox" +msgstr "Xbox" + +#: lutris/runners/xemu.py:11 +msgid "Xbox emulator" +msgstr "Xbox эмулятар" + +#: lutris/runners/xemu.py:20 +msgid "DVD image in iso format" +msgstr "Вобраз DVD у фармаце iso" + +#: lutris/runners/yuzu.py:13 +msgid "Yuzu" +msgstr "Yuzu" + +#. http://zdoom.org/wiki/Command_line_parameters +#: lutris/runners/zdoom.py:13 +msgid "GZDoom Game Engine" +msgstr "Гульнявы рухавік GZDoom" + +#: lutris/runners/zdoom.py:14 +msgid "GZDoom" +msgstr "GZDoom" + +#: lutris/runners/zdoom.py:22 +msgid "WAD file" +msgstr "Файл WAD" + +#: lutris/runners/zdoom.py:23 +msgid "The game data, commonly called a WAD file." +msgstr "Даныя гульні, звычайна званыя файлам WAD." + +#: lutris/runners/zdoom.py:29 +msgid "Command line arguments used when launching the game." +msgstr "Аргументы каманднага радка, якія выкарыстоўваюцца пры запуску гульні." + +#: lutris/runners/zdoom.py:34 +msgid "PWAD files" +msgstr "Файлы PWAD" + +#: lutris/runners/zdoom.py:35 +msgid "" +"Used to load one or more PWAD files which generally contain user-created " +"levels." +msgstr "" +"Выкарыстоўваецца для загрузкі аднаго або некалькіх файлаў PWAD, якія " +"звычайна ўтрымліваюць створаныя карыстальнікам узроўні." + +#: lutris/runners/zdoom.py:40 +msgid "Warp to map" +msgstr "Перамясціцца на карту" + +#: lutris/runners/zdoom.py:41 +msgid "Starts the game on the given map." +msgstr "Запускае гульню на зададзенай карце." + +#: lutris/runners/zdoom.py:48 +msgid "User-specified path where save files should be located." +msgstr "Шлях, указаны карыстальнікам, дзе павінны знаходзіцца файлы захавання." + +#: lutris/runners/zdoom.py:52 +msgid "Pixel Doubling" +msgstr "Падвойванне пікселяў" + +#: lutris/runners/zdoom.py:53 +msgid "Pixel Quadrupling" +msgstr "Чатырохразовае павелічэнне пікселяў" + +#: lutris/runners/zdoom.py:56 +msgid "Disable Startup Screens" +msgstr "Адключыць стартавыя экраны" + +#: lutris/runners/zdoom.py:62 +msgid "Skill" +msgstr "Узровень складанасці" + +#: lutris/runners/zdoom.py:67 +msgid "I'm Too Young To Die (1)" +msgstr "Я занадта малады, каб памерці (1)" + +#: lutris/runners/zdoom.py:68 +msgid "Hey, Not Too Rough (2)" +msgstr "Гэй, не занадта жорстка (2)" + +#: lutris/runners/zdoom.py:69 +msgid "Hurt Me Plenty (3)" +msgstr "Зрабі мне балюча (3)" + +#: lutris/runners/zdoom.py:70 +msgid "Ultra-Violence (4)" +msgstr "Ультра-гвалт (4)" + +#: lutris/runners/zdoom.py:71 +msgid "Nightmare! (5)" +msgstr "Кашмар! (5)" + +#: lutris/runners/zdoom.py:79 +msgid "" +"Used to load a user-created configuration file. If specified, the file must " +"contain the wad directory list or launch will fail." +msgstr "" +"Выкарыстоўваецца для загрузкі створанага карыстальнікам файла канфігурацыі. " +"Калі пазначана, файл павінен утрымліваць спіс каталогаў wad, інакш запуск не атрымаецца." + +#: lutris/runtime.py:127 +#, python-format +msgid "Updating %s" +msgstr "Абнаўленне %s" + +#: lutris/runtime.py:130 +#, python-format +msgid "Updated %s" +msgstr "Абноўлена %s" + +#: lutris/services/amazon.py:69 +msgid "Amazon" +msgstr "Amazon" + +#: lutris/services/amazon.py:179 +msgid "No Amazon user data available, please log in again" +msgstr "Даныя карыстальніка Amazon недаступныя, калі ласка, увайдзіце зноў" + +#: lutris/services/amazon.py:244 +msgid "Unable to register device, please log in again" +msgstr "Не атрымалася зарэгістраваць прыладу, калі ласка, увайдзіце зноў" + +#: lutris/services/amazon.py:259 +msgid "Invalid token info found, please log in again" +msgstr "Знойдзена памылковая інфармацыя аб токене, калі ласка, увайдзіце зноў" + +#: lutris/services/amazon.py:293 +msgid "Unable to refresh token, please log in again" +msgstr "Не атрымалася абнавіць токен, калі ласка, увайдзіце зноў" + +#: lutris/services/amazon.py:465 +msgid "Unable to get game manifest info" +msgstr "Не атрымалася атрымаць інфармацыю аб маніфесце гульні" + +#: lutris/services/amazon.py:486 +msgid "Unable to get game manifest" +msgstr "Не атрымалася атрымаць маніфест гульні" + +#: lutris/services/amazon.py:501 +msgid "Unknown compression algorithm found in manifest" +msgstr "У маніфесце знойдзены невядомы алгарытм сціскання" + +#: lutris/services/amazon.py:526 +#, python-format +msgid "Unable to get the patches of game '%s'" +msgstr "Не атрымалася атрымаць выпраўленні гульні '%s'" + +#: lutris/services/amazon.py:603 +msgid "Unable to get fuel.json file." +msgstr "Не атрымалася атрымаць файл fuel.json." + +#: lutris/services/amazon.py:614 +msgid "Invalid response from Amazon APIs" +msgstr "Памылковы адказ ад Amazon API" + +#: lutris/services/amazon.py:648 lutris/services/gog.py:548 +msgid "Couldn't load the downloads for this game" +msgstr "Не атрымалася загрузіць спампоўкі для гэтай гульні" + +#: lutris/services/amazon.py:696 +msgid "Amazon Prime Gaming" +msgstr "Amazon Prime Gaming" + +#: lutris/services/base.py:447 +#, python-format +msgid "" +"This service requires a game launcher. The following steps will install it.\n" +"Once the client is installed, you can login to %s." +msgstr "" +"Гэтая служба патрабуе запуску гульні. Наступныя крокі ўсталююць яго.\n" +"Пасля ўстаноўкі кліента вы можаце ўвайсці ў %s." + +#: lutris/services/battlenet.py:105 +msgid "Battle.net" +msgstr "Battle.net" + +#: lutris/services/ea_app.py:148 +msgid "EA App" +msgstr "EA App" + +#: lutris/services/egs.py:142 +msgid "Epic Games Store" +msgstr "Epic Games Store" + +#: lutris/services/flathub.py:56 +msgid "Flathub" +msgstr "Flathub" + +#: lutris/services/flathub.py:84 +msgid "No flatpak or flatpak-spawn found" +msgstr "Не знойдзены flatpak або flatpak-spawn" + +#: lutris/services/flathub.py:106 +msgid "" +"Flathub is not configured on the system. Visit https://flatpak.org/setup/ " +"for instructions." +msgstr "" +"Flathub не наладжаны ў сістэме. Наведайце https://flatpak.org/setup/ для інструкцый." + +#: lutris/services/gog.py:79 +msgid "GOG" +msgstr "GOG" + +#: lutris/services/gog.py:482 +msgid "Couldn't load the download links for this game" +msgstr "Не атрымалася загрузіць спасылкі для спампоўкі гэтай гульні" + +#: lutris/services/gog.py:539 +msgid "Unable to determine correct file to launch installer" +msgstr "Не атрымалася вызначыць правільны файл для запуску ўсталёўшчыка" + +#: lutris/services/humblebundle.py:62 +msgid "Humble Bundle" +msgstr "Humble Bundle" + +#: lutris/services/humblebundle.py:82 +msgid "Workaround for Humble Bundle authentication" +msgstr "Абыходны шлях для аўтэнтыфікацыі Humble Bundle" + +#: lutris/services/humblebundle.py:84 +msgid "" +"Humble Bundle is restricting API calls from software like Lutris and " +"GameHub.\n" +"Authentication to the service will likely fail.\n" +"There is a workaround involving copying cookies from Firefox, do you want to " +"do this instead?" +msgstr "" +"Humble Bundle абмяжоўвае выклікі API ад праграм, такіх як Lutris і GameHub.\n" +"Аўтэнтыфікацыя ў сэрвісе, хутчэй за ўсё, не атрымаецца.\n" +"Ёсць абыходны шлях, які ўключае капіраванне файлаў cookie з Firefox, вы хочаце зрабіць гэта замест?" + +#: lutris/services/humblebundle.py:235 +msgid "The download URL for the game could not be determined." +msgstr "Не атрымалася вызначыць URL для спампоўкі гульні." + +#: lutris/services/humblebundle.py:237 +msgid "No game found on Humble Bundle" +msgstr "Гульня не знойдзена на Humble Bundle" + +#. According to their branding, "itch.io" is supposed to be all lowercase +#: lutris/services/itchio.py:81 +msgid "itch.io" +msgstr "itch.io" + +#: lutris/services/lutris.py:132 +#, python-format +msgid "Lutris has no installers for %s. Try using a different service instead." +msgstr "Lutris не мае ўсталёўшчыкаў для %s. Паспрабуйце выкарыстоўваць іншую службу." + +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Сям'я Steam" + +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "Выкарыстоўваць для адлюстравання кожнай гульні ў сям'і Steam" + +#: lutris/services/steam.py:98 +msgid "" +"Failed to load games. Check that your profile is set to public during the " +"sync." +msgstr "" +"Не атрымалася загрузіць гульні. Пераканайцеся, што ваш профіль заданы " +"як публічны падчас сінхранізацыі." + +#: lutris/services/steamwindows.py:24 +msgid "Steam for Windows" +msgstr "Steam для Windows" + +#: lutris/services/steamwindows.py:25 +msgid "" +"Use only for the rare games or mods requiring the Windows version of Steam" +msgstr "" +"Выкарыстоўваць толькі для рэдкіх гульняў або модаў, якія патрабуюць версіі Steam для Windows" + +#: lutris/services/ubisoft.py:79 +msgid "Ubisoft Connect" +msgstr "Ubisoft Connect" + +#: lutris/services/xdg.py:44 +msgid "Local" +msgstr "Лакальныя" + +#: lutris/settings.py:16 +msgid "(c) 2009 Lutris Team" +msgstr "(c) 2009 Каманда Lutris" + +#: lutris/startup.py:138 +#, python-format +msgid "" +"Failed to open database file in %s. Try renaming this file and relaunch " +"Lutris" +msgstr "Не атрымалася адкрыць файл базы даных у %s. Паспрабуйце перайменаваць гэты файл і перазапусціць Lutris" + +#: lutris/sysoptions.py:19 +msgid "Keep current" +msgstr "Захаваць бягучы" + +#: lutris/sysoptions.py:29 +msgid "Chinese" +msgstr "Кітайская" + +#: lutris/sysoptions.py:30 +msgid "Croatian" +msgstr "Харвацкая" + +#: lutris/sysoptions.py:31 +msgid "Dutch" +msgstr "Нідэрландская" + +#: lutris/sysoptions.py:33 +msgid "Finnish" +msgstr "Фінская" + +#: lutris/sysoptions.py:35 +msgid "Georgian" +msgstr "Грузінская" + +#: lutris/sysoptions.py:41 +msgid "Portuguese (Brazilian)" +msgstr "Партугальская (Бразільская)" + +#: lutris/sysoptions.py:42 +msgid "Polish" +msgstr "Польская" + +#: lutris/sysoptions.py:43 +msgid "Russian" +msgstr "Руская" + +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 +msgid "Off" +msgstr "Выключана" + +#: lutris/sysoptions.py:61 +msgid "Primary" +msgstr "Асноўны" + +#: lutris/sysoptions.py:83 +msgid "Default installation folder" +msgstr "Папка ўстаноўкі па змаўчанні" + +#: lutris/sysoptions.py:93 +msgid "Disable Lutris Runtime" +msgstr "Адключыць Lutris Runtime" + +#: lutris/sysoptions.py:96 +msgid "" +"The Lutris Runtime loads some libraries before running the game, which can " +"cause some incompatibilities in some cases. Check this option to disable it." +msgstr "" +"Lutris Runtime загружае некаторыя бібліятэкі перад запускам гульні, што ў " +"некаторых выпадках можа выклікаць несумяшчальнасці. Адзначце гэтую опцыю, " +"каб адключыць яе." + +#: lutris/sysoptions.py:105 +msgid "Prefer system libraries" +msgstr "Аддаваць перавагу сістэмным бібліятэкам" + +#: lutris/sysoptions.py:107 +msgid "" +"When the runtime is enabled, prioritize the system libraries over the " +"provided ones." +msgstr "" +"Калі асяроддзе выканання ўключана, аддаваць перавагу сістэмным " +"бібліятэкам перад прадастаўленымі." + +#: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 +#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 +#: lutris/sysoptions.py:179 lutris/sysoptions.py:195 +msgid "Display" +msgstr "Дысплэй" + +#: lutris/sysoptions.py:113 +msgid "GPU" +msgstr "Графічны працэсар" + +#: lutris/sysoptions.py:117 +msgid "GPU to use to run games" +msgstr "Графічны працэсар для запуску гульняў" + +#: lutris/sysoptions.py:123 +msgid "FPS counter (MangoHud)" +msgstr "Лічыльнік FPS (MangoHud)" + +#: lutris/sysoptions.py:126 +msgid "" +"Display the game's FPS + other information. Requires MangoHud to be " +"installed." +msgstr "" +"Адлюстроўвае FPS гульні + іншую інфармацыю. Патрабуецца ўсталяваны MangoHud." + +#: lutris/sysoptions.py:132 +msgid "Restore resolution on game exit" +msgstr "Аднавіць раздзяляльнасць пры выхадзе з гульні" + +#: lutris/sysoptions.py:137 +msgid "" +"Some games don't restore your screen resolution when \n" +"closed or when they crash. This is when this option comes \n" +"into play to save your bacon." +msgstr "" +"Некаторыя гульні не аднаўляюць раздзяляльнасць экрана пры \n" +"закрыцці або збоі. Таму гэтая опцыя і ўступае \n" +"ў гульню, каб выратаваць вас." + +#: lutris/sysoptions.py:145 +msgid "Disable desktop effects" +msgstr "Адключыць эфекты працоўнага стала" + +#: lutris/sysoptions.py:151 +msgid "" +"Disable desktop effects while game is running, reducing stuttering and " +"increasing performance" +msgstr "" +"Адключыць эфекты працоўнага стала падчас працы гульні, памяншаючы " +"заіканне і павялічваючы прадукцыйнасць" + +#: lutris/sysoptions.py:156 +msgid "Prevent sleep" +msgstr "Прадухіліць сон" + +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." +msgstr "Прадухіляе пераход камп'ютара ў рэжым сну падчас працы гульні." + +#: lutris/sysoptions.py:167 +msgid "SDL 1.2 Fullscreen Monitor" +msgstr "Поўнаэкранны манітор SDL 1.2" + +#: lutris/sysoptions.py:173 +msgid "" +"Hint SDL 1.2 games to use a specific monitor when going fullscreen by " +"setting the SDL_VIDEO_FULLSCREEN environment variable" +msgstr "" +"Падказваць SDL 1.2 гульням выкарыстоўваць пэўны манітор пры пераходзе ў " +"поўнаэкранны рэжым, усталяваўшы зменную асяроддзя SDL_VIDEO_FULLSCREEN" + +#: lutris/sysoptions.py:182 +msgid "Turn off monitors except" +msgstr "Выключыць маніторы, акрамя" + +#: lutris/sysoptions.py:188 +msgid "" +"Only keep the selected screen active while the game is running. \n" +"This is useful if you have a dual-screen setup, and are \n" +"having display issues when running a game in fullscreen." +msgstr "" +"Захоўваць актыўным толькі выбраны экран падчас працы гульні. \n" +"Гэта карысна, калі ў вас ёсць два экраны, і вы \n" +"маеце праблемы з адлюстраваннем пры запуску гульні ў поўнаэкранным рэжыме." + +#: lutris/sysoptions.py:198 +msgid "Switch resolution to" +msgstr "Пераключыць раздзяляльнасць на" + +#: lutris/sysoptions.py:203 +msgid "Switch to this screen resolution while the game is running." +msgstr "Пераключыцца на гэтую раздзяляльнасць экрана падчас працы гульні." + +#: lutris/sysoptions.py:209 +msgid "Enable Gamescope" +msgstr "Уключыць Gamescope" + +#: lutris/sysoptions.py:212 +msgid "" +"Use gamescope to draw the game window isolated from your desktop.\n" +"Toggle fullscreen: Super + F" +msgstr "" +"Выкарыстоўвайце gamescope для адлюстравання акна гульні ізалявана " +"ад вашага працоўнага стала.\n" +"Пераключыць поўнаэкранны рэжым: Super + F" + +#: lutris/sysoptions.py:218 +msgid "Enable HDR (Experimental)" +msgstr "Уключыць HDR (эксперыментальна)" + +#: lutris/sysoptions.py:223 +msgid "" +"Enable HDR for games that support it.\n" +"Requires Plasma 6 and VK_hdr_layer." +msgstr "" +"Уключыць HDR для гульняў, якія яго падтрымліваюць.\n" +"Патрабуецца Plasma 6 і VK_hdr_layer." + +#: lutris/sysoptions.py:229 +msgid "Relative Mouse Mode" +msgstr "Рэжым адноснай мышы" + +#: lutris/sysoptions.py:235 +msgid "" +"Always use relative mouse mode instead of flipping\n" +"dependent on cursor visibility\n" +"Can help with games where the player's camera faces the floor" +msgstr "" +"Заўсёды выкарыстоўваць рэжым адноснай мышы замест пераключэння\n" +"ў залежнасці ад бачнасці курсора\n" +"Можа дапамагчы ў гульнях, дзе камера гульца накіравана ў падлогу" + +#: lutris/sysoptions.py:244 +msgid "Output Resolution" +msgstr "Выходная раздзяляльнасць" + +#: lutris/sysoptions.py:250 +msgid "" +"Set the resolution used by gamescope.\n" +"Resizing the gamescope window will update these settings.\n" +"\n" +"Custom Resolutions: (width)x(height)" +msgstr "" +"Задайце раздзяляльнасць, якая выкарыстоўваецца gamescope.\n" +"Змена памеру акна gamescope абнавіць гэтыя налады.\n" +"\n" +"Уласная раздзяляльнасць: (шырыня)x(вышыня)" + +#: lutris/sysoptions.py:260 +msgid "Game Resolution" +msgstr "Раздзяляльнасць гульні" + +#: lutris/sysoptions.py:264 +msgid "" +"Set the maximum resolution used by the game.\n" +"\n" +"Custom Resolutions: (width)x(height)" +msgstr "" +"Задайце максімальную раздзяляльнасць, якая выкарыстоўваецца гульнёй.\n" +"\n" +"Уласная раздзяляльнасць: (шырыня)x(вышыня)" + +#: lutris/sysoptions.py:269 +msgid "Window Mode" +msgstr "Рэжым акна" + +#: lutris/sysoptions.py:273 +msgid "Windowed" +msgstr "У акне" + +#: lutris/sysoptions.py:274 +msgid "Borderless" +msgstr "Без рамкі" + +#: lutris/sysoptions.py:279 +msgid "" +"Run gamescope in fullscreen, windowed or borderless mode\n" +"Toggle fullscreen : Super + F" +msgstr "" +"Запусціць gamescope у поўнаэкранным, аконным або безрамкавым рэжыме\n" +"Пераключыць поўнаэкранны рэжым: Super + F" + +#: lutris/sysoptions.py:284 +msgid "FSR Level" +msgstr "Узровень FSR" + +#: lutris/sysoptions.py:290 +msgid "" +"Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" +"Upscaler sharpness from 0 (max) to 20 (min)." +msgstr "" +"Выкарыстоўваць AMD FidelityFX™ Super Resolution 1.0 для маштабавання.\n" +"Рэзкасць маштабавання ад 0 (максімум) да 20 (мінімум)." + +#: lutris/sysoptions.py:296 +msgid "Framerate Limiter" +msgstr "Абмежавальнік частаты кадраў" + +#: lutris/sysoptions.py:301 +msgid "Set a frame-rate limit for gamescope specified in frames per second." +msgstr "Задайце абмежаванне частаты кадраў для gamescope, паказанае ў кадрах у секунду." + +#: lutris/sysoptions.py:306 +msgid "Custom Settings" +msgstr "Карыстальніцкія налады" + +#: lutris/sysoptions.py:312 +msgid "" +"Set additional flags for gamescope (if available).\n" +"See 'gamescope --help' for a full list of options." +msgstr "" +"Задайце дадатковыя пазнакі для gamescope (калі даступна).\n" +"Глядзіце 'gamescope --help' для поўнага спісу опцый." + +#: lutris/sysoptions.py:319 +msgid "Restrict number of cores used" +msgstr "Абмежаваць колькасць выкарыстоўваемых ядраў" + +#: lutris/sysoptions.py:321 +msgid "Restrict the game to a maximum number of CPU cores." +msgstr "Абмежаваць гульню максімальнай колькасцю ядраў ЦП." + +#: lutris/sysoptions.py:327 +msgid "Restrict number of cores to" +msgstr "Абмежаваць колькасць ядраў да" + +#: lutris/sysoptions.py:330 +msgid "" +"Maximum number of CPU cores to be used, if 'Restrict number of cores used' " +"is turned on." +msgstr "" +"Максімальная колькасць ядраў ЦП, якія будуць выкарыстоўвацца, калі ўключана " +"'Абмежаваць колькасць выкарыстоўваемых ядраў'." + +#: lutris/sysoptions.py:338 +msgid "Enable Feral GameMode" +msgstr "Уключыць Feral GameMode" + +#: lutris/sysoptions.py:339 +msgid "Request a set of optimisations be temporarily applied to the host OS" +msgstr "Запытаць часовае прымяненне набору аптымізацый да аперацыйнай сістэмы хоста" + +#: lutris/sysoptions.py:345 +msgid "Reduce PulseAudio latency" +msgstr "Паменшыць затрымку PulseAudio" + +#: lutris/sysoptions.py:349 +msgid "" +"Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " +"on some games" +msgstr "" +"Задаць зменную асяроддзя PULSE_LATENCY_MSEC=60 для паляпшэння якасці гуку ў некаторых гульнях" + +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 +msgid "Input" +msgstr "Увод" + +#: lutris/sysoptions.py:355 +msgid "Switch to US keyboard layout" +msgstr "Пераключыцца на раскладку клавіятуры ЗША" + +#: lutris/sysoptions.py:359 +msgid "Switch to US keyboard QWERTY layout while game is running" +msgstr "Пераключыцца на раскладку клавіятуры QWERTY ЗША падчас працы гульні" + +#: lutris/sysoptions.py:365 +msgid "AntiMicroX Profile" +msgstr "Профіль AntiMicroX" + +#: lutris/sysoptions.py:367 +msgid "Path to an AntiMicroX profile file" +msgstr "Шлях да файла профілю AntiMicroX" + +#: lutris/sysoptions.py:373 +msgid "SDL2 gamepad mapping" +msgstr "Супастаўленне геймпада SDL2" + +#: lutris/sysoptions.py:376 +msgid "" +"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom gamecontrollerdb." +"txt file containing mappings." +msgstr "" +"Радок супастаўлення SDL_GAMECONTROLLERCONFIG або шлях да уласнага " +"файла gamecontrollerdb.txt, які змяшчае супастаўлення." + +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 +msgid "Text based games" +msgstr "Тэкставыя гульні" + +#: lutris/sysoptions.py:382 +msgid "CLI mode" +msgstr "Рэжым CLI" + +#: lutris/sysoptions.py:387 +msgid "" +"Enable a terminal for text-based games. Only useful for ASCII based games. " +"May cause issues with graphical games." +msgstr "" +"Уключыць тэрмінал для тэкставых гульняў. Карысна толькі для гульняў " +"на аснове ASCII. Можа выклікаць праблемы з графічнымі гульнямі." + +#: lutris/sysoptions.py:394 +msgid "Text based games emulator" +msgstr "Эмулятар тэкставых гульняў" + +#: lutris/sysoptions.py:400 +msgid "" +"The terminal emulator used with the CLI mode. Choose from the list of " +"detected terminal apps or enter the terminal's command or path." +msgstr "" +"Тэрмінальны эмулятар, які выкарыстоўваецца ў рэжыме CLI. Выберыце са " +"спісу выяўленых тэрмінальных праграм або ўвядзіце каманду або шлях тэрмінала." + +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 +#: lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 +#: lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 +#: lutris/sysoptions.py:492 +msgid "Game execution" +msgstr "Выкананне гульні" + +#: lutris/sysoptions.py:410 +msgid "Environment variables loaded at run time" +msgstr "Пераменныя асяроддзя, загружаныя падчас выканання" + +#: lutris/sysoptions.py:416 +msgid "Locale" +msgstr "Лакаль" + +#: lutris/sysoptions.py:420 +msgid "" +"Can be used to force certain locale for an app. Fixes encoding issues in " +"legacy software." +msgstr "" +"Можа выкарыстоўвацца для прымусовага ўсталявання пэўнай лакалі для праграмы. " +"Выпраўляе праблемы з кадзіроўкай у старым праграмным забеспячэнні." + +#: lutris/sysoptions.py:426 +msgid "Command prefix" +msgstr "Прэфікс каманды" + +#: lutris/sysoptions.py:428 +msgid "" +"Command line instructions to add in front of the game's execution command." +msgstr "" +"Інструкцыі каманднага радка для дадання перад камандай выканання гульні." + +#: lutris/sysoptions.py:434 +msgid "Manual script" +msgstr "Ручны скрыпт" + +#: lutris/sysoptions.py:436 +msgid "Script to execute from the game's contextual menu" +msgstr "Скрыпт для выканання з кантэкстнага меню гульні" + +#: lutris/sysoptions.py:442 +msgid "Pre-launch script" +msgstr "Скрыпт перад запускам" + +#: lutris/sysoptions.py:444 +msgid "Script to execute before the game starts" +msgstr "Скрыпт для выканання перад запускам гульні" + +#: lutris/sysoptions.py:450 +msgid "Wait for pre-launch script completion" +msgstr "Чакаць завяршэння скрыпта перад запускам" + +#: lutris/sysoptions.py:454 +msgid "Run the game only once the pre-launch script has exited" +msgstr "Запускаць гульню толькі пасля выхаду скрыпта перад запускам" + +#: lutris/sysoptions.py:460 +msgid "Post-exit script" +msgstr "Скрыпт пасля выхаду" + +#: lutris/sysoptions.py:462 +msgid "Script to execute when the game exits" +msgstr "Скрыпт для выканання пры выхадзе з гульні" + +#: lutris/sysoptions.py:468 +msgid "Include processes" +msgstr "Уключыць працэсы" + +#: lutris/sysoptions.py:471 +msgid "" +"What processes to include in process monitoring. This is to override the " +"built-in exclude list.\n" +"Space-separated list, processes including spaces can be wrapped in quotation " +"marks." +msgstr "" +"Якія працэсы ўключыць у маніторынг працэсаў. Гэта для перавызначэння " +"ўбудаванага спісу выключэнняў.\n" +"Спіс, падзелены прабеламі. Працэсы, якія ўключаюць прабелы, могуць быць " +"заключаны ў двукоссі." + +#: lutris/sysoptions.py:481 +msgid "Exclude processes" +msgstr "Выключыць працэсы" + +#: lutris/sysoptions.py:484 +msgid "" +"What processes to exclude in process monitoring. For example background " +"processes that stick around after the game has been closed.\n" +"Space-separated list, processes including spaces can be wrapped in quotation " +"marks." +msgstr "" +"Якія працэсы выключыць з маніторынгу працэсаў. Напрыклад, фонавыя працэсы, " +"якія застаюцца пасля закрыцця гульні.\n" +"Спіс, падзелены прабеламі. Працэсы, якія ўключаюць прабелы, могуць быць заключаны ў двукоссі." + +#: lutris/sysoptions.py:495 +msgid "Killswitch file" +msgstr "Файл аварыйнага адключэння" + +#: lutris/sysoptions.py:498 +msgid "" +"Path to a file which will stop the game when deleted \n" +"(usually /dev/input/js0 to stop the game on joystick unplugging)" +msgstr "" +"Шлях да файла, які спыніць гульню пры выдаленні \n" +"(звычайна /dev/input/js0 для спынення гульні пры адключэнні джойстыка)" + +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 +msgid "Xephyr (Deprecated, use Gamescope)" +msgstr "Xephyr (састарэла, выкарыстоўвайце Gamescope)" + +#: lutris/sysoptions.py:506 +msgid "Use Xephyr" +msgstr "Выкарыстоўваць Xephyr" + +#: lutris/sysoptions.py:510 +msgid "8BPP (256 colors)" +msgstr "8BPP (256 колераў)" + +#: lutris/sysoptions.py:511 +msgid "16BPP (65536 colors)" +msgstr "16BPP (65536 колераў)" + +#: lutris/sysoptions.py:512 +msgid "24BPP (16M colors)" +msgstr "24BPP (16 млн. колераў)" + +#: lutris/sysoptions.py:517 +msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" +msgstr "Запусціць праграму ў Xephyr для падтрымкі каляровых рэжымаў 8BPP і 16BPP" + +#: lutris/sysoptions.py:523 +msgid "Xephyr resolution" +msgstr "Раздзяляльнасць Xephyr" + +#: lutris/sysoptions.py:526 +msgid "Screen resolution of the Xephyr server" +msgstr "Раздзяляльнасць экрана сервера Xephyr" + +#: lutris/sysoptions.py:532 +msgid "Xephyr Fullscreen" +msgstr "Поўнаэкранны рэжым Xephyr" + +#: lutris/sysoptions.py:536 +msgid "Open Xephyr in fullscreen (at the desktop resolution)" +msgstr "Адкрыць Xephyr у поўнаэкранным рэжыме (з раздзяляльнасцю працоўнага стала)" + +#: lutris/util/flatpak.py:28 +msgid "Flatpak is not installed" +msgstr "Flatpak не ўсталяваны" + +#: lutris/util/linux.py:547 +msgid "No terminal emulator could be detected." +msgstr "Не атрымалася выявіць эмулятар тэрмінала." + +#: lutris/util/portals.py:83 +#, python-format +msgid "" +"'%s' could not be moved to the trash. You will need to delete it yourself." +msgstr "" +"'%s' не можа быць перамешчаны ў сметніцу. Вам трэба будзе выдаліць яго самастойна." + +#: lutris/util/portals.py:88 +#, python-format +msgid "" +"The items could not be moved to the trash. You will need to delete them " +"yourself:\n" +"%s" +msgstr "Элементы не могуць быць перамешчаны ў сметніцу. Вам трэба будзе выдаліць іх самастойна:\n" +"%s" + +#: lutris/util/strings.py:17 +msgid "Never played" +msgstr "Ніколі не гуляў" + +#. This function works out how many hours are meant by some +#. number of some unit. +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hour" +msgstr "гадзіна" + +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hours" +msgstr "гадзін" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minute" +msgstr "мінута" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minutes" +msgstr "мінут" + +#: lutris/util/strings.py:219 lutris/util/strings.py:304 +msgid "Less than a minute" +msgstr "Менш за мінуту" + +#: lutris/util/strings.py:277 +msgid "day" +msgstr "дзень" + +#: lutris/util/strings.py:277 +msgid "days" +msgstr "дзён" + +#: lutris/util/strings.py:278 +msgid "week" +msgstr "тыдзень" + +#: lutris/util/strings.py:278 +msgid "weeks" +msgstr "тыдняў" + +#: lutris/util/strings.py:279 +msgid "month" +msgstr "месяц" + +#: lutris/util/strings.py:279 +msgid "months" +msgstr "месяцаў" + +#: lutris/util/strings.py:280 +msgid "year" +msgstr "год" + +#: lutris/util/strings.py:280 +msgid "years" +msgstr "гадоў" + +#: lutris/util/strings.py:310 +#, python-format +msgid "'%s' is not a valid playtime." +msgstr "'%s' не з'яўляецца правільным часам гульні." + +#: lutris/util/strings.py:395 +msgid "in the future" +msgstr "у будучыні" + +#: lutris/util/strings.py:397 +msgid "just now" +msgstr "толькі што" + +#: lutris/util/strings.py:406 +#, python-format +msgid "%d days" +msgstr "%d дзён" + +#: lutris/util/strings.py:410 +#, python-format +msgid "%d hours" +msgstr "%d гадзін" + +#: lutris/util/strings.py:415 +#, python-format +msgid "%d minutes" +msgstr "%d мінут" + +#: lutris/util/strings.py:417 +msgid "1 minute" +msgstr "1 мінута" + +#: lutris/util/strings.py:421 +#, python-format +msgid "%d seconds" +msgstr "%d секунд" + +#: lutris/util/strings.py:423 +msgid "1 second" +msgstr "1 секунда" + +#: lutris/util/strings.py:425 +msgid "ago" +msgstr "таму" + +#: lutris/util/system.py:25 +msgid "Documents" +msgstr "Дакументы" + +#: lutris/util/system.py:26 +msgid "Downloads" +msgstr "Спампоўкі" + +#: lutris/util/system.py:27 +msgid "Desktop" +msgstr "Працоўны стол" + +#: lutris/util/system.py:28 lutris/util/system.py:30 +msgid "Pictures" +msgstr "Малюнкі" + +#: lutris/util/system.py:29 +msgid "Videos" +msgstr "Відэа" + +#: lutris/util/system.py:31 +msgid "Projects" +msgstr "Праекты" + +#: lutris/util/ubisoft/client.py:95 +#, python-format +msgid "Ubisoft authentication has been lost: %s" +msgstr "Аўтэнтыфікацыя Ubisoft страчана: %s" + +#: lutris/util/wine/dll_manager.py:102 +#, python-format +msgid "" +"The '%s' runtime component is not installed; visit the Updates tab in the " +"Preferences dialog to install it." +msgstr "Кампанент асяроддзя выканання '%s' не ўсталяваны; наведайце ўкладку " +"Абнаўленні ў дыялогавым акне Налады, каб усталяваць яго." + +#: lutris/util/wine/dll_manager.py:113 +msgid "Manual" +msgstr "Уручную" + +#: lutris/util/wine/proton.py:100 +#, python-format +msgid "Proton version '%s' is missing its wine executable and can't be used." +msgstr "Версія Proton '%s' не мае выканальнага файла wine і не можа быць выкарыстана." + +#: lutris/util/wine/wine.py:173 +msgid "The Wine version must be specified." +msgstr "Версія Wine павінна быць пазначана." diff --git a/po/de.po b/po/de.po index a3b2519f9b..9bc8d8bb3c 100644 --- a/po/de.po +++ b/po/de.po @@ -2159,7 +2159,7 @@ msgstr "Dolphin" #: lutris/runners/dolphin.py:12 lutris/runners/dolphin.py:27 msgid "Nintendo GameCube" -msgstr "Nintenndo GameCube" +msgstr "Nintendo GameCube" #: lutris/runners/dolphin.py:12 lutris/runners/dolphin.py:27 msgid "Nintendo Wii" diff --git a/po/es.po b/po/es.po index b718b1a744..96dcaf06ef 100644 --- a/po/es.po +++ b/po/es.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: lutris\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-12 09:58+0100\n" -"PO-Revision-Date: 2024-11-12 14:38+0100\n" +"POT-Creation-Date: 2025-11-30 10:59+0100\n" +"PO-Revision-Date: 2025-12-01 11:15+0100\n" "Last-Translator: Miguel Barrio Orsikowsky \n" "Language-Team: \n" "Language: es\n" @@ -11,22 +11,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"X-Generator: Poedit 3.8\n" -#: share/applications/net.lutris.Lutris.desktop:3 +#: share/applications/net.lutris.Lutris.desktop:2 #: share/metainfo/net.lutris.Lutris.metainfo.xml:13 -#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:84 -#: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:101 +#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 +#: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 #: lutris/services/lutris.py:49 lutris/sysoptions.py:80 lutris/sysoptions.py:90 #: lutris/sysoptions.py:102 msgid "Lutris" msgstr "Lutris" -#: share/applications/net.lutris.Lutris.desktop:5 +#: share/applications/net.lutris.Lutris.desktop:4 msgid "Video Game Preservation Platform" msgstr "Plataforma de Preservación de Videojuegos" -#: share/applications/net.lutris.Lutris.desktop:7 +#: share/applications/net.lutris.Lutris.desktop:6 msgid "gaming;wine;emulator;" msgstr "juego;wine;emulador;" @@ -51,102 +51,225 @@ msgid "" "implementations and compatibility layers, it gives you a central interface " "to launch all your games." msgstr "" -"Lutris facilita instalar y jugar a videojuegos de todas las épocas y casi " +"Lutris te ayuda a instalar y jugar a videojuegos de todas las épocas y casi " "todos los sistemas. Proporciona un interfaz centralizado para lanzar todos " -"tus juegos al aprovechar y combinar emuladores existentes, " +"tus juegos Al aprovechar y combinar emuladores existentes, " "reimplementaciones de motores y capas de compatibilidad." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:33 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +msgid "" +"Lutris downloads the latest GE-Proton build for Wine if any Wine version is " +"installed" +msgstr "" +"Lutris descarga la última versión de GE-Proton para Wine si hay alguna " +"versión de Wine instalada" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +msgid "Use dark theme by default" +msgstr "Usar tema oscuro de forma predeterminada" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +msgid "Display cover-art rather than banners by default" +msgstr "Mostrar portadas en lugar de pancartas de forma predeterminada" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +msgid "Add 'Uncategorized' view to sidebar" +msgstr "Añadir la vista \"Sin categorizar\" al panel lateral" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +msgid "" +"Preference options that do not work on Wayland will be hidden when on Wayland" +msgstr "" +"Las opciones de preferencia que no funcionan en Wayland estarán ocultarás " +"cuando se esté en Wayland" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +msgid "" +"Game searches can now use fancy tags like 'installed:yes' or 'source:gog', " +"with explanatory tool-tip" +msgstr "" +"Las búsquedas de juegos ahora pueden usar etiquetas avanzadas como " +"'installed:yes' o 'source:gog', con información explicativa en la ventana " +"emergente" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +msgid "" +"A new filter button on the search box can build many of these fancy tags for " +"you" +msgstr "" +"Muchas de estas etiquetas avanzadas pueden crearse mediante un nuevo botón " +"de filtro en el cuadro de búsqueda" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +msgid "" +"Runner searches can use 'installed:yes' as well, but no other fancy searches " +"or anything" +msgstr "" +"Las búsquedas de ejecutor también pueden usar 'installed:yes', pero no otras " +"búsquedas avanzadas o similar" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +msgid "" +"Updated the Flathub and Amazon source to new APIs, restoring integration" +msgstr "" +"Se han actualizado los orígenes de Flathub y Amazon a las nuevas API, " +"restableciendo la integración" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +msgid "" +"Itch.io source integration will load a collection named 'Lutris' if present" +msgstr "" +"Si está presente, la integración con el origen Itch.io cargará una colección " +"llamada 'Lutris'" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +msgid "" +"GOG and Itch.io sources can now offer Linux and Windows installers for the " +"same game" +msgstr "" +"Las plataformas GOG e Itch.io ahora ofrecen instaladores para Linux y " +"Windows del mismo juego" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +msgid "Added support for the 'foot' terminal" +msgstr "Se ha añadido compatibilidad con el terminal 'foot'" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +msgid "Support for DirectX 8 in DXVK v2.4" +msgstr "Compatibilidad con DirectX 8 en DXVK v2.4" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +msgid "Support for Ayatana Application Indicators" +msgstr "Compatibilidad para Indicadores de Aplicación Ayatana" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +msgid "Additional options for Ruffle runner" +msgstr "Opciones adicionales para el ejecutor Ruffle" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +msgid "Updated download links for the Atari800 and MicroM8 runners" +msgstr "" +"Enlaces de descarga actualizados para los ejecutores Atari800 y MicroM8" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +msgid "" +"No longer re-download cached installation files even when some are missing" +msgstr "" +"Ya no se volverán a descargar los archivos de instalación almacenados en " +"caché, incluso si faltan algunos" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +msgid "Lutris log is included in the 'System' tab of the Preferences window" +msgstr "" +"El registro de Lutris se incluye en la pestaña 'Sistema' de la ventana de " +"Preferencias" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +msgid "" +"Improved error reporting, with the Lutris log included in the error details" +msgstr "" +"Informes de errores mejorados, con el registro de Lutris incluido en los " +"detalles del error" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +msgid "Add AppArmor profile for Ubuntu versions >= 23.10" +msgstr "Agregado perfil de AppArmor para versiones de Ubuntu >= 23.10" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 +msgid "Add Duckstation runner" +msgstr "Añadido el ejecutor Duckstation" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 msgid "" "Fix critical bug preventing completion of installs if the script specifies a " "wine version" msgstr "" -"Corrige un error crítico que impide completar las instalaciones si el guion " -"especifica una versión concreta de wine" +"Corregido un error crítico que impide completar las instalaciones si el " +"guion especifica una versión concreta de wine" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 msgid "Fix critical bug preventing Steam library sync" msgstr "" -"Corrige un error crítico que impide la sincronización con la biblioteca de " +"Corregido un error crítico que impide la sincronización con la biblioteca de " "Steam" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 msgid "Fix critical bug preventing game or runner uninstall in Flatpak" msgstr "" -"Corrige un error crítico que impide desinstalar un juego o ejecutor en " +"Corregido un error crítico que impide desinstalar un juego o ejecutor en " "Flatpak" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 msgid "Support for library sync to lutris.net, this allows to sync games, play" msgstr "" -"Soporte para sincronización de bibliotecas con lutris.net, permitiendo " +"Soporte para sincronización de bibliotecas con lutris.net, esto permite " "sincronizar" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 msgid "time and categories to multiple devices." msgstr "juegos, tiempos de juego y categorías entre múltiples dispositivos." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 msgid "" "Remove \"Lutris\" service view; with library sync the \"Games\" view " "replaces it." msgstr "" -"Elimina la vista de servicio \"Lutris\", sustituida por la vista \"Juegos\" " -"con la sincronización de biblioteca." +"Eliminada la vista de servicio \"Lutris\", sustituida por la vista " +"\"Juegos\" con la sincronización de biblioteca." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 msgid "" "Torturous and sadistic options for multi-GPUs that were half broken and " "understood by no one have been replaced by a simple GPU selector." msgstr "" -"Las opciones tortuosas y salvajes para múltiples GPU que estaban medio rotas " -"y nadie entendía se han sustituido por un simple selector de GPU." +"Las opciones tortuosas y salvajes para GPUs múltiples que estaban medio " +"rotas y nadie entendía se han sustituido por un simple selector de GPU." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 msgid "" "EXPERIMENTAL support for umu, which allows running games with Proton and" msgstr "" "Soporte EXPERIMENTAL para umu, que permite ejecutar juegos con Proton y" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 msgid "" "Pressure Vessel. Using Proton in Lutris without umu is no longer possible." -msgstr "Pressure Vessel. Ya no es posible usar Proton en Lutris sin umu." +msgstr "Pressure Vessel. Ya no se puede usar Proton en Lutris sin umu." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 msgid "" "Better and sensible sorting for games (sorting by playtime or last played no " "longer needs to be reversed)" msgstr "" -"Mejor ordenación de juegos y más razonable (ya no es necesario invertir la " +"Ordenación de juegos mejor y más razonable (ya no es necesario invertir la " "ordenación por tiempo de juego o última vez jugado)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 msgid "Support the \"Categories\" command when you select multiple games" msgstr "" "Soporte para el comando \"Categorías\" cuando seleccionas múltiples juegos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 msgid "Notification bar when your Lutris is no longer supported" msgstr "Ya no se soporta la barra de notificación cuando Lutris" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 msgid "Improved error dialog." msgstr "Diálogo de error mejorado." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" msgstr "Añade el ejecutor Vita3k (gracias @ltsAllAboutTheCode)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 msgid "Add Supermodel runner" msgstr "Añade el ejecutor Supermodel" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 msgid "WUA files are now supported in Cemu" -msgstr "Los archivos WUA ya están soportados en Cemu" +msgstr "Cemu ya soporta archivos WUA" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 msgid "" "\"Show Hidden Games\" now displays the hidden games in a separate view, and " "re-hides them as soon as you leave it." @@ -154,32 +277,32 @@ msgstr "" "\"Mostrar juegos ocultos\" ahora muestra los juegos ocultos en una vista " "separada y los vuelve a ocultar al abandonarla." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 msgid "Support transparent PNG files for custom banner and cover-art" msgstr "" "Soporte de archivos PNG transparentes para las pancartas personalizadas y " "las portadas" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 msgid "Images are now downloaded for manually added games." msgstr "Ahora se descargan las imágenes de los juegos añadidos manualmente." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," msgstr "" "Se desestiman los archivos 'exe', 'main_file' o 'iso' colocados en la raíz " "del guion," -#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 msgid "all lutris.net installers have been updated accordingly." msgstr "" "todos los instaladores de lutris.net se han actualizado en consecuencia." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 msgid "Deprecate libstrangle and xgamma support." msgstr "Desestimado el soporte de libstrangle y xgamma." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:55 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 msgid "" "Deprecate DXVK state cache feature (it was never used and is no longer " "relevant to DXVK 2)" @@ -187,33 +310,34 @@ msgstr "" "Se desestima la funcionalidad de caché de estado de DXVK (nunca utilizada y " "ahora irrelevante para DXVK 2)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 msgid "Fix bug that prevented installers to complete" -msgstr "Corrige un error que evitaba que se completaran las instalaciones" +msgstr "Corregido un error que evitaba que se completaran las instalaciones" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 msgid "Better handling of Steam configurations for the Steam account picker" msgstr "" "Mejor gestión de las configuraciones de Steam en el selector de cuentas de " "Steam" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 msgid "Load game library in a background thread" msgstr "Cargar la biblioteca de juegos en otro hilo en segundo plano" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 msgid "" "Fix some crashes happening when using Wayland and a high DPI gaming mouse" msgstr "" -"Corrige algunos bloqueos que ocurrían cuando se usaba Wayland y un ratón " +"Corregidos algunos bloqueos que ocurrían cuando se usaba Wayland y un ratón " "para juegos con alto DPI" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 msgid "Fix crash when opening the system preferences tab for a game" msgstr "" -"Corrige un fallo al abrir la pestaña de preferencias del sistema de un juego" +"Corregido un fallo al abrir la pestaña de preferencias del sistema de un " +"juego" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 msgid "" "Reduced the locales list to a predefined one (let us know if you need yours " "added)" @@ -221,16 +345,16 @@ msgstr "" "Reducida la lista de locales a una predefinida (háganos saber si necesita " "añadir alguno)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 msgid "Fix Lutris not expanding \"~\" in paths" -msgstr "Corrige que Lutris no expanda \"~\" en las rutas" +msgstr "Corregido que Lutris no expanda \"~\" en las rutas" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 msgid "Download runtime components from the main window," msgstr "" "Descarga los componentes en tiempo de ejecución desde la ventana principal," -#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 msgid "" "the \"updating runtime\" dialog appearing before Lutris opens has been " "removed" @@ -238,49 +362,49 @@ msgstr "" "se ha eliminado el diálogo \"actualizando tiempo de ejecución\" que aparecía " "tras abrir Lutris" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 msgid "" "Add the ability to open a location in your file browser from file picker " "widgets" msgstr "" -"Añade la posibilidad de abrir un una ubicación en su gestor de archivos " -"desde el selector de archivos" +"Añadida la posibilidad de abrir una ubicación en su gestor de archivos desde " +"el selector de archivos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 msgid "" "Add the ability to select, remove, or stop multiple games in the Lutris " "window" msgstr "" -"Añade la posibilidad de seleccionar, eliminar o parar múltiples juegos en la " -"ventana de Lutris" +"Añadida la posibilidad de seleccionar, eliminar o parar múltiples juegos en " +"la ventana de Lutris" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 msgid "" "Redesigned 'Uninstall Game' dialog now completely removes games by default" msgstr "" -"El diálogo rediseñado 'Desinstalar juego' ahora elimina completamente los " -"juegos de forma predeterminada" +"Se ha rediseñado el diálogo 'Desinstalar juego' para eliminar completamente " +"los juegos de forma predeterminada" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 msgid "Fix the export / import feature" -msgstr "Arregla la funcionalidad de exportar / importar" +msgstr "Arreglada la funcionalidad de exportar / importar" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 msgid "Show an animation when a game is launched" msgstr "Muestra una animación cuando se lanza un juego" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 msgid "" "Add the ability to disable Wine auto-updates at the expense of losing support" msgstr "" -"Añade la posibilidad de desactivar las auto-actualizaciones de Wine a " -"expensas de perder el soporte" +"Añadida la posibilidad de desactivar las actualizaciones automáticas de Wine " +"a expensas de perder el soporte" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 msgid "Add playtime editing in the game preferences" -msgstr "Añade la edición del tiempo de juego en las preferencias del juego" +msgstr "Añadida edición del tiempo de juego en las preferencias del juego" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:84 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 msgid "" "Move game files, runners to the trash instead of deleting them they are " "uninstalled" @@ -288,144 +412,145 @@ msgstr "" "Mueve los archivos del juego y los ejecutores a la papelera en lugar de " "eliminarlos cuando se desinstalan" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:85 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 msgid "" "Add \"Updates\" tab in Preferences control and check for updates and correct " "missing media" msgstr "" -"Añade la pestaña \"Actualizaciones\" en \"Preferencias\" para controlar y " +"Añadida pestaña \"Actualizaciones\" en \"Preferencias\" para controlar y " "buscar actualizaciones y corregir medios ausentes" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:86 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 msgid "in the 'Games' view." msgstr "en la vista 'Juegos'." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:87 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 msgid "" "Add \"Storage\" tab in Preferences to control game and installer cache " "location" msgstr "" -"Añade la pestaña \"Almacenamiento\" en \"Preferencias\" para gestionar la " -"ubicación de la caché de juego e instalador" +"Añadida pestaña \"Almacenamiento\" en \"Preferencias\" para gestionar la " +"ubicación de las cachés de juego e instalador" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:88 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 msgid "" "Expand \"System\" tab in Preferences with more system information but less " "brown." msgstr "" -"Amplía la pestaña \"Sistema\" en \"Preferencias\" con más información del " +"Ampliada la pestaña \"Sistema\" en \"Preferencias\" con más información del " "sistema y menos marrón." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:89 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 msgid "Add \"Run Task Manager\" command for Wine games" msgstr "" -"Añade el comando \"Ejecutar administrador de tareas\" en los juegos de Wine" +"Añadido el comando \"Ejecutar administrador de tareas\" en los juegos de Wine" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 msgid "Add two new, smaller banner sizes for itch.io games." -msgstr "Añade dos pancartas nuevas y más pequeñas para los juegos de itch.io." +msgstr "" +"Añadidos dos tamaños más pequeños de pancarta para los juegos de itch.io." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 msgid "" "Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" msgstr "" -"Ignora la configuración de escritorio virtual de Wine al usar Wine-GE/Proton " -"para evitar bloqueos" +"Ignorar la configuración de escritorio virtual de Wine al usar Wine-GE/" +"Proton para evitar bloqueos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 msgid "Ignore MangoHUD setting when launching Steam to avoid crash" msgstr "" -"Ignora la configuración de MangoHUD cuando se ejecuta Steam para evitar " +"Ignorar la configuración de MangoHUD cuando se ejecuta Steam para evitar " "bloqueos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:93 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 msgid "Sync Steam playtimes with the Lutris library" msgstr "Sincronizar los tiempos de juego de Steam con la biblioteca de Lutris" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 msgid "Add Steam account switcher to handle multiple Steam accounts" -msgstr "Añade un selector de cuentas de Steam para gestionar varias de ellas" +msgstr "Añadido un selector de cuentas de Steam para gestionar varias de ellas" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 msgid "on the same device." msgstr "en el mismo dispositivo." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 msgid "Add user defined tags / categories" -msgstr "Añadir etiquetas / categorías definidas por el usuario" +msgstr "Añadidas etiquetas / categorías definidas por el usuario" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 msgid "Group every API calls for runtime updates in a single one" msgstr "" "Agrupa en una todas las llamadas a las API para actualizar los tiempos de " "ejecución" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 msgid "Download appropriate DXVK and VKD3D versions based on" msgstr "Descargar las versiones de DXKV y VKD3D apropiadas en basándose en" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 msgid "the available GPU PCI IDs" msgstr "los id. PCI de GPU disponibles" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 msgid "" "EA App integration. Your Origin games and saves can be manually imported" msgstr "" "Integración con EA App. Los juegos y partidas guardadas de Origin se pueden " "importar manualmente" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 msgid "from your Origin prefix." -msgstr "desde el prefijo de Origin." +msgstr "desde tu prefijo de Origin." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 msgid "Add integration with ScummVM local library" -msgstr "Añade integración con la biblioteca local de ScummVM" +msgstr "Añadida integración con la biblioteca local de ScummVM" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 msgid "Download Wine-GE updates when Lutris starts" -msgstr "Descarga las actualizaciones de Wine-GE al iniciar Lutris" +msgstr "Descargar las actualizaciones de Wine-GE al iniciar Lutris" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 msgid "Group GOG and Amazon download in a single progress bar" -msgstr "Agrupa la descarga de GOG y de Amazon en una única barra de progreso" +msgstr "Agrupada la descarga de GOG y de Amazon en una única barra de progreso" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 msgid "Fix blank login window on online services such as GOG or EGS" msgstr "" -"Corrige la ventana de login en blanco en servicios en línea como GOG o EGS" +"Corrgida la ventana de login en blanco en servicios en línea como GOG o EGS" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 msgid "Add a sort name field" -msgstr "Añade un campo de ordenación de nombres" +msgstr "Añadido un campo de nombre para la ordenación" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 msgid "Yuzu and xemu now use an AppImage" msgstr "Yuzu y xemu ahora usan AppImage" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 msgid "Experimental support for Flatpak provided runners" msgstr "Soporte experimental para ejecutores proporcionados en Flatpak" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 msgid "Header-bar search for configuration options" msgstr "" "Búsqueda en la barra de encabezamiento para las opciones de configuración" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 msgid "Support for Gamescope 3.12" msgstr "Soporte para Gamescope 3.12" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 msgid "Missing games show an additional badge" msgstr "Los juegos que faltan muestran un símbolo adicional" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 msgid "Add missing dependency on python3-gi-cairo for Debian packages" -msgstr "Añade dependencia ausente de python3-gi-cairo a paquetes Debian" +msgstr "Añadida dependencia ausente de python3-gi-cairo a los paquetes Debian" -#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:783 +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 msgid "About Lutris" msgstr "Acerca de Lutris" @@ -490,23 +615,20 @@ msgstr "Nombre de usuario" msgid "Search..." msgstr "Buscar..." -#: share/lutris/ui/lutris-window.ui:113 -msgid "" -"Login to Lutris.net to view your game " -"library" -msgstr "" -"Conectarse a Lutris.net para ver la " -"biblioteca de juegos" +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "Reducir el tamaño del texto" -#: share/lutris/ui/lutris-window.ui:126 -msgid "Login" -msgstr "Iniciar sesión" +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "Aumentar el tamaño del texto" -#: share/lutris/ui/lutris-window.ui:141 -msgid "Turn on Library Sync" -msgstr "Activar sincronización de biblioteca" +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" +msgstr "" +"Conectarse a Lutris para sincronizar tu biblioteca de juegos" -#: share/lutris/ui/lutris-window.ui:179 +#: share/lutris/ui/lutris-window.ui:149 msgid "" "Lutris %s is no longer supported. Download %s here!" @@ -514,7 +636,7 @@ msgstr "" "Ya no hay soporte para Lutris %s. Descarga %s aquí" -#: share/lutris/ui/lutris-window.ui:312 +#: share/lutris/ui/lutris-window.ui:282 msgid "" "Enter the name of a game to search for, or use search terms:\n" "\n" @@ -547,83 +669,79 @@ msgstr "" "2 días.\n" "directory:game/dir\tSolamente juegos en esta ruta." -#: share/lutris/ui/lutris-window.ui:328 lutris/gui/lutriswindow.py:701 +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:817 msgid "Search games" msgstr "Buscar juegos" -#: share/lutris/ui/lutris-window.ui:353 +#: share/lutris/ui/lutris-window.ui:346 msgid "Add Game" msgstr "Añadir juego" -#: share/lutris/ui/lutris-window.ui:385 +#: share/lutris/ui/lutris-window.ui:378 msgid "Toggle View" msgstr "Alternar vista" -#: share/lutris/ui/lutris-window.ui:483 +#: share/lutris/ui/lutris-window.ui:476 msgid "Zoom " msgstr "Ampliación " -#: share/lutris/ui/lutris-window.ui:525 +#: share/lutris/ui/lutris-window.ui:518 msgid "Sort Installed First" msgstr "Mostrar instalados primero" -#: share/lutris/ui/lutris-window.ui:539 +#: share/lutris/ui/lutris-window.ui:532 msgid "Reverse order" msgstr "Orden inverso" -#: share/lutris/ui/lutris-window.ui:565 +#: share/lutris/ui/lutris-window.ui:558 #: lutris/gui/config/edit_category_games.py:35 -#: lutris/gui/config/edit_saved_search.py:39 -#: lutris/gui/config/game_common.py:180 lutris/gui/views/list.py:65 -#: lutris/gui/views/list.py:198 +#: lutris/gui/config/edit_saved_search.py:47 +#: lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:64 +#: lutris/gui/views/list.py:199 msgid "Name" msgstr "Nombre" -#: share/lutris/ui/lutris-window.ui:580 lutris/gui/views/list.py:67 +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:65 msgid "Year" msgstr "Año" -#: share/lutris/ui/lutris-window.ui:595 lutris/gui/views/list.py:70 +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:68 msgid "Last Played" msgstr "Jugado por última vez" -#: share/lutris/ui/lutris-window.ui:610 lutris/gui/views/list.py:72 +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:70 msgid "Installed At" msgstr "Fecha de instalación" -#: share/lutris/ui/lutris-window.ui:625 lutris/gui/views/list.py:71 +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:69 msgid "Play Time" msgstr "Tiempo de juego" -#: share/lutris/ui/lutris-window.ui:654 +#: share/lutris/ui/lutris-window.ui:647 msgid "_Installed Games Only" msgstr "Sólo juegos _instalados" -#: share/lutris/ui/lutris-window.ui:669 +#: share/lutris/ui/lutris-window.ui:662 msgid "Show Side _Panel" -msgstr "Mostrar panel _lateral" +msgstr "Mostrar _panel lateral" -#: share/lutris/ui/lutris-window.ui:684 +#: share/lutris/ui/lutris-window.ui:677 msgid "Show _Hidden Games" msgstr "Mostrar juegos _ocultos" -#: share/lutris/ui/lutris-window.ui:702 -msgid "Add Games" -msgstr "Añadir juegos" - -#: share/lutris/ui/lutris-window.ui:716 +#: share/lutris/ui/lutris-window.ui:698 msgid "Preferences" msgstr "Preferencias" -#: share/lutris/ui/lutris-window.ui:741 +#: share/lutris/ui/lutris-window.ui:723 msgid "Discord" msgstr "Discord" -#: share/lutris/ui/lutris-window.ui:755 +#: share/lutris/ui/lutris-window.ui:737 msgid "Lutris forums" msgstr "Foros de Lutris" -#: share/lutris/ui/lutris-window.ui:769 +#: share/lutris/ui/lutris-window.ui:751 msgid "Make a donation" msgstr "Hacer una donación" @@ -644,9 +762,9 @@ msgid "Remove Games" msgstr "Eliminar juegos" #: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 -#: lutris/gui/addgameswindow.py:535 lutris/gui/addgameswindow.py:538 -#: lutris/gui/dialogs/__init__.py:168 lutris/gui/dialogs/runner_install.py:275 -#: lutris/gui/installerwindow.py:97 lutris/gui/installerwindow.py:1029 +#: lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 +#: lutris/gui/dialogs/__init__.py:172 lutris/gui/dialogs/runner_install.py:275 +#: lutris/gui/installerwindow.py:103 lutris/gui/installerwindow.py:1087 #: lutris/gui/widgets/download_collection_progress_box.py:153 #: lutris/gui/widgets/download_progress_box.py:116 msgid "Cancel" @@ -661,15 +779,34 @@ msgstr "Eliminar" msgid "never" msgstr "nunca" -#: lutris/exceptions.py:25 +#: lutris/cache.py:84 +#, python-format +msgid "" +"The cache path '%s' does not exist, but its parent does so it will be " +"created when needed." +msgstr "" +"La ruta de caché '%s' no existe pero su ruta padre sí, por lo que se creará " +"cuando sea necesario." + +#: lutris/cache.py:88 +#, python-format +msgid "" +"The cache path %s does not exist, nor does its parent, so it won't be " +"created." +msgstr "" +"La ruta de caché %s no existe ni tampoco su ruta padre, por lo que no se " +"creará." + +#: lutris/exceptions.py:36 +#, python-brace-format msgid "The directory {} could not be found" msgstr "No se encuentra el directorio {}" -#: lutris/exceptions.py:39 +#: lutris/exceptions.py:50 msgid "A bios file is required to run this game" msgstr "Se necesita un archivo de BIOS para ejecutar este juego" -#: lutris/exceptions.py:52 +#: lutris/exceptions.py:63 #, python-brace-format msgid "" "The following {arch} libraries are required but are not installed on your " @@ -680,28 +817,29 @@ msgstr "" "su sistema:\n" "{libs}" -#: lutris/exceptions.py:76 lutris/exceptions.py:88 +#: lutris/exceptions.py:87 lutris/exceptions.py:99 +#, python-brace-format msgid "The file {} could not be found" msgstr "No se encuentra el archivo {}" -#: lutris/exceptions.py:90 +#: lutris/exceptions.py:101 msgid "" "This game has no executable set. The install process didn't finish properly." msgstr "" "Este juego no tiene un ejecutable establecido. El proceso de instalación no " "ha terminado correctamente." -#: lutris/exceptions.py:105 +#: lutris/exceptions.py:116 msgid "Your ESYNC limits are not set correctly." msgstr "Los límites de ESYNC no están correctamente establecidos." -#: lutris/exceptions.py:115 +#: lutris/exceptions.py:126 msgid "" "Your kernel is not patched for fsync. Please get a patched kernel to use " "fsync." msgstr "" -"Su kernel no está parcheado para fsync. Consiga un kernel parcheado para " -"usar fsync." +"Su kernel no está parcheado con fsync. Consiga un kernel parcheado para usar " +"fsync." #: lutris/game_actions.py:190 lutris/game_actions.py:228 #: lutris/gui/widgets/game_bar.py:217 @@ -710,7 +848,7 @@ msgstr "Detener" #: lutris/game_actions.py:192 lutris/game_actions.py:233 #: lutris/gui/config/edit_game_categories.py:18 -#: lutris/gui/config/edit_saved_search.py:59 lutris/gui/widgets/sidebar.py:400 +#: lutris/gui/config/edit_saved_search.py:72 lutris/gui/widgets/sidebar.py:400 msgid "Categories" msgstr "Categorías" @@ -752,7 +890,7 @@ msgstr "Configurar" msgid "Browse files" msgstr "Examinar archivos" -#: lutris/game_actions.py:240 lutris/game_actions.py:464 +#: lutris/game_actions.py:240 lutris/game_actions.py:467 #: lutris/gui/dialogs/runner_install.py:284 #: lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:221 msgid "Install" @@ -770,12 +908,12 @@ msgstr "Instalar contenido descargable" msgid "Install updates" msgstr "Instalar actualizaciones" -#: lutris/game_actions.py:244 lutris/game_actions.py:465 +#: lutris/game_actions.py:244 lutris/game_actions.py:468 #: lutris/gui/widgets/game_bar.py:197 msgid "Locate installed game" -msgstr "Localizar un juego instalado" +msgstr "Ubicar un juego instalado" -#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:412 +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:461 msgid "Create desktop shortcut" msgstr "Crear un acceso directo en el escritorio" @@ -783,7 +921,7 @@ msgstr "Crear un acceso directo en el escritorio" msgid "Delete desktop shortcut" msgstr "Eliminar el acceso directo del escritorio" -#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:419 +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:468 msgid "Create application menu shortcut" msgstr "Crear un acceso directo en el menú de aplicaciones" @@ -791,15 +929,15 @@ msgstr "Crear un acceso directo en el menú de aplicaciones" msgid "Delete application menu shortcut" msgstr "Eliminar el acceso directo del menú de aplicaciones" -#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:427 -msgid "Create steam shortcut" +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:476 +msgid "Create Steam shortcut" msgstr "Crear un acceso directo en Steam" #: lutris/game_actions.py:250 -msgid "Delete steam shortcut" -msgstr "Eliminar el acceso directo de Steam" +msgid "Delete Steam shortcut" +msgstr "Eliminar un acceso directo de Steam" -#: lutris/game_actions.py:251 lutris/game_actions.py:466 +#: lutris/game_actions.py:251 lutris/game_actions.py:469 msgid "View on Lutris.net" msgstr "Ver en Lutris.net" @@ -807,11 +945,11 @@ msgstr "Ver en Lutris.net" msgid "Duplicate" msgstr "Duplicar" -#: lutris/game_actions.py:333 +#: lutris/game_actions.py:336 msgid "This game has no installation directory" msgstr "Este juego no tiene directorio de instalación" -#: lutris/game_actions.py:337 +#: lutris/game_actions.py:340 #, python-format msgid "" "Can't open %s \n" @@ -820,7 +958,7 @@ msgstr "" "No se puede abrir %s \n" "La carpeta no existe." -#: lutris/game_actions.py:387 +#: lutris/game_actions.py:390 #, python-format msgid "" "Do you wish to duplicate %s?\n" @@ -830,46 +968,46 @@ msgid "" msgstr "" "¿Quiere duplicar %s?\n" "Se duplicará la configuración, pero no los archivos del juego.\n" -"Introduzca el nuevo nombre de la copia:" +"Introduzca el nombre de la copia:" -#: lutris/game_actions.py:392 +#: lutris/game_actions.py:395 msgid "Duplicate game?" msgstr "¿Duplicar el juego?" #. use primary configuration -#: lutris/game_actions.py:443 +#: lutris/game_actions.py:446 msgid "Select shortcut target" msgstr "Escoger destino del acceso directo" -#: lutris/game.py:316 lutris/game.py:503 +#: lutris/game.py:321 lutris/game.py:508 msgid "Invalid game configuration: Missing runner" msgstr "Configuración del juego incorrecta: falta el ejecutor" -#: lutris/game.py:382 +#: lutris/game.py:387 msgid "No updates found" msgstr "No hay actualizaciones" -#: lutris/game.py:401 +#: lutris/game.py:406 msgid "No DLC found" msgstr "No hay expansiones" -#: lutris/game.py:435 +#: lutris/game.py:440 msgid "Uninstall the game before deleting" msgstr "Desinstalar el juego antes de eliminarlo" -#: lutris/game.py:501 +#: lutris/game.py:506 msgid "Tried to launch a game that isn't installed." msgstr "Se ha intentado lanzar un juego que no está instalado." -#: lutris/game.py:535 +#: lutris/game.py:540 msgid "Unable to find Xephyr, install it or disable the Xephyr option" msgstr "No se ha encontrado Xephyr, instálelo o desactive la opción" -#: lutris/game.py:551 +#: lutris/game.py:556 msgid "Unable to find Antimicrox, install it or disable the Antimicrox option" msgstr "No se ha encontrado Antimicrox, instálelo o desactive la opción" -#: lutris/game.py:588 +#: lutris/game.py:593 #, python-format msgid "" "The selected terminal application could not be launched:\n" @@ -878,11 +1016,11 @@ msgstr "" "No se ha podido lanzar la aplicación de terminal escogida:\n" "%s" -#: lutris/game.py:913 +#: lutris/game.py:896 msgid "Error lauching the game:\n" msgstr "Error al lanzar el juego:\n" -#: lutris/game.py:1019 +#: lutris/game.py:1002 #, python-format msgid "" "Error: Missing shared library.\n" @@ -893,14 +1031,14 @@ msgstr "" "\n" "%s" -#: lutris/game.py:1025 +#: lutris/game.py:1008 msgid "" "Error: A different Wine version is already using the same Wine prefix." msgstr "" "Error: Una versión diferente de Wine ya está utilizando el mismo prefijo " "de Wine." -#: lutris/game.py:1043 +#: lutris/game.py:1026 #, python-format msgid "Lutris can't move '%s' to a location inside of itself, '%s'." msgstr "Lutris no puede mover '%s' a una ubicación dentro de sí misma '%s'." @@ -930,12 +1068,12 @@ msgid "Run a YAML install script" msgstr "Ejecutar un guion de instalación YAML" #: lutris/gui/addgameswindow.py:45 -msgid "Import a ROM" -msgstr "Importar una ROM" +msgid "Import ROMs" +msgstr "Importar ROMs" #: lutris/gui/addgameswindow.py:46 -msgid "Import a ROM that is known to Lutris" -msgstr "Importar una ROM reconocida por Lutris" +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "Importar ROMs referenciadas en TOSEC, No-intro o Redump" #: lutris/gui/addgameswindow.py:52 msgid "Add locally installed game" @@ -950,18 +1088,18 @@ msgid "Add games to Lutris" msgstr "Añadir juegos a Lutris" #. Header bar buttons -#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:90 +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:96 msgid "Back" msgstr "Volver" #. Continue Button -#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:520 -#: lutris/gui/installerwindow.py:100 lutris/gui/installerwindow.py:977 +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 +#: lutris/gui/installerwindow.py:106 lutris/gui/installerwindow.py:1035 msgid "_Continue" msgstr "_Continuar" -#: lutris/gui/addgameswindow.py:111 lutris/gui/config/boxes.py:552 -#: lutris/gui/config/storage_box.py:53 +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 +#: lutris/gui/config/widget_generator.py:655 msgid "Select folder" msgstr "Escoger carpeta" @@ -973,11 +1111,11 @@ msgstr "Identificador" msgid "Select script" msgstr "Escoger guion" -#: lutris/gui/addgameswindow.py:127 -msgid "Select ROM file" -msgstr "Escoger archivo ROM" +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "Escoger ROMs" -#: lutris/gui/addgameswindow.py:202 +#: lutris/gui/addgameswindow.py:204 msgid "" "Lutris will search Lutris.net for games matching the terms you enter, and " "any that it finds will appear here.\n" @@ -992,29 +1130,29 @@ msgstr "" "Cuando haga clic en uno de los juegos aparecerá la ventana del instalador " "para realizar la instalación." -#: lutris/gui/addgameswindow.py:223 +#: lutris/gui/addgameswindow.py:225 msgid "Search Lutris.net" msgstr "Buscar en Lutris.net" -#: lutris/gui/addgameswindow.py:254 +#: lutris/gui/addgameswindow.py:256 msgid "No results" msgstr "Sin resultados" -#: lutris/gui/addgameswindow.py:256 +#: lutris/gui/addgameswindow.py:258 #, python-format msgid "Showing %s results" msgstr "Mostrando %s resultados" -#: lutris/gui/addgameswindow.py:258 +#: lutris/gui/addgameswindow.py:260 #, python-format msgid "%s results, only displaying first %s" msgstr "%s resultados, solo se muestran arlos primeros %s" -#: lutris/gui/addgameswindow.py:287 +#: lutris/gui/addgameswindow.py:289 msgid "Game name" msgstr "Nombre del juego" -#: lutris/gui/addgameswindow.py:303 +#: lutris/gui/addgameswindow.py:305 msgid "" "Enter the name of the game you will install.\n" "\n" @@ -1037,64 +1175,68 @@ msgstr "" "Para una mejor integración, así como diseños de portada, puede proporcionar " "el identificador de Lutris para el juego si lo conoce." -#: lutris/gui/addgameswindow.py:312 +#: lutris/gui/addgameswindow.py:314 msgid "Installer preset:" msgstr "Preajuste del instalador:" -#: lutris/gui/addgameswindow.py:315 +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "Windows 11 64-bit" + +#: lutris/gui/addgameswindow.py:318 msgid "Windows 10 64-bit (Default)" msgstr "Windows 10 64-bit (predeterminado)" -#: lutris/gui/addgameswindow.py:316 +#: lutris/gui/addgameswindow.py:319 msgid "Windows 7 64-bit" msgstr "Windows 7 64-bit" -#: lutris/gui/addgameswindow.py:317 +#: lutris/gui/addgameswindow.py:320 msgid "Windows XP 32-bit" msgstr "Windows XP 32-bit" -#: lutris/gui/addgameswindow.py:318 +#: lutris/gui/addgameswindow.py:321 msgid "Windows XP + 3DFX 32-bit" msgstr "Windows XP + 3DFX 32-bit" -#: lutris/gui/addgameswindow.py:319 +#: lutris/gui/addgameswindow.py:322 msgid "Windows 98 32-bit" msgstr "Windows 98 32-bit" -#: lutris/gui/addgameswindow.py:320 +#: lutris/gui/addgameswindow.py:323 msgid "Windows 98 + 3DFX 32-bit" msgstr "Windows 98 + 3DFX 32-bit" -#: lutris/gui/addgameswindow.py:331 +#: lutris/gui/addgameswindow.py:334 msgid "Locale:" msgstr "Local:" -#: lutris/gui/addgameswindow.py:356 +#: lutris/gui/addgameswindow.py:359 msgid "Select setup file" msgstr "Escoger archivo del instalador" -#: lutris/gui/addgameswindow.py:358 lutris/gui/addgameswindow.py:440 -#: lutris/gui/addgameswindow.py:481 lutris/gui/installerwindow.py:1012 +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 +#: lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1070 msgid "_Install" msgstr "_Instalar" -#: lutris/gui/addgameswindow.py:374 +#: lutris/gui/addgameswindow.py:377 msgid "You must provide a name for the game you are installing." msgstr "Debe proporcionar un nombre para el juego que está instalando." -#: lutris/gui/addgameswindow.py:394 +#: lutris/gui/addgameswindow.py:397 msgid "Setup file" msgstr "Archivo del instalador" -#: lutris/gui/addgameswindow.py:400 +#: lutris/gui/addgameswindow.py:403 msgid "Select the setup file" msgstr "Escoger archivo del instalador" -#: lutris/gui/addgameswindow.py:421 +#: lutris/gui/addgameswindow.py:424 msgid "Script file" msgstr "Archivo de guion" -#: lutris/gui/addgameswindow.py:427 +#: lutris/gui/addgameswindow.py:430 msgid "" "Lutris install scripts are YAML files that guide Lutris through the " "installation process.\n" @@ -1112,66 +1254,66 @@ msgstr "" "Cuando haga clic en 'Instalar' abajo, aparecerá la ventana del instalador y " "se cargará el guion, el cual guiará el proceso desde ese punto." -#: lutris/gui/addgameswindow.py:438 +#: lutris/gui/addgameswindow.py:441 msgid "Select a Lutris installer" msgstr "Escoja un instalador de Lutris" -#: lutris/gui/addgameswindow.py:445 +#: lutris/gui/addgameswindow.py:448 msgid "You must select a script file to install." msgstr "Debe escoger un archivo de guion para instalar." -#: lutris/gui/addgameswindow.py:447 lutris/gui/addgameswindow.py:488 +#: lutris/gui/addgameswindow.py:450 #, python-format msgid "No file exists at '%s'." msgstr "No existen archivos en '%s'." -#: lutris/gui/addgameswindow.py:462 lutris/runners/atari800.py:37 -#: lutris/runners/jzintv.py:21 lutris/runners/libretro.py:73 -#: lutris/runners/mame.py:80 lutris/runners/mednafen.py:59 -#: lutris/runners/mupen64plus.py:21 lutris/runners/o2em.py:47 -#: lutris/runners/openmsx.py:20 lutris/runners/osmose.py:20 -#: lutris/runners/snes9x.py:29 lutris/runners/vice.py:37 -#: lutris/runners/yuzu.py:23 +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 +#: lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 +#: lutris/runners/libretro.py:76 lutris/runners/mame.py:80 +#: lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 +#: lutris/runners/o2em.py:47 lutris/runners/openmsx.py:20 +#: lutris/runners/osmose.py:20 lutris/runners/snes9x.py:29 +#: lutris/runners/vice.py:37 lutris/runners/yuzu.py:23 msgid "ROM file" msgstr "Archivo ROM" -#: lutris/gui/addgameswindow.py:468 +#: lutris/gui/addgameswindow.py:471 msgid "" -"Lutris will identify a ROM via its MD5 hash and download game information " +"Lutris will identify ROMs via its MD5 hash and download game information " "from Lutris.net.\n" "\n" -"The ROM data used for this comes from the TOSEC project.\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" "\n" -"When you click 'Install' below, the process of installing the game will " +"When you click 'Install' below, the process of installing the games will " "begin." msgstr "" "Lutris identificará una ROM a través de su hash MD5 y descargará la " "información del juego desde Lutris.net.\n" "\n" -"Los datos de la ROM se obtienen del proyecto TOSEC.\n" +"Los datos de la ROM se obtienen del proyecto TOSEC, No-Intro y Redump.\n" "\n" "El proceso de instalación del juego comenzará al hacer clic en 'Instalar' " "abajo." -#: lutris/gui/addgameswindow.py:479 -msgid "Select a ROM file" -msgstr "Escoger un archivo ROM" +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "Escoger ROMs" -#: lutris/gui/addgameswindow.py:486 -msgid "You must select a ROM file to install." -msgstr "Debe escoger un archivo ROM para instalar." +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." +msgstr "Debe escoger las ROM a instalar." -#: lutris/gui/application.py:99 +#: lutris/gui/application.py:102 msgid "Do not run Lutris as root." msgstr "No ejecute Lutris como root." -#: lutris/gui/application.py:110 +#: lutris/gui/application.py:113 msgid "Your Linux distribution is too old. Lutris won't function properly." msgstr "" "Su distribución de Linux es demasiado antigua, Lutris no funcionará " "correctamente." -#: lutris/gui/application.py:116 +#: lutris/gui/application.py:119 msgid "" "Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" "If several games share the same identifier you can use the numerical ID " @@ -1181,117 +1323,117 @@ msgid "" msgstr "" "Ejecutar un juego directamente añadiendo el parámetro lutris:rungame/id-" "juego.\n" -"Si varios juegos comparten el mismo identificador, puede utilizar el ID " -"numérico (que se muestra al ejecutar lutris --list-games) y añadir lutris:" -"rungameid/id-numérico.\n" +"Si varios juegos comparten el mismo identificador puede utilizar el ID " +"numérico (que se muestra al ejecutar lutris --list-games) y añadir " +"lutris:rungameid/id-numérico.\n" "Para instalar un juego, añada lutris:install/id-juego." -#: lutris/gui/application.py:130 +#: lutris/gui/application.py:133 msgid "Print the version of Lutris and exit" msgstr "Mostrar la versión de Lutris y salir" -#: lutris/gui/application.py:138 +#: lutris/gui/application.py:141 msgid "Show debug messages" msgstr "Mostrar mensajes de depuración" -#: lutris/gui/application.py:146 +#: lutris/gui/application.py:149 msgid "Install a game from a yml file" msgstr "Instalar un juego desde un archivo yml" -#: lutris/gui/application.py:154 +#: lutris/gui/application.py:157 msgid "Force updates" msgstr "Forzar actualizaciones" -#: lutris/gui/application.py:162 +#: lutris/gui/application.py:165 msgid "Generate a bash script to run a game without the client" msgstr "Generar un guion de bash para ejecutar un juego sin el cliente" -#: lutris/gui/application.py:170 +#: lutris/gui/application.py:173 msgid "Execute a program with the Lutris Runtime" msgstr "Ejecutar un programa usando el tiempo de ejecución de Lutris" -#: lutris/gui/application.py:178 +#: lutris/gui/application.py:181 msgid "List all games in database" msgstr "Mostrar todos los juegos en la base de datos" -#: lutris/gui/application.py:186 +#: lutris/gui/application.py:189 msgid "Only list installed games" msgstr "Mostrar solo los juegos instalados" -#: lutris/gui/application.py:194 +#: lutris/gui/application.py:197 msgid "List available Steam games" msgstr "Mostrar juegos disponibles en Steam" -#: lutris/gui/application.py:202 +#: lutris/gui/application.py:205 msgid "List all known Steam library folders" msgstr "Mostrar todas las carpetas conocidas de la biblioteca de Steam" -#: lutris/gui/application.py:210 +#: lutris/gui/application.py:213 msgid "List all known runners" msgstr "Mostrar todos los ejecutores conocidos" -#: lutris/gui/application.py:218 +#: lutris/gui/application.py:221 msgid "List all known Wine versions" -msgstr "Mostrar todas las verisiones de Wine conocidas" +msgstr "Mostrar todas las versiones de Wine conocidas" -#: lutris/gui/application.py:226 +#: lutris/gui/application.py:229 msgid "List all games for all services in database" msgstr "Mostrar todos los juegos de todos los servicios en la base de datos" -#: lutris/gui/application.py:234 +#: lutris/gui/application.py:237 msgid "List all games for provided service in database" msgstr "" "Mostrar todos los juegos del servicio proporcionado en la base de datos" -#: lutris/gui/application.py:242 +#: lutris/gui/application.py:245 msgid "Install a Runner" msgstr "Instalar un ejecutor" -#: lutris/gui/application.py:250 +#: lutris/gui/application.py:253 msgid "Uninstall a Runner" msgstr "Desinstalar un ejecutor" -#: lutris/gui/application.py:258 +#: lutris/gui/application.py:261 msgid "Export a game" msgstr "Exportar un juego" -#: lutris/gui/application.py:266 lutris/gui/dialogs/game_import.py:23 +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 msgid "Import a game" msgstr "Importar un juego" -#: lutris/gui/application.py:275 +#: lutris/gui/application.py:278 msgid "Show statistics about a game saves" msgstr "Mostrar estadísticas sobre las partidas guardadas" -#: lutris/gui/application.py:283 +#: lutris/gui/application.py:286 msgid "Upload saves" msgstr "Enviar partidas guardadas" -#: lutris/gui/application.py:291 +#: lutris/gui/application.py:294 msgid "Verify status of save syncing" msgstr "Comprobar el estado de sincronización de las partidas guardadas" -#: lutris/gui/application.py:300 +#: lutris/gui/application.py:303 msgid "Destination path for export" msgstr "Ruta destino de la exportación" -#: lutris/gui/application.py:308 +#: lutris/gui/application.py:311 msgid "Display the list of games in JSON format" msgstr "Mostrar la lista de juegos en formato JSON" -#: lutris/gui/application.py:316 +#: lutris/gui/application.py:319 msgid "Reinstall game" msgstr "Reinstalar el juego" -#: lutris/gui/application.py:319 +#: lutris/gui/application.py:322 msgid "Submit an issue" msgstr "Abrir una incidencia" -#: lutris/gui/application.py:325 +#: lutris/gui/application.py:328 msgid "URI to open" msgstr "URI a abrir" -#: lutris/gui/application.py:411 +#: lutris/gui/application.py:413 msgid "No installer available." msgstr "No hay un instalador disponible." @@ -1358,8 +1500,7 @@ msgid "" "and store information to the lutris website so you can \n" "sync this data on multiple devices" msgstr "" -"Se enviará el tiempo de juego, jugado por última vez, ejecutor, " -"plataforma \n" +"Se enviará tiempo de juego, jugado por última vez, ejecutor, plataforma \n" "e información de la tienda al sitio web de Lutris para poder \n" "sincronizar estos datos entre múltiples dispositivos" @@ -1390,60 +1531,7 @@ msgstr "" msgid "Add a new game" msgstr "Añadir un juego nuevo" -#: lutris/gui/config/boxes.py:124 -msgid "No options available" -msgstr "No hay opciones disponibles" - -#: lutris/gui/config/boxes.py:197 -msgid "Reset option to global or default config" -msgstr "Restablecer la opción según la configuración global o predeterminada" - -#: lutris/gui/config/boxes.py:219 -msgid "Default: " -msgstr "Predeterminado: " - -#: lutris/gui/config/boxes.py:223 -msgid "" -"(Italic indicates that this option is modified in a lower configuration " -"level.)" -msgstr "" -"(La cursiva indica que esta opción se modifica en un nivel de " -"configuración inferior.)" - -#: lutris/gui/config/boxes.py:413 -#, python-format -msgid "%s (default)" -msgstr "%s (predeterminado)" - -#: lutris/gui/config/boxes.py:509 lutris/gui/widgets/common.py:49 -msgid "Select file" -msgstr "Escoger archivo" - -#: lutris/gui/config/boxes.py:599 -msgid "Add Files" -msgstr "Añadir archivos" - -#: lutris/gui/config/boxes.py:620 -msgid "Files" -msgstr "Archivos" - -#: lutris/gui/config/boxes.py:637 -msgid "Select files" -msgstr "Escoger archivos" - -#: lutris/gui/config/boxes.py:640 -msgid "_Add" -msgstr "_Añadir" - -#: lutris/gui/config/boxes.py:641 lutris/gui/dialogs/__init__.py:434 -#: lutris/gui/dialogs/__init__.py:460 lutris/gui/dialogs/issue.py:74 -#: lutris/gui/widgets/common.py:167 -#: lutris/gui/widgets/download_collection_progress_box.py:56 -#: lutris/gui/widgets/download_progress_box.py:64 -msgid "_Cancel" -msgstr "_Cancelar" - -#: lutris/gui/config/boxes.py:781 +#: lutris/gui/config/boxes.py:211 msgid "" "If modified, these options supersede the same options from the base runner " "configuration." @@ -1451,7 +1539,7 @@ msgstr "" "Si se modifican, estas opciones sustituyen a las mismas opciones de la " "configuración básica del ejecutor." -#: lutris/gui/config/boxes.py:807 +#: lutris/gui/config/boxes.py:237 msgid "" "If modified, these options supersede the same options from the base runner " "configuration, which themselves supersede the global preferences." @@ -1460,7 +1548,7 @@ msgstr "" "configuración básica del ejecutor, que a su vez sustituyen a las " "preferencias globales." -#: lutris/gui/config/boxes.py:814 +#: lutris/gui/config/boxes.py:244 msgid "" "If modified, these options supersede the same options from the global " "preferences." @@ -1468,8 +1556,34 @@ msgstr "" "Si se modifican, estas opciones sustituyen a las mismas opciones de las " "preferencias globales." +#: lutris/gui/config/boxes.py:293 +msgid "Reset option to global or default config" +msgstr "Restablecer la opción según la configuración global o predeterminada" + +#: lutris/gui/config/boxes.py:323 +msgid "" +"(Italic indicates that this option is modified in a lower configuration " +"level.)" +msgstr "" +"(La cursiva indica que esta opción se modifica en un nivel de " +"configuración inferior.)" + +#: lutris/gui/config/boxes.py:336 +#, python-format +msgid "No options match '%s'" +msgstr "Ninguna opción corresponde con '%s'" + +#. type:ignore[attr-defined] +#: lutris/gui/config/boxes.py:338 +msgid "Only advanced options available" +msgstr "Solo están disponibles las opciones avanzadas" + +#: lutris/gui/config/boxes.py:340 +msgid "No options available" +msgstr "No hay opciones disponibles" + #: lutris/gui/config/edit_category_games.py:18 -#: lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:259 +#: lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:315 #: lutris/gui/config/runner.py:18 #, python-format msgid "Configure %s" @@ -1484,7 +1598,9 @@ msgstr "¿Quiere quitar la categoría '%s'?" msgid "" "This will permanently destroy the category, but the games themselves will " "not be deleted." -msgstr "Esto quitará la categoría pero los juegos en sí no se borrarán." +msgstr "" +"Esto eliminará la categoría definitivamente, pero los juegos en sí no se " +"borrarán." #: lutris/gui/config/edit_category_games.py:113 #, python-format @@ -1537,50 +1653,68 @@ msgstr "" msgid "Changing Categories" msgstr "Cambiar categorías" -#: lutris/gui/config/edit_saved_search.py:40 +#: lutris/gui/config/edit_saved_search.py:19 +msgid "New Saved Search" +msgstr "Nueva búsqueda guardada" + +#: lutris/gui/config/edit_saved_search.py:53 msgid "Search" msgstr "Buscar" -#: lutris/gui/config/edit_saved_search.py:105 +#: lutris/gui/config/edit_saved_search.py:130 msgid "Installed" msgstr "Instalado" -#: lutris/gui/config/edit_saved_search.py:106 +#: lutris/gui/config/edit_saved_search.py:131 msgid "Favorite" msgstr "Favorito" -#: lutris/gui/config/edit_saved_search.py:107 lutris/gui/widgets/sidebar.py:493 +#: lutris/gui/config/edit_saved_search.py:132 lutris/gui/widgets/sidebar.py:493 msgid "Hidden" msgstr "Oculto" -#: lutris/gui/config/edit_saved_search.py:108 +#: lutris/gui/config/edit_saved_search.py:133 msgid "Categorized" msgstr "Categorizado" -#: lutris/gui/config/edit_saved_search.py:145 -#: lutris/gui/config/edit_saved_search.py:198 +#: lutris/gui/config/edit_saved_search.py:170 +#: lutris/gui/config/edit_saved_search.py:223 msgid "-" msgstr "-" -#: lutris/gui/config/edit_saved_search.py:146 +#: lutris/gui/config/edit_saved_search.py:171 msgid "Yes" msgstr "Sí" -#: lutris/gui/config/edit_saved_search.py:147 +#: lutris/gui/config/edit_saved_search.py:172 msgid "No" msgstr "No" -#: lutris/gui/config/edit_saved_search.py:280 +#: lutris/gui/config/edit_saved_search.py:184 +msgid "Source" +msgstr "Origen" + +#: lutris/gui/config/edit_saved_search.py:191 +#: lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:66 +msgid "Runner" +msgstr "Ejecutor" + +#: lutris/gui/config/edit_saved_search.py:198 lutris/gui/views/list.py:67 +#: lutris/runners/dolphin.py:34 lutris/runners/scummvm.py:259 +msgid "Platform" +msgstr "Plataforma" + +#: lutris/gui/config/edit_saved_search.py:292 #, python-format msgid "'%s' is already a saved search." msgstr "'%s' ya es una búsqueda guardada." -#: lutris/gui/config/edit_saved_search.py:294 +#: lutris/gui/config/edit_saved_search.py:336 #, python-format msgid "Do you want to delete the saved search '%s'?" msgstr "¿Quiere eliminar la búsqueda guardada '%s'?" -#: lutris/gui/config/edit_saved_search.py:296 +#: lutris/gui/config/edit_saved_search.py:338 msgid "" "This will permanently destroy the saved search, but the games themselves " "will not be deleted." @@ -1588,7 +1722,7 @@ msgstr "" "Esto eliminará permanentemente la búsqueda guardada pero no eliminará los " "juegos en sí." -#: lutris/gui/config/game_common.py:34 +#: lutris/gui/config/game_common.py:35 msgid "Select a runner in the Game Info tab" msgstr "Escoja un ejecutor en la pestaña de información del juego" @@ -1597,19 +1731,19 @@ msgstr "Escoja un ejecutor en la pestaña de información del juego" msgid "Search %s options" msgstr "Opciones de búsqueda de %s" -#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:508 +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 msgid "Search options" msgstr "Opciones de búsqueda" -#: lutris/gui/config/game_common.py:176 +#: lutris/gui/config/game_common.py:172 msgid "Game info" msgstr "Información del juego" -#: lutris/gui/config/game_common.py:191 +#: lutris/gui/config/game_common.py:187 msgid "Sort name" msgstr "Nombre para ordenar" -#: lutris/gui/config/game_common.py:207 +#: lutris/gui/config/game_common.py:203 #, python-format msgid "" "Identifier\n" @@ -1618,176 +1752,208 @@ msgstr "" "Identificador\n" "(ID interno: %s)" -#: lutris/gui/config/game_common.py:216 lutris/gui/config/game_common.py:407 +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 msgid "Change" msgstr "Cambiar" -#: lutris/gui/config/game_common.py:227 +#: lutris/gui/config/game_common.py:223 msgid "Directory" msgstr "Directorio" -#: lutris/gui/config/game_common.py:233 +#: lutris/gui/config/game_common.py:229 msgid "Move" msgstr "Mover" -#: lutris/gui/config/game_common.py:253 +#: lutris/gui/config/game_common.py:249 msgid "The default launch option will be used for this game" msgstr "Se usarán las opciones de ejecución predeterminadas para este juego" -#: lutris/gui/config/game_common.py:255 +#: lutris/gui/config/game_common.py:251 #, python-format msgid "The '%s' launch option will be used for this game" msgstr "Se usará la opción de ejecución '%s' para este juego" -#: lutris/gui/config/game_common.py:262 +#: lutris/gui/config/game_common.py:258 msgid "Reset" msgstr "Reiniciar" -#: lutris/gui/config/game_common.py:279 lutris/gui/views/list.py:68 -msgid "Runner" -msgstr "Ejecutor" - -#: lutris/gui/config/game_common.py:293 +#: lutris/gui/config/game_common.py:289 msgid "Set custom cover art" msgstr "Establecer portada personalizada" -#: lutris/gui/config/game_common.py:293 +#: lutris/gui/config/game_common.py:289 msgid "Remove custom cover art" msgstr "Eliminar portada personalizada" -#: lutris/gui/config/game_common.py:294 +#: lutris/gui/config/game_common.py:290 msgid "Set custom banner" msgstr "Establecer pancarta personalizada" -#: lutris/gui/config/game_common.py:294 +#: lutris/gui/config/game_common.py:290 msgid "Remove custom banner" msgstr "Eliminar pancarta personalizada" -#: lutris/gui/config/game_common.py:295 +#: lutris/gui/config/game_common.py:291 msgid "Set custom icon" msgstr "Establecer icono personalizado" -#: lutris/gui/config/game_common.py:295 +#: lutris/gui/config/game_common.py:291 msgid "Remove custom icon" msgstr "Eliminar icono personalizado" -#: lutris/gui/config/game_common.py:328 +#: lutris/gui/config/game_common.py:324 msgid "Release year" msgstr "Año de publicación" -#: lutris/gui/config/game_common.py:341 +#: lutris/gui/config/game_common.py:337 msgid "Playtime" msgstr "Tiempo de juego" -#: lutris/gui/config/game_common.py:387 +#: lutris/gui/config/game_common.py:383 msgid "Select a runner from the list" msgstr "Escoja un ejecutor de la lista" -#: lutris/gui/config/game_common.py:395 +#: lutris/gui/config/game_common.py:391 msgid "Apply" msgstr "Aplicar" -#: lutris/gui/config/game_common.py:450 lutris/gui/config/game_common.py:459 -#: lutris/gui/config/game_common.py:465 +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 +#: lutris/gui/config/game_common.py:461 msgid "Game options" msgstr "Opciones del juego" -#: lutris/gui/config/game_common.py:470 lutris/gui/config/game_common.py:473 +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 msgid "Runner options" msgstr "Opciones del ejecutor" -#: lutris/gui/config/game_common.py:477 +#: lutris/gui/config/game_common.py:473 msgid "System options" msgstr "Opciones del sistema" -#: lutris/gui/config/game_common.py:514 +#: lutris/gui/config/game_common.py:510 msgid "Show advanced options" msgstr "Mostrar opciones avanzadas" -#: lutris/gui/config/game_common.py:516 +#: lutris/gui/config/game_common.py:512 msgid "Advanced" msgstr "Avanzado" -#: lutris/gui/config/game_common.py:570 +#: lutris/gui/config/game_common.py:566 msgid "" "Are you sure you want to change the runner for this game ? This will reset " "the full configuration for this game and is not reversible." msgstr "" -"¿Está seguro de querer cambiar el ejecutor de este juego? Esto restablecerá " -"la configuración completa para este juego y no es reversible." +"¿Está seguro de querer cambiar el ejecutor de este juego? Se restablecerá la " +"configuración completa de este juego de forma irreversible." -#: lutris/gui/config/game_common.py:574 +#: lutris/gui/config/game_common.py:570 msgid "Confirm runner change" msgstr "Confirmar cambio de ejecutor" -#: lutris/gui/config/game_common.py:627 +#: lutris/gui/config/game_common.py:622 msgid "Runner not provided" msgstr "Ejecutor no proporcionado" -#: lutris/gui/config/game_common.py:630 +#: lutris/gui/config/game_common.py:625 msgid "Please fill in the name" -msgstr "Debe completar el nombre" +msgstr "Debe rellenar el nombre" -#: lutris/gui/config/game_common.py:633 +#: lutris/gui/config/game_common.py:628 msgid "Steam AppID not provided" -msgstr "No se ha proporcionado AppID de Steam" +msgstr "No se ha proporcionado el AppID de Steam" -#: lutris/gui/config/game_common.py:659 +#: lutris/gui/config/game_common.py:654 msgid "The following fields have invalid values: " msgstr "Los siguientes campos tienen valores no válidos: " -#: lutris/gui/config/game_common.py:666 +#: lutris/gui/config/game_common.py:661 msgid "Current configuration is not valid, ignoring save request" msgstr "" "La configuración actual no es válida, se ignora la petición de guardado" -#: lutris/gui/config/game_common.py:710 +#: lutris/gui/config/game_common.py:705 msgid "Please choose a custom image" msgstr "Elija una imagen personalizada" -#: lutris/gui/config/game_common.py:718 +#: lutris/gui/config/game_common.py:713 msgid "Images" msgstr "Imágenes" -#: lutris/gui/config/preferences_box.py:17 +#: lutris/gui/config/preferences_box.py:22 msgid "Minimize client when a game is launched" msgstr "Minimizar el cliente cuando se lanza un juego" -#: lutris/gui/config/preferences_box.py:18 +#: lutris/gui/config/preferences_box.py:24 +msgid "" +"Minimize the Lutris window while playing a game; it will return when the " +"game exits." +msgstr "" +"Minimiza la ventana de Lutris mientras se juega, volviendo cuando se sale " +"del juego." + +#: lutris/gui/config/preferences_box.py:28 msgid "Hide text under icons" -msgstr "Ocultar texto bajo los iconos" +msgstr "Ocultar el texto bajo los iconos" + +#: lutris/gui/config/preferences_box.py:30 +msgid "" +"Removes the names from the Lutris window when in grid view, but not list " +"view." +msgstr "" +"Quita los nombres en la ventana de Lutris al estar en la vista de rejilla " +"pero no en la de lista." -#: lutris/gui/config/preferences_box.py:21 +#: lutris/gui/config/preferences_box.py:34 msgid "Hide badges on icons (Ctrl+p to toggle)" msgstr "Ocultar insignias en los iconos (alternar con Ctrl+p)" -#: lutris/gui/config/preferences_box.py:25 +#: lutris/gui/config/preferences_box.py:37 +msgid "" +"Removes the platform and missing-game badges from icons in the Lutris window." +msgstr "" +"Quita las insignias de plataforma y nombre ausente de los iconos en la " +"ventana de Lutris." + +#: lutris/gui/config/preferences_box.py:41 msgid "Show Tray Icon" msgstr "Mostrar icono en la bandeja" -#: lutris/gui/config/preferences_box.py:28 +#: lutris/gui/config/preferences_box.py:45 +msgid "" +"Adds a Lutris icon to the tray, and prevents Lutris from exiting when the " +"Lutris window is closed. You can still exit using the menu of the tray icon." +msgstr "" +"Añade un icono de Lutris a la bandeja del sistema y evita salir de Lutris " +"cuando se cierra la ventana. Todavía se puede salir usando el menú del icono " +"en la bandeja." + +#: lutris/gui/config/preferences_box.py:51 msgid "Enable Discord Rich Presence for Available Games" msgstr "" "Activar Rich Presence de Discord en los juegos que la tienen disponible " "(requiere instalar pypresence)" -#: lutris/gui/config/preferences_box.py:34 +#: lutris/gui/config/preferences_box.py:57 msgid "Theme" msgstr "Tema" -#: lutris/gui/config/preferences_box.py:36 +#: lutris/gui/config/preferences_box.py:59 msgid "System Default" msgstr "Predeterminado del sistema" -#: lutris/gui/config/preferences_box.py:37 +#: lutris/gui/config/preferences_box.py:60 msgid "Light" msgstr "Claro" -#: lutris/gui/config/preferences_box.py:38 +#: lutris/gui/config/preferences_box.py:61 msgid "Dark" msgstr "Oscuro" -#: lutris/gui/config/preferences_box.py:47 +#: lutris/gui/config/preferences_box.py:64 +msgid "Overrides Lutris's appearance to be light or dark." +msgstr "Fuerza que apariencia de Lutris sea clara u oscura." + +#: lutris/gui/config/preferences_box.py:72 msgid "Interface options" msgstr "Opciones de interfaz" @@ -1805,7 +1971,7 @@ msgstr "Ejecutores" #: lutris/gui/config/preferences_dialog.py:37 lutris/gui/widgets/sidebar.py:402 msgid "Sources" -msgstr "Fuentes" +msgstr "Orígenes" #: lutris/gui/config/preferences_dialog.py:38 msgid "Accounts" @@ -1870,33 +2036,33 @@ msgstr "Buscar %s ejecutores" #: lutris/gui/config/services_box.py:18 msgid "Enable integrations with game sources" -msgstr "Activar integración con fuentes de juegos" +msgstr "Activar integración con orígenes de juegos" #: lutris/gui/config/services_box.py:21 msgid "" "Access your game libraries from various sources. Changes require a restart " "to take effect." msgstr "" -"Acceder a tu biblioteca de juegos desde varias fuentes. Los cambios " +"Acceder a tu biblioteca de juegos desde varios orígenes. Los cambios " "requieren reiniciar para tener efecto." -#: lutris/gui/config/storage_box.py:15 +#: lutris/gui/config/storage_box.py:24 msgid "Paths" msgstr "Rutas" -#: lutris/gui/config/storage_box.py:24 +#: lutris/gui/config/storage_box.py:36 msgid "Game library" msgstr "Biblioteca de juegos" -#: lutris/gui/config/storage_box.py:28 lutris/sysoptions.py:87 +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 msgid "The default folder where you install your games." msgstr "La carpeta predeterminada donde se instalan los juegos." -#: lutris/gui/config/storage_box.py:31 +#: lutris/gui/config/storage_box.py:43 msgid "Installer cache" msgstr "Caché del instalador" -#: lutris/gui/config/storage_box.py:36 +#: lutris/gui/config/storage_box.py:48 msgid "" "If provided, files downloaded during game installs will be kept there\n" "\n" @@ -1907,6 +2073,29 @@ msgstr "" "\n" "De lo contrario, se descartan todos los archivos descargados." +#: lutris/gui/config/storage_box.py:53 +msgid "Emulator BIOS files location" +msgstr "Ubicación de los archivos de BIOS del emulador" + +#: lutris/gui/config/storage_box.py:57 +msgid "The folder Lutris will search in for emulator BIOS files if needed" +msgstr "" +"La carpeta donde Lutris buscará archivos de BIOS para el emulador si lo " +"requiere" + +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "La carpeta es demasiado grande (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "Demasiados archivos dentro de la carpeta" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "La carpeta es demasiado profunda" + #: lutris/gui/config/sysinfo_box.py:18 msgid "Vulkan support" msgstr "Soporte de Vulkan" @@ -1923,10 +2112,10 @@ msgstr "Soporte de Fsync" msgid "Wine installed" msgstr "Wine instalado" -#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:210 -#: lutris/sysoptions.py:219 lutris/sysoptions.py:229 lutris/sysoptions.py:243 -#: lutris/sysoptions.py:258 lutris/sysoptions.py:267 lutris/sysoptions.py:281 -#: lutris/sysoptions.py:292 lutris/sysoptions.py:301 +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 +#: lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 +#: lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 +#: lutris/sysoptions.py:294 lutris/sysoptions.py:304 msgid "Gamescope" msgstr "Gamescope" @@ -1971,181 +2160,145 @@ msgstr "SÍ" msgid "NO" msgstr "NO" -#: lutris/gui/config/updates_box.py:29 -msgid "Wine update channel" -msgstr "Canal de actualización de Wine" - -#: lutris/gui/config/updates_box.py:41 +#: lutris/gui/config/updates_box.py:20 msgid "Runtime updates" msgstr "Actualizaciones del tiempo de ejecución" -#: lutris/gui/config/updates_box.py:42 +#: lutris/gui/config/updates_box.py:21 msgid "Runtime components include DXVK, VKD3D and Winetricks." msgstr "" "Los componentes de tiempo de ejecución incluyen DXVK, VKD3D y Winetricks." -#: lutris/gui/config/updates_box.py:43 +#: lutris/gui/config/updates_box.py:22 msgid "Check for Updates" msgstr "Comprobar Actualizaciones" -#: lutris/gui/config/updates_box.py:47 +#: lutris/gui/config/updates_box.py:26 msgid "Automatically Update the Lutris runtime" msgstr "Actualizar automáticamente el tiempo de ejecución de Lutris" -#: lutris/gui/config/updates_box.py:52 +#: lutris/gui/config/updates_box.py:31 msgid "Media updates" msgstr "Actualizaciones de medios" -#: lutris/gui/config/updates_box.py:53 +#: lutris/gui/config/updates_box.py:32 msgid "Download Missing Media" msgstr "Descargar medios ausentes" -#: lutris/gui/config/updates_box.py:59 -msgid "" -"Stable:\n" -"Wine-GE updates are downloaded automatically and the latest version is " -"always used unless overridden in the settings.\n" -"\n" -"This allows us to keep track of regressions more efficiently and provide " -"fixes more reliably." -msgstr "" -"Estable:\n" -"Las actualizaciones de Wine-GE se descargan automáticamente y siempre se usa " -"la última versión a menos que se cambie en la configuración.\n" -"\n" -"Esto nos permite seguir la pista a regresiones de una forma más eficiente y " -"proporcionar correcciones más fiables." - -#: lutris/gui/config/updates_box.py:71 -msgid "" -"Self-maintained:\n" -"Wine updates are no longer delivered automatically and you have full " -"responsibility of your Wine versions.\n" -"\n" -"Please note that this mode is fully unsupported. In order to submit " -"issues on Github or ask for help on Discord, switch back to the Stable " -"channel." -msgstr "" -"Auto-mantenido:\n" -"No se actualiza Wine automáticamente, por lo que tiene completa " -"responsabilidad con sus versiones de Wine.\n" -"\n" -"Tenga en cuenta que este modo no está soportado. Para abrir " -"incidencias en Github o pedir ayuda en Discord vuelve al Canal estable." - -#: lutris/gui/config/updates_box.py:90 -msgid "" -"No compatible Wine version could be identified. No updates are available." -msgstr "" -"No se ha podido identificar una versión de Wine compatible. No hay " -"actualizaciones disponibles." - -#: lutris/gui/config/updates_box.py:91 lutris/gui/config/updates_box.py:100 -msgid "Check Again" -msgstr "Volver a comprobar" - -#: lutris/gui/config/updates_box.py:96 -#, python-format -msgid "" -"Your Wine version is up to date. Using: %s\n" -"Last checked %s." -msgstr "" -"La versión de Wine está actualizada. Usando: %s\n" -"Última comprobación %s." - -#: lutris/gui/config/updates_box.py:103 -#, python-format -msgid "" -"You don't have any Wine version installed.\n" -"We recommend %s" -msgstr "" -"No hay ninguna versión de Wine instalada.\n" -"Se recomienda %s" - -#: lutris/gui/config/updates_box.py:106 lutris/gui/config/updates_box.py:111 -#, python-format -msgid "Download %s" -msgstr "Descargar %s" - -#: lutris/gui/config/updates_box.py:109 -#, python-format -msgid "You don't have the recommended Wine version: %s" -msgstr "No tienes la versión recomendada de Wine: %s" - -#: lutris/gui/config/updates_box.py:135 +#: lutris/gui/config/updates_box.py:56 msgid "Checking for missing media..." msgstr "Buscando medios ausentes..." -#: lutris/gui/config/updates_box.py:142 +#: lutris/gui/config/updates_box.py:63 msgid "Nothing to update" msgstr "Nada que actualizar" -#: lutris/gui/config/updates_box.py:144 +#: lutris/gui/config/updates_box.py:65 msgid "Updated: " msgstr "Actualizado: " -#: lutris/gui/config/updates_box.py:146 +#: lutris/gui/config/updates_box.py:67 msgid "banner" msgstr "pancarta" -#: lutris/gui/config/updates_box.py:147 +#: lutris/gui/config/updates_box.py:68 msgid "icon" msgstr "icono" -#: lutris/gui/config/updates_box.py:148 +#: lutris/gui/config/updates_box.py:69 msgid "cover" msgstr "portada" -#: lutris/gui/config/updates_box.py:149 +#: lutris/gui/config/updates_box.py:70 msgid "banners" msgstr "pancartas" -#: lutris/gui/config/updates_box.py:150 +#: lutris/gui/config/updates_box.py:71 msgid "icons" msgstr "iconos" -#: lutris/gui/config/updates_box.py:151 +#: lutris/gui/config/updates_box.py:72 msgid "covers" msgstr "portadas" -#: lutris/gui/config/updates_box.py:160 +#: lutris/gui/config/updates_box.py:81 msgid "No new media found." msgstr "No se han encontrado medios." -#: lutris/gui/config/updates_box.py:194 -msgid "Downloading..." -msgstr "Descargando..." - -#: lutris/gui/config/updates_box.py:196 lutris/gui/config/updates_box.py:232 -msgid "Updates are already being downloaded and installed." -msgstr "Se están descargando e instalando las actualizaciones." - -#: lutris/gui/config/updates_box.py:198 lutris/gui/config/updates_box.py:234 -msgid "No updates are required at this time." -msgstr "No se requieren actualizaciones en este momento." - -#: lutris/gui/config/updates_box.py:221 +#: lutris/gui/config/updates_box.py:110 #, python-format msgid "%s has been updated." msgstr "Se ha actualizado %s." -#: lutris/gui/config/updates_box.py:223 +#: lutris/gui/config/updates_box.py:112 #, python-format msgid "%s have been updated." msgstr "Se han actualizado %s." -#: lutris/gui/config/updates_box.py:230 +#: lutris/gui/config/updates_box.py:119 msgid "Checking for updates..." msgstr "Buscando actualizaciones..." -#: lutris/gui/config/updates_box.py:243 +#: lutris/gui/config/updates_box.py:121 +msgid "Updates are already being downloaded and installed." +msgstr "Se están descargando e instalando las actualizaciones." + +#: lutris/gui/config/updates_box.py:123 +msgid "No updates are required at this time." +msgstr "No se requieren actualizaciones en este momento." + +#: lutris/gui/config/widget_generator.py:215 +msgid "Default: " +msgstr "Predeterminado: " + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/wine.py:560 +msgid "Enabled" +msgstr "Activado" + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/easyrpg.py:371 +#: lutris/runners/mednafen.py:78 lutris/runners/wine.py:559 +msgid "Disabled" +msgstr "Desactivado" + +#: lutris/gui/config/widget_generator.py:424 +#, python-format +msgid "%s (default)" +msgstr "%s (predeterminado)" + +#: lutris/gui/config/widget_generator.py:488 +#, python-format msgid "" -"Without the Wine-GE updates enabled, we can no longer provide support on " -"Github and Discord." -msgstr "" -"Sin las actualizaciones de Wine-GE activadas no podemos ofrecer soporte en " -"Github ni Discord." +"The setting '%s' is no longer available. You should select another choice." +msgstr "La opción '%s' ya no está disponible, debe escoger otra." + +#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:52 +msgid "Select file" +msgstr "Escoger archivo" + +#: lutris/gui/config/widget_generator.py:567 +msgid "Select files" +msgstr "Escoger archivos" + +#: lutris/gui/config/widget_generator.py:570 +msgid "_Add" +msgstr "_Añadir" + +#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:446 +#: lutris/gui/dialogs/__init__.py:472 lutris/gui/dialogs/issue.py:74 +#: lutris/gui/widgets/common.py:170 +#: lutris/gui/widgets/download_collection_progress_box.py:56 +#: lutris/gui/widgets/download_progress_box.py:64 +msgid "_Cancel" +msgstr "_Cancelar" + +#: lutris/gui/config/widget_generator.py:606 +msgid "Add Files" +msgstr "Añadir archivos" + +#: lutris/gui/config/widget_generator.py:626 +#: lutris/installer/installer_file_collection.py:88 +msgid "Files" +msgstr "Archivos" #: lutris/gui/dialogs/cache.py:12 msgid "Download cache configuration" @@ -2185,7 +2338,7 @@ msgstr "Escoger el juego a iniciar" msgid "Downloading file" msgstr "Descargando archivo" -#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:125 +#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:128 #, python-format msgid "Downloading %s" msgstr "Descargando %s" @@ -2229,19 +2382,19 @@ msgstr "Lutris no conoce la plataforma '%s'." msgid "Lutris does not have a default installer for the '%s' platform." msgstr "Lutris carece de instalador predeterminado para la plataforma '%s'." -#: lutris/gui/dialogs/__init__.py:171 +#: lutris/gui/dialogs/__init__.py:175 msgid "Save" msgstr "Guardar" -#: lutris/gui/dialogs/__init__.py:292 +#: lutris/gui/dialogs/__init__.py:303 msgid "Lutris has encountered an error" msgstr "Lutris ha encontrado un error" -#: lutris/gui/dialogs/__init__.py:319 lutris/gui/installerwindow.py:904 +#: lutris/gui/dialogs/__init__.py:331 lutris/gui/installerwindow.py:962 msgid "Copy Details to Clipboard" msgstr "Copiar detalles al portapapeles" -#: lutris/gui/dialogs/__init__.py:339 +#: lutris/gui/dialogs/__init__.py:351 msgid "" "You can get support from GitHub or Discord. Make sure " @@ -2253,49 +2406,50 @@ msgstr "" "de proporcionar los detalles del error;\n" "use el botón 'Copiar detalles al portapapeles' para obtenerlos." -#: lutris/gui/dialogs/__init__.py:348 +#: lutris/gui/dialogs/__init__.py:360 msgid "Error details" msgstr "Detalles del error" -#: lutris/gui/dialogs/__init__.py:433 lutris/gui/dialogs/__init__.py:459 -#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:167 +#: lutris/gui/dialogs/__init__.py:445 lutris/gui/dialogs/__init__.py:471 +#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:170 msgid "_OK" msgstr "_Aceptar" -#: lutris/gui/dialogs/__init__.py:450 +#: lutris/gui/dialogs/__init__.py:462 msgid "Please choose a file" msgstr "Escoja un archivo" -#: lutris/gui/dialogs/__init__.py:474 +#: lutris/gui/dialogs/__init__.py:486 #, python-format msgid "%s is already installed" msgstr "%s ya está instalado" -#: lutris/gui/dialogs/__init__.py:484 +#: lutris/gui/dialogs/__init__.py:496 msgid "Launch game" msgstr "Iniciar juego" -#: lutris/gui/dialogs/__init__.py:488 +#: lutris/gui/dialogs/__init__.py:500 msgid "Install the game again" msgstr "Instalar el juego de nuevo" -#: lutris/gui/dialogs/__init__.py:527 +#: lutris/gui/dialogs/__init__.py:539 msgid "Do not ask again for this game." msgstr "No volver a preguntar sobre este juego." -#: lutris/gui/dialogs/__init__.py:582 +#: lutris/gui/dialogs/__init__.py:594 msgid "Login failed" msgstr "Falló el inicio de sesión" -#: lutris/gui/dialogs/__init__.py:592 +#: lutris/gui/dialogs/__init__.py:604 +#, python-brace-format msgid "Install script for {}" msgstr "Instalar guion para {}" -#: lutris/gui/dialogs/__init__.py:616 +#: lutris/gui/dialogs/__init__.py:628 msgid "Humble Bundle Cookie Authentication" msgstr "Cookie de Autenticación de Humble Bundle" -#: lutris/gui/dialogs/__init__.py:628 +#: lutris/gui/dialogs/__init__.py:640 msgid "" "Humble Bundle Authentication via cookie import\n" "\n" @@ -2322,8 +2476,8 @@ msgstr "" "sesión.\n" "- Haga clic en el icono de cookie en la esquina superior derecha, al lado " "del menú de configuración\n" -"- Marque la opción 'Prefix HttpOnly cookies' y haga clic en 'humblebundle." -"com'\n" +"- Marque la opción 'Prefix HttpOnly cookies' y haga clic en " +"'humblebundle.com'\n" "- Abra el archivo generado y pegue su contenido abajo. Haga clic en Aceptar " "para finalizar.\n" "- Puede borrar el archivo de cookies generado por Firefox\n" @@ -2331,7 +2485,7 @@ msgstr "" "new'>abra una petición de soporte para instar a Humble Bundle a que " "arregle su configuración." -#: lutris/gui/dialogs/__init__.py:707 +#: lutris/gui/dialogs/__init__.py:723 #, python-format msgid "The key '%s' could not be found." msgstr "No se ha podido encontrar la clave '%s'." @@ -2364,6 +2518,7 @@ msgid "Issue saved in %s" msgstr "Incidencia guardada en %s" #: lutris/gui/dialogs/log.py:23 +#, python-brace-format msgid "Log for {}" msgstr "Registro de {}" @@ -2412,7 +2567,7 @@ msgstr[0] "Ver %d juego" msgstr[1] "Ver %d juegos" #: lutris/gui/dialogs/runner_install.py:280 -#: lutris/gui/dialogs/uninstall_dialog.py:219 +#: lutris/gui/dialogs/uninstall_dialog.py:223 msgid "Uninstall" msgstr "Desinstalar" @@ -2437,36 +2592,36 @@ msgstr "Extrayendo…" msgid "Failed to retrieve the runner archive" msgstr "No se ha podido recuperar el archivo del ejecutor" -#: lutris/gui/dialogs/uninstall_dialog.py:124 +#: lutris/gui/dialogs/uninstall_dialog.py:128 #, python-format msgid "Uninstall %s" msgstr "Desinstalar %s" -#: lutris/gui/dialogs/uninstall_dialog.py:126 +#: lutris/gui/dialogs/uninstall_dialog.py:130 #, python-format msgid "Remove %s" msgstr "Eliminar %s" -#: lutris/gui/dialogs/uninstall_dialog.py:128 +#: lutris/gui/dialogs/uninstall_dialog.py:132 #, python-format msgid "Uninstall %d games" msgstr "Desinstalar %d juegos" -#: lutris/gui/dialogs/uninstall_dialog.py:130 +#: lutris/gui/dialogs/uninstall_dialog.py:134 #, python-format msgid "Remove %d games" msgstr "Eliminar %d juegos" -#: lutris/gui/dialogs/uninstall_dialog.py:132 +#: lutris/gui/dialogs/uninstall_dialog.py:136 #, python-format msgid "Uninstall %d games and remove %d games" msgstr "Desinstalar %d juegos y eliminar %d juegos" -#: lutris/gui/dialogs/uninstall_dialog.py:145 +#: lutris/gui/dialogs/uninstall_dialog.py:149 msgid "After you uninstall these games, you won't be able play them in Lutris." msgstr "Una vez desinstale estos juegos no será posible jugarlos desde Lutris." -#: lutris/gui/dialogs/uninstall_dialog.py:148 +#: lutris/gui/dialogs/uninstall_dialog.py:152 msgid "" "Uninstalled games that you remove from the library will no longer appear in " "the 'Games' view, but those that remain will retain their playtime data." @@ -2475,12 +2630,12 @@ msgstr "" "la vista 'Juegos', pero los que permanecen mantendrán el dato de tiempo de " "juego." -#: lutris/gui/dialogs/uninstall_dialog.py:153 +#: lutris/gui/dialogs/uninstall_dialog.py:157 msgid "" "After you remove these games, they will no longer appear in the 'Games' view." msgstr "Una vez elimine estos juegos no aparecerán más en la vista 'Juegos'." -#: lutris/gui/dialogs/uninstall_dialog.py:158 +#: lutris/gui/dialogs/uninstall_dialog.py:162 msgid "" "Some of the game directories cannot be removed because they are shared with " "other games that you are not removing." @@ -2488,14 +2643,14 @@ msgstr "" "Algunos de los directorios de los juegos no se pueden eliminar debido a que " "están compartiéndose con otros juegos que no está eliminando." -#: lutris/gui/dialogs/uninstall_dialog.py:164 +#: lutris/gui/dialogs/uninstall_dialog.py:168 msgid "" "Some of the game directories cannot be removed because they are protected." msgstr "" "Algunos de los directorios de juegos no se pueden eliminar por estar " "protegidos." -#: lutris/gui/dialogs/uninstall_dialog.py:261 +#: lutris/gui/dialogs/uninstall_dialog.py:265 #, python-format msgid "" "Please confirm.\n" @@ -2506,7 +2661,7 @@ msgstr "" "Todo lo que esté bajo %s\n" "se moverá a la papelera." -#: lutris/gui/dialogs/uninstall_dialog.py:265 +#: lutris/gui/dialogs/uninstall_dialog.py:269 #, python-format msgid "" "Please confirm.\n" @@ -2515,19 +2670,19 @@ msgstr "" "Confirme la acción.\n" "Todos los archivos de %d juegos se moverán a la papelera." -#: lutris/gui/dialogs/uninstall_dialog.py:273 +#: lutris/gui/dialogs/uninstall_dialog.py:277 msgid "Permanently delete files?" msgstr "¿Eliminar los archivos permanentemente?" -#: lutris/gui/dialogs/uninstall_dialog.py:353 +#: lutris/gui/dialogs/uninstall_dialog.py:360 msgid "Remove from Library" msgstr "Quitar de la biblioteca" -#: lutris/gui/dialogs/uninstall_dialog.py:359 +#: lutris/gui/dialogs/uninstall_dialog.py:366 msgid "Delete Files" msgstr "Eliminar archivos" -#: lutris/gui/dialogs/webconnect_dialog.py:119 +#: lutris/gui/dialogs/webconnect_dialog.py:149 msgid "Loading..." msgstr "Cargando..." @@ -2554,123 +2709,134 @@ msgstr "Cachear archivos para futuras instalaciones" #: lutris/gui/installer/file_box.py:178 msgid "Source:" -msgstr "Fuente:" +msgstr "Origen:" -#: lutris/gui/installerwindow.py:122 +#: lutris/gui/installerwindow.py:128 msgid "Configure download cache" msgstr "Configurar caché de descarga" -#: lutris/gui/installerwindow.py:124 +#: lutris/gui/installerwindow.py:130 msgid "Change where Lutris downloads game installer files." msgstr "" "Cambiar desde dónde Lutris descarga los archivos de instaladores de juegos." -#: lutris/gui/installerwindow.py:127 +#: lutris/gui/installerwindow.py:133 msgid "View installer source" -msgstr "Ver fuente del instalador" +msgstr "Ver el origen del instalador" -#: lutris/gui/installerwindow.py:223 +#: lutris/gui/installerwindow.py:241 msgid "Remove game files" msgstr "Eliminar archivos del juego" -#: lutris/gui/installerwindow.py:238 +#: lutris/gui/installerwindow.py:256 msgid "Are you sure you want to cancel the installation?" msgstr "¿Seguro que quiere cancelar la instalación?" -#: lutris/gui/installerwindow.py:239 +#: lutris/gui/installerwindow.py:257 msgid "Cancel installation?" msgstr "¿Cancelar la instalación?" -#: lutris/gui/installerwindow.py:340 +#: lutris/gui/installerwindow.py:332 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"Esperando instalación de componente de Lutris\n" +"Las instalaciones pueden fallar si ciertos componentes de Lutris no " +"se instalan antes." + +#: lutris/gui/installerwindow.py:389 #, python-format msgid "Install %s" msgstr "Instalar %s" -#: lutris/gui/installerwindow.py:362 +#: lutris/gui/installerwindow.py:411 #, python-format msgid "This game requires %s. Do you want to install it?" msgstr "Este juego requiere %s. ¿Quiere instalarlo?" -#: lutris/gui/installerwindow.py:363 +#: lutris/gui/installerwindow.py:412 msgid "Missing dependency" msgstr "Faltan dependencias" -#: lutris/gui/installerwindow.py:371 +#: lutris/gui/installerwindow.py:420 +#, python-brace-format msgid "Installing {}" msgstr "Instalando {}" -#: lutris/gui/installerwindow.py:377 +#: lutris/gui/installerwindow.py:426 msgid "No installer available" msgstr "No hay un instalador disponible" -#: lutris/gui/installerwindow.py:383 +#: lutris/gui/installerwindow.py:432 #, python-format msgid "Missing field \"%s\" in install script" msgstr "Falta el campo \"%s\" en el guion de instalación" -#: lutris/gui/installerwindow.py:386 +#: lutris/gui/installerwindow.py:435 #, python-format msgid "Improperly formatted file \"%s\"" msgstr "Archivo \"%s\" incorrectamente formateado" -#: lutris/gui/installerwindow.py:436 +#: lutris/gui/installerwindow.py:485 msgid "Select installation directory" msgstr "Escoger directorio de instalación" -#: lutris/gui/installerwindow.py:446 +#: lutris/gui/installerwindow.py:495 msgid "Preparing Lutris for installation" msgstr "Preparando Lutris para la instalación" -#: lutris/gui/installerwindow.py:540 +#: lutris/gui/installerwindow.py:589 msgid "" -"This game has extra content. \n" -"Select which one you want and they will be available in the 'extras' folder " -"where the game is installed." +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' " +"folder where the game is installed." msgstr "" "Este juego dispone de contenido extra.\n" -"Escoja el que desee y estará disponible en la carpeta 'extras' cuando se " -"instale el juego." +"Escoja el que desee y estará disponible en la carpeta 'extras' cuando " +"se instale el juego." -#: lutris/gui/installerwindow.py:635 +#: lutris/gui/installerwindow.py:685 msgid "" "Please review the files needed for the installation then click 'Install'" msgstr "" "Revise los archivos necesarios para la instalación y luego haga clic en " "'Instalar'." -#: lutris/gui/installerwindow.py:643 +#: lutris/gui/installerwindow.py:693 msgid "Downloading game data" msgstr "Descargando los datos del juego" -#: lutris/gui/installerwindow.py:660 +#: lutris/gui/installerwindow.py:710 #, python-format msgid "Unable to get files: %s" msgstr "No se pueden obtener los archivos: %s" -#: lutris/gui/installerwindow.py:674 +#: lutris/gui/installerwindow.py:724 msgid "Installing game data" msgstr "Instalando los datos del juego" #. Lutris flatplak doesn't autodetect files on CD-ROM properly #. and selecting this option doesn't let the user click "Back" #. so the only option is to cancel the install. -#: lutris/gui/installerwindow.py:816 +#: lutris/gui/installerwindow.py:866 msgid "Autodetect" msgstr "Autodetectar" -#: lutris/gui/installerwindow.py:821 +#: lutris/gui/installerwindow.py:871 msgid "Browse…" msgstr "Examinar…" -#: lutris/gui/installerwindow.py:828 +#: lutris/gui/installerwindow.py:878 msgid "Eject" msgstr "Expulsar" -#: lutris/gui/installerwindow.py:840 +#: lutris/gui/installerwindow.py:890 msgid "Select the folder where the disc is mounted" msgstr "Seleccione la carpeta donde está montado el disco" -#: lutris/gui/installerwindow.py:888 +#: lutris/gui/installerwindow.py:944 msgid "" "An unexpected error has occurred while installing this game. Please share " "the details below with the Lutris team on GitHub o Discord." -#: lutris/gui/installerwindow.py:945 +#: lutris/gui/installerwindow.py:1003 msgid "_Launch" msgstr "_Iniciar" -#: lutris/gui/installerwindow.py:1025 +#: lutris/gui/installerwindow.py:1083 msgid "_Abort" msgstr "_Cancelar" -#: lutris/gui/installerwindow.py:1026 +#: lutris/gui/installerwindow.py:1084 msgid "Abort and revert the installation" msgstr "Cancelar y revertir la instalación" -#: lutris/gui/installerwindow.py:1029 +#: lutris/gui/installerwindow.py:1087 msgid "_Close" msgstr "_Cerrar" -#: lutris/gui/lutriswindow.py:552 +#: lutris/gui/lutriswindow.py:737 #, python-format msgid "Connect your %s account to access your games" msgstr "Conecte su cuenta de %s para acceder a sus juegos" -#: lutris/gui/lutriswindow.py:633 +#: lutris/gui/lutriswindow.py:744 #, python-format msgid "Add a game matching '%s' to your favorites to see it here." msgstr "Añada a sus favoritos un juego que coincida con '%s' para verlo aquí." -#: lutris/gui/lutriswindow.py:635 +#: lutris/gui/lutriswindow.py:746 #, python-format msgid "No hidden games matching '%s' found." msgstr "No se han encontrado juegos ocultos que coincidan con '%s'." -#: lutris/gui/lutriswindow.py:638 +#: lutris/gui/lutriswindow.py:749 #, python-format msgid "" "No installed games matching '%s' found. Press Ctrl+I to show uninstalled " @@ -2722,43 +2888,43 @@ msgstr "" "No se han encontrado juegos instalados que coincidan con '%s'. Pulse Ctrl+I " "para mostrar los juegos no instalados." -#: lutris/gui/lutriswindow.py:641 +#: lutris/gui/lutriswindow.py:752 #, python-format msgid "No games matching '%s' found " msgstr "No se han encontrado juegos que coincidan con '%s' " -#: lutris/gui/lutriswindow.py:644 +#: lutris/gui/lutriswindow.py:755 msgid "Add games to your favorites to see them here." msgstr "Añada juegos a sus favoritos para verlos aquí." -#: lutris/gui/lutriswindow.py:646 +#: lutris/gui/lutriswindow.py:757 msgid "No games are hidden." msgstr "No hay juegos ocultos." -#: lutris/gui/lutriswindow.py:648 +#: lutris/gui/lutriswindow.py:759 msgid "No installed games found. Press Ctrl+I to show uninstalled games." msgstr "" "No se han encontrado juegos instalados. Pulse Ctrl+I para mostrar los juegos " "no instalados." -#: lutris/gui/lutriswindow.py:657 +#: lutris/gui/lutriswindow.py:768 msgid "No games found" msgstr "No se han encontrado juegos" -#: lutris/gui/lutriswindow.py:697 +#: lutris/gui/lutriswindow.py:813 #, python-format msgid "Search %s games" msgstr "Buscar %s juegos" -#: lutris/gui/lutriswindow.py:699 +#: lutris/gui/lutriswindow.py:815 msgid "Search 1 game" msgstr "Buscar un juego" -#: lutris/gui/lutriswindow.py:952 +#: lutris/gui/lutriswindow.py:1069 msgid "Unsupported Lutris Version" msgstr "Versión de Lutris no soportada" -#: lutris/gui/lutriswindow.py:954 +#: lutris/gui/lutriswindow.py:1071 msgid "" "This version of Lutris will no longer receive support on Github and Discord, " "and may not interoperate properly with Lutris.net. Do you want to use it " @@ -2767,47 +2933,42 @@ msgstr "" "Esta versión de Lutris ya no tiene soporte en Github ni Discord y puede que " "no opere debidamente con Lutris.net. ¿Quiere usarla de todas formas?" -#: lutris/gui/lutriswindow.py:1165 +#: lutris/gui/lutriswindow.py:1282 msgid "Show Hidden Games" msgstr "Mostrar juegos ocultos" -#: lutris/gui/lutriswindow.py:1167 +#: lutris/gui/lutriswindow.py:1284 msgid "Rehide Hidden Games" msgstr "Volver a ocultar juegos" -#: lutris/gui/lutriswindow.py:1366 +#: lutris/gui/lutriswindow.py:1483 msgid "" "Your limits are not set correctly. Please increase them as described here: " "How-to:-" "Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" msgstr "" "Sus límites no están correctamente configurados. Auméntelos como se describe " -"aquí: Cómo:-Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" - -#: lutris/gui/views/list.py:69 lutris/runners/dolphin.py:34 -#: lutris/runners/scummvm.py:258 -msgid "Platform" -msgstr "Plataforma" +"aquí: Cómo:-Esync (https://github.com/lutris/docs/blob/master/" +"HowToEsync.md)" -#: lutris/gui/widgets/cellrenderers.py:385 lutris/gui/widgets/sidebar.py:501 +#: lutris/gui/widgets/cellrenderers.py:376 lutris/gui/widgets/sidebar.py:501 msgid "Missing" msgstr "Ausentes" -#: lutris/gui/widgets/common.py:84 +#: lutris/gui/widgets/common.py:87 msgid "Select a folder" msgstr "Escoger carpeta" -#: lutris/gui/widgets/common.py:86 +#: lutris/gui/widgets/common.py:89 msgid "Select a file" msgstr "Escoger archivo" -#: lutris/gui/widgets/common.py:92 +#: lutris/gui/widgets/common.py:95 msgid "Open in file browser" msgstr "Abrir en explorador de archivos" -#: lutris/gui/widgets/common.py:243 +#: lutris/gui/widgets/common.py:246 msgid "" "Warning! The selected path is located on a drive formatted by " "Windows.\n" @@ -2817,7 +2978,7 @@ msgstr "" "por Windows.\n" "Los juegos y programas instalados en unidades de Windows no funcionan." -#: lutris/gui/widgets/common.py:252 +#: lutris/gui/widgets/common.py:255 msgid "" "Warning! The selected path contains files. Installation will not work " "properly." @@ -2825,18 +2986,18 @@ msgstr "" "¡Atención! La ruta seleccionada contiene archivos. La instalación no " "funcionará correctamente." -#: lutris/gui/widgets/common.py:260 +#: lutris/gui/widgets/common.py:263 msgid "" "Warning The destination folder is not writable by the current user." msgstr "" "Atención La carpeta de destino no permite la escritura por parte del " "usuario actual." -#: lutris/gui/widgets/common.py:378 +#: lutris/gui/widgets/common.py:381 msgid "Add" msgstr "Añadir" -#: lutris/gui/widgets/common.py:382 +#: lutris/gui/widgets/common.py:385 msgid "Delete" msgstr "Eliminar" @@ -2944,15 +3105,15 @@ msgstr "Sin categorizar" msgid "Running" msgstr "Ejecutándose" -#: lutris/gui/widgets/status_icon.py:88 lutris/gui/widgets/status_icon.py:112 +#: lutris/gui/widgets/status_icon.py:89 lutris/gui/widgets/status_icon.py:113 msgid "Show Lutris" msgstr "Mostrar Lutris" -#: lutris/gui/widgets/status_icon.py:93 +#: lutris/gui/widgets/status_icon.py:94 msgid "Quit" msgstr "Salir" -#: lutris/gui/widgets/status_icon.py:110 +#: lutris/gui/widgets/status_icon.py:111 msgid "Hide Lutris" msgstr "Ocultar Lutris" @@ -2966,8 +3127,8 @@ msgstr "Ejecutor %s proporcionado no válido" msgid "One of {params} parameter is mandatory for the {cmd} command" msgstr "Uno de los parámetros {params} es obligatorio para el comando {cmd}" -#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:165 -#: lutris/installer/interpreter.py:188 +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 +#: lutris/installer/interpreter.py:190 msgid " or " msgstr " o " @@ -2976,12 +3137,12 @@ msgstr " o " msgid "The {param} parameter is mandatory for the {cmd} command" msgstr "El parámetro {param} es obligatorio para el comando {cmd}" -#: lutris/installer/commands.py:103 +#: lutris/installer/commands.py:95 #, python-format msgid "Invalid file '%s'. Can't make it executable" msgstr "Archivo '%s' no válido. No se puede hacer ejecutable" -#: lutris/installer/commands.py:116 +#: lutris/installer/commands.py:108 msgid "" "Parameters file and command can't be used at the same time for the execute " "command" @@ -2989,26 +3150,26 @@ msgstr "" "Los parámetros archivo y comando no se pueden usar a la vez para el comando " "de ejecución" -#: lutris/installer/commands.py:150 +#: lutris/installer/commands.py:142 msgid "No parameters supplied to execute command." msgstr "No se han proporcionado parámetros para el comando de ejecución." -#: lutris/installer/commands.py:166 +#: lutris/installer/commands.py:158 #, python-format msgid "Unable to find executable %s" msgstr "No se encuentra el ejecutable %s" -#: lutris/installer/commands.py:200 +#: lutris/installer/commands.py:192 #, python-format msgid "%s does not exist" msgstr "%s no existe" -#: lutris/installer/commands.py:206 lutris/runtime.py:126 +#: lutris/installer/commands.py:198 lutris/runtime.py:129 #, python-format msgid "Extracting %s" msgstr "Extrayendo %s" -#: lutris/installer/commands.py:240 +#: lutris/installer/commands.py:232 msgid "" "Insert or mount game disc and click Autodetect or\n" "use Browse if the disc is mounted on a non standard location." @@ -3016,7 +3177,7 @@ msgstr "" "Inserte o monte el disco del juego y haga clic en Autodetectar o\n" "utilice Examinar si el disco está montado en una ubicación no estándar." -#: lutris/installer/commands.py:246 +#: lutris/installer/commands.py:238 #, python-format msgid "" "\n" @@ -3031,22 +3192,22 @@ msgstr "" "que contenga el siguiente archivo o carpeta:\n" "%s" -#: lutris/installer/commands.py:269 +#: lutris/installer/commands.py:261 #, python-format msgid "The required file '%s' could not be located." msgstr "No se ha podido encontrar el archivo '%s'." -#: lutris/installer/commands.py:290 +#: lutris/installer/commands.py:282 #, python-format msgid "Source does not exist: %s" msgstr "El origen no existe: %s" -#: lutris/installer/commands.py:316 +#: lutris/installer/commands.py:308 #, python-format msgid "Invalid source for 'move' operation: %s" msgstr "Origen no válido para la operación 'mover': %s" -#: lutris/installer/commands.py:335 +#: lutris/installer/commands.py:327 #, python-brace-format msgid "" "Can't move {src} \n" @@ -3055,47 +3216,51 @@ msgstr "" "No se puede mover {src} \n" "al destino {dst}" -#: lutris/installer/commands.py:342 +#: lutris/installer/commands.py:334 #, python-format msgid "Rename error, source path does not exist: %s" msgstr "Error al renombrar, la ruta origen no existe: %s" -#: lutris/installer/commands.py:349 +#: lutris/installer/commands.py:341 #, python-format msgid "Rename error, destination already exists: %s" msgstr "Error al renombrar, la ruta destino ya existe: %s" -#: lutris/installer/commands.py:365 +#: lutris/installer/commands.py:357 msgid "Missing parameter src" msgstr "Falta el parámetro src" -#: lutris/installer/commands.py:368 +#: lutris/installer/commands.py:360 msgid "Wrong value for 'src' param" msgstr "Valor incorrecto para el parámetro 'src'" -#: lutris/installer/commands.py:372 +#: lutris/installer/commands.py:364 msgid "Wrong value for 'dst' param" msgstr "Valor incorrecto para el parámetro 'dst'" -#: lutris/installer/commands.py:447 +#: lutris/installer/commands.py:439 #, python-format msgid "Command exited with code %s" msgstr "El comando ha finalizado con código %s" -#: lutris/installer/commands.py:466 +#: lutris/installer/commands.py:458 #, python-format msgid "Wrong value for write_file mode: '%s'" msgstr "Valor incorrecto para el modo write_file: '%s'" -#: lutris/installer/commands.py:659 +#: lutris/installer/commands.py:651 msgid "install_or_extract only works with wine!" msgstr "¡install_or_extract sólo funciona con wine!" -#: lutris/installer/errors.py:42 +#: lutris/installer/errors.py:49 #, python-format msgid "This game requires %s." msgstr "Este juego requiere %s." +#: lutris/installer/installer_file_collection.py:86 +msgid "File" +msgstr "Archivo" + #: lutris/installer/installer_file.py:48 #, python-format msgid "missing field `url` for file `%s`" @@ -3111,19 +3276,24 @@ msgstr "falta el campo `filename` en el archivo `%s`" msgid "{file} on {host}" msgstr "{file} en {host}" -#: lutris/installer/installer_file.py:259 +#: lutris/installer/installer_file.py:254 msgid "Invalid checksum, expected format (type:hash) " msgstr "Suma de comprobación no válida, se espera formato (tipo:hash) " -#: lutris/installer/installer_file.py:262 +#: lutris/installer/installer_file.py:261 msgid " checksum mismatch " msgstr " suma de comprobación discordante " -#: lutris/installer/installer.py:213 +#: lutris/installer/installer.py:38 +#, python-format +msgid "The script was missing the '%s' key, which is required." +msgstr "Al guion le falta la clave requerida '%s'." + +#: lutris/installer/installer.py:218 msgid "Game config key must be a string" msgstr "La clave de configuración del juego debe ser una cadena" -#: lutris/installer/installer.py:261 +#: lutris/installer/installer.py:266 msgid "Invalid 'game' section" msgstr "Sección 'game' no válida" @@ -3131,7 +3301,8 @@ msgstr "Sección 'game' no válida" msgid "This installer doesn't have a 'script' section" msgstr "El instalador no tiene una sección 'script'" -#: lutris/installer/interpreter.py:90 +#: lutris/installer/interpreter.py:91 +#, python-brace-format msgid "" "Invalid script: \n" "{}" @@ -3139,36 +3310,37 @@ msgstr "" "Guion no válido: \n" "{}" -#: lutris/installer/interpreter.py:165 lutris/installer/interpreter.py:168 +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 #, python-format msgid "This installer requires %s on your system" msgstr "Este instalador requiere %s en su sistema" -#: lutris/installer/interpreter.py:181 +#: lutris/installer/interpreter.py:183 +#, python-brace-format msgid "You need to install {} before" msgstr "Se debe instalar {} antes" -#: lutris/installer/interpreter.py:226 +#: lutris/installer/interpreter.py:232 msgid "Lutris does not have the necessary permissions to install to path:" msgstr "Lutris no tiene los permisos necesarios para instalar en la ruta:" -#: lutris/installer/interpreter.py:231 +#: lutris/installer/interpreter.py:237 #, python-format msgid "Path %s not found, unable to create game folder. Is the disk mounted?" msgstr "" "No es posible crear la carpeta del juego porque no se encuentra la ruta %s, " "¿está montado el disco?" -#: lutris/installer/interpreter.py:306 +#: lutris/installer/interpreter.py:312 msgid "Installer commands are not formatted correctly" msgstr "Los comandos del instalador no están correctamente formateados" -#: lutris/installer/interpreter.py:358 +#: lutris/installer/interpreter.py:364 #, python-format msgid "The command \"%s\" does not exist." msgstr "No existe el comando \"%s\"." -#: lutris/installer/interpreter.py:368 +#: lutris/installer/interpreter.py:374 #, python-format msgid "" "The executable at path %s can't be found, please check the destination " @@ -3179,7 +3351,7 @@ msgstr "" "Es posible que algunas partes del proceso de instalación no se hayan " "completado correctamente." -#: lutris/installer/interpreter.py:375 +#: lutris/installer/interpreter.py:381 msgid "Installation completed!" msgstr "¡Instalación completada!" @@ -3250,48 +3422,49 @@ msgid "Machine" msgstr "Máquina" #: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 -#: lutris/runners/dosbox.py:67 lutris/runners/easyrpg.py:296 -#: lutris/runners/easyrpg.py:304 lutris/runners/easyrpg.py:320 -#: lutris/runners/easyrpg.py:338 lutris/runners/easyrpg.py:346 -#: lutris/runners/easyrpg.py:354 lutris/runners/easyrpg.py:368 +#: lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 +#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 +#: lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:337 lutris/runners/easyrpg.py:345 +#: lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 #: lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 #: lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 #: lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 #: lutris/runners/hatari.py:79 lutris/runners/hatari.py:94 #: lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 -#: lutris/runners/mame.py:168 lutris/runners/mame.py:175 -#: lutris/runners/mame.py:183 lutris/runners/mame.py:197 -#: lutris/runners/mednafen.py:73 lutris/runners/mednafen.py:77 -#: lutris/runners/mednafen.py:91 lutris/runners/o2em.py:79 +#: lutris/runners/mame.py:166 lutris/runners/mame.py:173 +#: lutris/runners/mame.py:190 lutris/runners/mame.py:204 +#: lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 +#: lutris/runners/mednafen.py:89 lutris/runners/o2em.py:79 #: lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 #: lutris/runners/pico8.py:45 lutris/runners/redream.py:24 -#: lutris/runners/redream.py:28 lutris/runners/scummvm.py:110 -#: lutris/runners/scummvm.py:117 lutris/runners/scummvm.py:125 -#: lutris/runners/scummvm.py:138 lutris/runners/scummvm.py:161 -#: lutris/runners/scummvm.py:181 lutris/runners/scummvm.py:196 -#: lutris/runners/scummvm.py:220 lutris/runners/scummvm.py:238 +#: lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 +#: lutris/runners/scummvm.py:118 lutris/runners/scummvm.py:126 +#: lutris/runners/scummvm.py:139 lutris/runners/scummvm.py:162 +#: lutris/runners/scummvm.py:182 lutris/runners/scummvm.py:197 +#: lutris/runners/scummvm.py:221 lutris/runners/scummvm.py:239 #: lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 #: lutris/runners/vice.py:51 lutris/runners/vice.py:58 #: lutris/runners/vice.py:65 lutris/runners/vice.py:72 -#: lutris/runners/wine.py:300 lutris/runners/wine.py:315 -#: lutris/runners/wine.py:326 lutris/runners/wine.py:338 -#: lutris/runners/wine.py:348 lutris/runners/wine.py:360 -#: lutris/runners/wine.py:369 lutris/runners/wine.py:379 -#: lutris/runners/wine.py:388 lutris/runners/wine.py:401 +#: lutris/runners/wine.py:291 lutris/runners/wine.py:306 +#: lutris/runners/wine.py:319 lutris/runners/wine.py:330 +#: lutris/runners/wine.py:342 lutris/runners/wine.py:354 +#: lutris/runners/wine.py:364 lutris/runners/wine.py:375 +#: lutris/runners/wine.py:386 lutris/runners/wine.py:399 msgid "Graphics" msgstr "Gráficos" #: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 -#: lutris/runners/easyrpg.py:297 lutris/runners/hatari.py:65 -#: lutris/runners/jzintv.py:42 lutris/runners/libretro.py:92 -#: lutris/runners/mame.py:169 lutris/runners/mednafen.py:73 -#: lutris/runners/mupen64plus.py:29 lutris/runners/o2em.py:80 -#: lutris/runners/osmose.py:33 lutris/runners/pcsx2.py:31 -#: lutris/runners/pico8.py:39 lutris/runners/redream.py:24 -#: lutris/runners/reicast.py:40 lutris/runners/scummvm.py:111 -#: lutris/runners/snes9x.py:35 lutris/runners/vice.py:52 -#: lutris/runners/vita3k.py:41 lutris/runners/xemu.py:26 -#: lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 +#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 +#: lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 +#: lutris/runners/libretro.py:95 lutris/runners/mame.py:167 +#: lutris/runners/mednafen.py:71 lutris/runners/mupen64plus.py:29 +#: lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 +#: lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 +#: lutris/runners/redream.py:24 lutris/runners/reicast.py:40 +#: lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 +#: lutris/runners/vice.py:52 lutris/runners/vita3k.py:41 +#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 msgid "Fullscreen" msgstr "Pantalla completa" @@ -3437,12 +3610,12 @@ msgid "Command line arguments used when launching DOSBox" msgstr "Argumentos de la línea de comandos utilizados al lanzar DOSBox" #: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 -#: lutris/runners/linux.py:39 lutris/runners/wine.py:197 +#: lutris/runners/linux.py:39 lutris/runners/wine.py:223 msgid "Working directory" msgstr "Directorio de trabajo" #: lutris/runners/dosbox.py:57 lutris/runners/linux.py:41 -#: lutris/runners/wine.py:199 +#: lutris/runners/wine.py:225 msgid "" "The location where the game is run from.\n" "By default, Lutris uses the directory of the executable." @@ -3450,22 +3623,104 @@ msgstr "" "La ubicación desde la que se ejecuta el juego.\n" "Por defecto Lutris utiliza el directorio del ejecutable." -#: lutris/runners/dosbox.py:68 +#: lutris/runners/dosbox.py:66 msgid "Open game in fullscreen" msgstr "Abrir el juego en pantalla completa" -#: lutris/runners/dosbox.py:71 +#: lutris/runners/dosbox.py:69 msgid "Tells DOSBox to launch the game in fullscreen." msgstr "Indica a DOSBox que inicie el juego en pantalla completa." -#: lutris/runners/dosbox.py:75 +#: lutris/runners/dosbox.py:73 msgid "Exit DOSBox with the game" msgstr "Salir de DOSBox con el juego" -#: lutris/runners/dosbox.py:78 +#: lutris/runners/dosbox.py:76 msgid "Shut down DOSBox when the game is quit." msgstr "Cerrar DOSBox cuando se sale del juego." +#: lutris/runners/duckstation.py:13 +msgid "DuckStation" +msgstr "DuckStation" + +#: lutris/runners/duckstation.py:14 +msgid "PlayStation 1 Emulator" +msgstr "Emulador de PlayStation 1" + +#: lutris/runners/duckstation.py:15 lutris/runners/mednafen.py:31 +msgid "Sony PlayStation" +msgstr "Sony PlayStation" + +#: lutris/runners/duckstation.py:37 +msgid "Enters fullscreen mode immediately after starting." +msgstr "Entra al modo de pantalla completa nada más empezar." + +#: lutris/runners/duckstation.py:43 +msgid "No Fullscreen" +msgstr "Sin pantalla completa" + +#: lutris/runners/duckstation.py:45 +msgid "Prevents fullscreen mode from triggering if enabled." +msgstr "Evita entrar en modo de pantalla completa si está activado." + +#: lutris/runners/duckstation.py:51 +msgid "Batch Mode" +msgstr "Modo por lotes" + +#: lutris/runners/duckstation.py:52 lutris/runners/duckstation.py:61 +#: lutris/runners/duckstation.py:69 +msgid "Boot" +msgstr "Arranque" + +#: lutris/runners/duckstation.py:53 +msgid "Enables batch mode (exits after powering off)." +msgstr "Activa el modo por lotes (sale tras apagar)." + +#: lutris/runners/duckstation.py:60 +msgid "Force Fastboot" +msgstr "Fuerza Fastboot" + +#: lutris/runners/duckstation.py:62 +msgid "Force fast boot." +msgstr "Fuerza arranque rápido." + +#: lutris/runners/duckstation.py:68 +msgid "Force Slowboot" +msgstr "Fuerza Slowboot" + +#: lutris/runners/duckstation.py:70 +msgid "Force slow boot." +msgstr "Fuerza arranque lento." + +#: lutris/runners/duckstation.py:76 +msgid "No Controllers" +msgstr "Sin mandos" + +#: lutris/runners/duckstation.py:77 lutris/runners/o2em.py:64 +#: lutris/runners/o2em.py:72 +msgid "Controllers" +msgstr "Mandos" + +#: lutris/runners/duckstation.py:79 +msgid "" +"Prevents the emulator from polling for controllers. Try this option if " +"you're having difficulties starting the emulator." +msgstr "" +"Evita que el emulador sondee los mandos. Pruebe esta opción si tiene " +"problemas al arrancar el emulador." + +#: lutris/runners/duckstation.py:87 +msgid "Custom configuration file" +msgstr "Archivo de configuración personalizado" + +#: lutris/runners/duckstation.py:89 +msgid "" +"Loads a custom settings configuration from the specified filename. Default " +"settings applied if file not found." +msgstr "" +"Carga los ajustes de configuración del fichero especificado. Se aplicarán " +"los ajustes por defecto si el fichero no existe." + #: lutris/runners/easyrpg.py:12 msgid "EasyRPG Player" msgstr "EasyRPG Player" @@ -3476,7 +3731,7 @@ msgstr "Ejecuta los juegos de RPG Maker 2000/2003" #: lutris/runners/easyrpg.py:14 lutris/runners/flatpak.py:22 #: lutris/runners/linux.py:17 lutris/runners/linux.py:19 -#: lutris/runners/scummvm.py:55 lutris/runners/steam.py:31 +#: lutris/runners/scummvm.py:56 lutris/runners/steam.py:31 #: lutris/runners/zdoom.py:15 msgid "Linux" msgstr "Linux" @@ -3497,110 +3752,110 @@ msgstr "" "Usa la configuración especificada en lugar de detectarla automáticamente o " "utilizar la de RPG_RT.ini." -#: lutris/runners/easyrpg.py:37 lutris/runners/easyrpg.py:62 -#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 -#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:186 -#: lutris/runners/scummvm.py:185 lutris/runners/scummvm.py:200 -#: lutris/runners/scummvm.py:224 lutris/runners/wine.py:219 -#: lutris/runners/wine.py:537 lutris/sysoptions.py:50 +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 +#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 +#: lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 +#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:243 +#: lutris/runners/wine.py:538 lutris/sysoptions.py:50 msgid "Auto" msgstr "Automático" -#: lutris/runners/easyrpg.py:38 +#: lutris/runners/easyrpg.py:37 msgid "Auto (ignore RPG_RT.ini)" msgstr "Automático (ignorar RPG_RT.ini)" -#: lutris/runners/easyrpg.py:39 +#: lutris/runners/easyrpg.py:38 msgid "Western European" msgstr "Europeo occidental" -#: lutris/runners/easyrpg.py:40 +#: lutris/runners/easyrpg.py:39 msgid "Central/Eastern European" msgstr "Europeo central/oriental" -#: lutris/runners/easyrpg.py:41 lutris/runners/redream.py:50 +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 #: lutris/sysoptions.py:39 msgid "Japanese" msgstr "Japonés" -#: lutris/runners/easyrpg.py:42 +#: lutris/runners/easyrpg.py:41 msgid "Cyrillic" msgstr "Cirílico" -#: lutris/runners/easyrpg.py:43 lutris/sysoptions.py:40 +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 msgid "Korean" msgstr "Coreano" -#: lutris/runners/easyrpg.py:44 +#: lutris/runners/easyrpg.py:43 msgid "Chinese (Simplified)" msgstr "Chino (simplificado)" -#: lutris/runners/easyrpg.py:45 +#: lutris/runners/easyrpg.py:44 msgid "Chinese (Traditional)" msgstr "Chino (tradicional)" -#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:37 +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 msgid "Greek" msgstr "Griego" -#: lutris/runners/easyrpg.py:47 lutris/sysoptions.py:45 +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 msgid "Turkish" msgstr "Turco" -#: lutris/runners/easyrpg.py:48 +#: lutris/runners/easyrpg.py:47 msgid "Hebrew" msgstr "Hebreo" -#: lutris/runners/easyrpg.py:49 +#: lutris/runners/easyrpg.py:48 msgid "Arabic" msgstr "Árabe" -#: lutris/runners/easyrpg.py:50 +#: lutris/runners/easyrpg.py:49 msgid "Baltic" msgstr "Báltico" -#: lutris/runners/easyrpg.py:51 +#: lutris/runners/easyrpg.py:50 msgid "Thai" msgstr "Tailandés" -#: lutris/runners/easyrpg.py:59 lutris/runners/easyrpg.py:212 -#: lutris/runners/easyrpg.py:232 lutris/runners/easyrpg.py:250 +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 msgid "Engine" msgstr "Motor" -#: lutris/runners/easyrpg.py:60 +#: lutris/runners/easyrpg.py:59 msgid "Disable auto detection of the simulated engine." msgstr "Desactivar la detección automática del motor simulado." -#: lutris/runners/easyrpg.py:63 +#: lutris/runners/easyrpg.py:62 msgid "RPG Maker 2000 engine (v1.00 - v1.10)" msgstr "Motor de RPG Maker 2000 (v1.00 - v1.10)" -#: lutris/runners/easyrpg.py:64 +#: lutris/runners/easyrpg.py:63 msgid "RPG Maker 2000 engine (v1.50 - v1.51)" msgstr "Motor de RPG Maker 2000 (v1.50 - v1.51)" -#: lutris/runners/easyrpg.py:65 +#: lutris/runners/easyrpg.py:64 msgid "RPG Maker 2000 (English release) engine" msgstr "Motor de RPG Maker 2000 (edición inglesa)" -#: lutris/runners/easyrpg.py:66 +#: lutris/runners/easyrpg.py:65 msgid "RPG Maker 2003 engine (v1.00 - v1.04)" msgstr "Motor de RPG Maker 2003 (v1.00 - v1.04)" -#: lutris/runners/easyrpg.py:67 +#: lutris/runners/easyrpg.py:66 msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" msgstr "Motor de RPG Maker 2003 (v1.05 - v1.09a)" -#: lutris/runners/easyrpg.py:68 +#: lutris/runners/easyrpg.py:67 msgid "RPG Maker 2003 (English release) engine" msgstr "Motor de RPG Maker 2003 (edición inglesa)" -#: lutris/runners/easyrpg.py:76 +#: lutris/runners/easyrpg.py:75 msgid "Patches" msgstr "Parches" -#: lutris/runners/easyrpg.py:78 +#: lutris/runners/easyrpg.py:77 msgid "" "Instead of autodetecting patches used by this game, force emulation of " "certain patches.\n" @@ -3627,19 +3882,19 @@ msgstr "" "Puede proporcionar varios parches o usar 'ninguno' para desactivar todos los " "parches del motor." -#: lutris/runners/easyrpg.py:93 lutris/runners/scummvm.py:275 +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 msgid "Language" msgstr "Idioma" -#: lutris/runners/easyrpg.py:94 +#: lutris/runners/easyrpg.py:93 msgid "Load the game translation in the language/LANG directory." msgstr "Cargar la traducción del juego en el directorio language/LANG." -#: lutris/runners/easyrpg.py:99 lutris/runners/zdoom.py:46 +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 msgid "Save path" msgstr "Ruta de guardado" -#: lutris/runners/easyrpg.py:102 +#: lutris/runners/easyrpg.py:101 msgid "" "Instead of storing save files in the game directory they are stored in the " "specified path. The directory must exist." @@ -3647,19 +3902,19 @@ msgstr "" "En lugar de almacenar los archivos de guardado en el directorio del juego, " "se almacenan en la ruta especificada. El directorio debe existir." -#: lutris/runners/easyrpg.py:109 +#: lutris/runners/easyrpg.py:108 msgid "New game" msgstr "Juego nuevo" -#: lutris/runners/easyrpg.py:110 +#: lutris/runners/easyrpg.py:109 msgid "Skip the title scene and start a new game directly." msgstr "Omitir la escena del título y empezar una nueva partida directamente." -#: lutris/runners/easyrpg.py:116 +#: lutris/runners/easyrpg.py:115 msgid "Load game ID" msgstr "ID de carga de juego" -#: lutris/runners/easyrpg.py:117 +#: lutris/runners/easyrpg.py:116 msgid "" "Skip the title scene and load SaveXX.lsd.\n" "Set to 0 to disable." @@ -3667,21 +3922,21 @@ msgstr "" "Omitir la escena del título y cargar SaveXX.lsd.\n" "Poner a '0' para desactivarlo." -#: lutris/runners/easyrpg.py:126 +#: lutris/runners/easyrpg.py:125 msgid "Record input" msgstr "Registrar entrada" -#: lutris/runners/easyrpg.py:127 +#: lutris/runners/easyrpg.py:126 msgid "Records all button input to the specified log file." msgstr "" "Registra todas las pulsaciones de los botones en el archivo de registro " "especificado." -#: lutris/runners/easyrpg.py:133 +#: lutris/runners/easyrpg.py:132 msgid "Replay input" msgstr "Reproducir entrada" -#: lutris/runners/easyrpg.py:135 +#: lutris/runners/easyrpg.py:134 msgid "" "Replays button input from the specified log file, as generated by 'Record " "input'.\n" @@ -3695,50 +3950,50 @@ msgstr "" "y el estado del directorio de archivos de guardado son también los mismos " "que cuando se guardó el registro." -#: lutris/runners/easyrpg.py:144 lutris/runners/easyrpg.py:153 -#: lutris/runners/easyrpg.py:162 lutris/runners/easyrpg.py:177 -#: lutris/runners/easyrpg.py:189 lutris/runners/easyrpg.py:201 +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 +#: lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 +#: lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 msgid "Debug" msgstr "Depuración" -#: lutris/runners/easyrpg.py:145 +#: lutris/runners/easyrpg.py:144 msgid "Test play" msgstr "Test play" -#: lutris/runners/easyrpg.py:146 +#: lutris/runners/easyrpg.py:145 msgid "Enable TestPlay (debug) mode." msgstr "Activa el modo TestPlay (depuración)." -#: lutris/runners/easyrpg.py:154 +#: lutris/runners/easyrpg.py:153 msgid "Hide title" msgstr "Ocultar el título" -#: lutris/runners/easyrpg.py:155 +#: lutris/runners/easyrpg.py:154 msgid "Hide the title background image and center the command menu." msgstr "Ocultar la imagen de fondo del título y centrar el menú de comandos." -#: lutris/runners/easyrpg.py:163 +#: lutris/runners/easyrpg.py:162 msgid "Start map ID" msgstr "ID del mapa de inicio" -#: lutris/runners/easyrpg.py:165 +#: lutris/runners/easyrpg.py:164 msgid "" "Overwrite the map used for new games and use MapXXXX.lmu instead.\n" "Set to 0 to disable.\n" "\n" "Incompatible with 'Load game ID'." msgstr "" -"Sobrescribir el mapa utilizado para las nuevas partidas y utilizar MapXXXX." -"lmu en su lugar.\n" +"Sobrescribir el mapa utilizado para las nuevas partidas y utilizar " +"MapXXXX.lmu en su lugar.\n" "Poner a '0' para desactivarlo. \n" "\n" "Es incompatible con 'ID de carga de juego'." -#: lutris/runners/easyrpg.py:178 +#: lutris/runners/easyrpg.py:177 msgid "Start position" msgstr "Posición inicial" -#: lutris/runners/easyrpg.py:180 +#: lutris/runners/easyrpg.py:179 msgid "" "Overwrite the party start position and move the party to the specified " "position.\n" @@ -3752,11 +4007,11 @@ msgstr "" "\n" "Es incompatible con 'ID de carga de juego'." -#: lutris/runners/easyrpg.py:190 +#: lutris/runners/easyrpg.py:189 msgid "Start party" msgstr "Grupo inicial" -#: lutris/runners/easyrpg.py:192 +#: lutris/runners/easyrpg.py:191 msgid "" "Overwrite the starting party members with the actors with the specified " "IDs.\n" @@ -3770,19 +4025,19 @@ msgstr "" "\n" "Es incompatible con 'ID de carga de juego'." -#: lutris/runners/easyrpg.py:202 +#: lutris/runners/easyrpg.py:201 msgid "Battle test" msgstr "Batalla de prueba" -#: lutris/runners/easyrpg.py:203 +#: lutris/runners/easyrpg.py:202 msgid "Start a battle test with the specified monster party." msgstr "Iniciar una batalla de prueba con el grupo de monstruos especificado." -#: lutris/runners/easyrpg.py:213 +#: lutris/runners/easyrpg.py:212 msgid "AutoBattle algorithm" msgstr "Algoritmo de AutoBattle" -#: lutris/runners/easyrpg.py:215 +#: lutris/runners/easyrpg.py:214 msgid "" "Which AutoBattle algorithm to use.\n" "\n" @@ -3798,23 +4053,23 @@ msgstr "" "fallos.\n" "ATTACK: como RPG_RT+ pero sólo ataques físicos, sin habilidades." -#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 msgid "RPG_RT" msgstr "RPG_RT" -#: lutris/runners/easyrpg.py:223 lutris/runners/easyrpg.py:242 +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 msgid "RPG_RT+" msgstr "RPG_RT+" -#: lutris/runners/easyrpg.py:224 +#: lutris/runners/easyrpg.py:223 msgid "ATTACK" msgstr "ATTACK" -#: lutris/runners/easyrpg.py:233 +#: lutris/runners/easyrpg.py:232 msgid "EnemyAI algorithm" msgstr "Algoritmo de EnemyAI" -#: lutris/runners/easyrpg.py:235 +#: lutris/runners/easyrpg.py:234 msgid "" "Which EnemyAI algorithm to use.\n" "\n" @@ -3829,11 +4084,11 @@ msgstr "" "RPG_RT+: algoritmo predeterminado compatible con RPG_RT, sin sus " "fallos.\n" -#: lutris/runners/easyrpg.py:251 +#: lutris/runners/easyrpg.py:250 msgid "RNG seed" msgstr "Semilla RNG" -#: lutris/runners/easyrpg.py:252 +#: lutris/runners/easyrpg.py:251 msgid "" "Seeds the random number generator.\n" "Use -1 to disable." @@ -3841,60 +4096,60 @@ msgstr "" "Proporcionar una semilla al generador de números aleatorios (RNG).\n" "Usar -1 para desactivarla." -#: lutris/runners/easyrpg.py:260 lutris/runners/easyrpg.py:268 -#: lutris/runners/easyrpg.py:278 lutris/runners/easyrpg.py:289 +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 #: lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 #: lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 #: lutris/runners/scummvm.py:336 lutris/runners/scummvm.py:349 -#: lutris/runners/scummvm.py:371 lutris/runners/scummvm.py:379 -#: lutris/runners/scummvm.py:387 lutris/runners/scummvm.py:395 -#: lutris/runners/scummvm.py:402 lutris/runners/scummvm.py:410 -#: lutris/runners/scummvm.py:419 lutris/runners/scummvm.py:431 -#: lutris/sysoptions.py:337 +#: lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 +#: lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 +#: lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 msgid "Audio" msgstr "Sonido" -#: lutris/runners/easyrpg.py:261 +#: lutris/runners/easyrpg.py:260 msgid "Enable audio" msgstr "Activar sonido" -#: lutris/runners/easyrpg.py:262 +#: lutris/runners/easyrpg.py:261 msgid "Switch off to disable audio." msgstr "Apagar para desactivar el sonido." -#: lutris/runners/easyrpg.py:269 +#: lutris/runners/easyrpg.py:268 msgid "BGM volume" msgstr "Volumen de música de fondo" -#: lutris/runners/easyrpg.py:270 +#: lutris/runners/easyrpg.py:269 msgid "Volume of the background music." msgstr "El volumen de la música de fondo." -#: lutris/runners/easyrpg.py:279 lutris/runners/scummvm.py:380 +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 msgid "SFX volume" msgstr "Volumen de los efectos" -#: lutris/runners/easyrpg.py:280 +#: lutris/runners/easyrpg.py:279 msgid "Volume of the sound effects." msgstr "El volumen de los efectos de sonido." -#: lutris/runners/easyrpg.py:290 lutris/runners/scummvm.py:404 +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 msgid "Soundfont" msgstr "Soundfont" -#: lutris/runners/easyrpg.py:291 +#: lutris/runners/easyrpg.py:290 msgid "Soundfont in sf2 format to use when playing MIDI files." msgstr "Soundfont en formato sf2 a usar al reproducir archivos MIDI." -#: lutris/runners/easyrpg.py:298 +#: lutris/runners/easyrpg.py:297 msgid "Start in fullscreen mode." msgstr "Iniciar en modo de pantalla completa." -#: lutris/runners/easyrpg.py:306 +#: lutris/runners/easyrpg.py:305 msgid "Game resolution" msgstr "Resolución de juego" -#: lutris/runners/easyrpg.py:308 +#: lutris/runners/easyrpg.py:307 msgid "" "Force a different game resolution.\n" "\n" @@ -3904,23 +4159,23 @@ msgstr "" "\n" "¡Experimental y puede causar artefactos o romper los juegos!" -#: lutris/runners/easyrpg.py:311 +#: lutris/runners/easyrpg.py:310 msgid "320×240 (4:3, Original)" msgstr "320×240 (4:3, original)" -#: lutris/runners/easyrpg.py:312 +#: lutris/runners/easyrpg.py:311 msgid "416×240 (16:9, Widescreen)" msgstr "416×240 (16:9, pantalla ancha)" -#: lutris/runners/easyrpg.py:313 +#: lutris/runners/easyrpg.py:312 msgid "560×240 (21:9, Ultrawide)" msgstr "560×240 (21:9, ultra-ancho)" -#: lutris/runners/easyrpg.py:321 +#: lutris/runners/easyrpg.py:320 msgid "Scaling" msgstr "Escalado" -#: lutris/runners/easyrpg.py:323 +#: lutris/runners/easyrpg.py:322 msgid "" "How the video output is scaled.\n" "\n" @@ -3936,24 +4191,24 @@ msgstr "" "Bilineal: como \"Más cercano\", pero la salida se difumina para " "evitar artefactos\n" -#: lutris/runners/easyrpg.py:329 +#: lutris/runners/easyrpg.py:328 msgid "Nearest" msgstr "Más cercano" -#: lutris/runners/easyrpg.py:330 +#: lutris/runners/easyrpg.py:329 msgid "Integer" msgstr "Entero" -#: lutris/runners/easyrpg.py:331 +#: lutris/runners/easyrpg.py:330 msgid "Bilinear" msgstr "Bilineal" -#: lutris/runners/easyrpg.py:339 lutris/runners/redream.py:30 -#: lutris/runners/scummvm.py:228 +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 +#: lutris/runners/scummvm.py:229 msgid "Stretch" msgstr "Extender" -#: lutris/runners/easyrpg.py:340 +#: lutris/runners/easyrpg.py:339 msgid "" "Ignore the aspect ratio and stretch video output to the entire width of the " "screen." @@ -3961,19 +4216,19 @@ msgstr "" "Ignorar la relación de aspecto y extender la salida de vídeo a la anchura " "completa de la pantalla." -#: lutris/runners/easyrpg.py:347 +#: lutris/runners/easyrpg.py:346 msgid "Enable VSync" msgstr "Activar VSync" -#: lutris/runners/easyrpg.py:348 +#: lutris/runners/easyrpg.py:347 msgid "Switch off to disable VSync and use the FPS limit." msgstr "Desmarcar para desactivar VSync y utilizar el límite de FPS." -#: lutris/runners/easyrpg.py:355 +#: lutris/runners/easyrpg.py:354 msgid "FPS limit" msgstr "Límite de FPS" -#: lutris/runners/easyrpg.py:357 +#: lutris/runners/easyrpg.py:356 msgid "" "Set a custom frames per second limit.\n" "If unspecified, the default is 60 FPS.\n" @@ -3983,47 +4238,42 @@ msgstr "" "Si no se especifica, el valor predeterminado es 60 FPS.\n" "Establecer a '0' para desactivar el limitador de fotogramas." -#: lutris/runners/easyrpg.py:369 lutris/runners/wine.py:563 +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:562 msgid "Show FPS" msgstr "Mostrar FPS" -#: lutris/runners/easyrpg.py:370 +#: lutris/runners/easyrpg.py:369 msgid "Enable frames per second counter." msgstr "Activar el contador de fotogramas por segundo." -#: lutris/runners/easyrpg.py:372 lutris/runners/mednafen.py:80 -#: lutris/runners/wine.py:560 -msgid "Disabled" -msgstr "Desactivado" - -#: lutris/runners/easyrpg.py:373 +#: lutris/runners/easyrpg.py:372 msgid "Fullscreen & title bar" msgstr "Pantalla completa y barra de título" -#: lutris/runners/easyrpg.py:374 +#: lutris/runners/easyrpg.py:373 msgid "Fullscreen, title bar & window" msgstr "Pantalla completa, barra de título y ventana" -#: lutris/runners/easyrpg.py:381 lutris/runners/easyrpg.py:389 -#: lutris/runners/easyrpg.py:396 lutris/runners/easyrpg.py:403 +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 msgid "Runtime Package" msgstr "Paquete del tiempo de ejecución" -#: lutris/runners/easyrpg.py:382 +#: lutris/runners/easyrpg.py:381 msgid "Enable RTP" msgstr "Activar RTP" -#: lutris/runners/easyrpg.py:383 +#: lutris/runners/easyrpg.py:382 msgid "Switch off to disable support for the Runtime Package (RTP)." msgstr "" "Desmarcar para desactivar la compatibilidad con el paquete de tiempo de " "ejecución (RTP)." -#: lutris/runners/easyrpg.py:390 +#: lutris/runners/easyrpg.py:389 msgid "RPG2000 RTP location" msgstr "Ubicación de RPG2000 RTP" -#: lutris/runners/easyrpg.py:391 +#: lutris/runners/easyrpg.py:390 msgid "" "Full path to a directory containing an extracted RPG Maker 2000 Run-Time-" "Package (RTP)." @@ -4031,11 +4281,11 @@ msgstr "" "Ruta completa a un directorio que contiene un paquete de tiempo de ejecución " "(RTP) de RPG Maker 2000 extraído." -#: lutris/runners/easyrpg.py:397 +#: lutris/runners/easyrpg.py:396 msgid "RPG2003 RTP location" msgstr "Ubicación de RPG2003 RTP" -#: lutris/runners/easyrpg.py:398 +#: lutris/runners/easyrpg.py:397 msgid "" "Full path to a directory containing an extracted RPG Maker 2003 Run-Time-" "Package (RTP)." @@ -4043,15 +4293,15 @@ msgstr "" "Ruta completa a un directorio que contiene un paquete de tiempo de ejecución " "(RTP) de RPG Maker 2003 extraído." -#: lutris/runners/easyrpg.py:404 +#: lutris/runners/easyrpg.py:403 msgid "Fallback RTP location" msgstr "Ubicación del RTP de reserva" -#: lutris/runners/easyrpg.py:405 +#: lutris/runners/easyrpg.py:404 msgid "Full path to a directory containing a combined RTP." msgstr "Ruta completa a un directorio que contiene un RTP combinado." -#: lutris/runners/easyrpg.py:518 +#: lutris/runners/easyrpg.py:517 msgid "No game directory provided" msgstr "No se ha proporcionado ningún directorio de juegos" @@ -4127,7 +4377,7 @@ msgstr "" "El directorio donde ejecutar el comando. Tenga en cuenta que debe ser un " "directorio dentro del entorno aislado." -#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:404 +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 msgid "Environment variables" msgstr "Variables de entorno" @@ -4358,7 +4608,7 @@ msgid "Media" msgstr "Medios" #: lutris/runners/fsuae.py:205 -msgid "Additionnal floppies" +msgid "Additional floppies" msgstr "Disquetes adicionales" #: lutris/runners/fsuae.py:207 @@ -4449,8 +4699,8 @@ msgstr "" "Reemplaza la cantidad de memoria gráfica de la tarjeta gráfica. La opción de " "0 MB no vale realmente pero existe por razones de interfaz de usuario." -#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:312 -#: lutris/sysoptions.py:320 lutris/sysoptions.py:328 +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 +#: lutris/sysoptions.py:324 lutris/sysoptions.py:333 msgid "CPU" msgstr "CPU" @@ -4556,7 +4806,7 @@ msgstr "Hatari" msgid "Atari ST computers emulator" msgstr "Emulador de computadoras Atari ST" -#: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:211 +#: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:212 msgid "Atari ST" msgstr "Atari ST" @@ -4588,7 +4838,7 @@ msgid "Keyboard" msgstr "Teclado" #: lutris/runners/hatari.py:47 lutris/runners/o2em.py:41 -#: lutris/runners/scummvm.py:268 +#: lutris/runners/scummvm.py:269 msgid "Joystick" msgstr "Mando" @@ -4695,13 +4945,13 @@ msgstr "Ubicación de la BIOS" #: lutris/runners/jzintv.py:36 msgid "" -"Choose the folder containing the Intellivision BIOS files (exec.bin and grom." -"bin).\n" +"Choose the folder containing the Intellivision BIOS files (exec.bin and " +"grom.bin).\n" "These files contain code from the original hardware necessary to the " "emulation." msgstr "" -"Elija la carpeta que contiene los archivos BIOS de la Intellivision (exec." -"bin y grom.bin).\n" +"Elija la carpeta que contiene los archivos BIOS de la Intellivision " +"(exec.bin y grom.bin).\n" "Estos archivos contienen el código del hardware original necesario para la " "emulación." @@ -4709,23 +4959,23 @@ msgstr "" msgid "Resolution" msgstr "Resolución" -#: lutris/runners/libretro.py:66 +#: lutris/runners/libretro.py:69 msgid "Libretro" msgstr "Libretro" -#: lutris/runners/libretro.py:67 +#: lutris/runners/libretro.py:70 msgid "Multi-system emulator" msgstr "Emulador multisistema" -#: lutris/runners/libretro.py:77 +#: lutris/runners/libretro.py:80 msgid "Core" msgstr "Núcleo" -#: lutris/runners/libretro.py:86 lutris/runners/zdoom.py:76 +#: lutris/runners/libretro.py:89 lutris/runners/zdoom.py:76 msgid "Config file" msgstr "Archivo de configuración" -#: lutris/runners/libretro.py:98 +#: lutris/runners/libretro.py:101 msgid "Verbose logging" msgstr "Registro detallado" @@ -4733,11 +4983,19 @@ msgstr "Registro detallado" msgid "The installer does not specify the libretro 'core' version." msgstr "El instalador no especifica la versión 'core' de libretro." -#: lutris/runners/libretro.py:276 +#: lutris/runners/libretro.py:246 +msgid "" +"The emulator files BIOS location must be configured in the Preferences " +"dialog." +msgstr "" +"Debe configurar la ubicación de los archivos de BIOS del emulador en el " +"diálogo de preferencias." + +#: lutris/runners/libretro.py:292 msgid "No core has been selected for this game" msgstr "No se ha seleccionado ningún núcleo para este juego" -#: lutris/runners/libretro.py:282 +#: lutris/runners/libretro.py:298 msgid "No game file specified" msgstr "No se ha especificado ningún archivo de juego" @@ -4745,7 +5003,7 @@ msgstr "No se ha especificado ningún archivo de juego" msgid "Runs native games" msgstr "Ejecuta juegos nativos" -#: lutris/runners/linux.py:27 lutris/runners/wine.py:184 +#: lutris/runners/linux.py:27 lutris/runners/wine.py:210 msgid "Executable" msgstr "Ejecutable" @@ -4754,30 +5012,30 @@ msgid "The game's main executable file" msgstr "El archivo ejecutable principal del juego" #: lutris/runners/linux.py:33 lutris/runners/mame.py:126 -#: lutris/runners/scummvm.py:65 lutris/runners/steam.py:49 -#: lutris/runners/steam.py:99 lutris/runners/wine.py:190 +#: lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 +#: lutris/runners/steam.py:86 lutris/runners/wine.py:216 #: lutris/runners/zdoom.py:28 msgid "Arguments" msgstr "Argumentos" #: lutris/runners/linux.py:34 lutris/runners/mame.py:127 -#: lutris/runners/scummvm.py:66 +#: lutris/runners/scummvm.py:67 msgid "Command line arguments used when launching the game" msgstr "Argumentos de la línea de comandos utilizados al iniciar el juego" -#: lutris/runners/linux.py:49 +#: lutris/runners/linux.py:47 msgid "Preload library" msgstr "Precargar librería" -#: lutris/runners/linux.py:51 +#: lutris/runners/linux.py:49 msgid "A library to load before running the game's executable." msgstr "Una librería para cargar antes de iniciar el ejecutable del juego." -#: lutris/runners/linux.py:56 +#: lutris/runners/linux.py:54 msgid "Add directory to LD_LIBRARY_PATH" msgstr "Añadir directorio a LD_LIBRARY_PATH" -#: lutris/runners/linux.py:59 +#: lutris/runners/linux.py:57 msgid "" "A directory where libraries should be searched for first, before the " "standard set of directories; this is useful when debugging a new library or " @@ -4787,14 +5045,14 @@ msgstr "" "conjunto estándar de directorios; útil para depurar una nueva librería o se " "utiliza una librería no estándar para fines especiales." -#: lutris/runners/linux.py:141 +#: lutris/runners/linux.py:139 msgid "" "The runner could not find a command or exe to use for this configuration." msgstr "" "El ejecutor no puede encontrar un comando o exe que esta configuración pueda " "usar." -#: lutris/runners/linux.py:164 +#: lutris/runners/linux.py:162 #, python-format msgid "The file %s is not executable" msgstr "El archivo %s no es ejecutable" @@ -4807,7 +5065,7 @@ msgstr "MAME" msgid "Arcade game emulator" msgstr "Emulador de juegos arcade" -#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:69 +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 msgid "The emulated machine." msgstr "La máquina emulada." @@ -4923,7 +5181,7 @@ msgstr "Cinta perforada 2" msgid "Print Out" msgstr "Imprimir" -#: lutris/runners/mame.py:138 lutris/runners/mame.py:147 +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 msgid "Autoboot" msgstr "Autoarranque" @@ -4931,7 +5189,7 @@ msgstr "Autoarranque" msgid "Autoboot command" msgstr "Comando de autoarranque" -#: lutris/runners/mame.py:141 +#: lutris/runners/mame.py:140 msgid "" "Autotype this command when the system has started, an enter keypress is " "automatically added." @@ -4939,15 +5197,15 @@ msgstr "" "Escribe automáticamente este comando tras iniciar el sistema, se añade " "automáticamente una pulsación de la tecla intro." -#: lutris/runners/mame.py:148 +#: lutris/runners/mame.py:146 msgid "Delay before entering autoboot command" msgstr "Retraso antes de introducir el comando de autoarranque" -#: lutris/runners/mame.py:158 +#: lutris/runners/mame.py:156 msgid "ROM/BIOS path" msgstr "Ruta de ROM/BIOS" -#: lutris/runners/mame.py:160 +#: lutris/runners/mame.py:158 msgid "" "Choose the folder containing ROMs and BIOS files.\n" "These files contain code from the original hardware necessary to the " @@ -4957,29 +5215,42 @@ msgstr "" "Estos archivos contienen código del hardware original necesario para la " "emulación." -#: lutris/runners/mame.py:176 +#: lutris/runners/mame.py:174 msgid "CRT effect ()" msgstr "Efecto de CRT ()" -#: lutris/runners/mame.py:177 +#: lutris/runners/mame.py:175 msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." msgstr "" "Aplica un efecto de CRT a la pantalla. Requiere un renderizador OpenGL." -#: lutris/runners/mame.py:184 +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 +#: lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "Depuración" + +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "Detallado" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "muestra información adicional de diagnóstico." + +#: lutris/runners/mame.py:191 msgid "Video backend" msgstr "Backend de vídeo" -#: lutris/runners/mame.py:190 lutris/runners/scummvm.py:186 +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 #: lutris/runners/vice.py:74 msgid "Software" msgstr "Software" -#: lutris/runners/mame.py:198 +#: lutris/runners/mame.py:205 msgid "Wait for VSync" msgstr "Esperar VSync" -#: lutris/runners/mame.py:200 +#: lutris/runners/mame.py:206 msgid "" "Enable waiting for the start of vblank before flipping screens; " "reduces tearing effects." @@ -4987,51 +5258,51 @@ msgstr "" "Activa la espera al inicio de vblank antes de reemplazar los " "fotogramas; reduce el efecto de rasgado." -#: lutris/runners/mame.py:208 +#: lutris/runners/mame.py:213 msgid "Menu mode key" msgstr "Tecla de modo menú" -#: lutris/runners/mame.py:210 +#: lutris/runners/mame.py:215 msgid "Scroll Lock" msgstr "Bloqueo de desplazamiento" -#: lutris/runners/mame.py:211 +#: lutris/runners/mame.py:216 msgid "Num Lock" msgstr "Bloqueo numérico" -#: lutris/runners/mame.py:212 +#: lutris/runners/mame.py:217 msgid "Caps Lock" msgstr "Bloqueo de mayúsculas" -#: lutris/runners/mame.py:213 +#: lutris/runners/mame.py:218 msgid "Menu" msgstr "Menú" -#: lutris/runners/mame.py:214 +#: lutris/runners/mame.py:219 msgid "Right Control" msgstr "Control derecho" -#: lutris/runners/mame.py:215 +#: lutris/runners/mame.py:220 msgid "Left Control" msgstr "Control izquierdo" -#: lutris/runners/mame.py:216 +#: lutris/runners/mame.py:221 msgid "Right Alt" msgstr "Alt derecho" -#: lutris/runners/mame.py:217 +#: lutris/runners/mame.py:222 msgid "Left Alt" msgstr "Alt izquierdo" -#: lutris/runners/mame.py:218 +#: lutris/runners/mame.py:223 msgid "Right Super" msgstr "Súper derecho" -#: lutris/runners/mame.py:219 +#: lutris/runners/mame.py:224 msgid "Left Super" msgstr "Súper izquierdo" -#: lutris/runners/mame.py:223 +#: lutris/runners/mame.py:228 msgid "" "Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: " "Scroll Lock)" @@ -5039,20 +5310,20 @@ msgstr "" "Tecla para cambiar entre el modo de teclado completo y el modo de teclado " "parcial (predeterminado: Bloq. despl.)" -#: lutris/runners/mame.py:236 lutris/runners/mame.py:283 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 msgid "Arcade" msgstr "Arcade" -#: lutris/runners/mame.py:236 lutris/runners/mame.py:282 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 msgid "Nintendo Game & Watch" msgstr "Nintendo Game & Watch" -#: lutris/runners/mame.py:329 +#: lutris/runners/mame.py:337 #, python-format msgid "No device is set for machine %s" msgstr "No hay dispositivo establecido para la máquina %s" -#: lutris/runners/mame.py:339 +#: lutris/runners/mame.py:347 #, python-format msgid "The path '%s' is not set. please set it in the options." msgstr "La ruta '%s' no está definida, defínala en las opciones." @@ -5105,10 +5376,6 @@ msgstr "NEC PC Engine TurboGrafx-16" msgid "NEC PC-FX" msgstr "NEC PC-FX" -#: lutris/runners/mednafen.py:31 -msgid "Sony PlayStation" -msgstr "Sony PlayStation" - #: lutris/runners/mednafen.py:32 msgid "Sega Saturn" msgstr "Sega Saturn" @@ -5185,7 +5452,7 @@ msgstr "WonderSwan" msgid "Virtual Boy" msgstr "Virtual Boy" -#: lutris/runners/mednafen.py:61 +#: lutris/runners/mednafen.py:60 msgid "" "The game data, commonly called a ROM image. \n" "Mednafen supports GZIP and ZIP compressed ROMs." @@ -5193,47 +5460,47 @@ msgstr "" "Los datos del juego, comúnmente llamados imagen de la ROM. \n" "Mednafen soporta ROM comprimidas con GZIP y ZIP." -#: lutris/runners/mednafen.py:67 +#: lutris/runners/mednafen.py:65 msgid "Machine type" msgstr "Tipo de máquina" -#: lutris/runners/mednafen.py:78 +#: lutris/runners/mednafen.py:76 msgid "Aspect ratio" msgstr "Relación de aspecto" -#: lutris/runners/mednafen.py:81 +#: lutris/runners/mednafen.py:79 msgid "Stretched" msgstr "Extendido" -#: lutris/runners/mednafen.py:82 lutris/runners/vice.py:66 +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 msgid "Preserve aspect ratio" msgstr "Conservar la relación de aspecto" -#: lutris/runners/mednafen.py:83 +#: lutris/runners/mednafen.py:81 msgid "Integer scale" msgstr "Escala de enteros" -#: lutris/runners/mednafen.py:84 +#: lutris/runners/mednafen.py:82 msgid "Multiple of 2 scale" msgstr "Escala múltiplo de 2" -#: lutris/runners/mednafen.py:92 +#: lutris/runners/mednafen.py:90 msgid "Video scaler" msgstr "Escalador de vídeo" -#: lutris/runners/mednafen.py:116 +#: lutris/runners/mednafen.py:114 msgid "Sound device" msgstr "Dispositivo de sonido" -#: lutris/runners/mednafen.py:118 +#: lutris/runners/mednafen.py:116 msgid "Mednafen default" msgstr "Predeterminado de Mednafen" -#: lutris/runners/mednafen.py:119 +#: lutris/runners/mednafen.py:117 msgid "ALSA default" msgstr "predeterminado de ALSA" -#: lutris/runners/mednafen.py:129 +#: lutris/runners/mednafen.py:127 msgid "Use default Mednafen controller configuration" msgstr "Usar la configuración predeterminada del controlador Mednafen" @@ -5283,7 +5550,7 @@ msgstr "Phillips Videopac+" msgid "Brandt Jopac" msgstr "Brandt Jopac" -#: lutris/runners/o2em.py:38 lutris/runners/wine.py:518 +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:519 msgid "Disable" msgstr "Desactivar" @@ -5299,10 +5566,6 @@ msgstr "W,S,A,D,ESPACIO" msgid "BIOS" msgstr "BIOS" -#: lutris/runners/o2em.py:64 lutris/runners/o2em.py:72 -msgid "Controllers" -msgstr "Controladores" - #: lutris/runners/o2em.py:65 msgid "First controller" msgstr "Primer controlador" @@ -5574,19 +5837,19 @@ msgstr "Sony PlayStation 3" msgid "Path to EBOOT.BIN" msgstr "Ruta a EBOOT.BIN" -#: lutris/runners/runner.py:166 +#: lutris/runners/runner.py:160 msgid "Custom executable for the runner" msgstr "Binario personalizado para el ejecutor" -#: lutris/runners/runner.py:173 +#: lutris/runners/runner.py:167 msgid "Side Panel" msgstr "Panel lateral" -#: lutris/runners/runner.py:176 +#: lutris/runners/runner.py:170 msgid "Visible in Side Panel" msgstr "Visible en el panel lateral" -#: lutris/runners/runner.py:180 +#: lutris/runners/runner.py:174 msgid "" "Show this runner in the side panel if it is installed or available through " "Flatpak." @@ -5594,13 +5857,13 @@ msgstr "" "Mostrar este ejecutor en el panel lateral si está instalado o está " "disponible a través de Flatpak." -#: lutris/runners/runner.py:195 lutris/runners/runner.py:204 +#: lutris/runners/runner.py:189 lutris/runners/runner.py:198 #: lutris/runners/vice.py:115 lutris/util/system.py:261 #, python-format msgid "The executable '%s' could not be found." msgstr "No se ha podido encontrar el ejecutable '%s'." -#: lutris/runners/runner.py:439 +#: lutris/runners/runner.py:453 msgid "" "The required runner is not installed.\n" "Do you wish to install it now?" @@ -5608,29 +5871,32 @@ msgstr "" "El ejecutor requerido no está instalado.\n" "¿Desea instalarlo ahora?" -#: lutris/runners/runner.py:440 +#: lutris/runners/runner.py:454 msgid "Required runner unavailable" msgstr "Ejecutor requerido no disponible" -#: lutris/runners/runner.py:495 +#: lutris/runners/runner.py:509 +#, python-brace-format msgid "Failed to retrieve {} ({}) information" msgstr "Fallo al obtener la información {} ({})" -#: lutris/runners/runner.py:500 +#: lutris/runners/runner.py:514 #, python-format msgid "The '%s' version of the '%s' runner can't be downloaded." msgstr "No es posible descargar la versión '%s' del ejecutor '%s'." -#: lutris/runners/runner.py:503 +#: lutris/runners/runner.py:517 #, python-format msgid "The the '%s' runner can't be downloaded." msgstr "No se puede descargar el ejecutor '%s'." -#: lutris/runners/runner.py:532 +#: lutris/runners/runner.py:546 +#, python-brace-format msgid "Failed to extract {}" msgstr "Fallo al extraer {}" -#: lutris/runners/runner.py:537 +#: lutris/runners/runner.py:551 +#, python-brace-format msgid "Failed to extract {}: {}" msgstr "Fallo al extraer {}: {}" @@ -5666,43 +5932,43 @@ msgstr "Claves del título" msgid "File containing the title keys." msgstr "Archivo que contiene las claves del título." -#: lutris/runners/scummvm.py:31 +#: lutris/runners/scummvm.py:32 msgid "Warning Scalers may not work with OpenGL rendering." msgstr "" "Atención Los escaladores pueden no funcionar con la representación " "OpenGL." -#: lutris/runners/scummvm.py:44 +#: lutris/runners/scummvm.py:45 #, python-format msgid "Warning The '%s' scaler does not work with a scale factor of %s." msgstr "" "Atención El escalador '%s' no funciona con un factor de escala de %s." -#: lutris/runners/scummvm.py:53 +#: lutris/runners/scummvm.py:54 msgid "Engine for point-and-click games." -msgstr "Motor para juegos de apuntar y pulsar." +msgstr "Motor para juegos de apuntar y clic." -#: lutris/runners/scummvm.py:54 lutris/services/scummvm.py:29 +#: lutris/runners/scummvm.py:55 lutris/services/scummvm.py:29 msgid "ScummVM" msgstr "ScummVM" -#: lutris/runners/scummvm.py:60 +#: lutris/runners/scummvm.py:61 msgid "Game identifier" msgstr "Identificador del juego" -#: lutris/runners/scummvm.py:61 +#: lutris/runners/scummvm.py:62 msgid "Game files location" msgstr "Ubicación de los archivos del juego" -#: lutris/runners/scummvm.py:118 +#: lutris/runners/scummvm.py:119 msgid "Enable subtitles" msgstr "Activar subtítulos" -#: lutris/runners/scummvm.py:126 +#: lutris/runners/scummvm.py:127 msgid "Aspect ratio correction" msgstr "Corrección de la relación de aspecto" -#: lutris/runners/scummvm.py:130 +#: lutris/runners/scummvm.py:131 msgid "" "Most games supported by ScummVM were made for VGA display modes using " "rectangular pixels. Activating this option for these games will preserve the " @@ -5713,11 +5979,11 @@ msgstr "" "estos juegos se conservará la relación de aspecto 4:3 para la que fueron " "creados." -#: lutris/runners/scummvm.py:139 +#: lutris/runners/scummvm.py:140 msgid "Graphic scaler" msgstr "Escalador gráfico" -#: lutris/runners/scummvm.py:156 +#: lutris/runners/scummvm.py:157 msgid "" "The algorithm used to scale up the game's base resolution, resulting in " "different visual styles. " @@ -5725,11 +5991,11 @@ msgstr "" "El algoritmo utilizado para escalar la resolución base del juego, dando " "lugar a diferentes estilos visuales. " -#: lutris/runners/scummvm.py:162 +#: lutris/runners/scummvm.py:163 msgid "Scale factor" msgstr "Factor de escalado" -#: lutris/runners/scummvm.py:173 +#: lutris/runners/scummvm.py:174 msgid "" "Changes the resolution of the game. For example, a 2x scale will take a " "320x200 resolution game and scale it up to 640x400. " @@ -5737,112 +6003,112 @@ msgstr "" "Cambia la resolución del juego. Por ejemplo, una valor 2x escalará un juego " "de 320x200 de resolución hasta los 640x400. " -#: lutris/runners/scummvm.py:182 +#: lutris/runners/scummvm.py:183 msgid "Renderer" msgstr "Renderizador" -#: lutris/runners/scummvm.py:187 +#: lutris/runners/scummvm.py:188 msgid "OpenGL" msgstr "OpenGL" -#: lutris/runners/scummvm.py:188 +#: lutris/runners/scummvm.py:189 msgid "OpenGL (with shaders)" msgstr "OpenGL (con sombreadores)" -#: lutris/runners/scummvm.py:192 +#: lutris/runners/scummvm.py:193 msgid "Changes the rendering method used for 3D games." msgstr "Cambia el método de renderizado empleado en los juegos 3D." -#: lutris/runners/scummvm.py:197 +#: lutris/runners/scummvm.py:198 msgid "Render mode" msgstr "Modo de renderizado" -#: lutris/runners/scummvm.py:201 +#: lutris/runners/scummvm.py:202 msgid "Hercules (Green)" msgstr "Hércules (verde)" -#: lutris/runners/scummvm.py:202 +#: lutris/runners/scummvm.py:203 msgid "Hercules (Amber)" msgstr "Hércules (ambar)" -#: lutris/runners/scummvm.py:203 +#: lutris/runners/scummvm.py:204 msgid "CGA" msgstr "CGA" -#: lutris/runners/scummvm.py:204 +#: lutris/runners/scummvm.py:205 msgid "EGA" msgstr "EGA" -#: lutris/runners/scummvm.py:205 +#: lutris/runners/scummvm.py:206 msgid "VGA" msgstr "VGA" -#: lutris/runners/scummvm.py:206 +#: lutris/runners/scummvm.py:207 msgid "Amiga" msgstr "Amiga" -#: lutris/runners/scummvm.py:207 +#: lutris/runners/scummvm.py:208 msgid "FM Towns" msgstr "FM Towns" -#: lutris/runners/scummvm.py:208 +#: lutris/runners/scummvm.py:209 msgid "PC-9821" msgstr "PC-9821" -#: lutris/runners/scummvm.py:209 +#: lutris/runners/scummvm.py:210 msgid "PC-9801" msgstr "PC-9801" -#: lutris/runners/scummvm.py:210 +#: lutris/runners/scummvm.py:211 msgid "Apple IIgs" msgstr "Apple IIgs" -#: lutris/runners/scummvm.py:212 +#: lutris/runners/scummvm.py:213 msgid "Macintosh" msgstr "Macintosh" -#: lutris/runners/scummvm.py:216 +#: lutris/runners/scummvm.py:217 msgid "" "Changes the graphics hardware the game will target, if the game supports " "this." msgstr "" "Cambia el modo gráfico que empleará el juego, si es que este lo admite." -#: lutris/runners/scummvm.py:221 +#: lutris/runners/scummvm.py:222 msgid "Stretch mode" msgstr "Modo de ajuste" -#: lutris/runners/scummvm.py:225 +#: lutris/runners/scummvm.py:226 msgid "Center" msgstr "Centrar" -#: lutris/runners/scummvm.py:226 +#: lutris/runners/scummvm.py:227 msgid "Pixel Perfect" msgstr "Píxel perfecto" -#: lutris/runners/scummvm.py:227 +#: lutris/runners/scummvm.py:228 msgid "Even Pixels" msgstr "Píxeles compensados" -#: lutris/runners/scummvm.py:229 +#: lutris/runners/scummvm.py:230 msgid "Fit" msgstr "Encajar" -#: lutris/runners/scummvm.py:230 +#: lutris/runners/scummvm.py:231 msgid "Fit (force aspect ratio)" msgstr "Encajar (forzando la relación de aspecto)" -#: lutris/runners/scummvm.py:234 +#: lutris/runners/scummvm.py:235 msgid "Changes how the game is placed when the window is resized." msgstr "" "Cambia la forma en la que se sitúa el juego cuando se cambia el tamaño de la " "ventana." -#: lutris/runners/scummvm.py:239 +#: lutris/runners/scummvm.py:240 msgid "Filtering" msgstr "Filtrado" -#: lutris/runners/scummvm.py:242 +#: lutris/runners/scummvm.py:243 msgid "" "Uses bilinear interpolation instead of nearest neighbor resampling for the " "aspect ratio correction and stretch mode." @@ -5850,15 +6116,15 @@ msgstr "" "Usa interpolación bilineal en lugar de remuestreo de vecino más próximo para " "la corrección de la relación de aspecto y el modo expandido." -#: lutris/runners/scummvm.py:250 +#: lutris/runners/scummvm.py:251 msgid "Data directory" msgstr "Directorio de datos" -#: lutris/runners/scummvm.py:252 +#: lutris/runners/scummvm.py:253 msgid "Defaults to share/scummvm if unspecified." msgstr "Por defecto es share/scummvm si no se especifica." -#: lutris/runners/scummvm.py:260 +#: lutris/runners/scummvm.py:261 msgid "" "Specifes platform of game. Allowed values: 2gs, 3do, acorn, amiga, atari, " "c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" @@ -5867,21 +6133,21 @@ msgstr "" "acorn, amiga, atari, c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, " "windows" -#: lutris/runners/scummvm.py:269 +#: lutris/runners/scummvm.py:270 msgid "Enables joystick input (default: 0 = first joystick)" msgstr "Activa la entrada de mando (predeterminado: 0 = primer mando)" -#: lutris/runners/scummvm.py:276 +#: lutris/runners/scummvm.py:277 msgid "" "Selects language (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" msgstr "" "Escoge el idioma (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" -#: lutris/runners/scummvm.py:282 +#: lutris/runners/scummvm.py:283 msgid "Engine speed" msgstr "Velocidad del motor" -#: lutris/runners/scummvm.py:284 +#: lutris/runners/scummvm.py:285 msgid "" "Sets frames per second limit (0 - 100) for Grim Fandango or Escape from " "Monkey Island (default: 60)." @@ -5946,53 +6212,53 @@ msgstr "" "Escoge qué emulador OPL usará ScummVM cuando se usa AdLib como dispositivo " "preferido." -#: lutris/runners/scummvm.py:372 +#: lutris/runners/scummvm.py:371 msgid "Music volume" msgstr "Volumen de la música" -#: lutris/runners/scummvm.py:373 +#: lutris/runners/scummvm.py:372 msgid "Sets the music volume, 0-255 (default: 192)" msgstr "Establece el volumen de la música, 0-255 (predeterminado: 192)" -#: lutris/runners/scummvm.py:381 +#: lutris/runners/scummvm.py:380 msgid "Sets the sfx volume, 0-255 (default: 192)" msgstr "" "Establece el volumen de los efectos de sonido, 0-255 (predeterminado: 192)" -#: lutris/runners/scummvm.py:388 +#: lutris/runners/scummvm.py:387 msgid "Speech volume" msgstr "Volumen de voz" -#: lutris/runners/scummvm.py:389 +#: lutris/runners/scummvm.py:388 msgid "Sets the speech volume, 0-255 (default: 192)" msgstr "Establece el volumen de voz, 0-255 (predeterminado: 192)" -#: lutris/runners/scummvm.py:396 +#: lutris/runners/scummvm.py:395 msgid "MIDI gain" msgstr "Ganancia MIDI" -#: lutris/runners/scummvm.py:397 +#: lutris/runners/scummvm.py:396 msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" msgstr "" "Establece la ganancia para la reproducción MIDI. 0-1000 (predeterminado: 100)" -#: lutris/runners/scummvm.py:405 +#: lutris/runners/scummvm.py:404 msgid "Specifies the path to a soundfont file." msgstr "Especifica la ruta a un archivo soundfont." -#: lutris/runners/scummvm.py:411 +#: lutris/runners/scummvm.py:410 msgid "Mixed AdLib/MIDI mode" msgstr "Modo mixto AdLib/MIDI" -#: lutris/runners/scummvm.py:414 +#: lutris/runners/scummvm.py:413 msgid "Combines MIDI music with AdLib sound effects." msgstr "Combina música MIDI y efectos de sonido AdLib." -#: lutris/runners/scummvm.py:420 +#: lutris/runners/scummvm.py:419 msgid "True Roland MT-32" msgstr "Roland MT-32 real" -#: lutris/runners/scummvm.py:424 +#: lutris/runners/scummvm.py:423 msgid "" "Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, " "CM-32L, CM-500 or other MT-32 device." @@ -6000,11 +6266,11 @@ msgstr "" "Comunica a ScummVM que el dispositivo MIDI es un dispositivo real Roland " "MT-32, LAPC-I, CM-64, CM-32L, CM-500 u otro MT-32." -#: lutris/runners/scummvm.py:432 +#: lutris/runners/scummvm.py:431 msgid "Enable Roland GS" msgstr "Activar Roland GS" -#: lutris/runners/scummvm.py:436 +#: lutris/runners/scummvm.py:435 msgid "" "Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, " "such as an SC-55, SC-88 or SC-8820." @@ -6012,47 +6278,43 @@ msgstr "" "Comunica a ScummVM que el dispositivo MIDI es un dispositivo GS mapeado como " "MT-32, como un SC-55, SC-88 o SC-8820." -#: lutris/runners/scummvm.py:444 +#: lutris/runners/scummvm.py:443 msgid "Use alternate intro" msgstr "Usar introducción alternativa" -#: lutris/runners/scummvm.py:445 +#: lutris/runners/scummvm.py:444 msgid "Uses alternative intro for CD versions" msgstr "Usa la introducción alternativa para las versiones en CD" -#: lutris/runners/scummvm.py:451 +#: lutris/runners/scummvm.py:450 msgid "Copy protection" msgstr "Protección contra copia" -#: lutris/runners/scummvm.py:452 +#: lutris/runners/scummvm.py:451 msgid "Enables copy protection" msgstr "Activa la protección contra copia" -#: lutris/runners/scummvm.py:458 +#: lutris/runners/scummvm.py:457 msgid "Demo mode" msgstr "Modo demostración" -#: lutris/runners/scummvm.py:459 +#: lutris/runners/scummvm.py:458 msgid "Starts demo mode of Maniac Mansion or The 7th Guest" msgstr "Inicia el modo demostración de Maniac Mansion o The 7th Guest" -#: lutris/runners/scummvm.py:465 lutris/runners/scummvm.py:473 -msgid "Debugging" -msgstr "Depuración" - -#: lutris/runners/scummvm.py:466 +#: lutris/runners/scummvm.py:465 msgid "Debug level" msgstr "Nivel de depuración" -#: lutris/runners/scummvm.py:467 +#: lutris/runners/scummvm.py:466 msgid "Sets debug verbosity level" msgstr "Establece el modo de detalle de depuración" -#: lutris/runners/scummvm.py:474 +#: lutris/runners/scummvm.py:473 msgid "Debug flags" msgstr "Opciones de depuración" -#: lutris/runners/scummvm.py:475 +#: lutris/runners/scummvm.py:474 msgid "Enables engine specific debug flags" msgstr "Activa opciones de depuración específicas del motor" @@ -6089,8 +6351,9 @@ msgstr "Ejecuta Steam para los juegos de Linux" #: lutris/runners/steam.py:40 msgid "" -"The application ID can be retrieved from the game's page at steampowered." -"com. Example: 235320 is the app ID for Original War in: \n" +"The application ID can be retrieved from the game's page at " +"steampowered.com. Example: 235320 is the app ID for Original War " +"in: \n" "http://store.steampowered.com/app/235320/" msgstr "" "El ID de la aplicación se puede obtener en la página del juego en " @@ -6106,30 +6369,30 @@ msgstr "" "Argumentos de la línea de comandos utilizados al lanzar el juego.\n" "Se ignora cuando el modo Steam Big Picture está activado." -#: lutris/runners/steam.py:57 +#: lutris/runners/steam.py:56 msgid "DRM free mode (Do not launch Steam)" msgstr "Modo sin DRM (no iniciar Steam)" -#: lutris/runners/steam.py:61 +#: lutris/runners/steam.py:60 msgid "" "Run the game directly without Steam, requires the game binary path to be set" msgstr "" "Ejecutar el juego directamente sin Steam, requiere que se establezca la ruta " "al binario del juego" -#: lutris/runners/steam.py:66 +#: lutris/runners/steam.py:65 msgid "Game binary path" msgstr "Ruta al binario del juego" -#: lutris/runners/steam.py:68 +#: lutris/runners/steam.py:67 msgid "Path to the game executable (Required by DRM free mode)" msgstr "Ruta de acceso al binario del juego (requerido por el modo sin DRM)" -#: lutris/runners/steam.py:74 +#: lutris/runners/steam.py:73 msgid "Start Steam in Big Picture mode" msgstr "Iniciar Steam en modo Big Picture" -#: lutris/runners/steam.py:78 +#: lutris/runners/steam.py:77 msgid "" "Launches Steam in Big Picture mode.\n" "Only works if Steam is not running or already running in Big Picture mode.\n" @@ -6140,26 +6403,16 @@ msgstr "" "Big Picture.\n" "Útil cuando se juega con un Steam Controller." -#: lutris/runners/steam.py:86 -msgid "Start Steam with LSI" -msgstr "Iniciar Steam con LSI" - -#: lutris/runners/steam.py:90 -msgid "" -"Launches steam with LSI patches enabled. Make sure Lutris Runtime is " -"disabled and you have LSI installed. https://github.com/solus-project/linux-" -"steam-integration" -msgstr "" -"Inicia steam con los parches LSI activados. Asegúrese de que el tiempo de " -"ejecución de Lutris está desactivado y de que tiene instalado LSI. https://" -"github.com/solus-project/linux-steam-integration" - -#: lutris/runners/steam.py:101 +#: lutris/runners/steam.py:88 msgid "Extra command line arguments used when launching Steam" msgstr "" "Argumentos adicionales de la línea de comandos utilizados al iniciar Steam" -#: lutris/runners/steam.py:188 +#: lutris/runners/steam.py:170 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "La instalación de Steam para Linux no está gestionada por Lutris." + +#: lutris/runners/steam.py:172 msgid "" "Steam for Linux installation is not handled by Lutris.\n" "Please go to http://steampowered.com " @@ -6169,7 +6422,7 @@ msgstr "" "Diríjase a http://steampowered.com o " "instale Steam mediante el paquete provisto por su distribución." -#: lutris/runners/steam.py:202 +#: lutris/runners/steam.py:186 msgid "Could not find Steam path, is Steam installed?" msgstr "No se encuentra la ruta a Steam, ¿está instalado?" @@ -6400,8 +6653,8 @@ msgstr "Eliminar el margen y el relleno predeterminado de " msgid "" "Sets margin and padding to zero on <html> and <body> elements." msgstr "" -"Establece el margen y el relleno a cero en los elementos <html> y <" -"body>." +"Establece el margen y el relleno a cero en los elementos <html> y " +"<body>." #: lutris/runners/web.py:114 msgid "Enable Adobe Flash Player" @@ -6481,11 +6734,11 @@ msgstr "" "El archivo %s no existe, \n" "compruebe la configuración del juego." -#: lutris/runners/wine.py:73 lutris/runners/wine.py:790 +#: lutris/runners/wine.py:79 lutris/runners/wine.py:777 msgid "Proton is not compatible with 32-bit prefixes." msgstr "Proton no es compatible con prefijos de 32-bit." -#: lutris/runners/wine.py:87 +#: lutris/runners/wine.py:93 msgid "" "Warning Some Wine configuration options cannot be applied, if no " "prefix can be found." @@ -6493,7 +6746,7 @@ msgstr "" "Atención Si no se encuentra un prefijo, algunas opciones de " "configuración de Wine no pueden aplicarse." -#: lutris/runners/wine.py:94 +#: lutris/runners/wine.py:100 #, python-format msgid "" "Warning Your NVIDIA driver is outdated.\n" @@ -6504,7 +6757,7 @@ msgstr "" "Actualmente está utilizando el controlador %s que no soporta totalmente las " "funciones para juegos Vulkan y DXVK." -#: lutris/runners/wine.py:107 +#: lutris/runners/wine.py:113 #, python-format msgid "" "Error Vulkan is not installed or is not supported by your system, %s " @@ -6513,7 +6766,7 @@ msgstr "" "Error Vulkan no está instalado o su sistema no lo soporta, %s no está " "disponible." -#: lutris/runners/wine.py:123 +#: lutris/runners/wine.py:128 #, python-format msgid "" "Warning Lutris has detected that Vulkan API version %s is installed, " @@ -6522,7 +6775,7 @@ msgstr "" "Atención Lutris ha detectado la versión %s del API Vulkan instalada, " "pero para usar la última versión de DXVK se requiere %s." -#: lutris/runners/wine.py:131 +#: lutris/runners/wine.py:136 #, python-format msgid "" "Warning Lutris has detected that the best device available ('%s') " @@ -6532,7 +6785,7 @@ msgstr "" "('%s') soporta Vulkan API %s, pero para usar la última versión de DXVK se " "requiere %s." -#: lutris/runners/wine.py:147 +#: lutris/runners/wine.py:152 msgid "" "Warning Your limits are not set correctly. Please increase them as " "described here:\n" @@ -6544,46 +6797,74 @@ msgstr "" "Cómo-" "Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" -#: lutris/runners/wine.py:158 +#: lutris/runners/wine.py:163 msgid "Warning Your kernel is not patched for fsync." msgstr "Atención Su kernel no está parcheado para usar fsync." -#: lutris/runners/wine.py:163 +#: lutris/runners/wine.py:168 msgid "Wine virtual desktop is no longer supported" msgstr "Ya no se soporta el escritorio virtual de Wine" -#: lutris/runners/wine.py:169 +#: lutris/runners/wine.py:174 msgid "Virtual desktops cannot be enabled in Proton or GE Wine versions." msgstr "" "Los escritorios virtuales no se pueden activar en las versiones de Wine " "Proton o GE." -#: lutris/runners/wine.py:174 +#: lutris/runners/wine.py:179 +msgid "Custom (select executable below)" +msgstr "Personalizado (escoja el ejecutable a continuación)" + +#: lutris/runners/wine.py:181 +#, python-brace-format +msgid "WineHQ Devel ({})" +msgstr "WineHQ Devel ({})" + +#: lutris/runners/wine.py:182 +#, python-brace-format +msgid "WineHQ Staging ({})" +msgstr "WineHQ Staging ({})" + +#: lutris/runners/wine.py:183 +#, python-brace-format +msgid "Wine Development ({})" +msgstr "Wine Development ({})" + +#: lutris/runners/wine.py:184 +#, python-brace-format +msgid "System ({})" +msgstr "Sistema ({})" + +#: lutris/runners/wine.py:189 +msgid "GE-Proton (Latest)" +msgstr "GE-Proton (último)" + +#: lutris/runners/wine.py:200 msgid "Runs Windows games" msgstr "Ejecuta juegos de Windows" -#: lutris/runners/wine.py:175 +#: lutris/runners/wine.py:201 msgid "Wine" msgstr "Wine" -#: lutris/runners/wine.py:176 +#: lutris/runners/wine.py:202 msgid "Windows" msgstr "Windows" -#: lutris/runners/wine.py:185 +#: lutris/runners/wine.py:211 msgid "The game's main EXE file" msgstr "El archivo EXE principal del juego" -#: lutris/runners/wine.py:191 +#: lutris/runners/wine.py:217 msgid "Windows command line arguments used when launching the game" msgstr "" "Argumentos de la línea de comandos de Windows utilizados al iniciar el juego" -#: lutris/runners/wine.py:207 +#: lutris/runners/wine.py:231 msgid "Wine prefix" msgstr "Prefijo de Wine" -#: lutris/runners/wine.py:210 +#: lutris/runners/wine.py:234 msgid "" "The prefix used by Wine.\n" "It's a directory containing a set of files and folders making up a confined " @@ -6593,47 +6874,40 @@ msgstr "" "Es un directorio que contiene un conjunto de archivos y carpetas que " "conforman un entorno Windows confinado." -#: lutris/runners/wine.py:218 +#: lutris/runners/wine.py:242 msgid "Prefix architecture" msgstr "Arquitectura del prefijo" -#: lutris/runners/wine.py:219 +#: lutris/runners/wine.py:243 msgid "32-bit" msgstr "32-bit" -#: lutris/runners/wine.py:219 +#: lutris/runners/wine.py:243 msgid "64-bit" msgstr "64-bit" -#: lutris/runners/wine.py:221 +#: lutris/runners/wine.py:245 msgid "The architecture of the Windows environment" msgstr "La arquitectura del entorno Windows" -#: lutris/runners/wine.py:252 -msgid "Custom (select executable below)" -msgstr "Personalizado (escoja el ejecutable a continuación)" +#: lutris/runners/wine.py:250 +msgid "Integrate system files in the prefix" +msgstr "Integrar archivos del sistema en el prefijo" #: lutris/runners/wine.py:254 -msgid "WineHQ Devel ({})" -msgstr "WineHQ Devel ({})" - -#: lutris/runners/wine.py:255 -msgid "WineHQ Staging ({})" -msgstr "WineHQ Staging ({})" - -#: lutris/runners/wine.py:256 -msgid "Wine Development ({})" -msgstr "Wine Development ({})" - -#: lutris/runners/wine.py:257 -msgid "System ({})" -msgstr "Sistema ({})" +msgid "" +"Place 'Documents', 'Pictures', and similar files in your home folder, " +"instead of keeping them in the game's prefix. This includes some saved games." +msgstr "" +"Ubicar las carpetas 'Documentos', 'Imágenes' y similares en tu carpeta " +"personal en lugar de mantenerlas dentro del prefijo del juego. Esto incluye " +"ciertas partidas guardadas." -#: lutris/runners/wine.py:272 +#: lutris/runners/wine.py:263 msgid "Wine version" msgstr "Versión de Wine" -#: lutris/runners/wine.py:278 +#: lutris/runners/wine.py:269 msgid "" "The version of Wine used to launch the game.\n" "Using the last version is generally recommended, but some games work better " @@ -6643,11 +6917,11 @@ msgstr "" "En general se recomienda utilizar la última versión pero algunos juegos " "funcionan mejor con versiones anteriores." -#: lutris/runners/wine.py:285 +#: lutris/runners/wine.py:276 msgid "Custom Wine executable" msgstr "Ejecutable personalizado de Wine" -#: lutris/runners/wine.py:288 +#: lutris/runners/wine.py:279 msgid "" "The Wine executable to be used if you have selected \"Custom\" as the Wine " "version." @@ -6655,23 +6929,23 @@ msgstr "" "El ejecutable de Wine que se utilizará si ha seleccionado \"Personalizada\" " "como versión de Wine." -#: lutris/runners/wine.py:292 +#: lutris/runners/wine.py:283 msgid "Use system winetricks" msgstr "Usar el winetricks del sistema" -#: lutris/runners/wine.py:296 +#: lutris/runners/wine.py:287 msgid "Switch on to use /usr/bin/winetricks for winetricks." msgstr "Usa /usr/bin/winetricks para winetricks." -#: lutris/runners/wine.py:301 +#: lutris/runners/wine.py:292 msgid "Enable DXVK" msgstr "Activar DXVK" -#: lutris/runners/wine.py:305 +#: lutris/runners/wine.py:296 msgid "DXVK" msgstr "DXVK" -#: lutris/runners/wine.py:308 +#: lutris/runners/wine.py:299 msgid "" "Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 " "applications by translating their calls to Vulkan." @@ -6679,19 +6953,19 @@ msgstr "" "Usa DXVK y VKD3D para incrementar compatibilidad y rendimiento de las " "aplicaciones Direct3D 11, 10 y 9 al trasladar las llamadas a Vulkan." -#: lutris/runners/wine.py:316 +#: lutris/runners/wine.py:307 msgid "DXVK version" msgstr "Versión de DXVK" -#: lutris/runners/wine.py:327 +#: lutris/runners/wine.py:320 msgid "Enable VKD3D" msgstr "Activar VKD3D" -#: lutris/runners/wine.py:329 +#: lutris/runners/wine.py:323 msgid "VKD3D" msgstr "VKD3D" -#: lutris/runners/wine.py:333 +#: lutris/runners/wine.py:326 msgid "" "Use VKD3D to enable support for Direct3D 12 applications by translating " "their calls to Vulkan." @@ -6699,15 +6973,15 @@ msgstr "" "Use VKD3D para habilitar la compatibilidad con Direct3D 12 traduciendo sus " "llamadas a Vulkan." -#: lutris/runners/wine.py:339 +#: lutris/runners/wine.py:331 msgid "VKD3D version" msgstr "Versión de VKD3D" -#: lutris/runners/wine.py:349 +#: lutris/runners/wine.py:343 msgid "Enable D3D Extras" msgstr "Activar D3D Extras" -#: lutris/runners/wine.py:354 +#: lutris/runners/wine.py:348 msgid "" "Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed " "for proper functionality of DXVK with some games." @@ -6715,33 +6989,33 @@ msgstr "" "Reemplazar las librerías D3DX y D3DCOMPILER de Wine por otras alternativas. " "Es necesario para el correcto funcionamiento de DXVK con algunos juegos." -#: lutris/runners/wine.py:361 +#: lutris/runners/wine.py:355 msgid "D3D Extras version" msgstr "Versión de D3D Extras" -#: lutris/runners/wine.py:370 +#: lutris/runners/wine.py:365 msgid "Enable DXVK-NVAPI / DLSS" msgstr "Activar DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:372 +#: lutris/runners/wine.py:367 msgid "DXVK-NVAPI / DLSS" msgstr "DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:375 +#: lutris/runners/wine.py:371 msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." msgstr "" "Activa la emulación del NVAPI de Nvidia y añade soporte DLSS, si está " "disponible." -#: lutris/runners/wine.py:380 +#: lutris/runners/wine.py:376 msgid "DXVK NVAPI version" msgstr "Versión de DXVK NVAPI" -#: lutris/runners/wine.py:389 +#: lutris/runners/wine.py:387 msgid "Enable dgvoodoo2" msgstr "Activar dgvoodoo2" -#: lutris/runners/wine.py:394 +#: lutris/runners/wine.py:392 msgid "" "dgvoodoo2 is an alternative translation layer for rendering old games that " "utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended " @@ -6751,15 +7025,15 @@ msgstr "" "antiguos que usan APIs D3D1-7 y Glide. Como traduce a D3D11, se recomienda " "usar en combinación con DXVK. Solo se soportan aplicaciones de 32 bit." -#: lutris/runners/wine.py:402 +#: lutris/runners/wine.py:400 msgid "dgvoodoo2 version" msgstr "Versión de dgvoodoo2" -#: lutris/runners/wine.py:410 +#: lutris/runners/wine.py:409 msgid "Enable Esync" msgstr "Activar Esync" -#: lutris/runners/wine.py:416 +#: lutris/runners/wine.py:415 msgid "" "Enable eventfd-based synchronization (esync). This will increase performance " "in applications that take advantage of multi-core processors." @@ -6767,11 +7041,11 @@ msgstr "" "Activar la sincronización basada en eventfd (esync). Aumentará el " "rendimiento en las aplicaciones que aprovechan los procesadores multinúcleo." -#: lutris/runners/wine.py:423 +#: lutris/runners/wine.py:422 msgid "Enable Fsync" msgstr "Activar Fsync" -#: lutris/runners/wine.py:429 +#: lutris/runners/wine.py:428 msgid "" "Enable futex-based synchronization (fsync). This will increase performance " "in applications that take advantage of multi-core processors. Requires " @@ -6781,11 +7055,11 @@ msgstr "" "en las aplicaciones que aprovechan los procesadores multinúcleo. Requiere un " "kernel 5.16 o superior." -#: lutris/runners/wine.py:437 +#: lutris/runners/wine.py:436 msgid "Enable AMD FidelityFX Super Resolution (FSR)" msgstr "Activar FidelityFX Super Resolution (FSR) de AMD" -#: lutris/runners/wine.py:441 +#: lutris/runners/wine.py:440 msgid "" "Use FSR to upscale the game window to native resolution.\n" "Requires Lutris Wine FShack >= 6.13 and setting the game to a lower " @@ -6799,11 +7073,11 @@ msgstr "" "No funciona con juegos que se ejecutan en el modo de ventana sin bordes o " "que realizan su propio escalado." -#: lutris/runners/wine.py:448 +#: lutris/runners/wine.py:447 msgid "Enable BattlEye Anti-Cheat" msgstr "Activar anti-trampas BattlEye Anti-Cheat" -#: lutris/runners/wine.py:452 +#: lutris/runners/wine.py:451 msgid "" "Enable support for BattlEye Anti-Cheat in supported games\n" "Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" @@ -6811,11 +7085,11 @@ msgstr "" "Activa el soporte de BattlEye Anti-Cheat en los juegos que lo soportan\n" "Requiere Lutris Wine 6.21-2 o superior u otra versión de Wine compatible.\n" -#: lutris/runners/wine.py:458 +#: lutris/runners/wine.py:457 msgid "Enable Easy Anti-Cheat" msgstr "Activar anti-trampas Easy Anti-Cheat" -#: lutris/runners/wine.py:462 +#: lutris/runners/wine.py:461 msgid "" "Enable support for Easy Anti-Cheat in supported games\n" "Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" @@ -6823,11 +7097,11 @@ msgstr "" "Activa el soporte de Easy Anti-Cheat en los juegos que lo soportan\n" "Requiere Lutris Wine 7.2 o superior u otra versión de Wine compatible.\n" -#: lutris/runners/wine.py:468 lutris/runners/wine.py:482 +#: lutris/runners/wine.py:467 lutris/runners/wine.py:482 msgid "Virtual Desktop" msgstr "Escritorio Virtual" -#: lutris/runners/wine.py:469 +#: lutris/runners/wine.py:468 msgid "Windowed (virtual desktop)" msgstr "En ventana (escritorio virtual)" @@ -6845,20 +7119,20 @@ msgstr "" msgid "Virtual desktop resolution" msgstr "Resolución del escritorio virtual" -#: lutris/runners/wine.py:487 +#: lutris/runners/wine.py:489 msgid "The size of the virtual desktop in pixels." msgstr "El tamaño del escritorio virtual en píxeles." -#: lutris/runners/wine.py:491 lutris/runners/wine.py:503 -#: lutris/runners/wine.py:504 +#: lutris/runners/wine.py:493 lutris/runners/wine.py:505 +#: lutris/runners/wine.py:506 msgid "DPI" msgstr "DPI" -#: lutris/runners/wine.py:492 +#: lutris/runners/wine.py:494 msgid "Enable DPI Scaling" msgstr "Activar escalado de DPI" -#: lutris/runners/wine.py:497 +#: lutris/runners/wine.py:499 msgid "" "Enables the Windows application's DPI scaling.\n" "Otherwise, the Screen Resolution option in 'Wine configuration' controls " @@ -6868,27 +7142,23 @@ msgstr "" "Si no, se controla mediante la opción Resolución de Pantalla en " "'Configuración de Wine'." -#: lutris/runners/wine.py:508 -msgid "" -"The DPI to be used if 'Enable DPI Scaling' is turned on.\n" -"If blank or 'auto', Lutris will auto-detect this." -msgstr "" -"El valor de DPI a usar si está activada la opción 'escalado de DPI'.\n" -"Si se deja en blanco o 'auto', Lutris lo detectará automáticamente." +#: lutris/runners/wine.py:511 +msgid "The DPI to be used if 'Enable DPI Scaling' is turned on." +msgstr "El valor de DPI a usar si está activada la opción 'escalado de DPI'." -#: lutris/runners/wine.py:514 +#: lutris/runners/wine.py:515 msgid "Mouse Warp Override" msgstr "Anular la reubicación del ratón" -#: lutris/runners/wine.py:517 +#: lutris/runners/wine.py:518 msgid "Enable" msgstr "Activar" -#: lutris/runners/wine.py:519 +#: lutris/runners/wine.py:520 msgid "Force" msgstr "Forzar" -#: lutris/runners/wine.py:524 +#: lutris/runners/wine.py:525 msgid "" "Override the default mouse pointer warping behavior\n" "Enable: (Wine default) warp the pointer when the mouse is exclusively " @@ -6902,11 +7172,11 @@ msgstr "" "Desactivar: no reubicar nunca el puntero del ratón \n" "Forzar: reubicar siempre el puntero" -#: lutris/runners/wine.py:533 +#: lutris/runners/wine.py:534 msgid "Audio driver" msgstr "Controlador de sonido" -#: lutris/runners/wine.py:544 +#: lutris/runners/wine.py:545 msgid "" "Which audio backend to use.\n" "By default, Wine automatically picks the right one for your system." @@ -6914,45 +7184,41 @@ msgstr "" "Qué controlador de sonido utilizar.\n" "Por defecto, Wine elige automáticamente el adecuado para tu sistema." -#: lutris/runners/wine.py:552 +#: lutris/runners/wine.py:551 msgid "DLL overrides" msgstr "Anular DLLs" -#: lutris/runners/wine.py:553 +#: lutris/runners/wine.py:552 msgid "Sets WINEDLLOVERRIDES when launching the game." msgstr "Establece WINEDLLOVERRIDES al iniciar el juego." -#: lutris/runners/wine.py:557 +#: lutris/runners/wine.py:556 msgid "Output debugging info" msgstr "Mostrar información de depuración" #: lutris/runners/wine.py:561 -msgid "Enabled" -msgstr "Activado" - -#: lutris/runners/wine.py:562 msgid "Inherit from environment" msgstr "Heredar del entorno" -#: lutris/runners/wine.py:564 +#: lutris/runners/wine.py:563 msgid "Full (CAUTION: Will cause MASSIVE slowdown)" msgstr "Completo (PRECAUCIÓN: causará una ralentización MASIVA)" -#: lutris/runners/wine.py:567 +#: lutris/runners/wine.py:566 msgid "Output debugging information in the game log (might affect performance)" msgstr "" "Muestra información de depuración en el registro del juego (podría afectar " "al rendimiento)" -#: lutris/runners/wine.py:571 +#: lutris/runners/wine.py:570 msgid "Show crash dialogs" msgstr "Mostrar diálogos de fallo" -#: lutris/runners/wine.py:579 +#: lutris/runners/wine.py:578 msgid "Autoconfigure joypads" msgstr "Autoconfigurar mandos" -#: lutris/runners/wine.py:583 +#: lutris/runners/wine.py:581 msgid "" "Automatically disables one of Wine's detected joypad to avoid having 2 " "controllers detected" @@ -6960,94 +7226,53 @@ msgstr "" "Desactiva automáticamente uno de los mandos detectados por Wine para evitar " "que se detecten 2 mandos" -#: lutris/runners/wine.py:589 lutris/runners/wine.py:602 -msgid "Sandbox" -msgstr "Entorno aislado" - -#: lutris/runners/wine.py:590 -msgid "Create a sandbox for Wine folders" -msgstr "Crear un entorno aislado para las carpetas de Wine" - -#: lutris/runners/wine.py:594 -msgid "" -"Do not use $HOME for desktop integration folders.\n" -"By default, it will use the directories in the confined Windows environment." -msgstr "" -"No usar $HOME para las carpetas de integración del escritorio.\n" -"Por defecto, usará los directorios del entorno confinado de Windows." - -#: lutris/runners/wine.py:603 -msgid "Sandbox directory" -msgstr "Directorio de entorno aislado" - -#: lutris/runners/wine.py:605 -msgid "Custom directory for desktop integration folders." -msgstr "" -"Directorio personalizado para las carpetas de integración del escritorio." - -#: lutris/runners/wine.py:614 -msgid "" -"Warning Wine is not installed on your system\n" -"\n" -"Having Wine installed on your system guarantees that Wine builds from Lutris " -"will have all required dependencies.\n" -"Please follow the instructions given in the Lutris Wiki to install Wine." -msgstr "" -"Atención Wine no está instalado en el sistema\n" -"\n" -"Tener Wine instalado en su sistema garantiza que las compilaciones de Wine " -"de Lutris tendrán todas las dependencias necesarias.\n" -"Siga las instrucciones dadas en la Wiki de Lutris para instalar Wine." - -#: lutris/runners/wine.py:626 +#: lutris/runners/wine.py:615 msgid "Run EXE inside Wine prefix" msgstr "Ejecutar el EXE dentro del prefijo de Wine" -#: lutris/runners/wine.py:627 +#: lutris/runners/wine.py:616 msgid "Open Bash terminal" msgstr "Abrir un terminal Bash" -#: lutris/runners/wine.py:628 +#: lutris/runners/wine.py:617 msgid "Open Wine console" msgstr "Abrir la consola de Wine" -#: lutris/runners/wine.py:630 +#: lutris/runners/wine.py:619 msgid "Wine configuration" msgstr "Configuración de Wine" -#: lutris/runners/wine.py:631 +#: lutris/runners/wine.py:620 msgid "Wine registry" msgstr "Registro de Wine" -#: lutris/runners/wine.py:632 +#: lutris/runners/wine.py:621 msgid "Wine Control Panel" msgstr "Panel de control de Wine" -#: lutris/runners/wine.py:633 +#: lutris/runners/wine.py:622 msgid "Wine Task Manager" msgstr "Administrador de tareas de Wine" -#: lutris/runners/wine.py:635 +#: lutris/runners/wine.py:624 msgid "Winetricks" msgstr "Winetricks" -#: lutris/runners/wine.py:765 lutris/runners/wine.py:771 +#: lutris/runners/wine.py:752 lutris/runners/wine.py:758 #, python-format msgid "The Wine executable at '%s' is missing." msgstr "Falta el ejecutable de Wine en '%s'." -#: lutris/runners/wine.py:829 +#: lutris/runners/wine.py:816 #, python-format msgid "The required game '%s' could not be found." msgstr "No se ha podido encontrar el juego requerido '%s'." -#: lutris/runners/wine.py:862 +#: lutris/runners/wine.py:849 msgid "The runner configuration does not specify a Wine version." msgstr "La configuración del ejecutor no especifica ninguna versión de Wine." -#: lutris/runners/wine.py:900 +#: lutris/runners/wine.py:887 msgid "Select an EXE or MSI file" msgstr "Escoja un archivo EXE o MSI" @@ -7073,12 +7298,12 @@ msgstr "Yuzu" #. http://zdoom.org/wiki/Command_line_parameters #: lutris/runners/zdoom.py:13 -msgid "ZDoom DOOM Game Engine" -msgstr "Motor de juego ZDoom" +msgid "GZDoom Game Engine" +msgstr "Motor de juego GZDoom" #: lutris/runners/zdoom.py:14 -msgid "ZDoom" -msgstr "ZDoom" +msgid "GZDoom" +msgstr "GZDoom" #: lutris/runners/zdoom.py:22 msgid "WAD file" @@ -7163,12 +7388,12 @@ msgstr "" "se especifica, el archivo debe contener la lista de directorios wad o " "fallará el arranque." -#: lutris/runtime.py:124 +#: lutris/runtime.py:127 #, python-format msgid "Updating %s" msgstr "Actualizando %s" -#: lutris/runtime.py:127 +#: lutris/runtime.py:130 #, python-format msgid "Updated %s" msgstr "%s actualizado" @@ -7226,7 +7451,7 @@ msgstr "No se pueden cargar los archivos descargados de este juego" msgid "Amazon Prime Gaming" msgstr "Amazon Prime Gaming" -#: lutris/services/base.py:436 +#: lutris/services/base.py:450 #, python-format msgid "" "This service requires a game launcher. The following steps will install it.\n" @@ -7240,7 +7465,7 @@ msgstr "" msgid "Battle.net" msgstr "Battle.net" -#: lutris/services/ea_app.py:146 +#: lutris/services/ea_app.py:141 msgid "EA App" msgstr "EA App" @@ -7276,15 +7501,15 @@ msgstr "No se pueden cargar los enlaces de descarga de este juego" msgid "Unable to determine correct file to launch installer" msgstr "No se puede determinar el archivo adecuado para ejecutar el instalador" -#: lutris/services/humblebundle.py:62 +#: lutris/services/humblebundle.py:65 msgid "Humble Bundle" msgstr "Humble Bundle" -#: lutris/services/humblebundle.py:82 +#: lutris/services/humblebundle.py:85 msgid "Workaround for Humble Bundle authentication" msgstr "Alternativa para la autenticación de Humble Bundle" -#: lutris/services/humblebundle.py:84 +#: lutris/services/humblebundle.py:87 msgid "" "Humble Bundle is restricting API calls from software like Lutris and " "GameHub.\n" @@ -7298,19 +7523,39 @@ msgstr "" "Existe un método alternativo que implica copiar cookies desde Firefox, " "¿quiere emplearlo?" -#: lutris/services/humblebundle.py:235 +#: lutris/services/humblebundle.py:238 msgid "The download URL for the game could not be determined." msgstr "No se ha podido determinar la URL de descarga del juego." -#: lutris/services/humblebundle.py:237 +#: lutris/services/humblebundle.py:240 msgid "No game found on Humble Bundle" msgstr "No se han encontrado juegos en Humble Bundle" #. According to their branding, "itch.io" is supposed to be all lowercase -#: lutris/services/itchio.py:95 +#: lutris/services/itchio.py:84 msgid "itch.io" msgstr "itch.io" +#: lutris/services/itchio.py:129 +msgid "" +"Lutris needs an API key to connect to itch.io. You can obtain one\n" +"from the itch.io API keys " +"page.\n" +"\n" +"You should give Lutris its own API key instead of sharing them." +msgstr "" +"Lutris necesita una clave de API para conectar con itch.io. Puede obtener " +"una\r\n" +"de la página de claves de " +"API de itch.io.\r\n" +"\r\n" +"Es recomendable proporcionar una clave de API propia para Lutris en lugar de " +"compartirla." + +#: lutris/services/itchio.py:138 +msgid "Itch.io API key" +msgstr "Clave de API de itch.io" + #: lutris/services/lutris.py:132 #, python-format msgid "Lutris has no installers for %s. Try using a different service instead." @@ -7318,13 +7563,13 @@ msgstr "" "Lutris no dispone de instaladores para %s, intente utilizar algún servicio " "alternativo." -#: lutris/services/origin.py:130 -msgid "Origin" -msgstr "Origin" +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Familia de Steam" -#: lutris/services/origin.py:131 -msgid "Deprecated, use EA App" -msgstr "Obsoleto, use EA App" +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "Usado para mostrar cada juego en la familia de Steam" #: lutris/services/steam.py:98 msgid "" @@ -7345,7 +7590,7 @@ msgstr "" "Usado solo en juegos o modificaciones raros que requieren la versión de " "Steam para Windows" -#: lutris/services/ubisoft.py:85 +#: lutris/services/ubisoft.py:79 msgid "Ubisoft Connect" msgstr "Ubisoft Connect" @@ -7402,7 +7647,7 @@ msgstr "Polaco" msgid "Russian" msgstr "Ruso" -#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:503 +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 msgid "Off" msgstr "Apagado" @@ -7440,8 +7685,8 @@ msgstr "" "tiempo de ejecución cuando está activo." #: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 -#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:168 -#: lutris/sysoptions.py:183 lutris/sysoptions.py:199 +#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 +#: lutris/sysoptions.py:179 lutris/sysoptions.py:195 msgid "Display" msgstr "Pantalla" @@ -7492,22 +7737,18 @@ msgstr "" "reduce el retardo y aumenta el rendimiento" #: lutris/sysoptions.py:156 -msgid "Disable screen saver" -msgstr "Desactivar el salvapantallas" +msgid "Prevent sleep" +msgstr "Evitar suspensión" -#: lutris/sysoptions.py:162 -msgid "" -"Disable the screen saver while a game is running. Requires the screen " -"saver's functionality to be exposed over DBus." -msgstr "" -"Desactivar el salvapantallas mientras se ejecuta un juego. Requiere que la " -"funcionalidad del salvapantallas esté expuesta a través de DBus." +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." +msgstr "Evita que se suspenda el sistema mientras se ejecuta un juego." -#: lutris/sysoptions.py:171 +#: lutris/sysoptions.py:167 msgid "SDL 1.2 Fullscreen Monitor" msgstr "Monitor de pantalla completa SDL 1.2" -#: lutris/sysoptions.py:177 +#: lutris/sysoptions.py:173 msgid "" "Hint SDL 1.2 games to use a specific monitor when going fullscreen by " "setting the SDL_VIDEO_FULLSCREEN environment variable" @@ -7516,11 +7757,11 @@ msgstr "" "pasen a pantalla completa, configurando la variable de entorno " "SDL_VIDEO_FULLSCREEN" -#: lutris/sysoptions.py:186 +#: lutris/sysoptions.py:182 msgid "Turn off monitors except" msgstr "Apagar todos los monitores excepto" -#: lutris/sysoptions.py:192 +#: lutris/sysoptions.py:188 msgid "" "Only keep the selected screen active while the game is running. \n" "This is useful if you have a dual-screen setup, and are \n" @@ -7531,19 +7772,19 @@ msgstr "" "Esto es útil si tiene una configuración de pantalla dual y está teniendo\n" "problemas de visualización al ejecutar un juego en pantalla completa." -#: lutris/sysoptions.py:202 +#: lutris/sysoptions.py:198 msgid "Switch resolution to" msgstr "Cambiar resolución a" -#: lutris/sysoptions.py:207 +#: lutris/sysoptions.py:203 msgid "Switch to this screen resolution while the game is running." msgstr "Cambia a esta resolución de pantalla mientras se ejecuta el juego." -#: lutris/sysoptions.py:213 +#: lutris/sysoptions.py:209 msgid "Enable Gamescope" msgstr "Activar Gamescope" -#: lutris/sysoptions.py:216 +#: lutris/sysoptions.py:212 msgid "" "Use gamescope to draw the game window isolated from your desktop.\n" "Toggle fullscreen: Super + F" @@ -7552,11 +7793,11 @@ msgstr "" "escritorio.\n" "Conmutar pantalla completa: Súper + F" -#: lutris/sysoptions.py:222 +#: lutris/sysoptions.py:218 msgid "Enable HDR (Experimental)" msgstr "Activar HDR (experimental)" -#: lutris/sysoptions.py:226 +#: lutris/sysoptions.py:223 msgid "" "Enable HDR for games that support it.\n" "Requires Plasma 6 and VK_hdr_layer." @@ -7564,11 +7805,11 @@ msgstr "" "Activar HDR en los juegos que lo soportan.\n" "Requiere Plasma 6 y VK_hdr_layer." -#: lutris/sysoptions.py:232 +#: lutris/sysoptions.py:229 msgid "Relative Mouse Mode" msgstr "Modo de ratón relativo" -#: lutris/sysoptions.py:237 +#: lutris/sysoptions.py:235 msgid "" "Always use relative mouse mode instead of flipping\n" "dependent on cursor visibility\n" @@ -7578,11 +7819,11 @@ msgstr "" "dependiendo de la visibilidad del cursor\n" "Puede ayudar en juegos donde la camara del jugador apunta al suelo" -#: lutris/sysoptions.py:246 +#: lutris/sysoptions.py:244 msgid "Output Resolution" msgstr "Resolución de salida" -#: lutris/sysoptions.py:251 +#: lutris/sysoptions.py:250 msgid "" "Set the resolution used by gamescope.\n" "Resizing the gamescope window will update these settings.\n" @@ -7594,7 +7835,7 @@ msgstr "" "\n" "Resoluciones personalizadas: (anchura)x(altura)" -#: lutris/sysoptions.py:261 +#: lutris/sysoptions.py:260 msgid "Game Resolution" msgstr "Resolución del juego" @@ -7620,7 +7861,7 @@ msgstr "En ventana" msgid "Borderless" msgstr "Sin bordes" -#: lutris/sysoptions.py:278 +#: lutris/sysoptions.py:279 msgid "" "Run gamescope in fullscreen, windowed or borderless mode\n" "Toggle fullscreen : Super + F" @@ -7628,11 +7869,11 @@ msgstr "" "Ejecutar gamescope en pantalla completa, ventana o sin bordes\n" "Conmutar pantalla completa: Súper + F" -#: lutris/sysoptions.py:283 +#: lutris/sysoptions.py:284 msgid "FSR Level" msgstr "Nivel FSR" -#: lutris/sysoptions.py:288 +#: lutris/sysoptions.py:290 msgid "" "Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" "Upscaler sharpness from 0 (max) to 20 (min)." @@ -7640,19 +7881,19 @@ msgstr "" "Usar AMD FidelityFX™ Super Resolution 1.0 para el reescalado.\n" "Nitidez del escalado de 0 (máx) a 20 (mín)." -#: lutris/sysoptions.py:294 +#: lutris/sysoptions.py:296 msgid "Framerate Limiter" msgstr "Limitador de FPS" -#: lutris/sysoptions.py:298 +#: lutris/sysoptions.py:301 msgid "Set a frame-rate limit for gamescope specified in frames per second." msgstr "Establecer un límite de cuadros por segundo para gamescope." -#: lutris/sysoptions.py:303 +#: lutris/sysoptions.py:306 msgid "Custom Settings" msgstr "Configuración personalizada" -#: lutris/sysoptions.py:308 +#: lutris/sysoptions.py:312 msgid "" "Set additional flags for gamescope (if available).\n" "See 'gamescope --help' for a full list of options." @@ -7660,19 +7901,19 @@ msgstr "" "Establecer parámetros adicionales para gamescope (si están disponibles).\n" "Vea 'gamescope --help' para la lista completa de opciones." -#: lutris/sysoptions.py:315 +#: lutris/sysoptions.py:319 msgid "Restrict number of cores used" msgstr "Restringir el número de núcleos utilizado" -#: lutris/sysoptions.py:317 +#: lutris/sysoptions.py:321 msgid "Restrict the game to a maximum number of CPU cores." msgstr "Restringe el máximo número de núcleos de CPU que puede usar el juego." -#: lutris/sysoptions.py:323 +#: lutris/sysoptions.py:327 msgid "Restrict number of cores to" msgstr "Restringir el número de núcleos a" -#: lutris/sysoptions.py:325 +#: lutris/sysoptions.py:330 msgid "" "Maximum number of CPU cores to be used, if 'Restrict number of cores used' " "is turned on." @@ -7680,21 +7921,21 @@ msgstr "" "El máximo número de núcleos de CPU que se usarán si está activado " "'Restringir el número de núcleos utilizado'." -#: lutris/sysoptions.py:333 +#: lutris/sysoptions.py:338 msgid "Enable Feral GameMode" msgstr "Activar Feral GameMode" -#: lutris/sysoptions.py:334 +#: lutris/sysoptions.py:339 msgid "Request a set of optimisations be temporarily applied to the host OS" msgstr "" "Solicita la aplicación temporal de un conjunto de optimizaciones al sistema " "operativo anfitrión" -#: lutris/sysoptions.py:340 +#: lutris/sysoptions.py:345 msgid "Reduce PulseAudio latency" msgstr "Reducir la latencia de PulseAudio" -#: lutris/sysoptions.py:344 +#: lutris/sysoptions.py:349 msgid "" "Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " "on some games" @@ -7702,49 +7943,49 @@ msgstr "" "Establece la variable de entorno PULSE_LATENCY_MSEC=60 para mejorar la " "calidad del sonido en algunos juegos" -#: lutris/sysoptions.py:347 lutris/sysoptions.py:356 lutris/sysoptions.py:364 +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 msgid "Input" msgstr "Entrada" -#: lutris/sysoptions.py:350 +#: lutris/sysoptions.py:355 msgid "Switch to US keyboard layout" msgstr "Cambiar a la disposición de teclado de EEUU" -#: lutris/sysoptions.py:353 +#: lutris/sysoptions.py:359 msgid "Switch to US keyboard QWERTY layout while game is running" msgstr "" "Cambia a la disposición QWERTY del teclado estadounidense mientras se " "ejecuta el juego" -#: lutris/sysoptions.py:359 +#: lutris/sysoptions.py:365 msgid "AntiMicroX Profile" msgstr "Perfil de AntiMicroX" -#: lutris/sysoptions.py:361 +#: lutris/sysoptions.py:367 msgid "Path to an AntiMicroX profile file" msgstr "Ruta al archivo del perfil AntiMicroX" -#: lutris/sysoptions.py:367 +#: lutris/sysoptions.py:373 msgid "SDL2 gamepad mapping" msgstr "Mapeo del mando SDL2" -#: lutris/sysoptions.py:370 +#: lutris/sysoptions.py:376 msgid "" -"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom gamecontrollerdb." -"txt file containing mappings." +"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom " +"gamecontrollerdb.txt file containing mappings." msgstr "" "Cadena de mapeo SDL_GAMECONTROLLERCONFIG o ruta a un archivo " "gamecontrollerdb.txt personalizado que contenga mapeos." -#: lutris/sysoptions.py:375 lutris/sysoptions.py:387 +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 msgid "Text based games" msgstr "Juegos basados en texto" -#: lutris/sysoptions.py:377 +#: lutris/sysoptions.py:382 msgid "CLI mode" msgstr "Modo CLI" -#: lutris/sysoptions.py:382 +#: lutris/sysoptions.py:387 msgid "" "Enable a terminal for text-based games. Only useful for ASCII based games. " "May cause issues with graphical games." @@ -7752,11 +7993,11 @@ msgstr "" "Activa un terminal para los juegos basados en texto. Solo es útil en juegos " "basados en ASCII. Puede causar problemas en juegos con gráficos." -#: lutris/sysoptions.py:389 +#: lutris/sysoptions.py:394 msgid "Text based games emulator" msgstr "Emulador de juegos basados en texto" -#: lutris/sysoptions.py:395 +#: lutris/sysoptions.py:400 msgid "" "The terminal emulator used with the CLI mode. Choose from the list of " "detected terminal apps or enter the terminal's command or path." @@ -7765,22 +8006,22 @@ msgstr "" "aplicaciones de terminal detectadas o introduzca el comando o ruta del " "terminal." -#: lutris/sysoptions.py:401 lutris/sysoptions.py:408 lutris/sysoptions.py:418 -#: lutris/sysoptions.py:426 lutris/sysoptions.py:434 lutris/sysoptions.py:442 -#: lutris/sysoptions.py:451 lutris/sysoptions.py:459 lutris/sysoptions.py:472 -#: lutris/sysoptions.py:486 +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 +#: lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 +#: lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 +#: lutris/sysoptions.py:492 msgid "Game execution" msgstr "Ejecución del juego" -#: lutris/sysoptions.py:405 +#: lutris/sysoptions.py:410 msgid "Environment variables loaded at run time" msgstr "Variables de entorno cargadas en tiempo de ejecución" -#: lutris/sysoptions.py:411 +#: lutris/sysoptions.py:416 msgid "Locale" msgstr "Local" -#: lutris/sysoptions.py:415 +#: lutris/sysoptions.py:420 msgid "" "Can be used to force certain locale for an app. Fixes encoding issues in " "legacy software." @@ -7788,54 +8029,54 @@ msgstr "" "Se puede usar para forzar un local concreto para una aplicación. Corrige " "problemas de codificación en software heredado." -#: lutris/sysoptions.py:421 +#: lutris/sysoptions.py:426 msgid "Command prefix" msgstr "Prefijo de comando" -#: lutris/sysoptions.py:423 +#: lutris/sysoptions.py:428 msgid "" "Command line instructions to add in front of the game's execution command." msgstr "" "Instrucciones de línea de comando a agregar delante del comando de ejecución " "del juego." -#: lutris/sysoptions.py:429 +#: lutris/sysoptions.py:434 msgid "Manual script" msgstr "Guion manual" -#: lutris/sysoptions.py:431 +#: lutris/sysoptions.py:436 msgid "Script to execute from the game's contextual menu" msgstr "Guion a ejecutar desde el menú contextual del juego" -#: lutris/sysoptions.py:437 +#: lutris/sysoptions.py:442 msgid "Pre-launch script" msgstr "Guion pre-inicio" -#: lutris/sysoptions.py:439 +#: lutris/sysoptions.py:444 msgid "Script to execute before the game starts" msgstr "Guion a ejecutar antes de que comience el juego" -#: lutris/sysoptions.py:445 +#: lutris/sysoptions.py:450 msgid "Wait for pre-launch script completion" msgstr "Esperar a que se complete el guion pre-inicio" -#: lutris/sysoptions.py:448 +#: lutris/sysoptions.py:454 msgid "Run the game only once the pre-launch script has exited" msgstr "Ejecuta el juego cuando el guion de pre-inicio ha terminado" -#: lutris/sysoptions.py:454 +#: lutris/sysoptions.py:460 msgid "Post-exit script" msgstr "Guion post-salida" -#: lutris/sysoptions.py:456 +#: lutris/sysoptions.py:462 msgid "Script to execute when the game exits" msgstr "Guion a ejecutar cuando el juego termine" -#: lutris/sysoptions.py:462 +#: lutris/sysoptions.py:468 msgid "Include processes" msgstr "Procesos incluidos" -#: lutris/sysoptions.py:465 +#: lutris/sysoptions.py:471 msgid "" "What processes to include in process monitoring. This is to override the " "built-in exclude list.\n" @@ -7847,11 +8088,11 @@ msgstr "" "Lista separada por espacios, los procesos que incluyen espacios pueden ir " "entre comillas." -#: lutris/sysoptions.py:475 +#: lutris/sysoptions.py:481 msgid "Exclude processes" msgstr "Procesos excluidos" -#: lutris/sysoptions.py:478 +#: lutris/sysoptions.py:484 msgid "" "What processes to exclude in process monitoring. For example background " "processes that stick around after the game has been closed.\n" @@ -7863,11 +8104,11 @@ msgstr "" "Lista separada por espacios, los procesos que incluyen espacios pueden ir " "entre comillas." -#: lutris/sysoptions.py:489 +#: lutris/sysoptions.py:495 msgid "Killswitch file" msgstr "Archivo interruptor de corte" -#: lutris/sysoptions.py:492 +#: lutris/sysoptions.py:498 msgid "" "Path to a file which will stop the game when deleted \n" "(usually /dev/input/js0 to stop the game on joystick unplugging)" @@ -7876,44 +8117,44 @@ msgstr "" "(habitualmente se usa /dev/input/js0 para detener el juego al desconectar el " "mando)" -#: lutris/sysoptions.py:498 lutris/sysoptions.py:514 lutris/sysoptions.py:523 +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 msgid "Xephyr (Deprecated, use Gamescope)" msgstr "Xephyr (obsoleto, use Gamescope)" -#: lutris/sysoptions.py:500 +#: lutris/sysoptions.py:506 msgid "Use Xephyr" msgstr "Usar Xephyr" -#: lutris/sysoptions.py:504 +#: lutris/sysoptions.py:510 msgid "8BPP (256 colors)" msgstr "8BPP (256 colores)" -#: lutris/sysoptions.py:505 +#: lutris/sysoptions.py:511 msgid "16BPP (65536 colors)" msgstr "16BPP (65536 colores)" -#: lutris/sysoptions.py:506 +#: lutris/sysoptions.py:512 msgid "24BPP (16M colors)" msgstr "24BPP (16M colores)" -#: lutris/sysoptions.py:511 +#: lutris/sysoptions.py:517 msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" msgstr "" "Ejecuta el programa en Xephyr para permitir modos de color de 8BPP y 16BPP" -#: lutris/sysoptions.py:517 +#: lutris/sysoptions.py:523 msgid "Xephyr resolution" msgstr "Resolución de Xephyr" -#: lutris/sysoptions.py:520 +#: lutris/sysoptions.py:526 msgid "Screen resolution of the Xephyr server" msgstr "Resolución de pantalla del servidor Xephyr" -#: lutris/sysoptions.py:526 +#: lutris/sysoptions.py:532 msgid "Xephyr Fullscreen" msgstr "Pantalla completa de Xephyr" -#: lutris/sysoptions.py:530 +#: lutris/sysoptions.py:536 msgid "Open Xephyr in fullscreen (at the desktop resolution)" msgstr "Abrir Xephyr en pantalla completa (con la resolución del escritorio)" @@ -7921,6 +8162,10 @@ msgstr "Abrir Xephyr en pantalla completa (con la resolución del escritorio)" msgid "Flatpak is not installed" msgstr "Flatpak no está instalado" +#: lutris/util/linux.py:547 +msgid "No terminal emulator could be detected." +msgstr "No se detecta ningún emulador de terminal." + #: lutris/util/portals.py:83 #, python-format msgid "" @@ -7943,100 +8188,100 @@ msgstr "Nunca jugado" #. This function works out how many hours are meant by some #. number of some unit. -#: lutris/util/strings.py:199 lutris/util/strings.py:266 +#: lutris/util/strings.py:210 lutris/util/strings.py:275 msgid "hour" msgstr "hora" -#: lutris/util/strings.py:199 lutris/util/strings.py:266 +#: lutris/util/strings.py:210 lutris/util/strings.py:275 msgid "hours" msgstr "horas" -#: lutris/util/strings.py:203 lutris/util/strings.py:267 +#: lutris/util/strings.py:212 lutris/util/strings.py:276 msgid "minute" msgstr "minuto" -#: lutris/util/strings.py:203 lutris/util/strings.py:267 +#: lutris/util/strings.py:212 lutris/util/strings.py:276 msgid "minutes" msgstr "minutos" -#: lutris/util/strings.py:210 lutris/util/strings.py:295 +#: lutris/util/strings.py:219 lutris/util/strings.py:304 msgid "Less than a minute" msgstr "Menos de un minuto" -#: lutris/util/strings.py:268 +#: lutris/util/strings.py:277 msgid "day" msgstr "día" -#: lutris/util/strings.py:268 +#: lutris/util/strings.py:277 msgid "days" msgstr "días" -#: lutris/util/strings.py:269 +#: lutris/util/strings.py:278 msgid "week" msgstr "semana" -#: lutris/util/strings.py:269 +#: lutris/util/strings.py:278 msgid "weeks" msgstr "semanas" -#: lutris/util/strings.py:270 +#: lutris/util/strings.py:279 msgid "month" msgstr "mes" -#: lutris/util/strings.py:270 +#: lutris/util/strings.py:279 msgid "months" msgstr "meses" -#: lutris/util/strings.py:271 +#: lutris/util/strings.py:280 msgid "year" msgstr "año" -#: lutris/util/strings.py:271 +#: lutris/util/strings.py:280 msgid "years" msgstr "años" -#: lutris/util/strings.py:301 +#: lutris/util/strings.py:310 #, python-format msgid "'%s' is not a valid playtime." msgstr "'%s' no es un tiempo de juego válido." -#: lutris/util/strings.py:386 +#: lutris/util/strings.py:395 msgid "in the future" msgstr "en el futuro" -#: lutris/util/strings.py:388 +#: lutris/util/strings.py:397 msgid "just now" msgstr "ahora mismo" -#: lutris/util/strings.py:397 +#: lutris/util/strings.py:406 #, python-format msgid "%d days" msgstr "%d días" -#: lutris/util/strings.py:401 +#: lutris/util/strings.py:410 #, python-format msgid "%d hours" msgstr "%d horas" -#: lutris/util/strings.py:406 +#: lutris/util/strings.py:415 #, python-format msgid "%d minutes" msgstr "%d minutos" -#: lutris/util/strings.py:408 +#: lutris/util/strings.py:417 msgid "1 minute" msgstr "1 minuto" -#: lutris/util/strings.py:412 +#: lutris/util/strings.py:421 #, python-format msgid "%d seconds" msgstr "%d segundos" -#: lutris/util/strings.py:414 +#: lutris/util/strings.py:423 msgid "1 second" msgstr "1 segundo" -#: lutris/util/strings.py:416 +#: lutris/util/strings.py:425 msgid "ago" msgstr "atrás" @@ -8069,27 +8314,188 @@ msgstr "Proyectos" msgid "Ubisoft authentication has been lost: %s" msgstr "Se ha perdido la autenticación de Ubisoft: %s" -#: lutris/util/wine/dll_manager.py:98 +#: lutris/util/wine/dll_manager.py:102 +#, python-format +msgid "" +"The '%s' runtime component is not installed; visit the Updates tab in the " +"Preferences dialog to install it." +msgstr "" +"No está instalado el componente de tiempo de ejecución '%s'. Vaya a la " +"pestaña de Actualizaciones en el diálogo de Preferencias para instalarlo." + +#: lutris/util/wine/dll_manager.py:113 msgid "Manual" msgstr "Manual" -#: lutris/util/wine/proton.py:97 +#: lutris/util/wine/proton.py:100 #, python-format msgid "Proton version '%s' is missing its wine executable and can't be used." msgstr "" "No se puede usar la versión '%s' de Proton porque no tiene el ejecutable " "wine." -#: lutris/util/wine/wine.py:146 +#: lutris/util/wine/wine.py:176 msgid "The Wine version must be specified." msgstr "Debe especificarse la versión de Wine." -#: lutris/util/wine/wine.py:203 -msgid "No versions of Wine are installed." -msgstr "No se ha instalado ninguna versión de Wine." +#~ msgid "Login" +#~ msgstr "Iniciar sesión" + +#~ msgid "Turn on Library Sync" +#~ msgstr "Activar sincronización de biblioteca" + +#~ msgid "Add Games" +#~ msgstr "Añadir juegos" + +#~ msgid "Import a ROM that is known to Lutris" +#~ msgstr "Importar una ROM reconocida por Lutris" + +#~ msgid "Wine update channel" +#~ msgstr "Canal de actualización de Wine" + +#~ msgid "" +#~ "Stable:\n" +#~ "Wine-GE updates are downloaded automatically and the latest version is " +#~ "always used unless overridden in the settings.\n" +#~ "\n" +#~ "This allows us to keep track of regressions more efficiently and provide " +#~ "fixes more reliably." +#~ msgstr "" +#~ "Estable:\n" +#~ "Las actualizaciones de Wine-GE se descargan automáticamente y siempre se " +#~ "usa la última versión a menos que se cambie en la configuración.\n" +#~ "\n" +#~ "Esto nos permite seguir la pista a regresiones de una forma más eficiente " +#~ "y proporcionar correcciones más fiables." + +#~ msgid "" +#~ "Self-maintained:\n" +#~ "Wine updates are no longer delivered automatically and you have full " +#~ "responsibility of your Wine versions.\n" +#~ "\n" +#~ "Please note that this mode is fully unsupported. In order to " +#~ "submit issues on Github or ask for help on Discord, switch back to the " +#~ "Stable channel." +#~ msgstr "" +#~ "Auto-mantenido:\n" +#~ "No se actualiza Wine automáticamente, por lo que tiene completa " +#~ "responsabilidad con sus versiones de Wine.\n" +#~ "\n" +#~ "Tenga en cuenta que este modo no está soportado. Para abrir " +#~ "incidencias en Github o pedir ayuda en Discord vuelve al Canal " +#~ "estable." + +#~ msgid "" +#~ "No compatible Wine version could be identified. No updates are available." +#~ msgstr "" +#~ "No se ha podido identificar una versión de Wine compatible. No hay " +#~ "actualizaciones disponibles." + +#~ msgid "Check Again" +#~ msgstr "Volver a comprobar" + +#, python-format +#~ msgid "" +#~ "Your Wine version is up to date. Using: %s\n" +#~ "Last checked %s." +#~ msgstr "" +#~ "La versión de Wine está actualizada. Usando: %s\n" +#~ "Última comprobación %s." + +#, python-format +#~ msgid "" +#~ "You don't have any Wine version installed.\n" +#~ "We recommend %s" +#~ msgstr "" +#~ "No hay ninguna versión de Wine instalada.\n" +#~ "Se recomienda %s" + +#, python-format +#~ msgid "Download %s" +#~ msgstr "Descargar %s" + +#, python-format +#~ msgid "You don't have the recommended Wine version: %s" +#~ msgstr "No tienes la versión recomendada de Wine: %s" + +#~ msgid "Downloading..." +#~ msgstr "Descargando..." + +#~ msgid "" +#~ "Without the Wine-GE updates enabled, we can no longer provide support on " +#~ "Github and Discord." +#~ msgstr "" +#~ "Sin las actualizaciones de Wine-GE activadas no podemos ofrecer soporte " +#~ "en Github ni Discord." + +#~ msgid "Start Steam with LSI" +#~ msgstr "Iniciar Steam con LSI" + +#~ msgid "" +#~ "Launches steam with LSI patches enabled. Make sure Lutris Runtime is " +#~ "disabled and you have LSI installed. https://github.com/solus-project/" +#~ "linux-steam-integration" +#~ msgstr "" +#~ "Inicia steam con los parches LSI activados. Asegúrese de que el tiempo de " +#~ "ejecución de Lutris está desactivado y de que tiene instalado LSI. " +#~ "https://github.com/solus-project/linux-steam-integration" + +#~ msgid "Sandbox" +#~ msgstr "Entorno aislado" + +#~ msgid "Create a sandbox for Wine folders" +#~ msgstr "Crear un entorno aislado para las carpetas de Wine" + +#~ msgid "" +#~ "Do not use $HOME for desktop integration folders.\n" +#~ "By default, it will use the directories in the confined Windows " +#~ "environment." +#~ msgstr "" +#~ "No usar $HOME para las carpetas de integración del escritorio.\n" +#~ "Por defecto, usará los directorios del entorno confinado de Windows." + +#~ msgid "Sandbox directory" +#~ msgstr "Directorio de entorno aislado" + +#~ msgid "Custom directory for desktop integration folders." +#~ msgstr "" +#~ "Directorio personalizado para las carpetas de integración del escritorio." + +#~ msgid "" +#~ "Warning Wine is not installed on your system\n" +#~ "\n" +#~ "Having Wine installed on your system guarantees that Wine builds from " +#~ "Lutris will have all required dependencies.\n" +#~ "Please follow the instructions given in the Lutris Wiki to install " +#~ "Wine." +#~ msgstr "" +#~ "Atención Wine no está instalado en el sistema\n" +#~ "\n" +#~ "Tener Wine instalado en su sistema garantiza que las compilaciones de " +#~ "Wine de Lutris tendrán todas las dependencias necesarias.\n" +#~ "Siga las instrucciones dadas en la Wiki de Lutris para instalar " +#~ "Wine." + +#~ msgid "Origin" +#~ msgstr "Origin" + +#~ msgid "Deprecated, use EA App" +#~ msgstr "Obsoleto, use EA App" + +#~ msgid "Disable screen saver" +#~ msgstr "Desactivar el salvapantallas" -#~ msgid "Add Saved Search" -#~ msgstr "Añadir búsqueda guardada" +#~ msgid "" +#~ "Disable the screen saver while a game is running. Requires the screen " +#~ "saver's functionality to be exposed over DBus." +#~ msgstr "" +#~ "Desactivar el salvapantallas mientras se ejecuta un juego. Requiere que " +#~ "la funcionalidad del salvapantallas esté expuesta a través de DBus." + +#~ msgid "No versions of Wine are installed." +#~ msgstr "No se ha instalado ninguna versión de Wine." #~ msgid "(omit from search)" #~ msgstr "(omitir de la búsqueda)" @@ -8100,9 +8506,6 @@ msgstr "No se ha instalado ninguna versión de Wine." #~ msgid "Use Light Theme" #~ msgstr "Usar tema claro" -#~ msgid "Use Dark Theme" -#~ msgstr "Usar tema oscuro" - #~ msgid "" #~ "Umu:\n" #~ "Enables the use of Valve's Proton outside of Steam and uses a custom " @@ -8116,9 +8519,6 @@ msgstr "No se ha instalado ninguna versión de Wine." #~ "automáticamente.\n" #~ "Tenga en cuenta que esta características es experimental." -#~ msgid "GE-Proton (Latest)" -#~ msgstr "GE-Proton (último)" - #~ msgid "Add games" #~ msgstr "Añadir juegos" @@ -8131,9 +8531,6 @@ msgstr "No se ha instalado ninguna versión de Wine." #~ "Examinar una carpeta en busca de juegos instalados desde una instalación " #~ "anterior de Lutris" -#~ msgid "Folder to scan" -#~ msgstr "Carpeta a examinar" - #~ msgid "" #~ "This folder will be scanned for games previously installed with Lutris.\n" #~ "\n" @@ -8155,10 +8552,6 @@ msgstr "No se ha instalado ninguna versión de Wine." #~ msgid "You must select a folder to scan for games." #~ msgstr "Debe escoger una carpeta donde buscar juegos." -#, python-format -#~ msgid "No folder exists at '%s'." -#~ msgstr "No hay ninguna carpeta en '%s'." - #~ msgid "Games found" #~ msgstr "Se han encontrado juegos" @@ -8955,12 +9348,12 @@ msgstr "No se ha instalado ninguna versión de Wine." #~ msgid "" #~ "Choose a folder containing Steam.exe\n" -#~ "By default, Lutris will look for a Windows Steam installation into ~/." -#~ "wine or will install it in its own custom Wine prefix." +#~ "By default, Lutris will look for a Windows Steam installation into " +#~ "~/.wine or will install it in its own custom Wine prefix." #~ msgstr "" #~ "Elija una carpeta que contenga Steam.exe\n" -#~ "Por defecto, Lutris buscará una instalación de Steam de Windows en ~/." -#~ "wine o la instalará en su propio prefijo personalizado de Wine." +#~ "Por defecto, Lutris buscará una instalación de Steam de Windows en " +#~ "~/.wine o la instalará en su propio prefijo personalizado de Wine." #~ msgid "Shut down Steam after the game has quit." #~ msgstr "Cierra Steam después de que el juego haya salido." diff --git a/po/fa.po b/po/fa.po index c47378179a..96c6843db7 100644 --- a/po/fa.po +++ b/po/fa.po @@ -3,8 +3,8 @@ msgid "" msgstr "" "Project-Id-Version: lutris\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-11 18:10+0330\n" -"PO-Revision-Date: 2025-01-12 12:27+0330\n" +"POT-Creation-Date: 2025-11-20 14:14+0330\n" +"PO-Revision-Date: 2025-11-20 16:25+0330\n" "Last-Translator: Alireza Rashidi \n" "Language-Team: Persian\n" "Language: Persian\n" @@ -12,11 +12,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Lokalize 24.12.0\n" +"X-Generator: Lokalize 25.08.3\n" #: share/applications/net.lutris.Lutris.desktop:2 -#: share/metainfo/net.lutris.Lutris.metainfo.xml:13 -#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:84 +#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 #: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 #: lutris/services/lutris.py:49 lutris/sysoptions.py:80 lutris/sysoptions.py:90 #: lutris/sysoptions.py:102 @@ -31,11 +30,6 @@ msgstr "سکو نگه‌داری بازی‌های ویدیویی" msgid "gaming;wine;emulator;" msgstr "بازی؛واین؛شبیه‌ساز؛" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:8 -#: share/metainfo/net.lutris.Lutris.metainfo.xml:10 -msgid "Lutris Team" -msgstr "گروه لوتریس" - #: share/metainfo/net.lutris.Lutris.metainfo.xml:14 #: share/lutris/ui/about-dialog.ui:18 msgid "Video game preservation platform" @@ -52,157 +46,154 @@ msgid "" "implementations and compatibility layers, it gives you a central interface " "to launch all your games." msgstr "" -"لوتریس شما را یاری می‌کند تا بازی‌های ویدیویی را از همه دوران‌ها و از بیشتر " -"سامانه‌های بازی نصب و اجرا کنید. با بکارگیری و به هم پیوستن شبیه‌سازهایی که " -"هست، پیاده‌سازی‌های دوباره موتور و لایه‌های سازگاری، یک رابط کانونی برای " -"راه‌اندازی همه بازی‌های شما فراهم می‌کند." +"لوتریس شما را یاری می‌کند تا بازی‌های ویدیویی هر دوره‌ای را از بیشتر سکوهای " +"بازی نصب و اجرا کنید. با استفاده و به هم پیوستن شبیه‌سازهایموجود، " +"پیاده‌سازی‌های دوباره موتور و لایه‌های سازگاری، یک رابط مرکزی برای راه‌اندازی " +"همه بازی‌های شما فراهم می‌کند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:33 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 msgid "" "Lutris downloads the latest GE-Proton build for Wine if any Wine version is " "installed" msgstr "" -"لوتریس آخرین نگارش GE-Proton را برای واین دریافت می‌کند اگر نگارش‌ای از واین " +"لوتریس آخرین نگارش GE-Proton را برای واین دریافت می‌کند اگر نگارشی از واین " "نصب شده باشد." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 msgid "Use dark theme by default" -msgstr "به‌طور پیش‌گزیده پوسته تیره بکارگرفته میشود" +msgstr "به‌طور پیش‌گزیده پوسته تیره استفاده می‌شود" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 msgid "Display cover-art rather than banners by default" msgstr "به‌طور پیش‌گزیده، جلد بازی را به جای بنرها نمایش دهید" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 msgid "Add 'Uncategorized' view to sidebar" -msgstr "نمای 'بدون دسته‌بندی' را به نوار کناری بیفزایید" +msgstr "دسته‌بندی «دسته‌بندی نشده» را به نوار کناری بیفزایید" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 msgid "" "Preference options that do not work on Wayland will be hidden when on Wayland" msgstr "" -"گزینه‌های ترجیحی که در وی‌لند کار نمی‌کنند، هنگام بکارگیری وی‌لند پنهان خواهند" -"شد." +"گزینه‌های ترجیحی که در وی‌لند کار نمی‌کنند، هنگام کار با وی‌لند پنهان می‌شوند" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 msgid "" "Game searches can now use fancy tags like 'installed:yes' or 'source:gog', " "with explanatory tool-tip" msgstr "" -"جستجوی بازی‌ها اینک می‌تواند با برچسب‌های ویژه‌ای مانند 'installed:yes' or " -"'source:gog', انجام شود، با توضیحات راهنما." +"می‌توانید بازی‌ها را با استفاده از برچسب‌های پیشرفته مانند «installed:yes» یا " +"«source:gog»جستجو کنید، همراه با توضیحات راهنما" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 msgid "" "A new filter button on the search box can build many of these fancy tags for " "you" msgstr "" -"یک دکمه پالایش جدید در کادر جستجو می‌تواند بسیاری از این برچسب‌های ویژه را " +"یک دکمه پالایش جدید در کادر جستجو می‌تواند بسیاری از این برچسب‌های پیشرفته را " "برای شما بسازد." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 msgid "" "Runner searches can use 'installed:yes' as well, but no other fancy searches " "or anything" msgstr "" -"جستجوهای اجراکننده نیز می‌توانند با 'installed:yes' انجام شوند، ولی نه هیچ " -"جستجوی ویژه دیگری یا چیزی مشابه." +"جستجوی اجراکننده‌ها نیز می‌تواند با «installed:yes» انجام شود، ولی بدون هیچ " +"جستجوی پیشرفته دیگری یا چیزی مشابه." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 msgid "" "Updated the Flathub and Amazon source to new APIs, restoring integration" msgstr "" -"منبع فلت‌هاب و آمازون به APIهای جدید به‌روزرسانی شده است و یکپارچگی " -"بازگردانده شده است." +"منبع فلت‌هاب و آمازون به APIهای جدید به‌روزرسانی شده است و یکپارچگی بازگردانده " +"شده است." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 msgid "" "Itch.io source integration will load a collection named 'Lutris' if present" msgstr "" -"یکپارچگی منبع Itch.io اگر موجود باشد، مجموعه‌ای به نام 'لوتریس' را بارگذاری " +"اگر یکپارچگی منبع Itch.io موجود باشد، مجموعه‌ای به نام «لوتریس» را بارگذاری " "خواهد کرد." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 msgid "" "GOG and Itch.io sources can now offer Linux and Windows installers for the " "same game" msgstr "" -"منابع GOG و Itch.io اینک می‌توانند نصب‌کننده‌های لینوکس و ویندوز را برای یک " +"منابع GOG و Itch.io اکنون می‌توانند نصب‌کننده‌های لینوکس و ویندوز را برای یک " "بازی یکسان نشان دهند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 msgid "Added support for the 'foot' terminal" -msgstr "پشتیبانی از ترمینال 'foot' افزوده شد" +msgstr "پشتیبانی از ترمینال «foot» افزوده شد" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 msgid "Support for DirectX 8 in DXVK v2.4" msgstr "پشتیبانی از DirectX 8 در DXVK v2.4" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 msgid "Support for Ayatana Application Indicators" msgstr "پشتیبانی از نشانگرهای برنامه Ayatana" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 msgid "Additional options for Ruffle runner" msgstr "گزینه‌های افزوده برای اجراکننده Ruffle" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 msgid "Updated download links for the Atari800 and MicroM8 runners" msgstr "پیوند‌های دریافت برای اجراکننده‌های Atari800 و MicroM8 به‌روزرسانی شد" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 msgid "" "No longer re-download cached installation files even when some are missing" msgstr "" "دیگر پرونده‌های نصب کش‌شده را حتی زمانی که برخی از آن‌ها گم شده‌اند، دوباره " "دریافت نکنید." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 msgid "Lutris log is included in the 'System' tab of the Preferences window" -msgstr "گزارش لوتریس در زبانه 'سامانه' پنجره تنظیمات گنجانده شده است." +msgstr "گزارش‌های لوتریس در زبانه «سامانه» پنجره تنظیمات قرار دارد." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 msgid "" "Improved error reporting, with the Lutris log included in the error details" -msgstr "" -"گزارش‌گیری خطا بهبود یافته است و گزارش لوتریس در جزئیات خطا گنجانده شده است." +msgstr "گزارش خطاها بهبود یافته و گزارش‌های لوتریس در جزئیات خطا گنجانده شده‌اند" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 msgid "Add AppArmor profile for Ubuntu versions >= 23.10" msgstr "افزودن نمایه AppArmor برای نگارش‌های اوبونتو >= 23.10" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 msgid "Add Duckstation runner" msgstr "افزودن اجراکننده Duckstation" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:60 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 msgid "" "Fix critical bug preventing completion of installs if the script specifies a " "wine version" msgstr "" -"رفع اشکال بحرانی که وقتی اسکریپت نگارش‌ای از واین را مشخص میکند.مانع از به " +"رفع اشکال بحرانی که وقتی اسکریپت نگارشی از واین را مشخص میکند.مانع از به " "پایان رساندن نصب‌ها می‌شود" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 msgid "Fix critical bug preventing Steam library sync" msgstr "رفع اشکال بحرانی که مانع همگام‌سازی کتابخانه استیم می‌شود" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 msgid "Fix critical bug preventing game or runner uninstall in Flatpak" msgstr "رفع اشکال بحرانی که مانع پاک‌کردن بازی یا اجراکننده در فلت‌پک می‌شود" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 msgid "Support for library sync to lutris.net, this allows to sync games, play" msgstr "" -"پشتیبانی از همگام‌سازی کتابخانه با Lutris.net، این امکان را می‌دهد " -"که بازی‌ها، زمان بازی و دسته‌بندی‌ها را " -"با چندین دستگاه همگام‌سازی کنید." +"پشتیبانی از همگام‌سازی کتابخانه با Lutris.net، این امکان را می‌دهد که بازی‌ها، " +"زمان بازی و دسته‌بندی‌ها را با چندین دستگاه همگام‌سازی کنید." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 msgid "time and categories to multiple devices." msgstr "زمان و دسته‌بندی‌ها را با چندین دستگاه." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 msgid "" "Remove \"Lutris\" service view; with library sync the \"Games\" view " "replaces it." @@ -210,25 +201,25 @@ msgstr "" "نمای سرویس \"لوتریس\" را برمیدارد؛ با همگام‌سازی کتابخانه، نمای \"بازی‌ها\" " "جایگزین آن می‌شود." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 msgid "" "Torturous and sadistic options for multi-GPUs that were half broken and " "understood by no one have been replaced by a simple GPU selector." msgstr "" -"گزینه‌های دردناک و آزار دهنده برای چندین GPU که نیمه‌خراب بودند " -"و هیچ‌کس آن‌ها را درک نمی‌کرد، با یک انتخاب‌کننده GPU ساده جایگزین شده‌اند." +"گزینه‌های پیچیده و عذاب‌آور برای چند GPU که نیمه‌خراب بودند و هیچ‌کس آن‌ها را درک " +"نمی‌کرد، با یک انتخاب‌کننده GPU ساده جایگزین شده‌اند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 msgid "" "EXPERIMENTAL support for umu, which allows running games with Proton and" -msgstr "پشتیبانی EXPERIMENTAL از umu، که اجازه می‌دهد بازی‌ها با پروتون و" +msgstr "پشتیبانی آزمایشی از umu، که اجازه می‌دهد بازی‌ها با پروتون و" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 msgid "" "Pressure Vessel. Using Proton in Lutris without umu is no longer possible." -msgstr "Pressure Vessel. بکارگیری پروتون در لوتریس بدون umu دیگر ممکن نیست." +msgstr "Pressure Vessel. استفاده از پروتون در لوتریس بدون umu دیگر ممکن نیست." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 msgid "" "Better and sensible sorting for games (sorting by playtime or last played no " "longer needs to be reversed)" @@ -236,94 +227,93 @@ msgstr "" "مرتب‌سازی بهتر و منطقی‌تر برای بازی‌ها (مرتب‌سازی بر پایه زمان بازی یا آخرین " "بازی دیگر نیازی به وارون کردن ندارد)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 msgid "Support the \"Categories\" command when you select multiple games" -msgstr "" -"پشتیبانی از فرمان \"دسته‌بندی‌ها\" زمانی که چندین بازی را انتخاب می‌کنید" +msgstr "پشتیبانی از فرمان \"دسته‌بندی‌ها\" زمانی که چندین بازی را انتخاب می‌کنید" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 msgid "Notification bar when your Lutris is no longer supported" -msgstr "نوار آگاه‌سازی زمانی که لوتریس شما دیگر پشتیبانی نمی‌شود" +msgstr "" +"نوار آگاه‌سازی زمانی نمایش داده می‌شود که نگارش لوتریس شما دیگر پشتیبانی نشود" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 msgid "Improved error dialog." -msgstr "دیالوگ خطا بهبود یافته است." +msgstr "گفتگو خطا بهبود یافته است." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" msgstr "افزودن اجراکننده Vita3k (با تشکر از @ItsAllAboutTheCode)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 msgid "Add Supermodel runner" msgstr "افزودن اجراکننده Supermodel" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 msgid "WUA files are now supported in Cemu" -msgstr "پرونده‌های WUA اینک در Cemu پشتیبانی می‌شوند" +msgstr "پرونده‌های WUA اکنون در Cemu پشتیبانی می‌شوند" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 msgid "" "\"Show Hidden Games\" now displays the hidden games in a separate view, and " "re-hides them as soon as you leave it." msgstr "" -"\"نمایش بازی‌های پنهان\" اینک بازی‌های پنهان را در یک نمای جداگانه نمایش می‌ده" -"د " -"و به محض اینکه از آن خارج شوید، دوباره آن‌ها را پنهان می‌کند." +"\"نمایش بازی‌های پنهان\" اکنون بازی‌های پنهان را در یک نمای جداگانه نمایش " +"می‌دهد و به‌محض خروج از این نما، آن‌ها دوباره پنهان می‌شوند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 msgid "Support transparent PNG files for custom banner and cover-art" msgstr "پشتیبانی از پرونده‌های PNG شفاف برای بنر و جلد سفارشی" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 msgid "Images are now downloaded for manually added games." -msgstr "تصاویر اینک برای بازی‌های اضافه‌شده به‌صورت دستی دریافت می‌شوند." +msgstr "تصاویر اکنون برای بازی‌های اضافه‌شده به‌صورت دستی دریافت می‌شوند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," msgstr "" -"بکارگیری 'exe'، 'main_file' یا 'iso' که در ریشه اسکریپت قرار دارد، منسوخ شده " -"است،" +"استفاده از «exe»، «main_file» یا «iso» که در ریشه اسکریپت قرار دارد، منسوخ " +"شده است،" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 msgid "all lutris.net installers have been updated accordingly." msgstr "تمامی نصب‌کننده‌های Lutris.net به‌طور متناسب به‌روزرسانی شده‌اند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 msgid "Deprecate libstrangle and xgamma support." msgstr "پشتیبانی از libstrangle و xgamma منسوخ شده است." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 msgid "" "Deprecate DXVK state cache feature (it was never used and is no longer " "relevant to DXVK 2)" msgstr "" -"ویژگی کش وضعیت DXVK منسوخ شده است (هرگز بکارگرفته نشده و دیگر به DXVK 2 مرتبط " +"ویژگی کش وضعیت DXVK منسوخ شده است (هرگز استفاده نشده و دیگر به DXVK 2 مرتبط " "نیست)." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:89 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 msgid "Fix bug that prevented installers to complete" msgstr "رفع اشکالی که مانع از به پایان رساندن نصب‌کننده‌ها می‌شد" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 msgid "Better handling of Steam configurations for the Steam account picker" msgstr "مدیریت بهتر پیکربندی‌های استیم برای انتخاب‌کننده حساب استیم" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 msgid "Load game library in a background thread" msgstr "بارگذاری کتابخانه بازی را در یک رشته پس‌زمینه" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:98 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 msgid "" "Fix some crashes happening when using Wayland and a high DPI gaming mouse" msgstr "" -"رفع برخی از فروپاشی‌ها که هنگام بکارگیری وی‌لند و یک ماوس بازی با DPI بالا رخ " -"می‌دهد." +"رفع برخی از فروپاشی‌ها که هنگام استفاده از وی‌لند و یک ماوس بازی با DPI بالا " +"رخ می‌دهد." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 msgid "Fix crash when opening the system preferences tab for a game" msgstr "رفع فروپاشی هنگام باز کردن زبانه تنظیمات سامانه برای یک بازی" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 msgid "" "Reduced the locales list to a predefined one (let us know if you need yours " "added)" @@ -331,23 +321,23 @@ msgstr "" "فهرست زبان‌ها به یک فهرست از پیش گزیده کاهش یافته است (اگر نیاز به افزودن " "زبان خود دارید، به ما اطلاع دهید)." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 msgid "Fix Lutris not expanding \"~\" in paths" msgstr "رفع مشکل لوتریس در گسترش \"~\" در مسیرها" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 msgid "Download runtime components from the main window," msgstr "اجزای زمان اجرا را از پنجره اصلی دریافت کنید،" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 msgid "" "the \"updating runtime\" dialog appearing before Lutris opens has been " "removed" msgstr "" -"دیالوگ \"به‌روزرسانی زمان اجرا\" که پیش از باز شدن لوتریس ظاهر می‌شد، برداشته " +"گفتگو \"به‌روزرسانی زمان اجرا\" که پیش از باز شدن لوتریس نمایان می‌شد، برداشته " "شده." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 msgid "" "Add the ability to open a location in your file browser from file picker " "widgets" @@ -355,178 +345,175 @@ msgstr "" "افزودن قابلیت باز کردن یک مکان در مرورگر پرونده شما از ابزارک‌های انتخاب " "پرونده" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 msgid "" "Add the ability to select, remove, or stop multiple games in the Lutris " "window" msgstr "افزودن قابلیت انتخاب، برداشتن یا متوقف کردن چندین بازی در پنجره لوتریس" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 msgid "" "Redesigned 'Uninstall Game' dialog now completely removes games by default" msgstr "" -"دیالوگ 'پاک‌کردن بازی' بازطراحی شده اینک به‌طور پیش‌گزیده بازی‌ها را به‌طور کا" -"مل " +"گفتگو «پاک‌کردن بازی» بازطراحی شده اکنون به‌طور پیش‌گزیده بازی‌ها را به‌طور کامل " "پاک می‌کند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 msgid "Fix the export / import feature" msgstr "رفع اشکال ویژگی صادرات / واردات" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 msgid "Show an animation when a game is launched" -msgstr "نمایش پویانمایی هنگام راه‌اندازی یک بازی" +msgstr "نمایش پویانمایی هنگام راه‌اندازی بازی" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 msgid "" "Add the ability to disable Wine auto-updates at the expense of losing support" msgstr "" "افزودن قابلیت غیرفعال کردن به‌روزرسانی‌های خودکار واین به قیمت از دست دادن " "پشتیبانی" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 msgid "Add playtime editing in the game preferences" msgstr "افزودن ویرایش زمان بازی در تنظیمات بازی" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 msgid "" "Move game files, runners to the trash instead of deleting them they are " "uninstalled" -msgstr "" -"جابه‌جایی پرونده‌های بازی و اجراکننده‌ها به سطل زباله به جای پاک‌کردن آن‌ها" +msgstr "جابه‌جایی پرونده‌های بازی و اجراکننده‌ها به سطل زباله به جای پاک‌کردن آن‌ها" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 msgid "" "Add \"Updates\" tab in Preferences control and check for updates and correct " "missing media" msgstr "" -"افزودن زبانه \"به‌روزرسانی‌ها\" در هدایت تنظیمات و بررسی به‌روزرسانی‌ها و اصلا" -"ح " +"افزودن زبانه \"به‌روزرسانی‌ها\" در هدایت تنظیمات و بررسی به‌روزرسانی‌ها و اصلاح " "رسانه‌های گم‌شده" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 msgid "in the 'Games' view." -msgstr "در نمای 'بازی‌ها'." +msgstr "در نمای «بازی‌ها»." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 msgid "" "Add \"Storage\" tab in Preferences to control game and installer cache " "location" msgstr "" "افزودن زبانه \"ذخیره‌سازی\" در تنظیمات برای کنترل مکان کش بازی و نصب‌کننده" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 msgid "" "Expand \"System\" tab in Preferences with more system information but less " "brown." msgstr "" "گسترش زبانه \"سامانه\" در تنظیمات با اطلاعات بیشتر سامانه ولی کمتر قهوه‌ای." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 msgid "Add \"Run Task Manager\" command for Wine games" msgstr "افزودن فرمان \"اجرای مدیر وظایف\" برای بازی‌های واین" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 msgid "Add two new, smaller banner sizes for itch.io games." msgstr "افزودن دو اندازه بنر جدید و کوچک‌تر برای بازی‌های itch.io." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 msgid "" "Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" msgstr "" -"تنظیمات میزکار مجازی واین را هنگام بکارگیری Wine-GE/Proton نادیده بگیرید تا " -"از فروپاشی جلوگیری شود." +"تنظیمات میزکار مجازی واین را هنگام استفاده از Wine-GE/Proton نادیده بگیرید " +"تا از فروپاشی جلوگیری شود." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 msgid "Ignore MangoHUD setting when launching Steam to avoid crash" msgstr "" "تنظیمات MangoHUD را هنگام راه‌اندازی استیم نادیده بگیرید تا از فروپاشی " "جلوگیری شود." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 msgid "Sync Steam playtimes with the Lutris library" -msgstr "همگام‌سازی زمان‌های بازی استیم با کتابخانه لوتریس" +msgstr "همگام‌سازی زمان بازی استیم با کتابخانه لوتریس" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:127 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 msgid "Add Steam account switcher to handle multiple Steam accounts" msgstr "افزودن سوئیچ‌کننده حساب استیم برای مدیریت چندین حساب استیم" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 msgid "on the same device." msgstr "بر روی یک دستگاه." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 msgid "Add user defined tags / categories" msgstr "افزودن برچسب‌ها / دسته‌بندی‌های تعریف‌شده توسط کاربر" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 msgid "Group every API calls for runtime updates in a single one" msgstr "گروه‌بندی هر تماس API برای به‌روزرسانی‌های زمان اجرا در یک تماس" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 msgid "Download appropriate DXVK and VKD3D versions based on" msgstr "دریافت نگارش‌های مناسب DXVK و VKD3D بر پایه" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 msgid "the available GPU PCI IDs" msgstr "شناسه‌های PCI GPU موجود" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 msgid "" "EA App integration. Your Origin games and saves can be manually imported" msgstr "" -"یکپارچگی برنامه EA. بازی‌ها و ذخیره‌های Origin شما می‌توانند " -"به‌صورت دستی وارد شوند." +"یکپارچگی نرم‌افزار EA. بازی‌ها و ذخیره‌های Origin شما می‌توانند به‌صورت دستی وارد " +"شوند." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 msgid "from your Origin prefix." msgstr "از پیشوند Origin شما." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 msgid "Add integration with ScummVM local library" msgstr "افزودن یکپارچگی با کتابخانه محلی ScummVM" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 msgid "Download Wine-GE updates when Lutris starts" msgstr "دریافت به‌روزرسانی‌های Wine-GE هنگام شروع لوتریس" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 msgid "Group GOG and Amazon download in a single progress bar" msgstr "گروه‌بندی دریافت GOG و آمازون در یک نوار پیشرفت واحد" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 msgid "Fix blank login window on online services such as GOG or EGS" msgstr "رفع مشکل پنجره ورود خالی در خدمات آنلاین مانند GOG یا EGS" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 msgid "Add a sort name field" msgstr "افزودن یک قسمت نام مرتب‌سازی" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 msgid "Yuzu and xemu now use an AppImage" -msgstr "Yuzu و xemu اینک از یک AppImage را بکار میگیرد" +msgstr "Yuzu و xemu اکنون از یک AppImage استفاده میکند" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 msgid "Experimental support for Flatpak provided runners" msgstr "پشتیبانی آزمایشی از اجراکننده‌های به‌دست آمده از فلت‌پک" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 msgid "Header-bar search for configuration options" msgstr "جستجوی نوار عنوان برای گزینه‌های پیکربندی" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 msgid "Support for Gamescope 3.12" msgstr "پشتیبانی از Gamescope 3.12" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 msgid "Missing games show an additional badge" msgstr "بازی‌های گم‌شده یک نشان افزوده نمایش می‌دهند" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 msgid "Add missing dependency on python3-gi-cairo for Debian packages" msgstr "افزودن وابستگی گم‌شده به python3-gi-cairo برای بسته‌های دبیان" -#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:806 +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 msgid "About Lutris" msgstr "درباره لوتریس" @@ -550,7 +537,7 @@ msgstr "" "بنیاد نرم‌افزارهای آزاد منتشر شده است، نگارش 3 مجوز یا\n" "(به انتخاب شما) هر نگارش بعدی.\n" "\n" -"این برنامه با امید اینکه مفید باشد توزیع شده است،\n" +"این برنامه با امید اکنونه مفید باشد توزیع شده است،\n" "ولی بدون هیچ گونه ضمانتی؛ حتی بدون ضمانت ضمنی\n" "قابلیت فروش یا تناسب برای یک هدف ویژه را ندارد. به\n" "مجوز عمومی GNU برای جزئیات بیشتر مراجعه کنید.\n" @@ -591,23 +578,21 @@ msgstr "نام کاربری" msgid "Search..." msgstr "جستجو..." -#: share/lutris/ui/lutris-window.ui:113 -msgid "" -"Login to Lutris.net to view your game " -"library" +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "کاهش اندازه متن" + +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "افزایش اندازه متن" + +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" msgstr "" "وارد Lutris.net شوید تا کتابخانه بازی‌های " "خود را مشاهده کنید" -#: share/lutris/ui/lutris-window.ui:126 -msgid "Login" -msgstr "ورود" - -#: share/lutris/ui/lutris-window.ui:141 -msgid "Turn on Library Sync" -msgstr "فعال کردن همگام‌سازی کتابخانه" - -#: share/lutris/ui/lutris-window.ui:179 +#: share/lutris/ui/lutris-window.ui:149 msgid "" "Lutris %s is no longer supported. Download %s here!" @@ -615,7 +600,7 @@ msgstr "" "%s لوتریس دیگر پشتیبانی نمی‌شود. اینجا %s را دریافت کنید!" -#: share/lutris/ui/lutris-window.ui:312 +#: share/lutris/ui/lutris-window.ui:282 msgid "" "Enter the name of a game to search for, or use search terms:\n" "\n" @@ -632,13 +617,13 @@ msgid "" "lastplayed:<2 days\tOnly games played in the last 2 days.\n" "directory:game/dir\tOnly games at the path." msgstr "" -"نام یک بازی را برای جستجو وارد کنید یا کلیدواژه‌های جستجو را بکاربگیرید:\n" +"نام بازی را برای جستجو وارد کنید یا از کلیدواژه‌های زیر استفاده کنید:\n" "\n" "installed:true\t\t\tتنها بازی‌های نصب شده.\n" -"hidden:true\t\t\tتنها بازی‌های مخفی.\n" -"favorite:true\t\t\tتنها بازی‌های مورد علاقه.\n" -"categorized:true\t\tتنها بازی‌های در یک دسته.\n" -"category:x\t\t\tتنها بازی‌های در دسته x.\n" +"hidden:true\t\t\tتنها بازی‌های پنهان.\n" +"favorite:true\t\t\tتنها بازی‌های دلخواه.\n" +"categorized:true\t\tتنها بازی‌های در یک دسته‌بندی.\n" +"category:x\t\t\tتنها بازی‌های در دسته‌بندی x.\n" "source:استیم\t\t\tتنها بازی‌های استیم\n" "runner:واین\t\t\tتنها بازی‌های واین\n" "platform:windows\tتنها بازی‌های ویندوز\n" @@ -648,83 +633,79 @@ msgstr "" "شده‌اند.\n" "directory:game/dir\tتنها بازی‌های در مسیر." -#: share/lutris/ui/lutris-window.ui:328 lutris/gui/lutriswindow.py:750 +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:817 msgid "Search games" msgstr "جستجوی بازی‌ها" -#: share/lutris/ui/lutris-window.ui:376 +#: share/lutris/ui/lutris-window.ui:346 msgid "Add Game" msgstr "افزودن بازی" -#: share/lutris/ui/lutris-window.ui:408 +#: share/lutris/ui/lutris-window.ui:378 msgid "Toggle View" msgstr "تغییر نما" -#: share/lutris/ui/lutris-window.ui:506 +#: share/lutris/ui/lutris-window.ui:476 msgid "Zoom " msgstr "بزرگ‌نمایی" -#: share/lutris/ui/lutris-window.ui:548 +#: share/lutris/ui/lutris-window.ui:518 msgid "Sort Installed First" -msgstr "اول نصب شده‌ها را مرسربرگ کن" +msgstr "اول نصب شده‌ها را نمایش بده" -#: share/lutris/ui/lutris-window.ui:562 +#: share/lutris/ui/lutris-window.ui:532 msgid "Reverse order" msgstr "ترتیب وارون" -#: share/lutris/ui/lutris-window.ui:588 +#: share/lutris/ui/lutris-window.ui:558 #: lutris/gui/config/edit_category_games.py:35 #: lutris/gui/config/edit_saved_search.py:47 -#: lutris/gui/config/game_common.py:181 lutris/gui/views/list.py:65 -#: lutris/gui/views/list.py:198 +#: lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:65 +#: lutris/gui/views/list.py:215 msgid "Name" msgstr "نام" -#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:67 +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:67 msgid "Year" msgstr "سال" -#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:70 +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:70 msgid "Last Played" -msgstr "آخرین بازی" +msgstr "آخر بازی‌شده" -#: share/lutris/ui/lutris-window.ui:633 lutris/gui/views/list.py:72 +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:72 msgid "Installed At" -msgstr "نصب شده در" +msgstr "آخر نصب‌شده" -#: share/lutris/ui/lutris-window.ui:648 lutris/gui/views/list.py:71 +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:71 msgid "Play Time" -msgstr "زمان بازی" +msgstr "بیشتر بازی‌شده" -#: share/lutris/ui/lutris-window.ui:677 +#: share/lutris/ui/lutris-window.ui:647 msgid "_Installed Games Only" msgstr "_تنها بازی‌های نصب شده" -#: share/lutris/ui/lutris-window.ui:692 +#: share/lutris/ui/lutris-window.ui:662 msgid "Show Side _Panel" msgstr "نمایش _پنل جانبی" -#: share/lutris/ui/lutris-window.ui:707 +#: share/lutris/ui/lutris-window.ui:677 msgid "Show _Hidden Games" -msgstr "نمایش _بازی‌های مخفی" - -#: share/lutris/ui/lutris-window.ui:725 -msgid "Add Games" -msgstr "افزودن بازی‌ها" +msgstr "نمایش _بازی‌های پنهان" -#: share/lutris/ui/lutris-window.ui:739 +#: share/lutris/ui/lutris-window.ui:698 msgid "Preferences" msgstr "تنظیمات" -#: share/lutris/ui/lutris-window.ui:764 +#: share/lutris/ui/lutris-window.ui:723 msgid "Discord" msgstr "دیسکورد" -#: share/lutris/ui/lutris-window.ui:778 +#: share/lutris/ui/lutris-window.ui:737 msgid "Lutris forums" msgstr "انجمن‌های لوتریس" -#: share/lutris/ui/lutris-window.ui:792 +#: share/lutris/ui/lutris-window.ui:751 msgid "Make a donation" msgstr "کمک مالی" @@ -745,9 +726,9 @@ msgid "Remove Games" msgstr "برداشتن بازی‌ها" #: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 -#: lutris/gui/addgameswindow.py:535 lutris/gui/addgameswindow.py:538 -#: lutris/gui/dialogs/__init__.py:168 lutris/gui/dialogs/runner_install.py:275 -#: lutris/gui/installerwindow.py:97 lutris/gui/installerwindow.py:1029 +#: lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 +#: lutris/gui/dialogs/__init__.py:172 lutris/gui/dialogs/runner_install.py:275 +#: lutris/gui/installerwindow.py:103 lutris/gui/installerwindow.py:1087 #: lutris/gui/widgets/download_collection_progress_box.py:153 #: lutris/gui/widgets/download_progress_box.py:116 msgid "Cancel" @@ -762,15 +743,34 @@ msgstr "برداشتن" msgid "never" msgstr "هرگز" -#: lutris/exceptions.py:25 +#: lutris/cache.py:84 +#, python-format +msgid "" +"The cache path '%s' does not exist, but its parent does so it will be " +"created when needed." +msgstr "" +"مسیر کش '%s' وجود ندارد. ولی مسیر مادرش موجود است. پس هر زمان که لازم باشد " +"این مسیر ساخته خواهد شد" + +#: lutris/cache.py:88 +#, python-format +msgid "" +"The cache path %s does not exist, nor does its parent, so it won't be " +"created." +msgstr "" +"مسیر کش '%s' وجود ندارد. مسیر مادرش هم موجود نیست. پس این مسیر ساخته نخواهد " +"شد" + +#: lutris/exceptions.py:36 +#, python-brace-format msgid "The directory {} could not be found" -msgstr "مسیر {} پیدا نشد" +msgstr "پوشه {} پیدا نشد" -#: lutris/exceptions.py:39 +#: lutris/exceptions.py:50 msgid "A bios file is required to run this game" msgstr "یک پرونده بایوس برای اجرای این بازی لازم است" -#: lutris/exceptions.py:52 +#: lutris/exceptions.py:63 #, python-brace-format msgid "" "The following {arch} libraries are required but are not installed on your " @@ -780,26 +780,27 @@ msgstr "" "کتابخانه‌های {arch} زیر لازم است ولی در سامانه شما نصب نشده‌اند:\n" "{libs}" -#: lutris/exceptions.py:76 lutris/exceptions.py:88 +#: lutris/exceptions.py:87 lutris/exceptions.py:99 +#, python-brace-format msgid "The file {} could not be found" msgstr "پرونده {} پیدا نشد" -#: lutris/exceptions.py:90 +#: lutris/exceptions.py:101 msgid "" "This game has no executable set. The install process didn't finish properly." msgstr "" "برای این بازی هیج اجرایی تنظیم نشده. فرآیند نصب به درستی پایان نیافته است." -#: lutris/exceptions.py:105 +#: lutris/exceptions.py:116 msgid "Your ESYNC limits are not set correctly." msgstr "محدودیت‌های ESYNC شما به درستی تنظیم نشده‌اند." -#: lutris/exceptions.py:115 +#: lutris/exceptions.py:126 msgid "" "Your kernel is not patched for fsync. Please get a patched kernel to use " "fsync." msgstr "" -"هسته شما برای fsync پچ نشده است. لطفاً یک هسته پچ شده برای بکارگیری fsync " +"هسته شما برای fsync پچ نشده است. لطفاً یک هسته پچ شده برای استفاده از fsync " "دریافت کنید." #: lutris/game_actions.py:190 lutris/game_actions.py:228 @@ -811,19 +812,19 @@ msgstr "متوقف کردن" #: lutris/gui/config/edit_game_categories.py:18 #: lutris/gui/config/edit_saved_search.py:72 lutris/gui/widgets/sidebar.py:400 msgid "Categories" -msgstr "دسته‌ها" +msgstr "دسته‌بندی‌ها" #: lutris/game_actions.py:193 lutris/game_actions.py:235 msgid "Add to favorites" -msgstr "افزودن به مورد علاقه‌ها" +msgstr "افزودن به موارد دلخواه" #: lutris/game_actions.py:194 lutris/game_actions.py:236 msgid "Remove from favorites" -msgstr "برداشتن از مورد علاقه‌ها" +msgstr "برداشتن از موارد دلخواه" #: lutris/game_actions.py:195 lutris/game_actions.py:237 msgid "Hide game from library" -msgstr "مخفی کردن بازی از کتابخانه" +msgstr "پنهان کردن بازی از کتابخانه" #: lutris/game_actions.py:196 lutris/game_actions.py:238 msgid "Unhide game from library" @@ -874,7 +875,7 @@ msgstr "نصب به‌روزرسانی‌ها" msgid "Locate installed game" msgstr "پیدا کردن بازی نصب شده" -#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:412 +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:461 msgid "Create desktop shortcut" msgstr "ایجاد میانبر میزکار" @@ -882,15 +883,15 @@ msgstr "ایجاد میانبر میزکار" msgid "Delete desktop shortcut" msgstr "پاک‌کردن میانبر میزکار" -#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:419 +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:468 msgid "Create application menu shortcut" -msgstr "ایجاد میانبر گزینگان برنامه" +msgstr "ایجاد میانبر منو برنامه" #: lutris/game_actions.py:248 msgid "Delete application menu shortcut" -msgstr "پاک‌کردن میانبر گزینگان برنامه" +msgstr "پاک‌کردن میانبر منو برنامه" -#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:427 +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:476 msgid "Create Steam shortcut" msgstr "ایجاد میانبر استیم" @@ -928,10 +929,8 @@ msgid "" "Please enter the new name for the copy:" msgstr "" "آیا می‌خواهید %s را هم‌مانندسازی کنید؟\n" -"پیکربندی هم‌مانندسازی خواهد شد، ولی پرونده‌های بازی هم‌مانندسازی نخواهند شد" -".\n" -"لطفاً نام جدیدی برای هم‌مانندسازی وارد کنید:" +"پیکربندی تکرار خواهد شد، ولی پرونده‌های بازی تکرار نخواهند شد.\n" +"لطفاً نام جدیدی برای هم‌مانند وارد کنید:" #: lutris/game_actions.py:395 msgid "Duplicate game?" @@ -942,38 +941,38 @@ msgstr "هم‌مانندسازی بازی؟" msgid "Select shortcut target" msgstr "انتخاب هدف میانبر" -#: lutris/game.py:316 lutris/game.py:503 +#: lutris/game.py:321 lutris/game.py:508 msgid "Invalid game configuration: Missing runner" -msgstr "پیکربندی بازی نامعتبر: اجرا کننده گم شده است" +msgstr "پیکربندی نامعتبر بازی: اجراکننده گم شده است" -#: lutris/game.py:382 +#: lutris/game.py:387 msgid "No updates found" msgstr "هیچ به‌روزرسانی پیدا نشد" -#: lutris/game.py:401 +#: lutris/game.py:406 msgid "No DLC found" msgstr "هیچ DLC پیدا نشد" -#: lutris/game.py:435 +#: lutris/game.py:440 msgid "Uninstall the game before deleting" msgstr "پرونده بازی را پیش از پاک‌کردن آن، پاک کنید" -#: lutris/game.py:501 +#: lutris/game.py:506 msgid "Tried to launch a game that isn't installed." msgstr "کوشش برای راه‌اندازی بازی که نصب نشده." -#: lutris/game.py:535 +#: lutris/game.py:540 msgid "Unable to find Xephyr, install it or disable the Xephyr option" msgstr "" "نمی‌توان Xephyr را پیدا کرد، آن را نصب کنید یا گزینه Xephyr را غیرفعال کنید" -#: lutris/game.py:551 +#: lutris/game.py:556 msgid "Unable to find Antimicrox, install it or disable the Antimicrox option" msgstr "" "نمی‌توان Antimicrox را پیدا کرد، آن را نصب کنید یا گزینه Antimicrox را " "غیرفعال کنید" -#: lutris/game.py:588 +#: lutris/game.py:593 #, python-format msgid "" "The selected terminal application could not be launched:\n" @@ -982,12 +981,11 @@ msgstr "" "برنامه ترمینال انتخاب شده نمی‌تواند راه‌اندازی شود:\n" "%s" -#: lutris/game.py:913 -#, fuzzy +#: lutris/game.py:896 msgid "Error lauching the game:\n" msgstr "خطا در راه‌اندازی بازی:\n" -#: lutris/game.py:1019 +#: lutris/game.py:1002 #, python-format msgid "" "Error: Missing shared library.\n" @@ -998,25 +996,25 @@ msgstr "" "\n" "%s" -#: lutris/game.py:1025 +#: lutris/game.py:1008 msgid "" "Error: A different Wine version is already using the same Wine prefix." msgstr "" -"خطا: نگارش دیگری از واین در حال حاضر از همان پیشوند واین بکارگرفته می‌شود." -"" +"خطا: نگارش دیگری از واین در حال حاضر از همان پیشوند واین استفاده می‌شود." -#: lutris/game.py:1043 +#: lutris/game.py:1026 #, python-format msgid "Lutris can't move '%s' to a location inside of itself, '%s'." -msgstr "لوتریس نمی‌تواند '%s' را به خود '%s' جابه‌جا کند." +msgstr "لوتریس نمی‌تواند «%s» را به خود «%s» جابه‌جا کند." #: lutris/gui/addgameswindow.py:24 msgid "Search the Lutris website for installers" -msgstr "جستجو در وب‌سایت لوتریس برای نصب‌کننده‌ها" +msgstr "جستجو در وبگاه لوتریس برای نصب‌کننده‌ها" #: lutris/gui/addgameswindow.py:25 msgid "Query our website for community installers" -msgstr "پرسش از وب‌سایت ما برای نصب‌کننده‌های جامعه" +msgstr "درخواست از وبگاه ما برای نصب‌کننده‌های جامعه" #: lutris/gui/addgameswindow.py:31 msgid "Install a Windows game from an executable" @@ -1035,12 +1033,12 @@ msgid "Run a YAML install script" msgstr "اجرای یک اسکریپت نصب YAML" #: lutris/gui/addgameswindow.py:45 -msgid "Import a ROM" -msgstr "وارد کردن یک ROM" +msgid "Import ROMs" +msgstr "وارد کردن یک رام" #: lutris/gui/addgameswindow.py:46 -msgid "Import a ROM that is known to Lutris" -msgstr "وارد کردن یک ROM که برای لوتریس شناخته شده" +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "وارد کردن رام‌هایی که بر پایه TOSEC، No-Intro یا Redump نام‌گذاری شده‌اند" #: lutris/gui/addgameswindow.py:52 msgid "Add locally installed game" @@ -1055,17 +1053,17 @@ msgid "Add games to Lutris" msgstr "افزودن بازی‌ها به لوتریس" #. Header bar buttons -#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:90 +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:96 msgid "Back" msgstr "بازگشت" #. Continue Button -#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:520 -#: lutris/gui/installerwindow.py:100 lutris/gui/installerwindow.py:977 +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 +#: lutris/gui/installerwindow.py:106 lutris/gui/installerwindow.py:1035 msgid "_Continue" msgstr "_ادامه" -#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:70 +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 #: lutris/gui/config/widget_generator.py:655 msgid "Select folder" msgstr "انتخاب پوشه" @@ -1078,11 +1076,11 @@ msgstr "شناسه" msgid "Select script" msgstr "انتخاب اسکریپت" -#: lutris/gui/addgameswindow.py:127 -msgid "Select ROM file" -msgstr "انتخاب پرونده ROM" +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "انتخاب رام‌ها" -#: lutris/gui/addgameswindow.py:202 +#: lutris/gui/addgameswindow.py:204 msgid "" "Lutris will search Lutris.net for games matching the terms you enter, and " "any that it finds will appear here.\n" @@ -1093,32 +1091,31 @@ msgstr "" "لوتریس در Lutris.net به دنبال بازی‌هایی می‌گردد که با چیزهایی که وارد می‌کنید " "هم‌خوانی دارند و هر کدام که پیدا کند اینجا نمایش می‌دهد.\n" "\n" -"وقتی روی بازی‌ای که پیدا کرده‌است ضربه بزنید، پنجره نصب‌کننده برای نصب ظاهر " -"می‌شود." +"وقتی روی یک بازی که پیدا کرده بزنید، پنجره نصب‌کننده برای نصب نمایان می‌شود." -#: lutris/gui/addgameswindow.py:223 +#: lutris/gui/addgameswindow.py:225 msgid "Search Lutris.net" msgstr "جستجو در Lutris.net" -#: lutris/gui/addgameswindow.py:254 +#: lutris/gui/addgameswindow.py:256 msgid "No results" msgstr "چیزی پیدا نشد" -#: lutris/gui/addgameswindow.py:256 +#: lutris/gui/addgameswindow.py:258 #, python-format msgid "Showing %s results" msgstr "نمایش %s نتیجه" -#: lutris/gui/addgameswindow.py:258 +#: lutris/gui/addgameswindow.py:260 #, python-format msgid "%s results, only displaying first %s" msgstr "%s نتیجه، تنها نمایش %s اول" -#: lutris/gui/addgameswindow.py:287 +#: lutris/gui/addgameswindow.py:289 msgid "Game name" msgstr "نام بازی" -#: lutris/gui/addgameswindow.py:303 +#: lutris/gui/addgameswindow.py:305 msgid "" "Enter the name of the game you will install.\n" "\n" @@ -1132,74 +1129,77 @@ msgid "" msgstr "" "نام بازی که می‌خواهید نصب کنید را وارد کنید.\n" "\n" -"وقتی روی 'نصب' پایین ضربه بزنید، پنجره نصب‌کننده ظاهر می‌شود و شما را در یک " +"وقتی روی «نصب» پایین ضربه بزنید، پنجره نصب‌کننده نمایان می‌شود و شما را در یک " "نصب ساده راهنمایی می‌کند.\n" "\n" "این پنجره از شما یک پرونده اجرایی نصب را درخواست می‌کند و واین را برای نصب آن " -"بکار میگیرد.\n" +"استفاده میکند.\n" "\n" -"اگر شناسه لوتریس بازی را می‌دانید، می‌توانید آن را برای بهبود یکپارچگی لوتریس،" -" " +"اگر شناسه لوتریس بازی را می‌دانید، می‌توانید آن را برای بهبود یکپارچگی لوتریس، " "مانند بنرهای به دست آمده توسط لوتریس، فراهم کنید." -#: lutris/gui/addgameswindow.py:312 +#: lutris/gui/addgameswindow.py:314 msgid "Installer preset:" msgstr "پیش‌تنظیم نصب‌کننده:" -#: lutris/gui/addgameswindow.py:315 +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "ویندوز 11 نگارش 64 بیتی" + +#: lutris/gui/addgameswindow.py:318 msgid "Windows 10 64-bit (Default)" -msgstr "ویندوز 10 64 بیتی (پیش‌گزیده)" +msgstr "ویندوز 10 نگارش 64 بیتی (پیش‌گزیده)" -#: lutris/gui/addgameswindow.py:316 +#: lutris/gui/addgameswindow.py:319 msgid "Windows 7 64-bit" -msgstr "ویندوز 7 64 بیتی" +msgstr "ویندوز 7 نگارش 64 بیتی" -#: lutris/gui/addgameswindow.py:317 +#: lutris/gui/addgameswindow.py:320 msgid "Windows XP 32-bit" -msgstr "ویندوز XP 32 بیتی" +msgstr "ویندوز XP نگارش 32 بیتی" -#: lutris/gui/addgameswindow.py:318 +#: lutris/gui/addgameswindow.py:321 msgid "Windows XP + 3DFX 32-bit" -msgstr "ویندوز XP + 3DFX 32 بیتی" +msgstr "ویندوز XP + 3DFX نگارش 32 بیتی" -#: lutris/gui/addgameswindow.py:319 +#: lutris/gui/addgameswindow.py:322 msgid "Windows 98 32-bit" -msgstr "ویندوز 98 32 بیتی" +msgstr "ویندوز 98 نگارش 32 بیتی" -#: lutris/gui/addgameswindow.py:320 +#: lutris/gui/addgameswindow.py:323 msgid "Windows 98 + 3DFX 32-bit" -msgstr "ویندوز 98 + 3DFX 32 بیتی" +msgstr "ویندوز 98 + 3DFX نگارش 32 بیتی" -#: lutris/gui/addgameswindow.py:331 +#: lutris/gui/addgameswindow.py:334 msgid "Locale:" msgstr "مکان:" -#: lutris/gui/addgameswindow.py:356 +#: lutris/gui/addgameswindow.py:359 msgid "Select setup file" msgstr "انتخاب پرونده نصب" -#: lutris/gui/addgameswindow.py:358 lutris/gui/addgameswindow.py:440 -#: lutris/gui/addgameswindow.py:481 lutris/gui/installerwindow.py:1012 +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 +#: lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1070 msgid "_Install" msgstr "_نصب" -#: lutris/gui/addgameswindow.py:374 +#: lutris/gui/addgameswindow.py:377 msgid "You must provide a name for the game you are installing." msgstr "شما باید یک نام برای بازی که در حال نصبش هستید بنویسید." -#: lutris/gui/addgameswindow.py:394 +#: lutris/gui/addgameswindow.py:397 msgid "Setup file" msgstr "پرونده نصب" -#: lutris/gui/addgameswindow.py:400 +#: lutris/gui/addgameswindow.py:403 msgid "Select the setup file" msgstr "انتخاب پرونده نصب" -#: lutris/gui/addgameswindow.py:421 +#: lutris/gui/addgameswindow.py:424 msgid "Script file" msgstr "پرونده اسکریپت" -#: lutris/gui/addgameswindow.py:427 +#: lutris/gui/addgameswindow.py:430 msgid "" "Lutris install scripts are YAML files that guide Lutris through the " "installation process.\n" @@ -1214,23 +1214,23 @@ msgstr "" "\n" "این اسکریپت‌ها را می‌توان از Lutris.net دریافت کرد یا به صورت دستی نوشت.\n" "\n" -"وقتی روی 'نصب' پایین ضربه میزنید، پنجره نصب ظاهر می‌شود و اسکریپت را بارگذاری " -"می‌کند و از آنجا فرآیند را راهنمایی می‌کند." +"وقتی روی «نصب» پایین ضربه میزنید، پنجره نصب نمایان می‌شود و اسکریپت را " +"بارگذاری می‌کند و از آنجا فرآیند را راهنمایی می‌کند." -#: lutris/gui/addgameswindow.py:438 +#: lutris/gui/addgameswindow.py:441 msgid "Select a Lutris installer" msgstr "انتخاب یک نصب‌کننده لوتریس" -#: lutris/gui/addgameswindow.py:445 +#: lutris/gui/addgameswindow.py:448 msgid "You must select a script file to install." msgstr "شما باید یک پرونده اسکریپت برای نصب انتخاب کنید." -#: lutris/gui/addgameswindow.py:447 lutris/gui/addgameswindow.py:488 +#: lutris/gui/addgameswindow.py:450 #, python-format msgid "No file exists at '%s'." -msgstr "پرونده‌ای در '%s' نیست." +msgstr "پرونده‌ای در «%s» نیست." -#: lutris/gui/addgameswindow.py:462 lutris/runners/atari800.py:37 +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 #: lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 #: lutris/runners/libretro.py:76 lutris/runners/mame.py:80 #: lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 @@ -1238,42 +1238,43 @@ msgstr "پرونده‌ای در '%s' نیست." #: lutris/runners/osmose.py:20 lutris/runners/snes9x.py:29 #: lutris/runners/vice.py:37 lutris/runners/yuzu.py:23 msgid "ROM file" -msgstr "پرونده ROM" +msgstr "پرونده رام" -#: lutris/gui/addgameswindow.py:468 +#: lutris/gui/addgameswindow.py:471 msgid "" -"Lutris will identify a ROM via its MD5 hash and download game information " +"Lutris will identify ROMs via its MD5 hash and download game information " "from Lutris.net.\n" "\n" -"The ROM data used for this comes from the TOSEC project.\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" "\n" -"When you click 'Install' below, the process of installing the game will " +"When you click 'Install' below, the process of installing the games will " "begin." msgstr "" -"لوتریس یک ROM را از طریق هش MD5 آن شناسایی کرده و داده‌های بازی را از " -"Lutris.net دریافت می‌کند.\n" +"لوتریس یک رام را با MD5 hash آن شناسایی کرده و داده‌های بازی را از Lutris.net " +"دریافت می‌کند.\n" "\n" -"داده‌های ROM بکارگرفته شده برای این کار از پروژه TOSEC می‌آید.\n" +"داده‌های رام استفاده شده برای این کار از پروژه‌های TOSEC و No-Intro و Redump " +"می‌آیند.\n" "\n" -"وقتی روی 'نصب' پایین ضربه میزنید، فرآیند نصب بازی آغاز میشود." +"وقتی روی «نصب» پایین ضربه میزنید، فرآیند نصب بازی آغاز می‌شود." -#: lutris/gui/addgameswindow.py:479 -msgid "Select a ROM file" -msgstr "یک ROM انتخاب کنید" +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "رام‌ها را انتخاب کنید" -#: lutris/gui/addgameswindow.py:486 -msgid "You must select a ROM file to install." -msgstr "شما باید یک ROM برای نصب انتخاب کنید." +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." +msgstr "شما باید رام‌هایی برای نصب انتخاب کنید." -#: lutris/gui/application.py:100 +#: lutris/gui/application.py:102 msgid "Do not run Lutris as root." msgstr "لوتریس را به جای کاربر ریشه اجرا نکنید." -#: lutris/gui/application.py:111 +#: lutris/gui/application.py:113 msgid "Your Linux distribution is too old. Lutris won't function properly." msgstr "توزیع لینوکس شما خیلی قدیمی است. لوتریس به درستی کار نخواهد کرد." -#: lutris/gui/application.py:117 +#: lutris/gui/application.py:119 msgid "" "Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" "If several games share the same identifier you can use the numerical ID " @@ -1282,135 +1283,135 @@ msgid "" "To install a game, add lutris:install/game-identifier." msgstr "" "یک بازی را مستقیم با افزودن شاخص لوتریس:rungame/game-identifier اجرا کنید.\n" -"اگر چندین بازی یک شناسه مشترک را بکار میگیرند، می‌توانید شناسه عددی (که هنگام " -"اجرای لوتریس --list-games نمایش داده می‌شود) بکار بگیرید و لوتریس:rungameid/" -"numerical-id را بیفزایید.\n" -"برای نصب یک بازی، لوتریس:install/game-identifier را بیفزایید." +"اگر چندین بازی یک شناسه مشترک را استفاده میکنند، می‌توانید شناسه عددی (که " +"هنگام اجرای لوتریس --list-games نمایش داده می‌شود) استفاده کنید و " +"لوتریس:rungameid/numerical-id را بیفزایید.\n" +"برای نصب یک بازی، lutris:install/game-identifier را بیفزایید." -#: lutris/gui/application.py:131 +#: lutris/gui/application.py:133 msgid "Print the version of Lutris and exit" -msgstr "نگارش لوتریس را چاپ کرده و خارج میشود" +msgstr "نگارش لوتریس را چاپ کرده و خارج می‌شود" -#: lutris/gui/application.py:139 +#: lutris/gui/application.py:141 msgid "Show debug messages" msgstr "نمایش پیام‌های اشکال‌زدایی" -#: lutris/gui/application.py:147 +#: lutris/gui/application.py:149 msgid "Install a game from a yml file" msgstr "نصب یک بازی از یک پرونده yml" -#: lutris/gui/application.py:155 +#: lutris/gui/application.py:157 msgid "Force updates" msgstr "به‌روزرسانی‌های اجباری" -#: lutris/gui/application.py:163 +#: lutris/gui/application.py:165 msgid "Generate a bash script to run a game without the client" msgstr "تولید یک اسکریپت bash برای اجرای یک بازی بدون کارخواه(Client)" -#: lutris/gui/application.py:171 +#: lutris/gui/application.py:173 msgid "Execute a program with the Lutris Runtime" msgstr "یک برنامه را با محیط اجرایی لوتریس اجرا کنید" -#: lutris/gui/application.py:179 +#: lutris/gui/application.py:181 msgid "List all games in database" -msgstr "فهرست کردن همه بازی‌ها را در پایگاه داده" +msgstr "فهرست کردن همه بازی‌ها در پایگاه داده" -#: lutris/gui/application.py:187 +#: lutris/gui/application.py:189 msgid "Only list installed games" msgstr "تنها فهرست کردن بازی‌های نصب‌شده" -#: lutris/gui/application.py:195 +#: lutris/gui/application.py:197 msgid "List available Steam games" -msgstr "فهرست کردن بازی‌های استیم موجود" +msgstr "فهرست کردن بازی‌های موجود استیم" -#: lutris/gui/application.py:203 +#: lutris/gui/application.py:205 msgid "List all known Steam library folders" -msgstr "فهرست کردن همه پوشه‌های کتابخانه استیم شناخته‌شده" +msgstr "فهرست کردن همه پوشه‌های شناخته‌شده کتابخانه استیم" -#: lutris/gui/application.py:211 +#: lutris/gui/application.py:213 msgid "List all known runners" msgstr "فهرست همه اجراکننده‌های شناخته‌شده" -#: lutris/gui/application.py:219 +#: lutris/gui/application.py:221 msgid "List all known Wine versions" msgstr "فهرست کردن همه نگارش‌های واین شناخته‌شده" -#: lutris/gui/application.py:227 +#: lutris/gui/application.py:229 msgid "List all games for all services in database" -msgstr "فهرست کردن همه بازی‌ها را برای همه خدمات در پایگاه داده" +msgstr "فهرست کردن همه بازی‌ها برای همه خدمات در پایگاه داده" -#: lutris/gui/application.py:235 +#: lutris/gui/application.py:237 msgid "List all games for provided service in database" -msgstr "همه بازی‌ها را برای خدمات به‌دست آمده در پایگاه داده فهرست کنید" +msgstr "فهرست کردن همه بازی‌ها برای خدمات داده شده در پایگاه داده" -#: lutris/gui/application.py:243 +#: lutris/gui/application.py:245 msgid "Install a Runner" msgstr "نصب یک اجراکننده" -#: lutris/gui/application.py:251 +#: lutris/gui/application.py:253 msgid "Uninstall a Runner" msgstr "پاک کردن یک اجراکننده" -#: lutris/gui/application.py:259 +#: lutris/gui/application.py:261 msgid "Export a game" msgstr "صادر کردن یک بازی" -#: lutris/gui/application.py:267 lutris/gui/dialogs/game_import.py:23 +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 msgid "Import a game" msgstr "وارد کردن یک بازی" -#: lutris/gui/application.py:276 +#: lutris/gui/application.py:278 msgid "Show statistics about a game saves" -msgstr "آمار مربوط به ذخیره‌سازی‌های بازی را نمایش دهید" +msgstr "آمار مربوط به ذخیره‌سازی‌های بازی را نمایش داده شود" -#: lutris/gui/application.py:284 +#: lutris/gui/application.py:286 msgid "Upload saves" msgstr "بارگذاری ذخیره‌سازی‌ها" -#: lutris/gui/application.py:292 +#: lutris/gui/application.py:294 msgid "Verify status of save syncing" -msgstr "وضعیت همگام‌سازی ذخیره‌سازی‌ها را بپذیرید" +msgstr "پذیرش وضعیت همگام‌سازی ذخیره‌سازی‌ها" -#: lutris/gui/application.py:301 +#: lutris/gui/application.py:303 msgid "Destination path for export" msgstr "مسیر مقصد برای صادرات" -#: lutris/gui/application.py:309 +#: lutris/gui/application.py:311 msgid "Display the list of games in JSON format" -msgstr "فهرست بازی‌ها را در قالب JSON نمایش دهید" +msgstr "فهرست بازی‌ها را در قالب JSON نمایش داده شود" -#: lutris/gui/application.py:317 +#: lutris/gui/application.py:319 msgid "Reinstall game" msgstr "بازنصب بازی" -#: lutris/gui/application.py:320 +#: lutris/gui/application.py:322 msgid "Submit an issue" msgstr "ارسال یک مشکل" -#: lutris/gui/application.py:326 +#: lutris/gui/application.py:328 msgid "URI to open" msgstr "URI برای باز کردن" -#: lutris/gui/application.py:411 +#: lutris/gui/application.py:413 msgid "No installer available." msgstr "نصب‌کننده‌ای در دسترس نیست." -#: lutris/gui/application.py:627 +#: lutris/gui/application.py:628 #, python-format msgid "%s is not a valid URI" msgstr "%s یک URI معتبر نیست" -#: lutris/gui/application.py:650 +#: lutris/gui/application.py:651 #, python-format msgid "Failed to download %s" msgstr "دریافت %s ناموفق بود" -#: lutris/gui/application.py:659 +#: lutris/gui/application.py:660 #, python-brace-format msgid "download {url} to {file} started" msgstr "دریافت {url} به {file} آغاز شد" -#: lutris/gui/application.py:670 +#: lutris/gui/application.py:671 #, python-format msgid "No such file: %s" msgstr "پرونده‌ای با این نام نیست: %s" @@ -1428,8 +1429,8 @@ msgid "" "Select which Steam account is used for Lutris integration and creating Steam " "shortcuts." msgstr "" -"انتخاب کنید که کدام حساب استیم برای ادغام با لوتریس و ایجاد میانبرهای استیم " -"بکارگرفته شود." +"انتخاب کنید که کدام حساب استیم برای یکپارچه با لوتریس و ایجاد میانبرهای " +"استیم استفاده شود." #: lutris/gui/config/accounts_box.py:89 #, python-format @@ -1459,7 +1460,7 @@ msgid "" "sync this data on multiple devices" msgstr "" "این داده‌ها شامل زمان بازی، آخرین بازی، اجراکننده، سکو \n" -"و اطلاعات فروشگاه را به وب‌سایت لوتریس ارسال می‌کند تا شما بتوانید \n" +"و اطلاعات فروشگاه را به وبگاه لوتریس ارسال می‌کند تا شما بتوانید \n" "این داده‌ها را در چندین دستگاه همگام‌سازی کنید" #: lutris/gui/config/accounts_box.py:153 @@ -1482,54 +1483,61 @@ msgstr "کتابخانه همگام‌سازی شود؟" #: lutris/gui/config/accounts_box.py:202 msgid "Enable library sync and run a full sync with lutris.net?" msgstr "" -"همگام‌سازی کتابخانه را فعال کرده و یک همگام‌سازی کامل با Lutris.net انجام دهید" -"؟" +"همگام‌سازی کتابخانه را فعال کرده و یک همگام‌سازی کامل با Lutris.net انجام دهید؟" #: lutris/gui/config/add_game_dialog.py:11 msgid "Add a new game" msgstr "افزودن یک بازی جدید" -#: lutris/gui/config/boxes.py:141 -msgid "No options available" -msgstr "هیچ گزینه‌ای در دسترس نیست" - -#: lutris/gui/config/boxes.py:212 +#: lutris/gui/config/boxes.py:211 msgid "" "If modified, these options supersede the same options from the base runner " "configuration." msgstr "" -"اگر تغییر داده شود، این گزینه‌ها گزینه‌های مشابه را از پیکربندی " -"پایه اجراکننده نادیده می‌گیرند." +"اگر تغییر داده شود، این گزینه‌ها گزینه‌های مشابه را از پیکربندی پایه اجراکننده " +"نادیده می‌گیرند." -#: lutris/gui/config/boxes.py:238 +#: lutris/gui/config/boxes.py:237 msgid "" "If modified, these options supersede the same options from the base runner " "configuration, which themselves supersede the global preferences." msgstr "" -"اگر تغییر داده شود، این گزینه‌ها گزینه‌های مشابه را از پیکربندی پایه " -"اجراکننده نادیده می‌گیرند، که خودشان گزینه‌های پایه(Global) را نادیده می‌گیرند" -"." +"اگر این گزینه‌ها تغییر داده شوند، گزینه‌های مشابه از پیکربندی پایه اجراکننده " +"را نادیده می‌گیرند، که خودشان گزینه‌های عمومی را نادیده می‌گیرند." -#: lutris/gui/config/boxes.py:245 +#: lutris/gui/config/boxes.py:244 msgid "" "If modified, these options supersede the same options from the global " "preferences." msgstr "" -"اگر تغییر داده شود، این گزینه‌ها گزینه‌های مشابه را از گزینه‌های پایه(Global) " -"نادیده می‌گیرند." +"اگر این گزینه‌ها تغییر داده شوند، گزینه‌های مشابه از گزینه‌های عمومی را نادیده " +"می‌گیرند." -#: lutris/gui/config/boxes.py:294 +#: lutris/gui/config/boxes.py:293 msgid "Reset option to global or default config" -msgstr "بازنشانی گزینه را به پیکربندی پایه(Global) یا پیش‌گزیده" +msgstr "بازنشانی گزینه به پیکربندی عمومی یا پیش‌گزیده" #: lutris/gui/config/boxes.py:323 msgid "" "(Italic indicates that this option is modified in a lower configuration " "level.)" msgstr "" -"(کج نشان می‌دهد که این گزینه در سطح پیکربندی پایین‌تر تغییر داده شده است.)<" -"/" -"i>" +"(متن کج نشان می‌دهد که این گزینه در سطح پیکربندی پایین‌تر تغییر داده شده " +"است.)" + +#: lutris/gui/config/boxes.py:336 +#, python-format +msgid "No options match '%s'" +msgstr "هیچ گزینه‌ای با «%s» هم‌خوانی ندارد" + +#. type:ignore[attr-defined] +#: lutris/gui/config/boxes.py:338 +msgid "Only advanced options available" +msgstr "تنها گزینه‌های پیشرفته در دسترس‌اند" + +#: lutris/gui/config/boxes.py:340 +msgid "No options available" +msgstr "هیچ گزینه‌ای در دسترس نیست" #: lutris/gui/config/edit_category_games.py:18 #: lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:315 @@ -1541,7 +1549,7 @@ msgstr "پیکربندی %s" #: lutris/gui/config/edit_category_games.py:69 #, python-format msgid "Do you want to delete the category '%s'?" -msgstr "آیا می‌خواهید دسته‌بندی '%s' را پاک کنید؟" +msgstr "آیا می‌خواهید دسته‌بندی «%s» را پاک کنید؟" #: lutris/gui/config/edit_category_games.py:71 msgid "" @@ -1553,12 +1561,12 @@ msgstr "" #: lutris/gui/config/edit_category_games.py:113 #, python-format msgid "'%s' is a reserved category name." -msgstr "'%s' یک نام دسته‌بندی رزرو شده است." +msgstr "«%s» یک نام دسته‌بندی رزرو شده است." #: lutris/gui/config/edit_category_games.py:118 #, python-format msgid "Merge the category '%s' into '%s'?" -msgstr "آیا می‌خواهید دسته‌بندی '%s' را با '%s' یکی کنید؟" +msgstr "آیا می‌خواهید دسته‌بندی «%s» را با «%s» یکی کنید؟" #: lutris/gui/config/edit_category_games.py:120 #, python-format @@ -1566,7 +1574,7 @@ msgid "" "If you rename this category, it will be combined with '%s'. Do you want to " "merge them?" msgstr "" -"اگر نام این دسته‌بندی را تغییر دهید، با '%s' یکی خواهد شد. آیا می‌خواهید آنها " +"اگر نام این دسته‌بندی را تغییر دهید، با «%s» یکی خواهد شد. آیا می‌خواهید آنها " "را یکی کنید؟" #: lutris/gui/config/edit_game_categories.py:78 @@ -1617,7 +1625,7 @@ msgstr "نصب‌شده" #: lutris/gui/config/edit_saved_search.py:131 msgid "Favorite" -msgstr "مورد علاقه" +msgstr "دلخواه" #: lutris/gui/config/edit_saved_search.py:132 lutris/gui/widgets/sidebar.py:493 msgid "Hidden" @@ -1645,7 +1653,7 @@ msgid "Source" msgstr "منبع" #: lutris/gui/config/edit_saved_search.py:191 -#: lutris/gui/config/game_common.py:280 lutris/gui/views/list.py:68 +#: lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:68 msgid "Runner" msgstr "اجراکننده" @@ -1657,14 +1665,14 @@ msgstr "سکو" #: lutris/gui/config/edit_saved_search.py:292 #, python-format msgid "'%s' is already a saved search." -msgstr "'%s' یک جستجوی از پیش ذخیره شده است." +msgstr "«%s» یک جستجوی از پیش ذخیره شده است." -#: lutris/gui/config/edit_saved_search.py:335 +#: lutris/gui/config/edit_saved_search.py:336 #, python-format msgid "Do you want to delete the saved search '%s'?" -msgstr "آیا می‌خواهید جستجوی ذخیره شده '%s' را پاک کنید؟" +msgstr "آیا می‌خواهید جستجوی ذخیره شده «%s» را پاک کنید؟" -#: lutris/gui/config/edit_saved_search.py:337 +#: lutris/gui/config/edit_saved_search.py:338 msgid "" "This will permanently destroy the saved search, but the games themselves " "will not be deleted." @@ -1676,24 +1684,24 @@ msgstr "" msgid "Select a runner in the Game Info tab" msgstr "یک اجراکننده را در سربرگ درباره بازی انتخاب کنید" -#: lutris/gui/config/game_common.py:144 lutris/gui/config/runner.py:27 +#: lutris/gui/config/game_common.py:143 lutris/gui/config/runner.py:27 #, python-format msgid "Search %s options" -msgstr "جستجوی گزینه‌های %s" +msgstr "جستجوی در %s گزینه" -#: lutris/gui/config/game_common.py:146 lutris/gui/config/game_common.py:509 +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 msgid "Search options" msgstr "گزینه‌های جستجو" -#: lutris/gui/config/game_common.py:177 +#: lutris/gui/config/game_common.py:172 msgid "Game info" msgstr "درباره بازی" -#: lutris/gui/config/game_common.py:192 +#: lutris/gui/config/game_common.py:187 msgid "Sort name" -msgstr "مرتب‌سازی نام" +msgstr "نام مرتب‌سازی" -#: lutris/gui/config/game_common.py:208 +#: lutris/gui/config/game_common.py:203 #, python-format msgid "" "Identifier\n" @@ -1702,93 +1710,93 @@ msgstr "" "شناسه\n" "(شناسه داخلی: %s)" -#: lutris/gui/config/game_common.py:217 lutris/gui/config/game_common.py:408 +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 msgid "Change" msgstr "تغییر" -#: lutris/gui/config/game_common.py:228 +#: lutris/gui/config/game_common.py:223 msgid "Directory" msgstr "مسیر" -#: lutris/gui/config/game_common.py:234 +#: lutris/gui/config/game_common.py:229 msgid "Move" msgstr "جابه‌جایی" -#: lutris/gui/config/game_common.py:254 +#: lutris/gui/config/game_common.py:249 msgid "The default launch option will be used for this game" -msgstr "گزینه راه‌اندازی پیش‌گزیده برای این بازی بکارگرفته خواهد شد" +msgstr "گزینه راه‌اندازی پیش‌گزیده برای این بازی استفاده خواهد شد" -#: lutris/gui/config/game_common.py:256 +#: lutris/gui/config/game_common.py:251 #, python-format msgid "The '%s' launch option will be used for this game" -msgstr "گزینه راه‌اندازی '%s' برای این بازی بکارگرفته خواهد شد" +msgstr "گزینه راه‌اندازی «%s» برای این بازی استفاده خواهد شد" -#: lutris/gui/config/game_common.py:263 +#: lutris/gui/config/game_common.py:258 msgid "Reset" msgstr "بازنشانی" -#: lutris/gui/config/game_common.py:294 +#: lutris/gui/config/game_common.py:289 msgid "Set custom cover art" msgstr "تنظیم جلد سفارشی" -#: lutris/gui/config/game_common.py:294 +#: lutris/gui/config/game_common.py:289 msgid "Remove custom cover art" msgstr "برداشتن جلد سفارشی" -#: lutris/gui/config/game_common.py:295 +#: lutris/gui/config/game_common.py:290 msgid "Set custom banner" msgstr "تنظیم بنر سفارشی" -#: lutris/gui/config/game_common.py:295 +#: lutris/gui/config/game_common.py:290 msgid "Remove custom banner" msgstr "برداشتن بنر سفارشی" -#: lutris/gui/config/game_common.py:296 +#: lutris/gui/config/game_common.py:291 msgid "Set custom icon" msgstr "تنظیم نماد سفارشی" -#: lutris/gui/config/game_common.py:296 +#: lutris/gui/config/game_common.py:291 msgid "Remove custom icon" msgstr "برداشتن نماد سفارشی" -#: lutris/gui/config/game_common.py:329 +#: lutris/gui/config/game_common.py:324 msgid "Release year" msgstr "سال انتشار" -#: lutris/gui/config/game_common.py:342 +#: lutris/gui/config/game_common.py:337 msgid "Playtime" msgstr "زمان بازی" -#: lutris/gui/config/game_common.py:388 +#: lutris/gui/config/game_common.py:383 msgid "Select a runner from the list" msgstr "انتخاب یک اجراکننده از فهرست" -#: lutris/gui/config/game_common.py:396 +#: lutris/gui/config/game_common.py:391 msgid "Apply" msgstr "اعمال" -#: lutris/gui/config/game_common.py:451 lutris/gui/config/game_common.py:460 -#: lutris/gui/config/game_common.py:466 +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 +#: lutris/gui/config/game_common.py:461 msgid "Game options" msgstr "گزینه‌های بازی" -#: lutris/gui/config/game_common.py:471 lutris/gui/config/game_common.py:474 +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 msgid "Runner options" msgstr "گزینه‌های اجراکننده" -#: lutris/gui/config/game_common.py:478 +#: lutris/gui/config/game_common.py:473 msgid "System options" msgstr "گزینه‌های سامانه" -#: lutris/gui/config/game_common.py:515 +#: lutris/gui/config/game_common.py:510 msgid "Show advanced options" msgstr "نمایش گزینه‌های پیشرفته" -#: lutris/gui/config/game_common.py:517 +#: lutris/gui/config/game_common.py:512 msgid "Advanced" msgstr "پیشرفته" -#: lutris/gui/config/game_common.py:571 +#: lutris/gui/config/game_common.py:566 msgid "" "Are you sure you want to change the runner for this game ? This will reset " "the full configuration for this game and is not reversible." @@ -1796,41 +1804,41 @@ msgstr "" "آیا مطمئن هستید که می‌خواهید اجراکننده این بازی را تغییر دهید؟ این کنش " "تنظیمات کامل این بازی را بازنشانی می‌کند که قابل بازگشت نیست." -#: lutris/gui/config/game_common.py:575 +#: lutris/gui/config/game_common.py:570 msgid "Confirm runner change" msgstr "پذیرفتن تغییر اجراکننده" -#: lutris/gui/config/game_common.py:628 +#: lutris/gui/config/game_common.py:622 msgid "Runner not provided" msgstr "اجراکننده شناسانده نشده است" -#: lutris/gui/config/game_common.py:631 +#: lutris/gui/config/game_common.py:625 msgid "Please fill in the name" msgstr "لطفاً نام را پر کنید" -#: lutris/gui/config/game_common.py:634 +#: lutris/gui/config/game_common.py:628 msgid "Steam AppID not provided" msgstr "شناسه برنامه استیم شناسانده نشده" -#: lutris/gui/config/game_common.py:660 +#: lutris/gui/config/game_common.py:654 msgid "The following fields have invalid values: " msgstr "قسمت‌های زیر دارای مقادیر نامعتبر هستند: " -#: lutris/gui/config/game_common.py:667 +#: lutris/gui/config/game_common.py:661 msgid "Current configuration is not valid, ignoring save request" msgstr "تنظیمات فعلی معتبر نیست، درخواست ذخیره نادیده گرفته می‌شود" -#: lutris/gui/config/game_common.py:711 +#: lutris/gui/config/game_common.py:705 msgid "Please choose a custom image" msgstr "لطفاً یک تصویر سفارشی انتخاب کنید" -#: lutris/gui/config/game_common.py:719 +#: lutris/gui/config/game_common.py:713 msgid "Images" msgstr "تصاویر" #: lutris/gui/config/preferences_box.py:22 msgid "Minimize client when a game is launched" -msgstr "کوچک کردن کارخواه(Client) هنگام راه‌اندازی بازی" +msgstr "کوچک کردن کارخواه هنگام راه‌اندازی بازی" #: lutris/gui/config/preferences_box.py:24 msgid "" @@ -1868,8 +1876,8 @@ msgid "" "Lutris window is closed. You can still exit using the menu of the tray icon." msgstr "" "یک نماد لوتریس به سینی اضافه می‌کند و از خروج لوتریس هنگام بسته شدن پنجره‌اش " -"جلوگیری می‌کند. شما هنوز هم می‌توانید با بکارگرفتن گزینگان در نماد سینی از " -"برنامه خارج شوید." +"جلوگیری می‌کند. شما هنوز هم می‌توانید با استفاده از منو در نماد سینی از برنامه " +"خارج شوید." #: lutris/gui/config/preferences_box.py:51 msgid "Enable Discord Rich Presence for Available Games" @@ -1934,11 +1942,11 @@ msgstr "ذخیره‌سازی" #: lutris/gui/config/preferences_dialog.py:42 msgid "Global options" -msgstr "گزینه‌های پایه(Global)" +msgstr "گزینه‌های عمومی" #: lutris/gui/config/preferences_dialog.py:111 msgid "Search global options" -msgstr "جستجوی گزینه‌های پایه" +msgstr "جستجوی گزینه‌های عمومی" #: lutris/gui/config/runner_box.py:89 lutris/gui/widgets/sidebar.py:254 #, python-format @@ -1964,9 +1972,8 @@ msgid "" "Runners are programs such as emulators, engines or translation layers " "capable of running games." msgstr "" -"اجراکننده‌ها برنامه‌هایی هستند مانند شبیه‌سازها، موتورهای بازی یا لایه‌های ترج" -"مه " -"که قادر به اجرای بازی‌ها هستند." +"اجراکننده‌ها برنامه‌هایی هستند مانند شبیه‌سازها، موتورهای بازی یا لایه‌های ترجمه " +"که می‌توانند بازی‌ها را اجرا کنند." #: lutris/gui/config/runners_box.py:28 msgid "No runners matched the search" @@ -1976,7 +1983,7 @@ msgstr "هیچ اجراکننده‌ای با جستجو هم‌خوانی ند #: lutris/gui/config/runners_box.py:47 #, python-format msgid "Search %s runners" -msgstr "جستجوی اجراکننده‌های %s" +msgstr "جستجو در %s اجراکننده" #: lutris/gui/config/services_box.py:18 msgid "Enable integrations with game sources" @@ -1988,25 +1995,25 @@ msgid "" "to take effect." msgstr "" "به کتابخانه‌های بازی خود از منابع مختلف دسترسی پیدا کنید. تغییرات نیاز به باز " -"راه‌اندازی دارند تا مؤثر باشند." +"راه‌اندازی دارند تا اثر بگذارند." -#: lutris/gui/config/storage_box.py:20 +#: lutris/gui/config/storage_box.py:24 msgid "Paths" msgstr "مسیرها" -#: lutris/gui/config/storage_box.py:31 +#: lutris/gui/config/storage_box.py:36 msgid "Game library" msgstr "کتابخانه بازی" -#: lutris/gui/config/storage_box.py:35 lutris/sysoptions.py:87 +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 msgid "The default folder where you install your games." msgstr "پوشه پیش‌گزیده‌ای که بازی‌های خود را در آن نصب می‌کنید." -#: lutris/gui/config/storage_box.py:39 +#: lutris/gui/config/storage_box.py:43 msgid "Installer cache" msgstr "کش نصب‌کننده" -#: lutris/gui/config/storage_box.py:44 +#: lutris/gui/config/storage_box.py:48 msgid "" "If provided, files downloaded during game installs will be kept there\n" "\n" @@ -2017,14 +2024,27 @@ msgstr "" "\n" "و اگر نه، همه پرونده‌های دریافت شده پاک خواهند شد." -#: lutris/gui/config/storage_box.py:50 +#: lutris/gui/config/storage_box.py:53 msgid "Emulator BIOS files location" -msgstr "محل پرونده‌های BIOS شبیه‌ساز" +msgstr "محل پرونده‌های بایوس شبیه‌ساز" -#: lutris/gui/config/storage_box.py:54 +#: lutris/gui/config/storage_box.py:57 msgid "The folder Lutris will search in for emulator BIOS files if needed" msgstr "" -"پوشه‌ای که لوتریس در صورت نیاز برای پرونده‌های BIOS شبیه‌ساز جستجو خواهد کرد" +"پوشه‌ای که لوتریس در صورت نیاز برای پرونده‌های بایوس شبیه‌ساز جستجو خواهد کرد" + +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "پوشه بسیار بزرگ است (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "پرونده‌های بسیاری در این پوشه است" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "پوشه بسیار عمیق است" #: lutris/gui/config/sysinfo_box.py:18 msgid "Vulkan support" @@ -2042,10 +2062,10 @@ msgstr "پشتیبانی از Fsync" msgid "Wine installed" msgstr "واین نصب شده است" -#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:210 -#: lutris/sysoptions.py:219 lutris/sysoptions.py:230 lutris/sysoptions.py:245 -#: lutris/sysoptions.py:261 lutris/sysoptions.py:271 lutris/sysoptions.py:286 -#: lutris/sysoptions.py:298 lutris/sysoptions.py:308 +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 +#: lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 +#: lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 +#: lutris/sysoptions.py:294 lutris/sysoptions.py:304 msgid "Gamescope" msgstr "Gamescope" @@ -2060,7 +2080,7 @@ msgstr "حالت بازی" #: lutris/gui/config/sysinfo_box.py:36 lutris/gui/installer/file_box.py:100 #: lutris/runners/steam.py:30 lutris/services/steam.py:74 msgid "Steam" -msgstr "استیم" +msgstr "Steam" #: lutris/gui/config/sysinfo_box.py:37 msgid "In Flatpak" @@ -2090,192 +2110,106 @@ msgstr "آری" msgid "NO" msgstr "نه" -#: lutris/gui/config/updates_box.py:29 -msgid "Wine update channel" -msgstr "کانال به‌روزرسانی واین" - -#: lutris/gui/config/updates_box.py:41 +#: lutris/gui/config/updates_box.py:20 msgid "Runtime updates" -msgstr "به‌روزرسانی‌های زمان اجرا" +msgstr "به‌روزرسانی‌های زمان اجرا(ران‌تایم)" -#: lutris/gui/config/updates_box.py:42 +#: lutris/gui/config/updates_box.py:21 msgid "Runtime components include DXVK, VKD3D and Winetricks." msgstr "اجزای زمان اجرا شامل DXVK، VKD3D و Winetricks است." -#: lutris/gui/config/updates_box.py:43 +#: lutris/gui/config/updates_box.py:22 msgid "Check for Updates" msgstr "بررسی به‌روزرسانی‌ها" -#: lutris/gui/config/updates_box.py:47 +#: lutris/gui/config/updates_box.py:26 msgid "Automatically Update the Lutris runtime" msgstr "به‌روزرسانی خودکار زمان اجرای لوتریس" -#: lutris/gui/config/updates_box.py:52 +#: lutris/gui/config/updates_box.py:31 msgid "Media updates" msgstr "به‌روزرسانی‌های رسانه" -#: lutris/gui/config/updates_box.py:53 +#: lutris/gui/config/updates_box.py:32 msgid "Download Missing Media" msgstr "دریافت رسانه‌های گم‌شده" -#: lutris/gui/config/updates_box.py:59 -msgid "" -"Stable:\n" -"Wine-GE updates are downloaded automatically and the latest version is " -"always used unless overridden in the settings.\n" -"\n" -"This allows us to keep track of regressions more efficiently and provide " -"fixes more reliably." -msgstr "" -"پایدار:\n" -"به‌روزرسانی‌های Wine-GE به‌طور خودکار دریافت می‌شوند و همیشه آخرین نگارش " -"بکارگرفته می‌شود مگر در تنظیمات تغییر داده شود.\n" -"\n" -"این به ما اجازه می‌دهد تا به‌طور مؤثرتری تغییرات منفی را پیگیری کنیم و اصلاحات" -"را به‌طور قابل اعتمادی فراهم کنیم." - -#: lutris/gui/config/updates_box.py:71 -msgid "" -"Self-maintained:\n" -"Wine updates are no longer delivered automatically and you have full " -"responsibility of your Wine versions.\n" -"\n" -"Please note that this mode is fully unsupported. In order to submit " -"issues on Github or ask for help on Discord, switch back to the Stable " -"channel." -msgstr "" -"خودنگهدار:\n" -"به‌روزرسانی‌های واین دیگر به‌طور خودکار فراهم نمی‌شوند و شما مسئولیت کامل " -"نگارش‌های واین خود را دارید.\n" -"\n" -"لطفاً توجه داشته باشید که این حالت کاملاً پشتیبانی نمی‌شود. برای ارسال " -"مشکلات در گیت‌هاب یا درخواست کمک در دیسکورد، به کانال پایدار برگردید." - -#: lutris/gui/config/updates_box.py:90 -msgid "" -"No compatible Wine version could be identified. No updates are available." -msgstr "هیچ نگارش واین سازگاری شناسایی نشد. هیچ به‌روزرسانی در دسترس نیست." - -#: lutris/gui/config/updates_box.py:91 lutris/gui/config/updates_box.py:100 -msgid "Check Again" -msgstr "بررسی دوباره" - -#: lutris/gui/config/updates_box.py:96 -#, python-format -msgid "" -"Your Wine version is up to date. Using: %s\n" -"Last checked %s." -msgstr "" -"نگارش واین شما به‌روز است. بکارگرفته شده: %s\n" -"آخرین بررسی %s." - -#: lutris/gui/config/updates_box.py:103 -#, python-format -msgid "" -"You don't have any Wine version installed.\n" -"We recommend %s" -msgstr "" -"شما هیچ نگارش واین نصب شده‌ای ندارید.\n" -"ما %s را توصیه می‌کنیم." - -#: lutris/gui/config/updates_box.py:106 lutris/gui/config/updates_box.py:111 -#, python-format -msgid "Download %s" -msgstr "دریافت %s" - -#: lutris/gui/config/updates_box.py:109 -#, python-format -msgid "You don't have the recommended Wine version: %s" -msgstr "شما نگارش واین توصیه شده را ندارید: %s" - -#: lutris/gui/config/updates_box.py:135 +#: lutris/gui/config/updates_box.py:56 msgid "Checking for missing media..." msgstr "در حال بررسی رسانه‌های گم‌شده..." -#: lutris/gui/config/updates_box.py:142 +#: lutris/gui/config/updates_box.py:63 msgid "Nothing to update" msgstr "هیچ چیزی برای به‌روزرسانی نیست" -#: lutris/gui/config/updates_box.py:144 +#: lutris/gui/config/updates_box.py:65 msgid "Updated: " msgstr "به‌روزرسانی شده: " -#: lutris/gui/config/updates_box.py:146 +#: lutris/gui/config/updates_box.py:67 msgid "banner" msgstr "بنر" -#: lutris/gui/config/updates_box.py:147 +#: lutris/gui/config/updates_box.py:68 msgid "icon" msgstr "نماد" -#: lutris/gui/config/updates_box.py:148 +#: lutris/gui/config/updates_box.py:69 msgid "cover" msgstr "جلد" -#: lutris/gui/config/updates_box.py:149 +#: lutris/gui/config/updates_box.py:70 msgid "banners" msgstr "بنرها" -#: lutris/gui/config/updates_box.py:150 +#: lutris/gui/config/updates_box.py:71 msgid "icons" msgstr "نماد‌ها" -#: lutris/gui/config/updates_box.py:151 +#: lutris/gui/config/updates_box.py:72 msgid "covers" msgstr "جلدها" -#: lutris/gui/config/updates_box.py:160 +#: lutris/gui/config/updates_box.py:81 msgid "No new media found." msgstr "هیچ رسانه جدیدی پیدا نشد." -#: lutris/gui/config/updates_box.py:194 -msgid "Downloading..." -msgstr "در حال دریافت..." - -#: lutris/gui/config/updates_box.py:196 lutris/gui/config/updates_box.py:232 -msgid "Updates are already being downloaded and installed." -msgstr "به‌روزرسانی‌ها در حال حاضر در حال دریافت و نصب هستند." - -#: lutris/gui/config/updates_box.py:198 lutris/gui/config/updates_box.py:234 -msgid "No updates are required at this time." -msgstr "در حال حاضر به‌روزرسانی‌ای لازم نیست." - -#: lutris/gui/config/updates_box.py:221 +#: lutris/gui/config/updates_box.py:110 #, python-format msgid "%s has been updated." msgstr "%s به‌روزرسانی شده است." -#: lutris/gui/config/updates_box.py:223 +#: lutris/gui/config/updates_box.py:112 #, python-format msgid "%s have been updated." msgstr "%s به‌روزرسانی شده‌اند." -#: lutris/gui/config/updates_box.py:230 +#: lutris/gui/config/updates_box.py:119 msgid "Checking for updates..." msgstr "در حال بررسی به‌روزرسانی‌ها..." -#: lutris/gui/config/updates_box.py:243 -msgid "" -"Without the Wine-GE updates enabled, we can no longer provide support on " -"Github and Discord." -msgstr "" -"بدون فعال‌سازی به‌روزرسانی‌های Wine-GE، دیگر نمی‌توانیم در گیت‌هاب و دیسکورد " -"پشتیبانی بدهیم." +#: lutris/gui/config/updates_box.py:121 +msgid "Updates are already being downloaded and installed." +msgstr "به‌روزرسانی‌ها در حال حاضر در حال دریافت و نصب هستند." -#: lutris/gui/config/widget_generator.py:211 +#: lutris/gui/config/updates_box.py:123 +msgid "No updates are required at this time." +msgstr "در حال حاضر به‌روزرسانی‌ای لازم نیست." + +#: lutris/gui/config/widget_generator.py:215 msgid "Default: " msgstr "پیش‌گزیده: " -#: lutris/gui/config/widget_generator.py:374 lutris/runners/wine.py:567 +#: lutris/gui/config/widget_generator.py:377 lutris/runners/wine.py:560 msgid "Enabled" msgstr "فعال" -#: lutris/gui/config/widget_generator.py:374 lutris/runners/easyrpg.py:372 -#: lutris/runners/mednafen.py:80 lutris/runners/wine.py:566 +#: lutris/gui/config/widget_generator.py:377 lutris/runners/easyrpg.py:371 +#: lutris/runners/mednafen.py:78 lutris/runners/wine.py:559 msgid "Disabled" msgstr "غیرفعال" -#: lutris/gui/config/widget_generator.py:421 +#: lutris/gui/config/widget_generator.py:424 #, python-format msgid "%s (default)" msgstr "%s (پیش‌گزیده)" @@ -2284,9 +2218,9 @@ msgstr "%s (پیش‌گزیده)" #, python-format msgid "" "The setting '%s' is no longer available. You should select another choice." -msgstr "تنظیم '%s' دیگر در دسترس نیست. باید گزینه دیگری را انتخاب کنید." +msgstr "تنظیم «%s» دیگر در دسترس نیست. باید گزینه دیگری را انتخاب کنید." -#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:49 +#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:52 msgid "Select file" msgstr "انتخاب پرونده" @@ -2298,9 +2232,9 @@ msgstr "انتخاب پرونده‌ها" msgid "_Add" msgstr "_افزودن" -#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:434 -#: lutris/gui/dialogs/__init__.py:460 lutris/gui/dialogs/issue.py:74 -#: lutris/gui/widgets/common.py:167 +#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:446 +#: lutris/gui/dialogs/__init__.py:472 lutris/gui/dialogs/issue.py:74 +#: lutris/gui/widgets/common.py:170 #: lutris/gui/widgets/download_collection_progress_box.py:56 #: lutris/gui/widgets/download_progress_box.py:64 msgid "_Cancel" @@ -2311,7 +2245,7 @@ msgid "Add Files" msgstr "افزودن پرونده‌ها" #: lutris/gui/config/widget_generator.py:626 -#: lutris/installer/installer_file_collection.py:89 +#: lutris/installer/installer_file_collection.py:88 msgid "Files" msgstr "پرونده‌ها" @@ -2334,14 +2268,14 @@ msgid "" "If left empty, the installer files are discarded after the install " "completion." msgstr "" -"اگر شناسانده شده باشد، این مکان توسط نصب‌کننده‌ها بکارگرفته خواهد شد تا برای " -"بکارگیری دوباره پرونده‌های دریافت شده آنها را به‌صورت محلی کش کند.\n" +"اگر شناسانده شده باشد، این مکان توسط نصب‌کننده‌ها استفاده خواهد شد تا برای " +"استفاده دوباره پرونده‌های دریافت شده آنها را به‌صورت محلی کش کند.\n" "اگر خالی بماند، پرونده‌های نصب‌کننده پس از پایان نصب پاک خواهند شد." #: lutris/gui/dialogs/delegates.py:41 #, python-format msgid "The required runner '%s' is not installed." -msgstr "اجراکننده مورد نیاز '%s' نصب نشده است." +msgstr "اجراکننده مورد نیاز «%s» نصب نشده است." #: lutris/gui/dialogs/delegates.py:207 msgid "Select game to launch" @@ -2351,7 +2285,7 @@ msgstr "انتخاب بازی برای راه‌اندازی" msgid "Downloading file" msgstr "در حال دریافت پرونده" -#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:126 +#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:128 #, python-format msgid "Downloading %s" msgstr "در حال دریافت %s" @@ -2370,7 +2304,7 @@ msgstr "در حال جستجوی checksum در Lutris.net..." #: lutris/gui/dialogs/game_import.py:141 msgid "This ROM could not be identified." -msgstr "این ROM شناسایی نشد." +msgstr "این رام شناسایی نشد." #: lutris/gui/dialogs/game_import.py:150 msgid "Looking for installed game..." @@ -2379,7 +2313,7 @@ msgstr "در حال جستجوی بازی نصب شده..." #: lutris/gui/dialogs/game_import.py:199 #, python-format msgid "Failed to import a ROM: %s" -msgstr "وارد کردن یک ROM ناموفق بود: %s" +msgstr "وارد کردن یک رام ناموفق بود: %s" #: lutris/gui/dialogs/game_import.py:220 msgid "Game already installed in Lutris" @@ -2388,26 +2322,26 @@ msgstr "بازی از پیش در لوتریس نصب شده است" #: lutris/gui/dialogs/game_import.py:242 #, python-format msgid "The platform '%s' is unknown to Lutris." -msgstr "سکو '%s' برای لوتریس ناشناخته است." +msgstr "سکو «%s» برای لوتریس ناشناخته است." #: lutris/gui/dialogs/game_import.py:252 #, python-format msgid "Lutris does not have a default installer for the '%s' platform." -msgstr "لوتریس برای سکو '%s' نصب‌کننده پیش‌گزیده‌ای ندارد." +msgstr "لوتریس برای سکو «%s» نصب‌کننده پیش‌گزیده‌ای ندارد." -#: lutris/gui/dialogs/__init__.py:171 +#: lutris/gui/dialogs/__init__.py:175 msgid "Save" msgstr "ذخیره" -#: lutris/gui/dialogs/__init__.py:292 +#: lutris/gui/dialogs/__init__.py:303 msgid "Lutris has encountered an error" msgstr "لوتریس با خطا مواجه شده است" -#: lutris/gui/dialogs/__init__.py:319 lutris/gui/installerwindow.py:904 +#: lutris/gui/dialogs/__init__.py:331 lutris/gui/installerwindow.py:962 msgid "Copy Details to Clipboard" msgstr "رونویسی جزئیات در بریده‌دان" -#: lutris/gui/dialogs/__init__.py:339 +#: lutris/gui/dialogs/__init__.py:351 msgid "" "You can get support from GitHub or Discord. Make sure " @@ -2417,51 +2351,52 @@ msgstr "" "شما می‌توانید از گیت‌هاب یا دیسکورد پشتیبانی بگیرید. " "اطمینان حاصل کنید که جزئیات خطا را نیز هم‌رسانی کنید؛\n" -"برای دریافت آن‌ها روی دکمه 'جزئیات را به بریده‌دان رونویسی کنید' بزنید." +"برای دریافت آن‌ها روی دکمه «رونویسی جزئیات در بریده‌دان» بزنید." -#: lutris/gui/dialogs/__init__.py:348 +#: lutris/gui/dialogs/__init__.py:360 msgid "Error details" msgstr "جزئیات خطا" -#: lutris/gui/dialogs/__init__.py:433 lutris/gui/dialogs/__init__.py:459 -#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:167 +#: lutris/gui/dialogs/__init__.py:445 lutris/gui/dialogs/__init__.py:471 +#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:170 msgid "_OK" msgstr "_پذیرفتن" -#: lutris/gui/dialogs/__init__.py:450 +#: lutris/gui/dialogs/__init__.py:462 msgid "Please choose a file" msgstr "لطفاً یک پرونده انتخاب کنید" -#: lutris/gui/dialogs/__init__.py:474 +#: lutris/gui/dialogs/__init__.py:486 #, python-format msgid "%s is already installed" msgstr "%s از پیش نصب شده است" -#: lutris/gui/dialogs/__init__.py:484 +#: lutris/gui/dialogs/__init__.py:496 msgid "Launch game" msgstr "اجرا بازی" -#: lutris/gui/dialogs/__init__.py:488 +#: lutris/gui/dialogs/__init__.py:500 msgid "Install the game again" msgstr "بازی را دوباره نصب کنید" -#: lutris/gui/dialogs/__init__.py:527 +#: lutris/gui/dialogs/__init__.py:539 msgid "Do not ask again for this game." msgstr "دیگر برای این بازی نپرس." -#: lutris/gui/dialogs/__init__.py:582 +#: lutris/gui/dialogs/__init__.py:594 msgid "Login failed" msgstr "ورود ناموفق بود" -#: lutris/gui/dialogs/__init__.py:592 +#: lutris/gui/dialogs/__init__.py:604 +#, python-brace-format msgid "Install script for {}" msgstr "اسکریپت نصب برای {}" -#: lutris/gui/dialogs/__init__.py:616 +#: lutris/gui/dialogs/__init__.py:628 msgid "Humble Bundle Cookie Authentication" msgstr "احراز هویت کوکی Humble Bundle" -#: lutris/gui/dialogs/__init__.py:628 +#: lutris/gui/dialogs/__init__.py:640 msgid "" "Humble Bundle Authentication via cookie import\n" "\n" @@ -2486,7 +2421,7 @@ msgstr "" "export-cookies-txt/\n" "- یک برگه در humblebundle.com باز کنید و مطمئن شوید که وارد شده‌اید.\n" "- روی نماد کوکی در گوشه بالا سمت راست، کنار نماد تنظیمات ضربه بزنید\n" -"- 'Prefix HttpOnly cookies' را بررسی کنید و روی 'humblebundle.com' ضربه " +"- «Prefix HttpOnly cookies» را بررسی کنید و روی «humblebundle.com» ضربه " "بزنید\n" "- پرونده تولید شده را باز کنید و محتویات زیر را بچسبانید. برای پایان روی OK " "ضربه بزنید.\n" @@ -2495,10 +2430,10 @@ msgstr "" "requests/new'>یک تیکت پشتیبانی باز کنید تا از Humble Bundle بخواهید که " "پیکربندی خود را اصلاح کند." -#: lutris/gui/dialogs/__init__.py:707 +#: lutris/gui/dialogs/__init__.py:723 #, python-format msgid "The key '%s' could not be found." -msgstr "کلید '%s' پیدا نشد." +msgstr "کلید «%s» پیدا نشد." #: lutris/gui/dialogs/issue.py:24 msgid "Submit an issue" @@ -2528,6 +2463,7 @@ msgid "Issue saved in %s" msgstr "مشکل در %s ذخیره شد" #: lutris/gui/dialogs/log.py:23 +#, python-brace-format msgid "Log for {}" msgstr "گزارش برای {}" @@ -2541,14 +2477,13 @@ msgid "" "Do you want to change the game location anyway? No files can be moved, and " "the game configuration may need to be adjusted." msgstr "" -"آیا می‌خواهید به هر حال مکان بازی را تغییر دهید؟ هیچ پرونده‌ای نمی‌تواند جابه‌" -"جا " +"آیا می‌خواهید به هر حال مکان بازی را تغییر دهید؟ هیچ پرونده‌ای نمی‌تواند جابه‌جا " "شود و پیکربندی بازی ممکن است نیاز به تنظیم داشته باشد." #: lutris/gui/dialogs/runner_install.py:59 #, python-format msgid "Showing games using %s" -msgstr "نمایش بازی‌ها با بکارگیری %s" +msgstr "نمایش بازی‌ها با استفاده از %s" #: lutris/gui/dialogs/runner_install.py:115 #, python-format @@ -2577,13 +2512,13 @@ msgstr[0] "نمایش %d بازی" msgstr[1] "نمایش %d بازی" #: lutris/gui/dialogs/runner_install.py:280 -#: lutris/gui/dialogs/uninstall_dialog.py:219 +#: lutris/gui/dialogs/uninstall_dialog.py:223 msgid "Uninstall" msgstr "پاک‌کردن" #: lutris/gui/dialogs/runner_install.py:294 msgid "Wine version usage" -msgstr "نگارش واین بکارگرفته شده" +msgstr "نگارش واین استفاده شده" #: lutris/gui/dialogs/runner_install.py:365 #, python-format @@ -2602,65 +2537,63 @@ msgstr "در حال استخراج…" msgid "Failed to retrieve the runner archive" msgstr "دریافت آرشیو اجراکننده ناموفق بود" -#: lutris/gui/dialogs/uninstall_dialog.py:124 +#: lutris/gui/dialogs/uninstall_dialog.py:128 #, python-format msgid "Uninstall %s" msgstr "پاک‌کردن %s" -#: lutris/gui/dialogs/uninstall_dialog.py:126 +#: lutris/gui/dialogs/uninstall_dialog.py:130 #, python-format msgid "Remove %s" msgstr "برداشتن %s" -#: lutris/gui/dialogs/uninstall_dialog.py:128 +#: lutris/gui/dialogs/uninstall_dialog.py:132 #, python-format msgid "Uninstall %d games" msgstr "پاک‌کردن نصب %d بازی" -#: lutris/gui/dialogs/uninstall_dialog.py:130 +#: lutris/gui/dialogs/uninstall_dialog.py:134 #, python-format msgid "Remove %d games" msgstr "برداشتن %d بازی" -#: lutris/gui/dialogs/uninstall_dialog.py:132 +#: lutris/gui/dialogs/uninstall_dialog.py:136 #, python-format msgid "Uninstall %d games and remove %d games" msgstr "پاک‌کردن %d بازی و برداشتن %d بازی" -#: lutris/gui/dialogs/uninstall_dialog.py:145 +#: lutris/gui/dialogs/uninstall_dialog.py:149 msgid "After you uninstall these games, you won't be able play them in Lutris." msgstr "پس از پاک‌کردن این بازی‌ها، نمی‌توانید آن‌ها را در لوتریس بازی کنید." -#: lutris/gui/dialogs/uninstall_dialog.py:148 +#: lutris/gui/dialogs/uninstall_dialog.py:152 msgid "" "Uninstalled games that you remove from the library will no longer appear in " "the 'Games' view, but those that remain will retain their playtime data." msgstr "" -"بازی‌های پاک شده‌ای که از کتابخانه برمیدارید دیگر در نمای 'بازی‌ها' ظاهر " -"نخواهند شد، ولی آن‌هایی که باقی می‌مانند داده‌های زمان بازی خود را نگه‌داری " -"خواهند کرد." +"بازی‌های پاک‌شده‌ای که از کتابخانه برمیدارید، دیگر در بخش «بازی‌ها» نمایش داده " +"نمی‌شوند، اما بازی‌های باقی‌مانده داده‌های زمان بازی خود را نگه خواهند داشت." -#: lutris/gui/dialogs/uninstall_dialog.py:153 +#: lutris/gui/dialogs/uninstall_dialog.py:157 msgid "" "After you remove these games, they will no longer appear in the 'Games' view." msgstr "" -"پس از برداشتن این بازی‌ها، آن‌ها دیگر در نمای 'بازی‌ها' ظاهر نخواهند شد." +"پس از برداشتن این بازی‌ها، آن‌ها دیگر در نمای «بازی‌ها» نمایان نخواهند شد." -#: lutris/gui/dialogs/uninstall_dialog.py:158 +#: lutris/gui/dialogs/uninstall_dialog.py:162 msgid "" "Some of the game directories cannot be removed because they are shared with " "other games that you are not removing." msgstr "" -"برخی از مسیر‌های بازی نمی‌توانند پاک شوند زیرا با بازی‌های دیگری که پاک نمی‌کن" -"ید " +"برخی از مسیر‌های بازی نمی‌توانند پاک شوند زیرا با بازی‌های دیگری که پاک نمی‌کنید " "به اشتراک گذاشته شده‌اند." -#: lutris/gui/dialogs/uninstall_dialog.py:164 +#: lutris/gui/dialogs/uninstall_dialog.py:168 msgid "" "Some of the game directories cannot be removed because they are protected." msgstr "برخی از مسیر‌های بازی نمی‌توانند پاک شوند زیرا محافظت شده‌اند." -#: lutris/gui/dialogs/uninstall_dialog.py:261 +#: lutris/gui/dialogs/uninstall_dialog.py:265 #, python-format msgid "" "Please confirm.\n" @@ -2671,7 +2604,7 @@ msgstr "" "همه موارد زیر %s\n" "به سطل زباله جابه‌جا خواهند شد." -#: lutris/gui/dialogs/uninstall_dialog.py:265 +#: lutris/gui/dialogs/uninstall_dialog.py:269 #, python-format msgid "" "Please confirm.\n" @@ -2680,19 +2613,19 @@ msgstr "" "لطفاً بپذیرید.\n" "همه پرونده‌های مربوط به %d بازی به سطل زباله جابه‌جا خواهند شد." -#: lutris/gui/dialogs/uninstall_dialog.py:273 +#: lutris/gui/dialogs/uninstall_dialog.py:277 msgid "Permanently delete files?" msgstr "آیا می‌خواهید پرونده‌ها را برای همیشه پاک کنید؟" -#: lutris/gui/dialogs/uninstall_dialog.py:353 +#: lutris/gui/dialogs/uninstall_dialog.py:360 msgid "Remove from Library" msgstr "برداشتن از کتابخانه" -#: lutris/gui/dialogs/uninstall_dialog.py:359 +#: lutris/gui/dialogs/uninstall_dialog.py:366 msgid "Delete Files" msgstr "پاک‌کردن پرونده‌ها" -#: lutris/gui/dialogs/webconnect_dialog.py:119 +#: lutris/gui/dialogs/webconnect_dialog.py:149 msgid "Loading..." msgstr "در حال بارگذاری..." @@ -2707,7 +2640,7 @@ msgstr "دریافت" #: lutris/gui/installer/file_box.py:98 msgid "Use Cache" -msgstr "بکارگرفتن کش" +msgstr "استفاده از کش" #: lutris/gui/installer/file_box.py:102 msgid "Select File" @@ -2721,119 +2654,130 @@ msgstr "پرونده کش برای نصب‌های آینده" msgid "Source:" msgstr "منبع:" -#: lutris/gui/installerwindow.py:122 +#: lutris/gui/installerwindow.py:128 msgid "Configure download cache" msgstr "پیکربندی کش دریافت" -#: lutris/gui/installerwindow.py:124 +#: lutris/gui/installerwindow.py:130 msgid "Change where Lutris downloads game installer files." msgstr "محل دریافت پرونده‌های نصب بازی توسط لوتریس را تغییر دهید." -#: lutris/gui/installerwindow.py:127 +#: lutris/gui/installerwindow.py:133 msgid "View installer source" msgstr "مشاهده منبع نصب‌کننده" -#: lutris/gui/installerwindow.py:223 +#: lutris/gui/installerwindow.py:241 msgid "Remove game files" msgstr "پاک‌کردن پرونده‌های بازی" -#: lutris/gui/installerwindow.py:238 +#: lutris/gui/installerwindow.py:256 msgid "Are you sure you want to cancel the installation?" msgstr "آیا مطمئن هستید که می‌خواهید نصب را رد کنید؟" -#: lutris/gui/installerwindow.py:239 +#: lutris/gui/installerwindow.py:257 msgid "Cancel installation?" msgstr "آیا می‌خواهید نصب را رد کنید؟" -#: lutris/gui/installerwindow.py:340 +#: lutris/gui/installerwindow.py:332 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"در حال انتظار برای نصب اجزای لوتریس\n" +"اگر ابتدا اجزای لوتریس نصب نشده باشند ممکن است نصب‌ها ناموفق شوند." + +#: lutris/gui/installerwindow.py:389 #, python-format msgid "Install %s" msgstr "نصب %s" -#: lutris/gui/installerwindow.py:362 +#: lutris/gui/installerwindow.py:411 #, python-format msgid "This game requires %s. Do you want to install it?" msgstr "این بازی به %s نیاز دارد. آیا می‌خواهید آن را نصب کنید؟" -#: lutris/gui/installerwindow.py:363 +#: lutris/gui/installerwindow.py:412 msgid "Missing dependency" msgstr "وابستگی گم شده" -#: lutris/gui/installerwindow.py:371 +#: lutris/gui/installerwindow.py:420 +#, python-brace-format msgid "Installing {}" msgstr "در حال نصب {}" -#: lutris/gui/installerwindow.py:377 +#: lutris/gui/installerwindow.py:426 msgid "No installer available" msgstr "هیچ نصب‌کننده‌ای در دسترس نیست" -#: lutris/gui/installerwindow.py:383 +#: lutris/gui/installerwindow.py:432 #, python-format msgid "Missing field \"%s\" in install script" msgstr "قسمت \"%s\" در اسکریپت نصب گم شده است" -#: lutris/gui/installerwindow.py:386 +#: lutris/gui/installerwindow.py:435 #, python-format msgid "Improperly formatted file \"%s\"" msgstr "پرونده \"%s\" به درستی قالب‌بندی نشده است" -#: lutris/gui/installerwindow.py:436 +#: lutris/gui/installerwindow.py:485 msgid "Select installation directory" msgstr "انتخاب مسیر نصب" -#: lutris/gui/installerwindow.py:446 +#: lutris/gui/installerwindow.py:495 msgid "Preparing Lutris for installation" msgstr "در حال آماده‌سازی لوتریس برای نصب" -#: lutris/gui/installerwindow.py:540 +#: lutris/gui/installerwindow.py:589 msgid "" -"This game has extra content. \n" -"Select which one you want and they will be available in the 'extras' folder " -"where the game is installed." +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' " +"folder where the game is installed." msgstr "" "این بازی محتوای افزوده دارد. \n" -"کدام یک را می‌خواهید انتخاب کنید و آن‌ها در پوشه 'extras' که بازی در آن نصب " -"شده است در دسترس خواهند بود." +"آن مورد که می‌خواهید را انتخاب کنید و آن‌ها در پوشه «extras» که بازی در " +"آن نصب شده است در دسترس خواهند بود." -#: lutris/gui/installerwindow.py:635 +#: lutris/gui/installerwindow.py:685 msgid "" "Please review the files needed for the installation then click 'Install'" msgstr "" -"لطفاً پرونده‌های مورد نیاز برای نصب را بررسی کنید و سپس روی 'نصب' ضربه بزنید" +"لطفاً پرونده‌های مورد نیاز برای نصب را بررسی کنید و سپس روی «نصب» ضربه بزنید" -#: lutris/gui/installerwindow.py:643 +#: lutris/gui/installerwindow.py:693 msgid "Downloading game data" msgstr "در حال دریافت داده‌های بازی" -#: lutris/gui/installerwindow.py:660 +#: lutris/gui/installerwindow.py:710 #, python-format msgid "Unable to get files: %s" msgstr "نمی‌توان پرونده‌ها را دریافت کرد: %s" -#: lutris/gui/installerwindow.py:674 +#: lutris/gui/installerwindow.py:724 msgid "Installing game data" msgstr "در حال نصب داده‌های بازی" #. Lutris flatplak doesn't autodetect files on CD-ROM properly #. and selecting this option doesn't let the user click "Back" #. so the only option is to cancel the install. -#: lutris/gui/installerwindow.py:816 +#: lutris/gui/installerwindow.py:866 msgid "Autodetect" msgstr "تشخیص خودکار" -#: lutris/gui/installerwindow.py:821 +#: lutris/gui/installerwindow.py:871 msgid "Browse…" msgstr "مرور…" -#: lutris/gui/installerwindow.py:828 +#: lutris/gui/installerwindow.py:878 msgid "Eject" msgstr "خارج کردن" -#: lutris/gui/installerwindow.py:840 +#: lutris/gui/installerwindow.py:890 msgid "Select the folder where the disc is mounted" msgstr "انتخاب پوشه‌ای که دیسک در آن نصب شده است" -#: lutris/gui/installerwindow.py:888 +#: lutris/gui/installerwindow.py:944 msgid "" "An unexpected error has occurred while installing this game. Please share " "the details below with the Lutris team on GitHub یا Discord به اشتراک بگذارید." -#: lutris/gui/installerwindow.py:945 +#: lutris/gui/installerwindow.py:1003 msgid "_Launch" msgstr "_اجرا" -#: lutris/gui/installerwindow.py:1025 +#: lutris/gui/installerwindow.py:1083 msgid "_Abort" msgstr "_لغو" -#: lutris/gui/installerwindow.py:1026 +#: lutris/gui/installerwindow.py:1084 msgid "Abort and revert the installation" msgstr "لغو و بازگشت به نصب" -#: lutris/gui/installerwindow.py:1029 +#: lutris/gui/installerwindow.py:1087 msgid "_Close" msgstr "_بستن" -#: lutris/gui/lutriswindow.py:596 +#: lutris/gui/lutriswindow.py:737 #, python-format msgid "Connect your %s account to access your games" msgstr "حساب %s خود را متصل کنید تا به بازی‌های خود دسترسی پیدا کنید" -#: lutris/gui/lutriswindow.py:677 +#: lutris/gui/lutriswindow.py:744 #, python-format msgid "Add a game matching '%s' to your favorites to see it here." msgstr "" -"یک بازی که با '%s' هم‌خوانی دارد به علاقه‌مندی‌های خود بیفزایید " -"تا آن را اینجا ببینید." +"یک بازی که با «%s» هم‌خوانی دارد به موارد دلخواه‌تان بیفزایید تا آن را اینجا " +"ببینید." -#: lutris/gui/lutriswindow.py:679 +#: lutris/gui/lutriswindow.py:746 #, python-format msgid "No hidden games matching '%s' found." -msgstr "هیچ بازی پنهانی که با '%s' هم‌خوانی داشته باشد پیدا نشد." +msgstr "هیچ بازی پنهانی که با «%s» هم‌خوانی داشته باشد پیدا نشد." -#: lutris/gui/lutriswindow.py:682 +#: lutris/gui/lutriswindow.py:749 #, python-format msgid "" "No installed games matching '%s' found. Press Ctrl+I to show uninstalled " "games." msgstr "" -"هیچ بازی نصب شده‌ای که با '%s' هم‌خوانی داشته باشد پیدا نشد. برای نمایش " +"هیچ بازی نصب شده‌ای که با «%s» هم‌خوانی داشته باشد پیدا نشد. برای نمایش " "بازی‌های پاک شده Ctrl+I را فشار دهید." -#: lutris/gui/lutriswindow.py:685 +#: lutris/gui/lutriswindow.py:752 #, python-format msgid "No games matching '%s' found " -msgstr "هیچ بازی که با '%s' هم‌خوانی داشته باشد پیدا نشد" +msgstr "هیچ بازی که با «%s» هم‌خوانی داشته باشد پیدا نشد" -#: lutris/gui/lutriswindow.py:688 +#: lutris/gui/lutriswindow.py:755 msgid "Add games to your favorites to see them here." -msgstr "بازی‌ها را به علاقه‌مندی‌های خود بیفزایید تا آن‌ها را اینجا ببینید." +msgstr "بازی‌ها را به موارد دلخواه‌تان بیفزایید تا آن‌ها را اینجا ببینید." -#: lutris/gui/lutriswindow.py:690 +#: lutris/gui/lutriswindow.py:757 msgid "No games are hidden." msgstr "هیچ بازی پنهانی نیست." -#: lutris/gui/lutriswindow.py:692 +#: lutris/gui/lutriswindow.py:759 msgid "No installed games found. Press Ctrl+I to show uninstalled games." msgstr "" "هیچ بازی نصب شده‌ای پیدا نشد. برای نمایش بازی‌های پاک شده Ctrl+I را فشار دهید." -#: lutris/gui/lutriswindow.py:701 +#: lutris/gui/lutriswindow.py:768 msgid "No games found" msgstr "هیچ بازی پیدا نشد" -#: lutris/gui/lutriswindow.py:746 +#: lutris/gui/lutriswindow.py:813 #, python-format msgid "Search %s games" -msgstr "جستجوی %s بازی" +msgstr "جستجو در %s بازی" -#: lutris/gui/lutriswindow.py:748 +#: lutris/gui/lutriswindow.py:815 msgid "Search 1 game" msgstr "جستجوی 1 بازی" -#: lutris/gui/lutriswindow.py:1001 +#: lutris/gui/lutriswindow.py:1069 msgid "Unsupported Lutris Version" msgstr "نگارش لوتریس پشتیبانی نمی‌شود" -#: lutris/gui/lutriswindow.py:1003 +#: lutris/gui/lutriswindow.py:1071 msgid "" "This version of Lutris will no longer receive support on Github and Discord, " "and may not interoperate properly with Lutris.net. Do you want to use it " "anyway?" msgstr "" "این نگارش از لوتریس دیگر پشتیبانی در GitHub و Discord دریافت نخواهد کرد و " -"ممکن است به درستی با Lutris.net کار نکند. آیا می‌خواهید به هر حال آن vh بکار " -"بگیرید؟" +"ممکن است به درستی با Lutris.net کار نکند. آیا می‌خواهید به هر حال آن را " +"استفاده کنید؟" -#: lutris/gui/lutriswindow.py:1218 +#: lutris/gui/lutriswindow.py:1282 msgid "Show Hidden Games" msgstr "نمایش بازی‌های پنهان" -#: lutris/gui/lutriswindow.py:1220 +#: lutris/gui/lutriswindow.py:1284 msgid "Rehide Hidden Games" msgstr "پنهان کردن دوباره بازی‌های پنهان" -#: lutris/gui/lutriswindow.py:1417 +#: lutris/gui/lutriswindow.py:1483 msgid "" "Your limits are not set correctly. Please increase them as described here: " "How-to:-" "Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" msgstr "" -"محدودیت‌های شما به درستی تنظیم نشده‌اند. لطفاً آن‌ها را طبق توضیحات زیر افزایش" -"دهید: راهنما: Esync (https://github.com/لوتریس/docs/blob/master/" "HowToEsync.md)" -#: lutris/gui/widgets/cellrenderers.py:385 lutris/gui/widgets/sidebar.py:501 +#: lutris/gui/widgets/cellrenderers.py:376 lutris/gui/widgets/sidebar.py:501 msgid "Missing" msgstr "گم شده" -#: lutris/gui/widgets/common.py:84 +#: lutris/gui/widgets/common.py:87 msgid "Select a folder" msgstr "انتخاب یک پوشه" -#: lutris/gui/widgets/common.py:86 +#: lutris/gui/widgets/common.py:89 msgid "Select a file" msgstr "انتخاب یک پرونده" -#: lutris/gui/widgets/common.py:92 +#: lutris/gui/widgets/common.py:95 msgid "Open in file browser" msgstr "باز کردن در مرورگر پرونده" -#: lutris/gui/widgets/common.py:243 +#: lutris/gui/widgets/common.py:246 msgid "" "Warning! The selected path is located on a drive formatted by " "Windows.\n" @@ -2975,23 +2919,23 @@ msgstr "" "هشدار! مسیر انتخاب شده در درایوی قالب‌بندی شده توسط ویندوز قرار دارد.\n" "بازی‌ها و برنامه‌های نصب شده بر روی درایوهای ویندوز کار نمی‌کنند." -#: lutris/gui/widgets/common.py:252 +#: lutris/gui/widgets/common.py:255 msgid "" "Warning! The selected path contains files. Installation will not work " "properly." msgstr "" "هشدار! مسیر انتخاب شده شامل پرونده‌ها است. نصب به درستی کار نخواهد کرد." -#: lutris/gui/widgets/common.py:260 +#: lutris/gui/widgets/common.py:263 msgid "" "Warning The destination folder is not writable by the current user." msgstr "هشدار پوشه مقصد برای کاربر فعلی قابل نوشتن نیست." -#: lutris/gui/widgets/common.py:378 +#: lutris/gui/widgets/common.py:381 msgid "Add" msgstr "افزودن" -#: lutris/gui/widgets/common.py:382 +#: lutris/gui/widgets/common.py:385 msgid "Delete" msgstr "پاک‌کردن" @@ -3009,7 +2953,7 @@ msgstr "دریافت متوقف شد" #: lutris/gui/widgets/download_progress_box.py:144 #, python-brace-format msgid "{downloaded} / {size} ({speed:0.2f}MB/s), {time} remaining" -msgstr "{دریافت شده} / {حجم} ({سرعت:0.2f}MB/s)، {زمان} باقی مانده" +msgstr "{downloaded} / {size} ({speed:0.2f}MB/s)، {time} باقی مانده" #: lutris/gui/widgets/game_bar.py:174 #, python-format @@ -3089,7 +3033,7 @@ msgstr "اخیر" #: lutris/gui/widgets/sidebar.py:476 msgid "Favorites" -msgstr "علاقه‌مندی‌ها" +msgstr "دلخواه" #: lutris/gui/widgets/sidebar.py:485 msgid "Uncategorized" @@ -3119,10 +3063,10 @@ msgstr "اجرای نادرست به دست آمده %s" #: lutris/installer/commands.py:77 #, python-brace-format msgid "One of {params} parameter is mandatory for the {cmd} command" -msgstr "یکی از شاخصهای {params} برای دستور {cmd} الزامی است" +msgstr "یکی از شاخص‌های {params} برای دستور {cmd} الزامی است" -#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:165 -#: lutris/installer/interpreter.py:188 +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 +#: lutris/installer/interpreter.py:190 msgid " or " msgstr " یا " @@ -3131,38 +3075,38 @@ msgstr " یا " msgid "The {param} parameter is mandatory for the {cmd} command" msgstr "شاخص {param} برای دستور {cmd} الزامی است" -#: lutris/installer/commands.py:103 +#: lutris/installer/commands.py:95 #, python-format msgid "Invalid file '%s'. Can't make it executable" -msgstr "پرونده نادرست '%s'. نمی‌توان آن را اجرایی کرد" +msgstr "پرونده نادرست «%s». نمی‌توان آن را اجرایی کرد" -#: lutris/installer/commands.py:116 +#: lutris/installer/commands.py:108 msgid "" "Parameters file and command can't be used at the same time for the execute " "command" msgstr "" -"پرونده شاخص‌ها و دستور نمی‌توانند به طور همزمان برای دستور اجرا بکارگرفته شوند" +"پرونده شاخص‌ها و دستور نمی‌توانند به طور همزمان برای دستور اجرا استفاده شوند" -#: lutris/installer/commands.py:150 +#: lutris/installer/commands.py:142 msgid "No parameters supplied to execute command." msgstr "هیچ شاخصی برای اجرای دستور شناسانده نشده است." -#: lutris/installer/commands.py:166 +#: lutris/installer/commands.py:158 #, python-format msgid "Unable to find executable %s" msgstr "نمی‌توان اجرایی %s را پیدا کرد" -#: lutris/installer/commands.py:200 +#: lutris/installer/commands.py:192 #, python-format msgid "%s does not exist" msgstr "%s نیست" -#: lutris/installer/commands.py:206 lutris/runtime.py:127 +#: lutris/installer/commands.py:198 lutris/runtime.py:129 #, python-format msgid "Extracting %s" msgstr "استخراج %s" -#: lutris/installer/commands.py:240 +#: lutris/installer/commands.py:232 msgid "" "Insert or mount game disc and click Autodetect or\n" "use Browse if the disc is mounted on a non standard location." @@ -3170,7 +3114,7 @@ msgstr "" "دیسک بازی را وارد یا نصب کنید و روی خودکار شناسایی ضربه بزنید یا\n" "اگر دیسک در مکان غیر استاندارد نصب شده است، پرونده‌ها را مرور کنید." -#: lutris/installer/commands.py:246 +#: lutris/installer/commands.py:238 #, python-format msgid "" "\n" @@ -3185,22 +3129,22 @@ msgstr "" "که شامل پرونده یا پوشه زیر باشد:\n" "%s" -#: lutris/installer/commands.py:269 +#: lutris/installer/commands.py:261 #, python-format msgid "The required file '%s' could not be located." -msgstr "پرونده مورد نیاز '%s' پیدا نشد." +msgstr "پرونده مورد نیاز «%s» پیدا نشد." -#: lutris/installer/commands.py:290 +#: lutris/installer/commands.py:282 #, python-format msgid "Source does not exist: %s" msgstr "منبع نیست: %s" -#: lutris/installer/commands.py:316 +#: lutris/installer/commands.py:308 #, python-format msgid "Invalid source for 'move' operation: %s" -msgstr "منبع نادرست برای کنش 'جابه‌جایی': %s" +msgstr "منبع نادرست برای کنش «جابه‌جایی»: %s" -#: lutris/installer/commands.py:335 +#: lutris/installer/commands.py:327 #, python-brace-format msgid "" "Can't move {src} \n" @@ -3209,48 +3153,48 @@ msgstr "" "نمی‌توان {src} را \n" "به مقصد {dst} جابه‌جا کرد" -#: lutris/installer/commands.py:342 +#: lutris/installer/commands.py:334 #, python-format msgid "Rename error, source path does not exist: %s" msgstr "خطای تغییر نام، مسیر منبع نیست: %s" -#: lutris/installer/commands.py:349 +#: lutris/installer/commands.py:341 #, python-format msgid "Rename error, destination already exists: %s" msgstr "خطای تغییر نام، مقصد از پیش وجود دارد: %s" -#: lutris/installer/commands.py:365 +#: lutris/installer/commands.py:357 msgid "Missing parameter src" msgstr "شاخص src گم شده است" -#: lutris/installer/commands.py:368 +#: lutris/installer/commands.py:360 msgid "Wrong value for 'src' param" -msgstr "مقدار نادرست برای شاخص 'src'" +msgstr "مقدار نادرست برای شاخص «src»" -#: lutris/installer/commands.py:372 +#: lutris/installer/commands.py:364 msgid "Wrong value for 'dst' param" -msgstr "مقدار نادرست برای شاخص 'dst'" +msgstr "مقدار نادرست برای شاخص «dst»" -#: lutris/installer/commands.py:447 +#: lutris/installer/commands.py:439 #, python-format msgid "Command exited with code %s" msgstr "دستور خارج شد با کد %s" -#: lutris/installer/commands.py:466 +#: lutris/installer/commands.py:458 #, python-format msgid "Wrong value for write_file mode: '%s'" -msgstr "مقدار نادرست برای حالت write_file: '%s'" +msgstr "مقدار نادرست برای حالت write_file: «%s»" -#: lutris/installer/commands.py:659 +#: lutris/installer/commands.py:651 msgid "install_or_extract only works with wine!" msgstr "install_or_extract تنها با واین کار می‌کند!" -#: lutris/installer/errors.py:42 +#: lutris/installer/errors.py:49 #, python-format msgid "This game requires %s." msgstr "این بازی به %s نیاز دارد." -#: lutris/installer/installer_file_collection.py:87 +#: lutris/installer/installer_file_collection.py:86 msgid "File" msgstr "پرونده" @@ -3267,20 +3211,20 @@ msgstr "قسمت `filename` در پرونده `%s` گم شده" #: lutris/installer/installer_file.py:162 #, python-brace-format msgid "{file} on {host}" -msgstr "{پرونده} در {میزبان}" +msgstr "{file} در {host}" -#: lutris/installer/installer_file.py:259 +#: lutris/installer/installer_file.py:254 msgid "Invalid checksum, expected format (type:hash) " -msgstr "چک‌سام نادرست، قالب مورد انتظار (type:hash) " +msgstr "checksum نادرست، قالب مورد انتظار (type:hash) " -#: lutris/installer/installer_file.py:265 +#: lutris/installer/installer_file.py:261 msgid " checksum mismatch " -msgstr " ناهم‌خوانی چک‌سام " +msgstr " ناهم‌خوانی checksum " #: lutris/installer/installer.py:38 #, python-format msgid "The script was missing the '%s' key, which is required." -msgstr "اسکریپت کلید '%s' را که الزامی است، گم کرده." +msgstr "اسکریپت کلید «%s» را که الزامی است، گم کرده." #: lutris/installer/installer.py:218 msgid "Game config key must be a string" @@ -3288,13 +3232,14 @@ msgstr "کلید پیکربندی بازی باید متن باشد" #: lutris/installer/installer.py:266 msgid "Invalid 'game' section" -msgstr "بخش 'بازی' نادرست است" +msgstr "بخش «بازی» نادرست است" #: lutris/installer/interpreter.py:85 msgid "This installer doesn't have a 'script' section" -msgstr "این نصب‌کننده بخش 'اسکریپت' ندارد" +msgstr "این نصب‌کننده بخش «اسکریپت» ندارد" -#: lutris/installer/interpreter.py:90 +#: lutris/installer/interpreter.py:91 +#, python-brace-format msgid "" "Invalid script: \n" "{}" @@ -3302,35 +3247,36 @@ msgstr "" "اسکریپت نادرست: \n" "{}" -#: lutris/installer/interpreter.py:165 lutris/installer/interpreter.py:168 +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 #, python-format msgid "This installer requires %s on your system" msgstr "این نصب‌کننده به %s در سامانه شما نیاز دارد" -#: lutris/installer/interpreter.py:181 +#: lutris/installer/interpreter.py:183 +#, python-brace-format msgid "You need to install {} before" msgstr "شما باید {} را پیش از آن نصب کنید" -#: lutris/installer/interpreter.py:230 +#: lutris/installer/interpreter.py:232 msgid "Lutris does not have the necessary permissions to install to path:" msgstr "لوتریس مجوزهای لازم برای نصب در مسیر را ندارد:" -#: lutris/installer/interpreter.py:235 +#: lutris/installer/interpreter.py:237 #, python-format msgid "Path %s not found, unable to create game folder. Is the disk mounted?" msgstr "" "مسیر %s پیدا نشد، نمی‌توان پوشه بازی را ایجاد کرد. آیا دیسک سوار شده است؟" -#: lutris/installer/interpreter.py:310 +#: lutris/installer/interpreter.py:312 msgid "Installer commands are not formatted correctly" msgstr "دستورات نصب‌کننده به درستی قالب‌بندی نشده‌اند" -#: lutris/installer/interpreter.py:362 +#: lutris/installer/interpreter.py:364 #, python-format msgid "The command \"%s\" does not exist." msgstr "دستور \"%s\" نداریم." -#: lutris/installer/interpreter.py:372 +#: lutris/installer/interpreter.py:374 #, python-format msgid "" "The executable at path %s can't be found, please check the destination " @@ -3340,7 +3286,7 @@ msgstr "" "پرونده اجرایی در مسیر %s پیدا نشد، لطفاً پوشه هدف را بررسی کنید.\n" "برخی از مراحل فرآیند نصب ممکن است به درستی کامل نشده باشند." -#: lutris/installer/interpreter.py:379 +#: lutris/installer/interpreter.py:381 msgid "Installation completed!" msgstr "نصب کامل شد!" @@ -3355,11 +3301,11 @@ msgstr "وضوح میزکار" #: lutris/runners/atari800.py:21 msgid "Atari800" -msgstr "آتاری 800" +msgstr "Atari800" #: lutris/runners/atari800.py:22 msgid "Atari 8bit computers" -msgstr "کامپیوترهای 8 بیتی آتاری" +msgstr "رایانه‌های 8 بیتی آتاری" #: lutris/runners/atari800.py:25 msgid "Atari 400, 800 and XL emulator" @@ -3370,19 +3316,19 @@ msgid "" "The game data, commonly called a ROM image. \n" "Supported formats: ATR, XFD, DCM, ATR.GZ, XFD.GZ and PRO." msgstr "" -"داده‌های بازی، که معمولاً به آن تصویر ROM گفته می‌شود. \n" +"داده‌های بازی، که معمولاً به آن تصویر رام گفته می‌شود. \n" "قالب‌های پشتیبانی شده: ATR، XFD، DCM، ATR.GZ، XFD.GZ و PRO." #: lutris/runners/atari800.py:50 msgid "BIOS location" -msgstr "مکان BIOS" +msgstr "مکان بایوس" #: lutris/runners/atari800.py:52 msgid "" "A folder containing the Atari 800 BIOS files.\n" "They are provided by Lutris so you shouldn't have to change this." msgstr "" -"یک پوشه حاوی پرونده‌های BIOS آتاری 800.\n" +"یک پوشه حاوی پرونده‌های بایوس آتاری 800.\n" "این پرونده‌ها توسط لوتریس به دست آمده‌اند، بنابراین نیازی به تغییر این نیست." #: lutris/runners/atari800.py:61 @@ -3411,20 +3357,20 @@ msgid "Machine" msgstr "ماشین" #: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 -#: lutris/runners/dosbox.py:67 lutris/runners/duckstation.py:36 -#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:296 -#: lutris/runners/easyrpg.py:304 lutris/runners/easyrpg.py:320 -#: lutris/runners/easyrpg.py:338 lutris/runners/easyrpg.py:346 -#: lutris/runners/easyrpg.py:354 lutris/runners/easyrpg.py:368 +#: lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 +#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 +#: lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:337 lutris/runners/easyrpg.py:345 +#: lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 #: lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 #: lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 #: lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 #: lutris/runners/hatari.py:79 lutris/runners/hatari.py:94 #: lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 -#: lutris/runners/mame.py:168 lutris/runners/mame.py:175 -#: lutris/runners/mame.py:183 lutris/runners/mame.py:197 -#: lutris/runners/mednafen.py:73 lutris/runners/mednafen.py:77 -#: lutris/runners/mednafen.py:91 lutris/runners/o2em.py:79 +#: lutris/runners/mame.py:166 lutris/runners/mame.py:173 +#: lutris/runners/mame.py:190 lutris/runners/mame.py:204 +#: lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 +#: lutris/runners/mednafen.py:89 lutris/runners/o2em.py:79 #: lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 #: lutris/runners/pico8.py:45 lutris/runners/redream.py:24 #: lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 @@ -3435,25 +3381,25 @@ msgstr "ماشین" #: lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 #: lutris/runners/vice.py:51 lutris/runners/vice.py:58 #: lutris/runners/vice.py:65 lutris/runners/vice.py:72 -#: lutris/runners/wine.py:293 lutris/runners/wine.py:309 -#: lutris/runners/wine.py:322 lutris/runners/wine.py:335 -#: lutris/runners/wine.py:347 lutris/runners/wine.py:360 -#: lutris/runners/wine.py:371 lutris/runners/wine.py:382 -#: lutris/runners/wine.py:393 lutris/runners/wine.py:406 +#: lutris/runners/wine.py:291 lutris/runners/wine.py:306 +#: lutris/runners/wine.py:319 lutris/runners/wine.py:330 +#: lutris/runners/wine.py:342 lutris/runners/wine.py:354 +#: lutris/runners/wine.py:364 lutris/runners/wine.py:375 +#: lutris/runners/wine.py:386 lutris/runners/wine.py:399 msgid "Graphics" msgstr "گرافیک" #: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 -#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:297 +#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 #: lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 -#: lutris/runners/libretro.py:95 lutris/runners/mame.py:169 -#: lutris/runners/mednafen.py:73 lutris/runners/mupen64plus.py:29 +#: lutris/runners/libretro.py:95 lutris/runners/mame.py:167 +#: lutris/runners/mednafen.py:71 lutris/runners/mupen64plus.py:29 #: lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 #: lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 #: lutris/runners/redream.py:24 lutris/runners/reicast.py:40 #: lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 #: lutris/runners/vice.py:52 lutris/runners/vita3k.py:41 -#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:276 +#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 msgid "Fullscreen" msgstr "تمام صفحه" @@ -3463,7 +3409,7 @@ msgstr "وضوح تمام صفحه" #: lutris/runners/atari800.py:93 msgid "Could not download Atari 800 BIOS archive" -msgstr "نمی‌توان BIOS آتاری 800 را دریافت کرد" +msgstr "نمی‌توان بایوس آتاری 800 را دریافت کرد" #: lutris/runners/cemu.py:12 msgid "Cemu" @@ -3491,7 +3437,7 @@ msgstr "" #: lutris/runners/cemu.py:31 msgid "Compressed ROM" -msgstr "ROM فشرده" +msgstr "رام فشرده" #: lutris/runners/cemu.py:32 msgid "" @@ -3499,7 +3445,7 @@ msgid "" "game directory" msgstr "" "یک بازی فشرده شده در یک پرونده واحد (قالب WUA)، تنها در صورتی این گرینه را " -"بکار بگیرید که مسیر بازی را بکار نمیگیرید" +"استفاده کنید که مسیر بازی را استفاده نمیکنید" #: lutris/runners/cemu.py:44 msgid "Custom mlc folder location" @@ -3531,7 +3477,7 @@ msgstr "شبیه‌ساز گیم‌کیوب و وی" #: lutris/runners/dolphin.py:16 lutris/services/dolphin.py:29 msgid "Dolphin" -msgstr "دلفین" +msgstr "Dolphin" #: lutris/runners/dolphin.py:29 lutris/runners/pcsx2.py:22 #: lutris/runners/xemu.py:19 @@ -3540,7 +3486,7 @@ msgstr "پرونده ISO" #: lutris/runners/dolphin.py:42 msgid "Batch" -msgstr "دسته‌ای" +msgstr "چندتایی" #: lutris/runners/dolphin.py:45 msgid "Exit Dolphin with emulator." @@ -3548,7 +3494,7 @@ msgstr "خروج از دلفین با شبیه‌ساز." #: lutris/runners/dolphin.py:52 msgid "Custom Global User Directory" -msgstr "مسیر پایه(Global) سفارشی کاربر" +msgstr "مسیر عمومی سفارشی کاربر" #: lutris/runners/dosbox.py:16 msgid "DOSBox" @@ -3574,7 +3520,7 @@ msgid "" msgstr "" "پرونده CONF، EXE، COM یا BAT برای راه‌اندازی.\n" "اگر پرونده اجرایی در پرونده پیکربندی مدیریت می‌شود، این باید پرونده پیکربندی " -"باشد، به جای اینکه در 'پرونده پیکربندی' مشخص شود." +"باشد، به جای اکنونه در «پرونده پیکربندی» مشخص شود." #: lutris/runners/dosbox.py:36 msgid "Configuration file" @@ -3596,7 +3542,7 @@ msgstr "آرگومان‌های خط فرمان" #: lutris/runners/dosbox.py:48 msgid "Command line arguments used when launching DOSBox" -msgstr "آرگومان‌های خط فرمان بکارگرفته شده هنگام راه‌اندازی DOSBox" +msgstr "آرگومان‌های خط فرمان استفاده شده هنگام راه‌اندازی DOSBox" #: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 #: lutris/runners/linux.py:39 lutris/runners/wine.py:223 @@ -3610,27 +3556,27 @@ msgid "" "By default, Lutris uses the directory of the executable." msgstr "" "مکانی که بازی از آن اجرا می‌شود.\n" -"به طور پیش‌گزیده، لوتریس مسیر پرونده اجرایی را بکار می‌گیرد." +"به طور پیش‌گزیده، لوتریس مسیر پرونده اجرایی را استفاده میکند." -#: lutris/runners/dosbox.py:68 +#: lutris/runners/dosbox.py:66 msgid "Open game in fullscreen" msgstr "باز کردن بازی در حالت تمام صفحه" -#: lutris/runners/dosbox.py:71 +#: lutris/runners/dosbox.py:69 msgid "Tells DOSBox to launch the game in fullscreen." msgstr "به DOSBox می‌گوید که بازی را در حالت تمام صفحه راه‌اندازی کند." -#: lutris/runners/dosbox.py:75 +#: lutris/runners/dosbox.py:73 msgid "Exit DOSBox with the game" msgstr "خروج از DOSBox با بازی" -#: lutris/runners/dosbox.py:78 +#: lutris/runners/dosbox.py:76 msgid "Shut down DOSBox when the game is quit." msgstr "DOSBox زمانی که بازی بسته می‌شود خاموش شود." #: lutris/runners/duckstation.py:13 msgid "DuckStation" -msgstr "داک‌استیشن" +msgstr "DuckStation" #: lutris/runners/duckstation.py:14 msgid "PlayStation 1 Emulator" @@ -3654,7 +3600,7 @@ msgstr "از فعال شدن حالت تمام صفحه جلوگیری می‌ک #: lutris/runners/duckstation.py:51 msgid "Batch Mode" -msgstr "حالت دسته‌ای" +msgstr "حالت چندتایی" #: lutris/runners/duckstation.py:52 lutris/runners/duckstation.py:61 #: lutris/runners/duckstation.py:69 @@ -3663,7 +3609,7 @@ msgstr "راه‌اندازی" #: lutris/runners/duckstation.py:53 msgid "Enables batch mode (exits after powering off)." -msgstr "حالت دسته‌ای را فعال می‌کند (پس از خاموش شدن خارج می‌شود)." +msgstr "حالت چندتایی را فعال می‌کند (پس از خاموش شدن خارج می‌شود)." #: lutris/runners/duckstation.py:60 msgid "Force Fastboot" @@ -3683,20 +3629,20 @@ msgstr "اجبار به راه‌اندازی کند." #: lutris/runners/duckstation.py:76 msgid "No Controllers" -msgstr "بدون دسته‌بازی" +msgstr "بدون دسته بازی" #: lutris/runners/duckstation.py:77 lutris/runners/o2em.py:64 #: lutris/runners/o2em.py:72 msgid "Controllers" -msgstr "دسته‌بازی‌ها" +msgstr "دسته‌‌های بازی" #: lutris/runners/duckstation.py:79 msgid "" "Prevents the emulator from polling for controllers. Try this option if " "you're having difficulties starting the emulator." msgstr "" -"از بررسی دسته‌بازی‌ها توسط شبیه‌ساز جلوگیری می‌کند. اگر در راه‌اندازی شبیه‌ساز" -"مشکل دارید، این گزینه را امتحان کنید." +"از بررسی دسته‌های بازی توسط شبیه‌ساز جلوگیری می‌کند. اگر در راه‌اندازی " +"شبیه‌سازمشکل دارید، این گزینه را امتحان کنید." #: lutris/runners/duckstation.py:87 msgid "Custom configuration file" @@ -3712,7 +3658,7 @@ msgstr "" #: lutris/runners/easyrpg.py:12 msgid "EasyRPG Player" -msgstr "پخش‌کننده EasyRPG" +msgstr "EasyRPG Player" #: lutris/runners/easyrpg.py:13 msgid "Runs RPG Maker 2000/2003 games" @@ -3723,7 +3669,7 @@ msgstr "بازی‌های RPG Maker 2000/2003 را اجرا می‌کند" #: lutris/runners/scummvm.py:56 lutris/runners/steam.py:31 #: lutris/runners/zdoom.py:15 msgid "Linux" -msgstr "لینوکس" +msgstr "Linux" #: lutris/runners/easyrpg.py:25 msgid "Select the directory of the game. (required)" @@ -3738,113 +3684,113 @@ msgid "" "Instead of auto detecting the encoding or using the one in RPG_RT.ini, the " "specified encoding is used." msgstr "" -"به جای تشخیص خودکار کدگذاری یا بکارگرفتن کدگذاری موجود در RPG_RT.ini، " -"کدگذاری مشخص شده بکارگرفته می‌شود." +"به جای تشخیص خودکار کدگذاری یا استفاده از کدگذاری موجود در RPG_RT.ini، " +"کدگذاری مشخص شده استفاده می‌شود." -#: lutris/runners/easyrpg.py:37 lutris/runners/easyrpg.py:62 -#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 -#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:186 +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 +#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 #: lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 -#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:245 -#: lutris/runners/wine.py:545 lutris/sysoptions.py:50 +#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:243 +#: lutris/runners/wine.py:538 lutris/sysoptions.py:50 msgid "Auto" msgstr "خودکار" -#: lutris/runners/easyrpg.py:38 +#: lutris/runners/easyrpg.py:37 msgid "Auto (ignore RPG_RT.ini)" msgstr "خودکار (N/RPG_RT.ini را نادیده بگیرید)" -#: lutris/runners/easyrpg.py:39 +#: lutris/runners/easyrpg.py:38 msgid "Western European" msgstr "اروپای غربی" -#: lutris/runners/easyrpg.py:40 +#: lutris/runners/easyrpg.py:39 msgid "Central/Eastern European" msgstr "اروپای کانونی/شرقی" -#: lutris/runners/easyrpg.py:41 lutris/runners/redream.py:50 +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 #: lutris/sysoptions.py:39 msgid "Japanese" msgstr "ژاپنی" -#: lutris/runners/easyrpg.py:42 +#: lutris/runners/easyrpg.py:41 msgid "Cyrillic" msgstr "سیریلیک" -#: lutris/runners/easyrpg.py:43 lutris/sysoptions.py:40 +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 msgid "Korean" msgstr "کره‌ای" -#: lutris/runners/easyrpg.py:44 +#: lutris/runners/easyrpg.py:43 msgid "Chinese (Simplified)" msgstr "چینی (ساده‌شده)" -#: lutris/runners/easyrpg.py:45 +#: lutris/runners/easyrpg.py:44 msgid "Chinese (Traditional)" msgstr "چینی (سنتی)" -#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:37 +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 msgid "Greek" msgstr "یونانی" -#: lutris/runners/easyrpg.py:47 lutris/sysoptions.py:45 +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 msgid "Turkish" msgstr "ترکی" -#: lutris/runners/easyrpg.py:48 +#: lutris/runners/easyrpg.py:47 msgid "Hebrew" msgstr "عبری" -#: lutris/runners/easyrpg.py:49 +#: lutris/runners/easyrpg.py:48 msgid "Arabic" msgstr "عربی" -#: lutris/runners/easyrpg.py:50 +#: lutris/runners/easyrpg.py:49 msgid "Baltic" msgstr "بالتیک" -#: lutris/runners/easyrpg.py:51 +#: lutris/runners/easyrpg.py:50 msgid "Thai" msgstr "تایلندی" -#: lutris/runners/easyrpg.py:59 lutris/runners/easyrpg.py:212 -#: lutris/runners/easyrpg.py:232 lutris/runners/easyrpg.py:250 +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 msgid "Engine" msgstr "موتور" -#: lutris/runners/easyrpg.py:60 +#: lutris/runners/easyrpg.py:59 msgid "Disable auto detection of the simulated engine." msgstr "تشخیص خودکار موتور شبیه‌سازی شده را غیرفعال کنید." -#: lutris/runners/easyrpg.py:63 +#: lutris/runners/easyrpg.py:62 msgid "RPG Maker 2000 engine (v1.00 - v1.10)" msgstr "موتور RPG Maker 2000 (نگارش ۱.۰۰ - ۱.۱۰)" -#: lutris/runners/easyrpg.py:64 +#: lutris/runners/easyrpg.py:63 msgid "RPG Maker 2000 engine (v1.50 - v1.51)" msgstr "موتور RPG Maker 2000 (نگارش ۱.۵۰ - ۱.۵۱)" -#: lutris/runners/easyrpg.py:65 +#: lutris/runners/easyrpg.py:64 msgid "RPG Maker 2000 (English release) engine" msgstr "موتور RPG Maker 2000 (نگارش انگلیسی)" -#: lutris/runners/easyrpg.py:66 +#: lutris/runners/easyrpg.py:65 msgid "RPG Maker 2003 engine (v1.00 - v1.04)" msgstr "موتور RPG Maker 2003 (نگارش ۱.۰۰ - ۱.۰۴)" -#: lutris/runners/easyrpg.py:67 +#: lutris/runners/easyrpg.py:66 msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" msgstr "موتور RPG Maker 2003 (نگارش ۱.۰۵ - ۱.۰۹a)" -#: lutris/runners/easyrpg.py:68 +#: lutris/runners/easyrpg.py:67 msgid "RPG Maker 2003 (English release) engine" msgstr "موتور RPG Maker 2003 (نگارش انگلیسی)" -#: lutris/runners/easyrpg.py:76 +#: lutris/runners/easyrpg.py:75 msgid "Patches" msgstr "پچ‌ها" -#: lutris/runners/easyrpg.py:78 +#: lutris/runners/easyrpg.py:77 msgid "" "Instead of autodetecting patches used by this game, force emulation of " "certain patches.\n" @@ -3858,8 +3804,7 @@ msgid "" "\n" "You can provide multiple patches or use 'none' to disable all engine patches." msgstr "" -"به جای تشخیص خودکار پچ‌های بکارگرفته شده توسط این بازی، شبیه‌سازی برخی پچ‌ها ر" -"ا " +"به جای تشخیص خودکار پچ‌های استفاده شده توسط این بازی، شبیه‌سازی برخی پچ‌ها را " "اجباری کنید.\n" "\n" "پچ‌های موجود:\n" @@ -3869,22 +3814,22 @@ msgstr "" "cmds: پشتیبانی از همه دستورات رویداد RPG Maker 2003 در هر نگارش‌ای از " "موتور\n" "\n" -"شما می‌توانید چندین پچ بدهید یا 'none' را برای غیرفعال کردن همه پچ‌های موتور " -"بکار بگیرید." +"شما می‌توانید چندین پچ بدهید یا «none» را برای غیرفعال کردن همه پچ‌های موتور " +"استفاده کنید." -#: lutris/runners/easyrpg.py:93 lutris/runners/scummvm.py:276 +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 msgid "Language" msgstr "زبان" -#: lutris/runners/easyrpg.py:94 +#: lutris/runners/easyrpg.py:93 msgid "Load the game translation in the language/LANG directory." msgstr "بارگذاری ترجمه بازی در مسیر language/LANG." -#: lutris/runners/easyrpg.py:99 lutris/runners/zdoom.py:46 +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 msgid "Save path" msgstr "مسیر ذخیره" -#: lutris/runners/easyrpg.py:102 +#: lutris/runners/easyrpg.py:101 msgid "" "Instead of storing save files in the game directory they are stored in the " "specified path. The directory must exist." @@ -3892,19 +3837,19 @@ msgstr "" "به جای ذخیره پرونده‌های ذخیره در مسیر بازی، آن‌ها در مسیر مشخص شده ذخیره " "می‌شوند. مسیر باید وجود داشته باشد." -#: lutris/runners/easyrpg.py:109 +#: lutris/runners/easyrpg.py:108 msgid "New game" msgstr "بازی جدید" -#: lutris/runners/easyrpg.py:110 +#: lutris/runners/easyrpg.py:109 msgid "Skip the title scene and start a new game directly." msgstr "رد کردن صحنه عنوان را و شروع مستقیم یک بازی جدید." -#: lutris/runners/easyrpg.py:116 +#: lutris/runners/easyrpg.py:115 msgid "Load game ID" msgstr "بارگذاری شناسه بازی" -#: lutris/runners/easyrpg.py:117 +#: lutris/runners/easyrpg.py:116 msgid "" "Skip the title scene and load SaveXX.lsd.\n" "Set to 0 to disable." @@ -3912,19 +3857,19 @@ msgstr "" "صحنه عنوان را رد کرده و SaveXX.lsd را بارگذاری کنید.\n" "برای غیرفعال کردن، مقدار را به ۰ تنظیم کنید." -#: lutris/runners/easyrpg.py:126 +#: lutris/runners/easyrpg.py:125 msgid "Record input" msgstr "ضبط ورودی" -#: lutris/runners/easyrpg.py:127 +#: lutris/runners/easyrpg.py:126 msgid "Records all button input to the specified log file." msgstr "همه ورودی‌های دکمه را در پرونده گزارش مشخص شده ضبط می‌کند." -#: lutris/runners/easyrpg.py:133 +#: lutris/runners/easyrpg.py:132 msgid "Replay input" msgstr "بازپخش ورودی" -#: lutris/runners/easyrpg.py:135 +#: lutris/runners/easyrpg.py:134 msgid "" "Replays button input from the specified log file, as generated by 'Record " "input'.\n" @@ -3932,56 +3877,55 @@ msgid "" "it was when the log was recorded, this should reproduce an identical run to " "the one recorded." msgstr "" -"ورودی دکمه را از پرونده گزارش مشخص شده که توسط 'ضبط ورودی' تولید شده است، " +"ورودی دکمه را از پرونده گزارش مشخص شده که توسط «ضبط ورودی» تولید شده است، " "پخش می‌کند.\n" "اگر بذر RNG و وضعیت مسیر پرونده ذخیره نیز همانند زمانی که گزارش ضبط شده است، " "باشد، این باید یک اجرای مشابه با آنچه ضبط شده است را تولید کند." -#: lutris/runners/easyrpg.py:144 lutris/runners/easyrpg.py:153 -#: lutris/runners/easyrpg.py:162 lutris/runners/easyrpg.py:177 -#: lutris/runners/easyrpg.py:189 lutris/runners/easyrpg.py:201 +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 +#: lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 +#: lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 msgid "Debug" msgstr "اشکال‌زدایی" -#: lutris/runners/easyrpg.py:145 +#: lutris/runners/easyrpg.py:144 msgid "Test play" msgstr "بازی آزمایشی" -#: lutris/runners/easyrpg.py:146 +#: lutris/runners/easyrpg.py:145 msgid "Enable TestPlay (debug) mode." msgstr "فعال‌سازی حالت TestPlay (اشکال‌زدایی)" -#: lutris/runners/easyrpg.py:154 +#: lutris/runners/easyrpg.py:153 msgid "Hide title" msgstr "پنهان کردن عنوان" -#: lutris/runners/easyrpg.py:155 +#: lutris/runners/easyrpg.py:154 msgid "Hide the title background image and center the command menu." -msgstr "" -"تصویر پس‌زمینه عنوان را پنهان کرده و گزینگان فرمان را در مرکز قرار دهید." +msgstr "تصویر پس‌زمینه عنوان را پنهان کرده و منو فرمان را در مرکز قرار دهید." -#: lutris/runners/easyrpg.py:163 +#: lutris/runners/easyrpg.py:162 msgid "Start map ID" msgstr "شناسه نقشه شروع" -#: lutris/runners/easyrpg.py:165 +#: lutris/runners/easyrpg.py:164 msgid "" "Overwrite the map used for new games and use MapXXXX.lmu instead.\n" "Set to 0 to disable.\n" "\n" "Incompatible with 'Load game ID'." msgstr "" -"نقشه‌ای که برای بازی‌های جدید بکارگرفته می‌شود را بازنویسی کرده و به جای آن " -"MapXXXX.lmu را بکار بگیرید.\n" +"نقشه‌ای که برای بازی‌های جدید استفاده می‌شود را بازنویسی کرده و به جای آن " +"MapXXXX.lmu را استفاده کنید.\n" "برای غیرفعال کردن، مقدار را به ۰ تنظیم کنید.\n" "\n" -"با 'بارگذاری شناسه بازی' ناسازگار است." +"با «بارگذاری شناسه بازی» ناسازگار است." -#: lutris/runners/easyrpg.py:178 +#: lutris/runners/easyrpg.py:177 msgid "Start position" msgstr "موقعیت شروع" -#: lutris/runners/easyrpg.py:180 +#: lutris/runners/easyrpg.py:179 msgid "" "Overwrite the party start position and move the party to the specified " "position.\n" @@ -3992,13 +3936,13 @@ msgstr "" "موقعیت شروع گروه را بازنویسی کرده و گروه را به موقعیت مشخص شده جابه‌جا کنید.\n" "دو عدد را با یک فاصله نشان دهید.\n" "\n" -"با 'بارگذاری شناسه بازی' ناسازگار است." +"با «بارگذاری شناسه بازی» ناسازگار است." -#: lutris/runners/easyrpg.py:190 +#: lutris/runners/easyrpg.py:189 msgid "Start party" msgstr "گروه شروع" -#: lutris/runners/easyrpg.py:192 +#: lutris/runners/easyrpg.py:191 msgid "" "Overwrite the starting party members with the actors with the specified " "IDs.\n" @@ -4009,21 +3953,21 @@ msgstr "" "اعضای گروه شروع را با بازیگران دارای شناسه‌های مشخص شده بازنویسی کنید.\n" "یک تا چهار عدد را با فاصله نشان دهید.\n" "\n" -"با 'بارگذاری شناسه بازی' ناسازگار است." +"با «بارگذاری شناسه بازی» ناسازگار است." -#: lutris/runners/easyrpg.py:202 +#: lutris/runners/easyrpg.py:201 msgid "Battle test" msgstr "آزمون نبرد" -#: lutris/runners/easyrpg.py:203 +#: lutris/runners/easyrpg.py:202 msgid "Start a battle test with the specified monster party." msgstr "آغاز آزمون نبرد را با گروه هیولاهای مشخص شده." -#: lutris/runners/easyrpg.py:213 +#: lutris/runners/easyrpg.py:212 msgid "AutoBattle algorithm" msgstr "الگوریتم AutoBattle" -#: lutris/runners/easyrpg.py:215 +#: lutris/runners/easyrpg.py:214 msgid "" "Which AutoBattle algorithm to use.\n" "\n" @@ -4032,29 +3976,29 @@ msgid "" "RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" "ATTACK: Like RPG_RT+ but only physical attacks, no skills." msgstr "" -"کدام الگوریتم AutoBattle باید بکارگرفته شود.\n" +"کدام الگوریتم AutoBattle باید استفاده شود.\n" "\n" "RPG_RT: الگوریتم پیش‌گزیده سازگار با RPG_RT، شامل باگ‌های RPG_RT.\n" "RPG_RT+: الگوریتم پیش‌گزیده سازگار با RPG_RT، با اصلاحات باگ.\n" "ATTACK: مانند RPG_RT+ ولی تنها حملات فیزیکی، بدون مهارت‌ها." -#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 msgid "RPG_RT" msgstr "RPG_RT" -#: lutris/runners/easyrpg.py:223 lutris/runners/easyrpg.py:242 +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 msgid "RPG_RT+" msgstr "RPG_RT+" -#: lutris/runners/easyrpg.py:224 +#: lutris/runners/easyrpg.py:223 msgid "ATTACK" msgstr "حمله" -#: lutris/runners/easyrpg.py:233 +#: lutris/runners/easyrpg.py:232 msgid "EnemyAI algorithm" msgstr "الگوریتم هوش دشمن" -#: lutris/runners/easyrpg.py:235 +#: lutris/runners/easyrpg.py:234 msgid "" "Which EnemyAI algorithm to use.\n" "\n" @@ -4062,77 +4006,77 @@ msgid "" "bugs.\n" "RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" msgstr "" -"کدام الگوریتم هوش دشمن را بکار بگیریم.\n" +"کدام الگوریتم هوش دشمن را استفاده کنیم.\n" "\n" "RPG_RT: الگوریتم پیش‌گزیده سازگار با RPG_RT، شامل باگ‌های RPG_RT.\n" "RPG_RT+: الگوریتم پیش‌گزیده سازگار با RPG_RT، با اصلاحات باگ.\n" -#: lutris/runners/easyrpg.py:251 +#: lutris/runners/easyrpg.py:250 msgid "RNG seed" msgstr "بذر RNG" -#: lutris/runners/easyrpg.py:252 +#: lutris/runners/easyrpg.py:251 msgid "" "Seeds the random number generator.\n" "Use -1 to disable." msgstr "" "بذر تولیدکننده عدد تصادفی را تعیین می‌کند.\n" -"برای غیرفعال کردن، -1 را بکار بگیرید." - -#: lutris/runners/easyrpg.py:260 lutris/runners/easyrpg.py:268 -#: lutris/runners/easyrpg.py:278 lutris/runners/easyrpg.py:289 -#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:300 -#: lutris/runners/scummvm.py:308 lutris/runners/scummvm.py:315 -#: lutris/runners/scummvm.py:337 lutris/runners/scummvm.py:350 -#: lutris/runners/scummvm.py:372 lutris/runners/scummvm.py:380 -#: lutris/runners/scummvm.py:388 lutris/runners/scummvm.py:396 -#: lutris/runners/scummvm.py:403 lutris/runners/scummvm.py:411 -#: lutris/runners/scummvm.py:420 lutris/runners/scummvm.py:432 -#: lutris/sysoptions.py:346 +"برای غیرفعال کردن، -1 را استفاده کنید." + +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 +#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 +#: lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 +#: lutris/runners/scummvm.py:336 lutris/runners/scummvm.py:349 +#: lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 +#: lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 +#: lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 msgid "Audio" msgstr "صدا" -#: lutris/runners/easyrpg.py:261 +#: lutris/runners/easyrpg.py:260 msgid "Enable audio" msgstr "فعال‌سازی صدا" -#: lutris/runners/easyrpg.py:262 +#: lutris/runners/easyrpg.py:261 msgid "Switch off to disable audio." msgstr "برای غیرفعال کردن صدا، خاموش کنید." -#: lutris/runners/easyrpg.py:269 +#: lutris/runners/easyrpg.py:268 msgid "BGM volume" msgstr "بلندی صدای موسیقی پس‌زمینه" -#: lutris/runners/easyrpg.py:270 +#: lutris/runners/easyrpg.py:269 msgid "Volume of the background music." msgstr "بلندی صدای موسیقی پس‌زمینه." -#: lutris/runners/easyrpg.py:279 lutris/runners/scummvm.py:381 +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 msgid "SFX volume" msgstr "بلندی صدای افکت‌ها" -#: lutris/runners/easyrpg.py:280 +#: lutris/runners/easyrpg.py:279 msgid "Volume of the sound effects." msgstr "بلندی صدای افکت‌ها." -#: lutris/runners/easyrpg.py:290 lutris/runners/scummvm.py:405 +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 msgid "Soundfont" msgstr "صوت‌فونت" -#: lutris/runners/easyrpg.py:291 +#: lutris/runners/easyrpg.py:290 msgid "Soundfont in sf2 format to use when playing MIDI files." -msgstr "صوت‌فونت در قالب sf2 که هنگام پخش پرونده‌های MIDI بکارگرفته می‌شود." +msgstr "صوت‌فونت در قالب sf2 که هنگام پخش پرونده‌های MIDI استفاده می‌شود." -#: lutris/runners/easyrpg.py:298 +#: lutris/runners/easyrpg.py:297 msgid "Start in fullscreen mode." msgstr "شروع در حالت تمام‌صفحه." -#: lutris/runners/easyrpg.py:306 +#: lutris/runners/easyrpg.py:305 msgid "Game resolution" msgstr "وضوح بازی" -#: lutris/runners/easyrpg.py:308 +#: lutris/runners/easyrpg.py:307 msgid "" "Force a different game resolution.\n" "\n" @@ -4142,23 +4086,23 @@ msgstr "" "\n" "این آزمایشی است و می‌تواند باعث اشکالات یا خراب شدن بازی‌ها شود!" -#: lutris/runners/easyrpg.py:311 +#: lutris/runners/easyrpg.py:310 msgid "320×240 (4:3, Original)" msgstr "320×240 (4:3، اصلی)" -#: lutris/runners/easyrpg.py:312 +#: lutris/runners/easyrpg.py:311 msgid "416×240 (16:9, Widescreen)" msgstr "416×240 (16:9، عریض)" -#: lutris/runners/easyrpg.py:313 +#: lutris/runners/easyrpg.py:312 msgid "560×240 (21:9, Ultrawide)" msgstr "560×240 (21:9، فوق عریض)" -#: lutris/runners/easyrpg.py:321 +#: lutris/runners/easyrpg.py:320 msgid "Scaling" msgstr "مقیاس‌بندی" -#: lutris/runners/easyrpg.py:323 +#: lutris/runners/easyrpg.py:322 msgid "" "How the video output is scaled.\n" "\n" @@ -4173,43 +4117,43 @@ msgstr "" "صحیح: مقیاس به مضرب‌های وضوح بازی\n" "دوخطی: مانند نزدیک‌ترین، ولی خروجی برای جلوگیری از آثار، تار می‌شود\n" -#: lutris/runners/easyrpg.py:329 +#: lutris/runners/easyrpg.py:328 msgid "Nearest" msgstr "نزدیک‌ترین" -#: lutris/runners/easyrpg.py:330 +#: lutris/runners/easyrpg.py:329 msgid "Integer" msgstr "صحیح" -#: lutris/runners/easyrpg.py:331 +#: lutris/runners/easyrpg.py:330 msgid "Bilinear" msgstr "دوخطی" -#: lutris/runners/easyrpg.py:339 lutris/runners/redream.py:30 +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 #: lutris/runners/scummvm.py:229 msgid "Stretch" msgstr "کشیدن" -#: lutris/runners/easyrpg.py:340 +#: lutris/runners/easyrpg.py:339 msgid "" "Ignore the aspect ratio and stretch video output to the entire width of the " "screen." msgstr "" "نسبت ابعاد را نادیده بگیرید و خروجی ویدیو را در کل عرض صفحه نمایش بکشید." -#: lutris/runners/easyrpg.py:347 +#: lutris/runners/easyrpg.py:346 msgid "Enable VSync" msgstr "فعال‌سازی VSync" -#: lutris/runners/easyrpg.py:348 +#: lutris/runners/easyrpg.py:347 msgid "Switch off to disable VSync and use the FPS limit." -msgstr "برای غیرفعال کردن VSync و بکارگیری محدودیت FPS، خاموش کنید" +msgstr "برای غیرفعال کردن VSync و استفاده از محدودیت FPS، خاموش کنید" -#: lutris/runners/easyrpg.py:355 +#: lutris/runners/easyrpg.py:354 msgid "FPS limit" msgstr "محدودیت FPS" -#: lutris/runners/easyrpg.py:357 +#: lutris/runners/easyrpg.py:356 msgid "" "Set a custom frames per second limit.\n" "If unspecified, the default is 60 FPS.\n" @@ -4219,66 +4163,66 @@ msgstr "" "اگر مشخص نشده باشد، پیش‌گزیده 60 FPS است.\n" "برای غیرفعال کردن محدودکننده فریم، به 0 تنظیم کنید." -#: lutris/runners/easyrpg.py:369 lutris/runners/wine.py:569 +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:562 msgid "Show FPS" msgstr "نمایش FPS" -#: lutris/runners/easyrpg.py:370 +#: lutris/runners/easyrpg.py:369 msgid "Enable frames per second counter." msgstr "فعال‌سازی شمارنده فریم در ثانیه." -#: lutris/runners/easyrpg.py:373 +#: lutris/runners/easyrpg.py:372 msgid "Fullscreen & title bar" msgstr "تمام‌صفحه و نوار عنوان" -#: lutris/runners/easyrpg.py:374 +#: lutris/runners/easyrpg.py:373 msgid "Fullscreen, title bar & window" msgstr "تمام‌صفحه، نوار عنوان و پنجره" -#: lutris/runners/easyrpg.py:381 lutris/runners/easyrpg.py:389 -#: lutris/runners/easyrpg.py:396 lutris/runners/easyrpg.py:403 +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 msgid "Runtime Package" msgstr "بسته زمان اجرا" -#: lutris/runners/easyrpg.py:382 +#: lutris/runners/easyrpg.py:381 msgid "Enable RTP" msgstr "فعال‌سازی RTP" -#: lutris/runners/easyrpg.py:383 +#: lutris/runners/easyrpg.py:382 msgid "Switch off to disable support for the Runtime Package (RTP)." msgstr "برای غیرفعال کردن پشتیبانی از بسته زمان اجرا (RTP)، خاموش کنید." -#: lutris/runners/easyrpg.py:390 +#: lutris/runners/easyrpg.py:389 msgid "RPG2000 RTP location" msgstr "مکان RTP RPG2000" -#: lutris/runners/easyrpg.py:391 +#: lutris/runners/easyrpg.py:390 msgid "" "Full path to a directory containing an extracted RPG Maker 2000 Run-Time-" "Package (RTP)." msgstr "" "مسیر کامل به مسیر حاوی بسته زمان اجرای RPG Maker 2000 (RTP) استخراج‌شده." -#: lutris/runners/easyrpg.py:397 +#: lutris/runners/easyrpg.py:396 msgid "RPG2003 RTP location" msgstr "مکان RTP RPG2003" -#: lutris/runners/easyrpg.py:398 +#: lutris/runners/easyrpg.py:397 msgid "" "Full path to a directory containing an extracted RPG Maker 2003 Run-Time-" "Package (RTP)." msgstr "" "مسیر کامل به مسیر حاوی بسته زمان اجرای RPG Maker 2003 (RTP) استخراج‌شده." -#: lutris/runners/easyrpg.py:404 +#: lutris/runners/easyrpg.py:403 msgid "Fallback RTP location" msgstr "مکان RTP پشتیبان" -#: lutris/runners/easyrpg.py:405 +#: lutris/runners/easyrpg.py:404 msgid "Full path to a directory containing a combined RTP." msgstr "مسیر کامل به مسیر حاوی RTP به هم پیوسته." -#: lutris/runners/easyrpg.py:518 +#: lutris/runners/easyrpg.py:517 msgid "No game directory provided" msgstr "هیچ مسیر بازی شناسانده نشده است" @@ -4288,7 +4232,7 @@ msgstr "اجراکننده برنامه‌های فلت‌پک" #: lutris/runners/flatpak.py:24 msgid "Flatpak" -msgstr "فلت‌پک" +msgstr "Flatpak" #: lutris/runners/flatpak.py:33 lutris/runners/steam.py:37 msgid "Application ID" @@ -4316,7 +4260,7 @@ msgstr "شاخه" #: lutris/runners/flatpak.py:45 msgid "The branch to use." -msgstr "شاخه‌ای که باید بکارگرفته شود." +msgstr "شاخه‌ای که باید استفاده شود." #: lutris/runners/flatpak.py:49 msgid "Install type" @@ -4351,7 +4295,7 @@ msgstr "" "مسیر که باید دستور در آن اجرا شود. توجه داشته باشید که این باید یک مسیر درون " "سندباکس باشد." -#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:413 +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 msgid "Environment variables" msgstr "متغیرهای محیطی" @@ -4380,11 +4324,11 @@ msgid "No application specified." msgstr "هیچ برنامه‌ای مشخص نشده است." #: lutris/runners/flatpak.py:144 -#, fuzzy msgid "" "Application ID is not specified in correct format.Must be something like: " "tld.domain.app" -msgstr "شناسه برنامه به درستی مشخص نشده است. باید چیزی باشد شبیه به: " +msgstr "" +"شناسه برنامه به درستی مشخص نشده است. باید چیزی شبیه این باشد: tld.domain.app" #: lutris/runners/flatpak.py:148 msgid "Application ID field must not contain options or arguments." @@ -4444,7 +4388,7 @@ msgstr "68010" #: lutris/runners/fsuae.py:111 msgid "68020 with 24-bit addressing" -msgstr "68020 با آدرس‌دهی 24 بیتی" +msgstr "68020 با نشانی‌دهی 24 بیتی" #: lutris/runners/fsuae.py:112 msgid "68020" @@ -4573,7 +4517,7 @@ msgstr "" "رایج‌ترین‌ها هستند. ADZ (ADF فشرده) و ADFهای موجود در پرونده‌های zip نیز " "پشتیبانی می‌شوند.\n" "پرونده‌هایی که با .hdf پایان می‌یابند به عنوان درایوهای سخت نصب خواهند شد و " -"ISOها می‌توانند برای مدل‌های آمیگا CD32 و CDTV بکارگرفته شوند." +"ISOها می‌توانند برای مدل‌های آمیگا CD32 و CDTV استفاده شوند." #: lutris/runners/fsuae.py:203 lutris/runners/fsuae.py:211 #: lutris/runners/fsuae.py:325 lutris/runners/fsuae.py:335 @@ -4594,7 +4538,7 @@ msgstr "تصویر CD-ROM" #: lutris/runners/fsuae.py:214 msgid "CD-ROM image to use on non CD32/CDTV models" -msgstr "تصویر CD-ROM برای بکارگیری در مدل‌های غیر CD32/CDTV" +msgstr "تصویر CD-ROM برای استفاده در مدل‌های غیر CD32/CDTV" #: lutris/runners/fsuae.py:221 msgid "Amiga model" @@ -4610,7 +4554,7 @@ msgstr "Kickstart" #: lutris/runners/fsuae.py:230 msgid "Kickstart ROMs location" -msgstr "محل ROMهای Kickstart" +msgstr "محل رام‌های Kickstart" #: lutris/runners/fsuae.py:233 msgid "" @@ -4618,10 +4562,9 @@ msgid "" "documentation to find how to acquire them. Without these, FS-UAE uses a " "bundled replacement ROM which is less compatible with Amiga software." msgstr "" -"پوشه‌ای را که شامل ROMهای Kickstart اصلی آمیگا است انتخاب کنید. به مستندات FS-" -"UAE مراجعه کنید تا نحوه به‌دست آوردن آن‌ها را پیدا کنید. بدون این‌ها، FS-UAE ی" -"ک " -"ROM جایگزین بسته‌بندی شده را بکار میگیرد که با نرم‌افزار آمیگا سازگاری کمتری " +"پوشه‌ای را که شامل رام‌های Kickstart اصلی آمیگا است انتخاب کنید. به مستندات FS-" +"UAE مراجعه کنید تا نحوه به‌دست آوردن آن‌ها را پیدا کنید. بدون این‌ها، FS-UAE یک " +"رام جایگزین بسته‌بندی شده را استفاده میکند که با نرم‌افزار آمیگا سازگاری کمتری " "دارد." #: lutris/runners/fsuae.py:243 @@ -4657,10 +4600,9 @@ msgid "" "Use this option to enable a graphics card. This option is none by default, " "in which case only chipset graphics (OCS/ECS/AGA) support is available." msgstr "" -"این گزینه را برای فعال‌سازی کارت گرافیک بکار بگیرید. این گزینه به‌طور پیش‌گزید" -"ه " -"خالی است، که در این صورت تنها پشتیبانی از گرافیک‌های چیپست (OCS/ECS/AGA) در " -"دسترس است." +"این گزینه را برای فعال‌سازی کارت گرافیک استفاده کنید. این گزینه به‌طور " +"پیش‌گزیده خالی است، که در این صورت تنها پشتیبانی از گرافیک‌های چیپست (OCS/ECS/" +"AGA) در دسترس است." #: lutris/runners/fsuae.py:278 msgid "Graphics Card RAM" @@ -4674,8 +4616,8 @@ msgstr "" "مقدار حافظه گرافیکی روی کارت گرافیک را نادیده بگیرید. گزینه 0 MB واقعاً معتبر " "نیست، ولی به دلایل رابط کاربری وجود دارد." -#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:320 -#: lutris/sysoptions.py:328 lutris/sysoptions.py:337 +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 +#: lutris/sysoptions.py:324 lutris/sysoptions.py:333 msgid "CPU" msgstr "CPU" @@ -4685,9 +4627,9 @@ msgid "" "models imply a default CPU model, so you only need to use this option if you " "want to use another CPU." msgstr "" -"این گزینه را برای نادیده گرفتن مدل CPU در آمیگای شبیه‌سازی شده بکارگرفته " -"کنید. همه مدل‌های آمیگا به طور پیش‌گزیده یک مدل CPU را فرض می‌کند، بنابراین " -"تنها در صورتی که می‌خواهید CPU دیگری را بکار بگیرید، به این گزینه نیاز دارید." +"این گزینه را برای نادیده گرفتن مدل CPU در آمیگای شبیه‌سازی شده استفاده کنید. " +"همه مدل‌های آمیگا به طور پیش‌گزیده یک مدل CPU را فرض می‌کند، بنابراین تنها در " +"صورتی که می‌خواهید CPU دیگری را استفاده کنید، به این گزینه نیاز دارید." #: lutris/runners/fsuae.py:303 msgid "Fast Memory" @@ -4708,8 +4650,9 @@ msgid "" "processor with 32-bit address bus, (use for example the A1200/020 model)." msgstr "" "مقدار حافظه سریع Zorro III را که به KB مشخص شده است نادیده بگیرید. باید یک " -"مضرب از 1024 باشد. مقدار پیش‌گزیده به [amiga_model] بستگی دارد. به پردازنده‌ای" -"با باس آدرس 32 بیتی نیاز دارد (برای مثال مدل A1200/020 را بکار بگیرید)." +"مضرب از 1024 باشد. مقدار پیش‌گزیده به [amiga_model] بستگی دارد. به " +"پردازنده‌ایبا باس نشانی 32 بیتی نیاز دارد (برای مثال مدل A1200/020 را استفاده " +"کنید)." #: lutris/runners/fsuae.py:326 msgid "Floppy Drive Volume" @@ -4736,7 +4679,7 @@ msgid "" msgstr "" "سرعت درایوهای فلاپی شبیه‌سازی شده را به درصد تنظیم کنید. به عنوان مثال، " "می‌توانید 800 را مشخص کنید تا افزایش سرعت 8 برابری داشته باشید. برای مشخص " -"کردن حالت توربو 0 را بکار بگیرید. حالت توربو به این معنی است که همه کنش " +"کردن حالت توربو 0 را استفاده کنید. حالت توربو به این معنی است که همه کنش " "فلاپی بلافاصله کامل می‌شود. مقدار پیش‌گزیده برای بیشتر مدل‌ها 100 است." #: lutris/runners/fsuae.py:350 @@ -4752,8 +4695,8 @@ msgid "" "Automatically uses Feral GameMode daemon if available. Set to true to " "disable the feature." msgstr "" -"به‌طور خودکار دیمن حالت بازی Feral در صورت در دسترس بودن بکارگرفته می‌شود. " -"برای غیرفعال کردن این ویژگی، آن را به true تنظیم کنید." +"به‌طور خودکار دیمن حالت بازی Feral در صورت در دسترس بودن استفاده می‌شود. برای " +"غیرفعال کردن این ویژگی، آن را به true تنظیم کنید." #: lutris/runners/fsuae.py:365 msgid "CPU governor warning" @@ -4773,16 +4716,15 @@ msgstr "کتابخانه bsdsocket UAE" #: lutris/runners/hatari.py:14 msgid "Hatari" -msgstr "هاتاری" +msgstr "Hatari" #: lutris/runners/hatari.py:15 msgid "Atari ST computers emulator" -msgstr "شبیه‌ساز کامپیوترهای آتاری ST" +msgstr "شبیه‌ساز رایانه‌های آتاری ST" #: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:212 -#, fuzzy msgid "Atari ST" -msgstr "آتاری پیوندس" +msgstr "Atari ST" #: lutris/runners/hatari.py:26 msgid "Floppy Disk A" @@ -4794,8 +4736,8 @@ msgid "" "STX, IPF, RAW and CRT. The last three require the caps library (capslib). " "ZIP is supported, you don't need to uncompress the file." msgstr "" -"هاتاری از تصاویر دیسک فلاپی در این قالب‌ها پشتیبانی می‌کند: ST، DIM، MSA، STX،" -"IPF، RAW و CRT. سه قالب آخر به کتابخانه caps (capslib) نیاز دارند. ZIP " +"هاتاری از تصاویر دیسک فلاپی در این قالب‌ها پشتیبانی می‌کند: ST، DIM، MSA، " +"STX،IPF، RAW و CRT. سه قالب آخر به کتابخانه caps (capslib) نیاز دارند. ZIP " "پشتیبانی می‌شود و نیازی به استخراج پرونده نیست." #: lutris/runners/hatari.py:37 @@ -4818,7 +4760,7 @@ msgstr "جوی استیک" #: lutris/runners/hatari.py:53 msgid "Bios file (TOS)" -msgstr "پرونده BIOS (TOS)" +msgstr "پرونده بایوس (TOS)" #: lutris/runners/hatari.py:55 msgid "" @@ -4849,10 +4791,10 @@ msgid "" "display graphics in fullscreen. But people from the demo scene were able to " "remove them and some games made use of this technique." msgstr "" -"برای برخی بازی‌ها و دموها که شگرد overscan را بکار می‌گیرند مفید است. " -"آتاری ST حاشیه‌هایی در اطراف صفحه نمایش می‌داد زیرا به اندازه کافی قوی نبود تا" -"گرافیک را در تمام صفحه نمایش دهد. ولی افرادی از صحنه دمو توانستند آن‌ها را " -"پاک کنند و برخی بازی‌ها این شگرد را بکار گرفتند." +"برای برخی بازی‌ها و دموها که شگرد overscan را استفاده میکنند مفید است. آتاری " +"ST حاشیه‌هایی در اطراف صفحه نمایش می‌داد زیرا به اندازه کافی قوی نبود تاگرافیک " +"را در تمام صفحه نمایش دهد. ولی افرادی از صحنه دمو توانستند آن‌ها را پاک کنند " +"و برخی بازی‌ها این شگرد را استفاده کرده‌اند." #: lutris/runners/hatari.py:95 msgid "Display status bar" @@ -4880,15 +4822,15 @@ msgstr "جوی استیک 1" #: lutris/runners/hatari.py:126 msgid "Do you want to select an Atari ST BIOS file?" -msgstr "آیا می‌خواهید یک پرونده BIOS آتاری ST انتخاب کنید؟" +msgstr "آیا می‌خواهید یک پرونده بایوس آتاری ST انتخاب کنید؟" #: lutris/runners/hatari.py:127 msgid "Use BIOS file?" -msgstr "پرونده BIOS بکارگرفته شود؟" +msgstr "پرونده بایوس استفاده شود؟" #: lutris/runners/hatari.py:128 msgid "Select a BIOS file" -msgstr "انتخاب یک پرونده BIOS" +msgstr "انتخاب یک پرونده بایوس" #: lutris/runners/jzintv.py:13 msgid "jzIntv" @@ -4908,13 +4850,13 @@ msgid "" "Supported formats: ROM, BIN+CFG, INT, ITV \n" "The file extension must be lower-case." msgstr "" -"داده‌های بازی، که معمولاً به آن تصویر ROM گفته می‌شود. \n" +"داده‌های بازی، که معمولاً به آن تصویر رام گفته می‌شود. \n" "قالب‌های پشتیبانی شده: ROM، BIN+CFG، INT، ITV \n" "پسوند پرونده باید با حروف کوچک باشد." #: lutris/runners/jzintv.py:34 msgid "Bios location" -msgstr "محل BIOS" +msgstr "محل بایوس" #: lutris/runners/jzintv.py:36 msgid "" @@ -4951,15 +4893,21 @@ msgstr "پرونده پیکربندی" msgid "Verbose logging" msgstr "گزارش‌گیری کامل‌تر" -#: lutris/runners/libretro.py:153 +#: lutris/runners/libretro.py:150 msgid "The installer does not specify the libretro 'core' version." -msgstr "نصب‌کننده نگارش 'هسته' libretro را مشخص نمی‌کند." +msgstr "نصب‌کننده نگارش «هسته» libretro را مشخص نمی‌کند." -#: lutris/runners/libretro.py:286 +#: lutris/runners/libretro.py:246 +msgid "" +"The emulator files BIOS location must be configured in the Preferences " +"dialog." +msgstr "مسیر پرونده‌های بایوس شبیه‌ساز باید در تنظیمات تنظیم شود." + +#: lutris/runners/libretro.py:292 msgid "No core has been selected for this game" msgstr "هیچ هسته‌ای برای این بازی انتخاب نشده است" -#: lutris/runners/libretro.py:292 +#: lutris/runners/libretro.py:298 msgid "No game file specified" msgstr "هیچ پرونده‌ای برای بازی مشخص نشده است" @@ -4969,7 +4917,7 @@ msgstr "بازی‌های بومی را اجرا می‌کند" #: lutris/runners/linux.py:27 lutris/runners/wine.py:210 msgid "Executable" -msgstr "قابل اجرا" +msgstr "پرونده اجرایی" #: lutris/runners/linux.py:28 msgid "The game's main executable file" @@ -4977,7 +4925,7 @@ msgstr "پرونده اجرایی اصلی بازی" #: lutris/runners/linux.py:33 lutris/runners/mame.py:126 #: lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 -#: lutris/runners/steam.py:99 lutris/runners/wine.py:216 +#: lutris/runners/steam.py:86 lutris/runners/wine.py:216 #: lutris/runners/zdoom.py:28 msgid "Arguments" msgstr "آرگومان‌ها" @@ -4985,37 +4933,37 @@ msgstr "آرگومان‌ها" #: lutris/runners/linux.py:34 lutris/runners/mame.py:127 #: lutris/runners/scummvm.py:67 msgid "Command line arguments used when launching the game" -msgstr "آرگومان‌های خط فرمان که هنگام راه‌اندازی بازی بکارگرفته می‌شوند" +msgstr "آرگومان‌های خط فرمان که هنگام راه‌اندازی بازی استفاده می‌شوند" -#: lutris/runners/linux.py:49 +#: lutris/runners/linux.py:47 msgid "Preload library" msgstr "کتابخانه پیش‌بارگذاری" -#: lutris/runners/linux.py:51 +#: lutris/runners/linux.py:49 msgid "A library to load before running the game's executable." msgstr "کتابخانه‌ای که پیش از اجرای پرونده اجرایی بازی بارگذاری می‌شود." -#: lutris/runners/linux.py:56 +#: lutris/runners/linux.py:54 msgid "Add directory to LD_LIBRARY_PATH" msgstr "افزودن مسیر به LD_LIBRARY_PATH" -#: lutris/runners/linux.py:59 +#: lutris/runners/linux.py:57 msgid "" "A directory where libraries should be searched for first, before the " "standard set of directories; this is useful when debugging a new library or " "using a nonstandard library for special purposes." msgstr "" "مسیر که باید ابتدا برای جستجوی کتابخانه‌ها بررسی شود، پیش از مجموعه استاندارد " -"مسیر‌ها؛ این برای اشکال‌زدایی یک کتابخانه جدید یا بکارگیری یک کتابخانه غیر " +"مسیر‌ها؛ این برای اشکال‌زدایی یک کتابخانه جدید یا استفاده از یک کتابخانه غیر " "استاندارد برای اهداف ویژه مفید است." -#: lutris/runners/linux.py:141 +#: lutris/runners/linux.py:139 msgid "" "The runner could not find a command or exe to use for this configuration." msgstr "" -"اجراکننده نتوانست یک دستور یا exe برای بکارگیری در این پیکربندی پیدا کند." +"اجراکننده نتوانست یک دستور یا exe برای استفاده در این پیکربندی پیدا کند." -#: lutris/runners/linux.py:164 +#: lutris/runners/linux.py:162 #, python-format msgid "The file %s is not executable" msgstr "پرونده %s قابل اجرا نیست" @@ -5028,7 +4976,7 @@ msgstr "MAME" msgid "Arcade game emulator" msgstr "شبیه‌ساز بازی‌های آرکید" -#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:69 +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 msgid "The emulated machine." msgstr "ماشین شبیه‌سازی شده." @@ -5042,19 +4990,19 @@ msgstr "دیسک فلاپی" #: lutris/runners/mame.py:95 msgid "Floppy drive 1" -msgstr "درایو فلاپی 1" +msgstr "درایو فلاپی ۱" #: lutris/runners/mame.py:96 msgid "Floppy drive 2" -msgstr "درایو فلاپی 2" +msgstr "درایو فلاپی ۲" #: lutris/runners/mame.py:97 msgid "Floppy drive 3" -msgstr "درایو فلاپی 3" +msgstr "درایو فلاپی ۳" #: lutris/runners/mame.py:98 msgid "Floppy drive 4" -msgstr "درایو فلاپی 4" +msgstr "درایو فلاپی ۴" #: lutris/runners/mame.py:99 msgid "Cassette (tape)" @@ -5062,11 +5010,11 @@ msgstr "کاست (نوار)" #: lutris/runners/mame.py:100 msgid "Cassette 1 (tape)" -msgstr "کاست 1 (نوار)" +msgstr "کاست ۱ (نوار)" #: lutris/runners/mame.py:101 msgid "Cassette 2 (tape)" -msgstr "کاست 2 (نوار)" +msgstr "کاست ۲ (نوار)" #: lutris/runners/mame.py:102 msgid "Cartridge" @@ -5074,19 +5022,19 @@ msgstr "کارتریج" #: lutris/runners/mame.py:103 msgid "Cartridge 1" -msgstr "کارتریج 1" +msgstr "کارتریج ۱" #: lutris/runners/mame.py:104 msgid "Cartridge 2" -msgstr "کارتریج 2" +msgstr "کارتریج ۲" #: lutris/runners/mame.py:105 msgid "Cartridge 3" -msgstr "کارتریج 3" +msgstr "کارتریج ۳" #: lutris/runners/mame.py:106 msgid "Cartridge 4" -msgstr "کارتریج 4" +msgstr "کارتریج ۴" #: lutris/runners/mame.py:107 msgid "Snapshot" @@ -5098,11 +5046,11 @@ msgstr "هارد دیسک" #: lutris/runners/mame.py:109 msgid "Hard Disk 1" -msgstr "هارد دیسک 1" +msgstr "هارد دیسک ۱" #: lutris/runners/mame.py:110 msgid "Hard Disk 2" -msgstr "هارد دیسک 2" +msgstr "هارد دیسک ۲" #: lutris/runners/mame.py:111 msgid "CD-ROM" @@ -5144,7 +5092,7 @@ msgstr "نوار پانچ ۲" msgid "Print Out" msgstr "چاپ" -#: lutris/runners/mame.py:138 lutris/runners/mame.py:147 +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 msgid "Autoboot" msgstr "راه‌اندازی خودکار" @@ -5152,7 +5100,7 @@ msgstr "راه‌اندازی خودکار" msgid "Autoboot command" msgstr "دستور راه‌اندازی خودکار" -#: lutris/runners/mame.py:141 +#: lutris/runners/mame.py:140 msgid "" "Autotype this command when the system has started, an enter keypress is " "automatically added." @@ -5160,123 +5108,136 @@ msgstr "" "این دستور را زمانی که سامانه راه‌اندازی شده است به‌طور خودکار تایپ کنید، یک " "فشار کلید Enter به‌طور خودکار افزوده می‌شود." -#: lutris/runners/mame.py:148 +#: lutris/runners/mame.py:146 msgid "Delay before entering autoboot command" msgstr "تاخیر پیش از وارد کردن دستور راه‌اندازی خودکار" -#: lutris/runners/mame.py:158 +#: lutris/runners/mame.py:156 msgid "ROM/BIOS path" -msgstr "مسیر ROM/BIOS" +msgstr "مسیر رام/بایوس" -#: lutris/runners/mame.py:160 +#: lutris/runners/mame.py:158 msgid "" "Choose the folder containing ROMs and BIOS files.\n" "These files contain code from the original hardware necessary to the " "emulation." msgstr "" -"پوشه‌ای را که شامل پرونده‌های ROM و BIOS است انتخاب کنید.\n" +"پوشه‌ای را که شامل پرونده‌های رام و بایوس است انتخاب کنید.\n" "این پرونده‌ها شامل کدهایی از سخت‌افزار اصلی هستند که برای شبیه‌سازی ضروری است." -#: lutris/runners/mame.py:176 +#: lutris/runners/mame.py:174 msgid "CRT effect ()" msgstr "اثر CRT ()" -#: lutris/runners/mame.py:177 +#: lutris/runners/mame.py:175 msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." -msgstr "اثر CRT را در صفحه بکار میگیرد. نیاز به رندر OpenGL دارد." +msgstr "اثر CRT را در صفحه استفاده میکند. نیاز به رندر OpenGL دارد." -#: lutris/runners/mame.py:184 +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 +#: lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "اشکال‌زدایی" + +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "گزارش‌گیری کامل‌تر" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "نمایش گزارش‌های کامل‌تر." + +#: lutris/runners/mame.py:191 msgid "Video backend" msgstr "پشتیبانی ویدیو" -#: lutris/runners/mame.py:190 lutris/runners/scummvm.py:187 +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 #: lutris/runners/vice.py:74 msgid "Software" msgstr "نرم‌افزار" -#: lutris/runners/mame.py:198 +#: lutris/runners/mame.py:205 msgid "Wait for VSync" msgstr "منتظر VSync بمانید" -#: lutris/runners/mame.py:200 +#: lutris/runners/mame.py:206 msgid "" "Enable waiting for the start of vblank before flipping screens; " "reduces tearing effects." msgstr "" "فعال کردن انتظار برای شروع vblank پیش از تغییر صفحه؛ کاهش پاره پارگی صفحه." -#: lutris/runners/mame.py:208 +#: lutris/runners/mame.py:213 msgid "Menu mode key" -msgstr "کلید حالت گزینگان" +msgstr "کلید حالت منو" -#: lutris/runners/mame.py:210 +#: lutris/runners/mame.py:215 msgid "Scroll Lock" msgstr "قفل پیمایش" -#: lutris/runners/mame.py:211 +#: lutris/runners/mame.py:216 msgid "Num Lock" msgstr "قفل عددی" -#: lutris/runners/mame.py:212 +#: lutris/runners/mame.py:217 msgid "Caps Lock" msgstr "قفل حروف بزرگ" -#: lutris/runners/mame.py:213 +#: lutris/runners/mame.py:218 msgid "Menu" -msgstr "گزینگان" +msgstr "منو" -#: lutris/runners/mame.py:214 +#: lutris/runners/mame.py:219 msgid "Right Control" msgstr "کنترل راست" -#: lutris/runners/mame.py:215 +#: lutris/runners/mame.py:220 msgid "Left Control" msgstr "کنترل چپ" -#: lutris/runners/mame.py:216 +#: lutris/runners/mame.py:221 msgid "Right Alt" msgstr "آلت راست" -#: lutris/runners/mame.py:217 +#: lutris/runners/mame.py:222 msgid "Left Alt" msgstr "آلت چپ" -#: lutris/runners/mame.py:218 +#: lutris/runners/mame.py:223 msgid "Right Super" msgstr "سوپر راست" -#: lutris/runners/mame.py:219 +#: lutris/runners/mame.py:224 msgid "Left Super" msgstr "سوپر چپ" -#: lutris/runners/mame.py:223 +#: lutris/runners/mame.py:228 msgid "" "Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: " "Scroll Lock)" msgstr "" "کلید برای تغییر بین حالت کلید کامل و حالت کلید جزئی (پیش‌گزیده: قفل پیمایش)" -#: lutris/runners/mame.py:236 lutris/runners/mame.py:283 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 msgid "Arcade" msgstr "آرکید" -#: lutris/runners/mame.py:236 lutris/runners/mame.py:282 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 msgid "Nintendo Game & Watch" msgstr "نینتندو گیم اند واچ" -#: lutris/runners/mame.py:329 +#: lutris/runners/mame.py:337 #, python-format msgid "No device is set for machine %s" msgstr "هیچ دستگاهی برای ماشین %s تنظیم نشده است" -#: lutris/runners/mame.py:339 +#: lutris/runners/mame.py:347 #, python-format msgid "The path '%s' is not set. please set it in the options." -msgstr "مسیر '%s' تنظیم نشده است. لطفاً آن را در گزینه‌ها تنظیم کنید." +msgstr "مسیر «%s» تنظیم نشده است. لطفاً آن را در گزینه‌ها تنظیم کنید." #: lutris/runners/mednafen.py:18 msgid "Mednafen" -msgstr "مدنافن" +msgstr "Mednafen" #: lutris/runners/mednafen.py:19 msgid "Multi-system emulator: NES, PC Engine, PSX…" @@ -5304,7 +5265,7 @@ msgstr "آتاری پیوندس" #: lutris/runners/mednafen.py:26 lutris/runners/osmose.py:14 msgid "Sega Master System" -msgstr "سگا مستر سامانه" +msgstr "سگا مستر سیستم" #: lutris/runners/mednafen.py:27 msgid "SNK Neo Geo Pocket (Color)" @@ -5398,61 +5359,61 @@ msgstr "واندرسوان" msgid "Virtual Boy" msgstr "ویرچوال بوی" -#: lutris/runners/mednafen.py:61 +#: lutris/runners/mednafen.py:60 msgid "" "The game data, commonly called a ROM image. \n" "Mednafen supports GZIP and ZIP compressed ROMs." msgstr "" -"داده‌های بازی که معمولاً به آن تصویر ROM گفته می‌شود. \n" -"مدنافن از ROMهای فشرده GZIP و ZIP پشتیبانی می‌کند." +"داده‌های بازی که معمولاً به آن تصویر رام گفته می‌شود. \n" +"مدنافن از رامهای فشرده GZIP و ZIP پشتیبانی می‌کند." -#: lutris/runners/mednafen.py:67 +#: lutris/runners/mednafen.py:65 msgid "Machine type" msgstr "نوع ماشین" -#: lutris/runners/mednafen.py:78 +#: lutris/runners/mednafen.py:76 msgid "Aspect ratio" msgstr "نسبت ابعاد" -#: lutris/runners/mednafen.py:81 +#: lutris/runners/mednafen.py:79 msgid "Stretched" msgstr "کشیده شده" -#: lutris/runners/mednafen.py:82 lutris/runners/vice.py:66 +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 msgid "Preserve aspect ratio" msgstr "نگه‌داری نسبت ابعاد" -#: lutris/runners/mednafen.py:83 +#: lutris/runners/mednafen.py:81 msgid "Integer scale" msgstr "مقیاس صحیح" -#: lutris/runners/mednafen.py:84 +#: lutris/runners/mednafen.py:82 msgid "Multiple of 2 scale" msgstr "مقیاس مضرب ۲" -#: lutris/runners/mednafen.py:92 +#: lutris/runners/mednafen.py:90 msgid "Video scaler" msgstr "مقیاس‌دهنده ویدیو" -#: lutris/runners/mednafen.py:116 +#: lutris/runners/mednafen.py:114 msgid "Sound device" msgstr "دستگاه صدا" -#: lutris/runners/mednafen.py:118 +#: lutris/runners/mednafen.py:116 msgid "Mednafen default" msgstr "پیش‌گزیده مدنافن" -#: lutris/runners/mednafen.py:119 +#: lutris/runners/mednafen.py:117 msgid "ALSA default" msgstr "پیش‌گزیده ALSA" -#: lutris/runners/mednafen.py:129 +#: lutris/runners/mednafen.py:127 msgid "Use default Mednafen controller configuration" -msgstr "بکارگیری پیکربندی پیش‌گزیده دسته بازی مدنافن" +msgstr "استفاده از پیکربندی پیش‌گزیده دسته بازی مدنافن" #: lutris/runners/mupen64plus.py:13 msgid "Mupen64Plus" -msgstr "موپن64 پلاس" +msgstr "Mupen64Plus" #: lutris/runners/mupen64plus.py:14 msgid "Nintendo 64 emulator" @@ -5466,7 +5427,7 @@ msgstr "نینتندو ۶۴" #: lutris/runners/openmsx.py:21 lutris/runners/ryujinx.py:26 #: lutris/runners/snes9x.py:30 lutris/runners/yuzu.py:24 msgid "The game data, commonly called a ROM image." -msgstr "داده‌های بازی که معمولاً به آن تصویر ROM گفته می‌شود." +msgstr "داده‌های بازی که معمولاً به آن تصویر رام گفته می‌شود." #: lutris/runners/mupen64plus.py:32 msgid "Hide OSD" @@ -5496,7 +5457,7 @@ msgstr "فیلیپس ویدیوپک+" msgid "Brandt Jopac" msgstr "براندت جوپاک" -#: lutris/runners/o2em.py:38 lutris/runners/wine.py:526 +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:519 msgid "Disable" msgstr "غیرفعال کردن" @@ -5510,15 +5471,15 @@ msgstr "W، S، A، D، SPACE" #: lutris/runners/o2em.py:57 msgid "BIOS" -msgstr "BIOS" +msgstr "بایوس" #: lutris/runners/o2em.py:65 msgid "First controller" -msgstr "دسته‌بازی اول" +msgstr "دسته بازی اول" #: lutris/runners/o2em.py:73 msgid "Second controller" -msgstr "دسته‌بازی دوم" +msgstr "دسته بازی دوم" #: lutris/runners/openmsx.py:12 msgid "openMSX" @@ -5526,7 +5487,7 @@ msgstr "openMSX" #: lutris/runners/openmsx.py:13 msgid "MSX computer emulator" -msgstr "شبیه‌ساز کامپیوتر MSX" +msgstr "شبیه‌ساز رایانه MSX" #: lutris/runners/openmsx.py:14 msgid "MSX, MSX2, MSX2+, MSX turboR" @@ -5534,18 +5495,18 @@ msgstr "MSX، MSX2، MSX2+، MSX turboR" #: lutris/runners/osmose.py:12 msgid "Osmose" -msgstr "اوزموز" +msgstr "Osmose" #: lutris/runners/osmose.py:13 msgid "Sega Master System Emulator" -msgstr "شبیه‌ساز سامانه مستر سگا" +msgstr "شبیه‌ساز سگا مستر سیستم" #: lutris/runners/osmose.py:23 msgid "" "The game data, commonly called a ROM image.\n" "Supported formats: SMS and GG files. ZIP compressed ROMs are supported." msgstr "" -"داده‌های بازی که معمولاً به آن تصویر ROM گفته می‌شود.\n" +"داده‌های بازی که معمولاً به آن تصویر رام گفته می‌شود.\n" "قالب‌های پشتیبانی شده: پرونده‌های SMS و GG. ROMهای فشرده ZIP پشتیبانی می‌شوند." #: lutris/runners/pcsx2.py:12 @@ -5620,7 +5581,7 @@ msgstr "نام موتور (بارگیری خواهد شد) یا مسیر پرو #: lutris/runners/redream.py:10 msgid "Redream" -msgstr "ردریم" +msgstr "Redream" #: lutris/runners/redream.py:11 lutris/runners/reicast.py:17 msgid "Sega Dreamcast emulator" @@ -5724,19 +5685,19 @@ msgstr "مقیاس وضوح ویدیو داخلی" #: lutris/runners/redream.py:95 msgid "Only available in premium version." -msgstr "تنها در نگارش پریمیوم در دسترس است." +msgstr "تنها در نگارش ویژه در دسترس است." #: lutris/runners/redream.py:102 msgid "Do you want to select a premium license file?" -msgstr "آیا می‌خواهید یک پرونده مجوز پریمیوم انتخاب کنید؟" +msgstr "آیا می‌خواهید یک پرونده مجوز ویژه انتخاب کنید؟" #: lutris/runners/redream.py:103 lutris/runners/redream.py:104 msgid "Use premium version?" -msgstr "آیا نگارش پریمیوم را بکار میگیرید؟" +msgstr "آیا نگارش ویژه را استفاده میکنید؟" #: lutris/runners/reicast.py:16 msgid "Reicast" -msgstr "ریکاست" +msgstr "Reicast" #: lutris/runners/reicast.py:29 msgid "" @@ -5769,7 +5730,7 @@ msgstr "دسته ۴" #: lutris/runners/rpcs3.py:12 msgid "RPCS3" -msgstr "آرپی‌سی‌اس۳" +msgstr "RPCS3" #: lutris/runners/rpcs3.py:13 msgid "PlayStation 3 emulator" @@ -5783,19 +5744,19 @@ msgstr "پلی‌استیشن ۳ سونی" msgid "Path to EBOOT.BIN" msgstr "مسیر به EBOOT.BIN" -#: lutris/runners/runner.py:166 +#: lutris/runners/runner.py:160 msgid "Custom executable for the runner" msgstr "اجرای سفارشی برای اجراکننده" -#: lutris/runners/runner.py:173 +#: lutris/runners/runner.py:167 msgid "Side Panel" msgstr "پنل کناری" -#: lutris/runners/runner.py:176 +#: lutris/runners/runner.py:170 msgid "Visible in Side Panel" msgstr "قابل مشاهده در پنل کناری" -#: lutris/runners/runner.py:180 +#: lutris/runners/runner.py:174 msgid "" "Show this runner in the side panel if it is installed or available through " "Flatpak." @@ -5803,49 +5764,52 @@ msgstr "" "این اجراکننده را در پنل کناری نشان دهید اگر نصب شده یا از طریق فلت‌پک در " "دسترس است." -#: lutris/runners/runner.py:195 lutris/runners/runner.py:204 +#: lutris/runners/runner.py:189 lutris/runners/runner.py:198 #: lutris/runners/vice.py:115 lutris/util/system.py:261 #, python-format msgid "The executable '%s' could not be found." -msgstr "اجرای '%s' پیدا نشد." +msgstr "اجرای «%s» پیدا نشد." -#: lutris/runners/runner.py:439 +#: lutris/runners/runner.py:453 msgid "" "The required runner is not installed.\n" "Do you wish to install it now?" msgstr "" "اجراکننده مورد نیاز نصب نشده است.\n" -"آیا می‌خواهید اینک آن را نصب کنید؟" +"آیا می‌خواهید اکنون آن را نصب کنید؟" -#: lutris/runners/runner.py:440 +#: lutris/runners/runner.py:454 msgid "Required runner unavailable" msgstr "اجراکننده مورد نیاز در دسترس نیست" -#: lutris/runners/runner.py:495 +#: lutris/runners/runner.py:509 +#, python-brace-format msgid "Failed to retrieve {} ({}) information" msgstr "دریافت اطلاعات {} ({}) ناموفق بود" -#: lutris/runners/runner.py:500 +#: lutris/runners/runner.py:514 #, python-format msgid "The '%s' version of the '%s' runner can't be downloaded." -msgstr "نگارش '%s' از اجراکننده '%s' قابل دریافت نیست." +msgstr "نگارش «%s» از اجراکننده «%s» قابل دریافت نیست." -#: lutris/runners/runner.py:503 +#: lutris/runners/runner.py:517 #, python-format msgid "The the '%s' runner can't be downloaded." -msgstr "اجراکننده '%s' قابل دریافت نیست." +msgstr "اجراکننده «%s» قابل دریافت نیست." -#: lutris/runners/runner.py:532 +#: lutris/runners/runner.py:546 +#, python-brace-format msgid "Failed to extract {}" msgstr "استخراج {} ناموفق بود" -#: lutris/runners/runner.py:537 +#: lutris/runners/runner.py:551 +#, python-brace-format msgid "Failed to extract {}: {}" msgstr "استخراج {}: {} ناموفق بود" #: lutris/runners/ryujinx.py:13 msgid "Ryujinx" -msgstr "ریوجینکس" +msgstr "Ryujinx" #: lutris/runners/ryujinx.py:14 lutris/runners/yuzu.py:14 msgid "Nintendo Switch" @@ -5882,7 +5846,7 @@ msgstr "هشدار مقیاس‌گرها ممکن است با رندری #: lutris/runners/scummvm.py:45 #, python-format msgid "Warning The '%s' scaler does not work with a scale factor of %s." -msgstr "هشدار مقیاس‌گر '%s' با ضریب مقیاس %s کار نمی‌کند." +msgstr "هشدار مقیاس‌گر «%s» با ضریب مقیاس %s کار نمی‌کند." #: lutris/runners/scummvm.py:54 msgid "Engine for point-and-click games." @@ -5927,8 +5891,8 @@ msgid "" "The algorithm used to scale up the game's base resolution, resulting in " "different visual styles. " msgstr "" -"الگوریتمی که برای بزرگ‌نمایی وضوح پایه بازی بکارگرفته می‌شود و منجر " -"به سبک‌های بصری مختلف می‌شود." +"الگوریتمی که برای بزرگ‌نمایی وضوح پایه بازی استفاده می‌شود و منجر به سبک‌های " +"بصری مختلف می‌شود." #: lutris/runners/scummvm.py:163 msgid "Scale factor" @@ -5956,7 +5920,7 @@ msgstr "OpenGL (با شیدرها)" #: lutris/runners/scummvm.py:193 msgid "Changes the rendering method used for 3D games." -msgstr "روش رندرینگ بکارگرفته شده برای بازی‌های 3D را تغییر می‌دهد." +msgstr "روش رندرینگ استفاده شده برای بازی‌های 3D را تغییر می‌دهد." #: lutris/runners/scummvm.py:198 msgid "Render mode" @@ -6051,7 +6015,7 @@ msgid "" "Uses bilinear interpolation instead of nearest neighbor resampling for the " "aspect ratio correction and stretch mode." msgstr "" -"درون‌یابی بی‌خطی را به جای نمونه‌برداری نزدیک‌ترین همسایه بکار میگیرد، برای " +"درون‌یابی بی‌خطی را به جای نمونه‌برداری نزدیک‌ترین همسایه استفاده میکند، برای " "تصحیح نسبت ابعاد و حالت کشش." #: lutris/runners/scummvm.py:251 @@ -6092,107 +6056,107 @@ msgstr "" "حداکثر فریم در ثانیه را برای Grim Fandango یا Escape from Monkey Island " "تنظیم می‌کند (پیش‌گزیده: 60)." -#: lutris/runners/scummvm.py:293 +#: lutris/runners/scummvm.py:292 msgid "Talk speed" msgstr "سرعت گفتگو" -#: lutris/runners/scummvm.py:294 +#: lutris/runners/scummvm.py:293 msgid "Sets talk speed for games (default: 60)" msgstr "سرعت گفتگو برای بازی‌ها را تنظیم می‌کند (پیش‌گزیده: 60)" -#: lutris/runners/scummvm.py:301 +#: lutris/runners/scummvm.py:300 msgid "Music tempo" msgstr "ضرب‌آهنگ موسیقی" -#: lutris/runners/scummvm.py:302 +#: lutris/runners/scummvm.py:301 msgid "Sets music tempo (in percent, 50-200) for SCUMM games (default: 100)" msgstr "" "ضرب‌آهنگ موسیقی را برای بازی‌های SCUMM تنظیم می‌کند (به درصد، ۵۰-۲۰۰) " "(پیش‌گزیده: ۱۰۰)" -#: lutris/runners/scummvm.py:309 +#: lutris/runners/scummvm.py:308 msgid "Digital iMuse tempo" msgstr "ضرب‌آهنگ دیجیتال iMuse" -#: lutris/runners/scummvm.py:310 +#: lutris/runners/scummvm.py:309 msgid "Sets internal Digital iMuse tempo (10 - 100) per second (default: 10)" msgstr "" -"ضرب‌آهنگ داخلی دیجیتال iMuse را در هر ثانیه (۱۰ - ۱۰۰) تنظیم می‌کند (پیش‌گزیده" -":۱۰)" +"ضرب‌آهنگ داخلی دیجیتال iMuse را در هر ثانیه (۱۰ - ۱۰۰) تنظیم می‌کند " +"(پیش‌گزیده:۱۰)" -#: lutris/runners/scummvm.py:316 +#: lutris/runners/scummvm.py:315 msgid "Music driver" msgstr "درایور موسیقی" -#: lutris/runners/scummvm.py:332 +#: lutris/runners/scummvm.py:331 msgid "Specifies the device ScummVM uses to output audio." -msgstr "دستگاهی که ScummVM برای خروجی صدا بکار میگیرد را مشخص می‌کند." +msgstr "دستگاهی که ScummVM برای خروجی صدا استفاده میکند را مشخص می‌کند." -#: lutris/runners/scummvm.py:338 +#: lutris/runners/scummvm.py:337 msgid "Output rate" msgstr "نرخ خروجی" -#: lutris/runners/scummvm.py:345 +#: lutris/runners/scummvm.py:344 msgid "Selects output sample rate in Hz." msgstr "نرخ نمونه‌برداری خروجی را به هرتز انتخاب می‌کند." -#: lutris/runners/scummvm.py:351 +#: lutris/runners/scummvm.py:350 msgid "OPL driver" msgstr "درایور OPL" -#: lutris/runners/scummvm.py:364 +#: lutris/runners/scummvm.py:363 msgid "" "Chooses which emulator is used by ScummVM when the AdLib emulator is chosen " "as the Preferred device." msgstr "" "انتخاب می‌کند که کدام شبیه‌ساز توسط ScummVM زمانی که شبیه‌ساز AdLib به عنوان " -"دستگاه ترجیحی انتخاب شده است، بکارگرفته شود." +"دستگاه ترجیحی انتخاب شده است، استفاده شود." -#: lutris/runners/scummvm.py:373 +#: lutris/runners/scummvm.py:371 msgid "Music volume" msgstr "بلندی صدای موسیقی" -#: lutris/runners/scummvm.py:374 +#: lutris/runners/scummvm.py:372 msgid "Sets the music volume, 0-255 (default: 192)" msgstr "بلندی صدای موسیقی را تنظیم می‌کند، ۰-۲۵۵ (پیش‌گزیده: ۱۹۲)" -#: lutris/runners/scummvm.py:382 +#: lutris/runners/scummvm.py:380 msgid "Sets the sfx volume, 0-255 (default: 192)" msgstr "بلندی صدای افکت‌های صوتی را تنظیم می‌کند، ۰-۲۵۵ (پیش‌گزیده: ۱۹۲)" -#: lutris/runners/scummvm.py:389 +#: lutris/runners/scummvm.py:387 msgid "Speech volume" msgstr "بلندی صدای گفتار" -#: lutris/runners/scummvm.py:390 +#: lutris/runners/scummvm.py:388 msgid "Sets the speech volume, 0-255 (default: 192)" msgstr "بلندی صدای گفتار را تنظیم می‌کند، ۰-۲۵۵ (پیش‌گزیده: ۱۹۲)" -#: lutris/runners/scummvm.py:397 +#: lutris/runners/scummvm.py:395 msgid "MIDI gain" msgstr "گین MIDI" -#: lutris/runners/scummvm.py:398 +#: lutris/runners/scummvm.py:396 msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" msgstr "گین پخش MIDI را تنظیم می‌کند. ۰-۱۰۰۰ (پیش‌گزیده: ۱۰۰)" -#: lutris/runners/scummvm.py:406 +#: lutris/runners/scummvm.py:404 msgid "Specifies the path to a soundfont file." msgstr "مسیر پرونده ساندفانت را مشخص می‌کند." -#: lutris/runners/scummvm.py:412 +#: lutris/runners/scummvm.py:410 msgid "Mixed AdLib/MIDI mode" msgstr "حالت به هم پیوسته AdLib/MIDI" -#: lutris/runners/scummvm.py:415 +#: lutris/runners/scummvm.py:413 msgid "Combines MIDI music with AdLib sound effects." msgstr "موسیقی MIDI را با جلوه‌های صوتی AdLib به هم پیوند میزند." -#: lutris/runners/scummvm.py:421 +#: lutris/runners/scummvm.py:419 msgid "True Roland MT-32" msgstr "رولند MT-32 واقعی" -#: lutris/runners/scummvm.py:425 +#: lutris/runners/scummvm.py:423 msgid "" "Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, " "CM-32L, CM-500 or other MT-32 device." @@ -6200,11 +6164,11 @@ msgstr "" "به ScummVM می‌گوید که دستگاه MIDI یک رولند MT-32 واقعی، LAPC-I، CM-64، " "CM-32L، CM-500 یا دیگر دستگاه‌های MT-32 است." -#: lutris/runners/scummvm.py:433 +#: lutris/runners/scummvm.py:431 msgid "Enable Roland GS" msgstr "فعال‌سازی Roland GS" -#: lutris/runners/scummvm.py:437 +#: lutris/runners/scummvm.py:435 msgid "" "Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, " "such as an SC-55, SC-88 or SC-8820." @@ -6212,47 +6176,43 @@ msgstr "" "به ScummVM می‌گوید که دستگاه MIDI یک دستگاه GS است که نقشه MT-32 دارد، مانند " "SC-55، SC-88 یا SC-8820." -#: lutris/runners/scummvm.py:445 +#: lutris/runners/scummvm.py:443 msgid "Use alternate intro" -msgstr "بکارگیری از مقدمه جایگزین" +msgstr "استفاده از مقدمه جایگزین" -#: lutris/runners/scummvm.py:446 +#: lutris/runners/scummvm.py:444 msgid "Uses alternative intro for CD versions" -msgstr "مقدمه جایگزین برای نگارش‌های CD بکار میگیرد" +msgstr "مقدمه جایگزین برای نگارش‌های CD استفاده میکند" -#: lutris/runners/scummvm.py:452 +#: lutris/runners/scummvm.py:450 msgid "Copy protection" msgstr "حفاظت از هم‌مانندسازی" -#: lutris/runners/scummvm.py:453 +#: lutris/runners/scummvm.py:451 msgid "Enables copy protection" msgstr "حفاظت از هم‌مانندسازی را فعال می‌کند" -#: lutris/runners/scummvm.py:459 +#: lutris/runners/scummvm.py:457 msgid "Demo mode" msgstr "حالت دمو" -#: lutris/runners/scummvm.py:460 +#: lutris/runners/scummvm.py:458 msgid "Starts demo mode of Maniac Mansion or The 7th Guest" msgstr "حالت دمو بازی Maniac Mansion یا The 7th Guest را شروع می‌کند" -#: lutris/runners/scummvm.py:466 lutris/runners/scummvm.py:474 -msgid "Debugging" -msgstr "اشکال‌زدایی" - -#: lutris/runners/scummvm.py:467 +#: lutris/runners/scummvm.py:465 msgid "Debug level" msgstr "سطح اشکال‌زدایی" -#: lutris/runners/scummvm.py:468 +#: lutris/runners/scummvm.py:466 msgid "Sets debug verbosity level" msgstr "سطح جزئیات اشکال‌زدایی را تنظیم می‌کند" -#: lutris/runners/scummvm.py:475 +#: lutris/runners/scummvm.py:473 msgid "Debug flags" msgstr "پرچم‌های اشکال‌زدایی" -#: lutris/runners/scummvm.py:476 +#: lutris/runners/scummvm.py:474 msgid "Enables engine specific debug flags" msgstr "پرچم‌های اشکال‌زدایی ویژه موتور را فعال می‌کند" @@ -6262,7 +6222,7 @@ msgstr "شبیه‌ساز سوپر نینتندو" #: lutris/runners/snes9x.py:19 msgid "Snes9x" -msgstr "اسنِس۹x" +msgstr "Snes9x" #: lutris/runners/snes9x.py:40 msgid "Maintain aspect ratio (4:3)" @@ -6274,10 +6234,8 @@ msgid "" "modern screens have square pixels, which results in a vertically squeezed " "image. This option corrects this by displaying rectangular pixels." msgstr "" -"بازی‌های سوپر نینتندو برای صفحه‌نمایش‌های ۴:۳ با پیکسل‌های مستطیلی ساخته شده‌ا" -"ند، " -"ولی صفحه‌نمایش‌های مدرن دارای پیکسل‌های مربعی هستند که منجر به تصویری فشرده شد" -"ه " +"بازی‌های سوپر نینتندو برای صفحه‌نمایش‌های ۴:۳ با پیکسل‌های مستطیلی ساخته شده‌اند، " +"ولی صفحه‌نمایش‌های مدرن دارای پیکسل‌های مربعی هستند که منجر به تصویری فشرده شده " "به صورت عمودی می‌شود. این گزینه این مشکل را با نمایش پیکسل‌های مستطیلی اصلاح " "می‌کند." @@ -6305,32 +6263,32 @@ msgid "" "Command line arguments used when launching the game.\n" "Ignored when Steam Big Picture mode is enabled." msgstr "" -"آرگومان‌های خط فرمانی که هنگام راه‌اندازی بازی بکارگرفته می‌شوند.\n" +"آرگومان‌های خط فرمانی که هنگام راه‌اندازی بازی استفاده می‌شوند.\n" "هنگام فعال بودن حالت تصویر بزرگ استیم نادیده گرفته می‌شوند." -#: lutris/runners/steam.py:57 +#: lutris/runners/steam.py:56 msgid "DRM free mode (Do not launch Steam)" msgstr "حالت بدون DRM (استیم را راه‌اندازی نکنید)" -#: lutris/runners/steam.py:61 +#: lutris/runners/steam.py:60 msgid "" "Run the game directly without Steam, requires the game binary path to be set" msgstr "" "بازی را مستقیماً بدون استیم اجرا کنید، نیاز به تنظیم مسیر باینری بازی دارد" -#: lutris/runners/steam.py:66 +#: lutris/runners/steam.py:65 msgid "Game binary path" msgstr "مسیر باینری بازی" -#: lutris/runners/steam.py:68 +#: lutris/runners/steam.py:67 msgid "Path to the game executable (Required by DRM free mode)" msgstr "مسیر پرونده اجرایی بازی (مورد نیاز برای حالت بدون DRM)" -#: lutris/runners/steam.py:74 +#: lutris/runners/steam.py:73 msgid "Start Steam in Big Picture mode" msgstr "راه‌اندازی استیم در حالت تصویر بزرگ" -#: lutris/runners/steam.py:78 +#: lutris/runners/steam.py:77 msgid "" "Launches Steam in Big Picture mode.\n" "Only works if Steam is not running or already running in Big Picture mode.\n" @@ -6341,26 +6299,15 @@ msgstr "" "حال اجرا باشد.\n" "برای بازی با دسته استیم مفید است." -#: lutris/runners/steam.py:86 -msgid "Start Steam with LSI" -msgstr "راه‌اندازی استیم را با LSI" - -#: lutris/runners/steam.py:90 -msgid "" -"Launches steam with LSI patches enabled. Make sure Lutris Runtime is " -"disabled and you have LSI installed. https://github.com/solus-project/linux-" -"steam-integration" -msgstr "" -"استیم را با پچ‌های LSI فعال راه‌اندازی می‌کند. مطمئن شوید که زمان اجرای لوتریس" -"غیرفعال است و LSI نصب شده است. https://github.com/solus-project/linux-استیم-" -"integration" - -#: lutris/runners/steam.py:101 +#: lutris/runners/steam.py:88 msgid "Extra command line arguments used when launching Steam" -msgstr "" -"آرگومان‌های افزوده خط فرمان که هنگام راه‌اندازی استیم بکارگرفته می‌شوند" +msgstr "آرگومان‌های افزوده خط فرمان که هنگام راه‌اندازی استیم استفاده می‌شوند" -#: lutris/runners/steam.py:188 +#: lutris/runners/steam.py:170 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "نصب استیم برای لینوکس به‌دست لوتریس انجام نمی‌شود" + +#: lutris/runners/steam.py:172 msgid "" "Steam for Linux installation is not handled by Lutris.\n" "Please go to http://steampowered.com " @@ -6370,7 +6317,7 @@ msgstr "" "لطفاً به http://استیمpowered.com بروید " "یا استیم را با بسته‌ای که توسط توزیع شما به دست آمده است نصب کنید." -#: lutris/runners/steam.py:202 +#: lutris/runners/steam.py:186 msgid "Could not find Steam path, is Steam installed?" msgstr "نمیتوان پوسته مسیر استیم را پیدا کرد، آیا استیم نصب شده است؟" @@ -6380,7 +6327,7 @@ msgstr "شبیه‌ساز Commodore" #: lutris/runners/vice.py:15 msgid "Vice" -msgstr "وایس" +msgstr "Vice" #: lutris/runners/vice.py:18 msgid "Commodore 64" @@ -6412,13 +6359,13 @@ msgid "" "Supported formats: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, " "D4M, T46, P00 and CRT." msgstr "" -"داده‌های بازی، که معمولاً به آن تصویر ROM گفته می‌شود.\n" +"داده‌های بازی، که معمولاً به آن تصویر رام گفته می‌شود.\n" "قالب‌های پشتیبانی شده: X64، D64، G64، P64، D67، D71، D81، D80، D82، D1M، D2M، " "D4M، T46، P00 و CRT." #: lutris/runners/vice.py:47 msgid "Use joysticks" -msgstr "بکارگیری جوی‌استیک‌ها" +msgstr "استفاده از جوی‌استیک‌ها" #: lutris/runners/vice.py:59 msgid "Scale up display by 2" @@ -6434,7 +6381,7 @@ msgstr "فعال‌سازی شبیه‌سازی صدا برای درایوهای #: lutris/runners/vice.py:190 msgid "No rom provided" -msgstr "هیچ ROMی شناسانده نشده" +msgstr "رام شناسانده نشده" #: lutris/runners/vita3k.py:12 lutris/runners/vita3k.py:98 msgid "The Vita App has no Title ID set" @@ -6442,7 +6389,7 @@ msgstr "برنامه ویتا هیچ شناسه عنوانی تنظیم نشده #: lutris/runners/vita3k.py:18 msgid "Vita3K" -msgstr "ویتاکی" +msgstr "Vita3K" #: lutris/runners/vita3k.py:19 msgid "Sony PlayStation Vita" @@ -6461,8 +6408,8 @@ msgid "" "Title ID of installed application. Eg.\"PCSG00042\". User installed apps are " "located in ux0:/app/<title-id>." msgstr "" -"شناسه عنوان برنامه نصب شده. مثلاً \"PCSG00042\". برنامه‌های نصب شده توسط کاربر" -"در ux0:/app/<title-id> قرار دارند." +"شناسه عنوان برنامه نصب شده. مثلاً \"PCSG00042\". برنامه‌های نصب شده توسط " +"کاربردر ux0:/app/<title-id> قرار دارند." #: lutris/runners/vita3k.py:44 msgid "Start the emulator in fullscreen mode." @@ -6489,12 +6436,12 @@ msgid "" "If trues, informs the emualtor to load the config file from the \"Config " "location\" option." msgstr "" -"اگر درست باشد، به شبیه‌ساز اطلاع می‌دهد که پرونده پیکربندی را از گزینه " -"\"محل پیکربندی\" بارگذاری کند." +"اگر درست باشد، به شبیه‌ساز اطلاع می‌دهد که پرونده پیکربندی را از گزینه \"محل " +"پیکربندی\" بارگذاری کند." #: lutris/runners/web.py:19 lutris/runners/web.py:21 msgid "Web" -msgstr "وب" +msgstr "Web" #: lutris/runners/web.py:20 msgid "Runs web based games" @@ -6502,11 +6449,11 @@ msgstr "بازی‌های مبتنی بر وب را اجرا می‌کند" #: lutris/runners/web.py:26 msgid "Full URL or HTML file path" -msgstr "آدرس کامل URL یا مسیر پرونده HTML" +msgstr "نشانی کامل URL یا مسیر پرونده HTML" #: lutris/runners/web.py:27 msgid "The full address of the game's web page or path to a HTML file." -msgstr "آدرس کامل صفحه وب بازی یا مسیر یک پرونده HTML." +msgstr "نشانی کامل صفحه وب بازی یا مسیر یک پرونده HTML." #: lutris/runners/web.py:33 msgid "Open in fullscreen" @@ -6547,15 +6494,15 @@ msgstr "پنجره هیچ حاشیه/قاب ندارد." #: lutris/runners/web.py:76 msgid "Disable menu bar and default shortcuts" -msgstr "غیرفعال کردن نوار گزینگان و میانبرهای پیش‌گزیده" +msgstr "غیرفعال کردن نوار منو و میانبرهای پیش‌گزیده" #: lutris/runners/web.py:79 msgid "" "This also disables default keyboard shortcuts, like copy/paste and " "fullscreen toggling." msgstr "" -"این همچنین میانبرهای پیش‌گزیده صفحه‌کلید، مانند هم‌مانندسازی/چسباندن و تغییر " -"حالت تمام صفحه را غیرفعال می‌کند." +"این همچنین میانبرهای پیش‌گزیده صفحه‌کلید، مانند رونویسی/چسباندن و تغییر حالت " +"تمام صفحه را غیرفعال می‌کند." #: lutris/runners/web.py:83 msgid "Disable page scrolling and hide scrollbars" @@ -6582,8 +6529,8 @@ msgid "" "Enable this option if you want clicked links to open inside the game window. " "By default all links open in your default web browser." msgstr "" -"این گزینه را فعال کنید اگر می‌خواهید پیوند‌های کلیک شده در داخل پنجره بازی باز" -"شوند. به طور پیش‌گزیده، همه پیوند‌ها در مرورگر وب پیش‌گزیده شما باز می‌شوند." +"این گزینه را فعال کنید اگر می‌خواهید پیوند‌های کلیک شده در داخل پنجره بازی " +"بازشوند. به طور پیش‌گزیده، همه پیوند‌ها در مرورگر وب پیش‌گزیده شما باز می‌شوند." #: lutris/runners/web.py:107 msgid "Remove default margin & padding" @@ -6609,8 +6556,7 @@ msgstr "User-Agent سفارشی" #: lutris/runners/web.py:124 msgid "Overrides the default User-Agent header used by the runner." -msgstr "" -"هدر User-Agent پیش‌گزیده بکارگرفته شده توسط اجراکننده را نادیده می‌گیرد." +msgstr "هدر User-Agent پیش‌گزیده استفاده شده توسط اجراکننده را نادیده می‌گیرد." #: lutris/runners/web.py:129 msgid "Debug with Developer Tools" @@ -6653,16 +6599,16 @@ msgid "" "For Chrome/Chromium app mode use: --app=\"$GAME\"" msgstr "" "آرگومان‌های خط فرمان برای ارسال به پرونده اجرایی.\n" -"$GAME یا $URL آدرس بازی را وارد می‌کند.\n" +"$GAME یا $URL نشانی بازی را وارد می‌کند.\n" "\n" -"برای حالت برنامه Chrome/Chromium، : --app=\"$GAME\" را بکار بگیرید." +"برای حالت برنامه Chrome/Chromium، : --app=\"$GAME\" را استفاده کنید." #: lutris/runners/web.py:176 msgid "" "The web address is empty, \n" "verify the game's configuration." msgstr "" -"آدرس وب خالی است، \n" +"نشانی وب خالی است، \n" "پیکربندی بازی را بررسی کنید." #: lutris/runners/web.py:183 @@ -6674,19 +6620,19 @@ msgstr "" "پرونده %s نیست، \n" "پیکربندی بازی را بررسی کنید." -#: lutris/runners/wine.py:78 lutris/runners/wine.py:798 +#: lutris/runners/wine.py:79 lutris/runners/wine.py:777 msgid "Proton is not compatible with 32-bit prefixes." msgstr "پروتون با پیشوندهای 32 بیتی سازگار نیست." -#: lutris/runners/wine.py:92 +#: lutris/runners/wine.py:93 msgid "" "Warning Some Wine configuration options cannot be applied, if no " "prefix can be found." msgstr "" -"هشدار برخی از گزینه‌های پیکربندی واین قابل اعمال نیستند، اگر هیچ " -"پیشوندی پیدا نشود." +"هشدار اگر هیچ پیشوندی پیدا نشود، برخی از گزینه‌های پیکربندی واین را " +"نمی‌توان اعمال کرد." -#: lutris/runners/wine.py:99 +#: lutris/runners/wine.py:100 #, python-format msgid "" "Warning Your NVIDIA driver is outdated.\n" @@ -6697,7 +6643,7 @@ msgstr "" "شما در حال حاضر درایور %s را اجرا می‌کنید که همه ویژگی‌ها را برای بازی‌های " "Vulkan و DXVK به طور کامل پشتیبانی نمی‌کند." -#: lutris/runners/wine.py:112 +#: lutris/runners/wine.py:113 #, python-format msgid "" "Error Vulkan is not installed or is not supported by your system, %s " @@ -6713,7 +6659,7 @@ msgid "" "but to use the latest DXVK version, %s is required." msgstr "" "هشدار لوتریس تشخیص داده است که نگارش API Vulkan %s نصب شده است، ولی " -"برای بکارگرفتن آخرین نگارش DXVK، %s مورد نیاز است." +"برای استفاده از آخرین نگارش DXVK، %s مورد نیاز است." #: lutris/runners/wine.py:136 #, python-format @@ -6721,8 +6667,8 @@ msgid "" "Warning Lutris has detected that the best device available ('%s') " "supports Vulkan API %s, but to use the latest DXVK version, %s is required." msgstr "" -"هشدار لوتریس تشخیص داده است که بهترین دستگاه موجود ('%s') API Vulkan " -"%s را پشتیبانی می‌کند، ولی برای بکارگرفتن آخرین نگارش DXVK، %s مورد نیاز است." +"هشدار لوتریس تشخیص داده است که بهترین دستگاه موجود («%s») API Vulkan " +"%s را پشتیبانی می‌کند، ولی برای استفاده از آخرین نگارش DXVK، %s مورد نیاز است." #: lutris/runners/wine.py:152 msgid "" @@ -6731,8 +6677,7 @@ msgid "" "How-to-" "Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" msgstr "" -"هشدار محدودیت‌های شما به درستی تنظیم نشده‌اند. لطفاً آنها را افزایش دهی" -"د " +"هشدار محدودیت‌های شما به درستی تنظیم نشده‌اند. لطفاً آنها را افزایش دهید " "همانطور که در اینجا توضیح داده شده است:\n" "نحوه-" "Esync (https://github.com/لوتریس/docs/blob/master/HowToEsync.md)" @@ -6754,22 +6699,26 @@ msgid "Custom (select executable below)" msgstr "سفارشی (پرونده اجرایی زیر را انتخاب کنید)" #: lutris/runners/wine.py:181 +#, python-brace-format msgid "WineHQ Devel ({})" msgstr "واینHQ Devel ({})" #: lutris/runners/wine.py:182 +#, python-brace-format msgid "WineHQ Staging ({})" msgstr "واینHQ Staging ({})" #: lutris/runners/wine.py:183 +#, python-brace-format msgid "Wine Development ({})" msgstr "توسعه واین ({})" #: lutris/runners/wine.py:184 +#, python-brace-format msgid "System ({})" msgstr " سامانه ({})" -#: lutris/runners/wine.py:192 +#: lutris/runners/wine.py:189 msgid "GE-Proton (Latest)" msgstr "GE-Proton (آخرین)" @@ -6779,11 +6728,11 @@ msgstr "بازی‌های ویندوز را اجرا می‌کند" #: lutris/runners/wine.py:201 msgid "Wine" -msgstr "واین" +msgstr "Wine" #: lutris/runners/wine.py:202 msgid "Windows" -msgstr "ویندوز" +msgstr "Windows" #: lutris/runners/wine.py:211 msgid "The game's main EXE file" @@ -6791,130 +6740,130 @@ msgstr "پرونده EXE اصلی بازی" #: lutris/runners/wine.py:217 msgid "Windows command line arguments used when launching the game" -msgstr "آرگومان‌های خط فرمان ویندوز که هنگام راه‌اندازی بازی بکارگرفته می‌شوند" +msgstr "آرگومان‌های خط فرمان ویندوز که هنگام راه‌اندازی بازی استفاده می‌شوند" -#: lutris/runners/wine.py:233 +#: lutris/runners/wine.py:231 msgid "Wine prefix" msgstr "پیشوند واین" -#: lutris/runners/wine.py:236 +#: lutris/runners/wine.py:234 msgid "" "The prefix used by Wine.\n" "It's a directory containing a set of files and folders making up a confined " "Windows environment." msgstr "" -"پیشوندی که توسط واین بکارگرفته می‌شود.\n" -"این یک مسیر است که شامل مجموعه‌ای از پرونده‌ها و پوشه‌ها است " -"که یک محیط ویندوز محدود را تشکیل می‌دهد." +"پیشوندی که توسط واین استفاده می‌شود.\n" +"این یک مسیر است که شامل مجموعه‌ای از پرونده‌ها و پوشه‌ها است که یک محیط ویندوز " +"محدود را تشکیل می‌دهد." -#: lutris/runners/wine.py:244 +#: lutris/runners/wine.py:242 msgid "Prefix architecture" msgstr "معماری پیشوند" -#: lutris/runners/wine.py:245 +#: lutris/runners/wine.py:243 msgid "32-bit" msgstr "32 بیتی" -#: lutris/runners/wine.py:245 +#: lutris/runners/wine.py:243 msgid "64-bit" msgstr "64 بیتی" -#: lutris/runners/wine.py:247 +#: lutris/runners/wine.py:245 msgid "The architecture of the Windows environment" msgstr "معماری محیط ویندوز" -#: lutris/runners/wine.py:252 +#: lutris/runners/wine.py:250 msgid "Integrate system files in the prefix" -msgstr "ادغام پرونده‌های سامانه در پیشوند" +msgstr "یکپارچه سازی پیشوند پرونده‌های سامانه" -#: lutris/runners/wine.py:256 +#: lutris/runners/wine.py:254 msgid "" "Place 'Documents', 'Pictures', and similar files in your home folder, " "instead of keeping them in the game's prefix. This includes some saved games." msgstr "" -"پرونده‌های 'Documents'، 'Pictures' و پرونده‌های مشابه را در پوشه خانگی خود " -"قرار دهید، به جای اینکه آنها را در پیشوند بازی نگه دارید. این شامل برخی از " +"پرونده‌های «Documents»، «Pictures» و پرونده‌های مشابه را در پوشه خانگی خود " +"قرار دهید، به جای اکنونه آنها را در پیشوند بازی نگه دارید. این شامل برخی از " "بازی‌های ذخیره شده است." -#: lutris/runners/wine.py:265 +#: lutris/runners/wine.py:263 msgid "Wine version" msgstr "نگارش واین" -#: lutris/runners/wine.py:271 +#: lutris/runners/wine.py:269 msgid "" "The version of Wine used to launch the game.\n" "Using the last version is generally recommended, but some games work better " "on older versions." msgstr "" -"نگارش واین که برای راه‌اندازی بازی بکارگرفته می‌شود.\n" -"بکارگرفتن آخرین نگارش به طور کلی توصیه می‌شود، ولی برخی از بازی‌ها بهتر در " +"نگارش واین که برای راه‌اندازی بازی استفاده می‌شود.\n" +"استفاده از آخرین نگارش به طور کلی توصیه می‌شود، ولی برخی از بازی‌ها بهتر در " "نگارش‌های قدیمی‌تر کار می‌کنند." -#: lutris/runners/wine.py:278 +#: lutris/runners/wine.py:276 msgid "Custom Wine executable" msgstr "پرونده اجرایی سفارشی واین" -#: lutris/runners/wine.py:281 +#: lutris/runners/wine.py:279 msgid "" "The Wine executable to be used if you have selected \"Custom\" as the Wine " "version." msgstr "" -"پرونده اجرایی واین که باید بکارگرفته شود اگر \"سفارشی\" را به عنوان نگارش " -"واین انتخاب کرده‌اید." +"پرونده اجرایی واین که باید استفاده شود اگر \"سفارشی\" را به عنوان نگارش واین " +"انتخاب کرده‌اید." -#: lutris/runners/wine.py:285 +#: lutris/runners/wine.py:283 msgid "Use system winetricks" -msgstr "بکارگرفتن winetricks سامانه" +msgstr "استفاده از winetricks سامانه" -#: lutris/runners/wine.py:289 +#: lutris/runners/wine.py:287 msgid "Switch on to use /usr/bin/winetricks for winetricks." -msgstr "برای بکارگرفتن /usr/bin/winetricks برای winetricks روشن کنید." +msgstr "برای استفاده از /usr/bin/winetricks برای winetricks روشن کنید." -#: lutris/runners/wine.py:294 +#: lutris/runners/wine.py:292 msgid "Enable DXVK" msgstr "فعال کردن DXVK" -#: lutris/runners/wine.py:299 +#: lutris/runners/wine.py:296 msgid "DXVK" -msgstr "دی‌اکس‌وی‌کی" +msgstr "DXVK" -#: lutris/runners/wine.py:302 +#: lutris/runners/wine.py:299 msgid "" "Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 " "applications by translating their calls to Vulkan." msgstr "" "DXVK را برای افزایش سازگاری و عملکرد در برنامه‌های Direct3D 11، 10 و 9 با " -"ترجمه تماس‌های آن‌ها به Vulkan بکار بگیرید." +"ترجمه تماس‌های آن‌ها به Vulkan استفاده کنید." -#: lutris/runners/wine.py:310 +#: lutris/runners/wine.py:307 msgid "DXVK version" -msgstr "نگارش دی‌اکس‌وی‌کی" +msgstr "نگارش DXVK" -#: lutris/runners/wine.py:323 +#: lutris/runners/wine.py:320 msgid "Enable VKD3D" msgstr "فعال‌سازی VKD3D" -#: lutris/runners/wine.py:326 +#: lutris/runners/wine.py:323 msgid "VKD3D" -msgstr "وی‌کی‌دی‌۳دی" +msgstr "VKD3D" -#: lutris/runners/wine.py:330 +#: lutris/runners/wine.py:326 msgid "" "Use VKD3D to enable support for Direct3D 12 applications by translating " "their calls to Vulkan." msgstr "" "VKD3D را برای فعال‌سازی پشتیبانی از برنامه‌های Direct3D 12 با ترجمه تماس‌های " -"آن‌ها به Vulkan بکار بگیرید." +"آن‌ها به Vulkan استفاده کنید." -#: lutris/runners/wine.py:336 +#: lutris/runners/wine.py:331 msgid "VKD3D version" -msgstr "نگارش وی‌کی‌دی‌۳دی" +msgstr "نگارش VKD3D" -#: lutris/runners/wine.py:348 +#: lutris/runners/wine.py:343 msgid "Enable D3D Extras" msgstr "فعال‌سازی اضافات D3D" -#: lutris/runners/wine.py:354 +#: lutris/runners/wine.py:348 msgid "" "Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed " "for proper functionality of DXVK with some games." @@ -6922,78 +6871,78 @@ msgstr "" "کتابخانه‌های D3DX و D3DCOMPILER ویندوز را با کتابخانه‌های جایگزین تعویض کنید. " "این برای عملکرد صحیح DXVK با برخی بازی‌ها ضروری است." -#: lutris/runners/wine.py:361 +#: lutris/runners/wine.py:355 msgid "D3D Extras version" msgstr "نگارش اضافات D3D" -#: lutris/runners/wine.py:372 +#: lutris/runners/wine.py:365 msgid "Enable DXVK-NVAPI / DLSS" msgstr "فعال‌سازی DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:374 +#: lutris/runners/wine.py:367 msgid "DXVK-NVAPI / DLSS" -msgstr "دی‌اکس‌وی‌کی-ان‌وی‌ای‌پی‌آی / دی‌ال‌اس‌اس" +msgstr "DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:378 +#: lutris/runners/wine.py:371 msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." msgstr "" "شبیه‌سازی NVAPI انویدیا را فعال کنید و در صورت موجود بودن، پشتیبانی از DLSS " "را بیفزایید." -#: lutris/runners/wine.py:383 +#: lutris/runners/wine.py:376 msgid "DXVK NVAPI version" -msgstr "نگارش دی‌اکس‌وی‌کی ان‌وی‌ای‌پی‌آی" +msgstr "نگارش DXVK NVAPI" -#: lutris/runners/wine.py:394 +#: lutris/runners/wine.py:387 msgid "Enable dgvoodoo2" msgstr "فعال‌سازی dgvoodoo2" -#: lutris/runners/wine.py:399 +#: lutris/runners/wine.py:392 msgid "" "dgvoodoo2 is an alternative translation layer for rendering old games that " "utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended " "to use it in combination with DXVK. Only 32-bit apps are supported." msgstr "" "dgvoodoo2 یک لایه ترجمه جایگزین برای رندر کردن بازی‌های قدیمی است که APIهای " -"D3D1-7 و Glide را بکار میگیرند. از آنجا که به D3D11 ترجمه می‌شود، توصیه می‌شود" -"که آن را در به هم پیوسته با DXVK بکار بگیرید. تنها برنامه‌های 32 بیتی " +"D3D1-7 و Glide را استفاده میکنند. از آنجا که به D3D11 ترجمه می‌شود، توصیه " +"می‌شودکه آن را در به هم پیوسته با DXVK استفاده کنید. تنها برنامه‌های 32 بیتی " "پشتیبانی می‌شوند." -#: lutris/runners/wine.py:407 +#: lutris/runners/wine.py:400 msgid "dgvoodoo2 version" msgstr "نگارش dgvoodoo2" -#: lutris/runners/wine.py:416 +#: lutris/runners/wine.py:409 msgid "Enable Esync" msgstr "فعال‌سازی Esync" -#: lutris/runners/wine.py:422 +#: lutris/runners/wine.py:415 msgid "" "Enable eventfd-based synchronization (esync). This will increase performance " "in applications that take advantage of multi-core processors." msgstr "" -"فعال کردن همگام سازی مبتنی بر eventfd (esync). این کار باعث افزایش عملکرد در " -"برنامه هایی می شود که پردازنده های چند هسته ای را بکار میگیرند." +"فعال کردن همگام‌سازی مبتنی بر eventfd (esync). این کار باعث افزایش عملکرد در " +"برنامه هایی می‌شود که پردازنده های چند هسته‌ای را استفاده میکنند." -#: lutris/runners/wine.py:429 +#: lutris/runners/wine.py:422 msgid "Enable Fsync" msgstr "فعال کردن Fsync" -#: lutris/runners/wine.py:435 +#: lutris/runners/wine.py:428 msgid "" "Enable futex-based synchronization (fsync). This will increase performance " "in applications that take advantage of multi-core processors. Requires " "kernel 5.16 or above." msgstr "" -"فعال کردن همگام سازی مبتنی بر futex (fsync). این کار باعث افزایش عملکرد در " -"برنامه هایی می شود که پردازنده های چند هسته‌ای را بکار میگیرند. نیاز به هسته " +"فعال کردن همگام‌سازی مبتنی بر futex (fsync). این کار باعث افزایش عملکرد در " +"برنامه هایی می‌شود که پردازنده های چند هسته‌ای را استفاده میکنند. نیاز به هسته " "5.16 یا بالاتر دارد." -#: lutris/runners/wine.py:443 +#: lutris/runners/wine.py:436 msgid "Enable AMD FidelityFX Super Resolution (FSR)" msgstr "فعال کردن AMD FidelityFX Super Resolution (FSR)" -#: lutris/runners/wine.py:447 +#: lutris/runners/wine.py:440 msgid "" "Use FSR to upscale the game window to native resolution.\n" "Requires Lutris Wine FShack >= 6.13 and setting the game to a lower " @@ -7001,16 +6950,16 @@ msgid "" "Does not work with games running in borderless window mode or that perform " "their own upscaling." msgstr "" -"بکارگرفتن FSR برای افزایش کیفیت پنجره بازی به رزولوشن بومی.\n" +"استفاده از FSR برای افزایش کیفیت پنجره بازی به رزولوشن بومی.\n" "نیاز به لوتریس واین FShack >= 6.13 و تنظیم بازی به رزولوشن پایین تر دارد.\n" -"با بازی هایی که در حالت پنجره بدون مرز اجرا می شوند یا خودشان افزایش کیفیت " -"را انجام می دهند، کار نمی کند." +"با بازی هایی که در حالت پنجره بدون مرز اجرا می‌شوند یا خودشان افزایش کیفیت را " +"انجام می دهند، کار نمی کند." -#: lutris/runners/wine.py:454 +#: lutris/runners/wine.py:447 msgid "Enable BattlEye Anti-Cheat" msgstr "فعال کردن BattlEye Anti-Cheat" -#: lutris/runners/wine.py:458 +#: lutris/runners/wine.py:451 msgid "" "Enable support for BattlEye Anti-Cheat in supported games\n" "Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" @@ -7018,11 +6967,11 @@ msgstr "" "فعال کردن پشتیبانی از BattlEye Anti-Cheat در بازی های پشتیبانی شده\n" "نیاز به لوتریس واین 6.21-2 و جدیدتر یا هر ساختار سازگار دیگر واین دارد.\n" -#: lutris/runners/wine.py:464 +#: lutris/runners/wine.py:457 msgid "Enable Easy Anti-Cheat" msgstr "فعال کردن Easy Anti-Cheat" -#: lutris/runners/wine.py:468 +#: lutris/runners/wine.py:461 msgid "" "Enable support for Easy Anti-Cheat in supported games\n" "Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" @@ -7030,15 +6979,15 @@ msgstr "" "فعال کردن پشتیبانی از Easy Anti-Cheat در بازی های پشتیبانی شده\n" "نیاز به لوتریس واین 7.2 و جدیدتر یا هر ساختار سازگار دیگر واین دارد.\n" -#: lutris/runners/wine.py:474 lutris/runners/wine.py:488 +#: lutris/runners/wine.py:467 lutris/runners/wine.py:482 msgid "Virtual Desktop" msgstr "میزکار مجازی" -#: lutris/runners/wine.py:475 +#: lutris/runners/wine.py:468 msgid "Windowed (virtual desktop)" -msgstr "پنجره ای (میزکار مجازی)" +msgstr "پنجره‌ای (میزکار مجازی)" -#: lutris/runners/wine.py:481 +#: lutris/runners/wine.py:475 msgid "" "Run the whole Windows desktop in a window.\n" "Otherwise, run it fullscreen.\n" @@ -7048,53 +6997,49 @@ msgstr "" "در غیر این صورت، اجرای آن در حالت تمام صفحه.\n" "این با گزینه میزکار مجازی واین هم‌خوانی دارد." -#: lutris/runners/wine.py:489 +#: lutris/runners/wine.py:483 msgid "Virtual desktop resolution" msgstr "رزولوشن میزکار مجازی" -#: lutris/runners/wine.py:494 +#: lutris/runners/wine.py:489 msgid "The size of the virtual desktop in pixels." msgstr "اندازه میزکار مجازی به پیکسل." -#: lutris/runners/wine.py:498 lutris/runners/wine.py:510 -#: lutris/runners/wine.py:511 +#: lutris/runners/wine.py:493 lutris/runners/wine.py:505 +#: lutris/runners/wine.py:506 msgid "DPI" msgstr "DPI" -#: lutris/runners/wine.py:499 +#: lutris/runners/wine.py:494 msgid "Enable DPI Scaling" msgstr "فعال کردن مقیاس بندی DPI" -#: lutris/runners/wine.py:504 +#: lutris/runners/wine.py:499 msgid "" "Enables the Windows application's DPI scaling.\n" "Otherwise, the Screen Resolution option in 'Wine configuration' controls " "this." msgstr "" "فعال کردن مقیاس بندی DPI برنامه های ویندوز.\n" -"در غیر این صورت، گزینه رزولوشن صفحه در 'پیکربندی واین' این را کنترل می کند." +"در غیر این صورت، گزینه رزولوشن صفحه در «پیکربندی واین» این را کنترل می کند." -#: lutris/runners/wine.py:516 -msgid "" -"The DPI to be used if 'Enable DPI Scaling' is turned on.\n" -"If blank or 'auto', Lutris will auto-detect this." -msgstr "" -"DPI بکارگرفته شده در صورت فعال بودن 'فعال کردن مقیاس بندی DPI'.\n" -"اگر خالی یا 'auto' باشد، لوتریس این را به طور خودکار تشخیص می دهد." +#: lutris/runners/wine.py:511 +msgid "The DPI to be used if 'Enable DPI Scaling' is turned on." +msgstr "اگر «فعال کردن مقیاس بندی DPI» روشن باشد این مقدار استفاده خواهد شد" -#: lutris/runners/wine.py:522 +#: lutris/runners/wine.py:515 msgid "Mouse Warp Override" msgstr "نقض تغییر مکان ماوس" -#: lutris/runners/wine.py:525 +#: lutris/runners/wine.py:518 msgid "Enable" msgstr "فعال کردن" -#: lutris/runners/wine.py:527 +#: lutris/runners/wine.py:520 msgid "Force" msgstr "اجبار" -#: lutris/runners/wine.py:532 +#: lutris/runners/wine.py:525 msgid "" "Override the default mouse pointer warping behavior\n" "Enable: (Wine default) warp the pointer when the mouse is exclusively " @@ -7108,123 +7053,107 @@ msgstr "" "غیرفعال کردن: هرگز نشانگر ماوس را تغییر مکان ندهید\n" "اجبار: همیشه نشانگر را تغییر مکان دهید" -#: lutris/runners/wine.py:541 +#: lutris/runners/wine.py:534 msgid "Audio driver" msgstr "درایور صدا" -#: lutris/runners/wine.py:552 +#: lutris/runners/wine.py:545 msgid "" "Which audio backend to use.\n" "By default, Wine automatically picks the right one for your system." msgstr "" -"کدام backend صوتی باید بکارگرفته شود.\n" +"کدام backend صوتی باید استفاده شود.\n" "به‌طور پیش‌گزیده، واین به‌طور خودکار گزینه مناسب را برای سامانه شما انتخاب " "می‌کند." -#: lutris/runners/wine.py:558 +#: lutris/runners/wine.py:551 msgid "DLL overrides" msgstr "نقض DLL" -#: lutris/runners/wine.py:559 +#: lutris/runners/wine.py:552 msgid "Sets WINEDLLOVERRIDES when launching the game." msgstr "واینDLLOVERRIDES را هنگام راه‌اندازی بازی تنظیم می‌کند." -#: lutris/runners/wine.py:563 +#: lutris/runners/wine.py:556 msgid "Output debugging info" msgstr "خروجی اطلاعات اشکال‌زدایی" -#: lutris/runners/wine.py:568 +#: lutris/runners/wine.py:561 msgid "Inherit from environment" msgstr "وراثت از محیط" -#: lutris/runners/wine.py:570 +#: lutris/runners/wine.py:563 msgid "Full (CAUTION: Will cause MASSIVE slowdown)" msgstr "کامل (هشدار: باعث کاهش سرعت شدید خواهد شد)" -#: lutris/runners/wine.py:573 +#: lutris/runners/wine.py:566 msgid "Output debugging information in the game log (might affect performance)" msgstr "" "خروجی اطلاعات اشکال‌زدایی در گزارش بازی (ممکن است بر عملکرد تأثیر بگذارد)" -#: lutris/runners/wine.py:577 +#: lutris/runners/wine.py:570 msgid "Show crash dialogs" -msgstr "نمایش دیالوگ‌های خرابی" +msgstr "نمایش گفتگو‌های خرابی" -#: lutris/runners/wine.py:585 +#: lutris/runners/wine.py:578 msgid "Autoconfigure joypads" -msgstr "پیکربندی خودکار دسته‌ها" +msgstr "پیکربندی خودکار دسته‌های بازی" -#: lutris/runners/wine.py:588 +#: lutris/runners/wine.py:581 msgid "" "Automatically disables one of Wine's detected joypad to avoid having 2 " "controllers detected" msgstr "" "به‌طور خودکار یکی از دسته‌‌بازی‌های شناسایی‌شده واین را غیرفعال می‌کند تا از " -"شناسایی ۲ دسته‌بازی جلوگیری کند" - -#: lutris/runners/wine.py:622 -msgid "" -"Warning Wine is not installed on your system\n" -"\n" -"Having Wine installed on your system guarantees that Wine builds from Lutris " -"will have all required dependencies.\n" -"Please follow the instructions given in the Lutris Wiki to install Wine." -msgstr "" -"هشدار واین بر روی سامانه شما نصب نشده است\n" -"\n" -"نصب واین بر روی سامانه شما تضمین می‌کند که نگارش‌های واین از لوتریس همه " -"وابستگی‌های مورد نیاز را خواهند داشت.\n" -"لطفاً دستورالعمل‌های در ویکی لوتریس را برای نصب واین دنبال کنید." +"شناسایی ۲ دسته بازی جلوگیری کند" -#: lutris/runners/wine.py:634 +#: lutris/runners/wine.py:615 msgid "Run EXE inside Wine prefix" msgstr "اجرای EXE در داخل پیشوند واین" -#: lutris/runners/wine.py:635 +#: lutris/runners/wine.py:616 msgid "Open Bash terminal" msgstr "باز کردن ترمینال Bash" -#: lutris/runners/wine.py:636 +#: lutris/runners/wine.py:617 msgid "Open Wine console" -msgstr "باز کردن کنسول ٌواین" +msgstr "باز کردن کنسول واین" -#: lutris/runners/wine.py:638 +#: lutris/runners/wine.py:619 msgid "Wine configuration" msgstr "پیکربندی واین" -#: lutris/runners/wine.py:639 +#: lutris/runners/wine.py:620 msgid "Wine registry" msgstr "رجیستری واین" -#: lutris/runners/wine.py:640 +#: lutris/runners/wine.py:621 msgid "Wine Control Panel" msgstr "پنل کنترل واین" -#: lutris/runners/wine.py:641 +#: lutris/runners/wine.py:622 msgid "Wine Task Manager" msgstr "مدیر وظایف واین" -#: lutris/runners/wine.py:643 +#: lutris/runners/wine.py:624 msgid "Winetricks" msgstr "winetricks" -#: lutris/runners/wine.py:773 lutris/runners/wine.py:779 +#: lutris/runners/wine.py:752 lutris/runners/wine.py:758 #, python-format msgid "The Wine executable at '%s' is missing." -msgstr "اجرای واین در '%s' گم شده است." +msgstr "اجرای واین در «%s» گم شده است." -#: lutris/runners/wine.py:837 +#: lutris/runners/wine.py:816 #, python-format msgid "The required game '%s' could not be found." -msgstr "بازی مورد نیاز '%s' پیدا نشد." +msgstr "بازی مورد نیاز «%s» پیدا نشد." -#: lutris/runners/wine.py:870 +#: lutris/runners/wine.py:849 msgid "The runner configuration does not specify a Wine version." msgstr "پیکربندی اجراکننده نگارش واین را مشخص نمی‌کند." -#: lutris/runners/wine.py:908 +#: lutris/runners/wine.py:887 msgid "Select an EXE or MSI file" msgstr "انتخاب یک پرونده EXE یا MSI" @@ -7246,16 +7175,16 @@ msgstr "تصویر DVD در قالب iso" #: lutris/runners/yuzu.py:13 msgid "Yuzu" -msgstr "یوزو" +msgstr "Yuzu" #. http://zdoom.org/wiki/Command_line_parameters #: lutris/runners/zdoom.py:13 -msgid "ZDoom DOOM Game Engine" -msgstr "موتور بازی ZDoom DOOM" +msgid "GZDoom Game Engine" +msgstr "موتور بازی‌سازی GZDoom" #: lutris/runners/zdoom.py:14 -msgid "ZDoom" -msgstr "ZDoom" +msgid "GZDoom" +msgstr "GZDoom" #: lutris/runners/zdoom.py:22 msgid "WAD file" @@ -7267,7 +7196,7 @@ msgstr "داده‌های بازی، که معمولاً به آن پرونده #: lutris/runners/zdoom.py:29 msgid "Command line arguments used when launching the game." -msgstr "آرگومان‌های خط فرمان که هنگام راه‌اندازی بازی بکارگرفته می‌شوند." +msgstr "آرگومان‌های خط فرمان که هنگام راه‌اندازی بازی استفاده می‌شوند." #: lutris/runners/zdoom.py:34 msgid "PWAD files" @@ -7279,7 +7208,7 @@ msgid "" "levels." msgstr "" "برای بارگذاری یک یا چند پرونده PWAD که معمولاً شامل سطوح ایجادشده توسط کاربر " -"هستند، بکارگرفته می‌شود." +"هستند، استفاده می‌شود." #: lutris/runners/zdoom.py:40 msgid "Warp to map" @@ -7311,11 +7240,11 @@ msgstr "مهارت" #: lutris/runners/zdoom.py:67 msgid "I'm Too Young To Die (1)" -msgstr "من خیلی جوانم که بمیرم (۱)" +msgstr "من هنوز جوونم آرزو دارم (۱)" #: lutris/runners/zdoom.py:68 msgid "Hey, Not Too Rough (2)" -msgstr "هی، نه خیلی سخت (۲)" +msgstr "هی، نه اونقدرا سخت (۲)" #: lutris/runners/zdoom.py:69 msgid "Hurt Me Plenty (3)" @@ -7334,23 +7263,22 @@ msgid "" "Used to load a user-created configuration file. If specified, the file must " "contain the wad directory list or launch will fail." msgstr "" -"برای بارگذاری یک پرونده پیکربندی ایجادشده توسط کاربر بکارگرفته می‌شود. اگر " -"مشخص شود، پرونده باید شامل فهرست مسیر wad باشد وگرنه راه‌اندازی شکست خواهد " -"خورد." +"برای بارگذاری یک پرونده پیکربندی ایجادشده توسط کاربر استفاده می‌شود. اگر مشخص " +"شود، پرونده باید شامل فهرست مسیر wad باشد وگرنه راه‌اندازی شکست خواهد خورد." -#: lutris/runtime.py:125 +#: lutris/runtime.py:127 #, python-format msgid "Updating %s" msgstr "در حال به‌روزرسانی %s" -#: lutris/runtime.py:128 +#: lutris/runtime.py:130 #, python-format msgid "Updated %s" msgstr "به‌روزرسانی شده %s" #: lutris/services/amazon.py:69 msgid "Amazon" -msgstr "آمازون" +msgstr "Amazon" #: lutris/services/amazon.py:179 msgid "No Amazon user data available, please log in again" @@ -7383,7 +7311,7 @@ msgstr "الگوریتم فشرده‌سازی ناشناخته‌ای در ما #: lutris/services/amazon.py:526 #, python-format msgid "Unable to get the patches of game '%s'" -msgstr "نمی‌توان وصله‌های بازی '%s' را دریافت کرد" +msgstr "نمی‌توان وصله‌های بازی «%s» را دریافت کرد" #: lutris/services/amazon.py:603 msgid "Unable to get fuel.json file." @@ -7401,7 +7329,7 @@ msgstr "نمی‌توان دریافتهای این بازی را بارگذار msgid "Amazon Prime Gaming" msgstr "بازی‌های آمازون پرایم" -#: lutris/services/base.py:447 +#: lutris/services/base.py:450 #, python-format msgid "" "This service requires a game launcher. The following steps will install it.\n" @@ -7412,19 +7340,19 @@ msgstr "" #: lutris/services/battlenet.py:105 msgid "Battle.net" -msgstr "بتل نت" +msgstr "Battle.net" -#: lutris/services/ea_app.py:146 +#: lutris/services/ea_app.py:141 msgid "EA App" -msgstr "برنامه EA" +msgstr "EA App" #: lutris/services/egs.py:142 msgid "Epic Games Store" -msgstr "فروشگاه اپیک گیمز" +msgstr "Epic Games Store" #: lutris/services/flathub.py:56 msgid "Flathub" -msgstr "فلاتهاب" +msgstr "Flathub" #: lutris/services/flathub.py:84 msgid "No flatpak or flatpak-spawn found" @@ -7435,7 +7363,7 @@ msgid "" "Flathub is not configured on the system. Visit https://flatpak.org/setup/ " "for instructions." msgstr "" -"فلاتهاب بر روی سامانه پیکربندی نشده است. به https://فلت‌پک.org/setup/ برای " +"فلت‌هاب بر روی سامانه پیکربندی نشده است. به https://فلت‌پک.org/setup/ برای " "دستورالعمل‌ها مراجعه کنید." #: lutris/services/gog.py:79 @@ -7450,15 +7378,15 @@ msgstr "نمی‌توان پیوند‌های دریافت این بازی را msgid "Unable to determine correct file to launch installer" msgstr "نمی‌توان پرونده صحیح برای راه‌اندازی نصب‌کننده را تعیین کرد" -#: lutris/services/humblebundle.py:62 +#: lutris/services/humblebundle.py:65 msgid "Humble Bundle" -msgstr "همراه با همتایان" +msgstr "Humble Bundle" -#: lutris/services/humblebundle.py:82 +#: lutris/services/humblebundle.py:85 msgid "Workaround for Humble Bundle authentication" -msgstr "راه‌حل برای احراز هویت Humble Bundle" +msgstr "راه‌حل برای احراز هویت هامبل باندل" -#: lutris/services/humblebundle.py:84 +#: lutris/services/humblebundle.py:87 msgid "" "Humble Bundle is restricting API calls from software like Lutris and " "GameHub.\n" @@ -7466,56 +7394,82 @@ msgid "" "There is a workaround involving copying cookies from Firefox, do you want to " "do this instead?" msgstr "" -"Humble Bundle تماس‌های API از نرم‌افزارهایی مانند لوتریس و GameHub را محدود " +"هامبل باندل تماس‌های API از نرم‌افزارهایی مانند لوتریس و گیم‌هاب' را محدود " "می‌کند.\n" "احراز هویت به این سرویس احتمالاً شکست خواهد خورد.\n" -"یک راه‌حل شامل هم‌مانندسازی کردن کوکی‌ها از فایرفاکس وجود دارد، آیا می‌خواهید " -"این کار را انجام دهید؟" +"یک راه‌حل شامل رونویسی کردن کوکی‌ها از فایرفاکس وجود دارد، آیا می‌خواهید این " +"کار را انجام دهید؟" -#: lutris/services/humblebundle.py:235 +#: lutris/services/humblebundle.py:238 msgid "The download URL for the game could not be determined." -msgstr "آدرس دریافت برای بازی قابل تعیین نیست." +msgstr "نشانی دریافت بازی قابل تعیین نیست." -#: lutris/services/humblebundle.py:237 +#: lutris/services/humblebundle.py:240 msgid "No game found on Humble Bundle" -msgstr "هیچ بازی در Humble Bundle یافت نشد" +msgstr "هیچ بازی در هامبل باندل یافت نشد" #. According to their branding, "itch.io" is supposed to be all lowercase -#: lutris/services/itchio.py:95 +#: lutris/services/itchio.py:84 msgid "itch.io" msgstr "itch.io" +#: lutris/services/itchio.py:129 +msgid "" +"Lutris needs an API key to connect to itch.io. You can obtain one\n" +"from the itch.io API keys " +"page.\n" +"\n" +"You should give Lutris its own API key instead of sharing them." +msgstr "" +"لوتریس برای برقراری پیوند با itch.io نیاز به یک API Key دارد. می‌توانید یکی " +"از آن را\n" +"در itch.io صفحهAPI keys " +"دریافت کنید.\n" +"برای لوتریس باید یک کلید جدید بسازید و از یک کلید اشتراکی استفاده نکنید." + +#: lutris/services/itchio.py:138 +msgid "Itch.io API key" +msgstr "Itch.io API key" + #: lutris/services/lutris.py:132 #, python-format msgid "Lutris has no installers for %s. Try using a different service instead." -msgstr "لوتریس هیچ نصبی برای %s ندارد. بکوشید سرویس دیگری را بکار بگیرید." +msgstr "لوتریس هیچ نصبی برای %s ندارد. تلاش کنید خدمت دیگری را استفاده کنید." + +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Steam Family" + +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "برای نمایش همه بازی‌های خانواده استیم استفاده می‌شود" #: lutris/services/steam.py:98 msgid "" "Failed to load games. Check that your profile is set to public during the " "sync." msgstr "" -"بارگذاری بازی‌ها شکست خورد. بررسی کنید که نمایه شما در حین همگام‌سازی عمومی " -"تنظیم شده باشد." +"بارگذاری بازی‌ها با خطا مواجه شد. مطمئن شوید که نمایه شمادر زمان همگام‌سازی " +"روی حالت عمومی تنظیم شده است." #: lutris/services/steamwindows.py:24 msgid "Steam for Windows" -msgstr "استیم برای ویندوز" +msgstr "Steam for Windows" #: lutris/services/steamwindows.py:25 msgid "" "Use only for the rare games or mods requiring the Windows version of Steam" msgstr "" -"تنها برای بازی‌ها یا مدهای نادر که به نگارش ویندوز استیم نیاز دارند، " -"بکارگرفته میشود" +"تنها برای بازی‌ها یا مدهای نادر که به نگارش ویندوز استیم نیاز دارند، استفاده " +"می‌شود" -#: lutris/services/ubisoft.py:85 +#: lutris/services/ubisoft.py:79 msgid "Ubisoft Connect" -msgstr "اتصال یوبی‌سافت" +msgstr "Ubisoft Connect" #: lutris/services/xdg.py:44 msgid "Local" -msgstr "محلی" +msgstr "Local" #: lutris/settings.py:16 msgid "(c) 2009 Lutris Team" @@ -7527,8 +7481,8 @@ msgid "" "Failed to open database file in %s. Try renaming this file and relaunch " "Lutris" msgstr "" -"باز کردن پرونده پایگاه داده در %s شکست خورد. کوشش کنید این پرونده را تغییر " -"نام دهید و لوتریس را دوباره راه‌اندازی کنید." +"باز کردن پرونده پایگاه داده در %s شکست خورد. تلاش کنید نام این پرونده را " +"تغییر دهید و لوتریس را دوباره راه‌اندازی کنید." #: lutris/sysoptions.py:19 msgid "Keep current" @@ -7566,7 +7520,7 @@ msgstr "لهستانی" msgid "Russian" msgstr "روسی" -#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:513 +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 msgid "Off" msgstr "خاموش" @@ -7587,9 +7541,9 @@ msgid "" "The Lutris Runtime loads some libraries before running the game, which can " "cause some incompatibilities in some cases. Check this option to disable it." msgstr "" -"زمان اجرای لوتریس برخی کتابخانه‌ها را پیش از اجرای بازی بارگذاری می‌کند که " -"ممکن است در برخی موارد باعث ناسازگاری شود. این گزینه را بررسی کنید تا آن را " -"غیرفعال کنید." +"زمان اجرای لوتریس(lutris runtime) برخی کتابخانه‌ها را پیش از اجرای بازی " +"بارگذاری می‌کند که ممکن است در برخی موارد باعث ناسازگاری شود. این گزینه را " +"بررسی کنید تا آن را غیرفعال کنید." #: lutris/sysoptions.py:105 msgid "Prefer system libraries" @@ -7604,8 +7558,8 @@ msgstr "" "آمده ترجیح دهید." #: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 -#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:168 -#: lutris/sysoptions.py:183 lutris/sysoptions.py:199 +#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 +#: lutris/sysoptions.py:179 lutris/sysoptions.py:195 msgid "Display" msgstr "نمایش" @@ -7625,7 +7579,7 @@ msgstr "شمارنده FPS (MangoHud)" msgid "" "Display the game's FPS + other information. Requires MangoHud to be " "installed." -msgstr "FPS بازی و اطلاعات دیگر را نمایش دهید. نیاز به نصب MangoHud دارد." +msgstr "FPS بازی و اطلاعات دیگر را نمایش داده شود. نیاز به نصب MangoHud دارد." #: lutris/sysoptions.py:132 msgid "Restore resolution on game exit" @@ -7638,7 +7592,7 @@ msgid "" "into play to save your bacon." msgstr "" "برخی از بازی‌ها هنگام بسته شدن یا هنگ کردن، وضوح صفحه نمایش شما را " -"بازنمی‌گردانند. این گزینه برای نجات شما به کار می‌آید." +"بازنمی‌گردانند. این گزینه به نجات شما می‌آید." #: lutris/sysoptions.py:145 msgid "Disable desktop effects" @@ -7648,38 +7602,33 @@ msgstr "غیرفعال کردن افکت‌های میزکار" msgid "" "Disable desktop effects while game is running, reducing stuttering and " "increasing performance" -msgstr "" -"غیرفعال کردن افکت‌های میزکار در حین اجرای بازی، کاهش لگ و افزایش عملکرد" +msgstr "غیرفعال کردن افکت‌های میزکار در حین اجرای بازی، کاهش لگ و افزایش عملکرد" #: lutris/sysoptions.py:156 -msgid "Disable screen saver" -msgstr "غیرفعال کردن محافظ صفحه" +msgid "Prevent sleep" +msgstr "جلوگیری از خواب" -#: lutris/sysoptions.py:162 -msgid "" -"Disable the screen saver while a game is running. Requires the screen " -"saver's functionality to be exposed over DBus." -msgstr "" -"غیرفعال کردن محافظ صفحه در حین اجرای بازی. نیاز به فعال بودن عملکرد محافظ " -"صفحه از طریق DBus دارد." +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." +msgstr "وقتی یک بازی در حال اجراست از به خواب رفتن دستگاه جلوگیری میکند" -#: lutris/sysoptions.py:171 +#: lutris/sysoptions.py:167 msgid "SDL 1.2 Fullscreen Monitor" -msgstr "مانیتور تمام صفحه SDL 1.2" +msgstr "نمایشگر تمام صفحه SDL 1.2" -#: lutris/sysoptions.py:177 +#: lutris/sysoptions.py:173 msgid "" "Hint SDL 1.2 games to use a specific monitor when going fullscreen by " "setting the SDL_VIDEO_FULLSCREEN environment variable" msgstr "" -"به بازی‌های SDL 1.2 اشاره کنید که برای رفتن به حالت تمام صفحه یک مانیتور ویژه " -"را بکار میگیرند با تنظیم متغیر محیطی SDL_VIDEO_FULLSCREEN" +"به بازی‌های SDL 1.2 اشاره کنید که برای رفتن به حالت تمام صفحه یک نمایشگر ویژه " +"را استفاده میکنند با تنظیم متغیر محیطی SDL_VIDEO_FULLSCREEN" -#: lutris/sysoptions.py:186 +#: lutris/sysoptions.py:182 msgid "Turn off monitors except" -msgstr "خاموش کردن مانیتورها به جز" +msgstr "خاموش کردن نمایشگرها به جز" -#: lutris/sysoptions.py:192 +#: lutris/sysoptions.py:188 msgid "" "Only keep the selected screen active while the game is running. \n" "This is useful if you have a dual-screen setup, and are \n" @@ -7689,31 +7638,31 @@ msgstr "" "این برای شما مفید است اگر یک تنظیم دو صفحه‌ای دارید و \n" "در هنگام اجرای بازی در حالت تمام صفحه با مشکلات نمایش مواجه هستید." -#: lutris/sysoptions.py:202 +#: lutris/sysoptions.py:198 msgid "Switch resolution to" msgstr "تغییر وضوح به" -#: lutris/sysoptions.py:207 +#: lutris/sysoptions.py:203 msgid "Switch to this screen resolution while the game is running." msgstr "در حین اجرای بازی به این وضوح صفحه تغییر دهید." -#: lutris/sysoptions.py:213 +#: lutris/sysoptions.py:209 msgid "Enable Gamescope" msgstr "فعال‌سازی Gamescope" -#: lutris/sysoptions.py:216 +#: lutris/sysoptions.py:212 msgid "" "Use gamescope to draw the game window isolated from your desktop.\n" "Toggle fullscreen: Super + F" msgstr "" -"Gamescope را برای رسم پنجره بازی به صورت جدا از میزکار خود بکار بگیرید.\n" +"Gamescope را برای رسم پنجره بازی به صورت جدا از میزکار خود استفاده کنید.\n" "تغییر حالت تمام صفحه: Super + F" -#: lutris/sysoptions.py:222 +#: lutris/sysoptions.py:218 msgid "Enable HDR (Experimental)" msgstr "فعال کردن HDR (آزمایشی)" -#: lutris/sysoptions.py:227 +#: lutris/sysoptions.py:223 msgid "" "Enable HDR for games that support it.\n" "Requires Plasma 6 and VK_hdr_layer." @@ -7721,63 +7670,63 @@ msgstr "" "فعال کردن HDR برای بازی‌هایی که از آن پشتیبانی می‌کنند.\n" "نیاز به Plasma 6 و VK_hdr_layer دارد." -#: lutris/sysoptions.py:233 +#: lutris/sysoptions.py:229 msgid "Relative Mouse Mode" msgstr "حالت ماوس نسبی" -#: lutris/sysoptions.py:239 +#: lutris/sysoptions.py:235 msgid "" "Always use relative mouse mode instead of flipping\n" "dependent on cursor visibility\n" "Can help with games where the player's camera faces the floor" msgstr "" -"همیشه حالت ماوس نسبی را بکار بگیرید به جای تغییر\n" +"همیشه حالت ماوس نسبی را استفاده کنید به جای تغییر\n" "بسته به دید ماوس\n" "می‌تواند در بازی‌هایی که دوربین بازیکن به سمت زمین است کمک کند." -#: lutris/sysoptions.py:248 +#: lutris/sysoptions.py:244 msgid "Output Resolution" msgstr "وضوح خروجی" -#: lutris/sysoptions.py:254 +#: lutris/sysoptions.py:250 msgid "" "Set the resolution used by gamescope.\n" "Resizing the gamescope window will update these settings.\n" "\n" "Custom Resolutions: (width)x(height)" msgstr "" -"وضوح بکارگرفته شده توسط Gamescope را تنظیم کنید.\n" +"وضوح استفاده شده توسط Gamescope را تنظیم کنید.\n" "تغییر اندازه پنجره Gamescope این تنظیمات را به‌روزرسانی می‌کند.\n" "\n" "وضوح‌های سفارشی: (عرض)x(ارتفاع)" -#: lutris/sysoptions.py:264 +#: lutris/sysoptions.py:260 msgid "Game Resolution" msgstr "وضوح بازی" -#: lutris/sysoptions.py:268 +#: lutris/sysoptions.py:264 msgid "" "Set the maximum resolution used by the game.\n" "\n" "Custom Resolutions: (width)x(height)" msgstr "" -"بیشینه وضوح مورد بکارگرفته توسط بازی را تنظیم کنید.\n" +"بیشینه وضوح مورد استفاده توسط بازی را تنظیم کنید.\n" "\n" "وضوح‌های سفارشی: (عرض)x(ارتفاع)" -#: lutris/sysoptions.py:273 +#: lutris/sysoptions.py:269 msgid "Window Mode" -msgstr "حالت پنجره" +msgstr "حالت پنجره‌ای" -#: lutris/sysoptions.py:277 +#: lutris/sysoptions.py:273 msgid "Windowed" msgstr "پنجره‌ای" -#: lutris/sysoptions.py:278 +#: lutris/sysoptions.py:274 msgid "Borderless" msgstr "بدون حاشیه" -#: lutris/sysoptions.py:283 +#: lutris/sysoptions.py:279 msgid "" "Run gamescope in fullscreen, windowed or borderless mode\n" "Toggle fullscreen : Super + F" @@ -7785,75 +7734,74 @@ msgstr "" "Gamescope را در حالت تمام صفحه، پنجره‌ای یا بدون حاشیه اجرا کنید\n" "تغییر حالت تمام صفحه : Super + F" -#: lutris/sysoptions.py:288 +#: lutris/sysoptions.py:284 msgid "FSR Level" msgstr "سطح FSR" -#: lutris/sysoptions.py:294 +#: lutris/sysoptions.py:290 msgid "" "Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" "Upscaler sharpness from 0 (max) to 20 (min)." msgstr "" -"AMD FidelityFX™ Super Resolution 1.0 را برای بزرگ‌نمایی بکار بگیرید.\n" +"AMD FidelityFX™ Super Resolution 1.0 را برای بزرگ‌نمایی استفاده کنید.\n" "تندی بزرگ‌نمایی از 0 (حداکثر) تا 20 (حداقل)." -#: lutris/sysoptions.py:300 +#: lutris/sysoptions.py:296 msgid "Framerate Limiter" msgstr "محدودکننده فریم‌ریت" -#: lutris/sysoptions.py:305 +#: lutris/sysoptions.py:301 msgid "Set a frame-rate limit for gamescope specified in frames per second." msgstr "" "یک محدودیت فریم‌ریت برای Gamescope تعیین کنید که به فریم در ثانیه مشخص شده " "است." -#: lutris/sysoptions.py:310 +#: lutris/sysoptions.py:306 msgid "Custom Settings" msgstr "تنظیمات سفارشی" -#: lutris/sysoptions.py:316 +#: lutris/sysoptions.py:312 msgid "" "Set additional flags for gamescope (if available).\n" "See 'gamescope --help' for a full list of options." msgstr "" "پرچم‌های افزوده برای Gamescope را تنظیم کنید (در صورت موجود بودن).\n" -"برای فهرست کامل گزینه‌ها به 'gamescope --help' مراجعه کنید." +"برای فهرست کامل گزینه‌ها به «gamescope --help» مراجعه کنید." -#: lutris/sysoptions.py:323 +#: lutris/sysoptions.py:319 msgid "Restrict number of cores used" -msgstr "محدود کردن تعداد هسته‌های بکارگرفته شده" +msgstr "محدود کردن تعداد هسته‌های استفاده شده" -#: lutris/sysoptions.py:325 +#: lutris/sysoptions.py:321 msgid "Restrict the game to a maximum number of CPU cores." msgstr "محدود کردن بازی به حداکثر تعداد هسته‌های CPU." -#: lutris/sysoptions.py:331 +#: lutris/sysoptions.py:327 msgid "Restrict number of cores to" msgstr "محدود کردن تعداد هسته‌ها به" -#: lutris/sysoptions.py:334 +#: lutris/sysoptions.py:330 msgid "" "Maximum number of CPU cores to be used, if 'Restrict number of cores used' " "is turned on." msgstr "" -"بیشینه تعداد هسته‌های CPU که باید بکارگرفته شود، اگر 'محدود کردن تعداد " -"هسته‌های بکارگرفته شده' فعال باشد." +"بیشینه تعداد هسته‌های CPU که باید استفاده شود، اگر «محدود کردن تعداد هسته‌های " +"استفاده شده» فعال باشد." -#: lutris/sysoptions.py:342 +#: lutris/sysoptions.py:338 msgid "Enable Feral GameMode" msgstr "فعال کردن Feral GameMode" -#: lutris/sysoptions.py:343 +#: lutris/sysoptions.py:339 msgid "Request a set of optimisations be temporarily applied to the host OS" msgstr "" -"درخواست مجموعه‌ای از بهینه‌سازی‌ها که به طور موقت به سامانه‌عامل میزبان اعمال " -"شود" +"درخواست مجموعه‌ای از بهینه‌سازی‌ها که به طور موقت به سامانه‌عامل میزبان اعمال شود" -#: lutris/sysoptions.py:349 +#: lutris/sysoptions.py:345 msgid "Reduce PulseAudio latency" msgstr "کاهش تأخیر PulseAudio" -#: lutris/sysoptions.py:353 +#: lutris/sysoptions.py:349 msgid "" "Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " "on some games" @@ -7861,31 +7809,31 @@ msgstr "" "متغیر محیطی PULSE_LATENCY_MSEC=60 را تنظیم کنید تا کیفیت صدا را در برخی " "بازی‌ها بهبود بخشد." -#: lutris/sysoptions.py:356 lutris/sysoptions.py:365 lutris/sysoptions.py:373 +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 msgid "Input" msgstr "ورودی" -#: lutris/sysoptions.py:359 +#: lutris/sysoptions.py:355 msgid "Switch to US keyboard layout" msgstr "تغییر به چیدمان صفحه کلید آمریکایی" -#: lutris/sysoptions.py:362 +#: lutris/sysoptions.py:359 msgid "Switch to US keyboard QWERTY layout while game is running" msgstr "تغییر به چیدمان QWERTY صفحه کلید آمریکایی در حین اجرای بازی" -#: lutris/sysoptions.py:368 +#: lutris/sysoptions.py:365 msgid "AntiMicroX Profile" msgstr "نمایه AntiMicroX" -#: lutris/sysoptions.py:370 +#: lutris/sysoptions.py:367 msgid "Path to an AntiMicroX profile file" msgstr "مسیر پرونده نمایه AntiMicroX" -#: lutris/sysoptions.py:376 +#: lutris/sysoptions.py:373 msgid "SDL2 gamepad mapping" msgstr "نقشه‌برداری دسته بازی SDL2" -#: lutris/sysoptions.py:379 +#: lutris/sysoptions.py:376 msgid "" "SDL_GAMECONTROLLERCONFIG mapping string or path to a custom " "gamecontrollerdb.txt file containing mappings." @@ -7893,15 +7841,15 @@ msgstr "" "متن نقشه‌برداری SDL_GAMECONTROLLERCONFIG یا مسیر به یک پرونده " "gamecontrollerdb.txt سفارشی که شامل نقشه‌ها است." -#: lutris/sysoptions.py:384 lutris/sysoptions.py:396 +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 msgid "Text based games" msgstr "بازی‌های متنی" -#: lutris/sysoptions.py:386 +#: lutris/sysoptions.py:382 msgid "CLI mode" msgstr "حالت CLI" -#: lutris/sysoptions.py:391 +#: lutris/sysoptions.py:387 msgid "" "Enable a terminal for text-based games. Only useful for ASCII based games. " "May cause issues with graphical games." @@ -7909,87 +7857,87 @@ msgstr "" "یک ترمینال برای بازی‌های متنی فعال کنید. تنها برای بازی‌های مبتنی بر ASCII " "مفید است. ممکن است با بازی‌های گرافیکی مشکلاتی ایجاد کند." -#: lutris/sysoptions.py:398 +#: lutris/sysoptions.py:394 msgid "Text based games emulator" msgstr "شبیه‌ساز بازی‌های متنی" -#: lutris/sysoptions.py:404 +#: lutris/sysoptions.py:400 msgid "" "The terminal emulator used with the CLI mode. Choose from the list of " "detected terminal apps or enter the terminal's command or path." msgstr "" -"شبیه‌ساز ترمینال بکارگرفته شده با حالت CLI. از فهرست برنامه‌های ترمینال " -"شناسایی شده انتخاب کنید یا دستور یا مسیر ترمینال را وارد کنید." +"شبیه‌ساز ترمینال استفاده شده با حالت CLI. از فهرست برنامه‌های ترمینال شناسایی " +"شده انتخاب کنید یا دستور یا مسیر ترمینال را وارد کنید." -#: lutris/sysoptions.py:410 lutris/sysoptions.py:417 lutris/sysoptions.py:427 -#: lutris/sysoptions.py:435 lutris/sysoptions.py:443 lutris/sysoptions.py:451 -#: lutris/sysoptions.py:461 lutris/sysoptions.py:469 lutris/sysoptions.py:482 -#: lutris/sysoptions.py:496 +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 +#: lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 +#: lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 +#: lutris/sysoptions.py:492 msgid "Game execution" msgstr "اجرای بازی" -#: lutris/sysoptions.py:414 +#: lutris/sysoptions.py:410 msgid "Environment variables loaded at run time" msgstr "متغیرهای محیطی در زمان اجرا بارگذاری می‌شوند" -#: lutris/sysoptions.py:420 +#: lutris/sysoptions.py:416 msgid "Locale" -msgstr "محلی(locale)" +msgstr "زبان" -#: lutris/sysoptions.py:424 +#: lutris/sysoptions.py:420 msgid "" "Can be used to force certain locale for an app. Fixes encoding issues in " "legacy software." msgstr "" -"می‌تواند برای تحمیل یک محلی(locale) ویژه برای یک برنامه بکارگرفته شود. مشکلات " +"می‌تواند برای تحمیل یک زبان(locale) ویژه برای یک برنامه استفاده شود. مشکلات " "کدگذاری در نرم‌افزارهای قدیمی را برطرف می‌کند." -#: lutris/sysoptions.py:430 +#: lutris/sysoptions.py:426 msgid "Command prefix" msgstr "پیشوند دستور" -#: lutris/sysoptions.py:432 +#: lutris/sysoptions.py:428 msgid "" "Command line instructions to add in front of the game's execution command." msgstr "دستورات خط فرمان برای افزودن در جلوی دستور اجرای بازی." -#: lutris/sysoptions.py:438 +#: lutris/sysoptions.py:434 msgid "Manual script" msgstr "اسکریپت دستی" -#: lutris/sysoptions.py:440 +#: lutris/sysoptions.py:436 msgid "Script to execute from the game's contextual menu" -msgstr "اسکریپتی که از گزینگان زمینه بازی اجرا می‌شود" +msgstr "اسکریپتی که از منو زمینه بازی اجرا می‌شود" -#: lutris/sysoptions.py:446 +#: lutris/sysoptions.py:442 msgid "Pre-launch script" msgstr "اسکریپت پیش‌راه‌اندازی" -#: lutris/sysoptions.py:448 +#: lutris/sysoptions.py:444 msgid "Script to execute before the game starts" msgstr "اسکریپتی که پیش از شروع بازی اجرا می‌شود" -#: lutris/sysoptions.py:454 +#: lutris/sysoptions.py:450 msgid "Wait for pre-launch script completion" msgstr "منتظر پایان اسکریپت پیش‌راه‌اندازی باشید" -#: lutris/sysoptions.py:458 +#: lutris/sysoptions.py:454 msgid "Run the game only once the pre-launch script has exited" msgstr "اجرا بازی تنها پس از خروج اسکریپت پیش-راه‌اندازی" -#: lutris/sysoptions.py:464 +#: lutris/sysoptions.py:460 msgid "Post-exit script" msgstr "اسکریپت پس از خروج" -#: lutris/sysoptions.py:466 +#: lutris/sysoptions.py:462 msgid "Script to execute when the game exits" msgstr "اسکریپتی که هنگام خروج از بازی اجرا می‌شود" -#: lutris/sysoptions.py:472 +#: lutris/sysoptions.py:468 msgid "Include processes" msgstr "شامل کردن فرآیندها" -#: lutris/sysoptions.py:475 +#: lutris/sysoptions.py:471 msgid "" "What processes to include in process monitoring. This is to override the " "built-in exclude list.\n" @@ -8001,11 +7949,11 @@ msgstr "" "فهرست جداشده با فاصله، فرآیندهایی که شامل فاصله هستند می‌توانند در علامت‌های " "نقل قول قرار گیرند." -#: lutris/sysoptions.py:485 +#: lutris/sysoptions.py:481 msgid "Exclude processes" msgstr "استثنا کردن فرآیندها" -#: lutris/sysoptions.py:488 +#: lutris/sysoptions.py:484 msgid "" "What processes to exclude in process monitoring. For example background " "processes that stick around after the game has been closed.\n" @@ -8017,11 +7965,11 @@ msgstr "" "فهرست جداشده با فاصله، فرآیندهایی که شامل فاصله هستند می‌توانند در علامت‌های " "نقل قول قرار گیرند." -#: lutris/sysoptions.py:499 +#: lutris/sysoptions.py:495 msgid "Killswitch file" msgstr "پرونده Killswitch" -#: lutris/sysoptions.py:502 +#: lutris/sysoptions.py:498 msgid "" "Path to a file which will stop the game when deleted \n" "(usually /dev/input/js0 to stop the game on joystick unplugging)" @@ -8029,43 +7977,43 @@ msgstr "" "مسیر پرونده‌ای که بازی را هنگام پاک‌کردن متوقف می‌کند \n" "(معمولاً /dev/input/js0 برای متوقف کردن بازی هنگام جدا کردن دسته است)" -#: lutris/sysoptions.py:508 lutris/sysoptions.py:524 lutris/sysoptions.py:533 +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 msgid "Xephyr (Deprecated, use Gamescope)" -msgstr "Xephyr (منسوخ شده، Gamescope را بکار بگیرید)" +msgstr "Xephyr (منسوخ شده، Gamescope را استفاده کنید)" -#: lutris/sysoptions.py:510 +#: lutris/sysoptions.py:506 msgid "Use Xephyr" -msgstr "بکارگرفتن Xephyr" +msgstr "استفاده از Xephyr" -#: lutris/sysoptions.py:514 +#: lutris/sysoptions.py:510 msgid "8BPP (256 colors)" msgstr "8BPP (256 رنگ)" -#: lutris/sysoptions.py:515 +#: lutris/sysoptions.py:511 msgid "16BPP (65536 colors)" msgstr "16BPP (65536 رنگ)" -#: lutris/sysoptions.py:516 +#: lutris/sysoptions.py:512 msgid "24BPP (16M colors)" msgstr "24BPP (16 میلیون رنگ)" -#: lutris/sysoptions.py:521 +#: lutris/sysoptions.py:517 msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" msgstr "اجرای برنامه در Xephyr برای پشتیبانی از حالت‌های رنگ 8BPP و 16BPP" -#: lutris/sysoptions.py:527 +#: lutris/sysoptions.py:523 msgid "Xephyr resolution" msgstr "وضوح Xephyr" -#: lutris/sysoptions.py:530 +#: lutris/sysoptions.py:526 msgid "Screen resolution of the Xephyr server" msgstr "وضوح صفحه نمایش سرور Xephyr" -#: lutris/sysoptions.py:536 +#: lutris/sysoptions.py:532 msgid "Xephyr Fullscreen" msgstr "تمام صفحه Xephyr" -#: lutris/sysoptions.py:540 +#: lutris/sysoptions.py:536 msgid "Open Xephyr in fullscreen (at the desktop resolution)" msgstr "باز کردن Xephyr در حالت تمام صفحه (در وضوح میزکار)" @@ -8073,12 +8021,15 @@ msgstr "باز کردن Xephyr در حالت تمام صفحه (در وضوح م msgid "Flatpak is not installed" msgstr "فلت‌پک نصب نشده است" +#: lutris/util/linux.py:547 +msgid "No terminal emulator could be detected." +msgstr "هیچ شبیه‌ساز پایانه ترمینالی شناسایی نشد." + #: lutris/util/portals.py:83 #, python-format msgid "" "'%s' could not be moved to the trash. You will need to delete it yourself." -msgstr "" -"'%s' نمی‌تواند به سطل زباله جابه‌جا شود. شما باید خودتان آن را پاک کنید." +msgstr "«%s» نمی‌تواند به سطل زباله جابه‌جا شود. شما باید خودتان آن را پاک کنید." #: lutris/util/portals.py:88 #, python-format @@ -8087,8 +8038,7 @@ msgid "" "yourself:\n" "%s" msgstr "" -"موارد نمی‌توانند به سطل زباله جابه‌جا شوند. شما باید خودتان آنها را پاک کنید:" -"\n" +"موارد نمی‌توانند به سطل زباله جابه‌جا شوند. شما باید خودتان آنها را پاک کنید:\n" "%s" #: lutris/util/strings.py:17 @@ -8097,100 +8047,100 @@ msgstr "هرگز بازی نشده" #. This function works out how many hours are meant by some #. number of some unit. -#: lutris/util/strings.py:199 lutris/util/strings.py:266 +#: lutris/util/strings.py:210 lutris/util/strings.py:275 msgid "hour" msgstr "ساعت" -#: lutris/util/strings.py:199 lutris/util/strings.py:266 +#: lutris/util/strings.py:210 lutris/util/strings.py:275 msgid "hours" -msgstr "ساعت‌ها" +msgstr "ساعت" -#: lutris/util/strings.py:203 lutris/util/strings.py:267 +#: lutris/util/strings.py:212 lutris/util/strings.py:276 msgid "minute" msgstr "دقیقه" -#: lutris/util/strings.py:203 lutris/util/strings.py:267 +#: lutris/util/strings.py:212 lutris/util/strings.py:276 msgid "minutes" -msgstr "دقیقه‌ها" +msgstr "دقیقه" -#: lutris/util/strings.py:210 lutris/util/strings.py:295 +#: lutris/util/strings.py:219 lutris/util/strings.py:304 msgid "Less than a minute" msgstr "کمتر از یک دقیقه" -#: lutris/util/strings.py:268 +#: lutris/util/strings.py:277 msgid "day" msgstr "روز" -#: lutris/util/strings.py:268 +#: lutris/util/strings.py:277 msgid "days" -msgstr "روزها" +msgstr "روز" -#: lutris/util/strings.py:269 +#: lutris/util/strings.py:278 msgid "week" msgstr "هفته" -#: lutris/util/strings.py:269 +#: lutris/util/strings.py:278 msgid "weeks" -msgstr "هفته‌ها" +msgstr "هفته" -#: lutris/util/strings.py:270 +#: lutris/util/strings.py:279 msgid "month" msgstr "ماه" -#: lutris/util/strings.py:270 +#: lutris/util/strings.py:279 msgid "months" -msgstr "ماه‌ها" +msgstr "ماه" -#: lutris/util/strings.py:271 +#: lutris/util/strings.py:280 msgid "year" msgstr "سال" -#: lutris/util/strings.py:271 +#: lutris/util/strings.py:280 msgid "years" -msgstr "سال‌ها" +msgstr "سال" -#: lutris/util/strings.py:301 +#: lutris/util/strings.py:310 #, python-format msgid "'%s' is not a valid playtime." -msgstr "'%s' زمان بازی معتبری نیست." +msgstr "«%s» زمان بازی معتبری نیست." -#: lutris/util/strings.py:386 +#: lutris/util/strings.py:395 msgid "in the future" msgstr "در آینده" -#: lutris/util/strings.py:388 +#: lutris/util/strings.py:397 msgid "just now" msgstr "همین حالا" -#: lutris/util/strings.py:397 +#: lutris/util/strings.py:406 #, python-format msgid "%d days" msgstr "%d روز" -#: lutris/util/strings.py:401 +#: lutris/util/strings.py:410 #, python-format msgid "%d hours" msgstr "%d ساعت" -#: lutris/util/strings.py:406 +#: lutris/util/strings.py:415 #, python-format msgid "%d minutes" msgstr "%d دقیقه" -#: lutris/util/strings.py:408 +#: lutris/util/strings.py:417 msgid "1 minute" msgstr "1 دقیقه" -#: lutris/util/strings.py:412 +#: lutris/util/strings.py:421 #, python-format msgid "%d seconds" msgstr "%d ثانیه" -#: lutris/util/strings.py:414 +#: lutris/util/strings.py:423 msgid "1 second" msgstr "1 ثانیه" -#: lutris/util/strings.py:416 +#: lutris/util/strings.py:425 msgid "ago" msgstr "پیش" @@ -8223,20 +8173,158 @@ msgstr "پروژه‌ها" msgid "Ubisoft authentication has been lost: %s" msgstr "احراز هویت یوبی‌سافت از دست رفته است: %s" -#: lutris/util/wine/dll_manager.py:99 +#: lutris/util/wine/dll_manager.py:102 +#, python-format +msgid "" +"The '%s' runtime component is not installed; visit the Updates tab in the " +"Preferences dialog to install it." +msgstr "" +"اجزای اجرایی «%s» نصب نشده است؛ برای نصب آن در پنجره تنظیمات به بخش " +"به‌روزرسانی‌ها بروید." + +#: lutris/util/wine/dll_manager.py:113 msgid "Manual" msgstr "راهنما" -#: lutris/util/wine/proton.py:99 +#: lutris/util/wine/proton.py:100 #, python-format msgid "Proton version '%s' is missing its wine executable and can't be used." msgstr "" -"نگارش پروتون '%s' پرونده اجرایی واین خود را ندارد و نمی‌توان آن را بکارگرفت." +"نگارش پروتون «%s» پرونده اجرایی واین خود را ندارد و نمی‌توان آن را استفاده " +"کرد." -#: lutris/util/wine/wine.py:159 +#: lutris/util/wine/wine.py:176 msgid "The Wine version must be specified." msgstr "باید نگارش واین مشخص شود." -#: lutris/util/wine/wine.py:216 -msgid "No versions of Wine are installed." -msgstr "هیچ نگارش‌ای از واین نصب نشده است." +#~ msgid "Lutris Team" +#~ msgstr "گروه لوتریس" + +#~ msgid "Login" +#~ msgstr "ورود" + +#~ msgid "Turn on Library Sync" +#~ msgstr "فعال کردن همگام‌سازی کتابخانه" + +#~ msgid "Add Games" +#~ msgstr "افزودن بازی‌ها" + +#~ msgid "Import a ROM that is known to Lutris" +#~ msgstr "وارد کردن یک رام که برای لوتریس شناخته شده" + +#~ msgid "Wine update channel" +#~ msgstr "کانال به‌روزرسانی واین" + +#~ msgid "" +#~ "Stable:\n" +#~ "Wine-GE updates are downloaded automatically and the latest version is " +#~ "always used unless overridden in the settings.\n" +#~ "\n" +#~ "This allows us to keep track of regressions more efficiently and provide " +#~ "fixes more reliably." +#~ msgstr "" +#~ "پایدار:\n" +#~ "به‌روزرسانی‌های Wine-GE به‌طور خودکار دریافت می‌شوند و همیشه آخرین نگارش " +#~ "استفاده می‌شود مگر در تنظیمات تغییر داده شود.\n" +#~ "\n" +#~ "این به ما اجازه می‌دهد تا به‌طور مؤثرتری تغییرات منفی را پیگیری کنیم و " +#~ "اصلاحات را به‌طور قابل اعتمادی فراهم کنیم." + +#~ msgid "" +#~ "Self-maintained:\n" +#~ "Wine updates are no longer delivered automatically and you have full " +#~ "responsibility of your Wine versions.\n" +#~ "\n" +#~ "Please note that this mode is fully unsupported. In order to " +#~ "submit issues on Github or ask for help on Discord, switch back to the " +#~ "Stable channel." +#~ msgstr "" +#~ "خودنگهدار:\n" +#~ "به‌روزرسانی‌های واین دیگر به‌طور خودکار فراهم نمی‌شوند و شما مسئولیت کامل " +#~ "نگارش‌های واین خود را دارید.\n" +#~ "\n" +#~ "لطفاً توجه داشته باشید که این حالت کاملاً پشتیبانی نمی‌شود. برای " +#~ "ارسال مشکلات در گیت‌هاب یا درخواست کمک در دیسکورد، به کانال پایدار " +#~ "برگردید." + +#~ msgid "" +#~ "No compatible Wine version could be identified. No updates are available." +#~ msgstr "هیچ نگارش واین سازگاری شناسایی نشد. هیچ به‌روزرسانی در دسترس نیست." + +#~ msgid "Check Again" +#~ msgstr "بررسی دوباره" + +#, python-format +#~ msgid "" +#~ "Your Wine version is up to date. Using: %s\n" +#~ "Last checked %s." +#~ msgstr "" +#~ "نگارش واین شما به‌روز است. استفاده شده: %s\n" +#~ "آخرین بررسی %s." + +#, python-format +#~ msgid "" +#~ "You don't have any Wine version installed.\n" +#~ "We recommend %s" +#~ msgstr "" +#~ "شما هیچ نگارش واین نصب شده‌ای ندارید.\n" +#~ "ما %s را توصیه می‌کنیم." + +#, python-format +#~ msgid "Download %s" +#~ msgstr "دریافت %s" + +#, python-format +#~ msgid "You don't have the recommended Wine version: %s" +#~ msgstr "شما نگارش واین توصیه شده را ندارید: %s" + +#~ msgid "Downloading..." +#~ msgstr "در حال دریافت..." + +#~ msgid "" +#~ "Without the Wine-GE updates enabled, we can no longer provide support on " +#~ "Github and Discord." +#~ msgstr "" +#~ "بدون فعال‌سازی به‌روزرسانی‌های Wine-GE، دیگر نمی‌توانیم در گیت‌هاب و دیسکورد " +#~ "پشتیبانی بدهیم." + +#~ msgid "Start Steam with LSI" +#~ msgstr "راه‌اندازی استیم را با LSI" + +#~ msgid "" +#~ "Launches steam with LSI patches enabled. Make sure Lutris Runtime is " +#~ "disabled and you have LSI installed. https://github.com/solus-project/" +#~ "linux-steam-integration" +#~ msgstr "" +#~ "استیم را با پچ‌های LSI فعال راه‌اندازی می‌کند. مطمئن شوید که زمان اجرای " +#~ "لوتریسغیرفعال است و LSI نصب شده است. https://github.com/solus-project/" +#~ "linux-استیم-integration" + +#~ msgid "" +#~ "Warning Wine is not installed on your system\n" +#~ "\n" +#~ "Having Wine installed on your system guarantees that Wine builds from " +#~ "Lutris will have all required dependencies.\n" +#~ "Please follow the instructions given in the Lutris Wiki to install " +#~ "Wine." +#~ msgstr "" +#~ "هشدار واین بر روی سامانه شما نصب نشده است\n" +#~ "\n" +#~ "نصب واین بر روی سامانه شما تضمین می‌کند که نگارش‌های واین از لوتریس همه " +#~ "وابستگی‌های مورد نیاز را خواهند داشت.\n" +#~ "لطفاً دستورالعمل‌های در ویکی لوتریس را برای نصب واین دنبال کنید." + +#~ msgid "Disable screen saver" +#~ msgstr "غیرفعال کردن محافظ صفحه" + +#~ msgid "" +#~ "Disable the screen saver while a game is running. Requires the screen " +#~ "saver's functionality to be exposed over DBus." +#~ msgstr "" +#~ "غیرفعال کردن محافظ صفحه در حین اجرای بازی. نیاز به فعال بودن عملکرد محافظ " +#~ "صفحه از طریق DBus دارد." + +#~ msgid "No versions of Wine are installed." +#~ msgstr "هیچ نگارش‌ای از واین نصب نشده است." diff --git a/po/fr.po b/po/fr.po index 5547399c79..802339b6f6 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2,20 +2,23 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-19 16:21+0200\n" -"PO-Revision-Date: 2022-06-20 16:53+0200\n" -"Last-Translator: Astrobald astrobald@proton.me\n" +"POT-Creation-Date: 2025-08-05 21:49+0200\n" +"PO-Revision-Date: 2025-11-05 00:20+0100\n" +"Last-Translator: Lorsoen \n" "Language-Team: French\n" "Language: fr\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: Poedit 3.0.1\n" - -#: share/applications/net.lutris.Lutris.desktop:3 -#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:78 -#: lutris/gui/widgets/status_icon.py:136 lutris/services/lutris.py:39 +"X-Generator: Poedit 3.8\n" + +#: share/applications/net.lutris.Lutris.desktop:2 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:13 +#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 +#: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 +#: lutris/services/lutris.py:49 lutris/sysoptions.py:80 lutris/sysoptions.py:90 +#: lutris/sysoptions.py:102 msgid "Lutris" msgstr "Lutris" @@ -27,16 +30,21 @@ msgstr "Plateforme de préservation de jeux vidéo" msgid "gaming;wine;emulator;" msgstr "gaming;wine;emulator;jeux;émulateur;" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:11 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:8 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:10 +msgid "Lutris Team" +msgstr "L’équipe de Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:14 #: share/lutris/ui/about-dialog.ui:18 msgid "Video game preservation platform" msgstr "Plateforme de préservation de jeux vidéo" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:14 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:17 msgid "Main window" msgstr "Fenêtre principale" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:18 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:21 msgid "" "Lutris helps you install and play video games from all eras and from most " "gaming systems. By leveraging and combining existing emulators, engine re-" @@ -48,7 +56,438 @@ msgstr "" "émulateurs, les réimplémentations de moteurs et les couches de compatibilité " "de la plupart des systèmes de jeu existants." -#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:589 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +msgid "" +"Lutris downloads the latest GE-Proton build for Wine if any Wine version is " +"installed" +msgstr "" +"Lutris télécharge la dernière version de GE-Proton pour Wine s\"il y a au " +"moins une version de Wine installée" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +msgid "Use dark theme by default" +msgstr "Utiliser le thème sombre par défaut" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +msgid "Display cover-art rather than banners by default" +msgstr "Montrer les jaquettes plutôt que les bannières par défaut" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +msgid "Add 'Uncategorized' view to sidebar" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +msgid "" +"Preference options that do not work on Wayland will be hidden when on Wayland" +msgstr "" +"Lors d'une session Wayland, les options qui ne fonctionnent pas sous Wayland " +"seront cachées" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +msgid "" +"Game searches can now use fancy tags like 'installed:yes' or 'source:gog', " +"with explanatory tool-tip" +msgstr "" +"La recherche de jeux bénéficie maintenant de tags avancés (ex. " +"\"installed:yes\", \"source:gog...). Lire les infobulles associées" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +msgid "" +"A new filter button on the search box can build many of these fancy tags for " +"you" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +msgid "" +"Runner searches can use 'installed:yes' as well, but no other fancy searches " +"or anything" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +msgid "" +"Updated the Flathub and Amazon source to new APIs, restoring integration" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +msgid "" +"Itch.io source integration will load a collection named 'Lutris' if present" +msgstr "" +"L\"intégration de la source Itch.io chargera une collection nommée " +"\"Lutris\" si présente" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +msgid "" +"GOG and Itch.io sources can now offer Linux and Windows installers for the " +"same game" +msgstr "" +"Les sources GOG et Itch.io proposent maintenant des installateurs Windows et " +"Linux pour le même jeu." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +msgid "Added support for the 'foot' terminal" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +msgid "Support for DirectX 8 in DXVK v2.4" +msgstr "Support de DirectX 8 dans DXVK v2.4" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +msgid "Support for Ayatana Application Indicators" +msgstr "Support pour l'application Ayatana Indicators" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +msgid "Additional options for Ruffle runner" +msgstr "Options supplémentaires pour l'exécuteur Ruffle" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +msgid "Updated download links for the Atari800 and MicroM8 runners" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +msgid "" +"No longer re-download cached installation files even when some are missing" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +msgid "Lutris log is included in the 'System' tab of the Preferences window" +msgstr "" +"Les journaux de Lutris sont trouvables dans la section \"Système\" des " +"préférences" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +msgid "" +"Improved error reporting, with the Lutris log included in the error details" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +msgid "Add AppArmor profile for Ubuntu versions >= 23.10" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 +msgid "Add Duckstation runner" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 +msgid "" +"Fix critical bug preventing completion of installs if the script specifies a " +"wine version" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +msgid "Fix critical bug preventing Steam library sync" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +msgid "Fix critical bug preventing game or runner uninstall in Flatpak" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +msgid "Support for library sync to lutris.net, this allows to sync games, play" +msgstr "" +"Support de la synchronisation de bibliothèque vers Lutris.net, permet la " +"synchronisation des jeux, du temps passé" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 +msgid "time and categories to multiple devices." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 +msgid "" +"Remove \"Lutris\" service view; with library sync the \"Games\" view " +"replaces it." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 +msgid "" +"Torturous and sadistic options for multi-GPUs that were half broken and " +"understood by no one have been replaced by a simple GPU selector." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 +msgid "" +"EXPERIMENTAL support for umu, which allows running games with Proton and" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 +msgid "" +"Pressure Vessel. Using Proton in Lutris without umu is no longer possible." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 +msgid "" +"Better and sensible sorting for games (sorting by playtime or last played no " +"longer needs to be reversed)" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +msgid "Support the \"Categories\" command when you select multiple games" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +msgid "Notification bar when your Lutris is no longer supported" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +msgid "Improved error dialog." +msgstr "Message d'erreur amélioré." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +msgid "Add Supermodel runner" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +msgid "WUA files are now supported in Cemu" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +msgid "" +"\"Show Hidden Games\" now displays the hidden games in a separate view, and " +"re-hides them as soon as you leave it." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +msgid "Support transparent PNG files for custom banner and cover-art" +msgstr "" +"Support des fichier PNG transparents pour les bannières personnalisées et " +"les jaquettes" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +msgid "Images are now downloaded for manually added games." +msgstr "Les images ne sont pas récupérées pour les jeux ajoutés manuellement" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +msgid "all lutris.net installers have been updated accordingly." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +msgid "Deprecate libstrangle and xgamma support." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 +msgid "" +"Deprecate DXVK state cache feature (it was never used and is no longer " +"relevant to DXVK 2)" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +msgid "Fix bug that prevented installers to complete" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +msgid "Better handling of Steam configurations for the Steam account picker" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 +msgid "Load game library in a background thread" +msgstr "Charger la bibliothèque en arrière-plan" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 +msgid "" +"Fix some crashes happening when using Wayland and a high DPI gaming mouse" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +msgid "Fix crash when opening the system preferences tab for a game" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +msgid "" +"Reduced the locales list to a predefined one (let us know if you need yours " +"added)" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +msgid "Fix Lutris not expanding \"~\" in paths" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +msgid "Download runtime components from the main window," +msgstr "Télécharger les moteurs d'exécution depuis la fenêtre principale," + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +msgid "" +"the \"updating runtime\" dialog appearing before Lutris opens has been " +"removed" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +msgid "" +"Add the ability to open a location in your file browser from file picker " +"widgets" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +msgid "" +"Add the ability to select, remove, or stop multiple games in the Lutris " +"window" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +msgid "" +"Redesigned 'Uninstall Game' dialog now completely removes games by default" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +msgid "Fix the export / import feature" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +msgid "Show an animation when a game is launched" +msgstr "Jouer une animation lorsqu'un jeu est lancé" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +msgid "" +"Add the ability to disable Wine auto-updates at the expense of losing support" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +msgid "Add playtime editing in the game preferences" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +msgid "" +"Move game files, runners to the trash instead of deleting them they are " +"uninstalled" +msgstr "" +"Déplacer les fichiers et les exécuteurs vers la corbeille plutôt que de les " +"supprimer après la désinstallation" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +msgid "" +"Add \"Updates\" tab in Preferences control and check for updates and correct " +"missing media" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +msgid "in the 'Games' view." +msgstr "dans la page \"Jeux\"." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +msgid "" +"Add \"Storage\" tab in Preferences to control game and installer cache " +"location" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +msgid "" +"Expand \"System\" tab in Preferences with more system information but less " +"brown." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +msgid "Add \"Run Task Manager\" command for Wine games" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +msgid "Add two new, smaller banner sizes for itch.io games." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 +msgid "" +"Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" +msgstr "" +"Ignorer Wine virtual desktop lors de l'utilisation de Wine GE/Proton pour " +"éviter un plantage" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 +msgid "Ignore MangoHUD setting when launching Steam to avoid crash" +msgstr "" +"Ignorer l'option MangoHUD lors du lancement de Steam pour éviter un plantage" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 +msgid "Sync Steam playtimes with the Lutris library" +msgstr "Synchroniser les temps de jeu Steam avec la bibliothèque Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 +msgid "Add Steam account switcher to handle multiple Steam accounts" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 +msgid "on the same device." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 +msgid "Add user defined tags / categories" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 +msgid "Group every API calls for runtime updates in a single one" +msgstr "" +"Grouper tous les appels API des m.à.j. de moteur d'exécution en un seul" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 +msgid "Download appropriate DXVK and VKD3D versions based on" +msgstr "Télécharger les versions appropriées de DXVK et VK3D basées sur" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 +msgid "the available GPU PCI IDs" +msgstr "les identifiants PCI du GPU disponibles" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 +msgid "" +"EA App integration. Your Origin games and saves can be manually imported" +msgstr "" +"Intégration EA App. Vos jeux et sauvegardes Origin peuvent êtres importés " +"manuellement" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 +msgid "from your Origin prefix." +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 +msgid "Add integration with ScummVM local library" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 +msgid "Download Wine-GE updates when Lutris starts" +msgstr "Télécharger les mises à jour Wine-GE au démarrage de Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 +msgid "Group GOG and Amazon download in a single progress bar" +msgstr "" +"Grouper les téléchargement GOG et Amazon en une seule barre de progression" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 +msgid "Fix blank login window on online services such as GOG or EGS" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 +msgid "Add a sort name field" +msgstr "Ajouter un champ de filtre" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 +msgid "Yuzu and xemu now use an AppImage" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 +msgid "Experimental support for Flatpak provided runners" +msgstr "" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 +msgid "Header-bar search for configuration options" +msgstr "Tepez dans la barre de recherche pour trouver des options de config." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 +msgid "Support for Gamescope 3.12" +msgstr "Support de Gamescope 3.12" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 +msgid "Missing games show an additional badge" +msgstr "Les jeux manquants auront un badge indicateur" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 +msgid "Add missing dependency on python3-gi-cairo for Debian packages" +msgstr "" + +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 msgid "About Lutris" msgstr "À propos de Lutris" @@ -81,6 +520,10 @@ msgstr "" "GNU en même temps que ce programme. Si ce n'est pas le cas,\n" "voir .\n" +#: share/lutris/ui/about-dialog.ui:34 lutris/settings.py:17 +msgid "The Lutris team" +msgstr "L’équipe Lutris" + #: share/lutris/ui/dialog-lutris-login.ui:8 msgid "Connect to lutris.net" msgstr "Se connecter à lutris.net" @@ -89,7 +532,7 @@ msgstr "Se connecter à lutris.net" msgid "Forgot password?" msgstr "Mot de passe oublié ?" -#: share/lutris/ui/dialog-lutris-login.ui:43 lutris/gui/dialogs/issue.py:49 +#: share/lutris/ui/dialog-lutris-login.ui:43 lutris/gui/dialogs/issue.py:51 msgid "C_ancel" msgstr "A_nnuler" @@ -97,11 +540,11 @@ msgstr "A_nnuler" msgid "_Connect" msgstr "Se _connecter" -#: share/lutris/ui/dialog-lutris-login.ui:95 +#: share/lutris/ui/dialog-lutris-login.ui:96 msgid "Password" msgstr "Mot de passe" -#: share/lutris/ui/dialog-lutris-login.ui:109 +#: share/lutris/ui/dialog-lutris-login.ui:110 msgid "Username" msgstr "Nom d'utilisateur" @@ -109,85 +552,198 @@ msgstr "Nom d'utilisateur" msgid "Search..." msgstr "Rechercher..." -#: share/lutris/ui/lutris-window.ui:147 lutris/gui/lutriswindow.py:595 +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "Réduire le texte" + +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "Agrandir le texte" + +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" +msgstr "" +"Connectez-vous à Lutris pour synchroniser votre bibliothèque" + +#: share/lutris/ui/lutris-window.ui:149 +msgid "" +"Lutris %s is no longer supported. Download %s here!" +msgstr "" +"Lutris %s n'est plus maintenu. Téléchargez %s ici !" + +#: share/lutris/ui/lutris-window.ui:282 +msgid "" +"Enter the name of a game to search for, or use search terms:\n" +"\n" +"installed:true\t\t\tOnly installed games.\n" +"hidden:true\t\t\tOnly hidden games.\n" +"favorite:true\t\t\tOnly favorite games.\n" +"categorized:true\t\tOnly games in a category.\n" +"category:x\t\t\tOnly games in category x.\n" +"source:steam\t\t\tOnly Steam games\n" +"runner:wine\t\t\tOnly Wine games\n" +"platform:windows\tOnly Windows games\n" +"playtime:>2 hours\tOnly games played for more than 2 " +"hours.\n" +"lastplayed:<2 days\tOnly games played in the last 2 days.\n" +"directory:game/dir\tOnly games at the path." +msgstr "" +"Entrez le nom d'un jeu à chercher ou utilisez les filtres :\r\n" +"\r\n" +"installed:true\t\t\tSeulement les jeux installés.\r\n" +"hidden:true\t\t\tSeulement les jeux masqués.\r\n" +"favorite:true\t\t\tSeulement les jeux favoris.\r\n" +"categorized:true\t\tSeulement dans une catégorie.\r\n" +"category:x\t\t\t\tSeulement dans une catégorie x.\r\n" +"source:steam\t\t\tSeulement les jeux Steam\r\n" +"runner:wine\t\t\tSeulement les jeux Wine\r\n" +"platform:windows\t\tSeulement les jeux Windows\r\n" +"playtime:>2 hours\t\tSeulement les jeux ayant tournés plus " +"de 2 heures.\r\n" +"lastplayed:<2 days\tSeulement les jeux lancés il y a plus " +"de 2 jours.\r\n" +"directory:jeu/chemin\tSeulement dans le chemin fourni." + +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:808 msgid "Search games" msgstr "Rechercher des jeux" -#: share/lutris/ui/lutris-window.ui:162 +#: share/lutris/ui/lutris-window.ui:346 msgid "Add Game" msgstr "Ajouter un jeu" -#: share/lutris/ui/lutris-window.ui:194 +#: share/lutris/ui/lutris-window.ui:378 msgid "Toggle View" msgstr "Basculer la vue" -#: share/lutris/ui/lutris-window.ui:292 +#: share/lutris/ui/lutris-window.ui:476 msgid "Zoom " msgstr "Zoom :" -#: share/lutris/ui/lutris-window.ui:334 +#: share/lutris/ui/lutris-window.ui:518 msgid "Sort Installed First" msgstr "Trier les jeux installés en premier" -#: share/lutris/ui/lutris-window.ui:348 -msgid "Sort Ascending" -msgstr "Tri croissant" +#: share/lutris/ui/lutris-window.ui:532 +msgid "Reverse order" +msgstr "Inverser l'ordre" -#: share/lutris/ui/lutris-window.ui:374 lutris/gui/config/common.py:161 -#: lutris/gui/config/edit_category_games.py:32 lutris/gui/views/list.py:51 -#: lutris/gui/views/list.py:182 +#: share/lutris/ui/lutris-window.ui:558 +#: lutris/gui/config/edit_category_games.py:35 +#: lutris/gui/config/edit_saved_search.py:47 +#: lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:65 +#: lutris/gui/views/list.py:215 msgid "Name" msgstr "Nom" -#: share/lutris/ui/lutris-window.ui:389 lutris/gui/views/list.py:53 +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:67 msgid "Year" msgstr "Année" -#: share/lutris/ui/lutris-window.ui:404 lutris/gui/views/list.py:56 +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:70 msgid "Last Played" -msgstr "Dernière fois jouée" +msgstr "Dernière partie" -#: share/lutris/ui/lutris-window.ui:419 lutris/gui/views/list.py:58 +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:72 msgid "Installed At" msgstr "Installé le" -#: share/lutris/ui/lutris-window.ui:434 lutris/gui/views/list.py:57 +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:71 msgid "Play Time" msgstr "Temps de jeu" -#: share/lutris/ui/lutris-window.ui:463 +#: share/lutris/ui/lutris-window.ui:647 msgid "_Installed Games Only" msgstr "Jeux _installés seulement" -#: share/lutris/ui/lutris-window.ui:478 -msgid "Show _Hidden Games" -msgstr "Montrer les jeux _cachés" - -#: share/lutris/ui/lutris-window.ui:493 +#: share/lutris/ui/lutris-window.ui:662 msgid "Show Side _Panel" -msgstr "Afficher le _panneau latéral" +msgstr "Afficher le panneau latéral" -#: share/lutris/ui/lutris-window.ui:508 -msgid "Add games" -msgstr "Ajouter des jeux" +#: share/lutris/ui/lutris-window.ui:677 +msgid "Show _Hidden Games" +msgstr "Montrer les jeux masqués" -#: share/lutris/ui/lutris-window.ui:522 +#: share/lutris/ui/lutris-window.ui:698 msgid "Preferences" msgstr "Préférences" -#: share/lutris/ui/lutris-window.ui:547 +#: share/lutris/ui/lutris-window.ui:723 msgid "Discord" msgstr "Discord" -#: share/lutris/ui/lutris-window.ui:561 +#: share/lutris/ui/lutris-window.ui:737 msgid "Lutris forums" -msgstr "Forums Lutris" +msgstr "Forums de Lutris" -#: share/lutris/ui/lutris-window.ui:575 +#: share/lutris/ui/lutris-window.ui:751 msgid "Make a donation" msgstr "Faire un don" -#: lutris/exceptions.py:26 +#: share/lutris/ui/uninstall-dialog.ui:53 +msgid "Uninstalling games" +msgstr "Désinstallation des jeux" + +#: share/lutris/ui/uninstall-dialog.ui:92 +msgid "Delete All Files\t" +msgstr "Supprimer tous les fichiers\t" + +#: share/lutris/ui/uninstall-dialog.ui:108 +msgid "Remove All Games from Library" +msgstr "Retirer tous les jeux de la bibliothèque" + +#: share/lutris/ui/uninstall-dialog.ui:135 +msgid "Remove Games" +msgstr "Retirer un jeu" + +#: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 +#: lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 +#: lutris/gui/dialogs/__init__.py:172 lutris/gui/dialogs/runner_install.py:275 +#: lutris/gui/installerwindow.py:103 lutris/gui/installerwindow.py:1087 +#: lutris/gui/widgets/download_collection_progress_box.py:153 +#: lutris/gui/widgets/download_progress_box.py:116 +msgid "Cancel" +msgstr "Annuler" + +#: share/lutris/ui/uninstall-dialog.ui:147 lutris/game_actions.py:198 +#: lutris/game_actions.py:254 +msgid "Remove" +msgstr "Retirer" + +#: lutris/api.py:44 +msgid "never" +msgstr "jamais" + +#: lutris/cache.py:84 +#, python-format +msgid "" +"The cache path '%s' does not exist, but its parent does so it will be " +"created when needed." +msgstr "" +"Le chemin du cache \"%s\" n'existe pas mais le parent est présent, il sera " +"donc créé en cas de besoin." + +#: lutris/cache.py:88 +#, python-format +msgid "" +"The cache path %s does not exist, nor does its parent, so it won't be " +"created." +msgstr "" +"Le chemin du cache \"%s\", ni son parent n'existent, il ne sera donc pas " +"crée." + +#: lutris/exceptions.py:36 +#, python-brace-format +msgid "The directory {} could not be found" +msgstr "Le répertoire {} n’a pu être trouvé" + +#: lutris/exceptions.py:50 +msgid "A bios file is required to run this game" +msgstr "Un fichier bios est requis pour exécuter ce jeu" + +#: lutris/exceptions.py:63 #, python-brace-format msgid "" "The following {arch} libraries are required but are not installed on your " @@ -198,110 +754,148 @@ msgstr "" "sur votre système :\n" "{libs}" -#. Local services don't show an install dialog, they can be launched directly -#: lutris/game_actions.py:51 lutris/gui/widgets/game_bar.py:213 -#: lutris/gui/widgets/game_bar.py:227 -msgid "Play" -msgstr "Jouer" +#: lutris/exceptions.py:87 lutris/exceptions.py:99 +#, python-brace-format +msgid "The file {} could not be found" +msgstr "Le fichier {} n'a pas pu être trouvé" -#: lutris/game_actions.py:52 lutris/gui/widgets/game_bar.py:219 -msgid "Stop" -msgstr "Stopper" +#: lutris/exceptions.py:101 +msgid "" +"This game has no executable set. The install process didn't finish properly." +msgstr "" +"Ce jeu n'a pas d'exécutable défini. Le processus d'installation ne s’est pas " +"correctement terminé." -#: lutris/game_actions.py:53 -msgid "Execute script" -msgstr "Exécuter le script" +#: lutris/exceptions.py:116 +msgid "Your ESYNC limits are not set correctly." +msgstr "Vos limites ESYNC ne sont pas définies correctement." -#: lutris/game_actions.py:54 -msgid "Show logs" -msgstr "Afficher les journaux (logs)" +#: lutris/exceptions.py:126 +msgid "" +"Your kernel is not patched for fsync. Please get a patched kernel to use " +"fsync." +msgstr "" +"Votre noyau n'est pas patché pour fsync. Veuillez obtenir un noyau patché " +"pour utiliser fsync." -#: lutris/game_actions.py:56 lutris/gui/widgets/sidebar.py:233 -msgid "Configure" -msgstr "Configurer" +#: lutris/game_actions.py:190 lutris/game_actions.py:228 +#: lutris/gui/widgets/game_bar.py:217 +msgid "Stop" +msgstr "Stopper" -#: lutris/game_actions.py:57 lutris/gui/widgets/sidebar.py:351 +#: lutris/game_actions.py:192 lutris/game_actions.py:233 +#: lutris/gui/config/edit_game_categories.py:18 +#: lutris/gui/config/edit_saved_search.py:72 lutris/gui/widgets/sidebar.py:400 msgid "Categories" msgstr "Catégories" -#: lutris/game_actions.py:58 -msgid "Browse files" -msgstr "Parcourir les fichiers" - -#: lutris/game_actions.py:59 +#: lutris/game_actions.py:193 lutris/game_actions.py:235 msgid "Add to favorites" msgstr "Ajouter aux favoris" -#: lutris/game_actions.py:60 +#: lutris/game_actions.py:194 lutris/game_actions.py:236 msgid "Remove from favorites" -msgstr "Supprimer des favoris" +msgstr "Retirer des favoris" -#: lutris/game_actions.py:61 +#: lutris/game_actions.py:195 lutris/game_actions.py:237 msgid "Hide game from library" msgstr "Masquer le jeu de la bibliothèque" -#: lutris/game_actions.py:62 +#: lutris/game_actions.py:196 lutris/game_actions.py:238 msgid "Unhide game from library" -msgstr "Ne plus masquer le jeu de la bibliothèque" +msgstr "Démasquer le jeu de la bibliothèque" + +#. Local services don't show an install dialog, they can be launched directly +#: lutris/game_actions.py:227 lutris/gui/widgets/game_bar.py:210 +#: lutris/gui/widgets/game_bar.py:227 +msgid "Play" +msgstr "Jouer" + +#: lutris/game_actions.py:229 +msgid "Execute script" +msgstr "Exécuter le script" + +#: lutris/game_actions.py:230 +msgid "Show logs" +msgstr "Afficher les journaux (logs)" + +#: lutris/game_actions.py:232 lutris/gui/widgets/sidebar.py:235 +msgid "Configure" +msgstr "Configurer" -#: lutris/game_actions.py:63 -msgid "Update shader cache" -msgstr "Mettre à jour le cache des nuanceurs (shaders)" +#: lutris/game_actions.py:234 +msgid "Browse files" +msgstr "Parcourir les fichiers" -#: lutris/game_actions.py:65 lutris/gui/dialogs/runner_install.py:210 -#: lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:222 +#: lutris/game_actions.py:240 lutris/game_actions.py:467 +#: lutris/gui/dialogs/runner_install.py:284 +#: lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:221 msgid "Install" msgstr "Installer" -#: lutris/game_actions.py:66 +#: lutris/game_actions.py:241 msgid "Install another version" msgstr "Installer une autre version du jeu" -#: lutris/game_actions.py:68 +#: lutris/game_actions.py:242 +msgid "Install DLCs" +msgstr "Installer un DLC" + +#: lutris/game_actions.py:243 msgid "Install updates" msgstr "Installer les mises à jour" -#: lutris/game_actions.py:69 -msgid "Add installed game" -msgstr "Ajouter le jeu installé" +#: lutris/game_actions.py:244 lutris/game_actions.py:468 +#: lutris/gui/widgets/game_bar.py:197 +msgid "Locate installed game" +msgstr "Localiser le jeu installé" -#: lutris/game_actions.py:70 lutris/gui/installerwindow.py:388 +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:461 msgid "Create desktop shortcut" msgstr "Créer un raccourci sur le bureau" -#: lutris/game_actions.py:71 +#: lutris/game_actions.py:246 msgid "Delete desktop shortcut" msgstr "Supprimer le raccourci du bureau" -#: lutris/game_actions.py:72 lutris/gui/installerwindow.py:392 +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:468 msgid "Create application menu shortcut" msgstr "Créer un raccourci vers le menu du bureau" -#: lutris/game_actions.py:73 +#: lutris/game_actions.py:248 msgid "Delete application menu shortcut" msgstr "Supprimer le raccourci du menu du bureau" -#: lutris/game_actions.py:74 lutris/gui/installerwindow.py:397 -msgid "Create steam shortcut" +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:476 +msgid "Create Steam shortcut" msgstr "Créer un raccourci Steam" -#: lutris/game_actions.py:75 -msgid "Delete steam shortcut" +#: lutris/game_actions.py:250 +msgid "Delete Steam shortcut" msgstr "Supprimer le raccourci Steam" -#: lutris/game_actions.py:76 +#: lutris/game_actions.py:251 lutris/game_actions.py:469 msgid "View on Lutris.net" msgstr "Voir sur Lutris.net" -#: lutris/game_actions.py:77 +#: lutris/game_actions.py:252 msgid "Duplicate" msgstr "Dupliquer" -#: lutris/game_actions.py:79 lutris/gui/dialogs/uninstall_game.py:113 -msgid "Remove" -msgstr "Supprimer" +#: lutris/game_actions.py:336 +msgid "This game has no installation directory" +msgstr "Ce jeu n'a pas de répertoire d'installation" -#: lutris/game_actions.py:202 +#: lutris/game_actions.py:340 +#, python-format +msgid "" +"Can't open %s \n" +"The folder doesn't exist." +msgstr "" +"Impossible d'ouvrir %s \n" +"Le dossier n'existe pas." + +#: lutris/game_actions.py:390 #, python-format msgid "" "Do you wish to duplicate %s?\n" @@ -314,80 +908,47 @@ msgstr "" "pas.\n" "Veuillez saisir le nouveau nom de la copie :" -#: lutris/game_actions.py:206 +#: lutris/game_actions.py:395 msgid "Duplicate game?" msgstr "Dupliquer le jeu ?" -#: lutris/game_actions.py:277 -msgid "This game has no installation directory" -msgstr "Ce jeu n'a pas de répertoire d'installation" - -#: lutris/game_actions.py:281 -#, python-format -msgid "" -"Can't open %s \n" -"The folder doesn't exist." -msgstr "" -"Impossible d'ouvrir %s \n" -"Le dossier n'existe pas." - #. use primary configuration -#: lutris/game_actions.py:320 +#: lutris/game_actions.py:446 msgid "Select shortcut target" msgstr "Sélectionner la cible du raccourci" -#: lutris/game.py:282 -msgid "Error the runner is not installed" -msgstr "Erreur : l'exécuteur n'est pas installé" - -#: lutris/game.py:284 -msgid "A bios file is required to run this game" -msgstr "Un fichier bios est requis pour exécuter ce jeu" - -#: lutris/game.py:288 -msgid "The file {} could not be found" -msgstr "Le fichier {} n'a pas pu être trouvé" - -#: lutris/game.py:290 -msgid "" -"This game has no executable set. The install process didn't finish properly." -msgstr "" -"Ce jeu n'a pas d'exécutable défini. Le processus d'installation ne s’est pas " -"correctement terminé." - -#: lutris/game.py:293 -#, python-format -msgid "The file %s is not executable" -msgstr "Le fichier %s n'est pas exécutable" +#: lutris/game.py:321 lutris/game.py:508 +msgid "Invalid game configuration: Missing runner" +msgstr "Configuration de jeu invalide : Exécuteur manquant" -#: lutris/game.py:295 -#, python-format -msgid "The path '%s' is not set. please set it in the options." -msgstr "Le chemin '%s' n'est pas défini. Merci de le définir dans les options." +#: lutris/game.py:387 +msgid "No updates found" +msgstr "Aucune mise à jour trouvée" -#: lutris/game.py:297 -#, python-format -msgid "Unhandled error: %s" -msgstr "Erreur non gérée : %s" +#: lutris/game.py:406 +msgid "No DLC found" +msgstr "Pas de DLC trouvée" -#: lutris/game.py:404 +#: lutris/game.py:440 msgid "Uninstall the game before deleting" msgstr "Désinstallation du jeu avant la suppression des fichiers..." -#: lutris/game.py:477 +#: lutris/game.py:506 msgid "Tried to launch a game that isn't installed." msgstr "Tentative de lancement d'un jeu non installé." -#: lutris/game.py:479 lutris/game.py:582 -msgid "Invalid game configuration: Missing runner" -msgstr "Configuration de jeu invalide : Exécuteur manquant" - -#: lutris/game.py:511 +#: lutris/game.py:540 msgid "Unable to find Xephyr, install it or disable the Xephyr option" msgstr "" "Impossible de trouver Xephyr, installez-le ou désactivez l'option Xephyr" -#: lutris/game.py:558 +#: lutris/game.py:556 +msgid "Unable to find Antimicrox, install it or disable the Antimicrox option" +msgstr "" +"Impossible de trouver Antimicrox, installez-le ou désactivez l'option " +"Antimicrox" + +#: lutris/game.py:593 #, python-format msgid "" "The selected terminal application could not be launched:\n" @@ -396,11 +957,11 @@ msgstr "" "Le terminal sélectionné n'a pas pu être lancée :\n" "%s" -#: lutris/game.py:831 +#: lutris/game.py:896 msgid "Error lauching the game:\n" msgstr "Erreur lors du lancement du jeu :\n" -#: lutris/game.py:936 +#: lutris/game.py:1002 #, python-format msgid "" "Error: Missing shared library.\n" @@ -411,99 +972,91 @@ msgstr "" "\n" "%s" -#: lutris/game.py:942 +#: lutris/game.py:1008 msgid "" "Error: A different Wine version is already using the same Wine prefix." msgstr "" "Erreur : Une version différente de Wine utilise déjà le même préfixe." -#: lutris/gui/addgameswindow.py:27 +#: lutris/game.py:1026 +#, python-format +msgid "Lutris can't move '%s' to a location inside of itself, '%s'." +msgstr "" +"Lutris ne peut pas déplacer \"%s\" vers un emplacement dans lui-même, \"%s\"." + +#: lutris/gui/addgameswindow.py:24 msgid "Search the Lutris website for installers" msgstr "Rechercher des installateurs sur le site de Lutris" -#: lutris/gui/addgameswindow.py:28 +#: lutris/gui/addgameswindow.py:25 msgid "Query our website for community installers" msgstr "Rechercher des installateurs communautaires sur notre site web" -#: lutris/gui/addgameswindow.py:34 -msgid "Import previously installed Lutris games" -msgstr "Importer des jeux Lutris précédemment installés" - -#: lutris/gui/addgameswindow.py:35 -msgid "Scan a folder for games installed from a previous Lutris installation" -msgstr "" -"Analyser un dossier de jeux installés à partir d'une installation précédente " -"de Lutris" - -#: lutris/gui/addgameswindow.py:41 +#: lutris/gui/addgameswindow.py:31 msgid "Install a Windows game from an executable" msgstr "Installer un jeu Windows à partir d'un exécutable" -#: lutris/gui/addgameswindow.py:42 +#: lutris/gui/addgameswindow.py:32 msgid "Launch a Windows executable (.exe) installer" msgstr "Lancer un programme d'installation Windows (.exe)" -#: lutris/gui/addgameswindow.py:48 +#: lutris/gui/addgameswindow.py:38 msgid "Install from a local install script" msgstr "Installer depuis un script d’installation local" -#: lutris/gui/addgameswindow.py:49 +#: lutris/gui/addgameswindow.py:39 msgid "Run a YAML install script" msgstr "Exécuter un script d'installation YAML" -#: lutris/gui/addgameswindow.py:55 -msgid "Import a ROM" +#: lutris/gui/addgameswindow.py:45 +msgid "Import ROMs" msgstr "Importer une ROM" -#: lutris/gui/addgameswindow.py:56 -msgid "Import a ROM that is known to Lutris" -msgstr "Importer une ROM connue de Lutris" +#: lutris/gui/addgameswindow.py:46 +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "Importer une ROM référencée par TOSEC" -#: lutris/gui/addgameswindow.py:62 +#: lutris/gui/addgameswindow.py:52 msgid "Add locally installed game" msgstr "Ajouter un jeu installé localement" -#: lutris/gui/addgameswindow.py:63 +#: lutris/gui/addgameswindow.py:53 msgid "Manually configure a game available locally" msgstr "Configurer manuellement un jeu disponible localement" -#: lutris/gui/addgameswindow.py:69 +#: lutris/gui/addgameswindow.py:59 msgid "Add games to Lutris" msgstr "Ajouter des jeux à Lutris" #. Header bar buttons -#: lutris/gui/addgameswindow.py:90 lutris/gui/installerwindow.py:82 +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:96 msgid "Back" msgstr "Retour" #. Continue Button -#: lutris/gui/addgameswindow.py:98 lutris/gui/addgameswindow.py:663 -#: lutris/gui/installerwindow.py:92 lutris/gui/installerwindow.py:903 +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 +#: lutris/gui/installerwindow.py:106 lutris/gui/installerwindow.py:1035 msgid "_Continue" msgstr "_Continuer" -#: lutris/gui/addgameswindow.py:102 lutris/gui/addgameswindow.py:678 -#: lutris/gui/addgameswindow.py:681 lutris/gui/dialogs/__init__.py:87 -#: lutris/gui/dialogs/runner_install.py:201 lutris/gui/installerwindow.py:89 -#: lutris/gui/installerwindow.py:957 -#: lutris/gui/widgets/download_collection_progress_box.py:135 -#: lutris/gui/widgets/download_progress_box.py:95 -msgid "Cancel" -msgstr "Annuler" - -#: lutris/gui/addgameswindow.py:121 lutris/gui/config/boxes.py:504 +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 +#: lutris/gui/config/widget_generator.py:655 msgid "Select folder" msgstr "Sélectionner le dossier" -#: lutris/gui/addgameswindow.py:133 +#: lutris/gui/addgameswindow.py:115 +msgid "Identifier" +msgstr "Identifiant" + +#: lutris/gui/addgameswindow.py:125 msgid "Select script" msgstr "Exécuter le script" -#: lutris/gui/addgameswindow.py:137 -msgid "Select ROM file" -msgstr "Sélectionner le fichier ROM" +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "Sélectionner les ROMs" -#: lutris/gui/addgameswindow.py:223 +#: lutris/gui/addgameswindow.py:204 msgid "" "Lutris will search Lutris.net for games matching the terms you enter, and " "any that it finds will appear here.\n" @@ -517,73 +1070,29 @@ msgstr "" "Cliquez sur le résultat de votre recherche pour lancer le programme " "d'installation du jeu." -#: lutris/gui/addgameswindow.py:244 +#: lutris/gui/addgameswindow.py:225 msgid "Search Lutris.net" msgstr "Rechercher sur Lutris.net" -#: lutris/gui/addgameswindow.py:281 +#: lutris/gui/addgameswindow.py:256 msgid "No results" msgstr "Pas de résultats" -#: lutris/gui/addgameswindow.py:283 -#, python-brace-format -msgid "Showing {count} results" -msgstr "Présentation des résultats {count}" - -#: lutris/gui/addgameswindow.py:285 -#, python-brace-format -msgid "{total_count} results, only displaying first {count}" -msgstr "" -"{total_count} résultats, affichage uniquement des premiers {count}" - -#: lutris/gui/addgameswindow.py:317 -msgid "Folder to scan" -msgstr "Dossier à scanner" - -#: lutris/gui/addgameswindow.py:323 -msgid "" -"This folder will be scanned for games previously installed with Lutrus.\n" -"\n" -"Folder names have to match their corresponding Lutris ID, each matching " -"IDwill be queried for existing install script to provide for exe locations.\n" -"\n" -"Click 'Continue' to start scanning and import games" -msgstr "" -"Le dossier sera analysé à la recherche de jeux précédemment installés avec " -"Lutris.\n" -"\n" -"Il est important que les noms des répertoires à analyser correspondent à " -"leur identifiant Lutris (Lutris ID), afin que les scripts d'installation, " -"s'ils existent, puissent fournir les emplacements des exécutables (exe).\n" -"\n" -"Cliquez sur 'Continuer' pour commencer à scanner et à importer les jeux" - -#: lutris/gui/addgameswindow.py:341 -msgid "You must select a folder to scan for games." -msgstr "Vous devez sélectionner un dossier pour rechercher des jeux." - -#: lutris/gui/addgameswindow.py:343 +#: lutris/gui/addgameswindow.py:258 #, python-format -msgid "No folder exists at '%s'." -msgstr "Aucun dossier n'existe à '%s'." - -#: lutris/gui/addgameswindow.py:367 -msgid "Games found" -msgstr "Jeux trouvés" - -#: lutris/gui/addgameswindow.py:369 -msgid "No games found" -msgstr "Aucun jeu trouvé" +msgid "Showing %s results" +msgstr " %s résultats montrés" -#: lutris/gui/addgameswindow.py:373 lutris/gui/installerwindow.py:957 -msgid "_Close" -msgstr "_Fermer" +#: lutris/gui/addgameswindow.py:260 +#, python-format +msgid "%s results, only displaying first %s" +msgstr "%s résultats, premiers uniquement %s" -#: lutris/gui/addgameswindow.py:419 +#: lutris/gui/addgameswindow.py:289 msgid "Game name" msgstr "Nom du jeu" -#: lutris/gui/addgameswindow.py:435 +#: lutris/gui/addgameswindow.py:305 msgid "" "Enter the name of the game you will install.\n" "\n" @@ -598,7 +1107,7 @@ msgstr "" "Entrez le nom du jeu à installer.\n" "\n" "Une fenêtre apparaîtra pour vous guider dans le processus d'installation " -"lorsque vous cliquerez sur le bouton 'Installer'.\n" +"lorsque vous cliquerez sur le bouton \"Installer\".\n" "\n" "Lutris vous demandera le chemin du programme d'installation et utilisera " "Wine pour installer le jeu.\n" @@ -606,64 +1115,68 @@ msgstr "" "Si vous connaissez l'identifiant du jeu à installer (ID Lutris), vous pouvez " "le saisir ci-dessus afin d'améliorer son intégration dans Lutris (bannières)." -#: lutris/gui/addgameswindow.py:444 +#: lutris/gui/addgameswindow.py:314 msgid "Installer preset:" msgstr "Préréglage de l'installateur (preset) :" -#: lutris/gui/addgameswindow.py:447 +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "" + +#: lutris/gui/addgameswindow.py:318 msgid "Windows 10 64-bit (Default)" msgstr "Windows 10 64-bits (par défaut)" -#: lutris/gui/addgameswindow.py:448 +#: lutris/gui/addgameswindow.py:319 msgid "Windows 7 64-bit" msgstr "" -#: lutris/gui/addgameswindow.py:449 +#: lutris/gui/addgameswindow.py:320 msgid "Windows XP 32-bit" msgstr "" -#: lutris/gui/addgameswindow.py:450 +#: lutris/gui/addgameswindow.py:321 msgid "Windows XP + 3DFX 32-bit" msgstr "" -#: lutris/gui/addgameswindow.py:451 +#: lutris/gui/addgameswindow.py:322 msgid "Windows 98 32-bit" msgstr "" -#: lutris/gui/addgameswindow.py:452 +#: lutris/gui/addgameswindow.py:323 msgid "Windows 98 + 3DFX 32-bit" msgstr "" -#: lutris/gui/addgameswindow.py:463 +#: lutris/gui/addgameswindow.py:334 msgid "Locale:" -msgstr "Paramètres régionaux" +msgstr "Locale :" -#: lutris/gui/addgameswindow.py:484 +#: lutris/gui/addgameswindow.py:359 msgid "Select setup file" msgstr "Sélectionner le fichier d'installation" -#: lutris/gui/addgameswindow.py:486 lutris/gui/addgameswindow.py:581 -#: lutris/gui/addgameswindow.py:623 lutris/gui/installerwindow.py:940 +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 +#: lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1070 msgid "_Install" msgstr "_Installer" -#: lutris/gui/addgameswindow.py:505 +#: lutris/gui/addgameswindow.py:377 msgid "You must provide a name for the game you are installing." msgstr "Vous devez fournir un nom pour le jeu que vous voulez installer." -#: lutris/gui/addgameswindow.py:525 +#: lutris/gui/addgameswindow.py:397 msgid "Setup file" msgstr "Fichier d'installation" -#: lutris/gui/addgameswindow.py:534 +#: lutris/gui/addgameswindow.py:403 msgid "Select the setup file" msgstr "Sélectionner le fichier d'installation" -#: lutris/gui/addgameswindow.py:562 +#: lutris/gui/addgameswindow.py:424 msgid "Script file" msgstr "Fichier script" -#: lutris/gui/addgameswindow.py:568 +#: lutris/gui/addgameswindow.py:430 msgid "" "Lutris install scripts are YAML files that guide Lutris through the " "installation process.\n" @@ -679,60 +1192,68 @@ msgstr "" "Ils peuvent être obtenus sur Lutris.net ou écrits à la main.\n" "\n" "Lutris chargera le script d'installation du jeu lorsque vous cliquerez sur " -"'Installer'." +"\"Installer\"." + +#: lutris/gui/addgameswindow.py:441 +msgid "Select a Lutris installer" +msgstr "Sélectionner un installateur Lutris" -#: lutris/gui/addgameswindow.py:587 +#: lutris/gui/addgameswindow.py:448 msgid "You must select a script file to install." msgstr "Vous devez sélectionner un fichier script à installer." -#: lutris/gui/addgameswindow.py:589 lutris/gui/addgameswindow.py:631 +#: lutris/gui/addgameswindow.py:450 #, python-format msgid "No file exists at '%s'." -msgstr "Aucun fichier n'existe à '%s'." - -#: lutris/gui/addgameswindow.py:604 lutris/runners/atari800.py:36 -#: lutris/runners/jzintv.py:19 lutris/runners/libretro.py:78 -#: lutris/runners/mame.py:79 lutris/runners/mednafen.py:57 -#: lutris/runners/mupen64plus.py:21 lutris/runners/o2em.py:45 -#: lutris/runners/openmsx.py:18 lutris/runners/osmose.py:21 -#: lutris/runners/snes9x.py:28 lutris/runners/vice.py:39 -#: lutris/runners/yuzu.py:22 +msgstr "Aucun fichier n'existe à \"%s\"." + +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 +#: lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 +#: lutris/runners/libretro.py:76 lutris/runners/mame.py:80 +#: lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 +#: lutris/runners/o2em.py:47 lutris/runners/openmsx.py:20 +#: lutris/runners/osmose.py:20 lutris/runners/snes9x.py:29 +#: lutris/runners/vice.py:37 lutris/runners/yuzu.py:23 msgid "ROM file" msgstr "Fichier ROM" -#: lutris/gui/addgameswindow.py:610 +#: lutris/gui/addgameswindow.py:471 msgid "" -"Lutris will identify a ROM via its MD5 hash and download game information " +"Lutris will identify ROMs via its MD5 hash and download game information " "from Lutris.net.\n" "\n" -"The ROM data used for this comes from the TOSEC project.\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" "\n" -"When you click 'Install' below, the process of installing the game will " +"When you click 'Install' below, the process of installing the games will " "begin." msgstr "" -"Lutris identifiera la ROM (MD5) et téléchargera les informations du jeu " +"Lutris identifiera la ROM (MD5) et téléchargera les informations du jeu " "depuis Lutris.net.\n" "\n" "Les données de la ROM utilisée proviennent du projet TOSEC.\n" "\n" "Le processus d'installation du jeu commencera lorsque vous cliquerez sur " -"'Installer'." +"\"Installer\"." -#: lutris/gui/addgameswindow.py:629 -msgid "You must select a ROM file to install." +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "Sélectionner une ROM" + +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." msgstr "Vous devez sélectionner un fichier ROM à installer." -#: lutris/gui/application.py:93 +#: lutris/gui/application.py:102 msgid "Do not run Lutris as root." -msgstr "N'exécutez pas Lutris en tant que 'super-utilisateur' (root)." +msgstr "N\"exécutez pas Lutris en tant que \"super-utilisateur\" (root)." -#: lutris/gui/application.py:104 +#: lutris/gui/application.py:113 msgid "Your Linux distribution is too old. Lutris won't function properly." msgstr "" "Votre distribution Linux est trop ancienne. Lutris ne fonctionnera pas " "correctement." -#: lutris/gui/application.py:109 +#: lutris/gui/application.py:119 msgid "" "Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" "If several games share the same identifier you can use the numerical ID " @@ -740,334 +1261,527 @@ msgid "" "numerical-id.\n" "To install a game, add lutris:install/game-identifier." msgstr "" -"Exécuter un jeu directement en ajoutant le paramètre 'lutris:rungame/game-" -"identifier'.\n" +"Exécuter un jeu directement en ajoutant le paramètre \"lutris:rungame/game-" +"identifier\".\n" "Si plusieurs jeux partagent le même nom, vous pouvez utiliser l'identifiant " -"numérique affiché lors de l'exécution de 'lutris --list-games', et l'ajouter " -"à 'lutris:rungameid/numerical-id'.\n" -"Pour installer un jeu, ajoutez 'lutris:install/game-identifier'." +"numérique affiché lors de l'exécution de \"lutris --list-games\", et " +"l'ajouter à \"lutris:rungameid/numerical-id'.\n" +"Pour installer un jeu, ajoutez \"lutris:install/game-identifier\"." -#: lutris/gui/application.py:122 +#: lutris/gui/application.py:133 msgid "Print the version of Lutris and exit" msgstr "Imprimer la version de Lutris et quitter" -#: lutris/gui/application.py:130 +#: lutris/gui/application.py:141 msgid "Show debug messages" msgstr "Montrer les messages de débogage" -#: lutris/gui/application.py:138 +#: lutris/gui/application.py:149 msgid "Install a game from a yml file" msgstr "Installer un jeu depuis un fichier yml" -#: lutris/gui/application.py:146 +#: lutris/gui/application.py:157 msgid "Force updates" msgstr "Forcer les mises à jour" -#: lutris/gui/application.py:154 +#: lutris/gui/application.py:165 msgid "Generate a bash script to run a game without the client" -msgstr "Générer un script 'bash' pour lancer un jeu sans le client" +msgstr "Générer un script \"bash\" pour lancer un jeu sans le client" -#: lutris/gui/application.py:162 +#: lutris/gui/application.py:173 msgid "Execute a program with the Lutris Runtime" -msgstr "Lancer un programme dans l'environnement d'exécution Lutris" +msgstr "Lancer un programme dans le moteur d'exécution Lutris" -#: lutris/gui/application.py:170 +#: lutris/gui/application.py:181 msgid "List all games in database" msgstr "Lister tous les jeux de la base de données" -#: lutris/gui/application.py:178 +#: lutris/gui/application.py:189 msgid "Only list installed games" msgstr "Lister uniquement les jeux installés" -#: lutris/gui/application.py:186 +#: lutris/gui/application.py:197 msgid "List available Steam games" msgstr "Lister les jeux Steam disponibles" -#: lutris/gui/application.py:194 +#: lutris/gui/application.py:205 msgid "List all known Steam library folders" msgstr "Lister tous les dossiers de bibliothèque Steam connus" -#: lutris/gui/application.py:202 +#: lutris/gui/application.py:213 msgid "List all known runners" msgstr "Lister tous les exécuteurs connus" -#: lutris/gui/application.py:210 +#: lutris/gui/application.py:221 msgid "List all known Wine versions" msgstr "Lister toutes les versions de Wine connues" -#: lutris/gui/application.py:218 +#: lutris/gui/application.py:229 msgid "List all games for all services in database" msgstr "" "Répertorier tous les jeux pour tous les services dans la base de données" -#: lutris/gui/application.py:226 +#: lutris/gui/application.py:237 msgid "List all games for provided service in database" msgstr "" "Répertorier tous les jeux pour le service fourni dans la base de données" -#: lutris/gui/application.py:234 +#: lutris/gui/application.py:245 msgid "Install a Runner" msgstr "Installer un exécuteur" -#: lutris/gui/application.py:242 +#: lutris/gui/application.py:253 msgid "Uninstall a Runner" msgstr "Désinstaller un exécuteur" -#: lutris/gui/application.py:250 +#: lutris/gui/application.py:261 msgid "Export a game" msgstr "Exporter un jeu" -#: lutris/gui/application.py:258 lutris/gui/dialogs/game_import.py:24 +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 msgid "Import a game" msgstr "Importer un jeu" -#: lutris/gui/application.py:266 +#: lutris/gui/application.py:278 +msgid "Show statistics about a game saves" +msgstr "Montrer des statistiques sur une sauvegarde de jeu" + +#: lutris/gui/application.py:286 +msgid "Upload saves" +msgstr "Téléverser les sauvegardes" + +#: lutris/gui/application.py:294 +msgid "Verify status of save syncing" +msgstr "Vérifier l'état de la synchro. des sauvegardes" + +#: lutris/gui/application.py:303 msgid "Destination path for export" msgstr "Chemin de destination pour l'export" -#: lutris/gui/application.py:274 +#: lutris/gui/application.py:311 msgid "Display the list of games in JSON format" msgstr "Afficher la liste de jeux en format JSON" -#: lutris/gui/application.py:282 +#: lutris/gui/application.py:319 msgid "Reinstall game" msgstr "Réinstaller le jeu" -#: lutris/gui/application.py:285 +#: lutris/gui/application.py:322 msgid "Submit an issue" msgstr "Soumettre un problème" -#: lutris/gui/application.py:291 +#: lutris/gui/application.py:328 msgid "URI to open" msgstr "URI à ouvrir" -#: lutris/gui/application.py:564 +#: lutris/gui/application.py:413 +msgid "No installer available." +msgstr "Pas d'installateur disponible." + +#: lutris/gui/application.py:628 #, python-format msgid "%s is not a valid URI" msgstr "%s n'est pas une URI valide" -#: lutris/gui/application.py:587 -#, python-format -msgid "Failed to download %s" -msgstr "Échec du téléchargement de %s" +#: lutris/gui/application.py:651 +#, python-format +msgid "Failed to download %s" +msgstr "Échec du téléchargement de %s" + +#: lutris/gui/application.py:660 +#, python-brace-format +msgid "download {url} to {file} started" +msgstr "téléchargement {url} vers {file} débuté" + +#: lutris/gui/application.py:671 +#, python-format +msgid "No such file: %s" +msgstr "Aucun fichier de ce type : %s" + +#: lutris/gui/config/accounts_box.py:39 +msgid "Sync Again" +msgstr "Re-synchroniser" + +#: lutris/gui/config/accounts_box.py:49 +msgid "Steam accounts" +msgstr "Comptes Steam" + +#: lutris/gui/config/accounts_box.py:52 +msgid "" +"Select which Steam account is used for Lutris integration and creating Steam " +"shortcuts." +msgstr "" +"Choisissez quel compte Steam à utiliser pour l'intégration avec Lutris et la " +"création de raccourcis." + +#: lutris/gui/config/accounts_box.py:89 +#, python-format +msgid "Connected as %s" +msgstr "Connecté en tant que%s" + +#: lutris/gui/config/accounts_box.py:91 +msgid "Not connected" +msgstr "Non connecté" + +#: lutris/gui/config/accounts_box.py:96 +msgid "Logout" +msgstr "Se déconnecter" + +#: lutris/gui/config/accounts_box.py:99 +msgid "Login" +msgstr "Se connecter" + +#: lutris/gui/config/accounts_box.py:112 +msgid "Keep your game library synced with Lutris.net" +msgstr "Garder votre bibliothèque synchronisée avec Lutris.net" + +#: lutris/gui/config/accounts_box.py:125 +msgid "" +"This will send play time, last played, runner, platform \n" +"and store information to the lutris website so you can \n" +"sync this data on multiple devices" +msgstr "" +"Ceci téléversera votre temps de jeu, les dernières parties,\n" +"les exécuteurs et les plateformes pour les stocker sur Lutris.\n" +"Vous pourrez alors synchroniser le tout sur plusieurs appareils." + +#: lutris/gui/config/accounts_box.py:153 +msgid "No Steam account found" +msgstr "Aucun compte Steam trouvé" + +#: lutris/gui/config/accounts_box.py:180 +msgid "Syncing library..." +msgstr "Synchronisation de la bibliothèque..." + +#: lutris/gui/config/accounts_box.py:189 +#, python-format +msgid "Last synced %s." +msgstr "Dernière synchronisation : %s." + +#: lutris/gui/config/accounts_box.py:201 +msgid "Synchronize library?" +msgstr "Synchroniser la bibliothèque ?" + +#: lutris/gui/config/accounts_box.py:202 +msgid "Enable library sync and run a full sync with lutris.net?" +msgstr "" +"Activer la synchro. de la bibliothèque avec Lutris.net et en lancer une dès " +"maintenant ?" + +#: lutris/gui/config/add_game_dialog.py:11 +msgid "Add a new game" +msgstr "Ajouter un nouveau jeu" + +#: lutris/gui/config/boxes.py:211 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration." +msgstr "" +"Si elles sont modifiées, ces options remplacent les mêmes options de la " +"configuration de l'exécuteur de base." + +#: lutris/gui/config/boxes.py:237 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration, which themselves supersede the global preferences." +msgstr "" +"Si elles sont modifiées, ces options remplacent les mêmes options de la " +"configuration de l'exécuteur de base, qui elles-mêmes remplacent les " +"préférences globales." + +#: lutris/gui/config/boxes.py:244 +msgid "" +"If modified, these options supersede the same options from the global " +"preferences." +msgstr "" +"Si elles sont modifiées, ces options remplacent les mêmes options des " +"préférences globales." + +#: lutris/gui/config/boxes.py:293 +msgid "Reset option to global or default config" +msgstr "Réinitialiser l'option à la configuration globale ou par défaut" + +#: lutris/gui/config/boxes.py:323 +msgid "" +"(Italic indicates that this option is modified in a lower configuration " +"level.)" +msgstr "" +"(L\"italique indique que cette option est modifiée dans un niveau de " +"configuration inférieur.)" + +#: lutris/gui/config/boxes.py:336 +#, python-format +msgid "No options match '%s'" +msgstr "Aucune option ne correspond à \"%s\"" + +#. type:ignore[attr-defined] +#: lutris/gui/config/boxes.py:338 +msgid "Only advanced options available" +msgstr "Seules les options avancées sont disponibles" + +#: lutris/gui/config/boxes.py:340 +msgid "No options available" +msgstr "Pas d'options disponibles" + +#: lutris/gui/config/edit_category_games.py:18 +#: lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:315 +#: lutris/gui/config/runner.py:18 +#, python-format +msgid "Configure %s" +msgstr "Configurer %s" + +#: lutris/gui/config/edit_category_games.py:69 +#, python-format +msgid "Do you want to delete the category '%s'?" +msgstr "Voulez-vous supprimer la catégorie %s ?" + +#: lutris/gui/config/edit_category_games.py:71 +msgid "" +"This will permanently destroy the category, but the games themselves will " +"not be deleted." +msgstr "" +"Cela détruira définitivement la catégorie, mais les jeux eux-mêmes ne seront " +"pas supprimés." + +#: lutris/gui/config/edit_category_games.py:113 +#, python-format +msgid "'%s' is a reserved category name." +msgstr "\"%s\" est un nom de catégorie réservé." + +#: lutris/gui/config/edit_category_games.py:118 +#, python-format +msgid "Merge the category '%s' into '%s'?" +msgstr "Fusionner la catégorie \"%s\" dans \"%s\" ?" + +#: lutris/gui/config/edit_category_games.py:120 +#, python-format +msgid "" +"If you rename this category, it will be combined with '%s'. Do you want to " +"merge them?" +msgstr "" +"Si vous renommez cette catégorie, elle sera combinée avec \"%s\". Voulez-" +"vous les fusionner ?" + +#: lutris/gui/config/edit_game_categories.py:78 +#, python-format +msgid "%d games" +msgstr "%d jeux" + +#: lutris/gui/config/edit_game_categories.py:117 +msgid "Add Category" +msgstr "Ajouter une catégorie" + +#: lutris/gui/config/edit_game_categories.py:119 +msgid "Adds the category to the list." +msgstr "Ajoute la catégorie à la liste." -#: lutris/gui/application.py:595 -#, python-brace-format -msgid "download {url} to {file} started" -msgstr "téléchargement {url} vers {file} débuté" +#: lutris/gui/config/edit_game_categories.py:154 +msgid "" +"You are updating the categories on 1 game. Are you sure you want to change " +"it?" +msgstr "" +"Vous êtes sur le point de changer les catégories d'un jeu. Êtes-vous sûr de " +"vouloir les changer ?" -#: lutris/gui/application.py:606 +#: lutris/gui/config/edit_game_categories.py:157 #, python-format -msgid "No such file: %s" -msgstr "Aucun fichier de ce type : %s" +msgid "" +"You are updating the categories on %d games. Are you sure you want to change " +"them?" +msgstr "" +"Vous êtes sur le point de changer les catégories de %d jeux. Êtes-vous sûr " +"de vouloir les changer ?" -#: lutris/gui/application.py:777 -#, python-format -msgid "There is no installer available for %s." -msgstr "Il n'y a pas d'installateur disponible pour %s." +#: lutris/gui/config/edit_game_categories.py:163 +msgid "Changing Categories" +msgstr "Catégories changeantes" -#: lutris/gui/application.py:788 -msgid "No updates found" -msgstr "Aucune mise à jour trouvée" +#: lutris/gui/config/edit_saved_search.py:19 +msgid "New Saved Search" +msgstr "Nouvelle catégorie" -#: lutris/gui/application.py:799 -msgid "No DLC found" -msgstr "Pas de DLC trouvée" +#: lutris/gui/config/edit_saved_search.py:53 +msgid "Search" +msgstr "Rechercher" -#: lutris/gui/config/add_game_dialog.py:11 -msgid "Add a new game" -msgstr "Ajouter un nouveau jeu" +#: lutris/gui/config/edit_saved_search.py:130 +msgid "Installed" +msgstr "Installé" -#: lutris/gui/config/boxes.py:119 -msgid "No options available" -msgstr "Pas d'options disponibles" +#: lutris/gui/config/edit_saved_search.py:131 +msgid "Favorite" +msgstr "Favoris" -#: lutris/gui/config/boxes.py:181 -msgid "Reset option to global or default config" -msgstr "Réinitialiser l'option à la configuration globale ou par défaut" +#: lutris/gui/config/edit_saved_search.py:132 lutris/gui/widgets/sidebar.py:493 +msgid "Hidden" +msgstr "Masqué" -#: lutris/gui/config/boxes.py:203 -msgid "Default: " -msgstr "Par défaut : " +#: lutris/gui/config/edit_saved_search.py:133 +msgid "Categorized" +msgstr "Catégorisés" -#: lutris/gui/config/boxes.py:207 -msgid "" -"(Italic indicates that this option is modified in a lower configuration " -"level.)" +#: lutris/gui/config/edit_saved_search.py:170 +#: lutris/gui/config/edit_saved_search.py:223 +msgid "-" msgstr "" -"(L'italique indique que cette option est modifiée dans un niveau de " -"configuration inférieur.)" - -#: lutris/gui/config/boxes.py:382 -#, python-format -msgid "%s (default)" -msgstr "%s (par défaut)" - -#: lutris/gui/config/boxes.py:466 lutris/gui/widgets/common.py:48 -msgid "Select file" -msgstr "Sélectionner le fichier" -#: lutris/gui/config/boxes.py:547 -msgid "Add files" -msgstr "Ajouter des fichiers" +#: lutris/gui/config/edit_saved_search.py:171 +msgid "Yes" +msgstr "Oui" -#: lutris/gui/config/boxes.py:565 -msgid "Files" -msgstr "Fichiers" +#: lutris/gui/config/edit_saved_search.py:172 +msgid "No" +msgstr "Non" -#: lutris/gui/config/boxes.py:582 -msgid "Select files" -msgstr "Sélectionner les fichiers" +#: lutris/gui/config/edit_saved_search.py:184 +msgid "Source" +msgstr "Source" -#: lutris/gui/config/boxes.py:585 -msgid "_Add" -msgstr "_Ajouter" +#: lutris/gui/config/edit_saved_search.py:191 +#: lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:68 +msgid "Runner" +msgstr "Exécuteur" -#: lutris/gui/config/boxes.py:586 lutris/gui/dialogs/__init__.py:277 -#: lutris/gui/dialogs/__init__.py:303 lutris/gui/dialogs/issue.py:72 -#: lutris/gui/widgets/common.py:143 -#: lutris/gui/widgets/download_collection_progress_box.py:53 -#: lutris/gui/widgets/download_progress_box.py:47 -msgid "_Cancel" -msgstr "A_nnuler" +#: lutris/gui/config/edit_saved_search.py:198 lutris/gui/views/list.py:69 +#: lutris/runners/dolphin.py:34 lutris/runners/scummvm.py:259 +msgid "Platform" +msgstr "Plateforme" -#: lutris/gui/config/boxes.py:734 -msgid "" -"If modified, these options supersede the same options from the base runner " -"configuration." -msgstr "" -"Si elles sont modifiées, ces options remplacent les mêmes options de la " -"configuration de l'exécuteur de base." +#: lutris/gui/config/edit_saved_search.py:292 +#, python-format +msgid "'%s' is already a saved search." +msgstr "\"%s\" est déjà une catégorie." -#: lutris/gui/config/boxes.py:755 -msgid "" -"If modified, these options supersede the same options from the base runner " -"configuration, which themselves supersede the global preferences." -msgstr "" -"Si elles sont modifiées, ces options remplacent les mêmes options de la " -"configuration de l'exécuteur de base, qui elles-mêmes remplacent les " -"préférences globales." +#: lutris/gui/config/edit_saved_search.py:336 +#, python-format +msgid "Do you want to delete the saved search '%s'?" +msgstr "Voulez-vous supprimer la catégorie \"%s\" ?" -#: lutris/gui/config/boxes.py:761 +#: lutris/gui/config/edit_saved_search.py:338 msgid "" -"If modified, these options supersede the same options from the global " -"preferences." +"This will permanently destroy the saved search, but the games themselves " +"will not be deleted." msgstr "" -"Si elles sont modifiées, ces options remplacent les mêmes options des " -"préférences globales." +"Cela détruira définitivement la catégorie, mais les jeux eux-mêmes ne seront " +"pas supprimés." -#: lutris/gui/config/common.py:31 +#: lutris/gui/config/game_common.py:35 msgid "Select a runner in the Game Info tab" msgstr "Sélectionnez un exécuteur dans l'onglet d'Infos de jeu" -#: lutris/gui/config/common.py:130 lutris/gui/config/runner.py:21 +#: lutris/gui/config/game_common.py:143 lutris/gui/config/runner.py:27 #, python-format msgid "Search %s options" -msgstr "Options de recherche %s" +msgstr "Chercher des options pour %s" -#: lutris/gui/config/common.py:132 lutris/gui/config/common.py:464 +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 msgid "Search options" msgstr "Options de recherche" -#: lutris/gui/config/common.py:157 +#: lutris/gui/config/game_common.py:172 msgid "Game info" msgstr "Infos de jeu" -#: lutris/gui/config/common.py:172 +#: lutris/gui/config/game_common.py:187 msgid "Sort name" -msgstr "Nom d'usage" +msgstr "Nom de tri" -#: lutris/gui/config/common.py:186 -msgid "Identifier" -msgstr "Identifiant" +#: lutris/gui/config/game_common.py:203 +#, python-format +msgid "" +"Identifier\n" +"(Internal ID: %s)" +msgstr "" +"Identifiant\n" +"(ID interne : %s)" -#: lutris/gui/config/common.py:195 lutris/gui/config/common.py:373 +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 msgid "Change" msgstr "Modifier" -#: lutris/gui/config/common.py:204 +#: lutris/gui/config/game_common.py:223 msgid "Directory" msgstr "Répertoire" -#: lutris/gui/config/common.py:210 +#: lutris/gui/config/game_common.py:229 msgid "Move" msgstr "Déplacer" -#: lutris/gui/config/common.py:230 +#: lutris/gui/config/game_common.py:249 msgid "The default launch option will be used for this game" -msgstr "L'option de lancement par défaut sera utilisée pour ce jeu." +msgstr "L\"option de lancement par défaut sera utilisée pour ce jeu." -#: lutris/gui/config/common.py:232 +#: lutris/gui/config/game_common.py:251 #, python-format msgid "The '%s' launch option will be used for this game" -msgstr "L'option de lancement '%s' sera utilisée pour ce jeu." +msgstr "L\"option de lancement \"%s\" sera utilisée pour ce jeu." -#: lutris/gui/config/common.py:239 +#: lutris/gui/config/game_common.py:258 msgid "Reset" msgstr "Réinitialiser" -#: lutris/gui/config/common.py:257 lutris/gui/views/list.py:54 -msgid "Runner" -msgstr "Exécuteur" - -#: lutris/gui/config/common.py:271 +#: lutris/gui/config/game_common.py:289 msgid "Set custom cover art" msgstr "Définir une pochette personnalisée" -#: lutris/gui/config/common.py:271 +#: lutris/gui/config/game_common.py:289 msgid "Remove custom cover art" -msgstr "Supprimer l’icône personnalisée" +msgstr "Retirer l’icône personnalisée" -#: lutris/gui/config/common.py:272 +#: lutris/gui/config/game_common.py:290 msgid "Set custom banner" msgstr "Définir une bannière personnalisée" -#: lutris/gui/config/common.py:272 +#: lutris/gui/config/game_common.py:290 msgid "Remove custom banner" -msgstr "Supprimer la bannière personnalisée" +msgstr "Retirer la bannière personnalisée" -#: lutris/gui/config/common.py:273 +#: lutris/gui/config/game_common.py:291 msgid "Set custom icon" msgstr "Définir une icône personnalisée" -#: lutris/gui/config/common.py:273 +#: lutris/gui/config/game_common.py:291 msgid "Remove custom icon" -msgstr "Supprimer l’icône personnalisée" +msgstr "Retirer l’icône personnalisée" -#: lutris/gui/config/common.py:306 +#: lutris/gui/config/game_common.py:324 msgid "Release year" msgstr "Année de sortie" -#: lutris/gui/config/common.py:347 +#: lutris/gui/config/game_common.py:337 +msgid "Playtime" +msgstr "Temps de jeu" + +#: lutris/gui/config/game_common.py:383 msgid "Select a runner from the list" msgstr "Sélectionnez un exécuteur depuis la liste" -#: lutris/gui/config/common.py:356 +#: lutris/gui/config/game_common.py:391 msgid "Apply" msgstr "Appliquer" -#: lutris/gui/config/common.py:410 lutris/gui/config/common.py:417 -#: lutris/gui/config/common.py:422 +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 +#: lutris/gui/config/game_common.py:461 msgid "Game options" msgstr "Options du jeu" -#: lutris/gui/config/common.py:426 lutris/gui/config/common.py:429 +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 msgid "Runner options" msgstr "Option de l'exécuteur" -#: lutris/gui/config/common.py:432 +#: lutris/gui/config/game_common.py:473 msgid "System options" msgstr "Options système" -#: lutris/gui/config/common.py:473 +#: lutris/gui/config/game_common.py:510 msgid "Show advanced options" msgstr "Montrer les options avancées" -#: lutris/gui/config/common.py:475 +#: lutris/gui/config/game_common.py:512 msgid "Advanced" msgstr "Avancé" -#: lutris/gui/config/common.py:529 +#: lutris/gui/config/game_common.py:566 msgid "" "Are you sure you want to change the runner for this game ? This will reset " "the full configuration for this game and is not reversible." @@ -1075,167 +1789,175 @@ msgstr "" "Êtes-vous sûr de vouloir changer l’exécuteur de ce jeu ? Cela réinitialisera " "intégralement sa configuration sans retour en arrière possible." -#: lutris/gui/config/common.py:533 +#: lutris/gui/config/game_common.py:570 msgid "Confirm runner change" msgstr "Confirmer le changement d'exécuteur" -#: lutris/gui/config/common.py:585 +#: lutris/gui/config/game_common.py:622 msgid "Runner not provided" msgstr "Exécuteur non fourni" -#: lutris/gui/config/common.py:588 +#: lutris/gui/config/game_common.py:625 msgid "Please fill in the name" msgstr "Merci d'indiquer le nom" -#: lutris/gui/config/common.py:591 +#: lutris/gui/config/game_common.py:628 msgid "Steam AppID not provided" msgstr "Steam AppID non fourni" -#: lutris/gui/config/common.py:609 +#: lutris/gui/config/game_common.py:654 msgid "The following fields have invalid values: " msgstr "Les champs suivants ont des valeurs invalides : " -#: lutris/gui/config/common.py:617 +#: lutris/gui/config/game_common.py:661 msgid "Current configuration is not valid, ignoring save request" msgstr "" "La configuration actuelle n'est pas valide, requête d'enregistrement ignorée" -#: lutris/gui/config/common.py:654 +#: lutris/gui/config/game_common.py:705 msgid "Please choose a custom image" -msgstr "Merci de sélectionner une image personnalisée" +msgstr "Veuillez sélectionner une image personnalisée" -#: lutris/gui/config/common.py:662 +#: lutris/gui/config/game_common.py:713 msgid "Images" msgstr "Images" -#: lutris/gui/config/edit_category_games.py:17 -#: lutris/gui/config/edit_game.py:10 lutris/gui/config/runner.py:12 -#, python-format -msgid "Configure %s" -msgstr "Configurer %s" - -#: lutris/gui/config/edit_category_games.py:67 -#, python-format -msgid "Do you want to delete the category '%s'?" -msgstr "Voulez-vous supprimer la catégorie %s ?" +#: lutris/gui/config/preferences_box.py:22 +msgid "Minimize client when a game is launched" +msgstr "Minimiser le client quand un jeu est lancé" -#: lutris/gui/config/edit_category_games.py:69 +#: lutris/gui/config/preferences_box.py:24 msgid "" -"This will permanently destroy the category, but the games themselves will " -"not be deleted." +"Minimize the Lutris window while playing a game; it will return when the " +"game exits." msgstr "" -"Cela détruira définitivement la catégorie, mais les jeux eux-mêmes ne seront " -"pas supprimés." - -#: lutris/gui/config/edit_category_games.py:106 -#, python-format -msgid "'%s' is a reserved category name." -msgstr "'%s' est un nom de catégorie réservé." +"Minimiser la fenêtre de Lutris lorsqu'un jeu est lancé; Elle reviendra une " +"fois le jeu arrêté." -#: lutris/gui/config/edit_category_games.py:111 -#, python-format -msgid "Merge the category '%s' into '%s'?" -msgstr "Fusionner la catégorie '%s' dans '%s' ?" +#: lutris/gui/config/preferences_box.py:28 +msgid "Hide text under icons" +msgstr "Masquer le texte sous les icônes" -#: lutris/gui/config/edit_category_games.py:113 -#, python-format +#: lutris/gui/config/preferences_box.py:30 msgid "" -"If you rename this category, it will be combined with '%s'. Do you want to " -"merge them?" +"Removes the names from the Lutris window when in grid view, but not list " +"view." msgstr "" -"Si vous renommez cette catégorie, elle sera combinée avec '%s'. Voulez-vous " -"les fusionner ?" - -#: lutris/gui/config/edit_game_categories.py:17 -#, python-format -msgid "Categories - %s" -msgstr "Catégories - %s" - -#: lutris/gui/config/edit_game_categories.py:74 -msgid "Add Category" -msgstr "Ajouter une catégorie" - -#: lutris/gui/config/edit_game_categories.py:76 -msgid "Adds the category to the list." -msgstr "Ajoute la catégorie à la liste." - -#: lutris/gui/config/preferences_box.py:11 lutris/gui/config/sysinfo_box.py:11 -msgid "Minimize client when a game is launched" -msgstr "Minimiser le client quand un jeu est lancé" +"Retirer les noms de la bibliothèque lors de la vue en grille, mais pas en " +"liste." -#: lutris/gui/config/preferences_box.py:12 lutris/gui/config/sysinfo_box.py:12 -msgid "Hide text under icons" -msgstr "Masquer le texte sous les icônes" - -#: lutris/gui/config/preferences_box.py:13 +#: lutris/gui/config/preferences_box.py:34 msgid "Hide badges on icons (Ctrl+p to toggle)" msgstr "Masquer les badges sur les icônes (Ctrl+p pour basculer)" -#: lutris/gui/config/preferences_box.py:14 lutris/gui/config/sysinfo_box.py:14 +#: lutris/gui/config/preferences_box.py:37 +msgid "" +"Removes the platform and missing-game badges from icons in the Lutris window." +msgstr "" +"Retirer la plateforme ainsi que les badges de jeux manquants des icônes de " +"la bibliothèque." + +#: lutris/gui/config/preferences_box.py:41 msgid "Show Tray Icon" msgstr "Montrer l’icône de la barre d'état système." -#: lutris/gui/config/preferences_box.py:15 -msgid "Use dark theme (requires dark theme variant for Gtk)" +#: lutris/gui/config/preferences_box.py:45 +msgid "" +"Adds a Lutris icon to the tray, and prevents Lutris from exiting when the " +"Lutris window is closed. You can still exit using the menu of the tray icon." msgstr "" -"Utiliser le thème sombre (requiert une variante du thème sombre pour Gtk)." +"Ajoute une icône Lutris dans la barre d'état et empêche Lutris de s'arrêter " +"même si la fenêtre est fermée. Vous pouvez stopper Lutris via le menu de " +"l'icône." -#: lutris/gui/config/preferences_box.py:16 +#: lutris/gui/config/preferences_box.py:51 msgid "Enable Discord Rich Presence for Available Games" -msgstr "Activer 'Discord Rich Presence' pour les jeux disponibles" +msgstr "Activer \"Discord Rich Presence\" pour les jeux disponibles" + +#: lutris/gui/config/preferences_box.py:57 +msgid "Theme" +msgstr "Thème" -#: lutris/gui/config/preferences_box.py:36 +#: lutris/gui/config/preferences_box.py:59 +msgid "System Default" +msgstr "Par défaut (système)" + +#: lutris/gui/config/preferences_box.py:60 +msgid "Light" +msgstr "Clair" + +#: lutris/gui/config/preferences_box.py:61 +msgid "Dark" +msgstr "Sombre" + +#: lutris/gui/config/preferences_box.py:64 +msgid "Overrides Lutris's appearance to be light or dark." +msgstr "Force Lutris à adopter un thème sombre ou clair." + +#: lutris/gui/config/preferences_box.py:72 msgid "Interface options" msgstr "Options d'interface" -#: lutris/gui/config/preferences_dialog.py:22 +#: lutris/gui/config/preferences_dialog.py:23 msgid "Lutris settings" msgstr "Paramètres de Lutris" -#: lutris/gui/config/preferences_dialog.py:34 +#: lutris/gui/config/preferences_dialog.py:35 msgid "Interface" msgstr "Interface" -#: lutris/gui/config/preferences_dialog.py:35 lutris/gui/widgets/sidebar.py:353 +#: lutris/gui/config/preferences_dialog.py:36 lutris/gui/widgets/sidebar.py:403 msgid "Runners" msgstr "Exécuteurs" -#: lutris/gui/config/preferences_dialog.py:36 lutris/gui/widgets/sidebar.py:352 +#: lutris/gui/config/preferences_dialog.py:37 lutris/gui/widgets/sidebar.py:402 msgid "Sources" msgstr "Sources" -#: lutris/gui/config/preferences_dialog.py:37 -msgid "Hardware information" -msgstr "Information sur le matériel" - #: lutris/gui/config/preferences_dialog.py:38 +msgid "Accounts" +msgstr "Comptes" + +#: lutris/gui/config/preferences_dialog.py:39 +msgid "Updates" +msgstr "Mises à jour" + +#: lutris/gui/config/preferences_dialog.py:40 lutris/sysoptions.py:28 +msgid "System" +msgstr "Système" + +#: lutris/gui/config/preferences_dialog.py:41 +msgid "Storage" +msgstr "Stockage" + +#: lutris/gui/config/preferences_dialog.py:42 msgid "Global options" msgstr "Options globales" -#: lutris/gui/config/preferences_dialog.py:99 +#: lutris/gui/config/preferences_dialog.py:111 msgid "Search global options" msgstr "Rechercher les options globales" -#: lutris/gui/config/runner_box.py:90 lutris/gui/widgets/sidebar.py:249 +#: lutris/gui/config/runner_box.py:89 lutris/gui/widgets/sidebar.py:254 #, python-format msgid "Manage %s versions" msgstr "Gérer %s versions" -#: lutris/gui/config/runner_box.py:123 +#: lutris/gui/config/runner_box.py:109 #, python-format msgid "Do you want to uninstall %s?" msgstr "Êtes-vous sûr de vouloir désinstaller %s ?" -#: lutris/gui/config/runner_box.py:124 +#: lutris/gui/config/runner_box.py:110 #, python-format msgid "This will remove %s and all associated data." msgstr "Cela supprimera %s et toutes les données associés." -#: lutris/gui/config/runners_box.py:20 +#: lutris/gui/config/runners_box.py:22 msgid "Add, remove or configure runners" msgstr "Ajouter, supprimer ou configurer des exécuteurs" -#: lutris/gui/config/runners_box.py:22 +#: lutris/gui/config/runners_box.py:25 msgid "" "Runners are programs such as emulators, engines or translation layers " "capable of running games." @@ -1243,21 +1965,21 @@ msgstr "" "Les exécuteurs (runners) sont des programmes comme les émulateurs, les " "moteurs ou les couches de traduction capables d'exécuter des jeux." -#: lutris/gui/config/runners_box.py:25 +#: lutris/gui/config/runners_box.py:28 msgid "No runners matched the search" msgstr "Aucun exécuteurs ne correspond à la recherche" #. pretty sure there will always be many runners, so assume plural -#: lutris/gui/config/runners_box.py:44 +#: lutris/gui/config/runners_box.py:47 #, python-format msgid "Search %s runners" msgstr "Recherche les exécuteurs %s" #: lutris/gui/config/services_box.py:18 msgid "Enable integrations with game sources" -msgstr "Permettre les intégrations avec les sources de jeux" +msgstr "Activer les intégrations avec les sources de jeux" -#: lutris/gui/config/services_box.py:20 +#: lutris/gui/config/services_box.py:21 msgid "" "Access your game libraries from various sources. Changes require a restart " "to take effect." @@ -1265,31 +1987,273 @@ msgstr "" "Accédez à vos bibliothèques de jeux depuis différentes sources. Les " "modifications nécessitent un redémarrage pour prendre effet." -#: lutris/gui/config/sysinfo_box.py:13 -msgid "Hide badges on icons" -msgstr "Masquer les badges sur les icônes" +#: lutris/gui/config/storage_box.py:24 +msgid "Paths" +msgstr "Chemins" + +#: lutris/gui/config/storage_box.py:36 +msgid "Game library" +msgstr "Bibliothèque" + +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 +msgid "The default folder where you install your games." +msgstr "Le dossier par défaut où seront installés vos jeux." + +#: lutris/gui/config/storage_box.py:43 +msgid "Installer cache" +msgstr "Cache de l'installateur" + +#: lutris/gui/config/storage_box.py:48 +msgid "" +"If provided, files downloaded during game installs will be kept there\n" +"\n" +"Otherwise, all downloaded files are discarded." +msgstr "" +"Si un chemin est fourni, les fichiers téléchargées pendant l'installation " +"seront gardés ici\n" +"\n" +"Sinon, tous les fichiers téléchargés sont jetés." + +#: lutris/gui/config/storage_box.py:53 +msgid "Emulator BIOS files location" +msgstr "Emplacement des fichiers BIOS" + +#: lutris/gui/config/storage_box.py:57 +msgid "The folder Lutris will search in for emulator BIOS files if needed" +msgstr "Le dossier où Lutris recherchera le BIOS de l'émulateur si nécessaire" + +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "Le dossier est trop gros (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "Trop de fichiers dans le dossier" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "Le dossier est trop profond" -#: lutris/gui/config/sysinfo_box.py:40 -msgid "Copy to clipboard" -msgstr "Copier dans le presse-papiers" +#: lutris/gui/config/sysinfo_box.py:18 +msgid "Vulkan support" +msgstr "Support Vulkan" -#: lutris/gui/config/sysinfo_box.py:43 -msgid "System information" +#: lutris/gui/config/sysinfo_box.py:22 +msgid "Esync support" +msgstr "Support Esync" + +#: lutris/gui/config/sysinfo_box.py:26 +msgid "Fsync support" +msgstr "Support Fsync" + +#: lutris/gui/config/sysinfo_box.py:30 +msgid "Wine installed" +msgstr "Wine installé" + +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 +#: lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 +#: lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 +#: lutris/sysoptions.py:294 lutris/sysoptions.py:304 +msgid "Gamescope" +msgstr "Gamescope" + +#: lutris/gui/config/sysinfo_box.py:34 +msgid "Mangohud" +msgstr "" + +#: lutris/gui/config/sysinfo_box.py:35 +msgid "Gamemode" +msgstr "GameMode" + +#: lutris/gui/config/sysinfo_box.py:36 lutris/gui/installer/file_box.py:100 +#: lutris/runners/steam.py:30 lutris/services/steam.py:74 +msgid "Steam" +msgstr "Steam" + +#: lutris/gui/config/sysinfo_box.py:37 +msgid "In Flatpak" +msgstr "Flatpak" + +#: lutris/gui/config/sysinfo_box.py:42 +msgid "System information" msgstr "Informations du système" -#: lutris/gui/dialogs/cache.py:13 +#: lutris/gui/config/sysinfo_box.py:51 +msgid "Copy system info to Clipboard" +msgstr "Copier les infos. système" + +#: lutris/gui/config/sysinfo_box.py:56 +msgid "Lutris logs" +msgstr "Journaux de Lutris" + +#: lutris/gui/config/sysinfo_box.py:65 +msgid "Copy logs to Clipboard" +msgstr "Copier les journaux" + +#: lutris/gui/config/sysinfo_box.py:133 +msgid "YES" +msgstr "OUI" + +#: lutris/gui/config/sysinfo_box.py:134 +msgid "NO" +msgstr "NON" + +#: lutris/gui/config/updates_box.py:20 +msgid "Runtime updates" +msgstr "Mise à jour des moteurs d'exécution" + +#: lutris/gui/config/updates_box.py:21 +msgid "Runtime components include DXVK, VKD3D and Winetricks." +msgstr "Les composants d'exécution incluent DXVK, VKD3D et Winetricks." + +#: lutris/gui/config/updates_box.py:22 +msgid "Check for Updates" +msgstr "Vérifier les mises à jour" + +#: lutris/gui/config/updates_box.py:26 +msgid "Automatically Update the Lutris runtime" +msgstr "Mettre automatiquement à jour le moteur d'exécution Lutris" + +#: lutris/gui/config/updates_box.py:31 +msgid "Media updates" +msgstr "Mises à jour des médias" + +#: lutris/gui/config/updates_box.py:32 +msgid "Download Missing Media" +msgstr "Télécharger les médias manquants" + +#: lutris/gui/config/updates_box.py:56 +msgid "Checking for missing media..." +msgstr "Vérification des médias absents..." + +#: lutris/gui/config/updates_box.py:63 +msgid "Nothing to update" +msgstr "Rien de neuf" + +#: lutris/gui/config/updates_box.py:65 +msgid "Updated: " +msgstr "Mis à jour :" + +#: lutris/gui/config/updates_box.py:67 +msgid "banner" +msgstr "bannière" + +#: lutris/gui/config/updates_box.py:68 +msgid "icon" +msgstr "icone" + +#: lutris/gui/config/updates_box.py:69 +msgid "cover" +msgstr "jaquette" + +#: lutris/gui/config/updates_box.py:70 +msgid "banners" +msgstr "bannièresExécuteurs" + +#: lutris/gui/config/updates_box.py:71 +msgid "icons" +msgstr "icones" + +#: lutris/gui/config/updates_box.py:72 +msgid "covers" +msgstr "jaquettes" + +#: lutris/gui/config/updates_box.py:81 +msgid "No new media found." +msgstr "Aucun nouveau média." + +#: lutris/gui/config/updates_box.py:110 +#, python-format +msgid "%s has been updated." +msgstr "%s a été mis à jour." + +#: lutris/gui/config/updates_box.py:112 +#, python-format +msgid "%s have been updated." +msgstr "%s ont été mis à jour." + +#: lutris/gui/config/updates_box.py:119 +msgid "Checking for updates..." +msgstr "Vérification des mises à jour..." + +#: lutris/gui/config/updates_box.py:121 +msgid "Updates are already being downloaded and installed." +msgstr "" +"Les mises à jour sont déjà en cours de téléchargement / d'installation." + +#: lutris/gui/config/updates_box.py:123 +msgid "No updates are required at this time." +msgstr "Aucune mise à jour requise pour le moment." + +#: lutris/gui/config/widget_generator.py:215 +msgid "Default: " +msgstr "Par défaut : " + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/wine.py:559 +msgid "Enabled" +msgstr "Activé" + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/easyrpg.py:371 +#: lutris/runners/mednafen.py:78 lutris/runners/wine.py:558 +msgid "Disabled" +msgstr "Désactivé" + +#: lutris/gui/config/widget_generator.py:424 +#, python-format +msgid "%s (default)" +msgstr "%s (par défaut)" + +#: lutris/gui/config/widget_generator.py:488 +#, python-format +msgid "" +"The setting '%s' is no longer available. You should select another choice." +msgstr "" +"L\"option \"%s\" n'est plus disponible. Vous devriez sélectionner autre " +"chose." + +#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:52 +msgid "Select file" +msgstr "Sélectionner le fichier" + +#: lutris/gui/config/widget_generator.py:567 +msgid "Select files" +msgstr "Sélectionner les fichiers" + +#: lutris/gui/config/widget_generator.py:570 +msgid "_Add" +msgstr "_Ajouter" + +#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:446 +#: lutris/gui/dialogs/__init__.py:472 lutris/gui/dialogs/issue.py:74 +#: lutris/gui/widgets/common.py:170 +#: lutris/gui/widgets/download_collection_progress_box.py:56 +#: lutris/gui/widgets/download_progress_box.py:64 +msgid "_Cancel" +msgstr "_Annuler" + +#: lutris/gui/config/widget_generator.py:606 +msgid "Add Files" +msgstr "Ajouter des fichiers" + +#: lutris/gui/config/widget_generator.py:626 +#: lutris/installer/installer_file_collection.py:88 +msgid "Files" +msgstr "Fichiers" + +#: lutris/gui/dialogs/cache.py:12 msgid "Download cache configuration" msgstr "Télécharger la configuration du cache" -#: lutris/gui/dialogs/cache.py:40 +#: lutris/gui/dialogs/cache.py:35 msgid "Cache path" msgstr "Chemin du cache" -#: lutris/gui/dialogs/cache.py:43 +#: lutris/gui/dialogs/cache.py:38 msgid "Set the folder for the cache path" msgstr "Définir le dossier pour le chemin du cache" -#: lutris/gui/dialogs/cache.py:55 +#: lutris/gui/dialogs/cache.py:52 msgid "" "If provided, this location will be used by installers to cache downloaded " "files locally for future re-use. \n" @@ -1302,135 +2266,137 @@ msgstr "" "Si laissé vide, les fichiers du programme d'installation seront supprimés " "une fois l’installation terminée." -#: lutris/gui/dialogs/delegates.py:202 +#: lutris/gui/dialogs/delegates.py:41 +#, python-format +msgid "The required runner '%s' is not installed." +msgstr "L\"exécuteur demandé \"%s\" n'est pas installé." + +#: lutris/gui/dialogs/delegates.py:207 msgid "Select game to launch" msgstr "Sélectionnez le jeu à lancer" -#: lutris/gui/dialogs/download.py:13 +#: lutris/gui/dialogs/download.py:14 msgid "Downloading file" msgstr "Téléchargement du fichier" -#: lutris/gui/dialogs/download.py:15 +#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:128 #, python-format msgid "Downloading %s" msgstr "Téléchargement de %s" -#: lutris/gui/dialogs/game_import.py:101 +#: lutris/gui/dialogs/game_import.py:96 msgid "Launch" msgstr "_Lancer" -#: lutris/gui/dialogs/game_import.py:135 +#: lutris/gui/dialogs/game_import.py:129 msgid "Calculating checksum..." msgstr "Calcul de la somme de contrôle..." -#: lutris/gui/dialogs/game_import.py:144 +#: lutris/gui/dialogs/game_import.py:138 msgid "Looking up checksum on Lutris.net..." msgstr "Recherche de la somme de contrôle sur Lutris.net..." -#: lutris/gui/dialogs/game_import.py:147 +#: lutris/gui/dialogs/game_import.py:141 msgid "This ROM could not be identified." msgstr "Le fichier ROM n'a pas pu être identifié" -#: lutris/gui/dialogs/game_import.py:156 +#: lutris/gui/dialogs/game_import.py:150 msgid "Looking for installed game..." msgstr "Recherche de jeux installés..." -#: lutris/gui/dialogs/game_import.py:205 +#: lutris/gui/dialogs/game_import.py:199 #, python-format msgid "Failed to import a ROM: %s" msgstr "Échec de l'importation de la ROM : %s" -#: lutris/gui/dialogs/game_import.py:224 +#: lutris/gui/dialogs/game_import.py:220 msgid "Game already installed in Lutris" msgstr "Jeu déjà installé dans Lutris" -#: lutris/gui/dialogs/game_import.py:246 +#: lutris/gui/dialogs/game_import.py:242 #, python-format msgid "The platform '%s' is unknown to Lutris." -msgstr "La plateforme '%s' est inconnue de Lutris." +msgstr "La plateforme \"%s\" est inconnue de Lutris." -#: lutris/gui/dialogs/game_import.py:256 +#: lutris/gui/dialogs/game_import.py:252 #, python-format msgid "Lutris does not have a default installer for the '%s' platform." -msgstr "Lutris n'a pas d'installateur par défaut pour la plate-forme '%s'." +msgstr "Lutris n'a pas d'installateur par défaut pour la plate-forme \"%s\"." -#: lutris/gui/dialogs/__init__.py:90 +#: lutris/gui/dialogs/__init__.py:175 msgid "Save" msgstr "Sauvegarder" -#: lutris/gui/dialogs/__init__.py:276 lutris/gui/dialogs/__init__.py:302 -#: lutris/gui/dialogs/issue.py:71 lutris/gui/widgets/common.py:143 +#: lutris/gui/dialogs/__init__.py:303 +msgid "Lutris has encountered an error" +msgstr "Lutris a rencontré une erreur" + +#: lutris/gui/dialogs/__init__.py:331 lutris/gui/installerwindow.py:962 +msgid "Copy Details to Clipboard" +msgstr "Copier les détails" + +#: lutris/gui/dialogs/__init__.py:351 +msgid "" +"You can get support from GitHub or Discord. Make sure " +"to provide the error details;\n" +"use the 'Copy Details to Clipboard' button to get them." +msgstr "" +"Vous pouvez trouver de l'aide sur GitHub ou Discord (en anglais). Pensez à donner les détails du message " +"d'erreur;\n" +"utilisez le bouton \"Copier les détails\" pour les récupérer." + +#: lutris/gui/dialogs/__init__.py:360 +msgid "Error details" +msgstr "Détails de l'erreur" + +#: lutris/gui/dialogs/__init__.py:445 lutris/gui/dialogs/__init__.py:471 +#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:170 msgid "_OK" msgstr "_OK" -#: lutris/gui/dialogs/__init__.py:293 +#: lutris/gui/dialogs/__init__.py:462 msgid "Please choose a file" -msgstr "Merci de sélectionner un fichier" - -#: lutris/gui/dialogs/__init__.py:325 -msgid "Checking for runtime updates, please wait…" -msgstr "" -"Vérification des mises à jour pour les environnements d’exécution, merci de " -"patienter…" +msgstr "Veuillez sélectionner un fichier" -#: lutris/gui/dialogs/__init__.py:363 +#: lutris/gui/dialogs/__init__.py:486 #, python-format msgid "%s is already installed" msgstr "%s est déjà installé" -#: lutris/gui/dialogs/__init__.py:374 +#: lutris/gui/dialogs/__init__.py:496 msgid "Launch game" msgstr "Lancer le jeu" -#: lutris/gui/dialogs/__init__.py:378 +#: lutris/gui/dialogs/__init__.py:500 msgid "Install the game again" msgstr "Installer de nouveau le jeu" -#: lutris/gui/dialogs/__init__.py:420 +#: lutris/gui/dialogs/__init__.py:539 msgid "Do not ask again for this game." msgstr "Veuillez ne plus demander ce jeu." -#: lutris/gui/dialogs/__init__.py:479 +#: lutris/gui/dialogs/__init__.py:594 msgid "Login failed" msgstr "Connexion échouée" -#: lutris/gui/dialogs/__init__.py:489 -msgid "Install script for {}" -msgstr "Script d'installation pour {}" - -#: lutris/gui/dialogs/__init__.py:533 -msgid "Wine is not installed on your system." -msgstr "Wine n’est pas installé sur votre système." - -#: lutris/gui/dialogs/__init__.py:535 -msgid "" -"Having Wine installed on your system guarantees that Wine builds from Lutris " -"will have all required dependencies.\n" -"\n" -"Please follow the instructions given in the Lutris Wiki to install Wine." -msgstr "" -"Avoir la version de Wine de votre distribution Linux installé sur votre " -"système garantit que les versions de Wine installés à partir de Lutris " -"auront toutes les dépendances requises.\n" -"Merci de suivre les instructions données dans Wiki de Lutris pour installer Wine." - -#: lutris/gui/dialogs/__init__.py:560 -#, python-format -msgid "Moving %s to %s..." -msgstr "Déplacement de %s vers %s..." - -#: lutris/gui/dialogs/__init__.py:588 +#: lutris/gui/dialogs/__init__.py:604 +#, python-brace-format +msgid "Install script for {}" +msgstr "Script d'installation pour {}" + +#: lutris/gui/dialogs/__init__.py:628 msgid "Humble Bundle Cookie Authentication" msgstr "Authentification du cookie Humble Bundle." -#: lutris/gui/dialogs/__init__.py:600 +#: lutris/gui/dialogs/__init__.py:640 msgid "" "Humble Bundle Authentication via cookie import\n" "\n" "In Firefox\n" -"- Install the follwing extension: https://addons.mozilla.org/en-US/firefox/" "addon/export-cookies-txt/\n" "- Open a tab to humblebundle.com and make sure you are logged in.\n" @@ -1445,26 +2411,31 @@ msgstr "" "Authentification Humble Bundle via l'importation de cookies\n" "\n" "Dans Firefox\n" -"- Installez l'extension suivante: https://addons.mozilla.org/en-US/firefox/" +"- Installez l'extension suivante: https://addons.mozilla.org/en-US/firefox/" "addon/export-cookies-txt/\n" -"- Ouvrez un nouvel onglet et connectez-vous à votre compte humblebundle." -"com.\n" +"- Ouvrez un nouvel onglet et connectez-vous à votre compte " +"humblebundle.com.\n" "- Cliquez sur l'icône des cookies dans le coin supérieur droit, à côté du " "menu des paramètres\n" -"- Vérifiez 'Prefix HttpOnly cookies' et cliquez sur 'humblebundle.com'\n" +"- Vérifiez \"Prefix HttpOnly cookies\" et cliquez sur \"humblebundle.com\"\n" "- Ouvrez le fichier généré et collez le contenu ci-dessous. Cliquez sur OK " "pour terminer.\n" "- Vous pouvez supprimer le fichier cookies généré par Firefox\n" -"- Eventuellement, open a support ticket pour demander à Humble Bundle de " +"- Éventuellement, ouvrir un ticket de support pour demander à Humble Bundle de " "réparer leur configuration." +#: lutris/gui/dialogs/__init__.py:723 +#, python-format +msgid "The key '%s' could not be found." +msgstr "La clé \"%s\" n'a pas pu être trouvé." + #: lutris/gui/dialogs/issue.py:24 msgid "Submit an issue" msgstr "Soumettre un problème" -#: lutris/gui/dialogs/issue.py:29 +#: lutris/gui/dialogs/issue.py:30 msgid "" "Describe the problem you're having in the text box below. This information " "will be sent the Lutris team along with your system information. You can " @@ -1475,378 +2446,471 @@ msgstr "" "votre système. Vous pouvez également enregistrer ces informations localement " "si vous êtes hors ligne." -#: lutris/gui/dialogs/issue.py:52 +#: lutris/gui/dialogs/issue.py:54 msgid "_Save" msgstr "_Enregistrer" -#: lutris/gui/dialogs/issue.py:68 +#: lutris/gui/dialogs/issue.py:70 msgid "Select a location to save the issue" msgstr "Sélectionnez un emplacement pour enregistrer le problème" -#: lutris/gui/dialogs/issue.py:88 +#: lutris/gui/dialogs/issue.py:90 #, python-format msgid "Issue saved in %s" msgstr "Problème enregistré dans %s" -#: lutris/gui/dialogs/log.py:25 +#: lutris/gui/dialogs/log.py:23 +#, python-brace-format msgid "Log for {}" msgstr "Journal (log) pour {}" -#: lutris/gui/dialogs/runner_install.py:28 +#: lutris/gui/dialogs/move_game.py:28 +#, python-format +msgid "Moving %s to %s..." +msgstr "Déplacement de %s vers %s..." + +#: lutris/gui/dialogs/move_game.py:57 +msgid "" +"Do you want to change the game location anyway? No files can be moved, and " +"the game configuration may need to be adjusted." +msgstr "" +"Souhaitez vous quand-même changer l'emplacement du jeu ? Aucun fichier ne " +"peut-être déplacé, vous devrez sans doute ajuster la configuration du jeu." + +#: lutris/gui/dialogs/runner_install.py:59 #, python-format msgid "Showing games using %s" msgstr "Affichage des jeux utilisant %s" -#: lutris/gui/dialogs/runner_install.py:74 +#: lutris/gui/dialogs/runner_install.py:115 #, python-format msgid "Waiting for response from %s" msgstr "Attente d'une réponse de %s" -#: lutris/gui/dialogs/runner_install.py:90 +#: lutris/gui/dialogs/runner_install.py:176 #, python-format msgid "Unable to get runner versions: %s" msgstr "Échec de l'obtention des versions de l’exécuteur : %s" -#: lutris/gui/dialogs/runner_install.py:104 +#: lutris/gui/dialogs/runner_install.py:182 msgid "Unable to get runner versions from lutris.net" msgstr "Échec de l'obtention des versions de l’exécuteur depuis lutris.net" -#: lutris/gui/dialogs/runner_install.py:111 +#: lutris/gui/dialogs/runner_install.py:189 #, python-format msgid "%s version management" msgstr "Gestion de la version %s" -#: lutris/gui/dialogs/runner_install.py:165 +#: lutris/gui/dialogs/runner_install.py:241 #, python-format msgid "View %d game" msgid_plural "View %d games" msgstr[0] "_Voir %d jeu" msgstr[1] "_Voir %d jeux" -#: lutris/gui/dialogs/runner_install.py:206 -#: lutris/gui/dialogs/uninstall_game.py:22 +#: lutris/gui/dialogs/runner_install.py:280 +#: lutris/gui/dialogs/uninstall_dialog.py:223 msgid "Uninstall" msgstr "Désinstaller" -#: lutris/gui/dialogs/runner_install.py:231 +#: lutris/gui/dialogs/runner_install.py:294 msgid "Wine version usage" msgstr "Utilisation de la version de Wine" -#: lutris/gui/dialogs/runner_install.py:324 +#: lutris/gui/dialogs/runner_install.py:365 #, python-format msgid "Version %s is not longer available" msgstr "La version %s n'est plus disponible" -#: lutris/gui/dialogs/runner_install.py:349 +#: lutris/gui/dialogs/runner_install.py:390 msgid "Downloading…" msgstr "Téléchargement…" -#: lutris/gui/dialogs/runner_install.py:352 +#: lutris/gui/dialogs/runner_install.py:393 msgid "Extracting…" msgstr "Extraction…" -#: lutris/gui/dialogs/runner_install.py:394 +#: lutris/gui/dialogs/runner_install.py:423 msgid "Failed to retrieve the runner archive" msgstr "Échec de la récupération de l'archive de l’exécuteur" -#: lutris/gui/dialogs/uninstall_game.py:33 +#: lutris/gui/dialogs/uninstall_dialog.py:128 #, python-format -msgid "Uninstall %s" -msgstr "Désinstaller %s" - -#: lutris/gui/dialogs/uninstall_game.py:41 -msgid "No file will be deleted" -msgstr "Aucun fichier ne sera supprimé" +msgid "Uninstall %s" +msgstr "Désinstaller %s" -#: lutris/gui/dialogs/uninstall_game.py:44 +#: lutris/gui/dialogs/uninstall_dialog.py:130 #, python-format -msgid "The folder %s is used by other games and will be kept." -msgstr "Le dossier %s est utilisé par d'autres jeux et sera conservé." +msgid "Remove %s" +msgstr "Retirer %s" -#: lutris/gui/dialogs/uninstall_game.py:47 -msgid "Calculating size…" -msgstr "Calcul de la taille…" - -#: lutris/gui/dialogs/uninstall_game.py:51 +#: lutris/gui/dialogs/uninstall_dialog.py:132 #, python-format -msgid "%s does not exist." -msgstr "%s n’existe pas" +msgid "Uninstall %d games" +msgstr "Désinstaller %d jeux" -#: lutris/gui/dialogs/uninstall_game.py:55 +#: lutris/gui/dialogs/uninstall_dialog.py:134 #, python-format -msgid "Content of %s are protected and will not be deleted." -msgstr "Les contenus de %s sont protégés et ne seront pas supprimés." +msgid "Remove %d games" +msgstr "Retirer %d jeux" -#: lutris/gui/dialogs/uninstall_game.py:72 +#: lutris/gui/dialogs/uninstall_dialog.py:136 #, python-format -msgid "Delete %s (%s)" -msgstr "Supprimer %s (%s)" +msgid "Uninstall %d games and remove %d games" +msgstr "Désinstaller %d jeux et retirer %d jeux" -#: lutris/gui/dialogs/uninstall_game.py:88 -#, python-format +#: lutris/gui/dialogs/uninstall_dialog.py:149 +msgid "After you uninstall these games, you won't be able play them in Lutris." +msgstr "" +"Une fois ces jeux désinstallés, vous ne pourrez plus y jouer dans Lutris." + +#: lutris/gui/dialogs/uninstall_dialog.py:152 msgid "" -"Please confirm.\n" -"Everything under %s\n" -"will be deleted." +"Uninstalled games that you remove from the library will no longer appear in " +"the 'Games' view, but those that remain will retain their playtime data." msgstr "" -"Merci de bien vouloir confirmer.\n" -"Tout dans %s\n" -"sera supprimé." -#: lutris/gui/dialogs/uninstall_game.py:91 -msgid "Permanently delete files?" -msgstr "Supprimer définitivement ces fichiers ?" +#: lutris/gui/dialogs/uninstall_dialog.py:157 +msgid "" +"After you remove these games, they will no longer appear in the 'Games' view." +msgstr "" +"Une fois ces jeux retirés, ils n'apparaîtront plus dans la bibliothèque." -#: lutris/gui/dialogs/uninstall_game.py:99 -msgid "Uninstalling game and deleting files..." -msgstr "Désinstallation du jeu et suppression des fichiers..." +#: lutris/gui/dialogs/uninstall_dialog.py:162 +msgid "" +"Some of the game directories cannot be removed because they are shared with " +"other games that you are not removing." +msgstr "" +"Certains des dossiers du jeu n'ont pas pu être retirés car ils sont partagés " +"avec d'autres jeux qui ne seront pas désinstallés." -#: lutris/gui/dialogs/uninstall_game.py:101 -msgid "Uninstalling game..." -msgstr "Désinstallation du jeu..." +#: lutris/gui/dialogs/uninstall_dialog.py:168 +msgid "" +"Some of the game directories cannot be removed because they are protected." +msgstr "" +"Certains des dossiers du jeu n'ont pas pu être retirés car ils sont protégés." -#: lutris/gui/dialogs/uninstall_game.py:124 +#: lutris/gui/dialogs/uninstall_dialog.py:265 #, python-format -msgid "Remove %s" -msgstr "Supprimer %s" +msgid "" +"Please confirm.\n" +"Everything under %s\n" +"will be moved to the trash." +msgstr "" +"Veuillez confirmer.\n" +"Tout ce qui est dans %s\n" +"sera envoyé à la corbeille." -#: lutris/gui/dialogs/uninstall_game.py:130 +#: lutris/gui/dialogs/uninstall_dialog.py:269 #, python-format msgid "" -"Completely remove %s from the library?\n" -"All play time will be lost." +"Please confirm.\n" +"All the files for %d games will be moved to the trash." msgstr "" -"Supprimer complètement %s de la bibliothèque ?\n" -"Tous les temps de jeu seront perdus." +"Veuillez confirmer.\n" +"Tous les fichiers de %d jeux seront déplacés vers la corbeille." + +#: lutris/gui/dialogs/uninstall_dialog.py:277 +msgid "Permanently delete files?" +msgstr "Supprimer définitivement ces fichiers ?" + +#: lutris/gui/dialogs/uninstall_dialog.py:360 +msgid "Remove from Library" +msgstr "Retirer de la bibliothèque" -#: lutris/gui/dialogs/webconnect_dialog.py:106 +#: lutris/gui/dialogs/uninstall_dialog.py:366 +msgid "Delete Files" +msgstr "Supprimer les fichiers" + +#: lutris/gui/dialogs/webconnect_dialog.py:149 msgid "Loading..." msgstr "Chargement..." -#: lutris/gui/installer/file_box.py:110 +#: lutris/gui/installer/file_box.py:84 #, python-brace-format msgid "Steam game {appid}" msgstr "Jeu Steam {appid}" -#: lutris/gui/installer/file_box.py:124 +#: lutris/gui/installer/file_box.py:96 msgid "Download" msgstr "Télécharger" -#: lutris/gui/installer/file_box.py:126 +#: lutris/gui/installer/file_box.py:98 msgid "Use Cache" msgstr "Utiliser le cache" -#: lutris/gui/installer/file_box.py:128 lutris/runners/steam.py:29 -#: lutris/services/steam.py:76 -msgid "Steam" -msgstr "Steam" - -#: lutris/gui/installer/file_box.py:130 +#: lutris/gui/installer/file_box.py:102 msgid "Select File" msgstr "Sélectionner un fichier" -#: lutris/gui/installer/file_box.py:190 +#: lutris/gui/installer/file_box.py:159 msgid "Cache file for future installations" msgstr "Fichier en cache pour de futures installations" -#: lutris/gui/installer/file_box.py:211 +#: lutris/gui/installer/file_box.py:178 msgid "Source:" msgstr "Source :" -#: lutris/gui/installerwindow.py:115 +#: lutris/gui/installerwindow.py:128 msgid "Configure download cache" msgstr "Configurer le cache de téléchargement" -#: lutris/gui/installerwindow.py:118 +#: lutris/gui/installerwindow.py:130 msgid "Change where Lutris downloads game installer files." msgstr "" "Changez l'endroit où Lutris télécharge les fichiers d'installation du jeu." -#: lutris/gui/installerwindow.py:120 +#: lutris/gui/installerwindow.py:133 msgid "View installer source" msgstr "_Voir la source du programme d'installation." -#: lutris/gui/installerwindow.py:215 +#: lutris/gui/installerwindow.py:241 msgid "Remove game files" -msgstr "Supprimer les fichiers du jeu" +msgstr "Retirer les fichiers du jeu" -#: lutris/gui/installerwindow.py:227 +#: lutris/gui/installerwindow.py:256 msgid "Are you sure you want to cancel the installation?" msgstr "Êtes-vous sûr de vouloir annuler l’installation ?" -#: lutris/gui/installerwindow.py:228 +#: lutris/gui/installerwindow.py:257 msgid "Cancel installation?" msgstr "Annuler l’installation ?" -#: lutris/gui/installerwindow.py:319 +#: lutris/gui/installerwindow.py:332 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"Attente de l'installation du composant de Lutris\n" +"Les installations peuvent échouer si les composants Lutris ne sont " +"pas installés d'abord" + +#: lutris/gui/installerwindow.py:389 #, python-format msgid "Install %s" msgstr "Installer %s" -#: lutris/gui/installerwindow.py:342 +#: lutris/gui/installerwindow.py:411 #, python-format msgid "This game requires %s. Do you want to install it?" -msgstr "Ce jeu requiert %s. Voulez-vous l’installer ?" +msgstr "Ce jeu requiert %s. Voulez-vous l’installer ?" -#: lutris/gui/installerwindow.py:343 +#: lutris/gui/installerwindow.py:412 msgid "Missing dependency" msgstr "Dépendance manquante" -#: lutris/gui/installerwindow.py:352 +#: lutris/gui/installerwindow.py:420 +#, python-brace-format msgid "Installing {}" msgstr "Installation de {}" -#: lutris/gui/installerwindow.py:358 +#: lutris/gui/installerwindow.py:426 msgid "No installer available" msgstr "Pas d'installateur disponible" -#: lutris/gui/installerwindow.py:365 +#: lutris/gui/installerwindow.py:432 #, python-format msgid "Missing field \"%s\" in install script" msgstr "Champ \"%s\" manquant dans le script d'installation" -#: lutris/gui/installerwindow.py:405 +#: lutris/gui/installerwindow.py:435 +#, python-format +msgid "Improperly formatted file \"%s\"" +msgstr "Fichier mal formaté \"%s\"" + +#: lutris/gui/installerwindow.py:485 msgid "Select installation directory" msgstr "Sélectionnez un répertoire d'installation" -#: lutris/gui/installerwindow.py:421 +#: lutris/gui/installerwindow.py:495 msgid "Preparing Lutris for installation" msgstr "Préparation de Lutris pour l'installation" -#: lutris/gui/installerwindow.py:510 +#: lutris/gui/installerwindow.py:589 msgid "" -"This game has extra content. \n" -"Select which one you want and they will be available in the 'extras' folder " -"where the game is installed." +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' " +"folder where the game is installed." msgstr "" "Ce jeu a des contenus supplémentaires.\n" -"Sélectionnez celui que vous souhaitez et ils seront disponible dans le " -"dossier 'extras' où le jeu est installé." +"Sélectionnez celui que vous souhaitez et ils seront disponible dans " +"le dossier \"extras\" où le jeu est installé." -#: lutris/gui/installerwindow.py:601 +#: lutris/gui/installerwindow.py:685 msgid "" -"Please review the files needed for the installation then click 'Continue'" +"Please review the files needed for the installation then click 'Install'" msgstr "" -"Veuillez vérifier les fichiers nécessaires à l'installation et cliquez sur " -"'Continuer'." +"Veuillez vérifier les fichiers nécessaires à l'installation, puis cliquez " +"sur \"Continuer\"." -#: lutris/gui/installerwindow.py:609 +#: lutris/gui/installerwindow.py:693 msgid "Downloading game data" msgstr "Téléchargement des données du jeu" -#: lutris/gui/installerwindow.py:628 +#: lutris/gui/installerwindow.py:710 #, python-format msgid "Unable to get files: %s" msgstr "Échec de l'obtention des fichiers : %s" -#: lutris/gui/installerwindow.py:642 +#: lutris/gui/installerwindow.py:724 msgid "Installing game data" msgstr "Installation des données du jeu" -#: lutris/gui/installerwindow.py:785 +#. Lutris flatplak doesn't autodetect files on CD-ROM properly +#. and selecting this option doesn't let the user click "Back" +#. so the only option is to cancel the install. +#: lutris/gui/installerwindow.py:866 msgid "Autodetect" msgstr "Autodétection" -#: lutris/gui/installerwindow.py:790 +#: lutris/gui/installerwindow.py:871 msgid "Browse…" msgstr "Parcourir…" -#: lutris/gui/installerwindow.py:797 +#: lutris/gui/installerwindow.py:878 msgid "Eject" msgstr "É_jecter" -#: lutris/gui/installerwindow.py:810 +#: lutris/gui/installerwindow.py:890 msgid "Select the folder where the disc is mounted" msgstr "Sélectionnez le dossier où le disque est monté" -#: lutris/gui/installerwindow.py:870 +#: lutris/gui/installerwindow.py:944 +msgid "" +"An unexpected error has occurred while installing this game. Please share " +"the details below with the Lutris team on GitHub or Discord." +msgstr "" +"Une erreur inattendue s'est produite durant l'installation du jeu. veuillez " +"partager les détails en dessous à l'équipe de Lutris sur Github ou Discord." + +#: lutris/gui/installerwindow.py:1003 msgid "_Launch" msgstr "_Lancer" -#: lutris/gui/installerwindow.py:953 +#: lutris/gui/installerwindow.py:1083 msgid "_Abort" msgstr "_Abandonner" -#: lutris/gui/installerwindow.py:954 +#: lutris/gui/installerwindow.py:1084 msgid "Abort and revert the installation" msgstr "Abandonner et rétablir l’installation" -#: lutris/gui/lutriswindow.py:487 +#: lutris/gui/installerwindow.py:1087 +msgid "_Close" +msgstr "_Fermer" + +#: lutris/gui/lutriswindow.py:654 #, python-format msgid "Connect your %s account to access your games" msgstr "Connectez-vous à votre compte %s pour accéder à vos jeux" -#: lutris/gui/lutriswindow.py:559 +#: lutris/gui/lutriswindow.py:735 #, python-format msgid "Add a game matching '%s' to your favorites to see it here." -msgstr "Ajoutez les jeux correspondant à '%s' à vos favoris pour les voir ici." +msgstr "" +"Ajoutez les jeux correspondant à \"%s\" à vos favoris pour les voir ici." + +#: lutris/gui/lutriswindow.py:737 +#, python-format +msgid "No hidden games matching '%s' found." +msgstr "Aucun jeu masqué correspondant à \"%s\" trouvé." -#: lutris/gui/lutriswindow.py:562 +#: lutris/gui/lutriswindow.py:740 #, python-format msgid "" "No installed games matching '%s' found. Press Ctrl+I to show uninstalled " "games." msgstr "" -"Aucun jeu installé correspondant à '%s' n'a été trouvé. Appuyez sur Ctrl+I " +"Aucun jeu installé correspondant à \"%s\" n'a été trouvé. Appuyez sur Ctrl+I " "pour afficher les jeux désinstallés" -#. but not if missing! -#: lutris/gui/lutriswindow.py:564 -#, python-format -msgid "" -"No visible games matching '%s' found. Press Ctrl+H to show hidden games." -msgstr "" -"Aucun jeu correspondant à '%s' n'a été trouvé. Pressez Ctrl+H pour afficher " -"les jeux cachés." - -#: lutris/gui/lutriswindow.py:567 +#: lutris/gui/lutriswindow.py:743 #, python-format msgid "No games matching '%s' found " -msgstr "Aucun jeu correspondant à '%s' trouvé " +msgstr "Aucun jeu correspondant à \"%s\" trouvé " -#: lutris/gui/lutriswindow.py:570 +#: lutris/gui/lutriswindow.py:746 msgid "Add games to your favorites to see them here." msgstr "Ajoutez des jeux à vos favoris pour les voir ici." -#: lutris/gui/lutriswindow.py:572 +#: lutris/gui/lutriswindow.py:748 +msgid "No games are hidden." +msgstr "Aucun jeu n'est masqué." + +#: lutris/gui/lutriswindow.py:750 msgid "No installed games found. Press Ctrl+I to show uninstalled games." msgstr "" "Aucun jeu installé trouvé. Appuyez sur Ctrl+I pour montrer des jeux " "désinstallés." -#. but not if missing! -#: lutris/gui/lutriswindow.py:574 -msgid "No visible games found. Press Ctrl+H to show hidden games." -msgstr "" -"Aucun jeu installé trouvé. Appuyez sur Ctrl+H pour montrer les jeux cachés." - -#: lutris/gui/lutriswindow.py:583 +#: lutris/gui/lutriswindow.py:759 msgid "No games found" msgstr "Aucun jeu trouvé" -#: lutris/gui/lutriswindow.py:591 +#: lutris/gui/lutriswindow.py:804 #, python-format msgid "Search %s games" -msgstr "Recherche les jeux %s" +msgstr "Rechercher parmi %s jeux" -#: lutris/gui/lutriswindow.py:593 +#: lutris/gui/lutriswindow.py:806 msgid "Search 1 game" msgstr "Recherche 1 jeu" -#: lutris/gui/views/list.py:55 lutris/runners/dolphin.py:29 -#: lutris/runners/scummvm.py:259 -msgid "Platform" -msgstr "Plateforme" +#: lutris/gui/lutriswindow.py:1060 +msgid "Unsupported Lutris Version" +msgstr "Version de Lutris non supportée" + +#: lutris/gui/lutriswindow.py:1062 +msgid "" +"This version of Lutris will no longer receive support on Github and Discord, " +"and may not interoperate properly with Lutris.net. Do you want to use it " +"anyway?" +msgstr "" +"Cette version de Lutris ne sera plus supportée sur Github et Discord et peut " +"ne pas fonctionner correctement avec Lutris.net. Souhaitez-vous continuer " +"quand même ?" + +#: lutris/gui/lutriswindow.py:1273 +msgid "Show Hidden Games" +msgstr "Montrer les jeux masqués" -#: lutris/gui/widgets/cellrenderers.py:203 lutris/gui/widgets/sidebar.py:423 +#: lutris/gui/lutriswindow.py:1275 +msgid "Rehide Hidden Games" +msgstr "Montrer les jeux non masqués" + +#: lutris/gui/lutriswindow.py:1473 +msgid "" +"Your limits are not set correctly. Please increase them as described here: " +"How-to:-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "" +"Vos limites ne sont pas définies correctement. Veuillez les augmenter comme " +"décrit ici : How-to:-Esync (https://github.com/lutris/docs/blob/master/" +"HowToEsync.md)" + +#: lutris/gui/widgets/cellrenderers.py:385 lutris/gui/widgets/sidebar.py:501 msgid "Missing" -msgstr "Manquant(e)" +msgstr "Manquant" + +#: lutris/gui/widgets/common.py:87 +msgid "Select a folder" +msgstr "Sélectionner le dossier" + +#: lutris/gui/widgets/common.py:89 +msgid "Select a file" +msgstr "Sélectionner le fichier" -#: lutris/gui/widgets/common.py:82 -msgid "Browse..." -msgstr "Parcourir..." +#: lutris/gui/widgets/common.py:95 +msgid "Open in file browser" +msgstr "Ouvrir dans l'explorateur de fichiers" -#: lutris/gui/widgets/common.py:201 +#: lutris/gui/widgets/common.py:246 msgid "" "Warning! The selected path is located on a drive formatted by " "Windows.\n" @@ -1857,46 +2921,46 @@ msgstr "" "Les jeux et programmes installés sur des disques Windows ne fonctionnent " "généralement pas.." -#: lutris/gui/widgets/common.py:209 +#: lutris/gui/widgets/common.py:255 msgid "" "Warning! The selected path contains files. Installation will not work " "properly." msgstr "" "Attention ! Le chemin sélectionné contient des fichiers. " -"L'installation pourrait ne pas fonctionner correctement." +"L\"installation pourrait ne pas fonctionner correctement." -#: lutris/gui/widgets/common.py:217 +#: lutris/gui/widgets/common.py:263 msgid "" "Warning The destination folder is not writable by the current user." msgstr "" "Attention ! Le dossier de destination n'est pas modifiable par " "l'utilisateur actuel." -#: lutris/gui/widgets/common.py:338 +#: lutris/gui/widgets/common.py:381 msgid "Add" msgstr "Ajouter" -#: lutris/gui/widgets/common.py:342 +#: lutris/gui/widgets/common.py:385 msgid "Delete" msgstr "Supprimer" -#: lutris/gui/widgets/download_collection_progress_box.py:127 -#: lutris/gui/widgets/download_progress_box.py:88 +#: lutris/gui/widgets/download_collection_progress_box.py:145 +#: lutris/gui/widgets/download_progress_box.py:109 msgid "Retry" msgstr "Réessayer" -#: lutris/gui/widgets/download_collection_progress_box.py:154 -#: lutris/gui/widgets/download_progress_box.py:115 +#: lutris/gui/widgets/download_collection_progress_box.py:172 +#: lutris/gui/widgets/download_progress_box.py:136 msgid "Download interrupted" msgstr "Téléchargement interrompu" -#: lutris/gui/widgets/download_collection_progress_box.py:174 -#: lutris/gui/widgets/download_progress_box.py:123 +#: lutris/gui/widgets/download_collection_progress_box.py:191 +#: lutris/gui/widgets/download_progress_box.py:144 #, python-brace-format -msgid "{downloaded:0.2f} / {size:0.2f}MB ({speed:0.2f}MB/s), {time} remaining" -msgstr "{downloaded:0.2f} / {size:0.2f}MB ({speed:0.2f}MB/s), {time} restant" +msgid "{downloaded} / {size} ({speed:0.2f}MB/s), {time} remaining" +msgstr "{downloaded} / {size} ({speed:0.2f}Mo/sec), {time} restant" -#: lutris/gui/widgets/game_bar.py:177 +#: lutris/gui/widgets/game_bar.py:174 #, python-format msgid "" "Platform:\n" @@ -1905,7 +2969,7 @@ msgstr "" "Plateforme :\n" "%s" -#: lutris/gui/widgets/game_bar.py:186 +#: lutris/gui/widgets/game_bar.py:183 #, python-format msgid "" "Time played:\n" @@ -1914,95 +2978,104 @@ msgstr "" "Temps de jeu :\n" "%s" -#: lutris/gui/widgets/game_bar.py:195 +#: lutris/gui/widgets/game_bar.py:192 #, python-format msgid "" "Last played:\n" "%s" msgstr "" -"Dernière fois joué :\n" +"Dernière partie :\n" "%s" -#: lutris/gui/widgets/game_bar.py:200 -msgid "Locate installed game" -msgstr "Localiser le jeu installé" - -#: lutris/gui/widgets/game_bar.py:216 +#: lutris/gui/widgets/game_bar.py:214 msgid "Launching" msgstr "Lancement" -#: lutris/gui/widgets/sidebar.py:148 lutris/gui/widgets/sidebar.py:184 -#: lutris/gui/widgets/sidebar.py:232 +#: lutris/gui/widgets/sidebar.py:156 lutris/gui/widgets/sidebar.py:189 +#: lutris/gui/widgets/sidebar.py:234 msgid "Run" msgstr "Exécuter" -#: lutris/gui/widgets/sidebar.py:151 lutris/gui/widgets/sidebar.py:185 +#: lutris/gui/widgets/sidebar.py:157 lutris/gui/widgets/sidebar.py:190 msgid "Reload" msgstr "Rechargement" -#: lutris/gui/widgets/sidebar.py:186 +#: lutris/gui/widgets/sidebar.py:191 msgid "Disconnect" msgstr "Déconnecter" -#: lutris/gui/widgets/sidebar.py:187 +#: lutris/gui/widgets/sidebar.py:192 msgid "Connect" msgstr "Se connecter" -#: lutris/gui/widgets/sidebar.py:227 +#: lutris/gui/widgets/sidebar.py:231 msgid "Manage Versions" msgstr "Gérer les versions" -#: lutris/gui/widgets/sidebar.py:274 +#: lutris/gui/widgets/sidebar.py:277 lutris/gui/widgets/sidebar.py:317 msgid "Edit Games" msgstr "Modifier les jeux" -#: lutris/gui/widgets/sidebar.py:350 +#: lutris/gui/widgets/sidebar.py:399 msgid "Library" msgstr "Bibliothèque" -#: lutris/gui/widgets/sidebar.py:354 +#: lutris/gui/widgets/sidebar.py:401 +msgid "Saved Searches" +msgstr "Catégories" + +#: lutris/gui/widgets/sidebar.py:404 msgid "Platforms" msgstr "Plateformes" -#: lutris/gui/widgets/sidebar.py:398 lutris/util/system.py:32 +#: lutris/gui/widgets/sidebar.py:458 lutris/util/system.py:32 msgid "Games" msgstr "Jeux" -#: lutris/gui/widgets/sidebar.py:407 +#: lutris/gui/widgets/sidebar.py:467 msgid "Recent" msgstr "Récent" -#: lutris/gui/widgets/sidebar.py:416 +#: lutris/gui/widgets/sidebar.py:476 msgid "Favorites" msgstr "Favoris" -#: lutris/gui/widgets/sidebar.py:431 +#: lutris/gui/widgets/sidebar.py:485 +msgid "Uncategorized" +msgstr "Sans catégorie" + +#: lutris/gui/widgets/sidebar.py:509 msgid "Running" msgstr "En cours d’exécution" -#: lutris/gui/widgets/status_icon.py:67 lutris/gui/widgets/status_icon.py:84 +#: lutris/gui/widgets/status_icon.py:89 lutris/gui/widgets/status_icon.py:113 msgid "Show Lutris" msgstr "Montrer Lutris" -#: lutris/gui/widgets/status_icon.py:72 +#: lutris/gui/widgets/status_icon.py:94 msgid "Quit" msgstr "Quitter" -#: lutris/gui/widgets/status_icon.py:82 +#: lutris/gui/widgets/status_icon.py:111 msgid "Hide Lutris" msgstr "Masquer Lutris" -#: lutris/installer/commands.py:71 +#: lutris/installer/commands.py:61 +#, python-format +msgid "Invalid runner provided %s" +msgstr "Exécuteur invalide fourni %s" + +#: lutris/installer/commands.py:77 #, python-brace-format msgid "One of {params} parameter is mandatory for the {cmd} command" msgstr "Un des paramètres {params} est nécessaire pour la commande {cmd}" -#: lutris/installer/commands.py:72 lutris/installer/interpreter.py:157 -#: lutris/installer/interpreter.py:180 +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 +#: lutris/installer/interpreter.py:190 msgid " or " msgstr " ou " -#: lutris/installer/commands.py:78 +#: lutris/installer/commands.py:85 #, python-brace-format msgid "The {param} parameter is mandatory for the {cmd} command" msgstr "Le paramètre {param} est nécessaire pour la commande {cmd}" @@ -2010,7 +3083,7 @@ msgstr "Le paramètre {param} est nécessaire pour la commande {cmd}" #: lutris/installer/commands.py:95 #, python-format msgid "Invalid file '%s'. Can't make it executable" -msgstr "Fichier '%s' invalide. Impossible de le rendre exécutable" +msgstr "Fichier \"%s\" invalide. Impossible de le rendre exécutable" #: lutris/installer/commands.py:108 msgid "" @@ -2020,26 +3093,26 @@ msgstr "" "Les paramètres \"fichier\" et \"commande\" ne peuvent pas être utilisés en " "même temps pour la commande \"exécuter\"" -#: lutris/installer/commands.py:143 +#: lutris/installer/commands.py:142 msgid "No parameters supplied to execute command." msgstr "Aucun paramètre fourni pour exécuter la commande." -#: lutris/installer/commands.py:157 +#: lutris/installer/commands.py:158 #, python-format msgid "Unable to find executable %s" msgstr "Impossible de trouver l'exécutable %s" -#: lutris/installer/commands.py:191 +#: lutris/installer/commands.py:192 #, python-format msgid "%s does not exist" msgstr "%s n’existe pas" -#: lutris/installer/commands.py:197 +#: lutris/installer/commands.py:198 lutris/runtime.py:129 #, python-format msgid "Extracting %s" msgstr "Extraction de %s" -#: lutris/installer/commands.py:230 +#: lutris/installer/commands.py:232 msgid "" "Insert or mount game disc and click Autodetect or\n" "use Browse if the disc is mounted on a non standard location." @@ -2047,7 +3120,7 @@ msgstr "" "Insérez ou montez le disque de jeu et cliquez sur Auto-détecter ou\n" "utilisez Parcourir si le disque est monté sur un emplacement non standard." -#: lutris/installer/commands.py:234 +#: lutris/installer/commands.py:238 #, python-format msgid "" "\n" @@ -2062,22 +3135,22 @@ msgstr "" "contenant le fichier ou le dossier suivant :\n" "%s" -#: lutris/installer/commands.py:256 +#: lutris/installer/commands.py:261 #, python-format msgid "The required file '%s' could not be located." -msgstr "Le fichier requis '%s' n'a pas pu être localisé." +msgstr "Le fichier requis \"%s\" n'a pas pu être localisé." -#: lutris/installer/commands.py:277 +#: lutris/installer/commands.py:282 #, python-format msgid "Source does not exist: %s" msgstr "La source n'existe pas : %s" -#: lutris/installer/commands.py:303 +#: lutris/installer/commands.py:308 #, python-format msgid "Invalid source for 'move' operation: %s" -msgstr "Source non valide pour l’opération 'déplacer' : %s" +msgstr "Source non valide pour l’opération \"déplacer\" : %s" -#: lutris/installer/commands.py:322 +#: lutris/installer/commands.py:327 #, python-brace-format msgid "" "Can't move {src} \n" @@ -2086,78 +3159,93 @@ msgstr "" "Impossible de déplacer {src}\n" "vers la destination {dst}" -#: lutris/installer/commands.py:329 +#: lutris/installer/commands.py:334 #, python-format msgid "Rename error, source path does not exist: %s" msgstr "Erreur de renommage, le chemin source n'existe pas : %s" -#: lutris/installer/commands.py:336 +#: lutris/installer/commands.py:341 #, python-format msgid "Rename error, destination already exists: %s" msgstr "Erreur de renommage, la destination existe déjà : %s" -#: lutris/installer/commands.py:352 +#: lutris/installer/commands.py:357 msgid "Missing parameter src" msgstr "Paramètre src manquant" -#: lutris/installer/commands.py:355 +#: lutris/installer/commands.py:360 msgid "Wrong value for 'src' param" -msgstr "Valeur erronée pour le param 'src'" +msgstr "Valeur erronée pour le param \"src\"" -#: lutris/installer/commands.py:359 +#: lutris/installer/commands.py:364 msgid "Wrong value for 'dst' param" -msgstr "Valeur erronée pour le param 'dst'" +msgstr "Valeur erronée pour le param \"dst\"" -#: lutris/installer/commands.py:450 +#: lutris/installer/commands.py:439 #, python-format msgid "Command exited with code %s" -msgstr "La commande s'est terminée avec le code %s" +msgstr "La commande s\"est terminée avec le code %s" -#: lutris/installer/commands.py:469 +#: lutris/installer/commands.py:458 #, python-format msgid "Wrong value for write_file mode: '%s'" -msgstr "Valeur erronée pour le mode write_file : '%s'" +msgstr "Valeur erronée pour le mode write_file : \"%s\"" -#: lutris/installer/commands.py:674 +#: lutris/installer/commands.py:651 msgid "install_or_extract only works with wine!" msgstr "install_or_extract ne fonctionne qu'avec wine !" -#: lutris/installer/installer_file.py:34 +#: lutris/installer/errors.py:49 +#, python-format +msgid "This game requires %s." +msgstr "Ce jeu requiert %s." + +#: lutris/installer/installer_file_collection.py:86 +msgid "File" +msgstr "Fichiers" + +#: lutris/installer/installer_file.py:48 #, python-format msgid "missing field `url` for file `%s`" msgstr "champ `url` manquant pour le fichier `%s`" -#: lutris/installer/installer_file.py:53 +#: lutris/installer/installer_file.py:67 #, python-format msgid "missing field `filename` in file `%s`" msgstr "champ `filename` manquant dans le fichier `%s`" -#: lutris/installer/installer_file.py:110 +#: lutris/installer/installer_file.py:162 #, python-brace-format msgid "{file} on {host}" msgstr "{file} sur {host}" -#: lutris/installer/installer_file.py:211 +#: lutris/installer/installer_file.py:254 msgid "Invalid checksum, expected format (type:hash) " msgstr "Somme de contrôle invalide, format attendu (type:hash) " -#: lutris/installer/installer_file.py:214 +#: lutris/installer/installer_file.py:261 msgid " checksum mismatch " msgstr " aucune correspondance entre les sommes de contrôle " -#: lutris/installer/installer.py:201 +#: lutris/installer/installer.py:38 +#, python-format +msgid "The script was missing the '%s' key, which is required." +msgstr "Le script ne fournit pas la clé \"%s\" qui est nécessaire." + +#: lutris/installer/installer.py:218 msgid "Game config key must be a string" msgstr "La clé de configuration du jeu doit être une chaîne" -#: lutris/installer/installer.py:251 +#: lutris/installer/installer.py:266 msgid "Invalid 'game' section" -msgstr "Section 'jeu' invalide" +msgstr "Section \"jeu' invalide" -#: lutris/installer/interpreter.py:86 +#: lutris/installer/interpreter.py:85 msgid "This installer doesn't have a 'script' section" -msgstr "Cet installateur n'a pas de section 'script'" +msgstr "Cet installateur n'a pas de section \"script\"" -#: lutris/installer/interpreter.py:92 +#: lutris/installer/interpreter.py:91 +#, python-brace-format msgid "" "Invalid script: \n" "{}" @@ -2165,79 +3253,75 @@ msgstr "" "Script invalide :\n" "{}" -#: lutris/installer/interpreter.py:157 lutris/installer/interpreter.py:160 +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 #, python-format msgid "This installer requires %s on your system" msgstr "Cet installateur requiert %s sur votre système" -#: lutris/installer/interpreter.py:173 +#: lutris/installer/interpreter.py:183 +#, python-brace-format msgid "You need to install {} before" msgstr "Vous devez installer {} avant" -#: lutris/installer/interpreter.py:218 +#: lutris/installer/interpreter.py:232 msgid "Lutris does not have the necessary permissions to install to path:" msgstr "" "Lutris n'a pas les permissions nécessaires pour installer vers le chemin :" -#: lutris/installer/interpreter.py:223 +#: lutris/installer/interpreter.py:237 #, python-format msgid "Path %s not found, unable to create game folder. Is the disk mounted?" msgstr "" "Chemin %s introuvable, impossible de créer le dossier du jeu. Le disque est-" "il monté ?" -#: lutris/installer/interpreter.py:302 -#, python-format -msgid "Invalid runner provided %s" -msgstr "Exécuteur invalide fourni %s" - -#: lutris/installer/interpreter.py:340 +#: lutris/installer/interpreter.py:312 msgid "Installer commands are not formatted correctly" msgstr "Les commandes de l'installateur ne sont pas formatées correctement" -#: lutris/installer/interpreter.py:388 +#: lutris/installer/interpreter.py:364 #, python-format msgid "The command \"%s\" does not exist." msgstr "La commande « %s » n'existe pas." -#: lutris/installer/interpreter.py:409 +#: lutris/installer/interpreter.py:374 #, python-format msgid "" "The executable at path %s can't be found, please check the destination " "folder.\n" "Some parts of the installation process may have not completed successfully." msgstr "" -"L'exécutable du chemin %s est introuvable, veuillez vérifier le dossier de " +"L\"exécutable du chemin %s est introuvable, veuillez vérifier le dossier de " "destination.\n" "Il se peut que certaines parties du processus d'installation ne se soient " "pas déroulées correctement." -#: lutris/installer/interpreter.py:414 +#: lutris/installer/interpreter.py:381 msgid "Installation completed!" msgstr "Installation terminée !" -#: lutris/installer/steam_installer.py:47 +#: lutris/installer/steam_installer.py:43 #, python-format msgid "Malformed steam path: %s" msgstr "Chemin Steam malformé : %s" -#: lutris/runners/atari800.py:15 +#: lutris/runners/atari800.py:16 msgid "Desktop resolution" msgstr "Résolution de l'ordinateur" -#: lutris/runners/atari800.py:20 +#: lutris/runners/atari800.py:21 msgid "Atari800" msgstr "" -#: lutris/runners/atari800.py:21 +#: lutris/runners/atari800.py:22 msgid "Atari 8bit computers" msgstr "Ordinateurs Atari 8bit" -#: lutris/runners/atari800.py:24 +#: lutris/runners/atari800.py:25 msgid "Atari 400, 800 and XL emulator" msgstr "Émulateur Atari 400, 800 et XL" -#: lutris/runners/atari800.py:38 +#: lutris/runners/atari800.py:39 msgid "" "The game data, commonly called a ROM image. \n" "Supported formats: ATR, XFD, DCM, ATR.GZ, XFD.GZ and PRO." @@ -2245,11 +3329,11 @@ msgstr "" "Les données du jeu, communément appelées image ROM. \n" "Formats pris en charge : ATR, XFD, DCM, ATR.GZ, XFD.GZ et PRO." -#: lutris/runners/atari800.py:49 +#: lutris/runners/atari800.py:50 msgid "BIOS location" msgstr "Emplacement BIOS" -#: lutris/runners/atari800.py:51 +#: lutris/runners/atari800.py:52 msgid "" "A folder containing the Atari 800 BIOS files.\n" "They are provided by Lutris so you shouldn't have to change this." @@ -2257,78 +3341,79 @@ msgstr "" "Un dossier contenant les fichiers BIOS de l'Atari 800.\n" "Ils sont fournis par Lutris donc vous ne devriez pas avoir à les modifier." -#: lutris/runners/atari800.py:60 +#: lutris/runners/atari800.py:61 msgid "Emulate Atari 800" msgstr "Émuler Atari 800" -#: lutris/runners/atari800.py:61 +#: lutris/runners/atari800.py:62 msgid "Emulate Atari 800 XL" msgstr "Émuler Atari 800 Xl" -#: lutris/runners/atari800.py:62 +#: lutris/runners/atari800.py:63 msgid "Emulate Atari 320 XE (Compy Shop)" msgstr "Émuler Atari 320 XE (Compy Shop)" -#: lutris/runners/atari800.py:63 +#: lutris/runners/atari800.py:64 msgid "Emulate Atari 320 XE (Rambo)" msgstr "Émuler Atari 320 XE (Rambo)" -#: lutris/runners/atari800.py:64 +#: lutris/runners/atari800.py:65 msgid "Emulate Atari 5200" msgstr "Émuler Atari 5200" -#: lutris/runners/atari800.py:67 lutris/runners/mame.py:84 -#: lutris/runners/vice.py:93 +#: lutris/runners/atari800.py:68 lutris/runners/mame.py:85 +#: lutris/runners/vice.py:86 msgid "Machine" -msgstr "" - -#: lutris/runners/atari800.py:73 lutris/runners/atari800.py:81 -#: lutris/runners/dosbox.py:84 lutris/runners/dosbox.py:92 -#: lutris/runners/easyrpg.py:301 lutris/runners/easyrpg.py:309 -#: lutris/runners/easyrpg.py:326 lutris/runners/easyrpg.py:344 -#: lutris/runners/easyrpg.py:352 lutris/runners/easyrpg.py:360 -#: lutris/runners/easyrpg.py:374 lutris/runners/fsuae.py:283 -#: lutris/runners/fsuae.py:290 lutris/runners/fsuae.py:299 -#: lutris/runners/fsuae.py:312 lutris/runners/hatari.py:63 -#: lutris/runners/hatari.py:70 lutris/runners/hatari.py:78 -#: lutris/runners/hatari.py:93 lutris/runners/jzintv.py:43 -#: lutris/runners/jzintv.py:49 lutris/runners/mame.py:160 -#: lutris/runners/mame.py:167 lutris/runners/mame.py:176 -#: lutris/runners/mame.py:190 lutris/runners/mednafen.py:74 -#: lutris/runners/mednafen.py:81 lutris/runners/mednafen.py:95 -#: lutris/runners/o2em.py:77 lutris/runners/o2em.py:84 -#: lutris/runners/pico8.py:38 lutris/runners/pico8.py:45 -#: lutris/runners/redream.py:27 lutris/runners/redream.py:33 -#: lutris/runners/scummvm.py:114 lutris/runners/scummvm.py:121 -#: lutris/runners/scummvm.py:129 lutris/runners/scummvm.py:142 -#: lutris/runners/scummvm.py:165 lutris/runners/scummvm.py:184 -#: lutris/runners/scummvm.py:199 lutris/runners/scummvm.py:223 -#: lutris/runners/scummvm.py:241 lutris/runners/snes9x.py:37 -#: lutris/runners/snes9x.py:44 lutris/runners/vice.py:58 +msgstr "Support" + +#: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 +#: lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 +#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 +#: lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:337 lutris/runners/easyrpg.py:345 +#: lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 +#: lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 +#: lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 +#: lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 +#: lutris/runners/hatari.py:79 lutris/runners/hatari.py:94 +#: lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 +#: lutris/runners/mame.py:166 lutris/runners/mame.py:173 +#: lutris/runners/mame.py:190 lutris/runners/mame.py:204 +#: lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 +#: lutris/runners/mednafen.py:89 lutris/runners/o2em.py:79 +#: lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 +#: lutris/runners/pico8.py:45 lutris/runners/redream.py:24 +#: lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 +#: lutris/runners/scummvm.py:118 lutris/runners/scummvm.py:126 +#: lutris/runners/scummvm.py:139 lutris/runners/scummvm.py:162 +#: lutris/runners/scummvm.py:182 lutris/runners/scummvm.py:197 +#: lutris/runners/scummvm.py:221 lutris/runners/scummvm.py:239 +#: lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 +#: lutris/runners/vice.py:51 lutris/runners/vice.py:58 #: lutris/runners/vice.py:65 lutris/runners/vice.py:72 -#: lutris/runners/vice.py:79 lutris/runners/wine.py:301 -#: lutris/runners/wine.py:315 lutris/runners/wine.py:327 -#: lutris/runners/wine.py:339 lutris/runners/wine.py:349 -#: lutris/runners/wine.py:361 lutris/runners/wine.py:370 -#: lutris/runners/wine.py:382 lutris/runners/wine.py:391 -#: lutris/runners/wine.py:404 +#: lutris/runners/wine.py:290 lutris/runners/wine.py:305 +#: lutris/runners/wine.py:318 lutris/runners/wine.py:329 +#: lutris/runners/wine.py:341 lutris/runners/wine.py:353 +#: lutris/runners/wine.py:363 lutris/runners/wine.py:374 +#: lutris/runners/wine.py:385 lutris/runners/wine.py:398 msgid "Graphics" msgstr "Graphique" -#: lutris/runners/atari800.py:74 lutris/runners/cemu.py:29 -#: lutris/runners/easyrpg.py:302 lutris/runners/hatari.py:64 -#: lutris/runners/jzintv.py:44 lutris/runners/libretro.py:98 -#: lutris/runners/mame.py:161 lutris/runners/mednafen.py:75 -#: lutris/runners/mupen64plus.py:29 lutris/runners/o2em.py:78 -#: lutris/runners/osmose.py:34 lutris/runners/pcsx2.py:27 -#: lutris/runners/pico8.py:39 lutris/runners/redream.py:28 -#: lutris/runners/reicast.py:41 lutris/runners/scummvm.py:115 -#: lutris/runners/snes9x.py:38 lutris/runners/vice.py:59 -#: lutris/runners/xemu.py:25 lutris/runners/yuzu.py:39 lutris/sysoptions.py:198 +#: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 +#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 +#: lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 +#: lutris/runners/libretro.py:95 lutris/runners/mame.py:167 +#: lutris/runners/mednafen.py:71 lutris/runners/mupen64plus.py:29 +#: lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 +#: lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 +#: lutris/runners/redream.py:24 lutris/runners/reicast.py:40 +#: lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 +#: lutris/runners/vice.py:52 lutris/runners/vita3k.py:41 +#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 msgid "Fullscreen" msgstr "Plein écran" -#: lutris/runners/atari800.py:82 +#: lutris/runners/atari800.py:83 msgid "Fullscreen resolution" msgstr "Résolution de plein écran" @@ -2336,114 +3421,122 @@ msgstr "Résolution de plein écran" msgid "Could not download Atari 800 BIOS archive" msgstr "Impossible de télécharger l’archive Atari 800 BIOS" -#: lutris/runners/cemu.py:10 +#: lutris/runners/cemu.py:12 msgid "Cemu" msgstr "" -#: lutris/runners/cemu.py:11 +#: lutris/runners/cemu.py:13 msgid "Wii U" msgstr "" -#: lutris/runners/cemu.py:12 +#: lutris/runners/cemu.py:14 msgid "Wii U emulator" msgstr "Émulateur Wii U" -#: lutris/runners/cemu.py:20 lutris/runners/easyrpg.py:22 +#: lutris/runners/cemu.py:22 lutris/runners/easyrpg.py:24 msgid "Game directory" msgstr "Répertoire du jeu" -#: lutris/runners/cemu.py:22 +#: lutris/runners/cemu.py:24 msgid "" "The directory in which the game lives. If installed into Cemu, this will be " "in the mlc directory, such as mlc/usr/title/00050000/101c9500." msgstr "" -"Le répertoire du jeu. S'il est installé dans Cemu, le répertoire mlc sera " +"Le répertoire du jeu. S\"il est installé dans Cemu, le répertoire mlc sera " "par exemple : mlc/usr/title/00050000/101c9500" -#: lutris/runners/cemu.py:34 +#: lutris/runners/cemu.py:31 +msgid "Compressed ROM" +msgstr "ROM compressée" + +#: lutris/runners/cemu.py:32 +msgid "" +"A game compressed into a single file (WUA format), only use if not using " +"game directory" +msgstr "" +"Un jeu compressé en un seul fichier (Format WUA), n'utiliser que si le " +"répertoire des jeux est inutilisé" + +#: lutris/runners/cemu.py:44 msgid "Custom mlc folder location" -msgstr "Emplacement du dossier 'mlc' personnalisé" +msgstr "Emplacement du dossier \"mlc\" personnalisé" -#: lutris/runners/cemu.py:38 +#: lutris/runners/cemu.py:49 msgid "Render in upside down mode" msgstr "Rendu en mode inversé" -#: lutris/runners/cemu.py:44 +#: lutris/runners/cemu.py:56 msgid "NSight debugging options" -msgstr "Options de débogage 'NSight'" +msgstr "Options de débogage \"NSight\"" -#: lutris/runners/cemu.py:50 +#: lutris/runners/cemu.py:63 msgid "Intel legacy graphics mode" msgstr "Mode graphique Intel hérité" -#: lutris/runners/commands/wine.py:255 lutris/util/wine/wine.py:187 -msgid "Wine is not installed" -msgstr "Wine n’est pas installé sur votre système." - -#: lutris/runners/dolphin.py:8 lutris/runners/dolphin.py:30 +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 msgid "Nintendo GameCube" msgstr "Nintendo GameCube" -#: lutris/runners/dolphin.py:8 lutris/runners/dolphin.py:30 +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 msgid "Nintendo Wii" msgstr "Nintendo Wii" -#: lutris/runners/dolphin.py:12 +#: lutris/runners/dolphin.py:15 msgid "GameCube and Wii emulator" msgstr "Émulateur GameCube et Wii" -#: lutris/runners/dolphin.py:13 lutris/services/dolphin.py:29 +#: lutris/runners/dolphin.py:16 lutris/services/dolphin.py:29 msgid "Dolphin" msgstr "Dolphin" -#: lutris/runners/dolphin.py:24 lutris/runners/pcsx2.py:19 -#: lutris/runners/xemu.py:18 +#: lutris/runners/dolphin.py:29 lutris/runners/pcsx2.py:22 +#: lutris/runners/xemu.py:19 msgid "ISO file" msgstr "Fichier ISO" -#: lutris/runners/dolphin.py:37 +#: lutris/runners/dolphin.py:42 msgid "Batch" msgstr "Lot (batch)" -#: lutris/runners/dolphin.py:40 +#: lutris/runners/dolphin.py:45 msgid "Exit Dolphin with emulator." msgstr "Quittez Dolphin avec l’émulateur." -#: lutris/runners/dolphin.py:46 +#: lutris/runners/dolphin.py:52 msgid "Custom Global User Directory" msgstr "Répertoire Global Personnalisé des Utilisateurs" -#: lutris/runners/dosbox.py:14 +#: lutris/runners/dosbox.py:16 msgid "DOSBox" msgstr "DOSBox" -#: lutris/runners/dosbox.py:15 +#: lutris/runners/dosbox.py:17 msgid "MS-DOS emulator" msgstr "Émulateur MS-DOS" -#: lutris/runners/dosbox.py:16 +#: lutris/runners/dosbox.py:18 msgid "MS-DOS" msgstr "MS-DOS" -#: lutris/runners/dosbox.py:24 +#: lutris/runners/dosbox.py:26 msgid "Main file" msgstr "Fichier principal" -#: lutris/runners/dosbox.py:26 +#: lutris/runners/dosbox.py:28 msgid "" "The CONF, EXE, COM or BAT file to launch.\n" -"It can be left blank if the launch of the executable is managed in the " -"config file." +"If the executable is managed in the config file, this should be the config " +"file, instead specifying it in 'Configuration file'." msgstr "" "Le fichier CONF, EXE, COM ou BAT à lancer.\n" "Il peut être laissé vide si le lancement de l'exécutable est géré dans le " "fichier de configuration." -#: lutris/runners/dosbox.py:34 +#: lutris/runners/dosbox.py:36 msgid "Configuration file" msgstr "Fichier de configuration" -#: lutris/runners/dosbox.py:36 +#: lutris/runners/dosbox.py:38 msgid "" "Start DOSBox with the options specified in this file. \n" "It can have a section in which you can put commands to execute on startup. " @@ -2454,195 +3547,262 @@ msgstr "" "exécuter au démarrage. Lisez la documentation de DOSBox pour plus " "d'informations." -#: lutris/runners/dosbox.py:45 +#: lutris/runners/dosbox.py:47 msgid "Command line arguments" msgstr "Arguments de ligne de commande" -#: lutris/runners/dosbox.py:46 +#: lutris/runners/dosbox.py:48 msgid "Command line arguments used when launching DOSBox" msgstr "Arguments de ligne de commande utilisés lors du lancement de DOSBox" -#: lutris/runners/dosbox.py:52 lutris/runners/flatpak.py:74 -#: lutris/runners/linux.py:40 lutris/runners/wine.py:198 +#: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 +#: lutris/runners/linux.py:39 lutris/runners/wine.py:222 msgid "Working directory" msgstr "Répertoire de travail" -#: lutris/runners/dosbox.py:54 lutris/runners/linux.py:42 -#: lutris/runners/wine.py:200 +#: lutris/runners/dosbox.py:57 lutris/runners/linux.py:41 +#: lutris/runners/wine.py:224 msgid "" "The location where the game is run from.\n" "By default, Lutris uses the directory of the executable." msgstr "" -"L'emplacement d’où le jeu est exécuté\n" +"L\"emplacement d’où le jeu est exécuté\n" "Par défaut, Lutris utilise le répertoire de l’exécutable." -#: lutris/runners/dosbox.py:62 -msgid "none" -msgstr "aucun" - -#: lutris/runners/dosbox.py:85 +#: lutris/runners/dosbox.py:66 msgid "Open game in fullscreen" msgstr "Ouvrir le jeu en plein écran" -#: lutris/runners/dosbox.py:88 +#: lutris/runners/dosbox.py:69 msgid "Tells DOSBox to launch the game in fullscreen." msgstr "Dit à DOSBox de lancer le jeu en plein écran." -#: lutris/runners/dosbox.py:93 lutris/runners/scummvm.py:143 -msgid "Graphic scaler" -msgstr "Échelleur graphique" - -#: lutris/runners/dosbox.py:98 lutris/runners/scummvm.py:160 -msgid "" -"The algorithm used to scale up the game's base resolution, resulting in " -"different visual styles. " -msgstr "" -"L’algorithme utilisé pour mettre la résolution de base du jeu à l’échelle, " -"résultat en différents styles visuels. " - -#: lutris/runners/dosbox.py:103 +#: lutris/runners/dosbox.py:73 msgid "Exit DOSBox with the game" msgstr "Quitter DOSBox avec le jeu" -#: lutris/runners/dosbox.py:106 +#: lutris/runners/dosbox.py:76 msgid "Shut down DOSBox when the game is quit." msgstr "Éteindre DOSBox quand le jeu est quitté." -#: lutris/runners/easyrpg.py:10 +#: lutris/runners/duckstation.py:13 +msgid "DuckStation" +msgstr "" + +#: lutris/runners/duckstation.py:14 +msgid "PlayStation 1 Emulator" +msgstr "Émulateur PlayStation 1" + +#: lutris/runners/duckstation.py:15 lutris/runners/mednafen.py:31 +msgid "Sony PlayStation" +msgstr "Sony PlayStation" + +#: lutris/runners/duckstation.py:37 +msgid "Enters fullscreen mode immediately after starting." +msgstr "Entrer en mode plein écran au démarrage." + +#: lutris/runners/duckstation.py:43 +msgid "No Fullscreen" +msgstr "Pas de plein écran" + +#: lutris/runners/duckstation.py:45 +msgid "Prevents fullscreen mode from triggering if enabled." +msgstr "Empêche le mode plein écran de se lancer si activé." + +#: lutris/runners/duckstation.py:51 +msgid "Batch Mode" +msgstr "Mode par lot" + +#: lutris/runners/duckstation.py:52 lutris/runners/duckstation.py:61 +#: lutris/runners/duckstation.py:69 +msgid "Boot" +msgstr "Démarrage" + +#: lutris/runners/duckstation.py:53 +msgid "Enables batch mode (exits after powering off)." +msgstr "Active le mode par lots (s'arrête une fois l'ordinateur éteint)." + +#: lutris/runners/duckstation.py:60 +msgid "Force Fastboot" +msgstr "Forcer Fastboot" + +#: lutris/runners/duckstation.py:62 +msgid "Force fast boot." +msgstr "Forcer Fastboot." + +#: lutris/runners/duckstation.py:68 +msgid "Force Slowboot" +msgstr "Forcer Slowboot" + +#: lutris/runners/duckstation.py:70 +msgid "Force slow boot." +msgstr "Forcer Slowboot." + +#: lutris/runners/duckstation.py:76 +msgid "No Controllers" +msgstr "Aucun contrôleur" + +#: lutris/runners/duckstation.py:77 lutris/runners/o2em.py:64 +#: lutris/runners/o2em.py:72 +msgid "Controllers" +msgstr "Contrôleurs" + +#: lutris/runners/duckstation.py:79 +msgid "" +"Prevents the emulator from polling for controllers. Try this option if " +"you're having difficulties starting the emulator." +msgstr "" +"Empêche l'émulateur d'interroger les manettes. Essayez cette option si " +"l'émulation a du mal à démarrer." + +#: lutris/runners/duckstation.py:87 +msgid "Custom configuration file" +msgstr "Fichier de configuration personnalisé" + +#: lutris/runners/duckstation.py:89 +msgid "" +"Loads a custom settings configuration from the specified filename. Default " +"settings applied if file not found." +msgstr "" +"Charge une configuration de réglages personnalisés depuis le nom de fichier " +"défini. Réglages par défaut chargés en cas d'échec." + +#: lutris/runners/easyrpg.py:12 msgid "EasyRPG Player" msgstr "Player EasyRPG" -#: lutris/runners/easyrpg.py:11 +#: lutris/runners/easyrpg.py:13 msgid "Runs RPG Maker 2000/2003 games" msgstr "Exécute des jeux RPG Maker 2000 / 2003" -#: lutris/runners/easyrpg.py:12 lutris/runners/flatpak.py:19 -#: lutris/runners/linux.py:15 lutris/runners/linux.py:17 -#: lutris/runners/scummvm.py:49 lutris/runners/steam.py:30 +#: lutris/runners/easyrpg.py:14 lutris/runners/flatpak.py:22 +#: lutris/runners/linux.py:17 lutris/runners/linux.py:19 +#: lutris/runners/scummvm.py:56 lutris/runners/steam.py:31 #: lutris/runners/zdoom.py:15 msgid "Linux" msgstr "Linux" -#: lutris/runners/easyrpg.py:23 +#: lutris/runners/easyrpg.py:25 msgid "Select the directory of the game. (required)" msgstr "Sélectionnez le répertoire du jeu. (requis)" -#: lutris/runners/easyrpg.py:29 +#: lutris/runners/easyrpg.py:31 msgid "Encoding" msgstr "Encodage" -#: lutris/runners/easyrpg.py:31 +#: lutris/runners/easyrpg.py:33 msgid "" "Instead of auto detecting the encoding or using the one in RPG_RT.ini, the " "specified encoding is used." msgstr "" -"Au lieu de détecter automatiquement le codage ou d’utiliser celui de RPG_RT." -"ini, le codage spécifié est utilisé. Utilisez 'auto' pour une détection " -"automatique." +"Au lieu de détecter automatiquement le codage ou d’utiliser celui de " +"RPG_RT.ini, le codage spécifié est utilisé. Utilisez \"auto\" pour une " +"détection automatique." -#: lutris/runners/easyrpg.py:35 lutris/runners/easyrpg.py:60 -#: lutris/runners/easyrpg.py:223 lutris/runners/easyrpg.py:242 -#: lutris/runners/fsuae.py:157 lutris/runners/mame.py:179 -#: lutris/runners/scummvm.py:188 lutris/runners/scummvm.py:203 -#: lutris/runners/scummvm.py:227 lutris/runners/wine.py:220 -#: lutris/runners/wine.py:535 +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 +#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 +#: lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 +#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:242 +#: lutris/runners/wine.py:537 lutris/sysoptions.py:50 msgid "Auto" msgstr "Auto" -#: lutris/runners/easyrpg.py:36 +#: lutris/runners/easyrpg.py:37 msgid "Auto (ignore RPG_RT.ini)" msgstr "Automatique (ignorer RPG_RT.ini)" -#: lutris/runners/easyrpg.py:37 +#: lutris/runners/easyrpg.py:38 msgid "Western European" -msgstr "" +msgstr "Europe de l'Ouest" -#: lutris/runners/easyrpg.py:38 +#: lutris/runners/easyrpg.py:39 msgid "Central/Eastern European" -msgstr "" +msgstr "Europe de l'Est / centrale" -#: lutris/runners/easyrpg.py:39 lutris/runners/redream.py:55 +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 +#: lutris/sysoptions.py:39 msgid "Japanese" msgstr "Japonais" -#: lutris/runners/easyrpg.py:40 +#: lutris/runners/easyrpg.py:41 msgid "Cyrillic" -msgstr "" +msgstr "Cyrillique" -#: lutris/runners/easyrpg.py:41 +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 msgid "Korean" -msgstr "" +msgstr "Coréen" -#: lutris/runners/easyrpg.py:42 +#: lutris/runners/easyrpg.py:43 msgid "Chinese (Simplified)" -msgstr "" +msgstr "Chinois (Simplifié)" -#: lutris/runners/easyrpg.py:43 +#: lutris/runners/easyrpg.py:44 msgid "Chinese (Traditional)" -msgstr "" +msgstr "Chinois (Traditionnel)" -#: lutris/runners/easyrpg.py:44 +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 msgid "Greek" -msgstr "" +msgstr "Grec" -#: lutris/runners/easyrpg.py:45 +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 msgid "Turkish" -msgstr "" +msgstr "Turc" -#: lutris/runners/easyrpg.py:46 +#: lutris/runners/easyrpg.py:47 msgid "Hebrew" -msgstr "" +msgstr "Hébreu" -#: lutris/runners/easyrpg.py:47 +#: lutris/runners/easyrpg.py:48 msgid "Arabic" -msgstr "" +msgstr "Arabe" -#: lutris/runners/easyrpg.py:48 +#: lutris/runners/easyrpg.py:49 msgid "Baltic" -msgstr "" +msgstr "Baltique" -#: lutris/runners/easyrpg.py:49 +#: lutris/runners/easyrpg.py:50 msgid "Thai" -msgstr "" +msgstr "Thai" -#: lutris/runners/easyrpg.py:57 lutris/runners/easyrpg.py:214 -#: lutris/runners/easyrpg.py:234 lutris/runners/easyrpg.py:252 +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 msgid "Engine" msgstr "Moteur" -#: lutris/runners/easyrpg.py:58 +#: lutris/runners/easyrpg.py:59 msgid "Disable auto detection of the simulated engine." msgstr "Désactiver l’auto-détection du moteur simulé." -#: lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:62 msgid "RPG Maker 2000 engine (v1.00 - v1.10)" msgstr "Moteur RPG Maker 2000 (v1.00 - v1.10)" -#: lutris/runners/easyrpg.py:62 +#: lutris/runners/easyrpg.py:63 msgid "RPG Maker 2000 engine (v1.50 - v1.51)" msgstr "Moteur RPG Maker 2000 (v1.50 - v1.51)" -#: lutris/runners/easyrpg.py:63 +#: lutris/runners/easyrpg.py:64 msgid "RPG Maker 2000 (English release) engine" msgstr "Moteur RPG Maker 2000 (version anglaise)" -#: lutris/runners/easyrpg.py:64 +#: lutris/runners/easyrpg.py:65 msgid "RPG Maker 2003 engine (v1.00 - v1.04)" msgstr "Moteur RPG Maker 2003 (v1.00 - v1.04)" -#: lutris/runners/easyrpg.py:65 +#: lutris/runners/easyrpg.py:66 msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" msgstr "Moteur RPG Maker 2003 (v1.05 - v1.09a)" -#: lutris/runners/easyrpg.py:66 +#: lutris/runners/easyrpg.py:67 msgid "RPG Maker 2003 (English release) engine" msgstr "Moteur RPG Maker 2003 (version anglaise)" -#: lutris/runners/easyrpg.py:74 +#: lutris/runners/easyrpg.py:75 msgid "Patches" msgstr "Correctifs" -#: lutris/runners/easyrpg.py:76 +#: lutris/runners/easyrpg.py:77 msgid "" "Instead of autodetecting patches used by this game, force emulation of " "certain patches.\n" @@ -2666,18 +3826,18 @@ msgstr "" "messagesrpg2k3-cmds: Support all RPG Maker 2003 event commands in any " "version of the engine\n" "\n" -"Vous pouvez utiliser plusieurs correctifs ou en sélectionner 'aucun' pour " +"Vous pouvez utiliser plusieurs correctifs ou en sélectionner \"aucun' pour " "désactiver l'ensemble des correctifs du moteur." -#: lutris/runners/easyrpg.py:91 lutris/runners/scummvm.py:274 +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 msgid "Language" -msgstr "Langage" +msgstr "Langue" #: lutris/runners/easyrpg.py:93 msgid "Load the game translation in the language/LANG directory." -msgstr "Charge la traduction du jeu du répertoire 'language/LANG'." +msgstr "Charge la traduction du jeu du répertoire \"language/LANG\"." -#: lutris/runners/easyrpg.py:99 lutris/runners/zdoom.py:47 +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 msgid "Save path" msgstr "Enregistrer le chemin" @@ -2701,27 +3861,27 @@ msgstr "Passer la scène titre et commencer un nouveau jeu directement." msgid "Load game ID" msgstr "Charger l’ID du jeu" -#: lutris/runners/easyrpg.py:117 +#: lutris/runners/easyrpg.py:116 msgid "" "Skip the title scene and load SaveXX.lsd.\n" "Set to 0 to disable." msgstr "" -"Ignorer la scène titre et charger SaveXX.lsd. Mettre à '0' pour désactiver." +"Ignorer la scène titre et charger SaveXX.lsd. Mettre à \"0\" pour désactiver." -#: lutris/runners/easyrpg.py:128 +#: lutris/runners/easyrpg.py:125 msgid "Record input" msgstr "Enregistrement de l’entrée" -#: lutris/runners/easyrpg.py:129 +#: lutris/runners/easyrpg.py:126 msgid "Records all button input to the specified log file." msgstr "" "Enregistre toutes les entrées des boutons dans le fichier journal spécifié." -#: lutris/runners/easyrpg.py:135 +#: lutris/runners/easyrpg.py:132 msgid "Replay input" msgstr "Rejouer l’entrée" -#: lutris/runners/easyrpg.py:137 +#: lutris/runners/easyrpg.py:134 msgid "" "Replays button input from the specified log file, as generated by 'Record " "input'.\n" @@ -2735,49 +3895,49 @@ msgstr "" "l'enregistrement du journal, cela devrait reproduire une exécution identique " "à celle enregistrée." -#: lutris/runners/easyrpg.py:146 lutris/runners/easyrpg.py:155 -#: lutris/runners/easyrpg.py:164 lutris/runners/easyrpg.py:179 -#: lutris/runners/easyrpg.py:191 lutris/runners/easyrpg.py:203 +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 +#: lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 +#: lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 msgid "Debug" msgstr "Débogage" -#: lutris/runners/easyrpg.py:147 +#: lutris/runners/easyrpg.py:144 msgid "Test play" -msgstr "Test Play" +msgstr "Partie de test" -#: lutris/runners/easyrpg.py:148 +#: lutris/runners/easyrpg.py:145 msgid "Enable TestPlay (debug) mode." msgstr "Activer le mode TestPlay (debug)" -#: lutris/runners/easyrpg.py:156 +#: lutris/runners/easyrpg.py:153 msgid "Hide title" -msgstr "Cacher le titre" +msgstr "Masquer le titre" -#: lutris/runners/easyrpg.py:157 +#: lutris/runners/easyrpg.py:154 msgid "Hide the title background image and center the command menu." -msgstr "Cacher l’arrière-plan du titre et centrer le menu de commande." +msgstr "Masquer l’arrière-plan du titre et centrer le menu de commande." -#: lutris/runners/easyrpg.py:165 +#: lutris/runners/easyrpg.py:162 msgid "Start map ID" msgstr "Démarrer map ID" -#: lutris/runners/easyrpg.py:167 +#: lutris/runners/easyrpg.py:164 msgid "" "Overwrite the map used for new games and use MapXXXX.lmu instead.\n" "Set to 0 to disable.\n" "\n" "Incompatible with 'Load game ID'." msgstr "" -"Ecrase la carte utilisée pour les nouvelles parties et utilise MapXXXX.lmu à " -"la place. Mettre à '0' pour désactiver. \n" +"Écrase la carte utilisée pour les nouvelles parties et utilise MapXXXX.lmu à " +"la place. Mettre à \"0\" pour désactiver. \n" "\n" -"Incompatible avec 'Charger l’ID du jeu'." +"Incompatible avec \"Charger l’ID du jeu'." -#: lutris/runners/easyrpg.py:180 +#: lutris/runners/easyrpg.py:177 msgid "Start position" msgstr "Démarrer la position" -#: lutris/runners/easyrpg.py:182 +#: lutris/runners/easyrpg.py:179 msgid "" "Overwrite the party start position and move the party to the specified " "position.\n" @@ -2788,13 +3948,13 @@ msgstr "" "Écraser la position de départ du groupe et déplacer le groupe à la position " "spécifiée. Fournir deux nombres séparés par un espace. \n" "\n" -"Incompatible avec 'Charger l’ID du jeu'." +"Incompatible avec \"Charger l’ID du jeu'." -#: lutris/runners/easyrpg.py:192 +#: lutris/runners/easyrpg.py:189 msgid "Start party" msgstr "Commencer le groupe" -#: lutris/runners/easyrpg.py:194 +#: lutris/runners/easyrpg.py:191 msgid "" "Overwrite the starting party members with the actors with the specified " "IDs.\n" @@ -2807,19 +3967,19 @@ msgstr "" "\n" "Incompatible avec « Charger l’identifiant du jeu »." -#: lutris/runners/easyrpg.py:204 +#: lutris/runners/easyrpg.py:201 msgid "Battle test" msgstr "Battle.net" -#: lutris/runners/easyrpg.py:205 +#: lutris/runners/easyrpg.py:202 msgid "Start a battle test with the specified monster party." msgstr "Commencez un test de combat avec le groupe de monstres spécifié." -#: lutris/runners/easyrpg.py:215 +#: lutris/runners/easyrpg.py:212 msgid "AutoBattle algorithm" -msgstr "" +msgstr "Algorithme AutoBattle" -#: lutris/runners/easyrpg.py:217 +#: lutris/runners/easyrpg.py:214 msgid "" "Which AutoBattle algorithm to use.\n" "\n" @@ -2828,24 +3988,32 @@ msgid "" "RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" "ATTACK: Like RPG_RT+ but only physical attacks, no skills." msgstr "" - -#: lutris/runners/easyrpg.py:224 lutris/runners/easyrpg.py:243 +"Choix de l'algorithme AutoBattle à utiliser\n" +"\n" +"RPG_RT : L'algorithme compatible par défaut avec RGP_RT, y compris " +"les bugs.\n" +"RPG_RT+ : L'algorithe compatible par défaut avec RGP_RT, avec des " +"corrections de bugs.\n" +"ATTACK : Comme RPG_RT+ mais seulement les attaques, pas de " +"compétences." + +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 msgid "RPG_RT" msgstr "" -#: lutris/runners/easyrpg.py:225 lutris/runners/easyrpg.py:244 +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 msgid "RPG_RT+" msgstr "" -#: lutris/runners/easyrpg.py:226 +#: lutris/runners/easyrpg.py:223 msgid "ATTACK" msgstr "" -#: lutris/runners/easyrpg.py:235 +#: lutris/runners/easyrpg.py:232 msgid "EnemyAI algorithm" -msgstr "" +msgstr "Algorithme EnemyAI" -#: lutris/runners/easyrpg.py:237 +#: lutris/runners/easyrpg.py:234 msgid "" "Which EnemyAI algorithm to use.\n" "\n" @@ -2853,74 +4021,82 @@ msgid "" "bugs.\n" "RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" msgstr "" +"Choix de l'algorithme EnemyAI à utiliser\n" +"\n" +"RPG_RT : L'algorithme compatible par défaut avec RGP_RT, y compris " +"les bugs.\n" +"RPG_RT+ : L'algorithe compatible par défaut avec RGP_RT, avec des " +"corrections de bugs.\n" -#: lutris/runners/easyrpg.py:253 +#: lutris/runners/easyrpg.py:250 msgid "RNG seed" msgstr "Graine RNG" -#: lutris/runners/easyrpg.py:255 +#: lutris/runners/easyrpg.py:251 msgid "" "Seeds the random number generator.\n" "Use -1 to disable." msgstr "" -"Ensemence le générateur de nombres aléatoiresUtilisez -1 pour désactiver." - -#: lutris/runners/easyrpg.py:265 lutris/runners/easyrpg.py:273 -#: lutris/runners/easyrpg.py:283 lutris/runners/easyrpg.py:294 -#: lutris/runners/redream.py:77 lutris/runners/scummvm.py:296 -#: lutris/runners/scummvm.py:304 lutris/runners/scummvm.py:311 -#: lutris/runners/scummvm.py:333 lutris/runners/scummvm.py:346 -#: lutris/runners/scummvm.py:366 lutris/runners/scummvm.py:374 -#: lutris/runners/scummvm.py:382 lutris/runners/scummvm.py:390 -#: lutris/runners/scummvm.py:397 lutris/runners/scummvm.py:405 -#: lutris/runners/scummvm.py:414 lutris/runners/scummvm.py:424 +"Ensemence le générateur d'aléatoire.\n" +"Utilisez -1 pour le désactiver." + +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 +#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 +#: lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 +#: lutris/runners/scummvm.py:336 lutris/runners/scummvm.py:349 +#: lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 +#: lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 +#: lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 msgid "Audio" msgstr "Audio" -#: lutris/runners/easyrpg.py:266 +#: lutris/runners/easyrpg.py:260 msgid "Enable audio" msgstr "Activer l’audio" -#: lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:261 msgid "Switch off to disable audio." msgstr "" "Éteindre pour désactiver l’audio (dans le cas où vous préférez votre propre " "musique)." -#: lutris/runners/easyrpg.py:274 +#: lutris/runners/easyrpg.py:268 msgid "BGM volume" msgstr "Volume de la musique" -#: lutris/runners/easyrpg.py:275 +#: lutris/runners/easyrpg.py:269 msgid "Volume of the background music." msgstr "Volume de la musique de fond." -#: lutris/runners/easyrpg.py:284 lutris/runners/scummvm.py:375 +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 msgid "SFX volume" msgstr "Volume SFX" -#: lutris/runners/easyrpg.py:285 +#: lutris/runners/easyrpg.py:279 msgid "Volume of the sound effects." msgstr "Volume des effets sonores." -#: lutris/runners/easyrpg.py:295 lutris/runners/scummvm.py:399 +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 msgid "Soundfont" msgstr "Soundfont" -#: lutris/runners/easyrpg.py:296 +#: lutris/runners/easyrpg.py:290 msgid "Soundfont in sf2 format to use when playing MIDI files." msgstr "" "Soundfont au format sf2 à utiliser lors de la lecture de fichiers MIDI." -#: lutris/runners/easyrpg.py:303 +#: lutris/runners/easyrpg.py:297 msgid "Start in fullscreen mode." msgstr "Démarrer en mode plein écran." -#: lutris/runners/easyrpg.py:311 +#: lutris/runners/easyrpg.py:305 msgid "Game resolution" msgstr "Résolution du Jeu" -#: lutris/runners/easyrpg.py:313 +#: lutris/runners/easyrpg.py:307 msgid "" "Force a different game resolution.\n" "\n" @@ -2930,23 +4106,23 @@ msgstr "" "\n" "Option expérimental pouvant provoquer des problèmes ou casser des jeux !" -#: lutris/runners/easyrpg.py:317 +#: lutris/runners/easyrpg.py:310 msgid "320×240 (4:3, Original)" -msgstr "" +msgstr "320×240 (4:3, original)" -#: lutris/runners/easyrpg.py:318 +#: lutris/runners/easyrpg.py:311 msgid "416×240 (16:9, Widescreen)" -msgstr "" +msgstr "416×240 (16:9, écran large)" -#: lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:312 msgid "560×240 (21:9, Ultrawide)" -msgstr "" +msgstr "560×240 (21:9, ultra-large)" -#: lutris/runners/easyrpg.py:327 +#: lutris/runners/easyrpg.py:320 msgid "Scaling" msgstr "Mise à l'échelle" -#: lutris/runners/easyrpg.py:329 +#: lutris/runners/easyrpg.py:322 msgid "" "How the video output is scaled.\n" "\n" @@ -2956,52 +4132,52 @@ msgid "" msgstr "" "Mode de mise à l'échelle de la sortie vidéo.\n" "\n" -"Nearest : Ajuster à la taille de l'écran (provoque des artefacts " -"d'échelle)\n" -"Integer : Echelonner au multiple de la résolution du jeu\n" -"Bilinear : Comme le plus proche, mais la sortie est floue pour éviter " -"les artefacts\n" +"Au plus proche : Ajuster à la taille de l'écran (provoque des " +"artéfacts d'échelle)\n" +"Entier : Échelonner au multiple de la résolution du jeu\n" +"Bilinéaire : Comme \"Au plus proche\", mais la sortie est floue pour " +"éviter les artefacts\n" -#: lutris/runners/easyrpg.py:335 +#: lutris/runners/easyrpg.py:328 msgid "Nearest" -msgstr "" +msgstr "Au plus proche" -#: lutris/runners/easyrpg.py:336 +#: lutris/runners/easyrpg.py:329 msgid "Integer" -msgstr "" +msgstr "Entier" -#: lutris/runners/easyrpg.py:337 +#: lutris/runners/easyrpg.py:330 msgid "Bilinear" -msgstr "" +msgstr "Bilinéaire" -#: lutris/runners/easyrpg.py:345 lutris/runners/redream.py:35 -#: lutris/runners/scummvm.py:231 +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 +#: lutris/runners/scummvm.py:229 msgid "Stretch" msgstr "Étirer" -#: lutris/runners/easyrpg.py:346 +#: lutris/runners/easyrpg.py:339 msgid "" "Ignore the aspect ratio and stretch video output to the entire width of the " "screen." msgstr "" -"Ignorez le format d'image et étirez la sortie vidéo sur toute la largeur de " +"Ignorer le format d'image et étirez la sortie vidéo sur toute la largeur de " "l'écran." -#: lutris/runners/easyrpg.py:353 +#: lutris/runners/easyrpg.py:346 msgid "Enable VSync" msgstr "Activer VSync" -#: lutris/runners/easyrpg.py:354 +#: lutris/runners/easyrpg.py:347 msgid "Switch off to disable VSync and use the FPS limit." msgstr "" "Éteindre pour désactiver VSync et utiliser la limite de FPS. VSync peut ou " "peut ne pas être supporté sur toutes les plateformes." -#: lutris/runners/easyrpg.py:361 lutris/sysoptions.py:324 +#: lutris/runners/easyrpg.py:354 msgid "FPS limit" -msgstr "Limite de FPS" +msgstr "Limite d'IPS" -#: lutris/runners/easyrpg.py:363 +#: lutris/runners/easyrpg.py:356 msgid "" "Set a custom frames per second limit.\n" "If unspecified, the default is 60 FPS.\n" @@ -3011,45 +4187,40 @@ msgstr "" "celle par défaut est de 60 FPS. Mettez à 0 pour désactiver le limiteur " "d’images. Cette option peut ne pas être supportée sur toutes les plateformes." -#: lutris/runners/easyrpg.py:375 lutris/runners/wine.py:561 +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:561 msgid "Show FPS" msgstr "Afficher les FPS" -#: lutris/runners/easyrpg.py:376 +#: lutris/runners/easyrpg.py:369 msgid "Enable frames per second counter." msgstr "Activer le compteur d’images par secondes." -#: lutris/runners/easyrpg.py:378 lutris/runners/mednafen.py:84 -#: lutris/runners/wine.py:558 -msgid "Disabled" -msgstr "Désactivé" - -#: lutris/runners/easyrpg.py:379 +#: lutris/runners/easyrpg.py:372 msgid "Fullscreen & title bar" msgstr "Plein écran & Barre de titre" -#: lutris/runners/easyrpg.py:380 +#: lutris/runners/easyrpg.py:373 msgid "Fullscreen, title bar & window" msgstr "Plein écran, barre de titre & fenêtre" -#: lutris/runners/easyrpg.py:387 lutris/runners/easyrpg.py:395 -#: lutris/runners/easyrpg.py:405 lutris/runners/easyrpg.py:415 +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 msgid "Runtime Package" msgstr "Package d'exécution" -#: lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:381 msgid "Enable RTP" msgstr "Activer RTP" -#: lutris/runners/easyrpg.py:389 +#: lutris/runners/easyrpg.py:382 msgid "Switch off to disable support for the Runtime Package (RTP)." msgstr "Éteindre pour désactiver le support pour le « Runtime Package » (RTP)" -#: lutris/runners/easyrpg.py:396 +#: lutris/runners/easyrpg.py:389 msgid "RPG2000 RTP location" msgstr "Emplacement RTP RPG2000" -#: lutris/runners/easyrpg.py:398 +#: lutris/runners/easyrpg.py:390 msgid "" "Full path to a directory containing an extracted RPG Maker 2000 Run-Time-" "Package (RTP)." @@ -3057,11 +4228,11 @@ msgstr "" "Chemin complet vers un répertoire contenant un Run-Time-Package (RTP) " "extrait de RPG Maker 2000." -#: lutris/runners/easyrpg.py:406 +#: lutris/runners/easyrpg.py:396 msgid "RPG2003 RTP location" msgstr "Emplacement RTP RPG2003" -#: lutris/runners/easyrpg.py:408 +#: lutris/runners/easyrpg.py:397 msgid "" "Full path to a directory containing an extracted RPG Maker 2003 Run-Time-" "Package (RTP)." @@ -3069,99 +4240,95 @@ msgstr "" "Chemin complet vers un répertoire contenant un Run-Time-Package (RTP) " "extrait de RPG Maker 2003." -#: lutris/runners/easyrpg.py:416 +#: lutris/runners/easyrpg.py:403 msgid "Fallback RTP location" msgstr "Emplacement RTP de repli" -#: lutris/runners/easyrpg.py:417 +#: lutris/runners/easyrpg.py:404 msgid "Full path to a directory containing a combined RTP." msgstr "Chemin complet vers un répertoire contenant un RTP combiné" -#: lutris/runners/easyrpg.py:530 +#: lutris/runners/easyrpg.py:517 msgid "No game directory provided" msgstr "Aucun répertoire de jeu fourni" -#: lutris/runners/easyrpg.py:607 -msgid "The directory {} could not be found" -msgstr "Le répertoire {} n’a pu être trouvé" - -#: lutris/runners/flatpak.py:18 +#: lutris/runners/flatpak.py:21 msgid "Runs Flatpak applications" msgstr "Exécute des applications Flatpak" -#: lutris/runners/flatpak.py:21 +#: lutris/runners/flatpak.py:24 msgid "Flatpak" msgstr "Flatpak" -#: lutris/runners/flatpak.py:33 lutris/runners/steam.py:36 +#: lutris/runners/flatpak.py:33 lutris/runners/steam.py:37 msgid "Application ID" msgstr "ID de l’application" #: lutris/runners/flatpak.py:34 msgid "The application's unique three-part identifier (tld.domain.app)." msgstr "" -"L'identifiant unique en trois parties de l'application (tld.domain.app)" +"L\"identifiant unique en trois parties de l'application (tld.domain.app)" #: lutris/runners/flatpak.py:39 msgid "Architecture" msgstr "Architecture" -#: lutris/runners/flatpak.py:40 +#: lutris/runners/flatpak.py:41 msgid "" "The architecture to run. See flatpak --supported-arches for architectures " "supported by the host." msgstr "" -"L'architecture à exécuter. Voir 'flatpak --supported-arches' pour les " +"L\"architecture à exécuter. Voir \"flatpak --supported-arches\" pour les " "architectures soutenues par l'hôte." -#: lutris/runners/flatpak.py:47 +#: lutris/runners/flatpak.py:45 msgid "Branch" msgstr "Branche" -#: lutris/runners/flatpak.py:48 +#: lutris/runners/flatpak.py:45 msgid "The branch to use." msgstr "La branche à utiliser." -#: lutris/runners/flatpak.py:54 +#: lutris/runners/flatpak.py:49 msgid "Install type" msgstr "Type d'installation" -#: lutris/runners/flatpak.py:55 +#: lutris/runners/flatpak.py:50 msgid "Can be system or user." msgstr "Peut être un système ou un utilisateur." -#: lutris/runners/flatpak.py:61 +#: lutris/runners/flatpak.py:56 msgid "Args" msgstr "Arguments" -#: lutris/runners/flatpak.py:62 +#: lutris/runners/flatpak.py:57 msgid "Arguments to be passed to the application." msgstr "Arguments à transmettre à l'application." -#: lutris/runners/flatpak.py:67 +#: lutris/runners/flatpak.py:62 msgid "Command" msgstr "Commande" -#: lutris/runners/flatpak.py:68 +#: lutris/runners/flatpak.py:63 msgid "" "The command to run instead of the one listed in the application metadata." msgstr "" "La commande d'exécuter à la place de celle répertoriée dans les métadonnées " "d'application." -#: lutris/runners/flatpak.py:75 +#: lutris/runners/flatpak.py:71 msgid "" "The directory to run the command in. Note that this must be a directory " "inside the sandbox." msgstr "" -"Le répertoire dans lequel est exécuté la commande. Notez qu'il doit s'agir " +"Le répertoire dans lequel est exécuté la commande. Notez qu'il doit s\"agir " "d'un répertoire à l'intérieur du bac à sable." -#: lutris/runners/flatpak.py:82 lutris/sysoptions.py:492 +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 msgid "Environment variables" msgstr "Variables d'environnement" -#: lutris/runners/flatpak.py:83 +#: lutris/runners/flatpak.py:79 msgid "" "Set an environment variable in the application. This overrides to the " "Context section from the application metadata." @@ -3169,184 +4336,204 @@ msgstr "" "Définissez une variable d'environnement dans l'application. Cela remplace la " "section de contexte à partir des métadonnées de l'application." -#: lutris/runners/flatpak.py:97 +#: lutris/runners/flatpak.py:92 +msgid "The Flatpak executable could not be found." +msgstr "L\"exécutable Flatpak n'a pas pu être trouvé." + +#: lutris/runners/flatpak.py:98 msgid "" "Flatpak installation is not handled by Lutris.\n" "Install Flatpak with the package provided by your distribution." msgstr "" -"L'installation de Flatpak n'est pas gérée par Lutris.\n" +"L\"installation de Flatpak n'est pas gérée par Lutris.\n" "Installez Flatpak avec le package fourni par votre distribution." +#: lutris/runners/flatpak.py:140 +msgid "No application specified." +msgstr "Aucune application spécifié." + +#: lutris/runners/flatpak.py:144 +msgid "" +"Application ID is not specified in correct format.Must be something like: " +"tld.domain.app" +msgstr "" +"Le format de l'identifiant d'application est incorrect. Il doit ressembler " +"à : tld.domaine.app" + +#: lutris/runners/flatpak.py:148 +msgid "Application ID field must not contain options or arguments." +msgstr "" + #: lutris/runners/fsuae.py:12 msgid "Amiga 500" msgstr "Amiga 500" -#: lutris/runners/fsuae.py:20 +#: lutris/runners/fsuae.py:19 msgid "Amiga 500+" msgstr "Amiga 500+" -#: lutris/runners/fsuae.py:26 +#: lutris/runners/fsuae.py:20 msgid "Amiga 600" msgstr "Amiga 600" -#: lutris/runners/fsuae.py:32 +#: lutris/runners/fsuae.py:21 msgid "Amiga 1200" msgstr "Amiga 1200" -#: lutris/runners/fsuae.py:38 +#: lutris/runners/fsuae.py:22 msgid "Amiga 3000" msgstr "Amiga 1000" -#: lutris/runners/fsuae.py:44 +#: lutris/runners/fsuae.py:24 msgid "Amiga 4000" msgstr "Amiga 4000" -#: lutris/runners/fsuae.py:51 +#: lutris/runners/fsuae.py:27 msgid "Amiga 1000" msgstr "Amiga 1000" -#: lutris/runners/fsuae.py:57 +#: lutris/runners/fsuae.py:29 msgid "Amiga CD32" msgstr "Amiga CD32" -#: lutris/runners/fsuae.py:66 +#: lutris/runners/fsuae.py:34 msgid "Commodore CDTV" msgstr "Commodore CDTV" -#: lutris/runners/fsuae.py:125 +#: lutris/runners/fsuae.py:91 msgid "FS-UAE" msgstr "FS-UAE" -#: lutris/runners/fsuae.py:126 +#: lutris/runners/fsuae.py:92 msgid "Amiga emulator" msgstr "Émulateur Amiga" -#: lutris/runners/fsuae.py:143 +#: lutris/runners/fsuae.py:109 msgid "68000" msgstr "68000" -#: lutris/runners/fsuae.py:144 +#: lutris/runners/fsuae.py:110 msgid "68010" msgstr "68010" -#: lutris/runners/fsuae.py:145 +#: lutris/runners/fsuae.py:111 msgid "68020 with 24-bit addressing" msgstr "68020 avec adressage 24 bits" -#: lutris/runners/fsuae.py:146 +#: lutris/runners/fsuae.py:112 msgid "68020" msgstr "68020" -#: lutris/runners/fsuae.py:147 +#: lutris/runners/fsuae.py:113 msgid "68030 without internal MMU" msgstr "68030 sans MMU interne" -#: lutris/runners/fsuae.py:148 +#: lutris/runners/fsuae.py:114 msgid "68030" msgstr "68030" -#: lutris/runners/fsuae.py:149 +#: lutris/runners/fsuae.py:115 msgid "68040 without internal FPU and MMU" msgstr "68040 sans FPU et MMU internes" -#: lutris/runners/fsuae.py:150 +#: lutris/runners/fsuae.py:116 msgid "68040 without internal FPU" msgstr "68040 sans FPU interne" -#: lutris/runners/fsuae.py:151 +#: lutris/runners/fsuae.py:117 msgid "68040 without internal MMU" msgstr "68040 sans MMU interne" -#: lutris/runners/fsuae.py:152 +#: lutris/runners/fsuae.py:118 msgid "68040" msgstr "68040" -#: lutris/runners/fsuae.py:153 +#: lutris/runners/fsuae.py:119 msgid "68060 without internal FPU and MMU" msgstr "68060 sans FPU et MMU internes" -#: lutris/runners/fsuae.py:154 +#: lutris/runners/fsuae.py:120 msgid "68060 without internal FPU" msgstr "68060 sans FPU interne" -#: lutris/runners/fsuae.py:155 +#: lutris/runners/fsuae.py:121 msgid "68060 without internal MMU" msgstr "68060 sans MMU interne" -#: lutris/runners/fsuae.py:156 +#: lutris/runners/fsuae.py:122 msgid "68060" msgstr "68060" -#: lutris/runners/fsuae.py:160 lutris/runners/fsuae.py:167 -#: lutris/runners/fsuae.py:201 +#: lutris/runners/fsuae.py:126 lutris/runners/fsuae.py:133 +#: lutris/runners/fsuae.py:167 msgid "0" msgstr "0" -#: lutris/runners/fsuae.py:161 lutris/runners/fsuae.py:168 -#: lutris/runners/fsuae.py:202 +#: lutris/runners/fsuae.py:127 lutris/runners/fsuae.py:134 +#: lutris/runners/fsuae.py:168 msgid "1 MB" msgstr "1 Mo" -#: lutris/runners/fsuae.py:162 lutris/runners/fsuae.py:169 -#: lutris/runners/fsuae.py:203 +#: lutris/runners/fsuae.py:128 lutris/runners/fsuae.py:135 +#: lutris/runners/fsuae.py:169 msgid "2 MB" msgstr "2 Mo" -#: lutris/runners/fsuae.py:163 lutris/runners/fsuae.py:170 -#: lutris/runners/fsuae.py:204 +#: lutris/runners/fsuae.py:129 lutris/runners/fsuae.py:136 +#: lutris/runners/fsuae.py:170 msgid "4 MB" msgstr "4 Mo" -#: lutris/runners/fsuae.py:164 lutris/runners/fsuae.py:171 -#: lutris/runners/fsuae.py:205 +#: lutris/runners/fsuae.py:130 lutris/runners/fsuae.py:137 +#: lutris/runners/fsuae.py:171 msgid "8 MB" msgstr "8 Mo" -#: lutris/runners/fsuae.py:172 lutris/runners/fsuae.py:206 +#: lutris/runners/fsuae.py:138 lutris/runners/fsuae.py:172 msgid "16 MB" msgstr "16 Mo" -#: lutris/runners/fsuae.py:173 lutris/runners/fsuae.py:207 +#: lutris/runners/fsuae.py:139 lutris/runners/fsuae.py:173 msgid "32 MB" msgstr "32 Mo" -#: lutris/runners/fsuae.py:174 lutris/runners/fsuae.py:208 +#: lutris/runners/fsuae.py:140 lutris/runners/fsuae.py:174 msgid "64 MB" msgstr "64 Mo" -#: lutris/runners/fsuae.py:175 lutris/runners/fsuae.py:209 +#: lutris/runners/fsuae.py:141 lutris/runners/fsuae.py:175 msgid "128 MB" msgstr "128 Mo" -#: lutris/runners/fsuae.py:176 lutris/runners/fsuae.py:210 +#: lutris/runners/fsuae.py:142 lutris/runners/fsuae.py:176 msgid "256 MB" msgstr "256 Mo" -#: lutris/runners/fsuae.py:177 +#: lutris/runners/fsuae.py:143 msgid "384 MB" msgstr "384 Mo" -#: lutris/runners/fsuae.py:178 +#: lutris/runners/fsuae.py:144 msgid "512 MB" msgstr "512 Mo" -#: lutris/runners/fsuae.py:179 +#: lutris/runners/fsuae.py:145 msgid "768 MB" msgstr "768 Mo" -#: lutris/runners/fsuae.py:180 +#: lutris/runners/fsuae.py:146 msgid "1 GB" msgstr "1 GB" -#: lutris/runners/fsuae.py:213 +#: lutris/runners/fsuae.py:179 msgid "Turbo" msgstr "Turbo" -#: lutris/runners/fsuae.py:224 +#: lutris/runners/fsuae.py:190 msgid "Boot disk" msgstr "Disque de démarrage" -#: lutris/runners/fsuae.py:227 +#: lutris/runners/fsuae.py:193 msgid "" "The main floppy disk file with the game data. \n" "FS-UAE supports floppy images in multiple file formats: ADF, IPF, DMS are " @@ -3362,44 +4549,44 @@ msgstr "" "Les fichiers se terminant par .hdf seront montés comme des disques durs et " "les ISOs peuvent être utilisés pour les modèles Amiga CD32 et CDTV." -#: lutris/runners/fsuae.py:237 lutris/runners/fsuae.py:244 -#: lutris/runners/fsuae.py:356 lutris/runners/fsuae.py:367 +#: lutris/runners/fsuae.py:203 lutris/runners/fsuae.py:211 +#: lutris/runners/fsuae.py:325 lutris/runners/fsuae.py:335 msgid "Media" msgstr "Média" -#: lutris/runners/fsuae.py:239 -msgid "Additionnal floppies" +#: lutris/runners/fsuae.py:205 +msgid "Additional floppies" msgstr "Disquettes additionnelles" -#: lutris/runners/fsuae.py:241 +#: lutris/runners/fsuae.py:207 msgid "The additional floppy disk image(s)." msgstr "L’(es) image(s) de disquette additionnelle(s)." -#: lutris/runners/fsuae.py:245 +#: lutris/runners/fsuae.py:212 msgid "CD-ROM image" msgstr "Image de CD-ROM" -#: lutris/runners/fsuae.py:247 +#: lutris/runners/fsuae.py:214 msgid "CD-ROM image to use on non CD32/CDTV models" msgstr "Image du CD-ROM à utiliser sur les modèles non CD32 / CDTV" -#: lutris/runners/fsuae.py:254 +#: lutris/runners/fsuae.py:221 msgid "Amiga model" msgstr "Modèle Amiga" -#: lutris/runners/fsuae.py:258 +#: lutris/runners/fsuae.py:225 msgid "Specify the Amiga model you want to emulate." msgstr "Spécifiez le modèle Amiga que vous souhaitez émuler" -#: lutris/runners/fsuae.py:262 lutris/runners/fsuae.py:275 +#: lutris/runners/fsuae.py:229 lutris/runners/fsuae.py:242 msgid "Kickstart" msgstr "" -#: lutris/runners/fsuae.py:263 +#: lutris/runners/fsuae.py:230 msgid "Kickstart ROMs location" msgstr "Emplacement des ROMS Kickstart" -#: lutris/runners/fsuae.py:266 +#: lutris/runners/fsuae.py:233 msgid "" "Choose the folder containing original Amiga Kickstart ROMs. Refer to FS-UAE " "documentation to find how to acquire them. Without these, FS-UAE uses a " @@ -3410,23 +4597,23 @@ msgstr "" "Sans elles, FS-UAE utilise une ROM de remplacement qui est moins compatible " "avec les logiciels Amiga." -#: lutris/runners/fsuae.py:276 +#: lutris/runners/fsuae.py:243 msgid "Extended Kickstart location" msgstr "Emplacement Kickstart Étendu" -#: lutris/runners/fsuae.py:279 +#: lutris/runners/fsuae.py:245 msgid "Location of extended Kickstart used for CD32" msgstr "Emplacement du Kickstart étendu utilisé pour le CD32" -#: lutris/runners/fsuae.py:284 -msgid "Fullscreen (F12 + S to switch)" -msgstr "Plein écran (F12 + S pour changer)" +#: lutris/runners/fsuae.py:250 +msgid "Fullscreen (F12 + F to switch)" +msgstr "Plein écran (F12 + S pour en sortir)" -#: lutris/runners/fsuae.py:291 lutris/runners/o2em.py:85 +#: lutris/runners/fsuae.py:257 lutris/runners/o2em.py:87 msgid "Scanlines display style" msgstr "Style d'affichage des lignes de balayage" -#: lutris/runners/fsuae.py:294 lutris/runners/o2em.py:87 +#: lutris/runners/fsuae.py:260 lutris/runners/o2em.py:89 msgid "" "Activates a display filter adding scanlines to imitate the displays of " "yesteryear." @@ -3434,11 +4621,11 @@ msgstr "" "Active un filtre d'affichage ajoutant des lignes de balayage pour imiter les " "écrans d'antan." -#: lutris/runners/fsuae.py:300 +#: lutris/runners/fsuae.py:265 msgid "Graphics Card" msgstr "Carte graphique" -#: lutris/runners/fsuae.py:306 +#: lutris/runners/fsuae.py:271 msgid "" "Use this option to enable a graphics card. This option is none by default, " "in which case only chipset graphics (OCS/ECS/AGA) support is available." @@ -3447,24 +4634,24 @@ msgstr "" "pas activée par défaut, auquel cas seule la prise en charge de la carte " "graphique du chipset (OCS/ECS/AGA) est disponible." -#: lutris/runners/fsuae.py:313 +#: lutris/runners/fsuae.py:278 msgid "Graphics Card RAM" msgstr "RAM de la carte graphique" -#: lutris/runners/fsuae.py:319 +#: lutris/runners/fsuae.py:284 msgid "" "Override the amount of graphics memory on the graphics card. The 0 MB option " "is not really valid, but exists for user interface reasons." msgstr "" -"Remplacer la quantité de mémoire graphique sur la carte graphique. L’option " -"0 Mo n'est pas vraiment valable, mais existe pour des raisons d'interface " -"utilisateur." +"Forcer une quantité de mémoire sur la carte graphique. L’option 0 Mo n'est " +"pas vraiment valable, mais existe pour des raisons techniques." -#: lutris/runners/fsuae.py:325 +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 +#: lutris/sysoptions.py:324 lutris/sysoptions.py:333 msgid "CPU" msgstr "CPU" -#: lutris/runners/fsuae.py:330 +#: lutris/runners/fsuae.py:296 msgid "" "Use this option to override the CPU model in the emulated Amiga. All Amiga " "models imply a default CPU model, so you only need to use this option if you " @@ -3475,34 +4662,34 @@ msgstr "" "n’avez besoin d’utiliser cette option que si vous voulez utiliser un autre " "CPU." -#: lutris/runners/fsuae.py:336 +#: lutris/runners/fsuae.py:303 msgid "Fast Memory" msgstr "Mémoire vive" -#: lutris/runners/fsuae.py:341 +#: lutris/runners/fsuae.py:308 msgid "Specify how much Fast Memory the Amiga model should have." msgstr "Spécifier combien de mémoire vive le modèle Amiga devrait avoir." -#: lutris/runners/fsuae.py:345 +#: lutris/runners/fsuae.py:312 msgid "Zorro III RAM" msgstr "Zorro III RAM" -#: lutris/runners/fsuae.py:350 +#: lutris/runners/fsuae.py:318 msgid "" "Override the amount of Zorro III Fast memory, specified in KB. Must be a " "multiple of 1024. The default value depends on [amiga_model]. Requires a " "processor with 32-bit address bus, (use for example the A1200/020 model)." msgstr "" -"Remplacer la quantité de mémoire Zorro III Fast, spécifiée en Ko. Doit être " -"un multiple de 1024. La valeur par défaut dépend de [amiga_model]. Nécessite " -"un processeur avec un bus d'adresse de 32 bits, (utilisez par exemple le " -"modèle A1200 / 020)." +"Forcer la quantité de mémoire Zorro III Fast, spécifiée en Ko. Doit être un " +"multiple de 1024. La valeur par défaut dépend de [amiga_model]. Nécessite un " +"processeur avec un bus d'adresse 32 bits, (utilisez par exemple le modèle " +"A1200 / 020)." -#: lutris/runners/fsuae.py:357 +#: lutris/runners/fsuae.py:326 msgid "Floppy Drive Volume" msgstr "Volume de disquette" -#: lutris/runners/fsuae.py:362 +#: lutris/runners/fsuae.py:331 msgid "" "Set volume to 0 to disable floppy drive clicks when the drive is empty. Max " "volume is 100." @@ -3510,11 +4697,11 @@ msgstr "" "Réglez le volume sur 0 pour désactiver les clics du lecteur de disquettes " "lorsque le lecteur est vide. Le volume maximal est de 100." -#: lutris/runners/fsuae.py:368 +#: lutris/runners/fsuae.py:336 msgid "Floppy Drive Speed" msgstr "Vitesse des disquettes" -#: lutris/runners/fsuae.py:374 +#: lutris/runners/fsuae.py:342 msgid "" "Set the speed of the emulated floppy drives, in percent. For example, you " "can specify 800 to get an 8x increase in speed. Use 0 to specify turbo mode. " @@ -3527,15 +4714,15 @@ msgstr "" "toutes les opérations sur les disquettes se terminent immédiatement. La " "valeur par défaut est 100 pour la plupart des modèles." -#: lutris/runners/fsuae.py:382 +#: lutris/runners/fsuae.py:350 msgid "JIT Compiler" msgstr "Compilateur JIT" -#: lutris/runners/fsuae.py:389 +#: lutris/runners/fsuae.py:357 msgid "Feral GameMode" msgstr "Feral GameMode" -#: lutris/runners/fsuae.py:393 +#: lutris/runners/fsuae.py:361 msgid "" "Automatically uses Feral GameMode daemon if available. Set to true to " "disable the feature." @@ -3543,11 +4730,11 @@ msgstr "" "Utilise automatiquement le daemon Feral GameMode s’il est disponible. Mettez " "la valeur true pour désactiver cette fonctionnalité." -#: lutris/runners/fsuae.py:398 +#: lutris/runners/fsuae.py:365 msgid "CPU governor warning" msgstr "Avertissement de gouverneur de CPU" -#: lutris/runners/fsuae.py:403 +#: lutris/runners/fsuae.py:370 msgid "" "Warn if running with a CPU governor other than performance. Set to true to " "disable the warning." @@ -3555,27 +4742,27 @@ msgstr "" "Avertir en cas d’exécution avec un gouverneur de CPU autre que la " "performance. Mettez la valeur true pour désactiver l’avertissement." -#: lutris/runners/fsuae.py:408 +#: lutris/runners/fsuae.py:375 msgid "UAE bsdsocket.library" msgstr "UAE bsdsocket.library" -#: lutris/runners/hatari.py:13 +#: lutris/runners/hatari.py:14 msgid "Hatari" msgstr "Hatari" -#: lutris/runners/hatari.py:14 +#: lutris/runners/hatari.py:15 msgid "Atari ST computers emulator" msgstr "Émulateur d’ordinateurs Atari ST" -#: lutris/runners/hatari.py:15 lutris/runners/scummvm.py:214 +#: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:212 msgid "Atari ST" msgstr "Atari ST" -#: lutris/runners/hatari.py:25 +#: lutris/runners/hatari.py:26 msgid "Floppy Disk A" msgstr "Disquette A" -#: lutris/runners/hatari.py:27 lutris/runners/hatari.py:38 +#: lutris/runners/hatari.py:28 lutris/runners/hatari.py:39 msgid "" "Hatari supports floppy disk images in the following formats: ST, DIM, MSA, " "STX, IPF, RAW and CRT. The last three require the caps library (capslib). " @@ -3586,29 +4773,29 @@ msgstr "" "bibliothèque caps (capslib). Le format ZIP est supporté, vous n'avez pas " "besoin de décompresser le fichier." -#: lutris/runners/hatari.py:36 +#: lutris/runners/hatari.py:37 msgid "Floppy Disk B" msgstr "Disquette B" -#: lutris/runners/hatari.py:46 lutris/runners/redream.py:79 -#: lutris/runners/zdoom.py:76 +#: lutris/runners/hatari.py:47 lutris/runners/redream.py:74 +#: lutris/runners/zdoom.py:66 msgid "None" msgstr "Aucune" -#: lutris/runners/hatari.py:46 +#: lutris/runners/hatari.py:47 msgid "Keyboard" msgstr "Clavier" -#: lutris/runners/hatari.py:46 lutris/runners/o2em.py:39 -#: lutris/runners/scummvm.py:267 +#: lutris/runners/hatari.py:47 lutris/runners/o2em.py:41 +#: lutris/runners/scummvm.py:269 msgid "Joystick" msgstr "Joystick" -#: lutris/runners/hatari.py:52 +#: lutris/runners/hatari.py:53 msgid "Bios file (TOS)" msgstr "Fichier BIOS (TOS)" -#: lutris/runners/hatari.py:54 +#: lutris/runners/hatari.py:55 msgid "" "TOS is the operating system of the Atari ST and is necessary to run " "applications with the best fidelity, minimizing risks of issues.\n" @@ -3619,19 +4806,19 @@ msgstr "" "risques de problèmes.\n" "TOS 1.02 est recommandé pour les jeux." -#: lutris/runners/hatari.py:71 +#: lutris/runners/hatari.py:72 msgid "Scale up display by 2 (Atari ST/STE)" msgstr "Agrandir l’affichage par 2 (Atari ST/STE)" -#: lutris/runners/hatari.py:73 +#: lutris/runners/hatari.py:74 msgid "Double the screen size in windowed mode." msgstr "Double la taille de l'écran en mode fenêtré." -#: lutris/runners/hatari.py:79 +#: lutris/runners/hatari.py:80 msgid "Add borders to display" msgstr "Ajoute des bordures à afficher" -#: lutris/runners/hatari.py:82 +#: lutris/runners/hatari.py:83 msgid "" "Useful for some games and demos using the overscan technique. The Atari ST " "displayed borders around the screen because it was not powerful enough to " @@ -3639,32 +4826,32 @@ msgid "" "remove them and some games made use of this technique." msgstr "" "Utile pour certains jeux et démos utilisant la technique de l'overscan. " -"L'Atari ST affichait des bordures autour de l'écran car il n'était pas assez " -"puissant pour afficher des graphiques en plein écran. Mais les gens de la " -"scène des démos ont pu les supprimer et certains jeux ont utilisé cette " +"L\"Atari ST affichait des bordures autour de l'écran car il n'était pas " +"assez puissant pour afficher des graphiques en plein écran. Mais les gens de " +"la scène des démos ont pu les supprimer et certains jeux ont utilisé cette " "technique." -#: lutris/runners/hatari.py:94 +#: lutris/runners/hatari.py:95 msgid "Display status bar" msgstr "Afficher la barre d’état" -#: lutris/runners/hatari.py:97 +#: lutris/runners/hatari.py:98 msgid "" "Displays a status bar with some useful information, like green leds lighting " "up when the floppy disks are read." msgstr "" "Affiche une barre d'état avec quelques informations utiles, comme des " -"voyants verts s'allumant lorsque les disquettes sont lues." +"voyants verts s\"allumant lorsque les disquettes sont lues." -#: lutris/runners/hatari.py:105 lutris/runners/hatari.py:113 +#: lutris/runners/hatari.py:106 lutris/runners/hatari.py:114 msgid "Joysticks" msgstr "Joysticks" -#: lutris/runners/hatari.py:106 +#: lutris/runners/hatari.py:107 msgid "Joystick 0" msgstr "Joystick 0" -#: lutris/runners/hatari.py:114 +#: lutris/runners/hatari.py:115 msgid "Joystick 1" msgstr "Joystick 1" @@ -3680,19 +4867,19 @@ msgstr "Utiliser un fichier BIOS ?" msgid "Select a BIOS file" msgstr "Sélectionnez un fichier BIOS" -#: lutris/runners/jzintv.py:11 +#: lutris/runners/jzintv.py:13 msgid "jzIntv" msgstr "jzIntv" -#: lutris/runners/jzintv.py:12 +#: lutris/runners/jzintv.py:14 msgid "Intellivision Emulator" msgstr "Émulateur Intellivision" -#: lutris/runners/jzintv.py:13 +#: lutris/runners/jzintv.py:15 msgid "Intellivision" msgstr "Intellivision" -#: lutris/runners/jzintv.py:22 +#: lutris/runners/jzintv.py:24 msgid "" "The game data, commonly called a ROM image. \n" "Supported formats: ROM, BIN+CFG, INT, ITV \n" @@ -3700,16 +4887,16 @@ msgid "" msgstr "" "Les données du jeu, communément appelées image ROM. \n" "Formats pris en charge : ROM, BIN+CFG, INT, ITV \n" -"L'extension du fichier doit être en minuscule." +"L\"extension du fichier doit être en minuscule." -#: lutris/runners/jzintv.py:32 +#: lutris/runners/jzintv.py:34 msgid "Bios location" msgstr "Emplacement BIOS" -#: lutris/runners/jzintv.py:34 +#: lutris/runners/jzintv.py:36 msgid "" -"Choose the folder containing the Intellivision BIOS files (exec.bin and grom." -"bin).\n" +"Choose the folder containing the Intellivision BIOS files (exec.bin and " +"grom.bin).\n" "These files contain code from the original hardware necessary to the " "emulation." msgstr "" @@ -3718,75 +4905,87 @@ msgstr "" "Ces fichiers contiennent le code du matériel original nécessaire à " "l'émulation." -#: lutris/runners/jzintv.py:50 +#: lutris/runners/jzintv.py:47 msgid "Resolution" msgstr "Résolution" -#: lutris/runners/libretro.py:68 +#: lutris/runners/libretro.py:69 msgid "Libretro" msgstr "Libretro" -#: lutris/runners/libretro.py:69 +#: lutris/runners/libretro.py:70 msgid "Multi-system emulator" msgstr "Émulateur multi-système" -#: lutris/runners/libretro.py:83 +#: lutris/runners/libretro.py:80 msgid "Core" -msgstr "Core" +msgstr "Cœur" -#: lutris/runners/libretro.py:92 lutris/runners/zdoom.py:88 +#: lutris/runners/libretro.py:89 lutris/runners/zdoom.py:76 msgid "Config file" msgstr "Fichier de configuration" -#: lutris/runners/libretro.py:104 +#: lutris/runners/libretro.py:101 msgid "Verbose logging" -msgstr "Journalisation verbeuse" +msgstr "Journalisation détaillée" -#: lutris/runners/libretro.py:270 +#: lutris/runners/libretro.py:150 +msgid "The installer does not specify the libretro 'core' version." +msgstr "L\"installateur ne spécifie pas la version du cœur libretro." + +#: lutris/runners/libretro.py:246 +msgid "" +"The emulator files BIOS location must be configured in the Preferences " +"dialog." +msgstr "" +"Les fichiers BIOS de l'émulateur doivent être configurés dans les " +"préférences." + +#: lutris/runners/libretro.py:292 msgid "No core has been selected for this game" -msgstr "Aucun core n’a été sélectionné pour ce jeu" +msgstr "Aucun cœur n’a été sélectionné pour ce jeu" -#: lutris/runners/libretro.py:281 +#: lutris/runners/libretro.py:298 msgid "No game file specified" msgstr "Pas de fichier de jeu spécifié" -#: lutris/runners/linux.py:16 +#: lutris/runners/linux.py:18 msgid "Runs native games" -msgstr "Exécuter des jeux natifs" +msgstr "Exécute des jeux natifs" -#: lutris/runners/linux.py:25 lutris/runners/wine.py:185 +#: lutris/runners/linux.py:27 lutris/runners/wine.py:209 msgid "Executable" msgstr "Exécutable" -#: lutris/runners/linux.py:26 +#: lutris/runners/linux.py:28 msgid "The game's main executable file" msgstr "Le fichier exécutable principal du jeu" -#: lutris/runners/linux.py:31 lutris/runners/mame.py:125 -#: lutris/runners/scummvm.py:67 lutris/runners/steam.py:48 -#: lutris/runners/steam.py:100 lutris/runners/wine.py:191 +#: lutris/runners/linux.py:33 lutris/runners/mame.py:126 +#: lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 +#: lutris/runners/steam.py:86 lutris/runners/wine.py:215 #: lutris/runners/zdoom.py:28 msgid "Arguments" msgstr "Arguments" -#: lutris/runners/linux.py:32 lutris/runners/mame.py:126 -#: lutris/runners/scummvm.py:68 +#: lutris/runners/linux.py:34 lutris/runners/mame.py:127 +#: lutris/runners/scummvm.py:67 msgid "Command line arguments used when launching the game" msgstr "Arguments de ligne de commande utilisés lors du lancement du jeu" -#: lutris/runners/linux.py:50 +#: lutris/runners/linux.py:47 msgid "Preload library" msgstr "Bibliothèque de préchargement" -#: lutris/runners/linux.py:52 +#: lutris/runners/linux.py:49 msgid "A library to load before running the game's executable." -msgstr "Une bibliothèque à charger avant d’exécuter l’exécutable du jeu." +msgstr "Une bibliothèque à charger avant de lancer l’exécutable du jeu." -#: lutris/runners/linux.py:60 +#: lutris/runners/linux.py:54 msgid "Add directory to LD_LIBRARY_PATH" msgstr "Ajouter le répertoire à LD_LIBRARY_PATH" -#: lutris/runners/linux.py:64 +#: lutris/runners/linux.py:57 msgid "" "A directory where libraries should be searched for first, before the " "standard set of directories; this is useful when debugging a new library or " @@ -3797,142 +4996,151 @@ msgstr "" "débogage d’une nouvelle bibliothèque ou l’utilisation d’une bibliothèque non " "standard à des fins spéciales." -#: lutris/runners/linux.py:138 +#: lutris/runners/linux.py:139 msgid "" "The runner could not find a command or exe to use for this configuration." msgstr "" -"L’exécuteur n'a pas pu trouver une commande ou un 'exe' à utiliser avec la " +"L’exécuteur n'a pas pu trouver une commande ou un \"exe\" à utiliser avec la " "configuration." -#: lutris/runners/mame.py:65 lutris/services/mame.py:11 +#: lutris/runners/linux.py:162 +#, python-format +msgid "The file %s is not executable" +msgstr "Le fichier %s n'est pas exécutable" + +#: lutris/runners/mame.py:66 lutris/services/mame.py:13 msgid "MAME" msgstr "MAME" -#: lutris/runners/mame.py:66 +#: lutris/runners/mame.py:67 msgid "Arcade game emulator" msgstr "Émulateur de jeu d’arcade" -#: lutris/runners/mame.py:86 lutris/runners/mednafen.py:67 +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 msgid "The emulated machine." -msgstr "La machine émulée" +msgstr "Le support émulé." -#: lutris/runners/mame.py:91 +#: lutris/runners/mame.py:92 msgid "Storage type" msgstr "Type de stockage" -#: lutris/runners/mame.py:93 +#: lutris/runners/mame.py:94 msgid "Floppy disk" msgstr "Disquette" -#: lutris/runners/mame.py:94 +#: lutris/runners/mame.py:95 msgid "Floppy drive 1" msgstr "Disquette 1" -#: lutris/runners/mame.py:95 +#: lutris/runners/mame.py:96 msgid "Floppy drive 2" msgstr "Disquette 2" -#: lutris/runners/mame.py:96 +#: lutris/runners/mame.py:97 msgid "Floppy drive 3" msgstr "Disquette 3" -#: lutris/runners/mame.py:97 +#: lutris/runners/mame.py:98 msgid "Floppy drive 4" msgstr "Disquette 4" -#: lutris/runners/mame.py:98 +#: lutris/runners/mame.py:99 msgid "Cassette (tape)" msgstr "Cassette (bande)" -#: lutris/runners/mame.py:99 +#: lutris/runners/mame.py:100 msgid "Cassette 1 (tape)" msgstr "Cassette 1 (bande)" -#: lutris/runners/mame.py:100 +#: lutris/runners/mame.py:101 msgid "Cassette 2 (tape)" msgstr "Cassette 2 (bande)" -#: lutris/runners/mame.py:101 +#: lutris/runners/mame.py:102 msgid "Cartridge" msgstr "Cartouche" -#: lutris/runners/mame.py:102 +#: lutris/runners/mame.py:103 msgid "Cartridge 1" msgstr "Cartouche 1" -#: lutris/runners/mame.py:103 +#: lutris/runners/mame.py:104 msgid "Cartridge 2" msgstr "Cartouche 2" -#: lutris/runners/mame.py:104 +#: lutris/runners/mame.py:105 msgid "Cartridge 3" msgstr "Cartouche 3" -#: lutris/runners/mame.py:105 +#: lutris/runners/mame.py:106 msgid "Cartridge 4" msgstr "Cartouche 4" -#: lutris/runners/mame.py:106 lutris/runners/mame.py:113 +#: lutris/runners/mame.py:107 msgid "Snapshot" msgstr "Instantané" -#: lutris/runners/mame.py:107 +#: lutris/runners/mame.py:108 msgid "Hard Disk" msgstr "Disque dur" -#: lutris/runners/mame.py:108 +#: lutris/runners/mame.py:109 msgid "Hard Disk 1" msgstr "Disque dur 1" -#: lutris/runners/mame.py:109 +#: lutris/runners/mame.py:110 msgid "Hard Disk 2" msgstr "Disque dur 2" -#: lutris/runners/mame.py:110 +#: lutris/runners/mame.py:111 msgid "CD-ROM" msgstr "CD-ROM" -#: lutris/runners/mame.py:111 +#: lutris/runners/mame.py:112 msgid "CD-ROM 1" msgstr "CD-ROM 1" -#: lutris/runners/mame.py:112 +#: lutris/runners/mame.py:113 msgid "CD-ROM 2" msgstr "CD-ROM 2" #: lutris/runners/mame.py:114 +msgid "Snapshot (dump)" +msgstr "Instantané (dump)" + +#: lutris/runners/mame.py:115 msgid "Quickload" msgstr "Chargement rapide" -#: lutris/runners/mame.py:115 +#: lutris/runners/mame.py:116 msgid "Memory Card" msgstr "Carte Mémoire" -#: lutris/runners/mame.py:116 +#: lutris/runners/mame.py:117 msgid "Cylinder" msgstr "Cylindre" -#: lutris/runners/mame.py:117 +#: lutris/runners/mame.py:118 msgid "Punch Tape 1" msgstr "Bande perforée 1" -#: lutris/runners/mame.py:118 +#: lutris/runners/mame.py:119 msgid "Punch Tape 2" msgstr "Bande perforée 2" -#: lutris/runners/mame.py:119 +#: lutris/runners/mame.py:120 msgid "Print Out" msgstr "Imprimer" -#: lutris/runners/mame.py:131 lutris/runners/mame.py:139 +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 msgid "Autoboot" msgstr "Autodémarrage" -#: lutris/runners/mame.py:132 +#: lutris/runners/mame.py:139 msgid "Autoboot command" msgstr "Commande d’autodémarrage" -#: lutris/runners/mame.py:133 +#: lutris/runners/mame.py:140 msgid "" "Autotype this command when the system has started, an enter keypress is " "automatically added." @@ -3940,15 +5148,15 @@ msgstr "" "Saisir cette commande automatiquement lorsque le système a démarré, une " "touche d’entrée est automatiquement ajoutée." -#: lutris/runners/mame.py:140 +#: lutris/runners/mame.py:146 msgid "Delay before entering autoboot command" msgstr "Délai avant d'entrer dans la commande de démarrage automatique" -#: lutris/runners/mame.py:150 +#: lutris/runners/mame.py:156 msgid "ROM/BIOS path" msgstr "Chemin ROM / BIOS" -#: lutris/runners/mame.py:152 +#: lutris/runners/mame.py:158 msgid "" "Choose the folder containing ROMs and BIOS files.\n" "These files contain code from the original hardware necessary to the " @@ -3958,28 +5166,41 @@ msgstr "" "Ces fichiers contiennent le code du matériel d'origine nécessaire à " "l'émulation." -#: lutris/runners/mame.py:168 +#: lutris/runners/mame.py:174 msgid "CRT effect ()" msgstr "Effet CRT ()" -#: lutris/runners/mame.py:169 +#: lutris/runners/mame.py:175 msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." msgstr "Applique un effet CRT à l'écran. Requiert un moteur de rendu OpenGL." -#: lutris/runners/mame.py:177 +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 +#: lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "Débogage" + +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "Détaillé" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "" + +#: lutris/runners/mame.py:191 msgid "Video backend" msgstr "Backend vidéo" -#: lutris/runners/mame.py:183 lutris/runners/scummvm.py:189 -#: lutris/runners/vice.py:81 +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 +#: lutris/runners/vice.py:74 msgid "Software" msgstr "Logiciel" -#: lutris/runners/mame.py:191 +#: lutris/runners/mame.py:205 msgid "Wait for VSync" msgstr "Attendre VSync" -#: lutris/runners/mame.py:193 +#: lutris/runners/mame.py:206 msgid "" "Enable waiting for the start of vblank before flipping screens; " "reduces tearing effects." @@ -3987,51 +5208,51 @@ msgstr "" "Permet d’attendre le début de vblank avant de retourner les écrans ; réduit " "les effets de déchirement." -#: lutris/runners/mame.py:201 +#: lutris/runners/mame.py:213 msgid "Menu mode key" msgstr "Touche mode menu" -#: lutris/runners/mame.py:203 +#: lutris/runners/mame.py:215 msgid "Scroll Lock" msgstr "Arrêt défil" -#: lutris/runners/mame.py:204 +#: lutris/runners/mame.py:216 msgid "Num Lock" msgstr "Verr Num" -#: lutris/runners/mame.py:205 +#: lutris/runners/mame.py:217 msgid "Caps Lock" msgstr "Verr Maj" -#: lutris/runners/mame.py:206 +#: lutris/runners/mame.py:218 msgid "Menu" msgstr "Menu" -#: lutris/runners/mame.py:207 +#: lutris/runners/mame.py:219 msgid "Right Control" msgstr "Contrôle Droite" -#: lutris/runners/mame.py:208 +#: lutris/runners/mame.py:220 msgid "Left Control" msgstr "Contrôle Gauche" -#: lutris/runners/mame.py:209 +#: lutris/runners/mame.py:221 msgid "Right Alt" msgstr "Alt Droite" -#: lutris/runners/mame.py:210 +#: lutris/runners/mame.py:222 msgid "Left Alt" msgstr "Alt Gauche" -#: lutris/runners/mame.py:211 +#: lutris/runners/mame.py:223 msgid "Right Super" msgstr "Super Droite" -#: lutris/runners/mame.py:212 +#: lutris/runners/mame.py:224 msgid "Left Super" msgstr "Super Gauche" -#: lutris/runners/mame.py:216 +#: lutris/runners/mame.py:228 msgid "" "Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: " "Scroll Lock)" @@ -4039,143 +5260,150 @@ msgstr "" "Touche permettant de basculer entre le mode Clavier complet et le mode " "Clavier partiel (par défaut : Arrêt défil)" -#: lutris/runners/mame.py:230 lutris/runners/mame.py:272 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 msgid "Arcade" msgstr "Arcade" -#: lutris/runners/mame.py:230 lutris/runners/mame.py:271 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 msgid "Nintendo Game & Watch" msgstr "Nintendo Game & Watch" -#: lutris/runners/mednafen.py:16 +#: lutris/runners/mame.py:337 +#, python-format +msgid "No device is set for machine %s" +msgstr "Aucun appareil n'est attribué au support %s" + +#: lutris/runners/mame.py:347 +#, python-format +msgid "The path '%s' is not set. please set it in the options." +msgstr "" +"Le chemin \"%s\" n'est pas défini. Veuillez le définir dans les options." + +#: lutris/runners/mednafen.py:18 msgid "Mednafen" msgstr "Mednafen" -#: lutris/runners/mednafen.py:17 +#: lutris/runners/mednafen.py:19 msgid "Multi-system emulator: NES, PC Engine, PSX…" msgstr "Émulateur multi-système : NES, PC Engine, PSX…" -#: lutris/runners/mednafen.py:19 +#: lutris/runners/mednafen.py:21 msgid "Nintendo Game Boy (Color)" msgstr "Nintendo Game Boy (Color)" -#: lutris/runners/mednafen.py:20 +#: lutris/runners/mednafen.py:22 msgid "Nintendo Game Boy Advance" msgstr "Nintendo Game Boy Advance" -#: lutris/runners/mednafen.py:21 +#: lutris/runners/mednafen.py:23 msgid "Sega Game Gear" msgstr "Sega Game Gear" -#: lutris/runners/mednafen.py:22 +#: lutris/runners/mednafen.py:24 msgid "Sega Genesis/Mega Drive" msgstr "Sega Genesis / Mega Drive" -#: lutris/runners/mednafen.py:23 +#: lutris/runners/mednafen.py:25 msgid "Atari Lynx" msgstr "Atari Lynx" -#: lutris/runners/mednafen.py:24 lutris/runners/osmose.py:12 +#: lutris/runners/mednafen.py:26 lutris/runners/osmose.py:14 msgid "Sega Master System" msgstr "Sega Master System" -#: lutris/runners/mednafen.py:25 +#: lutris/runners/mednafen.py:27 msgid "SNK Neo Geo Pocket (Color)" msgstr "SNK Neo Geo Pocket (Color)" -#: lutris/runners/mednafen.py:26 +#: lutris/runners/mednafen.py:28 msgid "Nintendo NES" msgstr "Nintendo NES" -#: lutris/runners/mednafen.py:27 +#: lutris/runners/mednafen.py:29 msgid "NEC PC Engine TurboGrafx-16" msgstr "NEC PC Engine TurboGrafx-16" -#: lutris/runners/mednafen.py:28 +#: lutris/runners/mednafen.py:30 msgid "NEC PC-FX" msgstr "NEC PC-FX" -#: lutris/runners/mednafen.py:29 -msgid "Sony PlayStation" -msgstr "Sony PlayStation" - -#: lutris/runners/mednafen.py:30 +#: lutris/runners/mednafen.py:32 msgid "Sega Saturn" msgstr "Sega Saturn" -#: lutris/runners/mednafen.py:31 lutris/runners/snes9x.py:19 +#: lutris/runners/mednafen.py:33 lutris/runners/snes9x.py:20 msgid "Nintendo SNES" msgstr "Nintendo SNES" -#: lutris/runners/mednafen.py:32 +#: lutris/runners/mednafen.py:34 msgid "Bandai WonderSwan" msgstr "Bandai WonderSwan" -#: lutris/runners/mednafen.py:33 +#: lutris/runners/mednafen.py:35 msgid "Nintendo Virtual Boy" msgstr "Nintendo Virtual Boy" -#: lutris/runners/mednafen.py:36 +#: lutris/runners/mednafen.py:38 msgid "Game Boy (Color)" msgstr "Game Boy (Color)" -#: lutris/runners/mednafen.py:37 +#: lutris/runners/mednafen.py:39 msgid "Game Boy Advance" msgstr "Game Boy Advance" -#: lutris/runners/mednafen.py:38 +#: lutris/runners/mednafen.py:40 msgid "Game Gear" msgstr "Game Gear" -#: lutris/runners/mednafen.py:39 +#: lutris/runners/mednafen.py:41 msgid "Genesis/Mega Drive" msgstr "Genesis / Mega Drive" -#: lutris/runners/mednafen.py:40 +#: lutris/runners/mednafen.py:42 msgid "Lynx" msgstr "Lynx" -#: lutris/runners/mednafen.py:41 +#: lutris/runners/mednafen.py:43 msgid "Master System" msgstr "Master System" -#: lutris/runners/mednafen.py:42 +#: lutris/runners/mednafen.py:44 msgid "Neo Geo Pocket (Color)" msgstr "Neo Geo Pocket (Color)" -#: lutris/runners/mednafen.py:43 +#: lutris/runners/mednafen.py:45 msgid "NES" msgstr "NES" -#: lutris/runners/mednafen.py:44 +#: lutris/runners/mednafen.py:46 msgid "PC Engine" msgstr "PC Engine" -#: lutris/runners/mednafen.py:45 +#: lutris/runners/mednafen.py:47 msgid "PC-FX" msgstr "PC-FX" -#: lutris/runners/mednafen.py:46 +#: lutris/runners/mednafen.py:48 msgid "PlayStation" msgstr "PlayStation" -#: lutris/runners/mednafen.py:47 +#: lutris/runners/mednafen.py:49 msgid "Saturn" msgstr "Saturn" -#: lutris/runners/mednafen.py:48 +#: lutris/runners/mednafen.py:50 msgid "SNES" msgstr "SNES" -#: lutris/runners/mednafen.py:49 +#: lutris/runners/mednafen.py:51 msgid "WonderSwan" msgstr "WonderSwan" -#: lutris/runners/mednafen.py:50 +#: lutris/runners/mednafen.py:52 msgid "Virtual Boy" msgstr "Virtual Boy" -#: lutris/runners/mednafen.py:59 +#: lutris/runners/mednafen.py:60 msgid "" "The game data, commonly called a ROM image. \n" "Mednafen supports GZIP and ZIP compressed ROMs." @@ -4185,143 +5413,139 @@ msgstr "" #: lutris/runners/mednafen.py:65 msgid "Machine type" -msgstr "Type de machine" +msgstr "Type de support" -#: lutris/runners/mednafen.py:82 +#: lutris/runners/mednafen.py:76 msgid "Aspect ratio" msgstr "Ratio d’aspect" -#: lutris/runners/mednafen.py:85 +#: lutris/runners/mednafen.py:79 msgid "Stretched" msgstr "Étiré" -#: lutris/runners/mednafen.py:86 lutris/runners/vice.py:73 +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 msgid "Preserve aspect ratio" msgstr "Préserver le ratio d’aspect" -#: lutris/runners/mednafen.py:87 +#: lutris/runners/mednafen.py:81 msgid "Integer scale" -msgstr "Échelle entière" +msgstr "Échelle par entier" -#: lutris/runners/mednafen.py:88 +#: lutris/runners/mednafen.py:82 msgid "Multiple of 2 scale" msgstr "Échelle multiple de 2" -#: lutris/runners/mednafen.py:96 +#: lutris/runners/mednafen.py:90 msgid "Video scaler" msgstr "Échelleur vidéo" -#: lutris/runners/mednafen.py:120 +#: lutris/runners/mednafen.py:114 msgid "Sound device" -msgstr "Appareil de son" +msgstr "Appareil audio" -#: lutris/runners/mednafen.py:122 +#: lutris/runners/mednafen.py:116 msgid "Mednafen default" msgstr "Mednasen par défaut" -#: lutris/runners/mednafen.py:123 +#: lutris/runners/mednafen.py:117 msgid "ALSA default" msgstr "ALSA par défaut" -#: lutris/runners/mednafen.py:133 +#: lutris/runners/mednafen.py:127 msgid "Use default Mednafen controller configuration" msgstr "Utiliser la configuration par défaut du contrôleur Mednafen" -#: lutris/runners/mupen64plus.py:12 +#: lutris/runners/mupen64plus.py:13 msgid "Mupen64Plus" msgstr "Mupen64Plus" -#: lutris/runners/mupen64plus.py:13 +#: lutris/runners/mupen64plus.py:14 msgid "Nintendo 64 emulator" msgstr "Émulateur Nintendo 64" -#: lutris/runners/mupen64plus.py:14 +#: lutris/runners/mupen64plus.py:15 msgid "Nintendo 64" msgstr "Nintendo 64" -#: lutris/runners/mupen64plus.py:22 lutris/runners/o2em.py:47 -#: lutris/runners/openmsx.py:19 lutris/runners/ryujinx.py:25 -#: lutris/runners/snes9x.py:29 lutris/runners/yuzu.py:23 +#: lutris/runners/mupen64plus.py:22 lutris/runners/o2em.py:49 +#: lutris/runners/openmsx.py:21 lutris/runners/ryujinx.py:26 +#: lutris/runners/snes9x.py:30 lutris/runners/yuzu.py:24 msgid "The game data, commonly called a ROM image." msgstr "Les données du jeu, communément appelées image ROM." -#: lutris/runners/mupen64plus.py:35 +#: lutris/runners/mupen64plus.py:32 msgid "Hide OSD" -msgstr "Cacher OSD" +msgstr "Masquer l'OSD" -#: lutris/runners/o2em.py:11 +#: lutris/runners/o2em.py:13 msgid "O2EM" msgstr "O2EM" -#: lutris/runners/o2em.py:12 +#: lutris/runners/o2em.py:14 msgid "Magnavox Odyssey² Emulator" msgstr "Émulateur Magnavox Odyssey²" -#: lutris/runners/o2em.py:14 lutris/runners/o2em.py:30 +#: lutris/runners/o2em.py:16 lutris/runners/o2em.py:32 msgid "Magnavox Odyssey²" msgstr "Magnavox Odyssey²" -#: lutris/runners/o2em.py:15 lutris/runners/o2em.py:31 +#: lutris/runners/o2em.py:17 lutris/runners/o2em.py:33 msgid "Phillips C52" msgstr "Phillips C52" -#: lutris/runners/o2em.py:16 lutris/runners/o2em.py:32 +#: lutris/runners/o2em.py:18 lutris/runners/o2em.py:34 msgid "Phillips Videopac+" msgstr "Phillips Videopac+" -#: lutris/runners/o2em.py:17 lutris/runners/o2em.py:33 +#: lutris/runners/o2em.py:19 lutris/runners/o2em.py:35 msgid "Brandt Jopac" msgstr "Brandt Jopac" -#: lutris/runners/o2em.py:36 lutris/runners/wine.py:516 +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:518 msgid "Disable" msgstr "Désactiver" -#: lutris/runners/o2em.py:37 +#: lutris/runners/o2em.py:39 msgid "Arrow Keys and Right Shift" msgstr "Flèches et Maj Droite" -#: lutris/runners/o2em.py:38 +#: lutris/runners/o2em.py:40 msgid "W,S,A,D,SPACE" msgstr "W,S,A,D,ESPACE" -#: lutris/runners/o2em.py:55 +#: lutris/runners/o2em.py:57 msgid "BIOS" msgstr "BIOS" -#: lutris/runners/o2em.py:62 lutris/runners/o2em.py:70 -msgid "Controllers" -msgstr "Contrôleurs" - -#: lutris/runners/o2em.py:63 +#: lutris/runners/o2em.py:65 msgid "First controller" msgstr "Premier contrôleur" -#: lutris/runners/o2em.py:71 +#: lutris/runners/o2em.py:73 msgid "Second controller" msgstr "Second contrôleur" -#: lutris/runners/openmsx.py:10 +#: lutris/runners/openmsx.py:12 msgid "openMSX" msgstr "openMSX" -#: lutris/runners/openmsx.py:11 +#: lutris/runners/openmsx.py:13 msgid "MSX computer emulator" msgstr "Émulateur ordinateur MSX" -#: lutris/runners/openmsx.py:12 +#: lutris/runners/openmsx.py:14 msgid "MSX, MSX2, MSX2+, MSX turboR" msgstr "MSX, MSX2, MSX2+, MSX turboR" -#: lutris/runners/osmose.py:10 +#: lutris/runners/osmose.py:12 msgid "Osmose" msgstr "Osmose" -#: lutris/runners/osmose.py:11 +#: lutris/runners/osmose.py:13 msgid "Sega Master System Emulator" msgstr "Émulateur Sega Master System" -#: lutris/runners/osmose.py:25 +#: lutris/runners/osmose.py:23 msgid "" "The game data, commonly called a ROM image.\n" "Supported formats: SMS and GG files. ZIP compressed ROMs are supported." @@ -4330,23 +5554,23 @@ msgstr "" "Formats pris en charge : Fichiers SMS et GG. Les ROM compressées au format " "ZIP sont prises en charge." -#: lutris/runners/pcsx2.py:10 +#: lutris/runners/pcsx2.py:12 msgid "PCSX2" msgstr "PCSX2" -#: lutris/runners/pcsx2.py:11 +#: lutris/runners/pcsx2.py:13 msgid "PlayStation 2 emulator" msgstr "Émulateur PlayStation 2" -#: lutris/runners/pcsx2.py:12 +#: lutris/runners/pcsx2.py:14 msgid "Sony PlayStation 2" msgstr "Sony PlayStation 2" -#: lutris/runners/pcsx2.py:33 +#: lutris/runners/pcsx2.py:34 msgid "Fullboot" msgstr "Fullboot" -#: lutris/runners/pcsx2.py:39 lutris/runners/rpcs3.py:24 +#: lutris/runners/pcsx2.py:35 lutris/runners/rpcs3.py:26 msgid "No GUI" msgstr "Pas d’interface" @@ -4372,7 +5596,7 @@ msgstr "" msgid "Launch in fullscreen." msgstr "Lancer en plein écran." -#: lutris/runners/pico8.py:46 lutris/runners/web.py:45 +#: lutris/runners/pico8.py:46 lutris/runners/web.py:47 msgid "Window size" msgstr "Taille de la fenêtre" @@ -4400,11 +5624,6 @@ msgstr "Moteur (web seulement)" msgid "Name of engine (will be downloaded) or local file path" msgstr "Nom du moteur (qui sera téléchargé) ou chemin du fichier local" -#: lutris/runners/pico8.py:84 -#, python-format -msgid "PICO-8 runner (%s)" -msgstr "Exécuteur PICO-8 (%s)" - #: lutris/runners/redream.py:10 msgid "Redream" msgstr "Redream" @@ -4429,95 +5648,95 @@ msgstr "" "Fichier des données de jeu\n" "Formats supportés : GDI, CDI, CHD" -#: lutris/runners/redream.py:34 +#: lutris/runners/redream.py:29 msgid "Aspect Ratio" msgstr "Ratio d’aspect" -#: lutris/runners/redream.py:35 +#: lutris/runners/redream.py:30 msgid "4:3" msgstr "4:3" -#: lutris/runners/redream.py:41 +#: lutris/runners/redream.py:36 msgid "Region" msgstr "Région" -#: lutris/runners/redream.py:42 +#: lutris/runners/redream.py:37 msgid "USA" msgstr "États-Unis" -#: lutris/runners/redream.py:42 +#: lutris/runners/redream.py:37 msgid "Europe" msgstr "Europe" -#: lutris/runners/redream.py:42 +#: lutris/runners/redream.py:37 msgid "Japan" msgstr "Japon" -#: lutris/runners/redream.py:48 +#: lutris/runners/redream.py:43 msgid "System Language" msgstr "Langage système" -#: lutris/runners/redream.py:50 +#: lutris/runners/redream.py:45 lutris/sysoptions.py:32 msgid "English" msgstr "Anglais" -#: lutris/runners/redream.py:51 +#: lutris/runners/redream.py:46 lutris/sysoptions.py:36 msgid "German" msgstr "Allemand" -#: lutris/runners/redream.py:52 +#: lutris/runners/redream.py:47 lutris/sysoptions.py:34 msgid "French" msgstr "Français" -#: lutris/runners/redream.py:53 +#: lutris/runners/redream.py:48 lutris/sysoptions.py:44 msgid "Spanish" msgstr "Espagnol" -#: lutris/runners/redream.py:54 +#: lutris/runners/redream.py:49 lutris/sysoptions.py:38 msgid "Italian" msgstr "Italien" -#: lutris/runners/redream.py:64 +#: lutris/runners/redream.py:59 msgid "NTSC" msgstr "NTSC" -#: lutris/runners/redream.py:65 +#: lutris/runners/redream.py:60 msgid "PAL" msgstr "PAL" -#: lutris/runners/redream.py:66 +#: lutris/runners/redream.py:61 msgid "PAL-M (Brazil)" msgstr "PAL-M (Brésil)" -#: lutris/runners/redream.py:67 +#: lutris/runners/redream.py:62 msgid "PAL-N (Argentina, Paraguay, Uruguay)" msgstr "PAL-N (Argentine, Paraguay, Uruguay)" -#: lutris/runners/redream.py:74 +#: lutris/runners/redream.py:69 msgid "Time Sync" msgstr "Synchronisation du temps" -#: lutris/runners/redream.py:76 +#: lutris/runners/redream.py:71 msgid "Audio and video" msgstr "Audio et vidéo" -#: lutris/runners/redream.py:78 +#: lutris/runners/redream.py:73 msgid "Video" msgstr "Vidéo" -#: lutris/runners/redream.py:87 +#: lutris/runners/redream.py:82 msgid "Internal Video Resolution Scale" msgstr "Échelle de résolution vidéo interne" -#: lutris/runners/redream.py:100 +#: lutris/runners/redream.py:95 msgid "Only available in premium version." msgstr "Disponible seulement dans la version premium." -#: lutris/runners/redream.py:107 +#: lutris/runners/redream.py:102 msgid "Do you want to select a premium license file?" msgstr "Voulez-vous sélectionner un fichier de licence premium ?" -#: lutris/runners/redream.py:108 lutris/runners/redream.py:109 +#: lutris/runners/redream.py:103 lutris/runners/redream.py:104 msgid "Use premium version?" msgstr "Utiliser une version premium ?" @@ -4533,54 +5752,70 @@ msgstr "" "Les données du jeu.\n" "Formats supportés : ISO, CDI" -#: lutris/runners/reicast.py:47 lutris/runners/reicast.py:55 -#: lutris/runners/reicast.py:63 lutris/runners/reicast.py:71 +#: lutris/runners/reicast.py:46 lutris/runners/reicast.py:54 +#: lutris/runners/reicast.py:62 lutris/runners/reicast.py:70 msgid "Gamepads" msgstr "Manettes" -#: lutris/runners/reicast.py:48 +#: lutris/runners/reicast.py:47 msgid "Gamepad 1" msgstr "Manette 1" -#: lutris/runners/reicast.py:56 +#: lutris/runners/reicast.py:55 msgid "Gamepad 2" msgstr "Manette 2" -#: lutris/runners/reicast.py:64 +#: lutris/runners/reicast.py:63 msgid "Gamepad 3" msgstr "Manette 3" -#: lutris/runners/reicast.py:72 +#: lutris/runners/reicast.py:71 msgid "Gamepad 4" msgstr "Manette 4" -#: lutris/runners/rpcs3.py:10 +#: lutris/runners/rpcs3.py:12 msgid "RPCS3" msgstr "RPCS3" -#: lutris/runners/rpcs3.py:11 +#: lutris/runners/rpcs3.py:13 msgid "PlayStation 3 emulator" msgstr "Émulateur Sony PlayStation 3" -#: lutris/runners/rpcs3.py:12 +#: lutris/runners/rpcs3.py:14 msgid "Sony PlayStation 3" msgstr "Sony PlayStation 3" -#: lutris/runners/rpcs3.py:21 +#: lutris/runners/rpcs3.py:23 msgid "Path to EBOOT.BIN" msgstr "Chemin vers EBOOT.BIN" -#: lutris/runners/runner.py:158 +#: lutris/runners/runner.py:162 msgid "Custom executable for the runner" msgstr "Exécutable personnalisé" -#. The 'file' sort of gameplay_info cannot be made to use a configuration -#: lutris/runners/runner.py:281 -msgid "The runner could not find a command to apply the configuration to." +#: lutris/runners/runner.py:169 +msgid "Side Panel" +msgstr "Panneau de gauche" + +#: lutris/runners/runner.py:172 +msgid "Visible in Side Panel" +msgstr "Visible dans le panneau de gauche" + +#: lutris/runners/runner.py:176 +msgid "" +"Show this runner in the side panel if it is installed or available through " +"Flatpak." msgstr "" -"L’exécuteur n'a pas pu trouver une commande pour appliquer la configuration." +"Montrer cet exécuteur dans le panneau de gauche si installé / disponible en " +"tant que Flatpak." + +#: lutris/runners/runner.py:191 lutris/runners/runner.py:200 +#: lutris/runners/vice.py:115 lutris/util/system.py:261 +#, python-format +msgid "The executable '%s' could not be found." +msgstr "L\"exécutable \"%s\" n'a pas pu être trouvé." -#: lutris/runners/runner.py:397 +#: lutris/runners/runner.py:452 msgid "" "The required runner is not installed.\n" "Do you wish to install it now?" @@ -4588,76 +5823,89 @@ msgstr "" "L’exécuteur requis n’est pas installé.\n" "Souhaitez-vous l’installer maintenant ?" -#: lutris/runners/runner.py:399 +#: lutris/runners/runner.py:453 msgid "Required runner unavailable" msgstr "Exécuteur requis indisponible" -#: lutris/runners/runner.py:435 +#: lutris/runners/runner.py:508 +#, python-brace-format msgid "Failed to retrieve {} ({}) information" msgstr "Échec de la récupération des informations de {} ({})" -#: lutris/runners/runner.py:462 +#: lutris/runners/runner.py:513 +#, python-format +msgid "The '%s' version of the '%s' runner can't be downloaded." +msgstr "La version \"%s\" de l'exécuteur \"%s\" ne peut être téléchargée." + +#: lutris/runners/runner.py:516 +#, python-format +msgid "The the '%s' runner can't be downloaded." +msgstr "L\"exécuteur \"%s\" ne peut être téléchargé." + +#: lutris/runners/runner.py:545 +#, python-brace-format msgid "Failed to extract {}" msgstr "Échec de l'extraction de {}" -#: lutris/runners/runner.py:467 +#: lutris/runners/runner.py:550 +#, python-brace-format msgid "Failed to extract {}: {}" msgstr "Échec de l'extraction de {}: {}" -#: lutris/runners/ryujinx.py:12 +#: lutris/runners/ryujinx.py:13 msgid "Ryujinx" msgstr "Ryujinx" -#: lutris/runners/ryujinx.py:13 lutris/runners/yuzu.py:13 +#: lutris/runners/ryujinx.py:14 lutris/runners/yuzu.py:14 msgid "Nintendo Switch" msgstr "Nintendo Switch" -#: lutris/runners/ryujinx.py:14 lutris/runners/yuzu.py:14 +#: lutris/runners/ryujinx.py:15 lutris/runners/yuzu.py:15 msgid "Nintendo Switch emulator" msgstr "Émulateur Nintendo Switch" -#: lutris/runners/ryujinx.py:24 +#: lutris/runners/ryujinx.py:25 msgid "NSP file" msgstr "Fichier NSP" -#: lutris/runners/ryujinx.py:31 lutris/runners/yuzu.py:29 +#: lutris/runners/ryujinx.py:32 lutris/runners/yuzu.py:30 msgid "Encryption keys" msgstr "Clés de chiffrement" -#: lutris/runners/ryujinx.py:33 lutris/runners/yuzu.py:31 +#: lutris/runners/ryujinx.py:34 lutris/runners/yuzu.py:32 msgid "File containing the encryption keys." msgstr "Fichier contenant les clés de chiffrement" -#: lutris/runners/ryujinx.py:36 lutris/runners/yuzu.py:34 +#: lutris/runners/ryujinx.py:38 lutris/runners/yuzu.py:36 msgid "Title keys" msgstr "Clés du titre" -#: lutris/runners/ryujinx.py:38 lutris/runners/yuzu.py:36 +#: lutris/runners/ryujinx.py:40 lutris/runners/yuzu.py:38 msgid "File containing the title keys." msgstr "Fichier contenant les clés du titre." -#: lutris/runners/scummvm.py:28 +#: lutris/runners/scummvm.py:32 msgid "Warning Scalers may not work with OpenGL rendering." msgstr "" "Avertissement Les scalers peuvent ne pas fonctionner avec le rendu " "OpenGL." -#: lutris/runners/scummvm.py:40 +#: lutris/runners/scummvm.py:45 #, python-format msgid "Warning The '%s' scaler does not work with a scale factor of %s." msgstr "" -"Avertissement Le scaler '%s' ne fonctionne pas avec un facteur " +"Avertissement Le scaler \"%s\" ne fonctionne pas avec un facteur " "d'échelle de %s." -#: lutris/runners/scummvm.py:47 +#: lutris/runners/scummvm.py:54 msgid "Engine for point-and-click games." msgstr "Moteur pour les jeux de type pointer-et-cliquer." -#: lutris/runners/scummvm.py:48 lutris/services/scummvm.py:10 +#: lutris/runners/scummvm.py:55 lutris/services/scummvm.py:29 msgid "ScummVM" msgstr "ScummVM" -#: lutris/runners/scummvm.py:57 +#: lutris/runners/scummvm.py:61 msgid "Game identifier" msgstr "Identifiant du jeu" @@ -4665,15 +5913,15 @@ msgstr "Identifiant du jeu" msgid "Game files location" msgstr "Emplacement des fichiers du jeu" -#: lutris/runners/scummvm.py:122 +#: lutris/runners/scummvm.py:119 msgid "Enable subtitles" msgstr "Activer les sous-titres" -#: lutris/runners/scummvm.py:130 +#: lutris/runners/scummvm.py:127 msgid "Aspect ratio correction" msgstr "Correction du ratio d’aspect" -#: lutris/runners/scummvm.py:134 +#: lutris/runners/scummvm.py:131 msgid "" "Most games supported by ScummVM were made for VGA display modes using " "rectangular pixels. Activating this option for these games will preserve the " @@ -4684,11 +5932,23 @@ msgstr "" "option pour ces jeux, vous préserverez le rapport d’aspect 4:3 pour lequel " "ils ont été conçus." -#: lutris/runners/scummvm.py:166 +#: lutris/runners/scummvm.py:140 +msgid "Graphic scaler" +msgstr "Échelleur graphique" + +#: lutris/runners/scummvm.py:157 +msgid "" +"The algorithm used to scale up the game's base resolution, resulting in " +"different visual styles. " +msgstr "" +"L’algorithme utilisé pour mettre la résolution de base du jeu à l’échelle, " +"résultat en différents styles visuels. " + +#: lutris/runners/scummvm.py:163 msgid "Scale factor" msgstr "Facteur d'échelle" -#: lutris/runners/scummvm.py:177 +#: lutris/runners/scummvm.py:174 msgid "" "Changes the resolution of the game. For example, a 2x scale will take a " "320x200 resolution game and scale it up to 640x400. " @@ -4696,111 +5956,111 @@ msgstr "" "Modifie la résolution du jeu. Par exemple, une échelle 2x redimensionnera la " "résolution d'un jeu 320x200 en 640x400." -#: lutris/runners/scummvm.py:185 +#: lutris/runners/scummvm.py:183 msgid "Renderer" msgstr "Mode de rendu" -#: lutris/runners/scummvm.py:190 +#: lutris/runners/scummvm.py:188 msgid "OpenGL" msgstr "" -#: lutris/runners/scummvm.py:191 +#: lutris/runners/scummvm.py:189 msgid "OpenGL (with shaders)" msgstr "OpenGL (avec shaders)" -#: lutris/runners/scummvm.py:195 +#: lutris/runners/scummvm.py:193 msgid "Changes the rendering method used for 3D games." msgstr "Modifie la méthode de rendu utilisée pour les jeux 3D." -#: lutris/runners/scummvm.py:200 +#: lutris/runners/scummvm.py:198 msgid "Render mode" msgstr "Mode de rendu" -#: lutris/runners/scummvm.py:204 +#: lutris/runners/scummvm.py:202 msgid "Hercules (Green)" -msgstr "" +msgstr "Hercule (vert)" -#: lutris/runners/scummvm.py:205 +#: lutris/runners/scummvm.py:203 msgid "Hercules (Amber)" -msgstr "" +msgstr "Hercule (ambre)" -#: lutris/runners/scummvm.py:206 +#: lutris/runners/scummvm.py:204 msgid "CGA" msgstr "" -#: lutris/runners/scummvm.py:207 +#: lutris/runners/scummvm.py:205 msgid "EGA" msgstr "" -#: lutris/runners/scummvm.py:208 +#: lutris/runners/scummvm.py:206 msgid "VGA" msgstr "" -#: lutris/runners/scummvm.py:209 +#: lutris/runners/scummvm.py:207 msgid "Amiga" msgstr "Amiga 500" -#: lutris/runners/scummvm.py:210 +#: lutris/runners/scummvm.py:208 msgid "FM Towns" msgstr "" -#: lutris/runners/scummvm.py:211 +#: lutris/runners/scummvm.py:209 msgid "PC-9821" msgstr "" -#: lutris/runners/scummvm.py:212 +#: lutris/runners/scummvm.py:210 msgid "PC-9801" msgstr "" -#: lutris/runners/scummvm.py:213 +#: lutris/runners/scummvm.py:211 msgid "Apple IIgs" msgstr "" -#: lutris/runners/scummvm.py:215 +#: lutris/runners/scummvm.py:213 msgid "Macintosh" msgstr "" -#: lutris/runners/scummvm.py:219 +#: lutris/runners/scummvm.py:217 msgid "" "Changes the graphics hardware the game will target, if the game supports " "this." msgstr "Modifie le matériel graphique ciblé par le jeu, si pris en charge." -#: lutris/runners/scummvm.py:224 +#: lutris/runners/scummvm.py:222 msgid "Stretch mode" -msgstr "Étiré" +msgstr "Mode d'étirement" -#: lutris/runners/scummvm.py:228 +#: lutris/runners/scummvm.py:226 msgid "Center" msgstr "Centrer" -#: lutris/runners/scummvm.py:229 +#: lutris/runners/scummvm.py:227 msgid "Pixel Perfect" -msgstr "" +msgstr "Pixel parfait" -#: lutris/runners/scummvm.py:230 +#: lutris/runners/scummvm.py:228 msgid "Even Pixels" -msgstr "" +msgstr "Pixels égaux" -#: lutris/runners/scummvm.py:232 +#: lutris/runners/scummvm.py:230 msgid "Fit" msgstr "Ajuster" -#: lutris/runners/scummvm.py:233 +#: lutris/runners/scummvm.py:231 msgid "Fit (force aspect ratio)" msgstr "Préserver le ratio d’aspect" -#: lutris/runners/scummvm.py:237 +#: lutris/runners/scummvm.py:235 msgid "Changes how the game is placed when the window is resized." msgstr "" "Change la manière dont le jeu est placé lorsque la fenêtre est " "redimensionnée." -#: lutris/runners/scummvm.py:242 +#: lutris/runners/scummvm.py:240 msgid "Filtering" msgstr "Filtrage" -#: lutris/runners/scummvm.py:244 +#: lutris/runners/scummvm.py:243 msgid "" "Uses bilinear interpolation instead of nearest neighbor resampling for the " "aspect ratio correction and stretch mode." @@ -4816,7 +6076,7 @@ msgstr "Répertoire de données" msgid "Defaults to share/scummvm if unspecified." msgstr "La valeur par défaut est share/scummvm si elle n'est pas spécifiée." -#: lutris/runners/scummvm.py:260 +#: lutris/runners/scummvm.py:261 msgid "" "Specifes platform of game. Allowed values: 2gs, 3do, acorn, amiga, atari, " "c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" @@ -4824,22 +6084,22 @@ msgstr "" "Spécifie la plateforme du jeu. Valeurs autorisées : 2gs, 3do, acorn, amiga, " "atari, c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" -#: lutris/runners/scummvm.py:268 +#: lutris/runners/scummvm.py:270 msgid "Enables joystick input (default: 0 = first joystick)" msgstr "Active l'entrée joystick (par défaut : 0 = premier joystick)" -#: lutris/runners/scummvm.py:275 +#: lutris/runners/scummvm.py:277 msgid "" "Selects language (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" msgstr "" "Sélectionnez un langage (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, " "cz)" -#: lutris/runners/scummvm.py:281 +#: lutris/runners/scummvm.py:283 msgid "Engine speed" msgstr "Vitesse du moteur" -#: lutris/runners/scummvm.py:282 +#: lutris/runners/scummvm.py:285 msgid "" "Sets frames per second limit (0 - 100) for Grim Fandango or Escape from " "Monkey Island (default: 60)." @@ -4847,55 +6107,55 @@ msgstr "" "Définit la limite d’images par seconde (0 - 100) pour Grim Fandango ou " "Escape from Monkey Island (par défaut : 60)." -#: lutris/runners/scummvm.py:289 +#: lutris/runners/scummvm.py:292 msgid "Talk speed" msgstr "Vitesse de conversation" -#: lutris/runners/scummvm.py:290 +#: lutris/runners/scummvm.py:293 msgid "Sets talk speed for games (default: 60)" msgstr "Définit la vitesse de conversation pour les jeux (par défaut : 60)" -#: lutris/runners/scummvm.py:297 +#: lutris/runners/scummvm.py:300 msgid "Music tempo" msgstr "Tempo de la musique" -#: lutris/runners/scummvm.py:298 +#: lutris/runners/scummvm.py:301 msgid "Sets music tempo (in percent, 50-200) for SCUMM games (default: 100)" msgstr "" "Définit le tempo de la musique (en pourcentage, 50-200) pour les jeux SCUMM " "(par défaut : 100)" -#: lutris/runners/scummvm.py:305 +#: lutris/runners/scummvm.py:308 msgid "Digital iMuse tempo" msgstr "Tempo de Digital iMuse" -#: lutris/runners/scummvm.py:306 +#: lutris/runners/scummvm.py:309 msgid "Sets internal Digital iMuse tempo (10 - 100) per second (default: 10)" msgstr "" "Règle le tempo interne de Digital iMuse (10 - 100) par seconde (par défaut : " "10)" -#: lutris/runners/scummvm.py:312 +#: lutris/runners/scummvm.py:315 msgid "Music driver" msgstr "Pilote de musique" -#: lutris/runners/scummvm.py:328 +#: lutris/runners/scummvm.py:331 msgid "Specifies the device ScummVM uses to output audio." msgstr "Spécifie au périphérique que ScummVM utilise pour la sortie audio." -#: lutris/runners/scummvm.py:334 +#: lutris/runners/scummvm.py:337 msgid "Output rate" msgstr "Fréquence de sortie" -#: lutris/runners/scummvm.py:341 +#: lutris/runners/scummvm.py:344 msgid "Selects output sample rate in Hz." msgstr "Sélectionne la fréquence d'échantillonnage de sortie en Hz." -#: lutris/runners/scummvm.py:347 +#: lutris/runners/scummvm.py:350 msgid "OPL driver" msgstr "Pilote OPL" -#: lutris/runners/scummvm.py:359 +#: lutris/runners/scummvm.py:363 msgid "" "Chooses which emulator is used by ScummVM when the AdLib emulator is chosen " "as the Preferred device." @@ -4903,51 +6163,51 @@ msgstr "" "Choisit quel émulateur est utilisé par ScummVM lorsque l’émulateur AdLib est " "choisi comme périphérique préféré." -#: lutris/runners/scummvm.py:367 +#: lutris/runners/scummvm.py:371 msgid "Music volume" msgstr "Volume de la musique" -#: lutris/runners/scummvm.py:368 +#: lutris/runners/scummvm.py:372 msgid "Sets the music volume, 0-255 (default: 192)" msgstr "Définit le volume de la musique, 0-255 (par défaut : 192)" -#: lutris/runners/scummvm.py:376 +#: lutris/runners/scummvm.py:380 msgid "Sets the sfx volume, 0-255 (default: 192)" msgstr "Définit le volume sfx, 0-255 (par défaut : 192)" -#: lutris/runners/scummvm.py:383 +#: lutris/runners/scummvm.py:387 msgid "Speech volume" msgstr "Volume de parole" -#: lutris/runners/scummvm.py:384 +#: lutris/runners/scummvm.py:388 msgid "Sets the speech volume, 0-255 (default: 192)" msgstr "Définit le volume de parole, 0-255 (par défaut : 192)" -#: lutris/runners/scummvm.py:391 +#: lutris/runners/scummvm.py:395 msgid "MIDI gain" msgstr "Gain MIDI" -#: lutris/runners/scummvm.py:392 +#: lutris/runners/scummvm.py:396 msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" msgstr "Règle le gain pour la lecture MIDI. 0-1000 (par défaut : 100)" -#: lutris/runners/scummvm.py:400 +#: lutris/runners/scummvm.py:404 msgid "Specifies the path to a soundfont file." msgstr "Spécifie le chemin d’accès à un fichier soundfont." -#: lutris/runners/scummvm.py:406 +#: lutris/runners/scummvm.py:410 msgid "Mixed AdLib/MIDI mode" msgstr "Mode AdLib / Midi mixé" -#: lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:413 msgid "Combines MIDI music with AdLib sound effects." msgstr "Combine de la musique MIDI avec des effets sonores AdLib." -#: lutris/runners/scummvm.py:415 +#: lutris/runners/scummvm.py:419 msgid "True Roland MT-32" msgstr "True Roland MT-32" -#: lutris/runners/scummvm.py:418 +#: lutris/runners/scummvm.py:423 msgid "" "Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, " "CM-32L, CM-500 or other MT-32 device." @@ -4955,11 +6215,11 @@ msgstr "" "Indique à ScummVM que le dispositif MIDI est un véritable Roland MT-32, LAPC-" "I, CM-64, CM-32L, CM-500 ou autre dispositif MT-32." -#: lutris/runners/scummvm.py:425 +#: lutris/runners/scummvm.py:431 msgid "Enable Roland GS" msgstr "Activer Roland GS" -#: lutris/runners/scummvm.py:428 +#: lutris/runners/scummvm.py:435 msgid "" "Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, " "such as an SC-55, SC-88 or SC-8820." @@ -4967,63 +6227,59 @@ msgstr "" "Indique à ScummVM que le dispositif MIDI est un appareil GS qui a une carte " "MT-32, comme un SC-55, SC-88 ou SC-8820." -#: lutris/runners/scummvm.py:435 +#: lutris/runners/scummvm.py:443 msgid "Use alternate intro" msgstr "Utiliser une introduction alternative" -#: lutris/runners/scummvm.py:436 +#: lutris/runners/scummvm.py:444 msgid "Uses alternative intro for CD versions" msgstr "Utilise une intro alternative pour les versions CD" -#: lutris/runners/scummvm.py:442 +#: lutris/runners/scummvm.py:450 msgid "Copy protection" msgstr "Protection contre les copies" -#: lutris/runners/scummvm.py:443 +#: lutris/runners/scummvm.py:451 msgid "Enables copy protection" msgstr "Active la protection contre les copies" -#: lutris/runners/scummvm.py:449 +#: lutris/runners/scummvm.py:457 msgid "Demo mode" msgstr "Mode Démo" -#: lutris/runners/scummvm.py:450 +#: lutris/runners/scummvm.py:458 msgid "Starts demo mode of Maniac Mansion or The 7th Guest" msgstr "Lance le mode démo de Maniac Mansion ou The 7th Guest." -#: lutris/runners/scummvm.py:456 lutris/runners/scummvm.py:464 -msgid "Debugging" -msgstr "Débogage" - -#: lutris/runners/scummvm.py:457 +#: lutris/runners/scummvm.py:465 msgid "Debug level" msgstr "Niveau de débogage" -#: lutris/runners/scummvm.py:458 +#: lutris/runners/scummvm.py:466 msgid "Sets debug verbosity level" msgstr "Définit le niveau de verbosité du débogage" -#: lutris/runners/scummvm.py:465 +#: lutris/runners/scummvm.py:473 msgid "Debug flags" msgstr "Balises de débogage" -#: lutris/runners/scummvm.py:466 +#: lutris/runners/scummvm.py:474 msgid "Enables engine specific debug flags" msgstr "Active les balises de débogage spécifiques au moteur" -#: lutris/runners/snes9x.py:17 +#: lutris/runners/snes9x.py:18 msgid "Super Nintendo emulator" msgstr "Émulateur Super Nintendo" -#: lutris/runners/snes9x.py:18 +#: lutris/runners/snes9x.py:19 msgid "Snes9x" msgstr "Snes9x" -#: lutris/runners/snes9x.py:45 +#: lutris/runners/snes9x.py:40 msgid "Maintain aspect ratio (4:3)" msgstr "Maintenir le ratio d’aspect (4:3)" -#: lutris/runners/snes9x.py:48 +#: lutris/runners/snes9x.py:43 msgid "" "Super Nintendo games were made for 4:3 screens with rectangular pixels, but " "modern screens have square pixels, which results in a vertically squeezed " @@ -5034,18 +6290,19 @@ msgstr "" "une image écrasée verticalement. Cette option corrige ce problème en " "affichant des pixels rectangulaires." -#: lutris/runners/snes9x.py:58 +#: lutris/runners/snes9x.py:53 msgid "Sound driver" -msgstr "Pilote de son" +msgstr "Pilote audio" -#: lutris/runners/steam.py:28 +#: lutris/runners/steam.py:29 msgid "Runs Steam for Linux games" msgstr "Lance Steam pour les jeux Linux" -#: lutris/runners/steam.py:39 +#: lutris/runners/steam.py:40 msgid "" -"The application ID can be retrieved from the game's page at steampowered." -"com. Example: 235320 is the app ID for Original War in: \n" +"The application ID can be retrieved from the game's page at " +"steampowered.com. Example: 235320 is the app ID for Original War " +"in: \n" "http://store.steampowered.com/app/235320/" msgstr "" "L’identifiant de l’application peut être récupéré depuis la page du jeu sur " @@ -5053,7 +6310,7 @@ msgstr "" "Original War dans : \n" "http://store.steampowered.com/app/235320/" -#: lutris/runners/steam.py:50 +#: lutris/runners/steam.py:51 msgid "" "Command line arguments used when launching the game.\n" "Ignored when Steam Big Picture mode is enabled." @@ -5065,26 +6322,26 @@ msgstr "" msgid "DRM free mode (Do not launch Steam)" msgstr "Mode sans DRM (Ne pas lancer Steam)" -#: lutris/runners/steam.py:61 +#: lutris/runners/steam.py:60 msgid "" "Run the game directly without Steam, requires the game binary path to be set" msgstr "" "Lancer le jeu directement sans Steam, nécessite de définir le chemin du " "binaire du jeu." -#: lutris/runners/steam.py:67 +#: lutris/runners/steam.py:65 msgid "Game binary path" msgstr "Chemin du binaire du jeu" -#: lutris/runners/steam.py:69 +#: lutris/runners/steam.py:67 msgid "Path to the game executable (Required by DRM free mode)" msgstr "Chemin vers l'exécutable du jeu (requis par le mode sans DRM)" -#: lutris/runners/steam.py:75 +#: lutris/runners/steam.py:73 msgid "Start Steam in Big Picture mode" msgstr "Lancer Steam en mode Big Picture" -#: lutris/runners/steam.py:79 +#: lutris/runners/steam.py:77 msgid "" "Launches Steam in Big Picture mode.\n" "Only works if Steam is not running or already running in Big Picture mode.\n" @@ -5095,74 +6352,65 @@ msgstr "" "Picture.\n" "Utile lorsque vous jouez avec une manette Steam." -#: lutris/runners/steam.py:87 -msgid "Start Steam with LSI" -msgstr "Lancer Steam avec LSI" - -#: lutris/runners/steam.py:91 -msgid "" -"Launches steam with LSI patches enabled. Make sure Lutris Runtime is " -"disabled and you have LSI installed. https://github.com/solus-project/linux-" -"steam-integration" -msgstr "" -"Lance steam avec les correctifs LSI activés. Assurez-vous que Lutris Runtime " -"est désactivé et que vous avez installé LSI. https://github.com/solus-" -"project/linux-steam-integration" - -#: lutris/runners/steam.py:102 +#: lutris/runners/steam.py:88 msgid "Extra command line arguments used when launching Steam" msgstr "" "Arguments de ligne de commande supplémentaires utilisés lors du lancement de " "Steam" -#: lutris/runners/steam.py:112 -msgid "Remove game data (through Steam)" -msgstr "Supprimer les données du jeu (à travers Steam)" +#: lutris/runners/steam.py:170 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "L\"installation de Steam pour Linux n'es pas gérée par Lutris." -#: lutris/runners/steam.py:191 +#: lutris/runners/steam.py:172 msgid "" "Steam for Linux installation is not handled by Lutris.\n" "Please go to http://steampowered.com " "or install Steam with the package provided by your distribution." msgstr "" +"L\"installation de Steam pour Linux n'es pas gérée par Lutris.\n" +"Veuillez visiter http://" +"steampowered.com ou installer Steam à l'aide du paquet fourni par votre " +"distribution." -#: lutris/runners/steam.py:204 +#: lutris/runners/steam.py:186 msgid "Could not find Steam path, is Steam installed?" msgstr "" +"Le chemin de Steam n'a pas été trouvé, est-ce que Steam est bien installé ?" -#: lutris/runners/vice.py:13 +#: lutris/runners/vice.py:14 msgid "Commodore Emulator" msgstr "Émulateur Commodore" -#: lutris/runners/vice.py:14 +#: lutris/runners/vice.py:15 msgid "Vice" msgstr "Vice" -#: lutris/runners/vice.py:17 +#: lutris/runners/vice.py:18 msgid "Commodore 64" msgstr "Commodore 64" -#: lutris/runners/vice.py:18 +#: lutris/runners/vice.py:19 msgid "Commodore 128" msgstr "Commodore 128" -#: lutris/runners/vice.py:19 +#: lutris/runners/vice.py:20 msgid "Commodore VIC20" msgstr "Commodore VIC20" -#: lutris/runners/vice.py:20 +#: lutris/runners/vice.py:21 msgid "Commodore PET" msgstr "Commodore PET" -#: lutris/runners/vice.py:21 +#: lutris/runners/vice.py:22 msgid "Commodore Plus/4" msgstr "Commodore Plus/4" -#: lutris/runners/vice.py:22 +#: lutris/runners/vice.py:23 msgid "Commodore CBM II" msgstr "Commodore CBM II" -#: lutris/runners/vice.py:41 +#: lutris/runners/vice.py:39 msgid "" "The game data, commonly called a ROM image.\n" "Supported formats: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, " @@ -5172,83 +6420,141 @@ msgstr "" "Formats pris en charge : X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, " "D2M, D4M, T46, P00 et CRT." -#: lutris/runners/vice.py:52 +#: lutris/runners/vice.py:47 msgid "Use joysticks" msgstr "Utiliser les joysticks" -#: lutris/runners/vice.py:66 +#: lutris/runners/vice.py:59 msgid "Scale up display by 2" msgstr "Agrandissement de l'affichage par 2" -#: lutris/runners/vice.py:80 +#: lutris/runners/vice.py:73 msgid "Graphics renderer" msgstr "Moteur de rendu graphique" -#: lutris/runners/vice.py:87 +#: lutris/runners/vice.py:80 msgid "Enable sound emulation of disk drives" msgstr "Activer l'émulation sonore des disques" -#: lutris/runners/web.py:17 lutris/runners/web.py:19 +#: lutris/runners/vice.py:190 +msgid "No rom provided" +msgstr "Aucune ROM fournie" + +#: lutris/runners/vita3k.py:12 lutris/runners/vita3k.py:98 +msgid "The Vita App has no Title ID set" +msgstr "" + +#: lutris/runners/vita3k.py:18 +msgid "Vita3K" +msgstr "" + +#: lutris/runners/vita3k.py:19 +msgid "Sony PlayStation Vita" +msgstr "Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:20 +msgid "Sony PlayStation Vita emulator" +msgstr "Émulateur Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:29 +msgid "Title ID of Installed Application" +msgstr "" + +#: lutris/runners/vita3k.py:32 +msgid "" +"Title ID of installed application. Eg.\"PCSG00042\". User installed apps are " +"located in ux0:/app/<title-id>." +msgstr "" + +#: lutris/runners/vita3k.py:44 +msgid "Start the emulator in fullscreen mode." +msgstr "Démarrer l'émulateur en mode plein écran." + +#: lutris/runners/vita3k.py:49 +msgid "Config location" +msgstr "Emplacement de la config." + +#: lutris/runners/vita3k.py:52 +msgid "" +"Get a configuration file from a given location. If a filename is given, it " +"must end with \".yml\", otherwise it will be assumed to be a directory." +msgstr "" +"Récupérer une config. depuis un lieu choisi. Si un nom de fichier est écrit, " +"l'extension doit être du type \".yml', sinon un dossier sera présumé." + +#: lutris/runners/vita3k.py:58 +msgid "Load configuration file" +msgstr "Charger le fichier de configuration" + +#: lutris/runners/vita3k.py:61 +msgid "" +"If trues, informs the emualtor to load the config file from the \"Config " +"location\" option." +msgstr "" +"Si activé, demande à l'émulateur de charger la config. depuis le chemin " +"fourni dans \"Emplacement de la config.\"" + +#: lutris/runners/web.py:19 lutris/runners/web.py:21 msgid "Web" msgstr "Web" -#: lutris/runners/web.py:18 +#: lutris/runners/web.py:20 msgid "Runs web based games" msgstr "Exécute des jeux en ligne" -#: lutris/runners/web.py:24 +#: lutris/runners/web.py:26 msgid "Full URL or HTML file path" msgstr "URL complet ou chemin du fichier HTML" -#: lutris/runners/web.py:25 +#: lutris/runners/web.py:27 msgid "The full address of the game's web page or path to a HTML file." msgstr "" "L’adresse complète de la page web du jeu ou le chemin d’accès à un fichier " "HTML." -#: lutris/runners/web.py:31 +#: lutris/runners/web.py:33 msgid "Open in fullscreen" msgstr "Ouvrir en plein écran" -#: lutris/runners/web.py:34 +#: lutris/runners/web.py:36 msgid "Launch the game in fullscreen." msgstr "Lancer le jeu en plein écran." -#: lutris/runners/web.py:38 +#: lutris/runners/web.py:40 msgid "Open window maximized" msgstr "Ouvrir la fenêtre maximisée" -#: lutris/runners/web.py:41 +#: lutris/runners/web.py:43 msgid "Maximizes the window when game starts." msgstr "Maximise la fenêtre quand le jeu démarre." -#: lutris/runners/web.py:56 +#: lutris/runners/web.py:58 msgid "The initial size of the game window when not opened." msgstr "La teille initiale de la fenêtre du jeu quand non ouvert." -#: lutris/runners/web.py:60 +#: lutris/runners/web.py:62 msgid "Disable window resizing (disables fullscreen and maximize)" msgstr "" "Désactiver le redimensionnement de la fenêtre (désactive le plein écran et " "la maximisation)" -#: lutris/runners/web.py:63 +#: lutris/runners/web.py:65 msgid "You can't resize this window." msgstr "Vous ne pouvez pas redimensionner cette fenêtre." -#: lutris/runners/web.py:67 +#: lutris/runners/web.py:69 msgid "Borderless window" msgstr "Fenêtre sans bordures" -#: lutris/runners/web.py:70 +#: lutris/runners/web.py:72 msgid "The window has no borders/frame." msgstr "La fenêtre n'a pas de bordures / cadre." -#: lutris/runners/web.py:74 +#: lutris/runners/web.py:76 msgid "Disable menu bar and default shortcuts" msgstr "Désactiver la barre de menu et les raccourcis par défaut" -#: lutris/runners/web.py:77 +#: lutris/runners/web.py:79 msgid "" "This also disables default keyboard shortcuts, like copy/paste and " "fullscreen toggling." @@ -5256,19 +6562,19 @@ msgstr "" "Cela désactive également les raccourcis clavier par défaut, comme copier / " "coller et le basculement en plein écran." -#: lutris/runners/web.py:82 +#: lutris/runners/web.py:83 msgid "Disable page scrolling and hide scrollbars" msgstr "Désactiver le défilement des pages et masquer les barres de défilement" -#: lutris/runners/web.py:85 +#: lutris/runners/web.py:86 msgid "Disables scrolling on the page." msgstr "Désactiver le défilement sur la page." -#: lutris/runners/web.py:89 +#: lutris/runners/web.py:90 msgid "Hide mouse cursor" -msgstr "Cacher le curseur de la souris" +msgstr "Masquer le curseur de la souris" -#: lutris/runners/web.py:92 +#: lutris/runners/web.py:93 msgid "Prevents the mouse cursor from showing when hovering above the window." msgstr "" "Empêche l'affichage du curseur de la souris lors du survol de la fenêtre." @@ -5282,58 +6588,58 @@ msgid "" "Enable this option if you want clicked links to open inside the game window. " "By default all links open in your default web browser." msgstr "" -"Activez cette option si vous souhaitez que les liens cliqués s'ouvrent dans " -"la fenêtre du jeu. Par défaut, tous les liens s'ouvrent dans votre " +"Activez cette option si vous souhaitez que les liens cliqués s\"ouvrent dans " +"la fenêtre du jeu. Par défaut, tous les liens s\"ouvrent dans votre " "navigateur web par défaut." #: lutris/runners/web.py:107 msgid "Remove default margin & padding" -msgstr "Suppression de la marge et du padding par défaut de " +msgstr "Retirer les marges intérieur et extérieur par défaut de " #: lutris/runners/web.py:110 msgid "" "Sets margin and padding to zero on <html> and <body> elements." msgstr "" -"Met la marge et le padding à zéro sur les éléments <html> et <" -"body>." +"Met la marge et le padding à zéro sur les éléments <html> et " +"<body>." -#: lutris/runners/web.py:115 +#: lutris/runners/web.py:114 msgid "Enable Adobe Flash Player" msgstr "Activer Adobe Flash Player" -#: lutris/runners/web.py:118 +#: lutris/runners/web.py:117 msgid "Enable Adobe Flash Player." msgstr "Activer Adobe Flash Player." -#: lutris/runners/web.py:122 +#: lutris/runners/web.py:121 msgid "Custom User-Agent" msgstr "User-Agent personnalisé" -#: lutris/runners/web.py:125 +#: lutris/runners/web.py:124 msgid "Overrides the default User-Agent header used by the runner." -msgstr "Remplace l'en-tête User-Agent par défaut utilisé par l’exécuteur." +msgstr "Force l'en-tête User-Agent par défaut utilisé par l’exécuteur." -#: lutris/runners/web.py:130 +#: lutris/runners/web.py:129 msgid "Debug with Developer Tools" msgstr "Déboguer avec des Outils Développeur" -#: lutris/runners/web.py:133 +#: lutris/runners/web.py:132 msgid "Let's you debug the page." msgstr "Vous permet de déboguer la page." -#: lutris/runners/web.py:138 +#: lutris/runners/web.py:137 msgid "Open in web browser (old behavior)" msgstr "Ouvrir dans le navigateur web (ancien comportement)" -#: lutris/runners/web.py:141 +#: lutris/runners/web.py:140 msgid "Launch the game in a web browser." msgstr "Lancer le jeu dans un navigateur web." -#: lutris/runners/web.py:147 +#: lutris/runners/web.py:144 msgid "Custom web browser executable" msgstr "Exécutable de navigateur web personnalisé" -#: lutris/runners/web.py:151 +#: lutris/runners/web.py:147 msgid "" "Select the executable of a browser on your system.\n" "If left blank, Lutris will launch your default browser (xdg-open)." @@ -5341,11 +6647,11 @@ msgstr "" "Sélectionnez l’exécutable d'un navigateur sur votre système.\n" "S’il est laissé vide, Lutris lancera votre navigateur par défaut (xdg-open)." -#: lutris/runners/web.py:159 +#: lutris/runners/web.py:153 msgid "Web browser arguments" msgstr "Arguments du navigateur Web" -#: lutris/runners/web.py:165 +#: lutris/runners/web.py:157 msgid "" "Command line arguments to pass to the executable.\n" "$GAME or $URL inserts the game url.\n" @@ -5357,7 +6663,7 @@ msgstr "" "\n" "Pour le mode application Chrome / Chromium, utilisez : --app=\"$GAME\"" -#: lutris/runners/web.py:186 +#: lutris/runners/web.py:176 msgid "" "The web address is empty, \n" "verify the game's configuration." @@ -5365,7 +6671,7 @@ msgstr "" "L’adresse web est vide,\n" "Vérifiez la configuration du jeu." -#: lutris/runners/web.py:197 +#: lutris/runners/web.py:183 #, python-format msgid "" "The file %s does not exist, \n" @@ -5374,7 +6680,11 @@ msgstr "" "Le fichier %s n’existe pas,\n" "Vérifiez la configuration du jeu." -#: lutris/runners/wine.py:44 +#: lutris/runners/wine.py:78 lutris/runners/wine.py:775 +msgid "Proton is not compatible with 32-bit prefixes." +msgstr "Proton n'est pas compatible avec les préfixes 32-bits." + +#: lutris/runners/wine.py:92 msgid "" "Warning Some Wine configuration options cannot be applied, if no " "prefix can be found." @@ -5382,63 +6692,27 @@ msgstr "" "Attention Certaines options de configuration de Wine ne peuvent pas " "être appliquées si aucun préfixe n'est trouvé." -#: lutris/runners/wine.py:50 +#: lutris/runners/wine.py:99 #, python-format msgid "" "Warning Your NVIDIA driver is outdated.\n" "You are currently running driver %s which does not fully support all " -"features for Vulkan and DXVK games.\n" -"Please upgrade your driver as described in our installation " -"guide" +"features for Vulkan and DXVK games." msgstr "" "Avertissement Votre pilote NVIDIA est obsolète.\n" "Vous utilisez actuellement le pilote %s qui ne supporte pas totalement " -"toutes les fonctionnalités pour les jeux Vulkan et DXVK.\n" -"Merci de mettre à jour votre pilote comme décrit dans notre guide d’installation" - -#: lutris/runners/wine.py:68 -#, python-format -msgid "" -"Error Missing Vulkan libraries\n" -"Lutris was unable to detect Vulkan support for the %s architecture.\n" -"This will prevent many games and programs from working.\n" -"To install it, please use the following guide: Installing " -"Graphics Drivers" -msgstr "" -"Erreur Bibliothèques Vulkan manquantes\n" -"Lutris n'a pas pu détecter la prise en charge de l’architecture %s par " -"Vulkan.\n" -"Cela empêchera beaucoup de jeux et de programmes de fonctionner.\n" -"Pour l’installer, merci d’utiliser le guide suivant : Installer " -"des Pilotes Graphiques" - -#: lutris/runners/wine.py:77 -msgid "" -"Error Vulkan is not installed or is not supported by your system, so " -"DXVK is not available.\n" -"If you have compatible hardware, please follow the installation procedures " -"as described in\n" -"How-to:-" -"DXVK (https://github.com/lutris/docs/blob/master/HowToDXVK.md)" -msgstr "" -"Erreur Vulkan n'est pas installé ou n'est pas pris en charge par " -"votre système, donc DXVK n'est pas disponible.\n" -"Si vous avez un matériel compatible, merci de suivre les procédures " -"d'installation comme décrit dans\n" -"Comment : -" -"DXVK (https://github.com/lutris/docs/blob/master/HowToDXVK.md)" +"toutes les fonctionnalités pour les jeux Vulkan et DXVK." -#: lutris/runners/wine.py:89 +#: lutris/runners/wine.py:112 #, python-format msgid "" -"Error Vulkan is not installed or is not supported by your system, so " -"%s is not available." +"Error Vulkan is not installed or is not supported by your system, %s " +"is not available." msgstr "" "Erreur Vulkan n'est pas installé ou n'est pas supporté par votre " -"système" +"système, %s est indisponible." -#: lutris/runners/wine.py:101 +#: lutris/runners/wine.py:127 #, python-format msgid "" "Warning Lutris has detected that Vulkan API version %s is installed, " @@ -5447,122 +6721,141 @@ msgstr "" "Avertissement Lutris a détecté que la version %s de l'API Vulkan est " "installée, mais pour utiliser la dernière version DXVK, %s est requis." -#: lutris/runners/wine.py:112 +#: lutris/runners/wine.py:135 #, python-format msgid "" "Warning Lutris has detected that the best device available ('%s') " "supports Vulkan API %s, but to use the latest DXVK version, %s is required." msgstr "" "Avertissement Lutris a détecté que le meilleur dispositif disponible " -"('%s') prend en charge l'API Vulkan %s, mais pour utiliser la dernière " +"(\"%s\") prend en charge l'API Vulkan %s, mais pour utiliser la dernière " "version de DXVK, %s est requis." -#: lutris/runners/wine.py:149 -msgid "Warning The Wine build you have selected does not support Esync" -msgstr "" -"Avertissement La version de Wine que vous avez sélectionnée ne prend " -"pas en charge Esync." - -#: lutris/runners/wine.py:152 +#: lutris/runners/wine.py:151 msgid "" "Warning Your limits are not set correctly. Please increase them as " "described here:\n" "How-to-" "Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" msgstr "" -"Avertissement Vos limites ne sont pas définies correctement. Merci de " -"les augmenter comme décrit ici : Comment : -Esync (https://github.com/lutris/docs/" "blob/master/HowToEsync.md)" -#: lutris/runners/wine.py:166 -msgid "Warning The Wine build you have selected does not support Fsync." -msgstr "" -"Avertissement La version de Wine que vous avez sélectionnée ne prend " -"pas en charge Fsync." - -#: lutris/runners/wine.py:169 +#: lutris/runners/wine.py:162 msgid "Warning Your kernel is not patched for fsync." msgstr "" "Avertissement Votre noyau Linux n'est pas patché pour utiliser fsync." -#: lutris/runners/wine.py:175 +#: lutris/runners/wine.py:167 +msgid "Wine virtual desktop is no longer supported" +msgstr "" + +#: lutris/runners/wine.py:173 +msgid "Virtual desktops cannot be enabled in Proton or GE Wine versions." +msgstr "" +"Les bureaux virtuels ne peuvent pas être activés dans les versions Proton ou " +"GE de Wine." + +#: lutris/runners/wine.py:178 +msgid "Custom (select executable below)" +msgstr "Personnalisé (sélectionnez un exécutable ci-dessous)" + +#: lutris/runners/wine.py:180 +#, python-brace-format +msgid "WineHQ Devel ({})" +msgstr "WineHQ Devel ({})" + +#: lutris/runners/wine.py:181 +#, python-brace-format +msgid "WineHQ Staging ({})" +msgstr "WineHQ Staging ({})" + +#: lutris/runners/wine.py:182 +#, python-brace-format +msgid "Wine Development ({})" +msgstr "Wine Development ({})" + +#: lutris/runners/wine.py:183 +#, python-brace-format +msgid "System ({})" +msgstr "Système ({})" + +#: lutris/runners/wine.py:188 +msgid "GE-Proton (Latest)" +msgstr "GE-Proton (le + récent)" + +#: lutris/runners/wine.py:199 msgid "Runs Windows games" msgstr "Exécuter des jeux Windows" -#: lutris/runners/wine.py:176 +#: lutris/runners/wine.py:200 msgid "Wine" msgstr "Wine" -#: lutris/runners/wine.py:177 +#: lutris/runners/wine.py:201 msgid "Windows" msgstr "Windows" -#: lutris/runners/wine.py:186 +#: lutris/runners/wine.py:210 msgid "The game's main EXE file" msgstr "Le fichier EXE principal du jeu" -#: lutris/runners/wine.py:192 +#: lutris/runners/wine.py:216 msgid "Windows command line arguments used when launching the game" msgstr "" "Arguments de la ligne de commande Microsoft Windows utilisés lors du " "lancement du jeu" -#: lutris/runners/wine.py:208 +#: lutris/runners/wine.py:230 msgid "Wine prefix" msgstr "Chemin du préfixe Wine" -#: lutris/runners/wine.py:211 +#: lutris/runners/wine.py:233 msgid "" "The prefix used by Wine.\n" "It's a directory containing a set of files and folders making up a confined " "Windows environment." msgstr "" "Le préfixe utilisé par Wine.\n" -"Il s'agit d'un répertoire contenant un ensemble de fichiers et de dossiers " +"Il s\"agit d'un répertoire contenant un ensemble de fichiers et de dossiers " "constituant un environnement Windows confiné." -#: lutris/runners/wine.py:219 +#: lutris/runners/wine.py:241 msgid "Prefix architecture" -msgstr "Architecture du Préfixe" +msgstr "Architecture du préfixe" -#: lutris/runners/wine.py:220 +#: lutris/runners/wine.py:242 msgid "32-bit" msgstr "32 bits" -#: lutris/runners/wine.py:220 +#: lutris/runners/wine.py:242 msgid "64-bit" msgstr "64 bits" -#: lutris/runners/wine.py:222 +#: lutris/runners/wine.py:244 msgid "The architecture of the Windows environment" msgstr "L’architecture de l’environnement Windows" -#: lutris/runners/wine.py:253 -msgid "Custom (select executable below)" -msgstr "Personnalisé (sélectionnez un exécutable ci-dessous)" - -#: lutris/runners/wine.py:255 -msgid "WineHQ Devel ({})" -msgstr "WineHQ Devel ({})" - -#: lutris/runners/wine.py:256 -msgid "WineHQ Staging ({})" -msgstr "WineHQ Staging ({})" - -#: lutris/runners/wine.py:257 -msgid "Wine Development ({})" -msgstr "Wine Development ({})" +#: lutris/runners/wine.py:249 +msgid "Integrate system files in the prefix" +msgstr "Intégrer les fichiers systèmes dans le préfixe" -#: lutris/runners/wine.py:258 -msgid "System ({})" -msgstr "Système ({})" +#: lutris/runners/wine.py:253 +msgid "" +"Place 'Documents', 'Pictures', and similar files in your home folder, " +"instead of keeping them in the game's prefix. This includes some saved games." +msgstr "" +"Placer les fichiers de \"Documents\", \"Images\", etc; dans le dossier Home, " +"plutôt que les garder dans le préfixe du jeu. Cela inclut certaines " +"sauvegardes de jeux." -#: lutris/runners/wine.py:273 +#: lutris/runners/wine.py:262 msgid "Wine version" msgstr "Version de Wine" -#: lutris/runners/wine.py:278 +#: lutris/runners/wine.py:268 msgid "" "The version of Wine used to launch the game.\n" "Using the last version is generally recommended, but some games work better " @@ -5572,33 +6865,37 @@ msgstr "" "Il est généralement recommandé d'utiliser la dernière version, mais certains " "jeux fonctionnent mieux avec des versions plus anciennes." -#: lutris/runners/wine.py:285 +#: lutris/runners/wine.py:275 msgid "Custom Wine executable" msgstr "Exécutable Wine personnalisé" -#: lutris/runners/wine.py:288 +#: lutris/runners/wine.py:278 msgid "" "The Wine executable to be used if you have selected \"Custom\" as the Wine " "version." msgstr "" -"L'exécutable Wine à utiliser si vous avez sélectionné « Personnalisé » comme " -"version de Wine." +"L\"exécutable Wine à utiliser si vous avez sélectionné « Personnalisé » " +"comme version de Wine." -#: lutris/runners/wine.py:293 +#: lutris/runners/wine.py:282 msgid "Use system winetricks" msgstr "Utiliser winetricks système" -#: lutris/runners/wine.py:297 +#: lutris/runners/wine.py:286 msgid "Switch on to use /usr/bin/winetricks for winetricks." msgstr "" "Active l'utilisation de la version de winetricks installé sur votre " "distribution Linux" -#: lutris/runners/wine.py:302 +#: lutris/runners/wine.py:291 msgid "Enable DXVK" msgstr "Activer DXVK" -#: lutris/runners/wine.py:309 +#: lutris/runners/wine.py:295 +msgid "DXVK" +msgstr "" + +#: lutris/runners/wine.py:298 msgid "" "Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 " "applications by translating their calls to Vulkan." @@ -5606,19 +6903,19 @@ msgstr "" "Utiliser DXVK pour améliorer la compatibilité et les performances des " "applications Direct3D 11, 10 et 9 en traduisant leurs appels à Vulkan." -#: lutris/runners/wine.py:316 +#: lutris/runners/wine.py:306 msgid "DXVK version" msgstr "Version DXVK" -#: lutris/runners/wine.py:328 +#: lutris/runners/wine.py:319 msgid "Enable VKD3D" msgstr "Activer VKD3D" -#: lutris/runners/wine.py:330 +#: lutris/runners/wine.py:322 msgid "VKD3D" msgstr "" -#: lutris/runners/wine.py:334 +#: lutris/runners/wine.py:325 msgid "" "Use VKD3D to enable support for Direct3D 12 applications by translating " "their calls to Vulkan." @@ -5626,15 +6923,15 @@ msgstr "" "Utiliser VKD3D pour permettre la prise en charge des applications Direct3D " "12 en traduisant leurs appels à Vulkan." -#: lutris/runners/wine.py:340 +#: lutris/runners/wine.py:330 msgid "VKD3D version" msgstr "Version VKD3D" -#: lutris/runners/wine.py:350 +#: lutris/runners/wine.py:342 msgid "Enable D3D Extras" msgstr "Activer D3D Extras" -#: lutris/runners/wine.py:355 +#: lutris/runners/wine.py:347 msgid "" "Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed " "for proper functionality of DXVK with some games." @@ -5643,33 +6940,33 @@ msgstr "" "bibliothèques alternatives. Nécessaire pour le bon fonctionnement de DXVK " "avec certains jeux." -#: lutris/runners/wine.py:362 +#: lutris/runners/wine.py:354 msgid "D3D Extras version" -msgstr "Versions D3D Extras" +msgstr "Version D3D Extras" -#: lutris/runners/wine.py:371 +#: lutris/runners/wine.py:364 msgid "Enable DXVK-NVAPI / DLSS" msgstr "Activer DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:373 +#: lutris/runners/wine.py:366 msgid "DXVK-NVAPI / DLSS" msgstr "Activer DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:377 +#: lutris/runners/wine.py:370 msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." msgstr "" "Activer l'émulation de l'interface NVAPI de Nvidia et ajouter le support " "DLSS, si disponible." -#: lutris/runners/wine.py:383 +#: lutris/runners/wine.py:375 msgid "DXVK NVAPI version" msgstr "Version DXVK NVAPI" -#: lutris/runners/wine.py:392 +#: lutris/runners/wine.py:386 msgid "Enable dgvoodoo2" msgstr "Activer dgvoodoo2" -#: lutris/runners/wine.py:397 +#: lutris/runners/wine.py:391 msgid "" "dgvoodoo2 is an alternative translation layer for rendering old games that " "utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended " @@ -5680,15 +6977,15 @@ msgstr "" "est recommandé de l'utiliser en combinaison avec DXVK. Seules les " "applications 32 bits sont supportées." -#: lutris/runners/wine.py:405 +#: lutris/runners/wine.py:399 msgid "dgvoodoo2 version" msgstr "Version dgvoodoo2" -#: lutris/runners/wine.py:413 +#: lutris/runners/wine.py:408 msgid "Enable Esync" msgstr "Activer Esync" -#: lutris/runners/wine.py:419 +#: lutris/runners/wine.py:414 msgid "" "Enable eventfd-based synchronization (esync). This will increase performance " "in applications that take advantage of multi-core processors." @@ -5696,11 +6993,11 @@ msgstr "" "Activer la synchronisation basée sur eventfd (esync). Cela augmentera les " "performances des applications qui tirent parti des processeurs multi-cœurs." -#: lutris/runners/wine.py:426 +#: lutris/runners/wine.py:421 msgid "Enable Fsync" -msgstr "Enable Fsync" +msgstr "Activer Fsync" -#: lutris/runners/wine.py:432 +#: lutris/runners/wine.py:427 msgid "" "Enable futex-based synchronization (fsync). This will increase performance " "in applications that take advantage of multi-core processors. Requires " @@ -5710,11 +7007,11 @@ msgstr "" "performances des applications qui tirent parti des processeurs multi-cœurs. " "Nécessite le noyau 5.16 ou plus." -#: lutris/runners/wine.py:440 +#: lutris/runners/wine.py:435 msgid "Enable AMD FidelityFX Super Resolution (FSR)" msgstr "Activer AMD FSR" -#: lutris/runners/wine.py:444 +#: lutris/runners/wine.py:439 msgid "" "Use FSR to upscale the game window to native resolution.\n" "Requires Lutris Wine FShack >= 6.13 and setting the game to a lower " @@ -5729,11 +7026,11 @@ msgstr "" "Ne fonctionne pas avec les jeux fonctionnant en mode fenêtre sans bordure ou " "qui effectuent leur propre mise à l'échelle." -#: lutris/runners/wine.py:451 +#: lutris/runners/wine.py:446 msgid "Enable BattlEye Anti-Cheat" msgstr "Activer BattlEye Anti-Cheat" -#: lutris/runners/wine.py:455 +#: lutris/runners/wine.py:450 msgid "" "Enable support for BattlEye Anti-Cheat in supported games\n" "Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" @@ -5742,11 +7039,11 @@ msgstr "" "charge\n" "Requiert Lutris Wine ≥ 6.21-2 ou toute autre version de Wine compatible.\n" -#: lutris/runners/wine.py:461 +#: lutris/runners/wine.py:456 msgid "Enable Easy Anti-Cheat" msgstr "Activer Easy Anti-Cheat" -#: lutris/runners/wine.py:465 +#: lutris/runners/wine.py:460 msgid "" "Enable support for Easy Anti-Cheat in supported games\n" "Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" @@ -5754,15 +7051,15 @@ msgstr "" "Activer le support pour Easy Anti-Cheat dans les jeux le prendant en charge\n" "Requiert Lutris Wine ≥ 7.22 ou toute autre version de Wine Compatible.\n" -#: lutris/runners/wine.py:471 lutris/runners/wine.py:483 +#: lutris/runners/wine.py:466 lutris/runners/wine.py:481 msgid "Virtual Desktop" msgstr "Bureau virtuel" -#: lutris/runners/wine.py:472 +#: lutris/runners/wine.py:467 msgid "Windowed (virtual desktop)" msgstr "Fenêtre (bureau virtuel)" -#: lutris/runners/wine.py:476 +#: lutris/runners/wine.py:474 msgid "" "Run the whole Windows desktop in a window.\n" "Otherwise, run it fullscreen.\n" @@ -5772,24 +7069,24 @@ msgstr "" "Sinon, il est exécuté en plein écran.\n" "Cela correspond à l'option Bureau virtuel de Wine." -#: lutris/runners/wine.py:484 +#: lutris/runners/wine.py:482 msgid "Virtual desktop resolution" msgstr "Résolution du bureau virtuel" -#: lutris/runners/wine.py:487 +#: lutris/runners/wine.py:488 msgid "The size of the virtual desktop in pixels." msgstr "La taille du bureau virtuel en pixels." -#: lutris/runners/wine.py:491 lutris/runners/wine.py:502 -#: lutris/runners/wine.py:503 +#: lutris/runners/wine.py:492 lutris/runners/wine.py:504 +#: lutris/runners/wine.py:505 msgid "DPI" msgstr "DPI" -#: lutris/runners/wine.py:492 +#: lutris/runners/wine.py:493 msgid "Enable DPI Scaling" msgstr "Activer la mise à l’échelle DPI" -#: lutris/runners/wine.py:496 +#: lutris/runners/wine.py:498 msgid "" "Enables the Windows application's DPI scaling.\n" "Otherwise, the Screen Resolution option in 'Wine configuration' controls " @@ -5799,28 +7096,26 @@ msgstr "" "Si désactivée, l'option Résolution d'écran de la configuration de Wine sera " "utilisée." -#: lutris/runners/wine.py:506 -msgid "" -"The DPI to be used if 'Enable DPI Scaling' is turned on.\n" -"If blank or 'auto', Lutris will auto-detect this." +#: lutris/runners/wine.py:510 +msgid "The DPI to be used if 'Enable DPI Scaling' is turned on." msgstr "" -"La valeur DPI à utiliser si option activé.\n" -"Si champ 'vide' ou sur 'auto', Lutris détectera automatiquement la valeur " -"DPI." +"La valeur DPI à utiliser si l'option est activé.\n" +"Si le champ est vide ou sur \"auto\", Lutris détectera automatiquement la " +"valeur DPI." -#: lutris/runners/wine.py:512 +#: lutris/runners/wine.py:514 msgid "Mouse Warp Override" -msgstr "Mouse Warp Override" +msgstr "MouseWarpOverride" -#: lutris/runners/wine.py:515 +#: lutris/runners/wine.py:517 msgid "Enable" -msgstr "Activer" +msgstr "Activé" -#: lutris/runners/wine.py:517 +#: lutris/runners/wine.py:519 msgid "Force" -msgstr "Forcer" +msgstr "Forcé" -#: lutris/runners/wine.py:522 +#: lutris/runners/wine.py:524 msgid "" "Override the default mouse pointer warping behavior\n" "Enable: (Wine default) warp the pointer when the mouse is exclusively " @@ -5828,22 +7123,22 @@ msgid "" "Disable: never warp the mouse pointer \n" "Force: always warp the pointer" msgstr "" -"Remplace le comportement par défaut de déplacement du pointeur de la souris\n" -"Activer : (Wine par défaut) déplace le pointeur lorsque la souris est " +"Forcer un comportement par défaut de déplacement du curseur\n" +"Activé : (Wine par défaut) déplace le pointeur lorsque la souris est " "exclusivement acquise \n" -"Désactiver : ne déplace jamais le pointeur de la souris \n" -"Forcer : déplace toujours le pointeur" +"Désactivé : ne déplace jamais le pointeur de la souris \n" +"Forcé : déplace toujours le pointeur" -#: lutris/runners/wine.py:531 +#: lutris/runners/wine.py:533 msgid "Audio driver" msgstr "Pilote audio" -#: lutris/runners/wine.py:542 +#: lutris/runners/wine.py:544 msgid "" "Which audio backend to use.\n" "By default, Wine automatically picks the right one for your system." msgstr "" -"Quel backend audio utiliser.\n" +"Choix du backend audio à utiliser.\n" "Par défaut, Wine choisit automatiquement celui qui convient à votre système." #: lutris/runners/wine.py:550 @@ -5860,11 +7155,7 @@ msgstr "" #: lutris/runners/wine.py:555 msgid "Output debugging info" -msgstr "Afficher les infos de débogage" - -#: lutris/runners/wine.py:559 -msgid "Enabled" -msgstr "Activé" +msgstr "Afficher les infos. de débogage" #: lutris/runners/wine.py:560 msgid "Inherit from environment" @@ -5880,15 +7171,15 @@ msgstr "" "Afficher les informations de débogage dans le journal du jeu (peut affecter " "les performances)" -#: lutris/runners/wine.py:570 +#: lutris/runners/wine.py:569 msgid "Show crash dialogs" -msgstr "Montrer la fenêtre de crash" +msgstr "Montrer la fenêtre de plantage" -#: lutris/runners/wine.py:578 +#: lutris/runners/wine.py:577 msgid "Autoconfigure joypads" msgstr "Auto-configurer les joypads" -#: lutris/runners/wine.py:582 +#: lutris/runners/wine.py:580 msgid "" "Automatically disables one of Wine's detected joypad to avoid having 2 " "controllers detected" @@ -5896,112 +7187,84 @@ msgstr "" "Désactive automatiquement un des joypads détectés par Wine pour éviter " "d’avoir 2 contrôleurs détectés" -#: lutris/runners/wine.py:588 lutris/runners/wine.py:601 -msgid "Sandbox" -msgstr "Bac à sable" - -#: lutris/runners/wine.py:589 -msgid "Create a sandbox for Wine folders" -msgstr "Bac à sable pour les dossiers Wine" - -#: lutris/runners/wine.py:593 -msgid "" -"Do not use $HOME for desktop integration folders.\n" -"By default, it will use the directories in the confined Windows environment." -msgstr "" -"Ne pas utiliser $HOME pour les dossiers d'intégration de bureau.\n" -"Par défaut, cela utilise les répertoires de l’environnement Windows confiné." - -#: lutris/runners/wine.py:602 -msgid "Sandbox directory" -msgstr "Répertoire du bac à sable" - -#: lutris/runners/wine.py:603 -msgid "Custom directory for desktop integration folders." -msgstr "Répertoire personnalisé pour les dossiers d’intégration de bureau." - -#: lutris/runners/wine.py:612 +#: lutris/runners/wine.py:614 msgid "Run EXE inside Wine prefix" msgstr "Exécuter EXE dans le préfixe Wine" -#: lutris/runners/wine.py:613 +#: lutris/runners/wine.py:615 msgid "Open Bash terminal" msgstr "Ouvrir un terminal Bash" -#: lutris/runners/wine.py:614 +#: lutris/runners/wine.py:616 msgid "Open Wine console" msgstr "Ouvrir la console MS-DOS Wine" -#: lutris/runners/wine.py:616 +#: lutris/runners/wine.py:618 msgid "Wine configuration" msgstr "Configuration de Wine (winecfg)" -#: lutris/runners/wine.py:617 +#: lutris/runners/wine.py:619 msgid "Wine registry" msgstr "Éditeur du registre Wine" -#: lutris/runners/wine.py:618 +#: lutris/runners/wine.py:620 msgid "Wine Control Panel" msgstr "Panneau de configuration Wine" -#: lutris/runners/wine.py:620 +#: lutris/runners/wine.py:621 +msgid "Wine Task Manager" +msgstr "" + +#: lutris/runners/wine.py:623 msgid "Winetricks" msgstr "Winetricks" -#: lutris/runners/wine.py:795 -msgid "Select an EXE or MSI file" -msgstr "Sélectionnez un fichier EXE ou MSI" - -#: lutris/runners/wine.py:1099 -msgid "Your ESYNC limits are not set correctly." -msgstr "Vos limites ESYNC ne sont pas définies correctement." +#: lutris/runners/wine.py:750 lutris/runners/wine.py:756 +#, python-format +msgid "The Wine executable at '%s' is missing." +msgstr "L'exécutable Wine à \"%s\" est manquant." -#: lutris/runners/wine.py:1101 -msgid "The Wine build you have selected does not support Esync." -msgstr "" -"La version de Wine que vous avez sélectionnée ne prend pas en charge Esync.\n" -"Veuillez passer à une version compatible avec Esync." +#: lutris/runners/wine.py:814 +#, python-format +msgid "The required game '%s' could not be found." +msgstr "Le jeu requis \"%s\" n'a pas pu être trouvé." -#: lutris/runners/wine.py:1108 -msgid "Your kernel is not patched for fsync." -msgstr "" -"Votre noyau n'est pas patché pour fsync. Veuillez obtenir un noyau patché " -"pour utiliser fsync." +#: lutris/runners/wine.py:847 +msgid "The runner configuration does not specify a Wine version." +msgstr "La configuration de l'exécuteur ne spécifie pas de version Wine." -#: lutris/runners/wine.py:1110 -msgid "The Wine build you have selected does not support Fsync." -msgstr "" -"La version de Wine que vous avez sélectionnée ne prend pas en charge Fsync.\n" -"Veuillez passer à une version compatible avec Fsync." +#: lutris/runners/wine.py:885 +msgid "Select an EXE or MSI file" +msgstr "Sélectionnez un fichier EXE ou MSI" -#: lutris/runners/xemu.py:8 +#: lutris/runners/xemu.py:9 msgid "xemu" msgstr "" -#: lutris/runners/xemu.py:9 +#: lutris/runners/xemu.py:10 msgid "Xbox" msgstr "" -#: lutris/runners/xemu.py:10 +#: lutris/runners/xemu.py:11 msgid "Xbox emulator" msgstr "Émulateur Xbox" -#: lutris/runners/xemu.py:19 +#: lutris/runners/xemu.py:20 msgid "DVD image in iso format" msgstr "Image DVD au format iso" -#: lutris/runners/yuzu.py:12 +#: lutris/runners/yuzu.py:13 msgid "Yuzu" msgstr "Yuzu" #. http://zdoom.org/wiki/Command_line_parameters #: lutris/runners/zdoom.py:13 -msgid "ZDoom DOOM Game Engine" -msgstr "Moteur de jeu ZDoom DOOM" +msgid "GZDoom Game Engine" +msgstr "Moteur de jeu GZDoom" #: lutris/runners/zdoom.py:14 -msgid "ZDoom" -msgstr "ZDoom" +msgid "GZDoom" +msgstr "GZDoom" #: lutris/runners/zdoom.py:22 msgid "WAD file" @@ -6027,11 +7290,11 @@ msgstr "" "Utilisé pour charger un ou plusieurs fichiers PWAD qui contiennent " "généralement des niveaux créés par l’utilisateur." -#: lutris/runners/zdoom.py:41 +#: lutris/runners/zdoom.py:40 msgid "Warp to map" msgstr "Passer à la carte" -#: lutris/runners/zdoom.py:42 +#: lutris/runners/zdoom.py:41 msgid "Starts the game on the given map." msgstr "Démarre le jeu sur la carte donnée." @@ -6041,43 +7304,43 @@ msgstr "" "Chemin spécifié par l’utilisateur où les fichiers enregistrés devraient se " "situer." -#: lutris/runners/zdoom.py:54 +#: lutris/runners/zdoom.py:52 msgid "Pixel Doubling" msgstr "Doublage de pixels" -#: lutris/runners/zdoom.py:60 +#: lutris/runners/zdoom.py:53 msgid "Pixel Quadrupling" msgstr "Quadruplage de pixels" -#: lutris/runners/zdoom.py:66 +#: lutris/runners/zdoom.py:56 msgid "Disable Startup Screens" msgstr "Désactiver les écrans de démarrage" -#: lutris/runners/zdoom.py:72 +#: lutris/runners/zdoom.py:62 msgid "Skill" msgstr "Talent" -#: lutris/runners/zdoom.py:77 +#: lutris/runners/zdoom.py:67 msgid "I'm Too Young To Die (1)" -msgstr "Je suis trop jeune pour mourir (1)" +msgstr "Je suis trop jeune pour mourir !! (1)" -#: lutris/runners/zdoom.py:78 +#: lutris/runners/zdoom.py:68 msgid "Hey, Not Too Rough (2)" -msgstr "Hey, pas trop fort (2)" +msgstr "Doucement, d'accord ? (2)" -#: lutris/runners/zdoom.py:79 +#: lutris/runners/zdoom.py:69 msgid "Hurt Me Plenty (3)" -msgstr "Faites-moi mal (3)" +msgstr "Faites-moi mal ! (3)" -#: lutris/runners/zdoom.py:80 +#: lutris/runners/zdoom.py:70 msgid "Ultra-Violence (4)" msgstr "Ultra-Violence (4)" -#: lutris/runners/zdoom.py:81 +#: lutris/runners/zdoom.py:71 msgid "Nightmare! (5)" msgstr "Cauchemar ! (5)" -#: lutris/runners/zdoom.py:92 +#: lutris/runners/zdoom.py:79 msgid "" "Used to load a user-created configuration file. If specified, the file must " "contain the wad directory list or launch will fail." @@ -6086,62 +7349,71 @@ msgstr "" "spécifié, le fichier doit contenir la liste des répertoires wad ou le " "lancement échouera." -#: lutris/services/amazon.py:65 lutris/services/amazon.py:672 -msgid "Amazon Prime Gaming" +#: lutris/runtime.py:127 +#, python-format +msgid "Updating %s" +msgstr "Mise à jour de %s" + +#: lutris/runtime.py:130 +#, python-format +msgid "Updated %s" +msgstr "%s mis à jour" + +#: lutris/services/amazon.py:69 +msgid "Amazon" msgstr "" -#: lutris/services/amazon.py:174 +#: lutris/services/amazon.py:179 msgid "No Amazon user data available, please log in again" msgstr "" "Aucune donnée d'utilisateur Amazon disponible, veuillez vous reconnecter" -#: lutris/services/amazon.py:239 +#: lutris/services/amazon.py:244 msgid "Unable to register device, please log in again" msgstr "Impossible d'enregistrer l'appareil, veuillez vous reconnecter" -#: lutris/services/amazon.py:254 +#: lutris/services/amazon.py:259 msgid "Invalid token info found, please log in again" -msgstr "Informations 'token' trouvées non valides, veuillez vous reconnecter" +msgstr "Informations \"token' trouvées non valides, veuillez vous reconnecter" -#: lutris/services/amazon.py:288 +#: lutris/services/amazon.py:293 msgid "Unable to refresh token, please log in again" -msgstr "Impossible d'actualiser le 'token', veuillez vous reconnecter" +msgstr "Impossible d'actualiser le \"token', veuillez vous reconnecter" -#: lutris/services/amazon.py:443 +#: lutris/services/amazon.py:465 msgid "Unable to get game manifest info" msgstr "Impossible d'obtenir les informations sur le manifeste du jeu" -#: lutris/services/amazon.py:461 +#: lutris/services/amazon.py:486 msgid "Unable to get game manifest" msgstr "Impossible d'obtenir le manifeste du jeu" -#: lutris/services/amazon.py:477 +#: lutris/services/amazon.py:501 msgid "Unknown compression algorithm found in manifest" msgstr "Algorithme de compression inconnu trouvé dans le manifeste" -#: lutris/services/amazon.py:504 -msgid "" -"Unable to get the patches of game, please check your Amazon credentials and " -"internet connectivity" -msgstr "" -"Impossible d'obtenir les correctifs du jeu, veuillez vérifier vos " -"informations d'identification Amazon et votre connection Internet" +#: lutris/services/amazon.py:526 +#, python-format +msgid "Unable to get the patches of game '%s'" +msgstr "Échec de l'obtention patchs du jeu \"%s\"" -#: lutris/services/amazon.py:582 -msgid "Unable to get fuel.json file, please check your Amazon credentials" -msgstr "" -"Impossible d'obtenir le fichier 'fuel.json', veuillez vérifier vos " -"informations d'identification Amazon et votre connection Internet" +#: lutris/services/amazon.py:603 +msgid "Unable to get fuel.json file." +msgstr "Échec de l'obtention du fichier \"fuel.json'." -#: lutris/services/amazon.py:594 +#: lutris/services/amazon.py:614 msgid "Invalid response from Amazon APIs" msgstr "Réponse invalide des API Amazon" -#: lutris/services/amazon.py:628 lutris/services/gog.py:481 +#: lutris/services/amazon.py:648 lutris/services/gog.py:548 msgid "Couldn't load the downloads for this game" -msgstr "Impossible de charger les téléchargements de ce jeu." +msgstr "Impossible de récupérer les téléchargements de ce jeu." -#: lutris/services/base.py:352 +#: lutris/services/amazon.py:696 +msgid "Amazon Prime Gaming" +msgstr "" + +#: lutris/services/base.py:447 #, python-format msgid "" "This service requires a game launcher. The following steps will install it.\n" @@ -6151,50 +7423,55 @@ msgstr "" "étape.\n" "Vous pouvez vous connecter à %s une fois le client installé." -#: lutris/services/battlenet.py:91 +#: lutris/services/battlenet.py:105 msgid "Battle.net" msgstr "" -#: lutris/services/ea_app.py:121 +#: lutris/services/ea_app.py:148 msgid "EA App" msgstr "" -#: lutris/services/egs.py:136 +#: lutris/services/egs.py:142 msgid "Epic Games Store" msgstr "" -#: lutris/services/flathub.py:58 +#: lutris/services/flathub.py:56 msgid "Flathub" msgstr "" -#: lutris/services/gog.py:69 -msgid "GOG" +#: lutris/services/flathub.py:84 +msgid "No flatpak or flatpak-spawn found" +msgstr "Aucun flatpak / flatpak-spawn trouvé" + +#: lutris/services/flathub.py:106 +msgid "" +"Flathub is not configured on the system. Visit https://flatpak.org/setup/ " +"for instructions." msgstr "" -#: lutris/services/gog.py:297 lutris/services/gog.py:299 -#, python-format -msgid "The download of '%s' failed." -msgstr "Le téléchargement de '%s' a échoué." +#: lutris/services/gog.py:79 +msgid "GOG" +msgstr "" -#: lutris/services/gog.py:427 +#: lutris/services/gog.py:482 msgid "Couldn't load the download links for this game" msgstr "Impossible de charger les liens de téléchargement pour ce jeu" -#: lutris/services/gog.py:474 +#: lutris/services/gog.py:539 msgid "Unable to determine correct file to launch installer" msgstr "" "Impossible de déterminer le bon fichier pour lancer le programme " "d'installation" -#: lutris/services/humblebundle.py:61 +#: lutris/services/humblebundle.py:62 msgid "Humble Bundle" msgstr "" -#: lutris/services/humblebundle.py:84 +#: lutris/services/humblebundle.py:82 msgid "Workaround for Humble Bundle authentication" msgstr "Solution de contournement pour l'authentification Humble Bundle" -#: lutris/services/humblebundle.py:85 +#: lutris/services/humblebundle.py:84 msgid "" "Humble Bundle is restricting API calls from software like Lutris and " "GameHub.\n" @@ -6204,35 +7481,39 @@ msgid "" msgstr "" "Humble Bundle restreint les appels d'API à partir de logiciels tels que " "Lutris et GameHub.\n" -"L'authentification auprès du service échouera probablement.\n" +"L\"authentification auprès du service échouera probablement.\n" "Il existe une solution de contournement impliquant la copie des cookies de " "Firefox, voulez-vous faire cela à la place ?" -#: lutris/services/humblebundle.py:239 +#: lutris/services/humblebundle.py:235 msgid "The download URL for the game could not be determined." -msgstr "L'URL de téléchargement du jeu n'a pas pu être déterminée." +msgstr "L\"URL de téléchargement du jeu n'a pas pu être déterminée." -#: lutris/services/humblebundle.py:241 +#: lutris/services/humblebundle.py:237 msgid "No game found on Humble Bundle" msgstr "Aucun jeu trouvé sur Humble Bundle" #. According to their branding, "itch.io" is supposed to be all lowercase -#: lutris/services/itchio.py:79 +#: lutris/services/itchio.py:81 msgid "itch.io" msgstr "" -#: lutris/services/lutris.py:116 +#: lutris/services/lutris.py:132 #, python-format msgid "Lutris has no installers for %s. Try using a different service instead." msgstr "" "Lutris n'a pas d'installateurs pour %s. Essayez plutôt d'utiliser un autre " "service." -#: lutris/services/origin.py:129 -msgid "Origin" -msgstr "" +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Famille Steam" -#: lutris/services/steam.py:100 +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "Utilisé pour afficher tous les jeux dans la famille Steam" + +#: lutris/services/steam.py:98 msgid "" "Failed to load games. Check that your profile is set to public during the " "sync." @@ -6240,27 +7521,30 @@ msgstr "" "Échec du chargement des jeux. Vérifiez que votre profil est défini à public " "durant la synchronisation." -#: lutris/services/steamwindows.py:25 +#: lutris/services/steamwindows.py:24 msgid "Steam for Windows" msgstr "Steam pour Windows" -#: lutris/services/ubisoft.py:82 +#: lutris/services/steamwindows.py:25 +msgid "" +"Use only for the rare games or mods requiring the Windows version of Steam" +msgstr "" +"Utilisé seulement dans de rares cas ou un jeu requiert la version Windows de " +"Steam" + +#: lutris/services/ubisoft.py:79 msgid "Ubisoft Connect" msgstr "Ubisoft Connect" #: lutris/services/xdg.py:44 msgid "Local" -msgstr "" +msgstr "Local" -#: lutris/settings.py:15 +#: lutris/settings.py:16 msgid "(c) 2009 Lutris Team" msgstr "(c) 2009 L’équipe Lutris" -#: lutris/settings.py:16 -msgid "The Lutris team" -msgstr "L’équipe Lutris" - -#: lutris/startup.py:166 +#: lutris/startup.py:138 #, python-format msgid "" "Failed to open database file in %s. Try renaming this file and relaunch " @@ -6269,65 +7553,182 @@ msgstr "" "Échec de l'ouverture du fichier de la base de données %s. Essayez de " "renommer ce fichier et relancez Lutris" -#: lutris/sysoptions.py:18 +#: lutris/sysoptions.py:19 msgid "Keep current" msgstr "Garder l’actuel" -#: lutris/sysoptions.py:32 -msgid "(recommended)" -msgstr "(recommandé)" +#: lutris/sysoptions.py:29 +msgid "Chinese" +msgstr "Chinois" + +#: lutris/sysoptions.py:30 +msgid "Croatian" +msgstr "Croate" + +#: lutris/sysoptions.py:31 +msgid "Dutch" +msgstr "Néerlandais" + +#: lutris/sysoptions.py:33 +msgid "Finnish" +msgstr "Finnois" #: lutris/sysoptions.py:35 -msgid "System" -msgstr "Système" +msgid "Georgian" +msgstr "Géorgien" + +#: lutris/sysoptions.py:41 +msgid "Portuguese (Brazilian)" +msgstr "Portugais (Brésilien)" + +#: lutris/sysoptions.py:42 +msgid "Polish" +msgstr "Polonais" -#: lutris/sysoptions.py:44 lutris/sysoptions.py:53 lutris/sysoptions.py:64 -#: lutris/sysoptions.py:589 +#: lutris/sysoptions.py:43 +msgid "Russian" +msgstr "Russe" + +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 msgid "Off" msgstr "Désactivé" -#: lutris/sysoptions.py:45 +#: lutris/sysoptions.py:61 msgid "Primary" msgstr "Primaire" -#: lutris/sysoptions.py:117 +#: lutris/sysoptions.py:83 msgid "Default installation folder" msgstr "Dossier d’installation par défaut" -#: lutris/sysoptions.py:120 -msgid "The default folder where you install your games." -msgstr "Le dossier par défaut où seront installés vos jeux." - -#: lutris/sysoptions.py:126 +#: lutris/sysoptions.py:93 msgid "Disable Lutris Runtime" msgstr "Désactiver le moteur d’exécution Lutris" -#: lutris/sysoptions.py:128 +#: lutris/sysoptions.py:96 +msgid "" +"The Lutris Runtime loads some libraries before running the game, which can " +"cause some incompatibilities in some cases. Check this option to disable it." +msgstr "" +"Le moteur d’exécution Lutris charge certaines librairies (runtime) avant de " +"lancer le jeu, ce qui peut entraîner des incompatibilités dans certaines " +"situations. Cochez cette option pour le désactiver si nécessaire." + +#: lutris/sysoptions.py:105 +msgid "Prefer system libraries" +msgstr "Préférer les librairies du système" + +#: lutris/sysoptions.py:107 +msgid "" +"When the runtime is enabled, prioritize the system libraries over the " +"provided ones." +msgstr "" +"Lorsque le moteur d’exécution est activé (runtime), prioriser les librairies " +"de votre distribution Linux sur celles fournies par Lutris." + +#: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 +#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 +#: lutris/sysoptions.py:179 lutris/sysoptions.py:195 +msgid "Display" +msgstr "Affichage" + +#: lutris/sysoptions.py:113 +msgid "GPU" +msgstr "CPU" + +#: lutris/sysoptions.py:117 +msgid "GPU to use to run games" +msgstr "Le GPU utilisé pour faire tourner les jeux" + +#: lutris/sysoptions.py:123 +msgid "FPS counter (MangoHud)" +msgstr "MangoHud (Compteur de FPS)" + +#: lutris/sysoptions.py:126 +msgid "" +"Display the game's FPS + other information. Requires MangoHud to be " +"installed." +msgstr "" +"Afficher les IPS du jeu et d’autres informations.\n" +"Requiert que MangoHud soit installé." + +#: lutris/sysoptions.py:132 +msgid "Restore resolution on game exit" +msgstr "Restaurer la résolution à la sortie" + +#: lutris/sysoptions.py:137 +msgid "" +"Some games don't restore your screen resolution when \n" +"closed or when they crash. This is when this option comes \n" +"into play to save your bacon." +msgstr "" +"Certains jeux ne restaurent pas la résolution de votre écran quand\n" +"ils sont fermés ou plantent. C’est là que cette option intervient\n" +"pour vous sauver la mise." + +#: lutris/sysoptions.py:145 +msgid "Disable desktop effects" +msgstr "Désactiver les effets de bureau" + +#: lutris/sysoptions.py:151 +msgid "" +"Disable desktop effects while game is running, reducing stuttering and " +"increasing performance" +msgstr "" +"Désactiver les effets de bureau quand le jeu est lancé, pour réduire les " +"saccades et augmenter la performance" + +#: lutris/sysoptions.py:156 +msgid "Prevent sleep" +msgstr "Bloquer la veille" + +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." +msgstr "" +"Empêche l'ordinateur de se mettre en veille lorsqu'un jeu est en cours." + +#: lutris/sysoptions.py:167 +msgid "SDL 1.2 Fullscreen Monitor" +msgstr "Moniteur plein écran SDL 1.2" + +#: lutris/sysoptions.py:173 msgid "" -"The Lutris Runtime loads some libraries before running the game, which can " -"cause some incompatibilities in some cases. Check this option to disable it." +"Hint SDL 1.2 games to use a specific monitor when going fullscreen by " +"setting the SDL_VIDEO_FULLSCREEN environment variable" msgstr "" -"Le moteur d’exécution Lutris charge certaines librairies (runtime) avant de " -"lancer le jeu, ce qui peut entraîner des incompatibilités dans certaines " -"situations. Cochez cette option pour le désactiver si nécessaire." +"Indique aux jeux SDL 1.2 d'utiliser un moniteur spécifique lors du passage " +"en plein écran en définissant la variable d'environnement " +"SDL_VIDEO_FULLSCREEN" -#: lutris/sysoptions.py:136 -msgid "Prefer system libraries" -msgstr "Préférer les librairies du système" +#: lutris/sysoptions.py:182 +msgid "Turn off monitors except" +msgstr "Éteindre tous les moniteurs sauf" -#: lutris/sysoptions.py:138 +#: lutris/sysoptions.py:188 msgid "" -"When the runtime is enabled, prioritize the system libraries over the " -"provided ones." +"Only keep the selected screen active while the game is running. \n" +"This is useful if you have a dual-screen setup, and are \n" +"having display issues when running a game in fullscreen." msgstr "" -"Lorsque le moteur d’exécution est activé (runtime), prioriser les librairies " -"de votre distribution Linux sur celles fournies par Lutris." +"Garder uniquement l’écran sélectionné actif quand le jeu est lancé.\n" +"Cela est utile si vous avez une configuration à 2 écrans, et avez\n" +"des problèmes d’affichage lors du lancement du jeu en plein écran." + +#: lutris/sysoptions.py:198 +msgid "Switch resolution to" +msgstr "Changer la résolution en" -#: lutris/sysoptions.py:146 +#: lutris/sysoptions.py:203 +msgid "Switch to this screen resolution while the game is running." +msgstr "" +"Basculez vers cette résolution d'écran lorsque le jeu est en cours " +"d'exécution." + +#: lutris/sysoptions.py:209 msgid "Enable Gamescope" msgstr "Activer Gamescope" -#: lutris/sysoptions.py:149 +#: lutris/sysoptions.py:212 msgid "" "Use gamescope to draw the game window isolated from your desktop.\n" "Toggle fullscreen: Super + F" @@ -6336,134 +7737,136 @@ msgstr "" "isolée de votre environnement de bureau existant.\n" "Basculer en mode plein écran : Super+F" -#: lutris/sysoptions.py:156 +#: lutris/sysoptions.py:218 +msgid "Enable HDR (Experimental)" +msgstr "Activer le HDR (expérimental)" + +#: lutris/sysoptions.py:223 +msgid "" +"Enable HDR for games that support it.\n" +"Requires Plasma 6 and VK_hdr_layer." +msgstr "" +"Activer le HDR pour les jeux supportés\n" +"Nécessite Plasma 6 et VK_hdr_layer." + +#: lutris/sysoptions.py:229 msgid "Relative Mouse Mode" -msgstr "Gestion Relative de la Souris" +msgstr "Activer la souris relative" -#: lutris/sysoptions.py:160 +#: lutris/sysoptions.py:235 msgid "" "Always use relative mouse mode instead of flipping\n" -"dependent on cursor visibility (--force-grab-cursor).\n" -"(Since gamescope git commit 054458f, Jan 12, 2023)" +"dependent on cursor visibility\n" +"Can help with games where the player's camera faces the floor" msgstr "" "Verrouiller la souris dans la fenêtre gamescope (souris relative).\n" -"Dépend de la visibilité du curseur dans le jeu (--force-grab-cursor)." +"Dépend de la visibilité du curseur dans le jeu (--force-grab-cursor).\n" +"\n" +"Peut vous aider dans les jeux où la caméra est face au sol" -#: lutris/sysoptions.py:168 +#: lutris/sysoptions.py:244 msgid "Output Resolution" msgstr "Résolution de Sortie" -#: lutris/sysoptions.py:172 +#: lutris/sysoptions.py:250 msgid "" -"Set the resolution used by gamescope (-W, -H).\n" +"Set the resolution used by gamescope.\n" "Resizing the gamescope window will update these settings.\n" "\n" -"Empty string: Disabled\n" "Custom Resolutions: (width)x(height)" msgstr "" "Définir la résolution de la fenêtre gamescope (-W, -H).\n" "Le redimensionnement manuel de la fenêtre gamescope mettra à jour ces " "paramètres.\n" "\n" -"Champ Vide : Désactivé\n" +"Champ vide : Désactivé\n" "Résolutions personnalisées : (largeur)x(hauteur)" -#: lutris/sysoptions.py:182 +#: lutris/sysoptions.py:260 msgid "Game Resolution" msgstr "Résolution du Jeu" -#: lutris/sysoptions.py:186 +#: lutris/sysoptions.py:264 msgid "" -"Set the maximum resolution used by the game (-w, -h).\n" +"Set the maximum resolution used by the game.\n" "\n" -"Empty string: Disabled\n" "Custom Resolutions: (width)x(height)" msgstr "" -"Définir la résolution maximale du jeu vidéo dans la fenêtre gamescope (-w, -" -"h).\n" +"Définir la résolution maximale du jeu vidéo dans la fenêtre gamescope (-w, " +"-h).\n" "\n" -"Champ Vide : Désactivé\n" +"Champ vide : Désactivé\n" "Résolutions personnalisées : (largeur)x(hauteur)" -#: lutris/sysoptions.py:194 +#: lutris/sysoptions.py:269 msgid "Window Mode" -msgstr "Style de Fenêtre" +msgstr "Style de fenêtre" -#: lutris/sysoptions.py:199 +#: lutris/sysoptions.py:273 msgid "Windowed" msgstr "Avec Bordures" -#: lutris/sysoptions.py:200 +#: lutris/sysoptions.py:274 msgid "Borderless" msgstr "Sans Bordures" -#: lutris/sysoptions.py:204 +#: lutris/sysoptions.py:279 msgid "" "Run gamescope in fullscreen, windowed or borderless mode\n" -"Toggle fullscreen (-f) : Super + F" +"Toggle fullscreen : Super + F" msgstr "" "Exécuter gamescope en mode plein écran, fenêtré, avec ou sans bordure.\n" "Basculer en mode plein écran (-f) : Super + F" -#: lutris/sysoptions.py:210 +#: lutris/sysoptions.py:284 msgid "FSR Level" msgstr "Netteté FSR" -#: lutris/sysoptions.py:214 +#: lutris/sysoptions.py:290 msgid "" -"Use AMD FidelityFX™ Super Resolution 1.0 for upscaling (-U).\n" -"Upscaler sharpness from 0 (max) to 20 (min).\n" -"\n" -"Empty string: Disabled" +"Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" +"Upscaler sharpness from 0 (max) to 20 (min)." msgstr "" "Utiliser la mise à l'échelle AMD FidelityFX™ Super Resolution 1.0.\n" "Augmentation de la netteté de 0 (max) à 20 (min).\n" "\n" "Champ Vide : Désactivé" -#: lutris/sysoptions.py:222 -msgid "FPS Limiter" +#: lutris/sysoptions.py:296 +msgid "Framerate Limiter" msgstr "Limiteur d'IPS" -#: lutris/sysoptions.py:226 -msgid "" -"Set a frame-rate limit for gamescope specified in frames per second (-r).\n" -"\n" -"Empty string: Disabled" +#: lutris/sysoptions.py:301 +msgid "Set a frame-rate limit for gamescope specified in frames per second." msgstr "" -"Définir une limite de fréquence d'images en images par seconde (-r).\n" -"\n" -"Champ Vide : Désactivé" +"Définir une limite de fréquence d'images pour Gamescope, en images par " +"secondes." -#: lutris/sysoptions.py:233 +#: lutris/sysoptions.py:306 msgid "Custom Settings" msgstr "Paramètres personnalisés" -#: lutris/sysoptions.py:237 +#: lutris/sysoptions.py:312 msgid "" "Set additional flags for gamescope (if available).\n" -"See 'gamescope --help' for a full list of options.\n" -"\n" -"Empty String: Disabled" +"See 'gamescope --help' for a full list of options." msgstr "" "Ajouter manuellement des paramètres supplémentaires (si disponible).\n" -"Voir 'gamescope --help' pour la liste complète des options.\n" -"\n" -"Champ Vide : Désactivé" +"Voir \"gamescope --help\" pour la liste complète des options." -#: lutris/sysoptions.py:246 +#: lutris/sysoptions.py:319 msgid "Restrict number of cores used" msgstr "Limiter le nombre de cœurs" -#: lutris/sysoptions.py:248 +#: lutris/sysoptions.py:321 msgid "Restrict the game to a maximum number of CPU cores." msgstr "Limiter le jeu à un nombre maximum de cœurs CPU." -#: lutris/sysoptions.py:254 +#: lutris/sysoptions.py:327 msgid "Restrict number of cores to" msgstr "Nombre de cœurs utilisés" -#: lutris/sysoptions.py:256 +#: lutris/sysoptions.py:330 msgid "" "Maximum number of CPU cores to be used, if 'Restrict number of cores used' " "is turned on." @@ -6471,133 +7874,21 @@ msgstr "" "Nombre maximum de cœurs CPU à utiliser, si l’option « Limiter le nombre de " "cœurs utilisés » est activée." -#: lutris/sysoptions.py:264 +#: lutris/sysoptions.py:338 msgid "Enable Feral GameMode" msgstr "Activer Feral GameMode" -#: lutris/sysoptions.py:265 +#: lutris/sysoptions.py:339 msgid "Request a set of optimisations be temporarily applied to the host OS" msgstr "" "Demande qu'un ensemble d'optimisations soit temporairement appliqué au " "système d'exploitation hôte" -#: lutris/sysoptions.py:271 -msgid "FPS counter (MangoHud)" -msgstr "MangoHud (Compteur de FPS)" - -#: lutris/sysoptions.py:274 -msgid "" -"Display the game's FPS + other information. Requires MangoHud to be " -"installed." -msgstr "" -"Afficher les IPS du jeu et d’autres informations.\n" -"Requiert que MangoHud soit installé." - -#: lutris/sysoptions.py:280 -msgid "Restore resolution on game exit" -msgstr "Restaurer la résolution à la sortie" - -#: lutris/sysoptions.py:282 -msgid "" -"Some games don't restore your screen resolution when \n" -"closed or when they crash. This is when this option comes \n" -"into play to save your bacon." -msgstr "" -"Certains jeux ne restaurent pas la résolution de votre écran quand\n" -"ils sont fermés ou crashent. C’est ici que cette option intervient\n" -"pour vous sauver la mise." - -#: lutris/sysoptions.py:291 -msgid "Restore gamma on game exit" -msgstr "Restaurer le gamma à la sortie" - -#: lutris/sysoptions.py:293 -msgid "" -"Some games don't correctly restores gamma on exit, making your display too " -"bright. Select this option to correct it." -msgstr "" -"Certains jeu ne restaurent pas correctement le gamma lorsqu'ils sont " -"quittés, ce qui rend votre écran trop clair. Sélectionnez cette option pour " -"corriger cela." - -#: lutris/sysoptions.py:299 -msgid "Disable desktop effects" -msgstr "Désactiver les effets de bureau" - -#: lutris/sysoptions.py:303 -msgid "" -"Disable desktop effects while game is running, reducing stuttering and " -"increasing performance" -msgstr "" -"Désactiver les effets de bureau quand le jeu est lancé, pour réduire les " -"saccades et augmenter la performance" - -#: lutris/sysoptions.py:309 -msgid "Disable screen saver" -msgstr "Désactiver l’écran de veille" - -#: lutris/sysoptions.py:314 -msgid "" -"Disable the screen saver while a game is running. Requires the screen " -"saver's functionality to be exposed over DBus." -msgstr "" -"Désactiver l’économiseur d’écran quand le jeu est lancé. Cela requiert que " -"la fonction économiseur d’écran soit exposée à travers DBus." - -#: lutris/sysoptions.py:326 -msgid "Limit the game's FPS using libstrangle" -msgstr "Limiter les FPS du jeu à un nombre voulu en utilisant 'libstrangle'" - -#: lutris/sysoptions.py:332 -msgid "SDL 1.2 Fullscreen Monitor" -msgstr "Moniteur plein écran SDL 1.2" - -#: lutris/sysoptions.py:336 -msgid "" -"Hint SDL 1.2 games to use a specific monitor when going fullscreen by " -"setting the SDL_VIDEO_FULLSCREEN environment variable" -msgstr "" -"Indique aux jeux SDL 1.2 d'utiliser un moniteur spécifique lors du passage " -"en plein écran en définissant la variable d'environnement " -"SDL_VIDEO_FULLSCREEN" - -#: lutris/sysoptions.py:344 -msgid "Turn off monitors except" -msgstr "Éteindre tous les moniteurs sauf" - -#: lutris/sysoptions.py:348 -msgid "" -"Only keep the selected screen active while the game is running. \n" -"This is useful if you have a dual-screen setup, and are \n" -"having display issues when running a game in fullscreen." -msgstr "" -"Garder uniquement l’écran sélectionné actif quand le jeu est lancé.\n" -"Cela est utile si vous avez une configuration à 2 écrans, et avez\n" -"des problèmes d’affichage lors du lancement du jeu en plein écran." - -#: lutris/sysoptions.py:357 -msgid "Switch resolution to" -msgstr "Changer la résolution en" - -#: lutris/sysoptions.py:360 -msgid "Switch to this screen resolution while the game is running." -msgstr "" -"Basculez vers cette résolution d'écran lorsque le jeu est en cours " -"d'exécution." - -#: lutris/sysoptions.py:366 -msgid "Reset PulseAudio" -msgstr "Réinitialiser PulseAudio" - -#: lutris/sysoptions.py:370 -msgid "Restart PulseAudio before launching the game." -msgstr "Redémarrer PulseAudio avant de lancer le jeu." - -#: lutris/sysoptions.py:376 +#: lutris/sysoptions.py:345 msgid "Reduce PulseAudio latency" msgstr "Réduire la latence PulseAudio" -#: lutris/sysoptions.py:380 +#: lutris/sysoptions.py:349 msgid "" "Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " "on some games" @@ -6605,107 +7896,49 @@ msgstr "" "Définir la variable d'environnement PULSE_LATENCY_MSEC=60 pour améliorer la " "qualité audio sur certains jeux" -#: lutris/sysoptions.py:387 +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 +msgid "Input" +msgstr "Entrée" + +#: lutris/sysoptions.py:355 msgid "Switch to US keyboard layout" -msgstr "Clavier QWERTY" +msgstr "Passer à un clavier QWERTY" -#: lutris/sysoptions.py:390 +#: lutris/sysoptions.py:359 msgid "Switch to US keyboard QWERTY layout while game is running" msgstr "Passer à une configuration clavier US QWERTY dans le jeu" -#: lutris/sysoptions.py:396 +#: lutris/sysoptions.py:365 msgid "AntiMicroX Profile" -msgstr "AntiMicroX Profile" +msgstr "Profil AntiMicroX" -#: lutris/sysoptions.py:398 +#: lutris/sysoptions.py:367 msgid "Path to an AntiMicroX profile file" msgstr "" "Chemin vers un fichier de profil AntiMicroX contenant le mappage de vos " "manettes." -#: lutris/sysoptions.py:405 +#: lutris/sysoptions.py:373 msgid "SDL2 gamepad mapping" -msgstr "SDL2 gamepad mapping" +msgstr "Fichier de mappage SDL2" -#: lutris/sysoptions.py:407 +#: lutris/sysoptions.py:376 msgid "" -"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom gamecontrollerdb." -"txt file containing mappings." +"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom " +"gamecontrollerdb.txt file containing mappings." msgstr "" "Chaîne de mappage SDL_GAMECONTROLLERCONFIG ou chemin vers un fichier " "gamecontrollerdb.txt personnalisé contenant le mappage de vos manettes." -#: lutris/sysoptions.py:416 -msgid "Enable NVIDIA Prime Render Offload" -msgstr "NVIDIA Prime Render Offload" - -#: lutris/sysoptions.py:417 -msgid "" -"If you have the latest NVIDIA driver and the properly patched xorg-server " -"(see https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/" -"primerenderoffload.html), you can launch a game on your NVIDIA GPU by " -"toggling this switch. This will apply __NV_PRIME_RENDER_OFFLOAD=1 and " -"__GLX_VENDOR_LIBRARY_NAME=nvidia environment variables." -msgstr "" -"Si vous avez le dernier pilote NVIDIA et le serveur xorg correctement patché " -"(voir https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/" -"primerenderoffload.html), vous pouvez lancer un jeu sur votre GPU NVIDIA en " -"activant ce commutateur. Cela appliquera les variables d'environnement " -"__NV_PRIME_RENDER_OFFLOAD=1 et __GLX_VENDOR_LIBRARY_NAME=nvidia." - -#: lutris/sysoptions.py:429 -msgid "Use discrete graphics" -msgstr "Carte Graphique 'dédiée'" - -#: lutris/sysoptions.py:431 -msgid "" -"If you have open source graphic drivers (Mesa), selecting this option will " -"run the game with the 'DRI_PRIME=1' environment variable, activating your " -"discrete graphic chip for high 3D performance." -msgstr "" -"Si vous avez des pilotes graphiques open source (Mesa), en sélectionnant " -"cette option, le jeu sera exécuté avec la variable d'environnement " -"'DRI_PRIME=1', activant votre carte graphique 'dédiée' pour de meilleures " -"performances 3D." - -#: lutris/sysoptions.py:442 -msgid "Optimus launcher (NVIDIA Optimus laptops)" -msgstr "NVIDIA Optimus (laptops)" - -#: lutris/sysoptions.py:444 -msgid "" -"If you have installed the primus or bumblebee packages, select what launcher " -"will run the game with the command, activating your NVIDIA graphic chip for " -"high 3D performance. primusrun normally has better performance, butoptirun/" -"virtualgl works better for more games.Primus VK provide vulkan support under " -"bumblebee." -msgstr "" -"Si vous avez installé les paquets primus ou bumblebee, utilisez cette option " -"pour sélectionner le lanceur qui exécutera le jeu avec votre puce graphique " -"NVIDIA. Primusrun a normalement de meilleures performances 3D, mais " -"optirun / virtualgl fonctionne mieux pour la plupart des jeux. Primus VK " -"fournit un support vulkan sous bumblebee." - -#: lutris/sysoptions.py:459 -msgid "Vulkan ICD loader" -msgstr "Vulkan ICD loader" +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 +msgid "Text based games" +msgstr "Jeux textuels" -#: lutris/sysoptions.py:461 -msgid "" -"The ICD loader is a library that is placed between a Vulkan application and " -"any number of Vulkan drivers, in order to support multiple drivers and the " -"instance-level functionality that works across these drivers." -msgstr "" -"Le chargeur ICD est une bibliothèque qui permet de sélectionner le pilote " -"Vulkan que vous souhaitez utiliser avec votre application Vulkan. L'objectif " -"étant de prendre en charge les multiples pilotes installés sur votre " -"distribution Linux pour en exploiter toutes les fonctionnalités." - -#: lutris/sysoptions.py:469 +#: lutris/sysoptions.py:382 msgid "CLI mode" msgstr "Mode CLI (terminal)" -#: lutris/sysoptions.py:473 +#: lutris/sysoptions.py:387 msgid "" "Enable a terminal for text-based games. Only useful for ASCII based games. " "May cause issues with graphical games." @@ -6713,11 +7946,11 @@ msgstr "" "Active un terminal pour les jeux basés sur du texte. Utile uniquement pour " "les jeux en ASCII. Peut causer des problèmes avec les jeux graphiques." -#: lutris/sysoptions.py:479 +#: lutris/sysoptions.py:394 msgid "Text based games emulator" -msgstr "Émulateur de terminal" +msgstr "Émulateur de jeux textuels" -#: lutris/sysoptions.py:484 +#: lutris/sysoptions.py:400 msgid "" "The terminal emulator used with the CLI mode. Choose from the list of " "detected terminal apps or enter the terminal's command or path." @@ -6726,106 +7959,113 @@ msgstr "" "des applications de terminal détectées ou entrez la commande ou le chemin du " "terminal." -#: lutris/sysoptions.py:493 +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 +#: lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 +#: lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 +#: lutris/sysoptions.py:492 +msgid "Game execution" +msgstr "Exécution du jeu" + +#: lutris/sysoptions.py:410 msgid "Environment variables loaded at run time" msgstr "" "Variables d'environnement chargées lors de l’exécution du jeu.\n" "Exemple : WINEDEBUG -all" -#: lutris/sysoptions.py:499 +#: lutris/sysoptions.py:416 msgid "Locale" msgstr "Paramètres régionaux" -#: lutris/sysoptions.py:505 +#: lutris/sysoptions.py:420 msgid "" "Can be used to force certain locale for an app. Fixes encoding issues in " "legacy software." msgstr "" "Peut être utilisé pour forcer certains paramètres régionaux pour une " -"application. Résout les problèmes d'encodage dans les logiciels 'hérités'." +"application. Résout les problèmes d'encodage dans les logiciels \"hérités\"." -#: lutris/sysoptions.py:511 +#: lutris/sysoptions.py:426 msgid "Command prefix" msgstr "Préfixe de commande" -#: lutris/sysoptions.py:513 +#: lutris/sysoptions.py:428 msgid "" "Command line instructions to add in front of the game's execution command." msgstr "" "Instructions en ligne de commande à ajouter devant la commande " "d'exécution du jeu." -#: lutris/sysoptions.py:520 +#: lutris/sysoptions.py:434 msgid "Manual script" -msgstr "Script Manuel" +msgstr "Script manuel" -#: lutris/sysoptions.py:522 +#: lutris/sysoptions.py:436 msgid "Script to execute from the game's contextual menu" msgstr "Script à exécuter depuis le menu contextuel du jeu" -#: lutris/sysoptions.py:528 +#: lutris/sysoptions.py:442 msgid "Pre-launch script" msgstr "Script de pré-lancement" -#: lutris/sysoptions.py:530 +#: lutris/sysoptions.py:444 msgid "Script to execute before the game starts" msgstr "Script à exécuter avant le début du jeu" -#: lutris/sysoptions.py:536 +#: lutris/sysoptions.py:450 msgid "Wait for pre-launch script completion" msgstr "" "Attendre l'execution du \n" "script de pré-lancement" -#: lutris/sysoptions.py:539 +#: lutris/sysoptions.py:454 msgid "Run the game only once the pre-launch script has exited" -msgstr "N'exécutez le jeu qu'une fois le script de pré-lancement terminé." +msgstr "N\"exécutez le jeu qu'une fois le script de pré-lancement terminé." -#: lutris/sysoptions.py:545 +#: lutris/sysoptions.py:460 msgid "Post-exit script" msgstr "Script post-sortie" -#: lutris/sysoptions.py:547 +#: lutris/sysoptions.py:462 msgid "Script to execute when the game exits" msgstr "Script à exécuter à la sortie du jeu" -#: lutris/sysoptions.py:553 +#: lutris/sysoptions.py:468 msgid "Include processes" msgstr "Inclure des processus" -#: lutris/sysoptions.py:555 +#: lutris/sysoptions.py:471 msgid "" "What processes to include in process monitoring. This is to override the " "built-in exclude list.\n" "Space-separated list, processes including spaces can be wrapped in quotation " "marks." msgstr "" -"Quels processus inclure dans la surveillance du processus. Ceci écrasera la " -"liste d’exclusion .\n" +"Choix des processus à inclure dans la surveillance du processus. Ceci " +"écrasera la liste d’exclusion .\n" "Liste séparée par des espaces, les processus incluant des espaces peuvent " "être englobés avec des guillemets." -#: lutris/sysoptions.py:564 +#: lutris/sysoptions.py:481 msgid "Exclude processes" msgstr "Exclure des processus" -#: lutris/sysoptions.py:566 +#: lutris/sysoptions.py:484 msgid "" "What processes to exclude in process monitoring. For example background " "processes that stick around after the game has been closed.\n" "Space-separated list, processes including spaces can be wrapped in quotation " "marks." msgstr "" -"Quels processus exclure dans la surveillance du processus. Par exemple des " -"processus d’arrière plan qui traînent après que le jeu ait été fermé.\n" +"Choix des processus à exclure dans la surveillance du processus. Par exemple " +"des processus d’arrière plan qui traînent après que le jeu ait été fermé.\n" "Liste séparée par des espaces, les processus incluant des espaces peuvent " "être englobés avec des guillemets." -#: lutris/sysoptions.py:576 +#: lutris/sysoptions.py:495 msgid "Killswitch file" msgstr "Fichier Killswitch" -#: lutris/sysoptions.py:578 +#: lutris/sysoptions.py:498 msgid "" "Path to a file which will stop the game when deleted \n" "(usually /dev/input/js0 to stop the game on joystick unplugging)" @@ -6834,65 +8074,174 @@ msgstr "" "(habituellement /dev/input/js0 pour arrêter le jeu lors du débranchement du " "joystick)" -#: lutris/sysoptions.py:586 +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 +msgid "Xephyr (Deprecated, use Gamescope)" +msgstr "Xephyr (Obsolète, Gamescope est conseillé)" + +#: lutris/sysoptions.py:506 msgid "Use Xephyr" msgstr "Utiliser Xephyr" -#: lutris/sysoptions.py:590 +#: lutris/sysoptions.py:510 msgid "8BPP (256 colors)" msgstr "8BPP (256 couleurs)" -#: lutris/sysoptions.py:591 +#: lutris/sysoptions.py:511 msgid "16BPP (65536 colors)" msgstr "16BPP (65536 couleurs)" -#: lutris/sysoptions.py:592 +#: lutris/sysoptions.py:512 msgid "24BPP (16M colors)" msgstr "24BPP (16M de couleurs)" -#: lutris/sysoptions.py:596 +#: lutris/sysoptions.py:517 msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" msgstr "" "Exécute le programme dans Xephyr pour supporter les modes de couleur 8BPP et " "16BPP" -#: lutris/sysoptions.py:602 +#: lutris/sysoptions.py:523 msgid "Xephyr resolution" msgstr "Résolution Xephyr" -#: lutris/sysoptions.py:604 +#: lutris/sysoptions.py:526 msgid "Screen resolution of the Xephyr server" msgstr "Résolution d’écran du serveur Xephyr" -#: lutris/sysoptions.py:610 +#: lutris/sysoptions.py:532 msgid "Xephyr Fullscreen" msgstr "Xephyr plein écran" -#: lutris/sysoptions.py:613 +#: lutris/sysoptions.py:536 msgid "Open Xephyr in fullscreen (at the desktop resolution)" msgstr "Ouvrir Xephyr en plein écran (à la résolution de l'ordinateur)" -#: lutris/util/flatpak.py:25 +#: lutris/util/flatpak.py:28 msgid "Flatpak is not installed" msgstr "Flatpak n’est pas installé sur votre système." -#: lutris/util/strings.py:120 -msgid "1 hour" -msgstr "1 heure" +#: lutris/util/linux.py:547 +msgid "No terminal emulator could be detected." +msgstr "Aucun émulateur de terminal n'a été détecté." + +#: lutris/util/portals.py:83 +#, python-format +msgid "" +"'%s' could not be moved to the trash. You will need to delete it yourself." +msgstr "" +"\"%s\" N\"a pas pu être déplacé vers la corbeille. Vous devrez le supprimer " +"vous-même." + +#: lutris/util/portals.py:88 +#, python-format +msgid "" +"The items could not be moved to the trash. You will need to delete them " +"yourself:\n" +"%s" +msgstr "" + +#: lutris/util/strings.py:17 +msgid "Never played" +msgstr "Jamais lancé" + +#. This function works out how many hours are meant by some +#. number of some unit. +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hour" +msgstr "heure" + +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hours" +msgstr "heures" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minute" +msgstr "minute" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minutes" +msgstr "minutes" + +#: lutris/util/strings.py:219 lutris/util/strings.py:304 +msgid "Less than a minute" +msgstr "Moins d'une minute" + +#: lutris/util/strings.py:277 +msgid "day" +msgstr "jour" + +#: lutris/util/strings.py:277 +msgid "days" +msgstr "jours" + +#: lutris/util/strings.py:278 +msgid "week" +msgstr "semaine" + +#: lutris/util/strings.py:278 +msgid "weeks" +msgstr "semaines" + +#: lutris/util/strings.py:279 +msgid "month" +msgstr "mois" + +#: lutris/util/strings.py:279 +msgid "months" +msgstr "mois" + +#: lutris/util/strings.py:280 +msgid "year" +msgstr "année" + +#: lutris/util/strings.py:280 +msgid "years" +msgstr "années" + +#: lutris/util/strings.py:310 +#, python-format +msgid "'%s' is not a valid playtime." +msgstr "\"%s\" n'est pas un temps de jeu valide." + +#: lutris/util/strings.py:395 +msgid "in the future" +msgstr "dans le futur" + +#: lutris/util/strings.py:397 +msgid "just now" +msgstr "à l'instant" + +#: lutris/util/strings.py:406 +#, python-format +msgid "%d days" +msgstr "%d jours" -#: lutris/util/strings.py:122 +#: lutris/util/strings.py:410 #, python-format msgid "%d hours" msgstr "%d heures" -#: lutris/util/strings.py:128 +#: lutris/util/strings.py:415 +#, python-format +msgid "%d minutes" +msgstr "%d minutes" + +#: lutris/util/strings.py:417 msgid "1 minute" msgstr "1 minute" -#: lutris/util/strings.py:130 +#: lutris/util/strings.py:421 #, python-format -msgid "%d minutes" -msgstr "%d minutes" +msgid "%d seconds" +msgstr "%d secondes" + +#: lutris/util/strings.py:423 +msgid "1 second" +msgstr "1 seconde" + +#: lutris/util/strings.py:425 +msgid "ago" +msgstr "il y a" #: lutris/util/system.py:25 msgid "Documents" @@ -6918,50 +8267,412 @@ msgstr "Vidéos" msgid "Projects" msgstr "Projets" -#: lutris/util/ubisoft/client.py:102 +#: lutris/util/ubisoft/client.py:95 #, python-format msgid "Ubisoft authentication has been lost: %s" -msgstr "L'authentification Ubisoft a été perdue : %s" +msgstr "L\"authentification Ubisoft a été perdue : %s" -#: lutris/util/wine/dll_manager.py:95 +#: lutris/util/wine/dll_manager.py:102 +#, python-format +msgid "" +"The '%s' runtime component is not installed; visit the Updates tab in the " +"Preferences dialog to install it." +msgstr "" +"Le composant runtime \"%s\" n'est pas installé; visitez la section Mises à " +"jour dans la fenêtre des préférences (trois petits poins) pour l'installer." + +#: lutris/util/wine/dll_manager.py:113 msgid "Manual" msgstr "Manuel" -#: lutris/util/wine/wine.py:315 -msgid "" -"Your limits are not set correctly. Please increase them as described here: " -"How-to:-" -"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +#: lutris/util/wine/proton.py:98 +#, python-format +msgid "Proton version '%s' is missing its wine executable and can't be used." msgstr "" -"Vos limites ne sont pas définies correctement. Merci de les augmenter comme " -"décrit ici : How-to:-Esync (https://github.com/lutris/docs/blob/master/HowToEsync." -"md)" +"Il manque l'exécutable de Wine sur cette version \"%s\" de Proton, le " +"rendant inutilisable." -#: lutris/util/wine/wine.py:324 -msgid "" -"Your kernel is not patched for fsync. Please get a patched kernel to use " -"fsync." -msgstr "" -"Votre noyau n'est pas patché pour fsync. Veuillez obtenir un noyau patché " -"pour utiliser fsync." +#: lutris/util/wine/wine.py:173 +msgid "The Wine version must be specified." +msgstr "La version de Wine doit être spécifiée." -#: lutris/util/wine/wine.py:331 lutris/util/wine/wine.py:343 -msgid "Incompatible Wine version detected" -msgstr "Version de Wine incompatible détectée" +#~ msgid "Sort Ascending" +#~ msgstr "Tri croissant" -#: lutris/util/wine/wine.py:333 -msgid "" -"The Wine build you have selected does not support Esync.\n" -"Please switch to an Esync-capable version." -msgstr "" -"La version de Wine que vous avez sélectionnée ne prend pas en charge Esync.\n" -"Veuillez passer à une version compatible avec Esync." +#~ msgid "Update shader cache" +#~ msgstr "Mettre à jour le cache des nuanceurs (shaders)" -#: lutris/util/wine/wine.py:345 -msgid "" -"The Wine build you have selected does not support Fsync.\n" -"Please switch to an Fsync-capable version." -msgstr "" -"La version de Wine que vous avez sélectionnée ne prend pas en charge Fsync.\n" -"Veuillez passer à une version compatible avec Fsync." +#~ msgid "Add installed game" +#~ msgstr "Ajouter le jeu installé" + +#, python-format +#~ msgid "Unhandled error: %s" +#~ msgstr "Erreur non gérée : %s" + +#~ msgid "Import previously installed Lutris games" +#~ msgstr "Importer des jeux Lutris précédemment installés" + +#~ msgid "" +#~ "Scan a folder for games installed from a previous Lutris installation" +#~ msgstr "" +#~ "Analyser un dossier de jeux installés à partir d'une installation " +#~ "précédente de Lutris" + +#~ msgid "Import a ROM that is known to Lutris" +#~ msgstr "Importer une ROM connue de Lutris" + +#~ msgid "" +#~ "This folder will be scanned for games previously installed with Lutrus.\n" +#~ "\n" +#~ "Folder names have to match their corresponding Lutris ID, each matching " +#~ "IDwill be queried for existing install script to provide for exe " +#~ "locations.\n" +#~ "\n" +#~ "Click 'Continue' to start scanning and import games" +#~ msgstr "" +#~ "Le dossier sera analysé à la recherche de jeux précédemment installés " +#~ "avec Lutris.\n" +#~ "\n" +#~ "Il est important que les noms des répertoires à analyser correspondent à " +#~ "leur identifiant Lutris (Lutris ID), afin que les scripts d'installation, " +#~ "s'ils existent, puissent fournir les emplacements des exécutables (exe).\n" +#~ "\n" +#~ "Cliquez sur 'Continuer' pour commencer à scanner et à importer les jeux" + +#~ msgid "You must select a folder to scan for games." +#~ msgstr "Vous devez sélectionner un dossier pour rechercher des jeux." + +#~ msgid "Games found" +#~ msgstr "Jeux trouvés" + +#~ msgid "No games found" +#~ msgstr "Aucun jeu trouvé" + +#, python-format +#~ msgid "There is no installer available for %s." +#~ msgstr "Il n'y a pas d'installateur disponible pour %s." + +#, python-format +#~ msgid "Categories - %s" +#~ msgstr "Catégories - %s" + +#~ msgid "Use dark theme (requires dark theme variant for Gtk)" +#~ msgstr "" +#~ "Utiliser le thème sombre (requiert une variante du thème sombre pour Gtk)." + +#~ msgid "Hardware information" +#~ msgstr "Information sur le matériel" + +#~ msgid "Hide badges on icons" +#~ msgstr "Masquer les badges sur les icônes" + +#~ msgid "Checking for runtime updates, please wait…" +#~ msgstr "" +#~ "Vérification des mises à jour pour les environnements d’exécution, merci " +#~ "de patienter…" + +#~ msgid "Wine is not installed on your system." +#~ msgstr "Wine n’est pas installé sur votre système." + +#~ msgid "" +#~ "Having Wine installed on your system guarantees that Wine builds from " +#~ "Lutris will have all required dependencies.\n" +#~ "\n" +#~ "Please follow the instructions given in the Lutris Wiki to install " +#~ "Wine." +#~ msgstr "" +#~ "Avoir la version de Wine de votre distribution Linux installé sur votre " +#~ "système garantit que les versions de Wine installés à partir de Lutris " +#~ "auront toutes les dépendances requises.\n" +#~ "Merci de suivre les instructions données dans Wiki de Lutris pour installer " +#~ "Wine." + +#, python-format +#~ msgid "Uninstall %s" +#~ msgstr "Désinstaller %s" + +#~ msgid "No file will be deleted" +#~ msgstr "Aucun fichier ne sera supprimé" + +#, python-format +#~ msgid "The folder %s is used by other games and will be kept." +#~ msgstr "Le dossier %s est utilisé par d'autres jeux et sera conservé." + +#~ msgid "Calculating size…" +#~ msgstr "Calcul de la taille…" + +#, python-format +#~ msgid "%s does not exist." +#~ msgstr "%s n’existe pas" + +#, python-format +#~ msgid "Content of %s are protected and will not be deleted." +#~ msgstr "Les contenus de %s sont protégés et ne seront pas supprimés." + +#, python-format +#~ msgid "Delete %s (%s)" +#~ msgstr "Supprimer %s (%s)" + +#, python-format +#~ msgid "Remove %s" +#~ msgstr "Supprimer %s" + +#, python-format +#~ msgid "" +#~ "Completely remove %s from the library?\n" +#~ "All play time will be lost." +#~ msgstr "" +#~ "Supprimer complètement %s de la bibliothèque ?\n" +#~ "Tous les temps de jeu seront perdus." + +#, python-format +#~ msgid "" +#~ "No visible games matching '%s' found. Press Ctrl+H to show hidden games." +#~ msgstr "" +#~ "Aucun jeu correspondant à '%s' n'a été trouvé. Pressez Ctrl+H pour " +#~ "afficher les jeux cachés." + +#~ msgid "No visible games found. Press Ctrl+H to show hidden games." +#~ msgstr "" +#~ "Aucun jeu installé trouvé. Appuyez sur Ctrl+H pour montrer les jeux " +#~ "cachés." + +#~ msgid "Browse..." +#~ msgstr "Parcourir..." + +#~ msgid "none" +#~ msgstr "aucun" + +#, python-format +#~ msgid "PICO-8 runner (%s)" +#~ msgstr "Exécuteur PICO-8 (%s)" + +#~ msgid "The runner could not find a command to apply the configuration to." +#~ msgstr "" +#~ "L’exécuteur n'a pas pu trouver une commande pour appliquer la " +#~ "configuration." + +#~ msgid "Start Steam with LSI" +#~ msgstr "Lancer Steam avec LSI" + +#~ msgid "" +#~ "Launches steam with LSI patches enabled. Make sure Lutris Runtime is " +#~ "disabled and you have LSI installed. https://github.com/solus-project/" +#~ "linux-steam-integration" +#~ msgstr "" +#~ "Lance steam avec les correctifs LSI activés. Assurez-vous que Lutris " +#~ "Runtime est désactivé et que vous avez installé LSI. https://github.com/" +#~ "solus-project/linux-steam-integration" + +#~ msgid "Remove game data (through Steam)" +#~ msgstr "Supprimer les données du jeu (à travers Steam)" + +#, python-format +#~ msgid "" +#~ "Error Missing Vulkan libraries\n" +#~ "Lutris was unable to detect Vulkan support for the %s architecture.\n" +#~ "This will prevent many games and programs from working.\n" +#~ "To install it, please use the following guide: Installing " +#~ "Graphics Drivers" +#~ msgstr "" +#~ "Erreur Bibliothèques Vulkan manquantes\n" +#~ "Lutris n'a pas pu détecter la prise en charge de l’architecture %s par " +#~ "Vulkan.\n" +#~ "Cela empêchera beaucoup de jeux et de programmes de fonctionner.\n" +#~ "Pour l’installer, merci d’utiliser le guide suivant : Installer des Pilotes Graphiques" + +#~ msgid "" +#~ "Error Vulkan is not installed or is not supported by your system, " +#~ "so DXVK is not available.\n" +#~ "If you have compatible hardware, please follow the installation " +#~ "procedures as described in\n" +#~ "How-to:-" +#~ "DXVK (https://github.com/lutris/docs/blob/master/HowToDXVK.md)" +#~ msgstr "" +#~ "Erreur Vulkan n'est pas installé ou n'est pas pris en charge par " +#~ "votre système, donc DXVK n'est pas disponible.\n" +#~ "Si vous avez un matériel compatible, merci de suivre les procédures " +#~ "d'installation comme décrit dans\n" +#~ "Comment : -DXVK (https://github.com/lutris/docs/blob/master/" +#~ "HowToDXVK.md)" + +#~ msgid "" +#~ "Warning The Wine build you have selected does not support Esync" +#~ msgstr "" +#~ "Avertissement La version de Wine que vous avez sélectionnée ne " +#~ "prend pas en charge Esync." + +#~ msgid "" +#~ "Warning The Wine build you have selected does not support Fsync." +#~ msgstr "" +#~ "Avertissement La version de Wine que vous avez sélectionnée ne " +#~ "prend pas en charge Fsync." + +#~ msgid "Sandbox" +#~ msgstr "Bac à sable" + +#~ msgid "Create a sandbox for Wine folders" +#~ msgstr "Bac à sable pour les dossiers Wine" + +#~ msgid "" +#~ "Do not use $HOME for desktop integration folders.\n" +#~ "By default, it will use the directories in the confined Windows " +#~ "environment." +#~ msgstr "" +#~ "Ne pas utiliser $HOME pour les dossiers d'intégration de bureau.\n" +#~ "Par défaut, cela utilise les répertoires de l’environnement Windows " +#~ "confiné." + +#~ msgid "Sandbox directory" +#~ msgstr "Répertoire du bac à sable" + +#~ msgid "Custom directory for desktop integration folders." +#~ msgstr "Répertoire personnalisé pour les dossiers d’intégration de bureau." + +#~ msgid "The Wine build you have selected does not support Esync." +#~ msgstr "" +#~ "La version de Wine que vous avez sélectionnée ne prend pas en charge " +#~ "Esync.\n" +#~ "Veuillez passer à une version compatible avec Esync." + +#~ msgid "Your kernel is not patched for fsync." +#~ msgstr "" +#~ "Votre noyau n'est pas patché pour fsync. Veuillez obtenir un noyau patché " +#~ "pour utiliser fsync." + +#~ msgid "The Wine build you have selected does not support Fsync." +#~ msgstr "" +#~ "La version de Wine que vous avez sélectionnée ne prend pas en charge " +#~ "Fsync.\n" +#~ "Veuillez passer à une version compatible avec Fsync." + +#~ msgid "" +#~ "Unable to get the patches of game, please check your Amazon credentials " +#~ "and internet connectivity" +#~ msgstr "" +#~ "Impossible d'obtenir les correctifs du jeu, veuillez vérifier vos " +#~ "informations d'identification Amazon et votre connection Internet" + +#~ msgid "Unable to get fuel.json file, please check your Amazon credentials" +#~ msgstr "" +#~ "Impossible d'obtenir le fichier 'fuel.json', veuillez vérifier vos " +#~ "informations d'identification Amazon et votre connection Internet" + +#, python-format +#~ msgid "The download of '%s' failed." +#~ msgstr "Le téléchargement de '%s' a échoué." + +#~ msgid "(recommended)" +#~ msgstr "(recommandé)" + +#~ msgid "Restore gamma on game exit" +#~ msgstr "Restaurer le gamma à la sortie" + +#~ msgid "" +#~ "Some games don't correctly restores gamma on exit, making your display " +#~ "too bright. Select this option to correct it." +#~ msgstr "" +#~ "Certains jeu ne restaurent pas correctement le gamma lorsqu'ils sont " +#~ "quittés, ce qui rend votre écran trop clair. Sélectionnez cette option " +#~ "pour corriger cela." + +#~ msgid "Disable screen saver" +#~ msgstr "Désactiver l’écran de veille" + +#~ msgid "" +#~ "Disable the screen saver while a game is running. Requires the screen " +#~ "saver's functionality to be exposed over DBus." +#~ msgstr "" +#~ "Désactiver l’économiseur d’écran quand le jeu est lancé. Cela requiert " +#~ "que la fonction économiseur d’écran soit exposée à travers DBus." + +#~ msgid "Limit the game's FPS using libstrangle" +#~ msgstr "Limiter les FPS du jeu à un nombre voulu en utilisant 'libstrangle'" + +#~ msgid "Reset PulseAudio" +#~ msgstr "Réinitialiser PulseAudio" + +#~ msgid "Restart PulseAudio before launching the game." +#~ msgstr "Redémarrer PulseAudio avant de lancer le jeu." + +#~ msgid "Enable NVIDIA Prime Render Offload" +#~ msgstr "NVIDIA Prime Render Offload" + +#~ msgid "" +#~ "If you have the latest NVIDIA driver and the properly patched xorg-server " +#~ "(see https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/" +#~ "primerenderoffload.html), you can launch a game on your NVIDIA GPU by " +#~ "toggling this switch. This will apply __NV_PRIME_RENDER_OFFLOAD=1 and " +#~ "__GLX_VENDOR_LIBRARY_NAME=nvidia environment variables." +#~ msgstr "" +#~ "Si vous avez le dernier pilote NVIDIA et le serveur xorg correctement " +#~ "patché (voir https://download.nvidia.com/XFree86/Linux-x86_64/435.17/" +#~ "README/primerenderoffload.html), vous pouvez lancer un jeu sur votre GPU " +#~ "NVIDIA en activant ce commutateur. Cela appliquera les variables " +#~ "d'environnement __NV_PRIME_RENDER_OFFLOAD=1 et " +#~ "__GLX_VENDOR_LIBRARY_NAME=nvidia." + +#~ msgid "Use discrete graphics" +#~ msgstr "Carte Graphique 'dédiée'" + +#~ msgid "" +#~ "If you have open source graphic drivers (Mesa), selecting this option " +#~ "will run the game with the 'DRI_PRIME=1' environment variable, activating " +#~ "your discrete graphic chip for high 3D performance." +#~ msgstr "" +#~ "Si vous avez des pilotes graphiques open source (Mesa), en sélectionnant " +#~ "cette option, le jeu sera exécuté avec la variable d'environnement " +#~ "'DRI_PRIME=1', activant votre carte graphique 'dédiée' pour de meilleures " +#~ "performances 3D." + +#~ msgid "Optimus launcher (NVIDIA Optimus laptops)" +#~ msgstr "NVIDIA Optimus (laptops)" + +#~ msgid "" +#~ "If you have installed the primus or bumblebee packages, select what " +#~ "launcher will run the game with the command, activating your NVIDIA " +#~ "graphic chip for high 3D performance. primusrun normally has better " +#~ "performance, butoptirun/virtualgl works better for more games.Primus VK " +#~ "provide vulkan support under bumblebee." +#~ msgstr "" +#~ "Si vous avez installé les paquets primus ou bumblebee, utilisez cette " +#~ "option pour sélectionner le lanceur qui exécutera le jeu avec votre puce " +#~ "graphique NVIDIA. Primusrun a normalement de meilleures performances 3D, " +#~ "mais optirun / virtualgl fonctionne mieux pour la plupart des jeux. " +#~ "Primus VK fournit un support vulkan sous bumblebee." + +#~ msgid "Vulkan ICD loader" +#~ msgstr "Vulkan ICD loader" + +#~ msgid "" +#~ "The ICD loader is a library that is placed between a Vulkan application " +#~ "and any number of Vulkan drivers, in order to support multiple drivers " +#~ "and the instance-level functionality that works across these drivers." +#~ msgstr "" +#~ "Le chargeur ICD est une bibliothèque qui permet de sélectionner le pilote " +#~ "Vulkan que vous souhaitez utiliser avec votre application Vulkan. " +#~ "L'objectif étant de prendre en charge les multiples pilotes installés sur " +#~ "votre distribution Linux pour en exploiter toutes les fonctionnalités." + +#~ msgid "Incompatible Wine version detected" +#~ msgstr "Version de Wine incompatible détectée" + +#~ msgid "" +#~ "The Wine build you have selected does not support Esync.\n" +#~ "Please switch to an Esync-capable version." +#~ msgstr "" +#~ "La version de Wine que vous avez sélectionnée ne prend pas en charge " +#~ "Esync.\n" +#~ "Veuillez passer à une version compatible avec Esync." + +#~ msgid "" +#~ "The Wine build you have selected does not support Fsync.\n" +#~ "Please switch to an Fsync-capable version." +#~ msgstr "" +#~ "La version de Wine que vous avez sélectionnée ne prend pas en charge " +#~ "Fsync.\n" +#~ "Veuillez passer à une version compatible avec Fsync." diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000000..43d27e6dac --- /dev/null +++ b/po/nb.po @@ -0,0 +1,8335 @@ +msgid "" +msgstr "" +"Project-Id-Version: lutris\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-13 17:00+0100\n" +"PO-Revision-Date: 2025-12-29 15:01+0100\n" +"Last-Translator: Martin Hansen \n" +"Language-Team: Norwegian Bokmål <>\n" +"Language: nb\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: Lokalize 25.12.0\n" + +#: share/applications/net.lutris.Lutris.desktop:2 +#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 +#: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 +#: lutris/services/lutris.py:49 lutris/sysoptions.py:80 lutris/sysoptions.py:90 +#: lutris/sysoptions.py:102 +msgid "Lutris" +msgstr "Lutris" + +#: share/applications/net.lutris.Lutris.desktop:4 +msgid "Video Game Preservation Platform" +msgstr "Plattform for bevaring av videospill" + +#: share/applications/net.lutris.Lutris.desktop:6 +msgid "gaming;wine;emulator;" +msgstr "spilling;wine;emulator;" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:14 +#: share/lutris/ui/about-dialog.ui:18 +msgid "Video game preservation platform" +msgstr "Plattform for bevaring av videospill" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:17 +msgid "Main window" +msgstr "Hovedvindu" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:21 +msgid "" +"Lutris helps you install and play video games from all eras and from most " +"gaming systems. By leveraging and combining existing emulators, engine re-" +"implementations and compatibility layers, it gives you a central interface " +"to launch all your games." +msgstr "" +"Lutris hjelper deg å installere videospill fra alle generasjoner og fra de " +"fleste spillsystemer. Ved å kombinere og ta i bruk eksisterende emulatorer, " +"spillmotor reimplementeringer og kompatibilitetslag, som gir deg et sentralt " +"brukergrensesnitt for å starte alle spillene dine." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +msgid "" +"Lutris downloads the latest GE-Proton build for Wine if any Wine version is " +"installed" +msgstr "" +"Lutris laster ned den nyeste GE-Proton-versjonen for Wine, hvis en Wine-versjo" +"n er installert" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +msgid "Use dark theme by default" +msgstr "Bruk mørkt tema som standard" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +msgid "Display cover-art rather than banners by default" +msgstr "Vis omslag i stedet for banner som standard" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +msgid "Add 'Uncategorized' view to sidebar" +msgstr "Legg til «Ukategorisert»-visning til sidestolpa" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +msgid "" +"Preference options that do not work on Wayland will be hidden when on Wayland" +msgstr "" +"Innstillinger som ikke fungerer på Wayland vil skjules ved bruk av Wayland" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +msgid "" +"Game searches can now use fancy tags like 'installed:yes' or 'source:gog', " +"with explanatory tool-tip" +msgstr "" +"Spill-søk kan nå bruke egne merker som «installert:ja» eller «kilde:gog», med " +"hjelpebobler" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +msgid "" +"A new filter button on the search box can build many of these fancy tags for " +"you" +msgstr "En ny filterknapp på søkeboksen kan gi mange av disse merkene for deg" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +msgid "" +"Runner searches can use 'installed:yes' as well, but no other fancy searches " +"or anything" +msgstr "" +"Startprogram-søk kan også bruke «installert:ja», men ingen andre egne søk" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +msgid "" +"Updated the Flathub and Amazon source to new APIs, restoring integration" +msgstr "" +"Oppdaterte Flathub- og Amazon-kildene til de nye API-ene, gjenoppretter integr" +"asjon" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +msgid "" +"Itch.io source integration will load a collection named 'Lutris' if present" +msgstr "" +"Itch.io-kildeintegrasjon vil laste en samling ved navn «Lutris» hvis tilgjenge" +"lig" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +msgid "" +"GOG and Itch.io sources can now offer Linux and Windows installers for the " +"same game" +msgstr "" +"GOG- og Itch.io-kilder kan nå tilby Linux- og Windows-installeringsprogram for" +" det samme spillet" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +msgid "Added support for the 'foot' terminal" +msgstr "La til støtte for «foot»-terminalen" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +msgid "Support for DirectX 8 in DXVK v2.4" +msgstr "Støtte for DirectX 8 i DXVK v2.4" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +msgid "Support for Ayatana Application Indicators" +msgstr "Støtte for Ayatana program-identifikatorer" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +msgid "Additional options for Ruffle runner" +msgstr "Ytterligere innstillinger for Ruffle-startprogrammet" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +msgid "Updated download links for the Atari800 and MicroM8 runners" +msgstr "" +"Oppdaterte nedlastingslenkene for Atari800- og MicroM8-startprogrammene" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +msgid "" +"No longer re-download cached installation files even when some are missing" +msgstr "" +"Last ikke lenger ned hurtiglagret installasjonsfiler selv om noen av dem mangl" +"er" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +msgid "Lutris log is included in the 'System' tab of the Preferences window" +msgstr "Lutris-loggen legges til i «System»-siden i innstillingene" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +msgid "" +"Improved error reporting, with the Lutris log included in the error details" +msgstr "Forbedret feilraportering, med Lutris-loggen lagt til i feildetaljene" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +msgid "Add AppArmor profile for Ubuntu versions >= 23.10" +msgstr "Legg til AppArmor-profil for Ubuntu versjoner >= 23.10" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 +msgid "Add Duckstation runner" +msgstr "Legg til DuckStation-startprogrammet" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 +msgid "" +"Fix critical bug preventing completion of installs if the script specifies a " +"wine version" +msgstr "" +"Fiks kritisk feil som forhindrer fullføring av installasjoner hvis skriptet ve" +"lger en Wine-versjon" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +msgid "Fix critical bug preventing Steam library sync" +msgstr "Fiks kritisk feil som forhindrer synkronisering av Steam-biblioteket" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +msgid "Fix critical bug preventing game or runner uninstall in Flatpak" +msgstr "" +"Fiks kritisk feil som forhindrer avinstallering av spill eller startprogram fr" +"a Flatpak" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +msgid "Support for library sync to lutris.net, this allows to sync games, play" +msgstr "" +"Støtte for synkronisering av bibliotek til lutris.net, dette tillater synkroni" +"sering av spill" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 +msgid "time and categories to multiple devices." +msgstr "tid og kategorier til flere enheter." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 +msgid "" +"Remove \"Lutris\" service view; with library sync the \"Games\" view " +"replaces it." +msgstr "" +"Fjern «Lutris»-tjenestevisningen; med synkronisering av bibliotek erstattes de" +"n av «Spill»-visningen." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 +msgid "" +"Torturous and sadistic options for multi-GPUs that were half broken and " +"understood by no one have been replaced by a simple GPU selector." +msgstr "" +"Torturerende og sadistiske innstillinger for flere skjermkort som var delvis ø" +"delagte eller forstått av ingen som helst, erstattet av en enkel skjermkort-ve" +"lger." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 +msgid "" +"EXPERIMENTAL support for umu, which allows running games with Proton and" +msgstr "" +"EKSPERIMENTELL støtte for umu, som tillater kjøring av spill med Proton og" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 +msgid "" +"Pressure Vessel. Using Proton in Lutris without umu is no longer possible." +msgstr "" +"Trykkapsel «Pressure Vessel». Bruk av Proton i Lutris uten umu er ikke lenger " +"mulig." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 +msgid "" +"Better and sensible sorting for games (sorting by playtime or last played no " +"longer needs to be reversed)" +msgstr "" +"Bedre og forståelig sortering av spill (sorteres etter spilletid eller sist sp" +"ilt, trenger ikke lenger å snu om rekkefølgen)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +msgid "Support the \"Categories\" command when you select multiple games" +msgstr "Støtt «Kategorier»-kommandoen når du velger flere spill" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +msgid "Notification bar when your Lutris is no longer supported" +msgstr "Varslingslinje når Lutris ikke lenger støttes" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +msgid "Improved error dialog." +msgstr "Forbedret feilvindu." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" +msgstr "Legg til Vita3k-startprogram (takk til @ItsAllAboutTheCode)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +msgid "Add Supermodel runner" +msgstr "Legg til Supermodel-startprogram" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +msgid "WUA files are now supported in Cemu" +msgstr "Støtter nå WUA-filer i Cemu" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +msgid "" +"\"Show Hidden Games\" now displays the hidden games in a separate view, and " +"re-hides them as soon as you leave it." +msgstr "" +"«Vis skjulte spill» viser nå de skjulte spillene i en separat visning, og skju" +"ler dem igjen så raskt du lukker visningen." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +msgid "Support transparent PNG files for custom banner and cover-art" +msgstr "Støtt gjennomsiktig PNG-filer for tilpassede bannere og omslag" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +msgid "Images are now downloaded for manually added games." +msgstr "Bilder lastes nå ned for manuelt lagte spill." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," +msgstr "" +"Foreldelse av «exe», «main_file» eller «iso» plassert ved rota av skriptet." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +msgid "all lutris.net installers have been updated accordingly." +msgstr "alle lutris.net-installeringsprogram har blitt oppdatert deretter." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +msgid "Deprecate libstrangle and xgamma support." +msgstr "Foreldelse av libstrangle og xgamma." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 +msgid "" +"Deprecate DXVK state cache feature (it was never used and is no longer " +"relevant to DXVK 2)" +msgstr "" +"Foreldelse av DXVK-tilstandhurtiglager funksjonen (den var aldri i bruk og er " +"ikke lengre relevant til DXVK 2)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +msgid "Fix bug that prevented installers to complete" +msgstr "Fiks en feil som forhindrer fullførelse av installasjonsprogram" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +msgid "Better handling of Steam configurations for the Steam account picker" +msgstr "Bedre behandling av Steam-oppsett for Steam-kontovelgeren" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 +msgid "Load game library in a background thread" +msgstr "Last spillbibliotek i bakgrunnen" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 +msgid "" +"Fix some crashes happening when using Wayland and a high DPI gaming mouse" +msgstr "" +"Fiks noen krasj som skjer ved bruk av Wayland og en spillmus med høy DPI" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +msgid "Fix crash when opening the system preferences tab for a game" +msgstr "" +"Fiks krasj som skjer ved åpning av systeminnstillinger-siden for et spill" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +msgid "" +"Reduced the locales list to a predefined one (let us know if you need yours " +"added)" +msgstr "" +"Reduserte lokalelista til en angitt en (ta kontakt hvis din skal legges til)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +msgid "Fix Lutris not expanding \"~\" in paths" +msgstr "Fiks feil ved Lutris med utviding av «~» i mappene" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +msgid "Download runtime components from the main window," +msgstr "Last ned kjøretid-komponentene fra hovedvinduet." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +msgid "" +"the \"updating runtime\" dialog appearing before Lutris opens has been " +"removed" +msgstr "fjernet «oppdaterer kjøretiden»-vinduet som ble vist før Lutris åpnet" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +msgid "" +"Add the ability to open a location in your file browser from file picker " +"widgets" +msgstr "" +"Legg til muligheten til å åpne en plassering i filbehandleren fra filvelger-el" +"ementet" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +msgid "" +"Add the ability to select, remove, or stop multiple games in the Lutris " +"window" +msgstr "" +"Legg til muligheten for å velge, fjerne eller stoppe flere spill i Lutris-vind" +"uet" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +msgid "" +"Redesigned 'Uninstall Game' dialog now completely removes games by default" +msgstr "" +"Det nye vinduet «Avinstaller spill» fjerner nå spill fullstendig som standard" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +msgid "Fix the export / import feature" +msgstr "Fiks eksport/import-funksjonen" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +msgid "Show an animation when a game is launched" +msgstr "Vis en animasjon når spillet starter" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +msgid "" +"Add the ability to disable Wine auto-updates at the expense of losing support" +msgstr "" +"Legg til muligheten for å slå av automatiske oppdateringer av Wine på bekostni" +"ng av tap av støtte" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +msgid "Add playtime editing in the game preferences" +msgstr "Legg til redigering av spilletid i spillinnstillingene" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +msgid "" +"Move game files, runners to the trash instead of deleting them they are " +"uninstalled" +msgstr "" +"Flytt spillfilene og startprogrammene til papirkurven i stedet for å slette de" +"m når de avinstalleres" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +msgid "" +"Add \"Updates\" tab in Preferences control and check for updates and correct " +"missing media" +msgstr "" +"Legg til «Oppdateringer»-siden i innstillingene og sjekk etter oppdateringer o" +"g riktige manglende media" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +msgid "in the 'Games' view." +msgstr "i «Spill»-visningen." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +msgid "" +"Add \"Storage\" tab in Preferences to control game and installer cache " +"location" +msgstr "" +"Legg til «Lagring»-siden i innstillingene for å styre plassering av spill- og " +"installasjons-hurtiglager" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +msgid "" +"Expand \"System\" tab in Preferences with more system information but less " +"brown." +msgstr "" +"Utvid «System»-siden i innstillingene med mer systeminformasjon men mindre ski" +"t." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +msgid "Add \"Run Task Manager\" command for Wine games" +msgstr "Legg til «Kjør oppgavebehandler»-kommando for Wine-spill" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +msgid "Add two new, smaller banner sizes for itch.io games." +msgstr "Legg til to nye, mindre banner størrelser for itch.io-spill." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 +msgid "" +"Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" +msgstr "" +"Ignorer Wine-virtuelle skrivebord innstillinger ved bruk av Wine-GE/Proton for" +" å forhindre krasj" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 +msgid "Ignore MangoHUD setting when launching Steam to avoid crash" +msgstr "" +"Ignorer MangoHUD innstillinger ved oppstart av Steam for å forhindre krasj" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 +msgid "Sync Steam playtimes with the Lutris library" +msgstr "Synkroniser Steam-kjøretiden med Lutris-biblioteket" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 +msgid "Add Steam account switcher to handle multiple Steam accounts" +msgstr "Legg til Steam-kontovelger for håndtering av flere Steam-kontoer" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 +msgid "on the same device." +msgstr "på samme enhet." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 +msgid "Add user defined tags / categories" +msgstr "Legg til bruker tilpassede merker / kategorier" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 +msgid "Group every API calls for runtime updates in a single one" +msgstr "Grupper alle API-kall for kjøretid oppdateringer i en enkelt en" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 +msgid "Download appropriate DXVK and VKD3D versions based on" +msgstr "Last ned riktige DXVK- og VKD3D-versjoner basert på" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 +msgid "the available GPU PCI IDs" +msgstr "de tilgjengelige skjermkort PCI-ID-ene" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 +msgid "" +"EA App integration. Your Origin games and saves can be manually imported" +msgstr "" +"EA App-integrasjon. Dine Origin-spill og lagrede spill som kan importeres manu" +"elt" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 +msgid "from your Origin prefix." +msgstr "fra din Origin-prefiks." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 +msgid "Add integration with ScummVM local library" +msgstr "Legg til integrasjon med ScummVM lokalt bibliotek" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 +msgid "Download Wine-GE updates when Lutris starts" +msgstr "Last ned Wine-GE oppdateringer ved oppstart av Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 +msgid "Group GOG and Amazon download in a single progress bar" +msgstr "Grupper GOG og Amazon nedlastinger i en enkelt fremdriftsviser" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 +msgid "Fix blank login window on online services such as GOG or EGS" +msgstr "Fiks tom innloggingsvindu på en nettjeneste eks. GOG eller EGS" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 +msgid "Add a sort name field" +msgstr "Legg til et sorteringsnavnfelt" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 +msgid "Yuzu and xemu now use an AppImage" +msgstr "Yuzu og xemu bruker nå en AppImage" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 +msgid "Experimental support for Flatpak provided runners" +msgstr "Eksperimentell støtte for Flatpak-startprogrammer" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 +msgid "Header-bar search for configuration options" +msgstr "Søk i topptekst for oppsett-innstillinger" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 +msgid "Support for Gamescope 3.12" +msgstr "Støtte for Gamescope 3.12" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 +msgid "Missing games show an additional badge" +msgstr "Manglende spill viser et ytterligere merke" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 +msgid "Add missing dependency on python3-gi-cairo for Debian packages" +msgstr "Legg til manglende avhengighet på python3-gi-cairo for Debian-pakker" + +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 +msgid "About Lutris" +msgstr "Om Lutris" + +#: share/lutris/ui/about-dialog.ui:21 +msgid "" +"This program is free software: you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation, either version 3 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program. If not, see .\n" +msgstr "" +"This program is free software: you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation, either version 3 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program. If not, see .\n" + +#: share/lutris/ui/about-dialog.ui:34 lutris/settings.py:17 +msgid "The Lutris team" +msgstr "Lutris-utviklingslaget" + +#: share/lutris/ui/dialog-lutris-login.ui:8 +msgid "Connect to lutris.net" +msgstr "Koble til lutris.net" + +#: share/lutris/ui/dialog-lutris-login.ui:26 +msgid "Forgot password?" +msgstr "Glemt passordet?" + +#: share/lutris/ui/dialog-lutris-login.ui:43 lutris/gui/dialogs/issue.py:51 +msgid "C_ancel" +msgstr "A_vbryt" + +#: share/lutris/ui/dialog-lutris-login.ui:57 +msgid "_Connect" +msgstr "_Koble til" + +#: share/lutris/ui/dialog-lutris-login.ui:96 +msgid "Password" +msgstr "Passord" + +#: share/lutris/ui/dialog-lutris-login.ui:110 +msgid "Username" +msgstr "Brukernavn" + +#: share/lutris/ui/log-window.ui:36 +msgid "Search..." +msgstr "Søk …" + +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "Reduser tekststørrelsen" + +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "Øk tekststørrelsen" + +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" +msgstr "Logg på Lutris for å vise ditt spill bibliotek" + +#: share/lutris/ui/lutris-window.ui:149 +msgid "" +"Lutris %s is no longer supported. Download %s here!" +msgstr "" +"Lutris %s er ikke lenger støttet. Last ned %s her!" + +#: share/lutris/ui/lutris-window.ui:282 +msgid "" +"Enter the name of a game to search for, or use search terms:\n" +"\n" +"installed:true\t\t\tOnly installed games.\n" +"hidden:true\t\t\tOnly hidden games.\n" +"favorite:true\t\t\tOnly favorite games.\n" +"categorized:true\t\tOnly games in a category.\n" +"category:x\t\t\tOnly games in category x.\n" +"source:steam\t\t\tOnly Steam games\n" +"runner:wine\t\t\tOnly Wine games\n" +"platform:windows\tOnly Windows games\n" +"playtime:>2 hours\tOnly games played for more than 2 " +"hours.\n" +"lastplayed:<2 days\tOnly games played in the last 2 days.\n" +"directory:game/dir\tOnly games at the path." +msgstr "" +"Skriv inn navnet på et spill å søke etter, eller bruk nøkkelord:\n" +"\n" +"installed:true\t\t\tBare installerte spill.\n" +"hidden:true\t\t\tBare skjulte spill.\n" +"favorite:true\t\t\tBare favorittspill.\n" +"categorized:true\t\tBare kategoriserte spill.\n" +"category:x\t\t\tBare spill kategorisert i x.\n" +"source:steam\t\t\tBare Steam-spill\n" +"runner:wine\t\t\tBare Wine-spill\n" +"platform:windows\tBare Windows-spill\n" +"playtime:>2 hours\tBare spill spilt i mer enn 2 timer.\n" +"lastplayed:<2 days\tBare spill spilt de siste 2 dagene.\n" +"directory:game/dir\tBare spill i mappa." + +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:817 +msgid "Search games" +msgstr "Søk etter spill" + +#: share/lutris/ui/lutris-window.ui:346 +msgid "Add Game" +msgstr "Legg til spill" + +#: share/lutris/ui/lutris-window.ui:378 +msgid "Toggle View" +msgstr "Endre visning" + +#: share/lutris/ui/lutris-window.ui:476 +msgid "Zoom " +msgstr "Skalering " + +#: share/lutris/ui/lutris-window.ui:518 +msgid "Sort Installed First" +msgstr "Sorter etter installert først" + +#: share/lutris/ui/lutris-window.ui:532 +msgid "Reverse order" +msgstr "Omvendt rekkefølge" + +#: share/lutris/ui/lutris-window.ui:558 +#: lutris/gui/config/edit_category_games.py:35 +#: lutris/gui/config/edit_saved_search.py:47 +#: lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:64 +#: lutris/gui/views/list.py:199 +msgid "Name" +msgstr "Navn" + +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:65 +msgid "Year" +msgstr "År" + +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:68 +msgid "Last Played" +msgstr "Sist spilt" + +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:70 +msgid "Installed At" +msgstr "Installasjonstidspunkt" + +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:69 +msgid "Play Time" +msgstr "Spilletid" + +#: share/lutris/ui/lutris-window.ui:647 +msgid "_Installed Games Only" +msgstr "_Bare installerte spill" + +#: share/lutris/ui/lutris-window.ui:662 +msgid "Show Side _Panel" +msgstr "Vis side_stolpe" + +#: share/lutris/ui/lutris-window.ui:677 +msgid "Show _Hidden Games" +msgstr "Vis _skjulte spill" + +#: share/lutris/ui/lutris-window.ui:698 +msgid "Preferences" +msgstr "Innstillinger" + +#: share/lutris/ui/lutris-window.ui:723 +msgid "Discord" +msgstr "Discord" + +#: share/lutris/ui/lutris-window.ui:737 +msgid "Lutris forums" +msgstr "Lutris-forum" + +#: share/lutris/ui/lutris-window.ui:751 +msgid "Make a donation" +msgstr "Gi pengegave" + +#: share/lutris/ui/uninstall-dialog.ui:53 +msgid "Uninstalling games" +msgstr "Avinstallerer spill" + +#: share/lutris/ui/uninstall-dialog.ui:92 +msgid "Delete All Files\t" +msgstr "Slett alle filer\t" + +#: share/lutris/ui/uninstall-dialog.ui:108 +msgid "Remove All Games from Library" +msgstr "Fjern alle spill fra biblioteket" + +#: share/lutris/ui/uninstall-dialog.ui:135 +msgid "Remove Games" +msgstr "Fjern spill" + +#: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 +#: lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 +#: lutris/gui/dialogs/__init__.py:172 lutris/gui/dialogs/runner_install.py:275 +#: lutris/gui/installerwindow.py:103 lutris/gui/installerwindow.py:1087 +#: lutris/gui/widgets/download_collection_progress_box.py:153 +#: lutris/gui/widgets/download_progress_box.py:116 +msgid "Cancel" +msgstr "Avbryt" + +#: share/lutris/ui/uninstall-dialog.ui:147 lutris/game_actions.py:198 +#: lutris/game_actions.py:254 +msgid "Remove" +msgstr "Fjern" + +#: lutris/api.py:44 +msgid "never" +msgstr "aldri" + +#: lutris/cache.py:84 +#, python-format +msgid "" +"The cache path '%s' does not exist, but its parent does so it will be " +"created when needed." +msgstr "" +"Hurtiglager mappa «%s» finnes ikke, men dens overmappe finnes, den vil bli " +"opprettet når det trengs" + +#: lutris/cache.py:88 +#, python-format +msgid "" +"The cache path %s does not exist, nor does its parent, so it won't be " +"created." +msgstr "" +"Hurtiglager mappa «%s» og overmappa dens finnes ikke, den blir ikke " +"opprettet." + +#: lutris/exceptions.py:36 +#, python-brace-format +msgid "The directory {} could not be found" +msgstr "Klarte ikke finne mappa {}" + +#: lutris/exceptions.py:50 +msgid "A bios file is required to run this game" +msgstr "Trenger en bios-fil for å kjøre dette spillet" + +#: lutris/exceptions.py:63 +#, python-brace-format +msgid "" +"The following {arch} libraries are required but are not installed on your " +"system:\n" +"{libs}" +msgstr "" +"De følgende {arch}-bibliotekene er nødvendige, men er ikke installert på " +"ditt system:\n" +"{libs}" + +#: lutris/exceptions.py:87 lutris/exceptions.py:99 +#, python-brace-format +msgid "The file {} could not be found" +msgstr "Klarte ikke finne filen {}" + +#: lutris/exceptions.py:101 +msgid "" +"This game has no executable set. The install process didn't finish properly." +msgstr "" +"Dette spillet har ingen programfil satt opp. Installasjonsprosessen kunne " +"ikke fullføre skikkelig" + +#: lutris/exceptions.py:116 +msgid "Your ESYNC limits are not set correctly." +msgstr "ESYNC-grensene dine er ikke satt opp riktig." + +#: lutris/exceptions.py:126 +msgid "" +"Your kernel is not patched for fsync. Please get a patched kernel to use " +"fsync." +msgstr "Kjernen din støtter ikke Fsync. Installer en kjerne som støtter Fsync." + +#: lutris/game_actions.py:190 lutris/game_actions.py:228 +#: lutris/gui/widgets/game_bar.py:217 +msgid "Stop" +msgstr "Stopp" + +#: lutris/game_actions.py:192 lutris/game_actions.py:233 +#: lutris/gui/config/edit_game_categories.py:18 +#: lutris/gui/config/edit_saved_search.py:72 lutris/gui/widgets/sidebar.py:400 +msgid "Categories" +msgstr "Kategorier" + +#: lutris/game_actions.py:193 lutris/game_actions.py:235 +msgid "Add to favorites" +msgstr "Legg til i favoritter" + +#: lutris/game_actions.py:194 lutris/game_actions.py:236 +msgid "Remove from favorites" +msgstr "Fjern fra favoritter" + +#: lutris/game_actions.py:195 lutris/game_actions.py:237 +msgid "Hide game from library" +msgstr "Skjul spillet fra biblioteket" + +#: lutris/game_actions.py:196 lutris/game_actions.py:238 +msgid "Unhide game from library" +msgstr "Synliggjør spillet i biblioteket" + +#. Local services don't show an install dialog, they can be launched directly +#: lutris/game_actions.py:227 lutris/gui/widgets/game_bar.py:210 +#: lutris/gui/widgets/game_bar.py:227 +msgid "Play" +msgstr "Spill" + +#: lutris/game_actions.py:229 +msgid "Execute script" +msgstr "Kjør skript" + +#: lutris/game_actions.py:230 +msgid "Show logs" +msgstr "Vis logg" + +#: lutris/game_actions.py:232 lutris/gui/widgets/sidebar.py:235 +msgid "Configure" +msgstr "Sett opp" + +#: lutris/game_actions.py:234 +msgid "Browse files" +msgstr "Bla gjennom filer" + +#: lutris/game_actions.py:240 lutris/game_actions.py:467 +#: lutris/gui/dialogs/runner_install.py:284 +#: lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:221 +msgid "Install" +msgstr "Installer" + +#: lutris/game_actions.py:241 +msgid "Install another version" +msgstr "Installer en annen versjon" + +#: lutris/game_actions.py:242 +msgid "Install DLCs" +msgstr "Installer DLC-er" + +#: lutris/game_actions.py:243 +msgid "Install updates" +msgstr "Installer oppdateringer" + +#: lutris/game_actions.py:244 lutris/game_actions.py:468 +#: lutris/gui/widgets/game_bar.py:197 +msgid "Locate installed game" +msgstr "Søk etter installert spill" + +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:461 +msgid "Create desktop shortcut" +msgstr "Lag snarvei til skrivebord" + +#: lutris/game_actions.py:246 +msgid "Delete desktop shortcut" +msgstr "Slett skrivebordssnarvei" + +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:468 +msgid "Create application menu shortcut" +msgstr "Lag snarvei til programstarter" + +#: lutris/game_actions.py:248 +msgid "Delete application menu shortcut" +msgstr "Slett programstarter-snarvei" + +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:476 +msgid "Create Steam shortcut" +msgstr "Lag snarvei til Steam" + +#: lutris/game_actions.py:250 +msgid "Delete Steam shortcut" +msgstr "Slett Steam-snarvei" + +#: lutris/game_actions.py:251 lutris/game_actions.py:469 +msgid "View on Lutris.net" +msgstr "Vis på Lutris.net" + +#: lutris/game_actions.py:252 +msgid "Duplicate" +msgstr "Lag kopi" + +#: lutris/game_actions.py:336 +msgid "This game has no installation directory" +msgstr "Spillet har ingen installasjonsmappe" + +#: lutris/game_actions.py:340 +#, python-format +msgid "" +"Can't open %s \n" +"The folder doesn't exist." +msgstr "" +"Klarte ikke finne %s\n" +"Mappa finnes ikke." + +#: lutris/game_actions.py:390 +#, python-format +msgid "" +"Do you wish to duplicate %s?\n" +"The configuration will be duplicated, but the games files will not be " +"duplicated.\n" +"Please enter the new name for the copy:" +msgstr "" +"Ønsker du å lage kopi av %s?\n" +"Oppsettet vil bli kopiert, men spillene dine blir ikke kopiert.\n" +"Skriv inn nytt navn for kopien:" + +#: lutris/game_actions.py:395 +msgid "Duplicate game?" +msgstr "Lag ny kopi av spillet?" + +#. use primary configuration +#: lutris/game_actions.py:446 +msgid "Select shortcut target" +msgstr "Velg målet til snarveien" + +#: lutris/game.py:321 lutris/game.py:508 +msgid "Invalid game configuration: Missing runner" +msgstr "Spilloppsettet er ikke gyldig: Mangler startprogram" + +#: lutris/game.py:387 +msgid "No updates found" +msgstr "Fant ingen oppdateringer" + +#: lutris/game.py:406 +msgid "No DLC found" +msgstr "Fant ingen DLC-er" + +#: lutris/game.py:440 +msgid "Uninstall the game before deleting" +msgstr "Avinstaller spillet før sletting" + +#: lutris/game.py:506 +msgid "Tried to launch a game that isn't installed." +msgstr "Forsøkte å starte et spill som ikke er installert." + +#: lutris/game.py:540 +msgid "Unable to find Xephyr, install it or disable the Xephyr option" +msgstr "Fant ikke Xephyr, installer eller slå av Xephyr" + +#: lutris/game.py:556 +msgid "Unable to find Antimicrox, install it or disable the Antimicrox option" +msgstr "Fant ikke Antimicrox, installer eller slå av Antimicrox" + +#: lutris/game.py:593 +#, python-format +msgid "" +"The selected terminal application could not be launched:\n" +"%s" +msgstr "" +"Klarte ikke starte det valgte terminalprogrammet:\n" +"%s" + +#: lutris/game.py:896 +msgid "Error lauching the game:\n" +msgstr "Feil ved oppstart av spillet:\n" + +#: lutris/game.py:1002 +#, python-format +msgid "" +"Error: Missing shared library.\n" +"\n" +"%s" +msgstr "" +"Feil: Mangler delt bibliotek.\n" +"\n" +"%s" + +#: lutris/game.py:1008 +msgid "" +"Error: A different Wine version is already using the same Wine prefix." +msgstr "" +"Feil: En annen Wine-versjon bruker allerede den samme Wine-prefiksen." + +#: lutris/game.py:1026 +#, python-format +msgid "Lutris can't move '%s' to a location inside of itself, '%s'." +msgstr "Lutris kan ikke flytte «%s» til en plassering inne i seg selv, «%s»." + +#: lutris/gui/addgameswindow.py:24 +msgid "Search the Lutris website for installers" +msgstr "Søk på Lutris-nettstedet for installeringsprogram" + +#: lutris/gui/addgameswindow.py:25 +msgid "Query our website for community installers" +msgstr "Søk på nettstedet våres etter installeringsprogram laget av samfunnet" + +#: lutris/gui/addgameswindow.py:31 +msgid "Install a Windows game from an executable" +msgstr "Installer et Windows-spill fra en programfil" + +#: lutris/gui/addgameswindow.py:32 +msgid "Launch a Windows executable (.exe) installer" +msgstr "Start en Windows-programfil (.exe)" + +#: lutris/gui/addgameswindow.py:38 +msgid "Install from a local install script" +msgstr "Installer fra et lokalt installasjonsskript" + +#: lutris/gui/addgameswindow.py:39 +msgid "Run a YAML install script" +msgstr "Kjør et YAML-installasjonsskript" + +#: lutris/gui/addgameswindow.py:45 +msgid "Import ROMs" +msgstr "Importer ROM" + +#: lutris/gui/addgameswindow.py:46 +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "Importer ROM referert i TOSEC, No-intro eller Redump" + +#: lutris/gui/addgameswindow.py:52 +msgid "Add locally installed game" +msgstr "Legg til lokalt installert spill" + +#: lutris/gui/addgameswindow.py:53 +msgid "Manually configure a game available locally" +msgstr "Sett opp et lokalt tilgjengelig spill manuelt" + +#: lutris/gui/addgameswindow.py:59 +msgid "Add games to Lutris" +msgstr "Legg til spill i Lutris" + +#. Header bar buttons +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:96 +msgid "Back" +msgstr "Tilbake" + +#. Continue Button +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 +#: lutris/gui/installerwindow.py:106 lutris/gui/installerwindow.py:1035 +msgid "_Continue" +msgstr "_Fortsett" + +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 +#: lutris/gui/config/widget_generator.py:655 +msgid "Select folder" +msgstr "Velg mappe" + +#: lutris/gui/addgameswindow.py:115 +msgid "Identifier" +msgstr "Identifikator" + +#: lutris/gui/addgameswindow.py:125 +msgid "Select script" +msgstr "Velg skript" + +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "Velg ROM" + +#: lutris/gui/addgameswindow.py:204 +msgid "" +"Lutris will search Lutris.net for games matching the terms you enter, and " +"any that it finds will appear here.\n" +"\n" +"When you click on a game that it found, the installer window will appear to " +"perform the installation." +msgstr "" +"Lutris vil bruke Lutris.net for søk etter spill som samsvarer med nøkkelord " +"du skriver inn, og alle som den finner vil vises her.\n" +"\n" +"Når du trykker på et spill som det fant, installasjonsvinduet vil vises og " +"utføre installasjonen." + +#: lutris/gui/addgameswindow.py:225 +msgid "Search Lutris.net" +msgstr "Søk på Lutris.net" + +#: lutris/gui/addgameswindow.py:256 +msgid "No results" +msgstr "Ingen resultater" + +#: lutris/gui/addgameswindow.py:258 +#, python-format +msgid "Showing %s results" +msgstr "Viser resultater fra %s" + +#: lutris/gui/addgameswindow.py:260 +#, python-format +msgid "%s results, only displaying first %s" +msgstr "%s resultater, viser bare de første %s" + +#: lutris/gui/addgameswindow.py:289 +msgid "Game name" +msgstr "Spillnavn" + +#: lutris/gui/addgameswindow.py:305 +msgid "" +"Enter the name of the game you will install.\n" +"\n" +"When you click 'Install' below, the installer window will appear and guide " +"you through a simple installation.\n" +"\n" +"It will prompt you for a setup executable, and will use Wine to install it.\n" +"\n" +"If you know the Lutris identifier for the game, you can provide it for " +"improved Lutris integration, such as Lutris provided banners." +msgstr "" +"Skriv inn navnet på spillet du vil installere.\n" +"\n" +"Når du trykker «Installer» nedenfor, vil installasjonsvinduet vises og " +"hjelpe deg gjennom en enkel installasjon.\n" +"\n" +"Den vil be deg om en programfil, og vil bruke Wine til å installere den.\n" +"\n" +"Hvis kjenner til Lutris-identifikatoren for spillet, kan du oppgi den for " +"forbedret Lutris-integrasjon, slik som Lutris leverte bannere." + +#: lutris/gui/addgameswindow.py:314 +msgid "Installer preset:" +msgstr "Forvalgt installeringsprogram" + +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "Windows 11 64-bit" + +#: lutris/gui/addgameswindow.py:318 +msgid "Windows 10 64-bit (Default)" +msgstr "Windows 10 64-bit (Standard)" + +#: lutris/gui/addgameswindow.py:319 +msgid "Windows 7 64-bit" +msgstr "Windows 7 64-bit" + +#: lutris/gui/addgameswindow.py:320 +msgid "Windows XP 32-bit" +msgstr "Windows XP 32-bit" + +#: lutris/gui/addgameswindow.py:321 +msgid "Windows XP + 3DFX 32-bit" +msgstr "Windows XP + 3DFX 32-bit" + +#: lutris/gui/addgameswindow.py:322 +msgid "Windows 98 32-bit" +msgstr "Windows 98 32-bit" + +#: lutris/gui/addgameswindow.py:323 +msgid "Windows 98 + 3DFX 32-bit" +msgstr "Windows 98 + 3DFX 32-bit" + +#: lutris/gui/addgameswindow.py:334 +msgid "Locale:" +msgstr "Lokale:" + +#: lutris/gui/addgameswindow.py:359 +msgid "Select setup file" +msgstr "Velg oppsettsfil" + +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 +#: lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1070 +msgid "_Install" +msgstr "_Installer" + +#: lutris/gui/addgameswindow.py:377 +msgid "You must provide a name for the game you are installing." +msgstr "Du må skrive inn navn for spillet du er i ferd med å installere." + +#: lutris/gui/addgameswindow.py:397 +msgid "Setup file" +msgstr "Oppsettsfil" + +#: lutris/gui/addgameswindow.py:403 +msgid "Select the setup file" +msgstr "Velg oppsettsfila" + +#: lutris/gui/addgameswindow.py:424 +msgid "Script file" +msgstr "Skriptfil" + +#: lutris/gui/addgameswindow.py:430 +msgid "" +"Lutris install scripts are YAML files that guide Lutris through the " +"installation process.\n" +"\n" +"They can be obtained on Lutris.net, or written by hand.\n" +"\n" +"When you click 'Install' below, the installer window will appear and load " +"the script, and it will guide the process from there." +msgstr "" +"Lutris-installasjonsskript er YAML-filer som viser Lutris veien gjennom " +"installasjonsprosessen.\n" +"\n" +"De kan hentes fra Lutris.net, eller skrives for hånd.\n" +"\n" +"Når du trykker «Installer» nedenfor, vil installasjonsvinduet vises og laste " +"skriptet, og vil hjelpe deg gjennom prosessen derfra." + +#: lutris/gui/addgameswindow.py:441 +msgid "Select a Lutris installer" +msgstr "Velg Lutris-installeringsprogram" + +#: lutris/gui/addgameswindow.py:448 +msgid "You must select a script file to install." +msgstr "Du må velge en skriptfil å installere." + +#: lutris/gui/addgameswindow.py:450 +#, python-format +msgid "No file exists at '%s'." +msgstr "Ingen fil finnes på «%s»." + +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 +#: lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 +#: lutris/runners/libretro.py:76 lutris/runners/mame.py:80 +#: lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 +#: lutris/runners/o2em.py:47 lutris/runners/openmsx.py:20 +#: lutris/runners/osmose.py:20 lutris/runners/snes9x.py:29 +#: lutris/runners/vice.py:37 lutris/runners/yuzu.py:23 +msgid "ROM file" +msgstr "ROM-fil" + +#: lutris/gui/addgameswindow.py:471 +msgid "" +"Lutris will identify ROMs via its MD5 hash and download game information " +"from Lutris.net.\n" +"\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" +"\n" +"When you click 'Install' below, the process of installing the games will " +"begin." +msgstr "" +"Lutris vil identifisere ROM via dens MD5-sjekksum og laste ned " +"spillinformasjon fra Lutris.net.\n" +"\n" +"ROM-dataen som brukes kommer fra TOSEC, No-intro og Redump-prosjektene.\n" +"\n" +"Når du trykker «Installer» nedenfor, vil prosessen med installering av " +"spillene begynne." + +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "Velg ROM" + +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." +msgstr "Du må velge en ROM å installere." + +#: lutris/gui/application.py:102 +msgid "Do not run Lutris as root." +msgstr "Ikke kjør Lutris som rot." + +#: lutris/gui/application.py:113 +msgid "Your Linux distribution is too old. Lutris won't function properly." +msgstr "Din Linux-distribusjon er for gammel. Lutris vil ikke fungere riktig." + +#: lutris/gui/application.py:119 +msgid "" +"Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" +"If several games share the same identifier you can use the numerical ID " +"(displayed when running lutris --list-games) and add lutris:rungameid/" +"numerical-id.\n" +"To install a game, add lutris:install/game-identifier." +msgstr "" +"Start et spill direkte ved å legge til parameteret «lutris:rungame/" +"spillidentifikator».\n" +"Hvis flere spill bruker samme identifikator, kan du bruke ID-en til spillet " +"(vises ved bruk av «lutris --list-games») og legg til lutris:rungameid/spill-" +"ID.\n" +"For å installere et spill, legg til «lutris:install/spillidentifikator»." + +#: lutris/gui/application.py:133 +msgid "Print the version of Lutris and exit" +msgstr "Vis versjonsnummeret og avslutt" + +#: lutris/gui/application.py:141 +msgid "Show debug messages" +msgstr "Vis feilsøkingsmeldinger" + +#: lutris/gui/application.py:149 +msgid "Install a game from a yml file" +msgstr "Installer et spill fra en yml-fil" + +#: lutris/gui/application.py:157 +msgid "Force updates" +msgstr "Tving gjennom oppdateringer" + +#: lutris/gui/application.py:165 +msgid "Generate a bash script to run a game without the client" +msgstr "Generer et bash-skript for å kjøre et spill uten programmet" + +#: lutris/gui/application.py:173 +msgid "Execute a program with the Lutris Runtime" +msgstr "Kjør et program med Lutris-kjøretiden" + +#: lutris/gui/application.py:181 +msgid "List all games in database" +msgstr "Vis alle spillene fra databasen i en liste" + +#: lutris/gui/application.py:189 +msgid "Only list installed games" +msgstr "Vis bare installerte spill" + +#: lutris/gui/application.py:197 +msgid "List available Steam games" +msgstr "Vis alle tilgjengelige Steam-spill" + +#: lutris/gui/application.py:205 +msgid "List all known Steam library folders" +msgstr "Vis alle kjente Steam-bibliotekmappene" + +#: lutris/gui/application.py:213 +msgid "List all known runners" +msgstr "Vis alle kjente startprogrammer" + +#: lutris/gui/application.py:221 +msgid "List all known Wine versions" +msgstr "Vis alle kjente Wine-versjoner" + +#: lutris/gui/application.py:229 +msgid "List all games for all services in database" +msgstr "Vis alle spillene fra alle tjenestene i databasen" + +#: lutris/gui/application.py:237 +msgid "List all games for provided service in database" +msgstr "Vis alle spillene gitte tjenester i databasen" + +#: lutris/gui/application.py:245 +msgid "Install a Runner" +msgstr "Installer et startprogram" + +#: lutris/gui/application.py:253 +msgid "Uninstall a Runner" +msgstr "Avinstaller et startprogram" + +#: lutris/gui/application.py:261 +msgid "Export a game" +msgstr "Eksporter et spill" + +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 +msgid "Import a game" +msgstr "Importer et spill" + +#: lutris/gui/application.py:278 +msgid "Show statistics about a game saves" +msgstr "Vis statistikk om lagrede spill" + +#: lutris/gui/application.py:286 +msgid "Upload saves" +msgstr "Last opp lagrede spill" + +#: lutris/gui/application.py:294 +msgid "Verify status of save syncing" +msgstr "Bekreft status for synkronisering av lagrede spill" + +#: lutris/gui/application.py:303 +msgid "Destination path for export" +msgstr "Målmappe for eksport" + +#: lutris/gui/application.py:311 +msgid "Display the list of games in JSON format" +msgstr "Vis liste over spill i JSON-format" + +#: lutris/gui/application.py:319 +msgid "Reinstall game" +msgstr "Installer spillet på nytt" + +#: lutris/gui/application.py:322 +msgid "Submit an issue" +msgstr "Send inn en sak" + +#: lutris/gui/application.py:328 +msgid "URI to open" +msgstr "URI som skal åpnes" + +#: lutris/gui/application.py:413 +msgid "No installer available." +msgstr "Ingen installeringsprogram tilgjengelig." + +#: lutris/gui/application.py:628 +#, python-format +msgid "%s is not a valid URI" +msgstr "%s er ikke en gyldig URI" + +#: lutris/gui/application.py:651 +#, python-format +msgid "Failed to download %s" +msgstr "Klarte ikke laste ned %s" + +#: lutris/gui/application.py:660 +#, python-brace-format +msgid "download {url} to {file} started" +msgstr "nedlasting fra {url} til {file} begynt" + +#: lutris/gui/application.py:671 +#, python-format +msgid "No such file: %s" +msgstr "Manglende fil: %s" + +#: lutris/gui/config/accounts_box.py:39 +msgid "Sync Again" +msgstr "Synkroniser igjen" + +#: lutris/gui/config/accounts_box.py:49 +msgid "Steam accounts" +msgstr "Steam-kontoer" + +#: lutris/gui/config/accounts_box.py:52 +msgid "" +"Select which Steam account is used for Lutris integration and creating Steam " +"shortcuts." +msgstr "" +"Velg hvilken Steam-konto som skal brukes for Lutris-integrasjon, og " +"opprettelse av Steam-snarveier." + +#: lutris/gui/config/accounts_box.py:89 +#, python-format +msgid "Connected as %s" +msgstr "Tilkoblet som %s" + +#: lutris/gui/config/accounts_box.py:91 +msgid "Not connected" +msgstr "Ikke koblet til" + +#: lutris/gui/config/accounts_box.py:96 +msgid "Logout" +msgstr "Logg ut" + +#: lutris/gui/config/accounts_box.py:99 +msgid "Login" +msgstr "Logg inn" + +#: lutris/gui/config/accounts_box.py:112 +msgid "Keep your game library synced with Lutris.net" +msgstr "Hold ditt spillbibliotek synkronisert med Lutris.net" + +#: lutris/gui/config/accounts_box.py:125 +msgid "" +"This will send play time, last played, runner, platform \n" +"and store information to the lutris website so you can \n" +"sync this data on multiple devices" +msgstr "" +"Dette vil sende spilletid, sist spilt, startprogram, plattform \n" +"og lagre informasjon til Lutris-nettsiden så du kan \n" +"synkronisere denne dataen på flere enheter" + +#: lutris/gui/config/accounts_box.py:153 +msgid "No Steam account found" +msgstr "Fant ingen Steam-konto" + +#: lutris/gui/config/accounts_box.py:180 +msgid "Syncing library..." +msgstr "Synkroniserer bibliotek …" + +#: lutris/gui/config/accounts_box.py:189 +#, python-format +msgid "Last synced %s." +msgstr "Sist synkronisert %s." + +#: lutris/gui/config/accounts_box.py:201 +msgid "Synchronize library?" +msgstr "Synkroniser biblioteket?" + +#: lutris/gui/config/accounts_box.py:202 +msgid "Enable library sync and run a full sync with lutris.net?" +msgstr "" +"Slå på synkronisering av biblioteket og begynn en full synkronisering med " +"lutris.net?" + +#: lutris/gui/config/add_game_dialog.py:11 +msgid "Add a new game" +msgstr "Legg til et nytt spill" + +#: lutris/gui/config/boxes.py:211 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration." +msgstr "" +"Hvis endret, erstatter disse innstillingene de samme fra " +"grunnkjøreroppsettet." + +#: lutris/gui/config/boxes.py:237 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration, which themselves supersede the global preferences." +msgstr "" +"Hvis endret, erstatter disse innstillingene de samme fra " +"grunnkjøreroppsettet, som også overstyrer det globale oppsettet." + +#: lutris/gui/config/boxes.py:244 +msgid "" +"If modified, these options supersede the same options from the global " +"preferences." +msgstr "" +"Hvis endret, erstatter disse innstillingene de samme fra det globale " +"oppsettet." + +#: lutris/gui/config/boxes.py:293 +msgid "Reset option to global or default config" +msgstr "Tilbakestiller til globale- eller standardinnstillinger" + +#: lutris/gui/config/boxes.py:323 +msgid "" +"(Italic indicates that this option is modified in a lower configuration " +"level.)" +msgstr "" +"(Kursiv indikerer at dette alternativet er endret i et lavere " +"oppsettsnivå.)" + +#: lutris/gui/config/boxes.py:336 +#, python-format +msgid "No options match '%s'" +msgstr "Ingen innstillinger samsvarer med «%s»" + +#. type:ignore[attr-defined] +#: lutris/gui/config/boxes.py:338 +msgid "Only advanced options available" +msgstr "Bare avanserte innstillinger tilgjengelige" + +#: lutris/gui/config/boxes.py:340 +msgid "No options available" +msgstr "Ingen innstillinger tilgjengelige" + +#: lutris/gui/config/edit_category_games.py:18 +#: lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:315 +#: lutris/gui/config/runner.py:18 +#, python-format +msgid "Configure %s" +msgstr "Sett opp %s" + +#: lutris/gui/config/edit_category_games.py:69 +#, python-format +msgid "Do you want to delete the category '%s'?" +msgstr "Vil du slette kategorien «%s»?" + +#: lutris/gui/config/edit_category_games.py:71 +msgid "" +"This will permanently destroy the category, but the games themselves will " +"not be deleted." +msgstr "" +"Dette vil ødelegge kategorien for alltid, men spillene dem selv vil ikke " +"slettes." + +#: lutris/gui/config/edit_category_games.py:113 +#, python-format +msgid "'%s' is a reserved category name." +msgstr "«%s» er et reservert kategorinavn." + +#: lutris/gui/config/edit_category_games.py:118 +#, python-format +msgid "Merge the category '%s' into '%s'?" +msgstr "Flett kategorien «%s» til «%s»?" + +#: lutris/gui/config/edit_category_games.py:120 +#, python-format +msgid "" +"If you rename this category, it will be combined with '%s'. Do you want to " +"merge them?" +msgstr "" +"Hvis du gir nytt navn til denne kategorien, vil den bli kombinert med «%s». " +"Vil du flette dem sammen?" + +#: lutris/gui/config/edit_game_categories.py:78 +#, python-format +msgid "%d games" +msgstr "%d spill" + +#: lutris/gui/config/edit_game_categories.py:117 +msgid "Add Category" +msgstr "Legg til kategori" + +#: lutris/gui/config/edit_game_categories.py:119 +msgid "Adds the category to the list." +msgstr "Legger kategorien til lista." + +#: lutris/gui/config/edit_game_categories.py:154 +msgid "" +"You are updating the categories on 1 game. Are you sure you want to change " +"it?" +msgstr "" +"Du oppdaterer kategorien til 1 spill. Er du sikker på at du vil endre den?" + +#: lutris/gui/config/edit_game_categories.py:157 +#, python-format +msgid "" +"You are updating the categories on %d games. Are you sure you want to change " +"them?" +msgstr "" +"Du oppdaterer kategoriene til %d spill. Er du sikker på at du vil endre dem?" + +#: lutris/gui/config/edit_game_categories.py:163 +msgid "Changing Categories" +msgstr "Endrer kategoriene" + +#: lutris/gui/config/edit_saved_search.py:19 +msgid "New Saved Search" +msgstr "Nytt lagret søk" + +#: lutris/gui/config/edit_saved_search.py:53 +msgid "Search" +msgstr "Søk" + +#: lutris/gui/config/edit_saved_search.py:130 +msgid "Installed" +msgstr "Installert" + +#: lutris/gui/config/edit_saved_search.py:131 +msgid "Favorite" +msgstr "Favoritt" + +#: lutris/gui/config/edit_saved_search.py:132 lutris/gui/widgets/sidebar.py:493 +msgid "Hidden" +msgstr "Skjult" + +#: lutris/gui/config/edit_saved_search.py:133 +msgid "Categorized" +msgstr "Kategorisert" + +#: lutris/gui/config/edit_saved_search.py:170 +#: lutris/gui/config/edit_saved_search.py:223 +msgid "-" +msgstr "–" + +#: lutris/gui/config/edit_saved_search.py:171 +msgid "Yes" +msgstr "Ja" + +#: lutris/gui/config/edit_saved_search.py:172 +msgid "No" +msgstr "Nei" + +#: lutris/gui/config/edit_saved_search.py:184 +msgid "Source" +msgstr "Kilde" + +#: lutris/gui/config/edit_saved_search.py:191 +#: lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:66 +msgid "Runner" +msgstr "Startprogram" + +#: lutris/gui/config/edit_saved_search.py:198 lutris/gui/views/list.py:67 +#: lutris/runners/dolphin.py:34 lutris/runners/scummvm.py:259 +msgid "Platform" +msgstr "Plattform" + +#: lutris/gui/config/edit_saved_search.py:292 +#, python-format +msgid "'%s' is already a saved search." +msgstr "«%s» er allerede et lagret søk." + +#: lutris/gui/config/edit_saved_search.py:336 +#, python-format +msgid "Do you want to delete the saved search '%s'?" +msgstr "Vil du slette det lagrede søket «%s»?" + +#: lutris/gui/config/edit_saved_search.py:338 +msgid "" +"This will permanently destroy the saved search, but the games themselves " +"will not be deleted." +msgstr "" +"Dette vil ødelegge det lagrede søket for alltid, men spillene dem selv vil " +"ikke slettes." + +#: lutris/gui/config/game_common.py:35 +msgid "Select a runner in the Game Info tab" +msgstr "Velg et startprogram i spillinfo-siden" + +#: lutris/gui/config/game_common.py:143 lutris/gui/config/runner.py:27 +#, python-format +msgid "Search %s options" +msgstr "Søk etter %s innstillinger" + +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 +msgid "Search options" +msgstr "Søkeinnstillinger" + +#: lutris/gui/config/game_common.py:172 +msgid "Game info" +msgstr "Spillinfo" + +#: lutris/gui/config/game_common.py:187 +msgid "Sort name" +msgstr "Sorter etter navn" + +#: lutris/gui/config/game_common.py:203 +#, python-format +msgid "" +"Identifier\n" +"(Internal ID: %s)" +msgstr "" +"Identifikator\n" +"(Intern-ID: %s)" + +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 +msgid "Change" +msgstr "Endre" + +#: lutris/gui/config/game_common.py:223 +msgid "Directory" +msgstr "Mappe" + +#: lutris/gui/config/game_common.py:229 +msgid "Move" +msgstr "Flytt" + +#: lutris/gui/config/game_common.py:249 +msgid "The default launch option will be used for this game" +msgstr "Standard startinnstillingen vil bli brukt for dette spillet" + +#: lutris/gui/config/game_common.py:251 +#, python-format +msgid "The '%s' launch option will be used for this game" +msgstr "Startinnstillingen «%s» vil bli brukt for dette spillet" + +#: lutris/gui/config/game_common.py:258 +msgid "Reset" +msgstr "Tilbakestill" + +#: lutris/gui/config/game_common.py:289 +msgid "Set custom cover art" +msgstr "Velg tilpasset omslag" + +#: lutris/gui/config/game_common.py:289 +msgid "Remove custom cover art" +msgstr "Fjern tilpasset omslag" + +#: lutris/gui/config/game_common.py:290 +msgid "Set custom banner" +msgstr "Velg tilpasset banner" + +#: lutris/gui/config/game_common.py:290 +msgid "Remove custom banner" +msgstr "Fjern tilpasset banner" + +#: lutris/gui/config/game_common.py:291 +msgid "Set custom icon" +msgstr "Velg tilpasset ikon" + +#: lutris/gui/config/game_common.py:291 +msgid "Remove custom icon" +msgstr "Fjern tilpasset ikon" + +#: lutris/gui/config/game_common.py:324 +msgid "Release year" +msgstr "Utgivelsesår" + +#: lutris/gui/config/game_common.py:337 +msgid "Playtime" +msgstr "Spilletid" + +#: lutris/gui/config/game_common.py:383 +msgid "Select a runner from the list" +msgstr "Velg et startprogram fra lista" + +#: lutris/gui/config/game_common.py:391 +msgid "Apply" +msgstr "Bruk" + +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 +#: lutris/gui/config/game_common.py:461 +msgid "Game options" +msgstr "Spillinnstillinger" + +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 +msgid "Runner options" +msgstr "Startprogram-innstillinger" + +#: lutris/gui/config/game_common.py:473 +msgid "System options" +msgstr "Systeminnstillinger" + +#: lutris/gui/config/game_common.py:510 +msgid "Show advanced options" +msgstr "Vis avanserte innstillinger" + +#: lutris/gui/config/game_common.py:512 +msgid "Advanced" +msgstr "Avansert" + +#: lutris/gui/config/game_common.py:566 +msgid "" +"Are you sure you want to change the runner for this game ? This will reset " +"the full configuration for this game and is not reversible." +msgstr "" +"Er du sikker på at du vil endre startprogram for dette spillet? Dette vil tilb" +"akestille hele oppsettet for dette spillet og kan ikke reverseres." + +#: lutris/gui/config/game_common.py:570 +msgid "Confirm runner change" +msgstr "Bekreft endring av startprogram" + +#: lutris/gui/config/game_common.py:622 +msgid "Runner not provided" +msgstr "Startprogram ikke oppgitt" + +#: lutris/gui/config/game_common.py:625 +msgid "Please fill in the name" +msgstr "Skriv inn navnet" + +#: lutris/gui/config/game_common.py:628 +msgid "Steam AppID not provided" +msgstr "Steam AppID ikke oppgitt" + +#: lutris/gui/config/game_common.py:654 +msgid "The following fields have invalid values: " +msgstr "Følgende felt har ugyldige verdier: " + +#: lutris/gui/config/game_common.py:661 +msgid "Current configuration is not valid, ignoring save request" +msgstr "Gjeldende oppsett er ikke gyldig, ignorerer lagringsforespørselen" + +#: lutris/gui/config/game_common.py:705 +msgid "Please choose a custom image" +msgstr "Velg et tilpasset bilde" + +#: lutris/gui/config/game_common.py:713 +msgid "Images" +msgstr "Bilder" + +#: lutris/gui/config/preferences_box.py:22 +msgid "Minimize client when a game is launched" +msgstr "Minimer programmet når et spill er i ferd med å starte" + +#: lutris/gui/config/preferences_box.py:24 +msgid "" +"Minimize the Lutris window while playing a game; it will return when the " +"game exits." +msgstr "" +"Minimer vinduet mens du spiller; den vises igjen når spillet avsluttes." + +#: lutris/gui/config/preferences_box.py:28 +msgid "Hide text under icons" +msgstr "Skjul tekst under ikoner" + +#: lutris/gui/config/preferences_box.py:30 +msgid "" +"Removes the names from the Lutris window when in grid view, but not list " +"view." +msgstr "Fjerner spillnavnene i rutenettvisning men ikke i listevisning." + +#: lutris/gui/config/preferences_box.py:34 +msgid "Hide badges on icons (Ctrl+p to toggle)" +msgstr "Skjul merker på ikoner («Ctrl + P» for å slå av/på)" + +#: lutris/gui/config/preferences_box.py:37 +msgid "" +"Removes the platform and missing-game badges from icons in the Lutris window." +msgstr "Fjerner plattform- og manglende spillmerker fra ikoner i vinduet." + +#: lutris/gui/config/preferences_box.py:41 +msgid "Show Tray Icon" +msgstr "Vis systemkurveikon" + +#: lutris/gui/config/preferences_box.py:45 +msgid "" +"Adds a Lutris icon to the tray, and prevents Lutris from exiting when the " +"Lutris window is closed. You can still exit using the menu of the tray icon." +msgstr "" +"Legger til et Lutris-ikon til systemkurven, og hindrer Lutris fra å avslutte " +"når vinduet lukkes. Du kan fortsatt avslutte ved å bruke menyen til ikonet " +"på systemkurven." + +#: lutris/gui/config/preferences_box.py:51 +msgid "Enable Discord Rich Presence for Available Games" +msgstr "Bruk Discord Rich Presence for tilgjengelige spill" + +#: lutris/gui/config/preferences_box.py:57 +msgid "Theme" +msgstr "Tema" + +#: lutris/gui/config/preferences_box.py:59 +msgid "System Default" +msgstr "Systemstandard" + +#: lutris/gui/config/preferences_box.py:60 +msgid "Light" +msgstr "Lys" + +#: lutris/gui/config/preferences_box.py:61 +msgid "Dark" +msgstr "Mørk" + +#: lutris/gui/config/preferences_box.py:64 +msgid "Overrides Lutris's appearance to be light or dark." +msgstr "Overstyrer Lutris sitt utseende til å være lyst eller mørkt." + +#: lutris/gui/config/preferences_box.py:72 +msgid "Interface options" +msgstr "Grensesnittinstillinger" + +#: lutris/gui/config/preferences_dialog.py:23 +msgid "Lutris settings" +msgstr "Lutris-innstillinger" + +#: lutris/gui/config/preferences_dialog.py:35 +msgid "Interface" +msgstr "Grensesnitt" + +#: lutris/gui/config/preferences_dialog.py:36 lutris/gui/widgets/sidebar.py:403 +msgid "Runners" +msgstr "Startprogrammer" + +#: lutris/gui/config/preferences_dialog.py:37 lutris/gui/widgets/sidebar.py:402 +msgid "Sources" +msgstr "Kilder" + +#: lutris/gui/config/preferences_dialog.py:38 +msgid "Accounts" +msgstr "Kontoer" + +#: lutris/gui/config/preferences_dialog.py:39 +msgid "Updates" +msgstr "Oppdateringer" + +#: lutris/gui/config/preferences_dialog.py:40 lutris/sysoptions.py:28 +msgid "System" +msgstr "System" + +#: lutris/gui/config/preferences_dialog.py:41 +msgid "Storage" +msgstr "Lagring" + +#: lutris/gui/config/preferences_dialog.py:42 +msgid "Global options" +msgstr "Globale innstillinger" + +#: lutris/gui/config/preferences_dialog.py:111 +msgid "Search global options" +msgstr "Søk etter globale innstillinger" + +#: lutris/gui/config/runner_box.py:89 lutris/gui/widgets/sidebar.py:254 +#, python-format +msgid "Manage %s versions" +msgstr "Håndter %s versjoner" + +#: lutris/gui/config/runner_box.py:109 +#, python-format +msgid "Do you want to uninstall %s?" +msgstr "Vil du avinstallere %s?" + +#: lutris/gui/config/runner_box.py:110 +#, python-format +msgid "This will remove %s and all associated data." +msgstr "Dette vil fjerne %s og alle tilknyttede data." + +#: lutris/gui/config/runners_box.py:22 +msgid "Add, remove or configure runners" +msgstr "Legg til, fjern eller sett opp startprogrammer" + +#: lutris/gui/config/runners_box.py:25 +msgid "" +"Runners are programs such as emulators, engines or translation layers " +"capable of running games." +msgstr "" +"Startprogrammer er kjørbare programmer eks. emulatorer, spillmotorer eller ove" +"rsettelseslag i stand til å kjøre spill." + +#: lutris/gui/config/runners_box.py:28 +msgid "No runners matched the search" +msgstr "Ingen startprogrammer samsvarer med søket" + +#. pretty sure there will always be many runners, so assume plural +#: lutris/gui/config/runners_box.py:47 +#, python-format +msgid "Search %s runners" +msgstr "Søk etter %s startprogrammer" + +#: lutris/gui/config/services_box.py:18 +msgid "Enable integrations with game sources" +msgstr "Bruk integrasjoner med spillkilder" + +#: lutris/gui/config/services_box.py:21 +msgid "" +"Access your game libraries from various sources. Changes require a restart " +"to take effect." +msgstr "" +"Få tilgang til spillbibliotekene dine fra forskjellige kilder. Endringer " +"krever omstart for å tre i kraft." + +#: lutris/gui/config/storage_box.py:24 +msgid "Paths" +msgstr "Mapper" + +#: lutris/gui/config/storage_box.py:36 +msgid "Game library" +msgstr "Spillbibliotek" + +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 +msgid "The default folder where you install your games." +msgstr "Standardmappa der du installerer spillene dine." + +#: lutris/gui/config/storage_box.py:43 +msgid "Installer cache" +msgstr "Installasjonshurtiglager" + +#: lutris/gui/config/storage_box.py:48 +msgid "" +"If provided, files downloaded during game installs will be kept there\n" +"\n" +"Otherwise, all downloaded files are discarded." +msgstr "" +"Hvis oppgitt, vil filer som lastes ned under spillinstallasjoner, bli " +"oppbevart der\n" +"\n" +"Ellers blir alle nedlastede filer forkastet." + +#: lutris/gui/config/storage_box.py:53 +msgid "Emulator BIOS files location" +msgstr "Plassering for emulator BIOS-filer" + +#: lutris/gui/config/storage_box.py:57 +msgid "The folder Lutris will search in for emulator BIOS files if needed" +msgstr "Mappa Lutris vil søke gjennom for emulator BIOS-filer, hvis det trengs" + +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "Mappa er for stor (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "For mange filer i mappa" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "Mappa er for dyp" + +#: lutris/gui/config/sysinfo_box.py:18 +msgid "Vulkan support" +msgstr "Vulkan støtte" + +#: lutris/gui/config/sysinfo_box.py:22 +msgid "Esync support" +msgstr "Esync støtte" + +#: lutris/gui/config/sysinfo_box.py:26 +msgid "Fsync support" +msgstr "Fsync støtte" + +#: lutris/gui/config/sysinfo_box.py:30 +msgid "Wine installed" +msgstr "Wine installert" + +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 +#: lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 +#: lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 +#: lutris/sysoptions.py:294 lutris/sysoptions.py:304 +msgid "Gamescope" +msgstr "Gamescope" + +#: lutris/gui/config/sysinfo_box.py:34 +msgid "Mangohud" +msgstr "Mangohud" + +#: lutris/gui/config/sysinfo_box.py:35 +msgid "Gamemode" +msgstr "GameMode" + +#: lutris/gui/config/sysinfo_box.py:36 lutris/gui/installer/file_box.py:100 +#: lutris/runners/steam.py:30 lutris/services/steam.py:74 +msgid "Steam" +msgstr "Steam" + +#: lutris/gui/config/sysinfo_box.py:37 +msgid "In Flatpak" +msgstr "I Flatpak" + +#: lutris/gui/config/sysinfo_box.py:42 +msgid "System information" +msgstr "Systeminformasjon" + +#: lutris/gui/config/sysinfo_box.py:51 +msgid "Copy system info to Clipboard" +msgstr "Kopier systeminformasjon til utklippstavla" + +#: lutris/gui/config/sysinfo_box.py:56 +msgid "Lutris logs" +msgstr "Lutris-logg" + +#: lutris/gui/config/sysinfo_box.py:65 +msgid "Copy logs to Clipboard" +msgstr "Kopier loggene til utklippstavla" + +#: lutris/gui/config/sysinfo_box.py:133 +msgid "YES" +msgstr "JA" + +#: lutris/gui/config/sysinfo_box.py:134 +msgid "NO" +msgstr "NEI" + +#: lutris/gui/config/updates_box.py:20 +msgid "Runtime updates" +msgstr "Kjøretid oppdateringer" + +#: lutris/gui/config/updates_box.py:21 +msgid "Runtime components include DXVK, VKD3D and Winetricks." +msgstr "Kjøretid komponenter inkluderer DXVK, VKD3D og Winetricks." + +#: lutris/gui/config/updates_box.py:22 +msgid "Check for Updates" +msgstr "Se etter oppdateringer" + +#: lutris/gui/config/updates_box.py:26 +msgid "Automatically Update the Lutris runtime" +msgstr "Oppdater Lutris-kjøretiden automatisk" + +#: lutris/gui/config/updates_box.py:31 +msgid "Media updates" +msgstr "Medieoppdateringer" + +#: lutris/gui/config/updates_box.py:32 +msgid "Download Missing Media" +msgstr "Last ned manglende media" + +#: lutris/gui/config/updates_box.py:56 +msgid "Checking for missing media..." +msgstr "Ser etter manglende medium …" + +#: lutris/gui/config/updates_box.py:63 +msgid "Nothing to update" +msgstr "Ingenting å oppdatere" + +#: lutris/gui/config/updates_box.py:65 +msgid "Updated: " +msgstr "Oppdatert: " + +#: lutris/gui/config/updates_box.py:67 +msgid "banner" +msgstr "banner" + +#: lutris/gui/config/updates_box.py:68 +msgid "icon" +msgstr "ikon" + +#: lutris/gui/config/updates_box.py:69 +msgid "cover" +msgstr "omslag" + +#: lutris/gui/config/updates_box.py:70 +msgid "banners" +msgstr "bannere" + +#: lutris/gui/config/updates_box.py:71 +msgid "icons" +msgstr "ikoner" + +#: lutris/gui/config/updates_box.py:72 +msgid "covers" +msgstr "omslag" + +#: lutris/gui/config/updates_box.py:81 +msgid "No new media found." +msgstr "Fant ingen nye media." + +#: lutris/gui/config/updates_box.py:110 +#, python-format +msgid "%s has been updated." +msgstr "%s har blitt oppdatert." + +#: lutris/gui/config/updates_box.py:112 +#, python-format +msgid "%s have been updated." +msgstr "%s har blitt oppdatert." + +#: lutris/gui/config/updates_box.py:119 +msgid "Checking for updates..." +msgstr "Ser etter oppdateringer …" + +#: lutris/gui/config/updates_box.py:121 +msgid "Updates are already being downloaded and installed." +msgstr "Oppdateringer blir allerede lastet ned og installert." + +#: lutris/gui/config/updates_box.py:123 +msgid "No updates are required at this time." +msgstr "Ingen oppdateringer er nødvendige for øyeblikket." + +#: lutris/gui/config/widget_generator.py:215 +msgid "Default: " +msgstr "Standard: " + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/wine.py:560 +msgid "Enabled" +msgstr "Slått på" + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/easyrpg.py:371 +#: lutris/runners/mednafen.py:78 lutris/runners/wine.py:559 +msgid "Disabled" +msgstr "Slått av" + +#: lutris/gui/config/widget_generator.py:424 +#, python-format +msgid "%s (default)" +msgstr "%s (standard)" + +#: lutris/gui/config/widget_generator.py:488 +#, python-format +msgid "" +"The setting '%s' is no longer available. You should select another choice." +msgstr "" +"Innstillingen «%s» er ikke lenger tilgjengelig. Du bør velge en annen " +"innstilling." + +#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:52 +msgid "Select file" +msgstr "Velg fil" + +#: lutris/gui/config/widget_generator.py:567 +msgid "Select files" +msgstr "Velg filer" + +#: lutris/gui/config/widget_generator.py:570 +msgid "_Add" +msgstr "_Legg til" + +#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:446 +#: lutris/gui/dialogs/__init__.py:472 lutris/gui/dialogs/issue.py:74 +#: lutris/gui/widgets/common.py:170 +#: lutris/gui/widgets/download_collection_progress_box.py:56 +#: lutris/gui/widgets/download_progress_box.py:64 +msgid "_Cancel" +msgstr "_Avbryt" + +#: lutris/gui/config/widget_generator.py:606 +msgid "Add Files" +msgstr "Legg til filer" + +#: lutris/gui/config/widget_generator.py:626 +#: lutris/installer/installer_file_collection.py:88 +msgid "Files" +msgstr "Filer" + +#: lutris/gui/dialogs/cache.py:12 +msgid "Download cache configuration" +msgstr "Last ned hurtiglageroppsett" + +#: lutris/gui/dialogs/cache.py:35 +msgid "Cache path" +msgstr "Mappe for hurtiglager" + +#: lutris/gui/dialogs/cache.py:38 +msgid "Set the folder for the cache path" +msgstr "Velg mappa for hurtiglageret" + +#: lutris/gui/dialogs/cache.py:52 +msgid "" +"If provided, this location will be used by installers to cache downloaded " +"files locally for future re-use. \n" +"If left empty, the installer files are discarded after the install " +"completion." +msgstr "" +"Hvis oppgitt, denne mappa vil bli brukt av installeringsprogram for lagring " +"av nedlastede filer lokalt for fremtidig bruk.\n" +"Hvis tom, forkastes filene etter fullført installasjon." + +#: lutris/gui/dialogs/delegates.py:41 +#, python-format +msgid "The required runner '%s' is not installed." +msgstr "Det nødvendige startprogrammet «%s» er ikke installert." + +#: lutris/gui/dialogs/delegates.py:207 +msgid "Select game to launch" +msgstr "Velg spill å starte" + +#: lutris/gui/dialogs/download.py:14 +msgid "Downloading file" +msgstr "Laster ned fil" + +#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:128 +#, python-format +msgid "Downloading %s" +msgstr "Laster ned %s" + +#: lutris/gui/dialogs/game_import.py:96 +msgid "Launch" +msgstr "Start" + +#: lutris/gui/dialogs/game_import.py:129 +msgid "Calculating checksum..." +msgstr "Kalkulerer sjekksum …" + +#: lutris/gui/dialogs/game_import.py:138 +msgid "Looking up checksum on Lutris.net..." +msgstr "Ser etter sjekksum på Lutris.net …" + +#: lutris/gui/dialogs/game_import.py:141 +msgid "This ROM could not be identified." +msgstr "Klarte ikke identifisere ROM." + +#: lutris/gui/dialogs/game_import.py:150 +msgid "Looking for installed game..." +msgstr "Ser etter installert spill …" + +#: lutris/gui/dialogs/game_import.py:199 +#, python-format +msgid "Failed to import a ROM: %s" +msgstr "Klarte ikke importere ROM: %s" + +#: lutris/gui/dialogs/game_import.py:220 +msgid "Game already installed in Lutris" +msgstr "Spillet er allerede installert" + +#: lutris/gui/dialogs/game_import.py:242 +#, python-format +msgid "The platform '%s' is unknown to Lutris." +msgstr "Plattformen «%s» er ukjent for Lutris." + +#: lutris/gui/dialogs/game_import.py:252 +#, python-format +msgid "Lutris does not have a default installer for the '%s' platform." +msgstr "Lutris har ikke en standard installeringsprogram for «%s»-plattformen." + +#: lutris/gui/dialogs/__init__.py:175 +msgid "Save" +msgstr "Lagre" + +#: lutris/gui/dialogs/__init__.py:303 +msgid "Lutris has encountered an error" +msgstr "Lutris har støtt på en feil" + +#: lutris/gui/dialogs/__init__.py:331 lutris/gui/installerwindow.py:962 +msgid "Copy Details to Clipboard" +msgstr "Kopier detaljer til utklippstavla" + +#: lutris/gui/dialogs/__init__.py:351 +msgid "" +"You can get support from GitHub or Discord. Make sure " +"to provide the error details;\n" +"use the 'Copy Details to Clipboard' button to get them." +msgstr "" +"Du kan få støtte fra GitHub " +"eller Discord. Sørg for " +"å oppgi feildetaljene;\n" +"bruk «Kopier detaljer til utklippstavla»-knappen for å hente dem." + +#: lutris/gui/dialogs/__init__.py:360 +msgid "Error details" +msgstr "Feildetaljer" + +#: lutris/gui/dialogs/__init__.py:445 lutris/gui/dialogs/__init__.py:471 +#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:170 +msgid "_OK" +msgstr "_OK" + +#: lutris/gui/dialogs/__init__.py:462 +msgid "Please choose a file" +msgstr "Velg en fil" + +#: lutris/gui/dialogs/__init__.py:486 +#, python-format +msgid "%s is already installed" +msgstr "%s er allerede installert" + +#: lutris/gui/dialogs/__init__.py:496 +msgid "Launch game" +msgstr "Start spill" + +#: lutris/gui/dialogs/__init__.py:500 +msgid "Install the game again" +msgstr "Installer spillet på nytt" + +#: lutris/gui/dialogs/__init__.py:539 +msgid "Do not ask again for this game." +msgstr "Ikke spør igjen for dette spillet." + +#: lutris/gui/dialogs/__init__.py:594 +msgid "Login failed" +msgstr "Innlogging mislyktes" + +#: lutris/gui/dialogs/__init__.py:604 +#, python-brace-format +msgid "Install script for {}" +msgstr "Installasjonsskript for {}" + +#: lutris/gui/dialogs/__init__.py:628 +msgid "Humble Bundle Cookie Authentication" +msgstr "Humble Bundle infokapsel autentisering" + +#: lutris/gui/dialogs/__init__.py:640 +msgid "" +"Humble Bundle Authentication via cookie import\n" +"\n" +"In Firefox\n" +"- Install the following extension: https://addons.mozilla.org/en-US/firefox/" +"addon/export-cookies-txt/\n" +"- Open a tab to humblebundle.com and make sure you are logged in.\n" +"- Click the cookie icon in the top right corner, next to the settings menu\n" +"- Check 'Prefix HttpOnly cookies' and click 'humblebundle.com'\n" +"- Open the generated file and paste the contents below. Click OK to finish.\n" +"- You can delete the cookies file generated by Firefox\n" +"- Optionally, open a support ticket to ask Humble Bundle to fix their " +"configuration." +msgstr "" +"Humble Bundle autentisering via infokapsel import\n" +"\n" +"I Firefox\n" +"- Installer følgende utvidelse: https://addons.mozilla.org/en-US/firefox/" +"addon/export-cookies-txt/\n" +"- Åpne en fane til humblebundle.com og sørg for at du er pålogget.\n" +"- Trykk på infokapsel-ikonet øverst til høyre, ved siden av " +"innstillingsmenyen\n" +"- Sjekk «Prefix HttpOnly cookies» og trykk «humblebundle.com»\n" +"- Åpne den genererte fila og lim inn innholdet nedenfor. Trykk OK for å " +"fullføre.\n" +"- Du kan slette infokapslene generert av Firefox\n" +"- Valgfritt, åpne en forespørsel om støtte for å be Humble Bundle om å fikse " +"deres oppsett." + +#: lutris/gui/dialogs/__init__.py:733 +#, python-format +msgid "The key '%s' could not be found." +msgstr "Fant ikke nøkkelen «%s»." + +#: lutris/gui/dialogs/issue.py:24 +msgid "Submit an issue" +msgstr "Send inn en sak" + +#: lutris/gui/dialogs/issue.py:30 +msgid "" +"Describe the problem you're having in the text box below. This information " +"will be sent the Lutris team along with your system information. You can " +"also save this information locally if you are offline." +msgstr "" +"Beskriv problemet du opplever i tekstboksen nedenfor. Denne informasjonen " +"sendes til Lutris sammen med din systeminformasjon. Du kan også lagre denne " +"informasjonen lokalt hvis du er frakoblet." + +#: lutris/gui/dialogs/issue.py:54 +msgid "_Save" +msgstr "_Lagre" + +#: lutris/gui/dialogs/issue.py:70 +msgid "Select a location to save the issue" +msgstr "Velg mappe for lagring av saken" + +#: lutris/gui/dialogs/issue.py:90 +#, python-format +msgid "Issue saved in %s" +msgstr "Saken lagret i %s" + +#: lutris/gui/dialogs/log.py:23 +#, python-brace-format +msgid "Log for {}" +msgstr "Logg for {}" + +#: lutris/gui/dialogs/move_game.py:28 +#, python-format +msgid "Moving %s to %s..." +msgstr "Flytter %s til %s …" + +#: lutris/gui/dialogs/move_game.py:57 +msgid "" +"Do you want to change the game location anyway? No files can be moved, and " +"the game configuration may need to be adjusted." +msgstr "" +"Vil du endre spillplasseringen likevel? Ingen filer kan flyttes, og " +"spilloppsettet må kanskje justerses." + +#: lutris/gui/dialogs/runner_install.py:59 +#, python-format +msgid "Showing games using %s" +msgstr "Viser spill som bruker %s" + +#: lutris/gui/dialogs/runner_install.py:115 +#, python-format +msgid "Waiting for response from %s" +msgstr "Venter på svar fra %s" + +#: lutris/gui/dialogs/runner_install.py:176 +#, python-format +msgid "Unable to get runner versions: %s" +msgstr "Klarte ikke hente startprogramversjoner: %s" + +#: lutris/gui/dialogs/runner_install.py:182 +msgid "Unable to get runner versions from lutris.net" +msgstr "Klarte ikke hente startprogramversjoner fra lutris.net" + +#: lutris/gui/dialogs/runner_install.py:189 +#, python-format +msgid "%s version management" +msgstr "%s versjonsbehandling" + +#: lutris/gui/dialogs/runner_install.py:241 +#, python-format +msgid "View %d game" +msgid_plural "View %d games" +msgstr[0] "Vis %d spill" +msgstr[1] "Vis %d spill" + +#: lutris/gui/dialogs/runner_install.py:280 +#: lutris/gui/dialogs/uninstall_dialog.py:223 +msgid "Uninstall" +msgstr "Avinstaller" + +#: lutris/gui/dialogs/runner_install.py:294 +msgid "Wine version usage" +msgstr "Bruk av Wine-versjon" + +#: lutris/gui/dialogs/runner_install.py:365 +#, python-format +msgid "Version %s is not longer available" +msgstr "Versjonen %s er ikke tilgjengelig lengre" + +#: lutris/gui/dialogs/runner_install.py:390 +msgid "Downloading…" +msgstr "Laster ned …" + +#: lutris/gui/dialogs/runner_install.py:393 +msgid "Extracting…" +msgstr "Pakker ut …" + +#: lutris/gui/dialogs/runner_install.py:423 +msgid "Failed to retrieve the runner archive" +msgstr "Klarte ikke hente startprogramarkiv" + +#: lutris/gui/dialogs/uninstall_dialog.py:128 +#, python-format +msgid "Uninstall %s" +msgstr "Avinstaller %s" + +#: lutris/gui/dialogs/uninstall_dialog.py:130 +#, python-format +msgid "Remove %s" +msgstr "Fjerner %s" + +#: lutris/gui/dialogs/uninstall_dialog.py:132 +#, python-format +msgid "Uninstall %d games" +msgstr "Avinstaller spillene %d" + +#: lutris/gui/dialogs/uninstall_dialog.py:134 +#, python-format +msgid "Remove %d games" +msgstr "Fjern spillene %d" + +#: lutris/gui/dialogs/uninstall_dialog.py:136 +#, python-format +msgid "Uninstall %d games and remove %d games" +msgstr "Avinstaller spillene %d og fjern spillene %d" + +#: lutris/gui/dialogs/uninstall_dialog.py:149 +msgid "After you uninstall these games, you won't be able play them in Lutris." +msgstr "" +"Etter at du har avinstallert disse spillene, vil du ikke kunne spille dem i " +"Lutris." + +#: lutris/gui/dialogs/uninstall_dialog.py:152 +msgid "" +"Uninstalled games that you remove from the library will no longer appear in " +"the 'Games' view, but those that remain will retain their playtime data." +msgstr "" +"Avinstallerte spill som du fjerner fra biblioteket vil ikke vises i «Spill»-" +"visningen, men de som består vil beholde spilltidsdataene." + +#: lutris/gui/dialogs/uninstall_dialog.py:157 +msgid "" +"After you remove these games, they will no longer appear in the 'Games' view." +msgstr "" +"Etter at du har fjernet disse spillene, vil de ikke vises i «Spill»-" +"visningen." + +#: lutris/gui/dialogs/uninstall_dialog.py:162 +msgid "" +"Some of the game directories cannot be removed because they are shared with " +"other games that you are not removing." +msgstr "" +"Noen av spillmappene kan ikke fjernes fordi de deles med andre spill som " +"ikke skal fjernes." + +#: lutris/gui/dialogs/uninstall_dialog.py:168 +msgid "" +"Some of the game directories cannot be removed because they are protected." +msgstr "Noen av spillmappene kan ikke fjernes fordi de er beskyttet." + +#: lutris/gui/dialogs/uninstall_dialog.py:265 +#, python-format +msgid "" +"Please confirm.\n" +"Everything under %s\n" +"will be moved to the trash." +msgstr "" +"Bekreft.\n" +"Alt under %s\n" +"vil flyttes til papirkurven." + +#: lutris/gui/dialogs/uninstall_dialog.py:269 +#, python-format +msgid "" +"Please confirm.\n" +"All the files for %d games will be moved to the trash." +msgstr "" +"Bekreft.\n" +"Alle filene for spillet %d vil flyttes til papirkurven." + +#: lutris/gui/dialogs/uninstall_dialog.py:277 +msgid "Permanently delete files?" +msgstr "Slett filer for alltid?" + +#: lutris/gui/dialogs/uninstall_dialog.py:360 +msgid "Remove from Library" +msgstr "Fjern fra biblioteket" + +#: lutris/gui/dialogs/uninstall_dialog.py:366 +msgid "Delete Files" +msgstr "Slett filer" + +#: lutris/gui/dialogs/webconnect_dialog.py:149 +msgid "Loading..." +msgstr "Laster …" + +#: lutris/gui/installer/file_box.py:84 +#, python-brace-format +msgid "Steam game {appid}" +msgstr "Steam-spill {appid}" + +#: lutris/gui/installer/file_box.py:96 +msgid "Download" +msgstr "Last ned" + +#: lutris/gui/installer/file_box.py:98 +msgid "Use Cache" +msgstr "Bruk hurtiglager" + +#: lutris/gui/installer/file_box.py:102 +msgid "Select File" +msgstr "Velg fil" + +#: lutris/gui/installer/file_box.py:159 +msgid "Cache file for future installations" +msgstr "Hurtiglagringsfil for fremtidige installasjoner" + +#: lutris/gui/installer/file_box.py:178 +msgid "Source:" +msgstr "Kilde:" + +#: lutris/gui/installerwindow.py:128 +msgid "Configure download cache" +msgstr "Sett opp hurtiglager for nedlastinger" + +#: lutris/gui/installerwindow.py:130 +msgid "Change where Lutris downloads game installer files." +msgstr "Endrer hvor Lutris laster ned spillinstallasjonsfiler." + +#: lutris/gui/installerwindow.py:133 +msgid "View installer source" +msgstr "Vis installasjonskilde" + +#: lutris/gui/installerwindow.py:241 +msgid "Remove game files" +msgstr "Fjern spillfiler" + +#: lutris/gui/installerwindow.py:256 +msgid "Are you sure you want to cancel the installation?" +msgstr "Er du sikker på at du vil avbryte installasjonen?" + +#: lutris/gui/installerwindow.py:257 +msgid "Cancel installation?" +msgstr "Avbryte installasjonen?" + +#: lutris/gui/installerwindow.py:332 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"Venter på installering av Lutris-komponent\n" +"Feil kan oppstå hvis Lutris-komponentene ikke installeres først." + +#: lutris/gui/installerwindow.py:389 +#, python-format +msgid "Install %s" +msgstr "Installer %s" + +#: lutris/gui/installerwindow.py:411 +#, python-format +msgid "This game requires %s. Do you want to install it?" +msgstr "Spillet trenger %s. Vil du installere den?" + +#: lutris/gui/installerwindow.py:412 +msgid "Missing dependency" +msgstr "Mangler avhengighet" + +#: lutris/gui/installerwindow.py:420 +#, python-brace-format +msgid "Installing {}" +msgstr "Installerer {}" + +#: lutris/gui/installerwindow.py:426 +msgid "No installer available" +msgstr "Ingen installeringsprogram tilgjengelig" + +#: lutris/gui/installerwindow.py:432 +#, python-format +msgid "Missing field \"%s\" in install script" +msgstr "Mangler «%s» i installasjonsskriptet" + +#: lutris/gui/installerwindow.py:435 +#, python-format +msgid "Improperly formatted file \"%s\"" +msgstr "Fila «%s» er formatert feil" + +#: lutris/gui/installerwindow.py:485 +msgid "Select installation directory" +msgstr "Velg installasjonsmappe" + +#: lutris/gui/installerwindow.py:495 +msgid "Preparing Lutris for installation" +msgstr "Forbereder Lutris for installasjon" + +#: lutris/gui/installerwindow.py:589 +msgid "" +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' " +"folder where the game is installed." +msgstr "" +"Dette spillet har ekstra innhold\n" +"Velg hvilken du vil ha og de vil tilgjengeliggjøres i «extras»-mappa " +"hvor spillet er installert." + +#: lutris/gui/installerwindow.py:685 +msgid "" +"Please review the files needed for the installation then click 'Install'" +msgstr "Les gjennom filene som trengs for installasjonen og trykk «Installer»" + +#: lutris/gui/installerwindow.py:693 +msgid "Downloading game data" +msgstr "Laster ned spilldata" + +#: lutris/gui/installerwindow.py:710 +#, python-format +msgid "Unable to get files: %s" +msgstr "Klarte ikke hente filene: %s" + +#: lutris/gui/installerwindow.py:724 +msgid "Installing game data" +msgstr "Installerer spilldata" + +#. Lutris flatplak doesn't autodetect files on CD-ROM properly +#. and selecting this option doesn't let the user click "Back" +#. so the only option is to cancel the install. +#: lutris/gui/installerwindow.py:866 +msgid "Autodetect" +msgstr "Oppdag automatisk" + +#: lutris/gui/installerwindow.py:871 +msgid "Browse…" +msgstr "Bla gjennom …" + +#: lutris/gui/installerwindow.py:878 +msgid "Eject" +msgstr "Løs ut" + +#: lutris/gui/installerwindow.py:890 +msgid "Select the folder where the disc is mounted" +msgstr "Velg mappa der plata er montert" + +#: lutris/gui/installerwindow.py:944 +msgid "" +"An unexpected error has occurred while installing this game. Please share " +"the details below with the Lutris team on GitHub or Discord." +msgstr "" +"Det har oppstått en uventet feil under installasjonen av dette spillet. Del " +"detaljene nedenfor hvis du ønsker støtte fra Lutris på GitHub eller Discord." + +#: lutris/gui/installerwindow.py:1003 +msgid "_Launch" +msgstr "_Start" + +#: lutris/gui/installerwindow.py:1083 +msgid "_Abort" +msgstr "_Avbryt" + +#: lutris/gui/installerwindow.py:1084 +msgid "Abort and revert the installation" +msgstr "Avbryt og reverser installasjonen" + +#: lutris/gui/installerwindow.py:1087 +msgid "_Close" +msgstr "_Lukk" + +#: lutris/gui/lutriswindow.py:737 +#, python-format +msgid "Connect your %s account to access your games" +msgstr "koble til %s-kontoen din for å få tilgang til spillene dine" + +#: lutris/gui/lutriswindow.py:744 +#, python-format +msgid "Add a game matching '%s' to your favorites to see it here." +msgstr "" +"Legg til et spill som samsvarer med «%s» til favorittene dine for å se det " +"her." + +#: lutris/gui/lutriswindow.py:746 +#, python-format +msgid "No hidden games matching '%s' found." +msgstr "Fant ingen skjulte spill som samsvarer med «%s»." + +#: lutris/gui/lutriswindow.py:749 +#, python-format +msgid "" +"No installed games matching '%s' found. Press Ctrl+I to show uninstalled " +"games." +msgstr "" +"Fant ingen installerte spill som samsvarer med «%s». Trykk «Ctrl + I» for å " +"vise avinstallerte spill." + +#: lutris/gui/lutriswindow.py:752 +#, python-format +msgid "No games matching '%s' found " +msgstr "Fant ingen spill som samsvarer med «%s»" + +#: lutris/gui/lutriswindow.py:755 +msgid "Add games to your favorites to see them here." +msgstr "Legg til spill i favorittene dine for å se dem her." + +#: lutris/gui/lutriswindow.py:757 +msgid "No games are hidden." +msgstr "Ingen spill er skjult." + +#: lutris/gui/lutriswindow.py:759 +msgid "No installed games found. Press Ctrl+I to show uninstalled games." +msgstr "" +"Fant ingen installerte spill. Trykk «Ctrl + I» for å vise avinstallerte " +"spill." + +#: lutris/gui/lutriswindow.py:768 +msgid "No games found" +msgstr "Fant ingen spill" + +#: lutris/gui/lutriswindow.py:813 +#, python-format +msgid "Search %s games" +msgstr "Søk etter %s spill" + +#: lutris/gui/lutriswindow.py:815 +msgid "Search 1 game" +msgstr "Søk etter 1 spill" + +#: lutris/gui/lutriswindow.py:1069 +msgid "Unsupported Lutris Version" +msgstr "Lutris-versjonen er ikke støttet" + +#: lutris/gui/lutriswindow.py:1071 +msgid "" +"This version of Lutris will no longer receive support on Github and Discord, " +"and may not interoperate properly with Lutris.net. Do you want to use it " +"anyway?" +msgstr "" +"Denne versjonen av Lutris vil ikke motta støtte lengre på Github og Discord, " +"og kan samkjøre dårlig med Lutris.net. Vil du bruke den likevel?" + +#: lutris/gui/lutriswindow.py:1282 +msgid "Show Hidden Games" +msgstr "Vis skjulte spill" + +#: lutris/gui/lutriswindow.py:1284 +msgid "Rehide Hidden Games" +msgstr "Skjul de skjulte spillen på nytt" + +#: lutris/gui/lutriswindow.py:1483 +msgid "" +"Your limits are not set correctly. Please increase them as described here: " +"How-to:-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "" +"Grensene dine er ikke satt opp riktig. Øk dem som beskrevet her: How-to:-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/gui/widgets/cellrenderers.py:376 lutris/gui/widgets/sidebar.py:501 +msgid "Missing" +msgstr "Mangler" + +#: lutris/gui/widgets/common.py:87 +msgid "Select a folder" +msgstr "Velg en mappe" + +#: lutris/gui/widgets/common.py:89 +msgid "Select a file" +msgstr "Velg en fil" + +#: lutris/gui/widgets/common.py:95 +msgid "Open in file browser" +msgstr "Åpne i filbehandleren" + +#: lutris/gui/widgets/common.py:246 +msgid "" +"Warning! The selected path is located on a drive formatted by " +"Windows.\n" +"Games and programs installed on Windows drives don't work." +msgstr "" +"Advarsel! Den valgte mappa er plassert på en lagringsenhet formatert " +"av Windows.\n" +"Spill og programmer installert på en Windows-enhet fungerer ikke." + +#: lutris/gui/widgets/common.py:255 +msgid "" +"Warning! The selected path contains files. Installation will not work " +"properly." +msgstr "" +"Advarsel! Den valgte mappa inneholder filer. Installasjonen vil ikke " +"fungere ordentlig." + +#: lutris/gui/widgets/common.py:263 +msgid "" +"Warning The destination folder is not writable by the current user." +msgstr "Advarsel! Målmappa er ikke skrivbar for den gjeldende brukeren." + +#: lutris/gui/widgets/common.py:381 +msgid "Add" +msgstr "Legg til" + +#: lutris/gui/widgets/common.py:385 +msgid "Delete" +msgstr "Slett" + +#: lutris/gui/widgets/download_collection_progress_box.py:145 +#: lutris/gui/widgets/download_progress_box.py:109 +msgid "Retry" +msgstr "Prøv igjen" + +#: lutris/gui/widgets/download_collection_progress_box.py:172 +#: lutris/gui/widgets/download_progress_box.py:136 +msgid "Download interrupted" +msgstr "Nedlasting avbrutt" + +#: lutris/gui/widgets/download_collection_progress_box.py:191 +#: lutris/gui/widgets/download_progress_box.py:144 +#, python-brace-format +msgid "{downloaded} / {size} ({speed:0.2f}MB/s), {time} remaining" +msgstr "{downloaded} / {size} ({speed:0.2f} MB/s), {time} gjenstår" + +#: lutris/gui/widgets/game_bar.py:174 +#, python-format +msgid "" +"Platform:\n" +"%s" +msgstr "" +"Plattform:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:183 +#, python-format +msgid "" +"Time played:\n" +"%s" +msgstr "" +"Spilletid:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:192 +#, python-format +msgid "" +"Last played:\n" +"%s" +msgstr "" +"Sist spilt:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:214 +msgid "Launching" +msgstr "Starter" + +#: lutris/gui/widgets/sidebar.py:156 lutris/gui/widgets/sidebar.py:189 +#: lutris/gui/widgets/sidebar.py:234 +msgid "Run" +msgstr "Kjør" + +#: lutris/gui/widgets/sidebar.py:157 lutris/gui/widgets/sidebar.py:190 +msgid "Reload" +msgstr "Last på nytt" + +#: lutris/gui/widgets/sidebar.py:191 +msgid "Disconnect" +msgstr "Koble fra" + +#: lutris/gui/widgets/sidebar.py:192 +msgid "Connect" +msgstr "Koble til" + +#: lutris/gui/widgets/sidebar.py:231 +msgid "Manage Versions" +msgstr "Håndter versjoner" + +#: lutris/gui/widgets/sidebar.py:277 lutris/gui/widgets/sidebar.py:317 +msgid "Edit Games" +msgstr "Rediger spill" + +#: lutris/gui/widgets/sidebar.py:399 +msgid "Library" +msgstr "Bibliotek" + +#: lutris/gui/widgets/sidebar.py:401 +msgid "Saved Searches" +msgstr "Lagret søk" + +#: lutris/gui/widgets/sidebar.py:404 +msgid "Platforms" +msgstr "Plattformer" + +#: lutris/gui/widgets/sidebar.py:458 lutris/util/system.py:32 +msgid "Games" +msgstr "Spill" + +#: lutris/gui/widgets/sidebar.py:467 +msgid "Recent" +msgstr "Nylige" + +#: lutris/gui/widgets/sidebar.py:476 +msgid "Favorites" +msgstr "Favoritter" + +#: lutris/gui/widgets/sidebar.py:485 +msgid "Uncategorized" +msgstr "Ukategorisert" + +#: lutris/gui/widgets/sidebar.py:509 +msgid "Running" +msgstr "Kjører" + +#: lutris/gui/widgets/status_icon.py:89 lutris/gui/widgets/status_icon.py:113 +msgid "Show Lutris" +msgstr "Vis Lutris" + +#: lutris/gui/widgets/status_icon.py:94 +msgid "Quit" +msgstr "Avslutt" + +#: lutris/gui/widgets/status_icon.py:111 +msgid "Hide Lutris" +msgstr "Skjul Lutris" + +#: lutris/installer/commands.py:61 +#, python-format +msgid "Invalid runner provided %s" +msgstr "Ugyldig startprogram oppgitt %s" + +#: lutris/installer/commands.py:77 +#, python-brace-format +msgid "One of {params} parameter is mandatory for the {cmd} command" +msgstr "En av {params}-parameterne er nødvendig for {cmd}-kommandoen" + +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 +#: lutris/installer/interpreter.py:190 +msgid " or " +msgstr " eller " + +#: lutris/installer/commands.py:85 +#, python-brace-format +msgid "The {param} parameter is mandatory for the {cmd} command" +msgstr "Parameteren {param} er nødvendig for {cmd}-kommandoen" + +#: lutris/installer/commands.py:95 +#, python-format +msgid "Invalid file '%s'. Can't make it executable" +msgstr "Ugyldig fil «%s». Klarte ikke gjøre den kjørbar" + +#: lutris/installer/commands.py:108 +msgid "" +"Parameters file and command can't be used at the same time for the execute " +"command" +msgstr "" +"Parameterfil og kommando kan ikke brukes samtidig for utføringen av kommando" + +#: lutris/installer/commands.py:142 +msgid "No parameters supplied to execute command." +msgstr "Ingen parametere oppgitt for utføring av kommando." + +#: lutris/installer/commands.py:158 +#, python-format +msgid "Unable to find executable %s" +msgstr "Fant ikke programfila %s" + +#: lutris/installer/commands.py:192 +#, python-format +msgid "%s does not exist" +msgstr "%s finnes ikke" + +#: lutris/installer/commands.py:198 lutris/runtime.py:129 +#, python-format +msgid "Extracting %s" +msgstr "Pakker ut %s" + +#: lutris/installer/commands.py:232 +msgid "" +"Insert or mount game disc and click Autodetect or\n" +"use Browse if the disc is mounted on a non standard location." +msgstr "" +"Sett inn eller monter spillplate og trykk «Oppdag automatisk» eller\n" +"«Bla gjennom» hvis enheten er montert på en ikke-standarisert mappe." + +#: lutris/installer/commands.py:238 +#, python-format +msgid "" +"\n" +"\n" +"Lutris is looking for a mounted disk drive or image \n" +"containing the following file or folder:\n" +"%s" +msgstr "" +"\n" +"\n" +"Lutris leter etter en montert lagringsenhet eller bilde \n" +"som inneholder følgende fil eller mappe:\n" +"%s" + +#: lutris/installer/commands.py:261 +#, python-format +msgid "The required file '%s' could not be located." +msgstr "Fant ikke den nødvendige fila «%s»." + +#: lutris/installer/commands.py:282 +#, python-format +msgid "Source does not exist: %s" +msgstr "Kilden finnes ikke: %s" + +#: lutris/installer/commands.py:308 +#, python-format +msgid "Invalid source for 'move' operation: %s" +msgstr "Ugyldig kilde for «flytt»-operasjonen: %s" + +#: lutris/installer/commands.py:327 +#, python-brace-format +msgid "" +"Can't move {src} \n" +"to destination {dst}" +msgstr "" +"Klarte ikke flytte {src} \n" +"til målet {dst}" + +#: lutris/installer/commands.py:334 +#, python-format +msgid "Rename error, source path does not exist: %s" +msgstr "Feil ved endring av navn, kildemappa finnes ikke: %s" + +#: lutris/installer/commands.py:341 +#, python-format +msgid "Rename error, destination already exists: %s" +msgstr "Feil ved endring av navn, målet finnes allerede: %s" + +#: lutris/installer/commands.py:357 +msgid "Missing parameter src" +msgstr "Mangler parameter «src»" + +#: lutris/installer/commands.py:360 +msgid "Wrong value for 'src' param" +msgstr "Feil verdi for «src»-parameter" + +#: lutris/installer/commands.py:364 +msgid "Wrong value for 'dst' param" +msgstr "Feil verdi for «dst»-parameter" + +#: lutris/installer/commands.py:439 +#, python-format +msgid "Command exited with code %s" +msgstr "Kommando avsluttet med koden %s" + +#: lutris/installer/commands.py:458 +#, python-format +msgid "Wrong value for write_file mode: '%s'" +msgstr "Feil verdi for «write_file»-modusen: «%s»" + +#: lutris/installer/commands.py:651 +msgid "install_or_extract only works with wine!" +msgstr "«install_or_extract» fungerer bare med Wine!" + +#: lutris/installer/errors.py:49 +#, python-format +msgid "This game requires %s." +msgstr "Dette spillet krever %s." + +#: lutris/installer/installer_file_collection.py:86 +msgid "File" +msgstr "Fil" + +#: lutris/installer/installer_file.py:48 +#, python-format +msgid "missing field `url` for file `%s`" +msgstr "mangler felt «url» for fila «%s»" + +#: lutris/installer/installer_file.py:67 +#, python-format +msgid "missing field `filename` in file `%s`" +msgstr "mangler feil «filename» i fila «%s»" + +#: lutris/installer/installer_file.py:162 +#, python-brace-format +msgid "{file} on {host}" +msgstr "{file} på {host}" + +#: lutris/installer/installer_file.py:254 +msgid "Invalid checksum, expected format (type:hash) " +msgstr "Ugyldig sjekksum, forventet format (type:hash) " + +#: lutris/installer/installer_file.py:261 +msgid " checksum mismatch " +msgstr " sjekksum samsvarer ikke " + +#: lutris/installer/installer.py:38 +#, python-format +msgid "The script was missing the '%s' key, which is required." +msgstr "Skriptet manglet «%s» nøkkelen, som trengs." + +#: lutris/installer/installer.py:218 +msgid "Game config key must be a string" +msgstr "Spilloppsettsnøkkel må være en tekst" + +#: lutris/installer/installer.py:266 +msgid "Invalid 'game' section" +msgstr "Ugyldig «spill»-seksjon" + +#: lutris/installer/interpreter.py:85 +msgid "This installer doesn't have a 'script' section" +msgstr "Installeringsprogram har ikke en «skript»-seksjon" + +#: lutris/installer/interpreter.py:91 +#, python-brace-format +msgid "" +"Invalid script: \n" +"{}" +msgstr "" +"Ugyldig skript: \n" +"{}" + +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 +#, python-format +msgid "This installer requires %s on your system" +msgstr "Installeringsprogrammet trenger %s på ditt system" + +#: lutris/installer/interpreter.py:183 +#, python-brace-format +msgid "You need to install {} before" +msgstr "Du må installere {} før" + +#: lutris/installer/interpreter.py:232 +msgid "Lutris does not have the necessary permissions to install to path:" +msgstr "Lutris har ikke de nødvendige tillatelsene for å installere til mappa:" + +#: lutris/installer/interpreter.py:237 +#, python-format +msgid "Path %s not found, unable to create game folder. Is the disk mounted?" +msgstr "" +"Fant ikke mappa %s, klarte ikke opprette spillmappa. Er lagringsenheten " +"montert?" + +#: lutris/installer/interpreter.py:312 +msgid "Installer commands are not formatted correctly" +msgstr "Installeringsprogram kommandoene er ikke formatert riktig" + +#: lutris/installer/interpreter.py:364 +#, python-format +msgid "The command \"%s\" does not exist." +msgstr "Kommandoen «%s» finnes ikke." + +#: lutris/installer/interpreter.py:374 +#, python-format +msgid "" +"The executable at path %s can't be found, please check the destination " +"folder.\n" +"Some parts of the installation process may have not completed successfully." +msgstr "" +"Klarte ikke finne programfila på %s, sjekk målmappa.\n" +"Deler av installasjonsprosessen er kanskje ikke fullført." + +#: lutris/installer/interpreter.py:381 +msgid "Installation completed!" +msgstr "Installasjon fullført!" + +#: lutris/installer/steam_installer.py:43 +#, python-format +msgid "Malformed steam path: %s" +msgstr "Feilskrevet Steam-mappe: %s" + +#: lutris/runners/atari800.py:16 +msgid "Desktop resolution" +msgstr "Skrivebordsoppløsning" + +#: lutris/runners/atari800.py:21 +msgid "Atari800" +msgstr "Atari 800" + +#: lutris/runners/atari800.py:22 +msgid "Atari 8bit computers" +msgstr "Atari 8 bit datamaskiner" + +#: lutris/runners/atari800.py:25 +msgid "Atari 400, 800 and XL emulator" +msgstr "Atari 400, 800 og XL emulator" + +#: lutris/runners/atari800.py:39 +msgid "" +"The game data, commonly called a ROM image. \n" +"Supported formats: ATR, XFD, DCM, ATR.GZ, XFD.GZ and PRO." +msgstr "" +"Spilldataen, kjent som ROM-bilde. \n" +"Støttede formater: ATR, XFD, DCM, ATR.GZ, XFD.GZ og PRO." + +#: lutris/runners/atari800.py:50 +msgid "BIOS location" +msgstr "Plassering for BIOS" + +#: lutris/runners/atari800.py:52 +msgid "" +"A folder containing the Atari 800 BIOS files.\n" +"They are provided by Lutris so you shouldn't have to change this." +msgstr "" +"En mappe som inneholder Atari 800 BIOS-filer.\n" +"De er levert av Lutris så du bør ikke måtte endre dette." + +#: lutris/runners/atari800.py:61 +msgid "Emulate Atari 800" +msgstr "Emuler Atari 800" + +#: lutris/runners/atari800.py:62 +msgid "Emulate Atari 800 XL" +msgstr "Emuler Atari 800 XL" + +#: lutris/runners/atari800.py:63 +msgid "Emulate Atari 320 XE (Compy Shop)" +msgstr "Emuler Atari 320 XE (Compy Shop)" + +#: lutris/runners/atari800.py:64 +msgid "Emulate Atari 320 XE (Rambo)" +msgstr "Emuler Atari 320 XE (Rambo)" + +#: lutris/runners/atari800.py:65 +msgid "Emulate Atari 5200" +msgstr "Emuler Atari 5200" + +#: lutris/runners/atari800.py:68 lutris/runners/mame.py:85 +#: lutris/runners/vice.py:86 +msgid "Machine" +msgstr "Maskin" + +#: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 +#: lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 +#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 +#: lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:337 lutris/runners/easyrpg.py:345 +#: lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 +#: lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 +#: lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 +#: lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 +#: lutris/runners/hatari.py:79 lutris/runners/hatari.py:94 +#: lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 +#: lutris/runners/mame.py:166 lutris/runners/mame.py:173 +#: lutris/runners/mame.py:190 lutris/runners/mame.py:204 +#: lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 +#: lutris/runners/mednafen.py:89 lutris/runners/o2em.py:79 +#: lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 +#: lutris/runners/pico8.py:45 lutris/runners/redream.py:24 +#: lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 +#: lutris/runners/scummvm.py:118 lutris/runners/scummvm.py:126 +#: lutris/runners/scummvm.py:139 lutris/runners/scummvm.py:162 +#: lutris/runners/scummvm.py:182 lutris/runners/scummvm.py:197 +#: lutris/runners/scummvm.py:221 lutris/runners/scummvm.py:239 +#: lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 +#: lutris/runners/vice.py:51 lutris/runners/vice.py:58 +#: lutris/runners/vice.py:65 lutris/runners/vice.py:72 +#: lutris/runners/wine.py:291 lutris/runners/wine.py:306 +#: lutris/runners/wine.py:319 lutris/runners/wine.py:330 +#: lutris/runners/wine.py:342 lutris/runners/wine.py:354 +#: lutris/runners/wine.py:364 lutris/runners/wine.py:375 +#: lutris/runners/wine.py:386 lutris/runners/wine.py:399 +msgid "Graphics" +msgstr "Bilde" + +#: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 +#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 +#: lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 +#: lutris/runners/libretro.py:95 lutris/runners/mame.py:167 +#: lutris/runners/mednafen.py:71 lutris/runners/mupen64plus.py:29 +#: lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 +#: lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 +#: lutris/runners/redream.py:24 lutris/runners/reicast.py:40 +#: lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 +#: lutris/runners/vice.py:52 lutris/runners/vita3k.py:41 +#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 +msgid "Fullscreen" +msgstr "Fullskjerm" + +#: lutris/runners/atari800.py:83 +msgid "Fullscreen resolution" +msgstr "Fullskjermsoppløsning" + +#: lutris/runners/atari800.py:93 +msgid "Could not download Atari 800 BIOS archive" +msgstr "Klarte ikke laste ned Atari 800 BIOS-arkiv" + +#: lutris/runners/cemu.py:12 +msgid "Cemu" +msgstr "Cemu" + +#: lutris/runners/cemu.py:13 +msgid "Wii U" +msgstr "Wii U" + +#: lutris/runners/cemu.py:14 +msgid "Wii U emulator" +msgstr "Wii U emulator" + +#: lutris/runners/cemu.py:22 lutris/runners/easyrpg.py:24 +msgid "Game directory" +msgstr "Spillmappe" + +#: lutris/runners/cemu.py:24 +msgid "" +"The directory in which the game lives. If installed into Cemu, this will be " +"in the mlc directory, such as mlc/usr/title/00050000/101c9500." +msgstr "" +"Mappa der spillet ligger. Hvis det er installert i Cemu, vil det være i " +"«mlc»-mappa, eks. mlc/usr/title/00050000/101c9500." + +#: lutris/runners/cemu.py:31 +msgid "Compressed ROM" +msgstr "Komprimert ROM" + +#: lutris/runners/cemu.py:32 +msgid "" +"A game compressed into a single file (WUA format), only use if not using " +"game directory" +msgstr "" +"Et spill komprimert til en enkelt fil (WUA-format), bare bruk hvis du ikke " +"bruker spillmappa" + +#: lutris/runners/cemu.py:44 +msgid "Custom mlc folder location" +msgstr "Tilpasset «mlc»-mappe plassering" + +#: lutris/runners/cemu.py:49 +msgid "Render in upside down mode" +msgstr "Gjengi i opp ned-modus" + +#: lutris/runners/cemu.py:56 +msgid "NSight debugging options" +msgstr "NSight-feilsøkingsinnstillinger" + +#: lutris/runners/cemu.py:63 +msgid "Intel legacy graphics mode" +msgstr "Intel foreldet bildemodus" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 +msgid "Nintendo GameCube" +msgstr "Nintendo GameCube" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 +msgid "Nintendo Wii" +msgstr "Nintendo Wii" + +#: lutris/runners/dolphin.py:15 +msgid "GameCube and Wii emulator" +msgstr "GameCube og Wii emulator" + +#: lutris/runners/dolphin.py:16 lutris/services/dolphin.py:29 +msgid "Dolphin" +msgstr "Dolphin" + +#: lutris/runners/dolphin.py:29 lutris/runners/pcsx2.py:22 +#: lutris/runners/xemu.py:19 +msgid "ISO file" +msgstr "ISO-fil" + +#: lutris/runners/dolphin.py:42 +msgid "Batch" +msgstr "Batch" + +#: lutris/runners/dolphin.py:45 +msgid "Exit Dolphin with emulator." +msgstr "Avslutt Dolphin med emulator." + +#: lutris/runners/dolphin.py:52 +msgid "Custom Global User Directory" +msgstr "Tilpasset global brukermappe" + +#: lutris/runners/dosbox.py:16 +msgid "DOSBox" +msgstr "DOSBox" + +#: lutris/runners/dosbox.py:17 +msgid "MS-DOS emulator" +msgstr "MS-DOS emulator" + +#: lutris/runners/dosbox.py:18 +msgid "MS-DOS" +msgstr "MS-DOS" + +#: lutris/runners/dosbox.py:26 +msgid "Main file" +msgstr "Hovedfil" + +#: lutris/runners/dosbox.py:28 +msgid "" +"The CONF, EXE, COM or BAT file to launch.\n" +"If the executable is managed in the config file, this should be the config " +"file, instead specifying it in 'Configuration file'." +msgstr "" +"CONF- EXE- COM- eller BAT-fila som skal kjøres.\n" +"Hvis den kjørbare fila behandles i oppsettsfila, burde dette være " +"oppsettsfila, i stedet for å velge den i «Oppsettsfil»." + +#: lutris/runners/dosbox.py:36 +msgid "Configuration file" +msgstr "Oppsettsfil" + +#: lutris/runners/dosbox.py:38 +msgid "" +"Start DOSBox with the options specified in this file. \n" +"It can have a section in which you can put commands to execute on startup. " +"Read DOSBox's documentation for more information." +msgstr "" +"Start DOSBox med innstillingene i denne fila. \n" +"Den kan ha en seksjon hvor du kan skrive inn kommandoer som skal kjøres ved " +"oppstart. Les DOSBox-dokumentasjonen for mer informasjon." + +#: lutris/runners/dosbox.py:47 +msgid "Command line arguments" +msgstr "Kommandolinje argumenter" + +#: lutris/runners/dosbox.py:48 +msgid "Command line arguments used when launching DOSBox" +msgstr "Kommandolinje argumenter brukt ved oppstart av DOSBox" + +#: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 +#: lutris/runners/linux.py:39 lutris/runners/wine.py:223 +msgid "Working directory" +msgstr "Arbeidsmappe" + +#: lutris/runners/dosbox.py:57 lutris/runners/linux.py:41 +#: lutris/runners/wine.py:225 +msgid "" +"The location where the game is run from.\n" +"By default, Lutris uses the directory of the executable." +msgstr "" +"Plasseringen hvor spillet kjøres fra.\n" +"Som standard bruker Lutris mappa til programfila." + +#: lutris/runners/dosbox.py:66 +msgid "Open game in fullscreen" +msgstr "Åpne spillet i fullskjerm" + +#: lutris/runners/dosbox.py:69 +msgid "Tells DOSBox to launch the game in fullscreen." +msgstr "Ber DOSBox starte spillet i fullskjerm." + +#: lutris/runners/dosbox.py:73 +msgid "Exit DOSBox with the game" +msgstr "Avslutt DOSBox med spillet" + +#: lutris/runners/dosbox.py:76 +msgid "Shut down DOSBox when the game is quit." +msgstr "Avslutter DOSBox når spillet avsluttes." + +#: lutris/runners/duckstation.py:13 +msgid "DuckStation" +msgstr "DuckStation" + +#: lutris/runners/duckstation.py:14 +msgid "PlayStation 1 Emulator" +msgstr "PlayStation 1 emulator" + +#: lutris/runners/duckstation.py:15 lutris/runners/mednafen.py:31 +msgid "Sony PlayStation" +msgstr "Sony PlayStation" + +#: lutris/runners/duckstation.py:37 +msgid "Enters fullscreen mode immediately after starting." +msgstr "Går inn i fullskjermmodus med en gang etter oppstart." + +#: lutris/runners/duckstation.py:43 +msgid "No Fullscreen" +msgstr "Ingen fullskjerm" + +#: lutris/runners/duckstation.py:45 +msgid "Prevents fullscreen mode from triggering if enabled." +msgstr "Hindrer fullskjermmodus hvis slått på." + +#: lutris/runners/duckstation.py:51 +msgid "Batch Mode" +msgstr "Batch-modus" + +#: lutris/runners/duckstation.py:52 lutris/runners/duckstation.py:61 +#: lutris/runners/duckstation.py:69 +msgid "Boot" +msgstr "Oppstart" + +#: lutris/runners/duckstation.py:53 +msgid "Enables batch mode (exits after powering off)." +msgstr "Tar i bruk batch-modus (avslutter etter avslåing)." + +#: lutris/runners/duckstation.py:60 +msgid "Force Fastboot" +msgstr "Tving raskoppstart" + +#: lutris/runners/duckstation.py:62 +msgid "Force fast boot." +msgstr "Tvinger raskoppstart." + +#: lutris/runners/duckstation.py:68 +msgid "Force Slowboot" +msgstr "Tving sakteoppstart" + +#: lutris/runners/duckstation.py:70 +msgid "Force slow boot." +msgstr "Tvinger sakteoppstart." + +#: lutris/runners/duckstation.py:76 +msgid "No Controllers" +msgstr "Ingen kontrollere" + +#: lutris/runners/duckstation.py:77 lutris/runners/o2em.py:64 +#: lutris/runners/o2em.py:72 +msgid "Controllers" +msgstr "Kontrollere" + +#: lutris/runners/duckstation.py:79 +msgid "" +"Prevents the emulator from polling for controllers. Try this option if " +"you're having difficulties starting the emulator." +msgstr "" +"Hindrer emulatoren fra å søke etter kontrollere. Prøv dette hvis du har " +"problemer med oppstart av emulatoren." + +#: lutris/runners/duckstation.py:87 +msgid "Custom configuration file" +msgstr "Tilpasset oppsettsfil" + +#: lutris/runners/duckstation.py:89 +msgid "" +"Loads a custom settings configuration from the specified filename. Default " +"settings applied if file not found." +msgstr "" +"Laster en tilpasset oppsettsfil fra den oppgitte fila. Standard " +"innstillinger brukes hvis fila ikke blir funnet." + +#: lutris/runners/easyrpg.py:12 +msgid "EasyRPG Player" +msgstr "EasyRPG Player" + +#: lutris/runners/easyrpg.py:13 +msgid "Runs RPG Maker 2000/2003 games" +msgstr "Starter RPG Maker 2000/2003 spill" + +#: lutris/runners/easyrpg.py:14 lutris/runners/flatpak.py:22 +#: lutris/runners/linux.py:17 lutris/runners/linux.py:19 +#: lutris/runners/scummvm.py:56 lutris/runners/steam.py:31 +#: lutris/runners/zdoom.py:15 +msgid "Linux" +msgstr "Linux" + +#: lutris/runners/easyrpg.py:25 +msgid "Select the directory of the game. (required)" +msgstr "Velg mappa til spillet. (nødvendig)" + +#: lutris/runners/easyrpg.py:31 +msgid "Encoding" +msgstr "Tegnkoding" + +#: lutris/runners/easyrpg.py:33 +msgid "" +"Instead of auto detecting the encoding or using the one in RPG_RT.ini, the " +"specified encoding is used." +msgstr "" +"I stedet for å oppdage tegnkodingen automatisk eller bruke den i RPG_RT.ini, " +"brukes den valgte tegnkodingen." + +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 +#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 +#: lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 +#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:243 +#: lutris/runners/wine.py:538 lutris/sysoptions.py:50 +msgid "Auto" +msgstr "Auto" + +#: lutris/runners/easyrpg.py:37 +msgid "Auto (ignore RPG_RT.ini)" +msgstr "Auto (ignorer RPG_RT.ini)" + +#: lutris/runners/easyrpg.py:38 +msgid "Western European" +msgstr "Vesteuropeisk" + +#: lutris/runners/easyrpg.py:39 +msgid "Central/Eastern European" +msgstr "Mellom- Øst-Europa" + +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 +#: lutris/sysoptions.py:39 +msgid "Japanese" +msgstr "Japansk" + +#: lutris/runners/easyrpg.py:41 +msgid "Cyrillic" +msgstr "Kyrillisk" + +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 +msgid "Korean" +msgstr "Koreansk" + +#: lutris/runners/easyrpg.py:43 +msgid "Chinese (Simplified)" +msgstr "Kinesisk (forenklet)" + +#: lutris/runners/easyrpg.py:44 +msgid "Chinese (Traditional)" +msgstr "Kinesisk (tradisjonell)" + +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 +msgid "Greek" +msgstr "Gresk" + +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 +msgid "Turkish" +msgstr "Tyrkisk" + +#: lutris/runners/easyrpg.py:47 +msgid "Hebrew" +msgstr "Hebraisk" + +#: lutris/runners/easyrpg.py:48 +msgid "Arabic" +msgstr "Arabisk" + +#: lutris/runners/easyrpg.py:49 +msgid "Baltic" +msgstr "Baltikum" + +#: lutris/runners/easyrpg.py:50 +msgid "Thai" +msgstr "Thai" + +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 +msgid "Engine" +msgstr "Spillmotor" + +#: lutris/runners/easyrpg.py:59 +msgid "Disable auto detection of the simulated engine." +msgstr "Slår av automatisk oppdaging av den simulerte spillmotoren." + +#: lutris/runners/easyrpg.py:62 +msgid "RPG Maker 2000 engine (v1.00 - v1.10)" +msgstr "RPG Maker 2000 spillmotor (v1.00 - v1.10)" + +#: lutris/runners/easyrpg.py:63 +msgid "RPG Maker 2000 engine (v1.50 - v1.51)" +msgstr "RPG Maker 2000 spillmotor (v1.50 - v1.51)" + +#: lutris/runners/easyrpg.py:64 +msgid "RPG Maker 2000 (English release) engine" +msgstr "RPG Maker 2000 (Engelsk utgave) spillmotor" + +#: lutris/runners/easyrpg.py:65 +msgid "RPG Maker 2003 engine (v1.00 - v1.04)" +msgstr "RPG Maker 2003 spillmotor (v1.00 - v1.04)" + +#: lutris/runners/easyrpg.py:66 +msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" +msgstr "RPG Maker 2003 spillmotor (v1.05 - v1.09a)" + +#: lutris/runners/easyrpg.py:67 +msgid "RPG Maker 2003 (English release) engine" +msgstr "RPG Maker 2003 (Engelsk utgave) spillmotor" + +#: lutris/runners/easyrpg.py:75 +msgid "Patches" +msgstr "Programrettelser" + +#: lutris/runners/easyrpg.py:77 +msgid "" +"Instead of autodetecting patches used by this game, force emulation of " +"certain patches.\n" +"\n" +"Available patches:\n" +"common-this: \"This Event\" in common eventsdynrpg: DynRPG " +"patch by Cherrykey-patch: Key Patch by Inelukimaniac: Maniac " +"Patch by BingShanpic-unlock: Pictures are not blocked by " +"messagesrpg2k3-cmds: Support all RPG Maker 2003 event commands in any " +"version of the engine\n" +"\n" +"You can provide multiple patches or use 'none' to disable all engine patches." +msgstr "" +"I stedet for å automatisk oppdage programrettelser som brukes av dette " +"spillet, tving gjennom enkelte programrettelser.\n" +"\n" +"Tilgjengelige programrettelser:\n" +"common-this: «Denne hendelsen» i vanlige hendelserdynrpg: " +"DynRPG Patch fra Cherrykey-patch: Key Patch fra Inelukimaniac: " +"Maniac Patch fra BingShanpic-unlock: Bilder blokkeres ikke av " +"meldingerrpg2k3-cmds: Støtt alle RPG Maker 2003 hendelseskommandoer i " +"alle versjoner av spillmotoren\n" +"\n" +"Du kan velge flere programrettelser eller bruke «Ingen» for å slå av " +"spillmotor-programrettelser." + +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 +msgid "Language" +msgstr "Språk" + +#: lutris/runners/easyrpg.py:93 +msgid "Load the game translation in the language/LANG directory." +msgstr "Laster inn spilloversettelser i mappa «language/LANG»." + +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 +msgid "Save path" +msgstr "Lagre mappe" + +#: lutris/runners/easyrpg.py:101 +msgid "" +"Instead of storing save files in the game directory they are stored in the " +"specified path. The directory must exist." +msgstr "" +"I stedet for å lagre brukerfiler i spillmappa, lagres de i den valgte mappa. " +"Mappa må finnes." + +#: lutris/runners/easyrpg.py:108 +msgid "New game" +msgstr "Nytt spill" + +#: lutris/runners/easyrpg.py:109 +msgid "Skip the title scene and start a new game directly." +msgstr "Hopp over tittel og start nytt spill direkte." + +#: lutris/runners/easyrpg.py:115 +msgid "Load game ID" +msgstr "Last spill-ID" + +#: lutris/runners/easyrpg.py:116 +msgid "" +"Skip the title scene and load SaveXX.lsd.\n" +"Set to 0 to disable." +msgstr "" +"Hopp over tittel og last «SaveXX.lsd».\n" +"Sett til 0 for å slå av." + +#: lutris/runners/easyrpg.py:125 +msgid "Record input" +msgstr "Ta opp inndata" + +#: lutris/runners/easyrpg.py:126 +msgid "Records all button input to the specified log file." +msgstr "Tar opp alle knappeinndata til en valgt loggfil." + +#: lutris/runners/easyrpg.py:132 +msgid "Replay input" +msgstr "Gjenta inndata" + +#: lutris/runners/easyrpg.py:134 +msgid "" +"Replays button input from the specified log file, as generated by 'Record " +"input'.\n" +"If the RNG seed and the state of the save file directory is also the same as " +"it was when the log was recorded, this should reproduce an identical run to " +"the one recorded." +msgstr "" +"Gjentar knappeinndata fra den valgte loggfila, generert av «Ta opp " +"inndata».\n" +"Hvis det tilfeldige frøet og tilstanden av brukerspillfilmappa også er det " +"samme som det var når loggen ble loggført, burde dette gjengi identiske " +"forhold til den som er tatt opp." + +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 +#: lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 +#: lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 +msgid "Debug" +msgstr "Feilsøk" + +#: lutris/runners/easyrpg.py:144 +msgid "Test play" +msgstr "Testspill" + +#: lutris/runners/easyrpg.py:145 +msgid "Enable TestPlay (debug) mode." +msgstr "Bruk TestPlay (feilsøk)-modus." + +#: lutris/runners/easyrpg.py:153 +msgid "Hide title" +msgstr "Skjul tittel" + +#: lutris/runners/easyrpg.py:154 +msgid "Hide the title background image and center the command menu." +msgstr "Skjuler tittel bakgrunnsbilde og fremviser kommandomenyen." + +#: lutris/runners/easyrpg.py:162 +msgid "Start map ID" +msgstr "Start kart-ID" + +#: lutris/runners/easyrpg.py:164 +msgid "" +"Overwrite the map used for new games and use MapXXXX.lmu instead.\n" +"Set to 0 to disable.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Overstyr kartet brukt for nye spill og bruk «MapXXXX.lmu» i stedet.\n" +"Sett til 0 for å slå av.\n" +"\n" +"Støttes ikke med «Last spill-ID»." + +#: lutris/runners/easyrpg.py:177 +msgid "Start position" +msgstr "Start posisjon" + +#: lutris/runners/easyrpg.py:179 +msgid "" +"Overwrite the party start position and move the party to the specified " +"position.\n" +"Provide two numbers separated by a space.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Overstyr festens startposisjon og flytt festen til den valgte posisjonen.\n" +"Oppgi to tall atskilt med et mellomrom.\n" +"\n" +"Støttes ikke med «Last spill-ID»." + +#: lutris/runners/easyrpg.py:189 +msgid "Start party" +msgstr "Start festen" + +#: lutris/runners/easyrpg.py:191 +msgid "" +"Overwrite the starting party members with the actors with the specified " +"IDs.\n" +"Provide one to four numbers separated by spaces.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Overstyr de opprinnelige festmedlemmene med de valgte aktør-ID-ene.\n" +"Oppgi en til fire tall atskilt med et mellomrom.\n" +"\n" +"Støttes ikke med «Last spill-ID»." + +#: lutris/runners/easyrpg.py:201 +msgid "Battle test" +msgstr "Kamptest" + +#: lutris/runners/easyrpg.py:202 +msgid "Start a battle test with the specified monster party." +msgstr "Start en kamptest med den valgte monster festen." + +#: lutris/runners/easyrpg.py:212 +msgid "AutoBattle algorithm" +msgstr "Autokamp algoritme" + +#: lutris/runners/easyrpg.py:214 +msgid "" +"Which AutoBattle algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT " +"bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +"ATTACK: Like RPG_RT+ but only physical attacks, no skills." +msgstr "" +"Hvilken autokamp algoritme som skal brukes.\n" +"\n" +"RPG_RT: Den standardiserte RPG_RT kompatible algoritmen, med RPG_RT " +"feil.\n" +"RPG_RT+: Den standardiserte RPG_RT kompatible algoritmen, med " +"feilrettelser.\n" +"ATTACK: Som RPG_RT+ men bare fysiske angrep, ingen ferdigheter." + +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 +msgid "RPG_RT" +msgstr "RPG_RT" + +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 +msgid "RPG_RT+" +msgstr "RPG_RT+" + +#: lutris/runners/easyrpg.py:223 +msgid "ATTACK" +msgstr "ATTACK" + +#: lutris/runners/easyrpg.py:232 +msgid "EnemyAI algorithm" +msgstr "FiendeKI algoritme" + +#: lutris/runners/easyrpg.py:234 +msgid "" +"Which EnemyAI algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT " +"bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +msgstr "" +"Hvilken FiendeKI algoritme som skal brukes.\n" +"\n" +"RPG_RT: Den standardiserte RPG_RT kompatible algoritmen, med RPG_RT " +"feil.\n" +"RPG_RT+: Den standardiserte RPG_RT+ kompatible algoritmen, med " +"feilrettelser.\n" + +#: lutris/runners/easyrpg.py:250 +msgid "RNG seed" +msgstr "Tilfeldig frø" + +#: lutris/runners/easyrpg.py:251 +msgid "" +"Seeds the random number generator.\n" +"Use -1 to disable." +msgstr "" +"Frø til tilfeldig tallgenerator.\n" +"Bruk -1 for å slå av." + +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 +#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 +#: lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 +#: lutris/runners/scummvm.py:336 lutris/runners/scummvm.py:349 +#: lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 +#: lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 +#: lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 +msgid "Audio" +msgstr "Lyd" + +#: lutris/runners/easyrpg.py:260 +msgid "Enable audio" +msgstr "Slå på lyd" + +#: lutris/runners/easyrpg.py:261 +msgid "Switch off to disable audio." +msgstr "Slå av for å ikke ha lyd." + +#: lutris/runners/easyrpg.py:268 +msgid "BGM volume" +msgstr "Lydstyrke for BGM" + +#: lutris/runners/easyrpg.py:269 +msgid "Volume of the background music." +msgstr "Lydstyrke for bakgrunnsmusikken." + +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 +msgid "SFX volume" +msgstr "Lydstyrke for filmtriks" + +#: lutris/runners/easyrpg.py:279 +msgid "Volume of the sound effects." +msgstr "Lydstyrke for lydeffekter." + +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 +msgid "Soundfont" +msgstr "Soundfont" + +#: lutris/runners/easyrpg.py:290 +msgid "Soundfont in sf2 format to use when playing MIDI files." +msgstr "Soundfont i sf2-format for bruk ved avspilling av MIDI-filer." + +#: lutris/runners/easyrpg.py:297 +msgid "Start in fullscreen mode." +msgstr "Start i fullskjermmodus." + +#: lutris/runners/easyrpg.py:305 +msgid "Game resolution" +msgstr "Spilloppløsning" + +#: lutris/runners/easyrpg.py:307 +msgid "" +"Force a different game resolution.\n" +"\n" +"This is experimental and can cause glitches or break games!" +msgstr "" +"Tving gjennom en annen spilloppløsning.\n" +"\n" +"Dette er eksperimentell og kan forårsake diverse feil og ødelegge spill!" + +#: lutris/runners/easyrpg.py:310 +msgid "320×240 (4:3, Original)" +msgstr "320 × 240 (4:3, original)" + +#: lutris/runners/easyrpg.py:311 +msgid "416×240 (16:9, Widescreen)" +msgstr "416 × 240 (16:9, bredformat)" + +#: lutris/runners/easyrpg.py:312 +msgid "560×240 (21:9, Ultrawide)" +msgstr "560 × 240 (19:9, ultrabredformat)" + +#: lutris/runners/easyrpg.py:320 +msgid "Scaling" +msgstr "Skalering" + +#: lutris/runners/easyrpg.py:322 +msgid "" +"How the video output is scaled.\n" +"\n" +"Nearest: Scale to screen size (causes scaling artifacts)\n" +"Integer: Scale to multiple of the game resolution\n" +"Bilinear: Like Nearest, but output is blurred to avoid artifacts\n" +msgstr "" +"Hvordan videoutgangen er skalert.\n" +"\n" +"Nærmeste: Skalerer til skjermstørrelsen (forårsaker skaleringsfeil)\n" +"Heltall: Skalerer til multiplikatorer av spilloppløsningen\n" +"Bilineær: Som «Nærmeste», men utdataen er sløret for å unngå feil\n" + +#: lutris/runners/easyrpg.py:328 +msgid "Nearest" +msgstr "Nærmeste" + +#: lutris/runners/easyrpg.py:329 +msgid "Integer" +msgstr "Heltall" + +#: lutris/runners/easyrpg.py:330 +msgid "Bilinear" +msgstr "Bilineær" + +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 +#: lutris/runners/scummvm.py:229 +msgid "Stretch" +msgstr "Strekk" + +#: lutris/runners/easyrpg.py:339 +msgid "" +"Ignore the aspect ratio and stretch video output to the entire width of the " +"screen." +msgstr "" +"Ignorer størrelsesforholdene og strekk videoutganger til hele bredden av " +"skjermen." + +#: lutris/runners/easyrpg.py:346 +msgid "Enable VSync" +msgstr "Bruk VSync" + +#: lutris/runners/easyrpg.py:347 +msgid "Switch off to disable VSync and use the FPS limit." +msgstr "Slå av for å ikke bruke VSync og bruken av dens FPS-grense." + +#: lutris/runners/easyrpg.py:354 +msgid "FPS limit" +msgstr "FPS-grense" + +#: lutris/runners/easyrpg.py:356 +msgid "" +"Set a custom frames per second limit.\n" +"If unspecified, the default is 60 FPS.\n" +"Set to 0 to disable the frame limiter." +msgstr "" +"Velg en tilpasset grense for bilder per sekund.\n" +"Hvis ikke satt opp, velges standarden 60 FPS.\n" +"Velg 0 for å slå av fps-grensen." + +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:562 +msgid "Show FPS" +msgstr "Vis FPS" + +#: lutris/runners/easyrpg.py:369 +msgid "Enable frames per second counter." +msgstr "Bruk teller for bilder per sekund" + +#: lutris/runners/easyrpg.py:372 +msgid "Fullscreen & title bar" +msgstr "Fullskjerm og tittellinje" + +#: lutris/runners/easyrpg.py:373 +msgid "Fullscreen, title bar & window" +msgstr "Fullskjerm, tittellinje og vindu" + +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 +msgid "Runtime Package" +msgstr "Kjøretid-pakke" + +#: lutris/runners/easyrpg.py:381 +msgid "Enable RTP" +msgstr "Bruk RTP" + +#: lutris/runners/easyrpg.py:382 +msgid "Switch off to disable support for the Runtime Package (RTP)." +msgstr "Slå av for å ikke ha støtte for kjøretid-pakke (RTP)." + +#: lutris/runners/easyrpg.py:389 +msgid "RPG2000 RTP location" +msgstr "RPG2000 RTP plassering" + +#: lutris/runners/easyrpg.py:390 +msgid "" +"Full path to a directory containing an extracted RPG Maker 2000 Run-Time-" +"Package (RTP)." +msgstr "" +"Adresse til en mappe som inneholder en utpakket RPG Maker 2000 kjøretid-" +"pakke (RTP)." + +#: lutris/runners/easyrpg.py:396 +msgid "RPG2003 RTP location" +msgstr "RPG2003 RTP plassering" + +#: lutris/runners/easyrpg.py:397 +msgid "" +"Full path to a directory containing an extracted RPG Maker 2003 Run-Time-" +"Package (RTP)." +msgstr "" +"Adresse til en mappe som inneholder en utpakket RPG Maker 2003 kjøretid-" +"pakke (RTP)." + +#: lutris/runners/easyrpg.py:403 +msgid "Fallback RTP location" +msgstr "Reserve RPT plassering" + +#: lutris/runners/easyrpg.py:404 +msgid "Full path to a directory containing a combined RTP." +msgstr "Adresse til en mappe som inneholder en kombinert RTP." + +#: lutris/runners/easyrpg.py:517 +msgid "No game directory provided" +msgstr "Ingen spillmappe oppgitt" + +#: lutris/runners/flatpak.py:21 +msgid "Runs Flatpak applications" +msgstr "Kjører Flatpak-programmer" + +#: lutris/runners/flatpak.py:24 +msgid "Flatpak" +msgstr "Flatpak" + +#: lutris/runners/flatpak.py:33 lutris/runners/steam.py:37 +msgid "Application ID" +msgstr "Program-ID" + +#: lutris/runners/flatpak.py:34 +msgid "The application's unique three-part identifier (tld.domain.app)." +msgstr "Programmets unike tredelte identifikator (tld.domain.app)." + +#: lutris/runners/flatpak.py:39 +msgid "Architecture" +msgstr "Arkitektur" + +#: lutris/runners/flatpak.py:41 +msgid "" +"The architecture to run. See flatpak --supported-arches for architectures " +"supported by the host." +msgstr "" +"Arkitekturen som skal kjøres. Se kommandoen «flatpak --supported-arches» for " +"arkitekturer som støttes av verten." + +#: lutris/runners/flatpak.py:45 +msgid "Branch" +msgstr "Gren" + +#: lutris/runners/flatpak.py:45 +msgid "The branch to use." +msgstr "Grenen som skal brukes." + +#: lutris/runners/flatpak.py:49 +msgid "Install type" +msgstr "Installasjonstype" + +#: lutris/runners/flatpak.py:50 +msgid "Can be system or user." +msgstr "Kan være systemet eller bruker." + +#: lutris/runners/flatpak.py:56 +msgid "Args" +msgstr "Args" + +#: lutris/runners/flatpak.py:57 +msgid "Arguments to be passed to the application." +msgstr "Argumenter som skal sendes til programmet." + +#: lutris/runners/flatpak.py:62 +msgid "Command" +msgstr "Kommando" + +#: lutris/runners/flatpak.py:63 +msgid "" +"The command to run instead of the one listed in the application metadata." +msgstr "" +"Kommandoen som skal kjøres i stedet for den oppført i program-metadataen." + +#: lutris/runners/flatpak.py:71 +msgid "" +"The directory to run the command in. Note that this must be a directory " +"inside the sandbox." +msgstr "" +"Mappa som komandoen skal kjøres i. Merk at dette må være en mappe inne i " +"sandkassen." + +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 +msgid "Environment variables" +msgstr "Miljøvariabler" + +#: lutris/runners/flatpak.py:79 +msgid "" +"Set an environment variable in the application. This overrides to the " +"Context section from the application metadata." +msgstr "" +"Velg en miljøvariabel i programmet. Dette overstyrer til «Context»-seksjonen " +"fra program-metadataen." + +#: lutris/runners/flatpak.py:92 +msgid "The Flatpak executable could not be found." +msgstr "Klarte ikke finne Flatpak-programfila." + +#: lutris/runners/flatpak.py:98 +msgid "" +"Flatpak installation is not handled by Lutris.\n" +"Install Flatpak with the package provided by your distribution." +msgstr "" +"Flatpak-installasjon håndteres ikke av Lutris.\n" +"Installer Flatpak med pakken levert av din distribusjon." + +#: lutris/runners/flatpak.py:140 +msgid "No application specified." +msgstr "Ingen program valgt" + +#: lutris/runners/flatpak.py:144 +msgid "" +"Application ID is not specified in correct format.Must be something like: " +"tld.domain.app" +msgstr "" +"Program-ID-en er ikke satt opp i riktig format. Må se ut som: tld.domain.app" + +#: lutris/runners/flatpak.py:148 +msgid "Application ID field must not contain options or arguments." +msgstr "Program-ID feltet må ikke inneholde instillinger eller argumenter." + +#: lutris/runners/fsuae.py:12 +msgid "Amiga 500" +msgstr "Amiga 500" + +#: lutris/runners/fsuae.py:19 +msgid "Amiga 500+" +msgstr "Amiga 500+" + +#: lutris/runners/fsuae.py:20 +msgid "Amiga 600" +msgstr "Amiga 600" + +#: lutris/runners/fsuae.py:21 +msgid "Amiga 1200" +msgstr "Amiga 1200" + +#: lutris/runners/fsuae.py:22 +msgid "Amiga 3000" +msgstr "Amiga 3000" + +#: lutris/runners/fsuae.py:24 +msgid "Amiga 4000" +msgstr "Amiga 4000" + +#: lutris/runners/fsuae.py:27 +msgid "Amiga 1000" +msgstr "Amiga 1000" + +#: lutris/runners/fsuae.py:29 +msgid "Amiga CD32" +msgstr "Amiga CD32" + +#: lutris/runners/fsuae.py:34 +msgid "Commodore CDTV" +msgstr "Commodore CDTV" + +#: lutris/runners/fsuae.py:91 +msgid "FS-UAE" +msgstr "FS-UAE" + +#: lutris/runners/fsuae.py:92 +msgid "Amiga emulator" +msgstr "Amiga emulator" + +#: lutris/runners/fsuae.py:109 +msgid "68000" +msgstr "68000" + +#: lutris/runners/fsuae.py:110 +msgid "68010" +msgstr "68010" + +#: lutris/runners/fsuae.py:111 +msgid "68020 with 24-bit addressing" +msgstr "68020 med 24 bit adressering" + +#: lutris/runners/fsuae.py:112 +msgid "68020" +msgstr "68020" + +#: lutris/runners/fsuae.py:113 +msgid "68030 without internal MMU" +msgstr "68030 uten intern MMU" + +#: lutris/runners/fsuae.py:114 +msgid "68030" +msgstr "68030" + +#: lutris/runners/fsuae.py:115 +msgid "68040 without internal FPU and MMU" +msgstr "68040 uten intern FPU og MMU" + +#: lutris/runners/fsuae.py:116 +msgid "68040 without internal FPU" +msgstr "68040 uten intern FPU" + +#: lutris/runners/fsuae.py:117 +msgid "68040 without internal MMU" +msgstr "68040 uten intern MMU" + +#: lutris/runners/fsuae.py:118 +msgid "68040" +msgstr "68040" + +#: lutris/runners/fsuae.py:119 +msgid "68060 without internal FPU and MMU" +msgstr "68060 uten intern FPU og MMU" + +#: lutris/runners/fsuae.py:120 +msgid "68060 without internal FPU" +msgstr "68060 uten intern FPU" + +#: lutris/runners/fsuae.py:121 +msgid "68060 without internal MMU" +msgstr "68060 uten intern MMU" + +#: lutris/runners/fsuae.py:122 +msgid "68060" +msgstr "68060" + +#: lutris/runners/fsuae.py:126 lutris/runners/fsuae.py:133 +#: lutris/runners/fsuae.py:167 +msgid "0" +msgstr "0" + +#: lutris/runners/fsuae.py:127 lutris/runners/fsuae.py:134 +#: lutris/runners/fsuae.py:168 +msgid "1 MB" +msgstr "1 MB" + +#: lutris/runners/fsuae.py:128 lutris/runners/fsuae.py:135 +#: lutris/runners/fsuae.py:169 +msgid "2 MB" +msgstr "2 MB" + +#: lutris/runners/fsuae.py:129 lutris/runners/fsuae.py:136 +#: lutris/runners/fsuae.py:170 +msgid "4 MB" +msgstr "4 MB" + +#: lutris/runners/fsuae.py:130 lutris/runners/fsuae.py:137 +#: lutris/runners/fsuae.py:171 +msgid "8 MB" +msgstr "8 MB" + +#: lutris/runners/fsuae.py:138 lutris/runners/fsuae.py:172 +msgid "16 MB" +msgstr "16 MB" + +#: lutris/runners/fsuae.py:139 lutris/runners/fsuae.py:173 +msgid "32 MB" +msgstr "32 MB" + +#: lutris/runners/fsuae.py:140 lutris/runners/fsuae.py:174 +msgid "64 MB" +msgstr "64 MB" + +#: lutris/runners/fsuae.py:141 lutris/runners/fsuae.py:175 +msgid "128 MB" +msgstr "128 MB" + +#: lutris/runners/fsuae.py:142 lutris/runners/fsuae.py:176 +msgid "256 MB" +msgstr "256 MB" + +#: lutris/runners/fsuae.py:143 +msgid "384 MB" +msgstr "384 MB" + +#: lutris/runners/fsuae.py:144 +msgid "512 MB" +msgstr "512 MB" + +#: lutris/runners/fsuae.py:145 +msgid "768 MB" +msgstr "768 MB" + +#: lutris/runners/fsuae.py:146 +msgid "1 GB" +msgstr "1 GB" + +#: lutris/runners/fsuae.py:179 +msgid "Turbo" +msgstr "Turbo" + +#: lutris/runners/fsuae.py:190 +msgid "Boot disk" +msgstr "Oppstartsenhet" + +#: lutris/runners/fsuae.py:193 +msgid "" +"The main floppy disk file with the game data. \n" +"FS-UAE supports floppy images in multiple file formats: ADF, IPF, DMS are " +"the most common. ADZ (compressed ADF) and ADFs in zip files are a also " +"supported.\n" +"Files ending in .hdf will be mounted as hard drives and ISOs can be used for " +"Amiga CD32 and CDTV models." +msgstr "" +"Hoved diskettfila med spilldataen. \n" +"FS-UAE støtter disketter i flere filformater: ADF, IPF, DMS er de vanligste. " +"ADZ (komprimert ADF) and ADF-er i zip-filer er også støttet.\n" +"Filer som ender i .hdf vil monteres som en harddisk og ISO-er kan brukes for " +"Amiga CD32 og CDTV-modeller." + +#: lutris/runners/fsuae.py:203 lutris/runners/fsuae.py:211 +#: lutris/runners/fsuae.py:325 lutris/runners/fsuae.py:335 +msgid "Media" +msgstr "Media" + +#: lutris/runners/fsuae.py:205 +msgid "Additional floppies" +msgstr "Ytterligere disketter" + +#: lutris/runners/fsuae.py:207 +msgid "The additional floppy disk image(s)." +msgstr "De ytterligere diskett bildene." + +#: lutris/runners/fsuae.py:212 +msgid "CD-ROM image" +msgstr "CD-ROM bilde" + +#: lutris/runners/fsuae.py:214 +msgid "CD-ROM image to use on non CD32/CDTV models" +msgstr "CD-ROM bilde for bruk av ikke-CD32/CDTV-modeller" + +#: lutris/runners/fsuae.py:221 +msgid "Amiga model" +msgstr "Amiga modell" + +#: lutris/runners/fsuae.py:225 +msgid "Specify the Amiga model you want to emulate." +msgstr "Velg Amiga-versjonen du vil emulere." + +#: lutris/runners/fsuae.py:229 lutris/runners/fsuae.py:242 +msgid "Kickstart" +msgstr "Kickstart" + +#: lutris/runners/fsuae.py:230 +msgid "Kickstart ROMs location" +msgstr "Kickstart ROM plassering" + +#: lutris/runners/fsuae.py:233 +msgid "" +"Choose the folder containing original Amiga Kickstart ROMs. Refer to FS-UAE " +"documentation to find how to acquire them. Without these, FS-UAE uses a " +"bundled replacement ROM which is less compatible with Amiga software." +msgstr "" +"Velg mappa som inneholder de originale Amiga Kickstart ROM. Les FS-UAE-" +"dokumentasjonen for å finne ut av hvordan man får tak i dem. Uten disse, " +"bruker FS-UAE en erstattet ROM som støttes noe dårligere av Amiga-" +"programvare." + +#: lutris/runners/fsuae.py:243 +msgid "Extended Kickstart location" +msgstr "Utvidet Kickstart plassering" + +#: lutris/runners/fsuae.py:245 +msgid "Location of extended Kickstart used for CD32" +msgstr "Plassering av utvidet Kickstart brukt for CD32" + +#: lutris/runners/fsuae.py:250 +msgid "Fullscreen (F12 + F to switch)" +msgstr "Fullskjerm («F12 + F» for å bytte)" + +#: lutris/runners/fsuae.py:257 lutris/runners/o2em.py:87 +msgid "Scanlines display style" +msgstr "Skannelinje skjermstil" + +#: lutris/runners/fsuae.py:260 lutris/runners/o2em.py:89 +msgid "" +"Activates a display filter adding scanlines to imitate the displays of " +"yesteryear." +msgstr "" +"Tar i bruk et skjermfilter som legger til skannelinjer for å emulere " +"katodeskjermer." + +#: lutris/runners/fsuae.py:265 +msgid "Graphics Card" +msgstr "Skjermkort" + +#: lutris/runners/fsuae.py:271 +msgid "" +"Use this option to enable a graphics card. This option is none by default, " +"in which case only chipset graphics (OCS/ECS/AGA) support is available." +msgstr "" +"Bruk denne innstillingen for å bruke et skjermkort. Denne innstillingen er " +"satt til «Ingen» som standard, hvor bare brikkesettbilde (OCS/ECS/AGA) " +"støtte er tilgjengelig." + +#: lutris/runners/fsuae.py:278 +msgid "Graphics Card RAM" +msgstr "Skjermkort-minne" + +#: lutris/runners/fsuae.py:284 +msgid "" +"Override the amount of graphics memory on the graphics card. The 0 MB option " +"is not really valid, but exists for user interface reasons." +msgstr "" +"Overstyrer mengen skjermkort-minne tilgjengelig. 0 MB støttes egentlig ikke, " +"men finnes av grensesnitt begrunnelser." + +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 +#: lutris/sysoptions.py:324 lutris/sysoptions.py:333 +msgid "CPU" +msgstr "Prosessor" + +#: lutris/runners/fsuae.py:296 +msgid "" +"Use this option to override the CPU model in the emulated Amiga. All Amiga " +"models imply a default CPU model, so you only need to use this option if you " +"want to use another CPU." +msgstr "" +"Bruk denne innstillingen for å overstyre prosessormodellen i den emulerte " +"Amiga-systemet. Alle Amiga-modeller antyder til en standard prosessormodell, " +"så du trenger bare å bruke denne innstillingen hvis du vil bruke en annen " +"prosessor." + +#: lutris/runners/fsuae.py:303 +msgid "Fast Memory" +msgstr "Rask minne" + +#: lutris/runners/fsuae.py:308 +msgid "Specify how much Fast Memory the Amiga model should have." +msgstr "Velg hvor mye rask minne Amiga-modellen burde ha." + +#: lutris/runners/fsuae.py:312 +msgid "Zorro III RAM" +msgstr "Zorro III minne" + +#: lutris/runners/fsuae.py:318 +msgid "" +"Override the amount of Zorro III Fast memory, specified in KB. Must be a " +"multiple of 1024. The default value depends on [amiga_model]. Requires a " +"processor with 32-bit address bus, (use for example the A1200/020 model)." +msgstr "" +"Overstyrer mengden rask minne for Zorro III, formatert i KB. Må være en " +"multiplum av 1024. Standard verdien avhenger av [amiga_model]. Krever en " +"prosessor med 32 bit adressebuss, (for eksempel A1200/020-modellen)." + +#: lutris/runners/fsuae.py:326 +msgid "Floppy Drive Volume" +msgstr "Lydstyrke for diskett" + +#: lutris/runners/fsuae.py:331 +msgid "" +"Set volume to 0 to disable floppy drive clicks when the drive is empty. Max " +"volume is 100." +msgstr "" +"Velg lydstyrken 0 for å slå av diskett klikkelyd når disketten er tom. Maks " +"lydstyrke er 100." + +#: lutris/runners/fsuae.py:336 +msgid "Floppy Drive Speed" +msgstr "Disketthastighet" + +#: lutris/runners/fsuae.py:342 +msgid "" +"Set the speed of the emulated floppy drives, in percent. For example, you " +"can specify 800 to get an 8x increase in speed. Use 0 to specify turbo mode. " +"Turbo mode means that all floppy operations complete immediately. The " +"default is 100 for most models." +msgstr "" +"Velger hastigheten til den emulerte disketten i prosent. For eksempel, kan " +"du velge 800 for å få en 8x økning i hastighet. Bruk 0 for å velge " +"turbomodus. Turbomodus betyr at alle diskettoperasjoner fullføres med en " +"gang. Standarden er 100 for de fleste modeller." + +#: lutris/runners/fsuae.py:350 +msgid "JIT Compiler" +msgstr "JIT-kompilator" + +#: lutris/runners/fsuae.py:357 +msgid "Feral GameMode" +msgstr "Feral GameMode" + +#: lutris/runners/fsuae.py:361 +msgid "" +"Automatically uses Feral GameMode daemon if available. Set to true to " +"disable the feature." +msgstr "" +"Automatisk bruk av Feral GameMode-tjenesten hvis tilgjengelig. Sett til " +"«true» for å slå av funksjonen." + +#: lutris/runners/fsuae.py:365 +msgid "CPU governor warning" +msgstr "Prosessor-regulator advarsel" + +#: lutris/runners/fsuae.py:370 +msgid "" +"Warn if running with a CPU governor other than performance. Set to true to " +"disable the warning." +msgstr "" +"Varsler fra hvis du kjører med en prosessor-regulator satt til noe annet enn " +"ytelse. Velg «true» for å slå av advarselen" + +#: lutris/runners/fsuae.py:375 +msgid "UAE bsdsocket.library" +msgstr "UAE bsdsocket.library" + +#: lutris/runners/hatari.py:14 +msgid "Hatari" +msgstr "Hatari" + +#: lutris/runners/hatari.py:15 +msgid "Atari ST computers emulator" +msgstr "Atari ST datamaskin-emulator" + +#: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:212 +msgid "Atari ST" +msgstr "Atari ST" + +#: lutris/runners/hatari.py:26 +msgid "Floppy Disk A" +msgstr "Diskett A" + +#: lutris/runners/hatari.py:28 lutris/runners/hatari.py:39 +msgid "" +"Hatari supports floppy disk images in the following formats: ST, DIM, MSA, " +"STX, IPF, RAW and CRT. The last three require the caps library (capslib). " +"ZIP is supported, you don't need to uncompress the file." +msgstr "" +"Hatari støtter diskett bilder i følgende formater: ST, DIM, MSA, STX, IPF, " +"RAW og CRT. De tre siste trenger (capslib)-biblioteket. ZIP støttes, du " +"trenger ikke å pakke ut fila." + +#: lutris/runners/hatari.py:37 +msgid "Floppy Disk B" +msgstr "Diskett B" + +#: lutris/runners/hatari.py:47 lutris/runners/redream.py:74 +#: lutris/runners/zdoom.py:66 +msgid "None" +msgstr "Ingen" + +#: lutris/runners/hatari.py:47 +msgid "Keyboard" +msgstr "Tastatur" + +#: lutris/runners/hatari.py:47 lutris/runners/o2em.py:41 +#: lutris/runners/scummvm.py:269 +msgid "Joystick" +msgstr "Styrespak" + +#: lutris/runners/hatari.py:53 +msgid "Bios file (TOS)" +msgstr "BIOS-fil (TOS)" + +#: lutris/runners/hatari.py:55 +msgid "" +"TOS is the operating system of the Atari ST and is necessary to run " +"applications with the best fidelity, minimizing risks of issues.\n" +"TOS 1.02 is recommended for games." +msgstr "" +"TOS er operativsystemet til Atari ST og er nødvendig for å kjøre programmer " +"med høyeste kvalitet, reduserer risiko for feil.\n" +"TOS 1.02 er anbefalt for spill." + +#: lutris/runners/hatari.py:72 +msgid "Scale up display by 2 (Atari ST/STE)" +msgstr "Utvid skjermen med to (Atari ST/STE)" + +#: lutris/runners/hatari.py:74 +msgid "Double the screen size in windowed mode." +msgstr "Dobbel skjermstørrelse i vindusmodus." + +#: lutris/runners/hatari.py:80 +msgid "Add borders to display" +msgstr "Legg kantlinjer til skjermen" + +#: lutris/runners/hatari.py:83 +msgid "" +"Useful for some games and demos using the overscan technique. The Atari ST " +"displayed borders around the screen because it was not powerful enough to " +"display graphics in fullscreen. But people from the demo scene were able to " +"remove them and some games made use of this technique." +msgstr "" +"Hjelpsom for noen spill og demoer som bruker overskannings-teknikken. Atari " +"ST bruker kantlinjer rundt skjermen fordi den ikke var kraftfull nok for å " +"vise bilde i fullskjerm. Men noen personer fra demoscenen fikk til å fjerne " +"dem og noen spill brukte denne teknikken." + +#: lutris/runners/hatari.py:95 +msgid "Display status bar" +msgstr "Vis statuslinje" + +#: lutris/runners/hatari.py:98 +msgid "" +"Displays a status bar with some useful information, like green leds lighting " +"up when the floppy disks are read." +msgstr "" +"Viser en statuslinje med hjelpsom informasjon, for eksempel grønne lysdioder " +"som lyser opp når diskettene leses fra." + +#: lutris/runners/hatari.py:106 lutris/runners/hatari.py:114 +msgid "Joysticks" +msgstr "Styrespaker" + +#: lutris/runners/hatari.py:107 +msgid "Joystick 0" +msgstr "Styrespak 0" + +#: lutris/runners/hatari.py:115 +msgid "Joystick 1" +msgstr "Styrespak 1" + +#: lutris/runners/hatari.py:126 +msgid "Do you want to select an Atari ST BIOS file?" +msgstr "Vil du velge en Atari ST BIOS-fil?" + +#: lutris/runners/hatari.py:127 +msgid "Use BIOS file?" +msgstr "Bruk BIOS-fil?" + +#: lutris/runners/hatari.py:128 +msgid "Select a BIOS file" +msgstr "Velg en BIOS-fil" + +#: lutris/runners/jzintv.py:13 +msgid "jzIntv" +msgstr "jzIntv" + +#: lutris/runners/jzintv.py:14 +msgid "Intellivision Emulator" +msgstr "Intellivision emulator" + +#: lutris/runners/jzintv.py:15 +msgid "Intellivision" +msgstr "Intellivision" + +#: lutris/runners/jzintv.py:24 +msgid "" +"The game data, commonly called a ROM image. \n" +"Supported formats: ROM, BIN+CFG, INT, ITV \n" +"The file extension must be lower-case." +msgstr "" +"Spilldataen, kjent som ROM bilde. \n" +"Støtter formatene: ROM, BIN + CFG, INT, ITV \n" +"Filtypen må være små bokstaver." + +#: lutris/runners/jzintv.py:34 +msgid "Bios location" +msgstr "Plassering for BIOS" + +#: lutris/runners/jzintv.py:36 +msgid "" +"Choose the folder containing the Intellivision BIOS files (exec.bin and " +"grom.bin).\n" +"These files contain code from the original hardware necessary to the " +"emulation." +msgstr "" +"Velg mappa som inneholder Intellivision BIOS-filene (exec.bin og grom.bin).\n" +"Disse filene inneholder kode fra den originale maskinvaren som trengs for " +"emulering." + +#: lutris/runners/jzintv.py:47 +msgid "Resolution" +msgstr "Oppløsning" + +#: lutris/runners/libretro.py:69 +msgid "Libretro" +msgstr "Libretro" + +#: lutris/runners/libretro.py:70 +msgid "Multi-system emulator" +msgstr "Multi-system emulator" + +#: lutris/runners/libretro.py:80 +msgid "Core" +msgstr "Kjerne" + +#: lutris/runners/libretro.py:89 lutris/runners/zdoom.py:76 +msgid "Config file" +msgstr "Oppsettsfil" + +#: lutris/runners/libretro.py:101 +msgid "Verbose logging" +msgstr "Detaljert loggføring" + +#: lutris/runners/libretro.py:150 +msgid "The installer does not specify the libretro 'core' version." +msgstr "Installeringsprogrammet oppgir ikke libretro «kjerne»-versjonen." + +#: lutris/runners/libretro.py:246 +msgid "" +"The emulator files BIOS location must be configured in the Preferences " +"dialog." +msgstr "" +"Plasseringen av emulator-BIOS-filene må settes opp i innstillingsvinduet." + +#: lutris/runners/libretro.py:292 +msgid "No core has been selected for this game" +msgstr "Ingen kjerne valgt for dette spillet" + +#: lutris/runners/libretro.py:298 +msgid "No game file specified" +msgstr "Ingen spillfil valgt" + +#: lutris/runners/linux.py:18 +msgid "Runs native games" +msgstr "Kjører lokale spill" + +#: lutris/runners/linux.py:27 lutris/runners/wine.py:210 +msgid "Executable" +msgstr "Programfil" + +#: lutris/runners/linux.py:28 +msgid "The game's main executable file" +msgstr "Spillets hoved-programfil" + +#: lutris/runners/linux.py:33 lutris/runners/mame.py:126 +#: lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 +#: lutris/runners/steam.py:86 lutris/runners/wine.py:216 +#: lutris/runners/zdoom.py:28 +msgid "Arguments" +msgstr "Argumenter" + +#: lutris/runners/linux.py:34 lutris/runners/mame.py:127 +#: lutris/runners/scummvm.py:67 +msgid "Command line arguments used when launching the game" +msgstr "Kommandolinje argumenter som brukes ved oppstart av spillet" + +#: lutris/runners/linux.py:47 +msgid "Preload library" +msgstr "Forhåndslast bibliotekfil" + +#: lutris/runners/linux.py:49 +msgid "A library to load before running the game's executable." +msgstr "Bibliotekfil å laste før oppstart av spillets programfil." + +#: lutris/runners/linux.py:54 +msgid "Add directory to LD_LIBRARY_PATH" +msgstr "Legg mappa til LD_LIBRARY_PATH" + +#: lutris/runners/linux.py:57 +msgid "" +"A directory where libraries should be searched for first, before the " +"standard set of directories; this is useful when debugging a new library or " +"using a nonstandard library for special purposes." +msgstr "" +"En mappe der bibliotekfiler burde letes etter først, før standard sett med " +"mapper; hjelpsomt ved feilsøking av en ny bibliotekfil eller ved bruk av " +"ikke-standard bibliotekfil for spesielle grunner." + +#: lutris/runners/linux.py:139 +msgid "" +"The runner could not find a command or exe to use for this configuration." +msgstr "" +"Startprogrammet klarte ikke finne en kommando eller .exe for dette oppsettet." + +#: lutris/runners/linux.py:162 +#, python-format +msgid "The file %s is not executable" +msgstr "Filen %s er ikke kjørbar" + +#: lutris/runners/mame.py:66 lutris/services/mame.py:13 +msgid "MAME" +msgstr "MAME" + +#: lutris/runners/mame.py:67 +msgid "Arcade game emulator" +msgstr "Arkadespill emulator" + +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 +msgid "The emulated machine." +msgstr "Den emulerte maskinen." + +#: lutris/runners/mame.py:92 +msgid "Storage type" +msgstr "Lagringstype" + +#: lutris/runners/mame.py:94 +msgid "Floppy disk" +msgstr "Diskett" + +#: lutris/runners/mame.py:95 +msgid "Floppy drive 1" +msgstr "Diskett 1" + +#: lutris/runners/mame.py:96 +msgid "Floppy drive 2" +msgstr "Diskett 2" + +#: lutris/runners/mame.py:97 +msgid "Floppy drive 3" +msgstr "Diskett 3" + +#: lutris/runners/mame.py:98 +msgid "Floppy drive 4" +msgstr "Diskett 4" + +#: lutris/runners/mame.py:99 +msgid "Cassette (tape)" +msgstr "Kassett (magnetbånd)" + +#: lutris/runners/mame.py:100 +msgid "Cassette 1 (tape)" +msgstr "Kassett 1 (magnetbånd)" + +#: lutris/runners/mame.py:101 +msgid "Cassette 2 (tape)" +msgstr "Kassett 2 (magnetbånd)" + +#: lutris/runners/mame.py:102 +msgid "Cartridge" +msgstr "Spillmodul" + +#: lutris/runners/mame.py:103 +msgid "Cartridge 1" +msgstr "Spillmodul 1" + +#: lutris/runners/mame.py:104 +msgid "Cartridge 2" +msgstr "Spillmodul 2" + +#: lutris/runners/mame.py:105 +msgid "Cartridge 3" +msgstr "Spillmodul 3" + +#: lutris/runners/mame.py:106 +msgid "Cartridge 4" +msgstr "Spillmodul 4" + +#: lutris/runners/mame.py:107 +msgid "Snapshot" +msgstr "Øyeblikksbilde" + +#: lutris/runners/mame.py:108 +msgid "Hard Disk" +msgstr "Harddisk" + +#: lutris/runners/mame.py:109 +msgid "Hard Disk 1" +msgstr "Harddisk 1" + +#: lutris/runners/mame.py:110 +msgid "Hard Disk 2" +msgstr "Harddisk 2" + +#: lutris/runners/mame.py:111 +msgid "CD-ROM" +msgstr "CD-ROM" + +#: lutris/runners/mame.py:112 +msgid "CD-ROM 1" +msgstr "CD-ROM 1" + +#: lutris/runners/mame.py:113 +msgid "CD-ROM 2" +msgstr "CD-ROM 2" + +#: lutris/runners/mame.py:114 +msgid "Snapshot (dump)" +msgstr "Øyeblikksbilde (dump)" + +#: lutris/runners/mame.py:115 +msgid "Quickload" +msgstr "Hurtiglast" + +#: lutris/runners/mame.py:116 +msgid "Memory Card" +msgstr "Minnekort" + +#: lutris/runners/mame.py:117 +msgid "Cylinder" +msgstr "Sylinder" + +#: lutris/runners/mame.py:118 +msgid "Punch Tape 1" +msgstr "Hullbånd 1" + +#: lutris/runners/mame.py:119 +msgid "Punch Tape 2" +msgstr "Hullbånd 2" + +#: lutris/runners/mame.py:120 +msgid "Print Out" +msgstr "Skriv ut" + +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 +msgid "Autoboot" +msgstr "Automatisk oppstart" + +#: lutris/runners/mame.py:139 +msgid "Autoboot command" +msgstr "Automatisk oppstartskommando" + +#: lutris/runners/mame.py:140 +msgid "" +"Autotype this command when the system has started, an enter keypress is " +"automatically added." +msgstr "" +"Skriver denne kommandoen automatisk ved oppstart av systemet, et «Enter»-" +"tastetrykk skjer automatisk." + +#: lutris/runners/mame.py:146 +msgid "Delay before entering autoboot command" +msgstr "Forsink før begynnelse av automatisk oppstartskommando" + +#: lutris/runners/mame.py:156 +msgid "ROM/BIOS path" +msgstr "ROM/BIOS mappe" + +#: lutris/runners/mame.py:158 +msgid "" +"Choose the folder containing ROMs and BIOS files.\n" +"These files contain code from the original hardware necessary to the " +"emulation." +msgstr "" +"Velg mappa som inneholder ROM- og BIOS-filer.\n" +"Disse filene inneholder kode fra den originale maskinvaren som trengs for " +"emulering." + +#: lutris/runners/mame.py:174 +msgid "CRT effect ()" +msgstr "CRT-effekt ()" + +#: lutris/runners/mame.py:175 +msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." +msgstr "Bruker en CRT-effekt på skjermen. Krever OpenGL-opptegneren." + +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 +#: lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "Feilsøking" + +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "Detaljert" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "vis ytterligere diagnostikk informasjon" + +#: lutris/runners/mame.py:191 +msgid "Video backend" +msgstr "Videomotor" + +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 +#: lutris/runners/vice.py:74 +msgid "Software" +msgstr "Programvare" + +#: lutris/runners/mame.py:205 +msgid "Wait for VSync" +msgstr "Vent for VSync" + +#: lutris/runners/mame.py:206 +msgid "" +"Enable waiting for the start of vblank before flipping screens; " +"reduces tearing effects." +msgstr "" +"Venter på starten av VBLANK før rotering av skjermene; reduserer " +"skjermriving." + +#: lutris/runners/mame.py:213 +msgid "Menu mode key" +msgstr "Menymodustast" + +#: lutris/runners/mame.py:215 +msgid "Scroll Lock" +msgstr "Scroll Lock" + +#: lutris/runners/mame.py:216 +msgid "Num Lock" +msgstr "Num Lock" + +#: lutris/runners/mame.py:217 +msgid "Caps Lock" +msgstr "Caps Lock" + +#: lutris/runners/mame.py:218 +msgid "Menu" +msgstr "Meny" + +#: lutris/runners/mame.py:219 +msgid "Right Control" +msgstr "Høyre Ctrl" + +#: lutris/runners/mame.py:220 +msgid "Left Control" +msgstr "Venstre Ctrl" + +#: lutris/runners/mame.py:221 +msgid "Right Alt" +msgstr "Høyre Alt" + +#: lutris/runners/mame.py:222 +msgid "Left Alt" +msgstr "Venstre Alt" + +#: lutris/runners/mame.py:223 +msgid "Right Super" +msgstr "Høyre Super" + +#: lutris/runners/mame.py:224 +msgid "Left Super" +msgstr "Venstre Super" + +#: lutris/runners/mame.py:228 +msgid "" +"Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: " +"Scroll Lock)" +msgstr "" +"Tast for å bytte mellom fullstendig-tastaturmodus og delvis-tastaturmodus " +"(standard: «Scroll Lock»)" + +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 +msgid "Arcade" +msgstr "Arkade" + +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 +msgid "Nintendo Game & Watch" +msgstr "Nintendo Game & Watch" + +#: lutris/runners/mame.py:337 +#, python-format +msgid "No device is set for machine %s" +msgstr "Ingen enhet er satt for maskinen %s" + +#: lutris/runners/mame.py:347 +#, python-format +msgid "The path '%s' is not set. please set it in the options." +msgstr "Mappa «%s» er ikke satt opp. Sett opp mappa i innstillingene." + +#: lutris/runners/mednafen.py:18 +msgid "Mednafen" +msgstr "Mednafen" + +#: lutris/runners/mednafen.py:19 +msgid "Multi-system emulator: NES, PC Engine, PSX…" +msgstr "Multi-system emulator: NES, PC Engine, PSX …" + +#: lutris/runners/mednafen.py:21 +msgid "Nintendo Game Boy (Color)" +msgstr "Nintendo Game Boy (Color)" + +#: lutris/runners/mednafen.py:22 +msgid "Nintendo Game Boy Advance" +msgstr "Nintendo Game Boy Advance" + +#: lutris/runners/mednafen.py:23 +msgid "Sega Game Gear" +msgstr "Sega Game Gear" + +#: lutris/runners/mednafen.py:24 +msgid "Sega Genesis/Mega Drive" +msgstr "Sega Genesis/Mega Drive" + +#: lutris/runners/mednafen.py:25 +msgid "Atari Lynx" +msgstr "Atari Lynx" + +#: lutris/runners/mednafen.py:26 lutris/runners/osmose.py:14 +msgid "Sega Master System" +msgstr "Sega Master System" + +#: lutris/runners/mednafen.py:27 +msgid "SNK Neo Geo Pocket (Color)" +msgstr "SNK Neo Geo Pocket (Color)" + +#: lutris/runners/mednafen.py:28 +msgid "Nintendo NES" +msgstr "Nintendo NES" + +#: lutris/runners/mednafen.py:29 +msgid "NEC PC Engine TurboGrafx-16" +msgstr "NEC PC Engine TurboGrafx-16" + +#: lutris/runners/mednafen.py:30 +msgid "NEC PC-FX" +msgstr "NEC PC-FX" + +#: lutris/runners/mednafen.py:32 +msgid "Sega Saturn" +msgstr "Sega Saturn" + +#: lutris/runners/mednafen.py:33 lutris/runners/snes9x.py:20 +msgid "Nintendo SNES" +msgstr "Nintendo SNES" + +#: lutris/runners/mednafen.py:34 +msgid "Bandai WonderSwan" +msgstr "Bandai WonderSwan" + +#: lutris/runners/mednafen.py:35 +msgid "Nintendo Virtual Boy" +msgstr "Nintendo Virtual Boy" + +#: lutris/runners/mednafen.py:38 +msgid "Game Boy (Color)" +msgstr "Game Boy (Color)" + +#: lutris/runners/mednafen.py:39 +msgid "Game Boy Advance" +msgstr "Game Boy Advance" + +#: lutris/runners/mednafen.py:40 +msgid "Game Gear" +msgstr "Game Gear" + +#: lutris/runners/mednafen.py:41 +msgid "Genesis/Mega Drive" +msgstr "Genesis/Mega Drive" + +#: lutris/runners/mednafen.py:42 +msgid "Lynx" +msgstr "Lynx" + +#: lutris/runners/mednafen.py:43 +msgid "Master System" +msgstr "Master System" + +#: lutris/runners/mednafen.py:44 +msgid "Neo Geo Pocket (Color)" +msgstr "Neo Geo Pocket (Color)" + +#: lutris/runners/mednafen.py:45 +msgid "NES" +msgstr "NES" + +#: lutris/runners/mednafen.py:46 +msgid "PC Engine" +msgstr "PC Engine" + +#: lutris/runners/mednafen.py:47 +msgid "PC-FX" +msgstr "PC-FX" + +#: lutris/runners/mednafen.py:48 +msgid "PlayStation" +msgstr "PlayStation" + +#: lutris/runners/mednafen.py:49 +msgid "Saturn" +msgstr "Saturn" + +#: lutris/runners/mednafen.py:50 +msgid "SNES" +msgstr "SNES" + +#: lutris/runners/mednafen.py:51 +msgid "WonderSwan" +msgstr "WonderSwan" + +#: lutris/runners/mednafen.py:52 +msgid "Virtual Boy" +msgstr "Virtual Boy" + +#: lutris/runners/mednafen.py:60 +msgid "" +"The game data, commonly called a ROM image. \n" +"Mednafen supports GZIP and ZIP compressed ROMs." +msgstr "" +"Spilldataen, kjent som ROM bilde. \n" +"Mednafen støtter GZIP og ZIP komprimerte ROM." + +#: lutris/runners/mednafen.py:65 +msgid "Machine type" +msgstr "Maskintype" + +#: lutris/runners/mednafen.py:76 +msgid "Aspect ratio" +msgstr "Størrelsesforhold" + +#: lutris/runners/mednafen.py:79 +msgid "Stretched" +msgstr "Strukket" + +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 +msgid "Preserve aspect ratio" +msgstr "Behold størrelsesforhold" + +#: lutris/runners/mednafen.py:81 +msgid "Integer scale" +msgstr "Heltall skala" + +#: lutris/runners/mednafen.py:82 +msgid "Multiple of 2 scale" +msgstr "Multippel av 2 skala" + +#: lutris/runners/mednafen.py:90 +msgid "Video scaler" +msgstr "Videoskala" + +#: lutris/runners/mednafen.py:114 +msgid "Sound device" +msgstr "Lydenhet" + +#: lutris/runners/mednafen.py:116 +msgid "Mednafen default" +msgstr "Mednafen-standard" + +#: lutris/runners/mednafen.py:117 +msgid "ALSA default" +msgstr "ALSA-standard" + +#: lutris/runners/mednafen.py:127 +msgid "Use default Mednafen controller configuration" +msgstr "Bruk standard Mednafen kontroller-oppsett" + +#: lutris/runners/mupen64plus.py:13 +msgid "Mupen64Plus" +msgstr "Mupen64Plus" + +#: lutris/runners/mupen64plus.py:14 +msgid "Nintendo 64 emulator" +msgstr "Nintendo 64 emulator" + +#: lutris/runners/mupen64plus.py:15 +msgid "Nintendo 64" +msgstr "Nintendo 64" + +#: lutris/runners/mupen64plus.py:22 lutris/runners/o2em.py:49 +#: lutris/runners/openmsx.py:21 lutris/runners/ryujinx.py:26 +#: lutris/runners/snes9x.py:30 lutris/runners/yuzu.py:24 +msgid "The game data, commonly called a ROM image." +msgstr "Spilldataen, kjent som ROM bilde." + +#: lutris/runners/mupen64plus.py:32 +msgid "Hide OSD" +msgstr "Skjul OSD" + +#: lutris/runners/o2em.py:13 +msgid "O2EM" +msgstr "O2EM" + +#: lutris/runners/o2em.py:14 +msgid "Magnavox Odyssey² Emulator" +msgstr "Magnavox Odyssey² emulator" + +#: lutris/runners/o2em.py:16 lutris/runners/o2em.py:32 +msgid "Magnavox Odyssey²" +msgstr "Magnavox Odyssey²" + +#: lutris/runners/o2em.py:17 lutris/runners/o2em.py:33 +msgid "Phillips C52" +msgstr "Phillips C52" + +#: lutris/runners/o2em.py:18 lutris/runners/o2em.py:34 +msgid "Phillips Videopac+" +msgstr "Phillips Videopac+" + +#: lutris/runners/o2em.py:19 lutris/runners/o2em.py:35 +msgid "Brandt Jopac" +msgstr "Brandt Jopac" + +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:519 +msgid "Disable" +msgstr "Slå av" + +#: lutris/runners/o2em.py:39 +msgid "Arrow Keys and Right Shift" +msgstr "Piltaster og Høyre Shift" + +#: lutris/runners/o2em.py:40 +msgid "W,S,A,D,SPACE" +msgstr "W,S,A,D,MELLOMROM" + +#: lutris/runners/o2em.py:57 +msgid "BIOS" +msgstr "BIOS" + +#: lutris/runners/o2em.py:65 +msgid "First controller" +msgstr "Første kontroller" + +#: lutris/runners/o2em.py:73 +msgid "Second controller" +msgstr "Andre kontroller" + +#: lutris/runners/openmsx.py:12 +msgid "openMSX" +msgstr "openMSX" + +#: lutris/runners/openmsx.py:13 +msgid "MSX computer emulator" +msgstr "MSX datamaskin-emulator" + +#: lutris/runners/openmsx.py:14 +msgid "MSX, MSX2, MSX2+, MSX turboR" +msgstr "MSX, MSX2, MSX2+, MSX turboR" + +#: lutris/runners/osmose.py:12 +msgid "Osmose" +msgstr "Osmose" + +#: lutris/runners/osmose.py:13 +msgid "Sega Master System Emulator" +msgstr "Sega Master System emulator" + +#: lutris/runners/osmose.py:23 +msgid "" +"The game data, commonly called a ROM image.\n" +"Supported formats: SMS and GG files. ZIP compressed ROMs are supported." +msgstr "" +"Spilldataen, kjent som ROM bilde.\n" +"Støtter formatene: SMS- og GG-filer. ZIP komprimerte ROM støttes." + +#: lutris/runners/pcsx2.py:12 +msgid "PCSX2" +msgstr "PCSX2" + +#: lutris/runners/pcsx2.py:13 +msgid "PlayStation 2 emulator" +msgstr "PlayStation 2 emulator" + +#: lutris/runners/pcsx2.py:14 +msgid "Sony PlayStation 2" +msgstr "Sony PlayStation 2" + +#: lutris/runners/pcsx2.py:34 +msgid "Fullboot" +msgstr "Full oppstart" + +#: lutris/runners/pcsx2.py:35 lutris/runners/rpcs3.py:26 +msgid "No GUI" +msgstr "Ingen grensesnitt" + +#: lutris/runners/pico8.py:21 +msgid "Runs PICO-8 fantasy console cartridges" +msgstr "Kjører spillmoduler for PICO-8 fantasikonsoll" + +#: lutris/runners/pico8.py:23 lutris/runners/pico8.py:24 +msgid "PICO-8" +msgstr "PICO-8" + +#: lutris/runners/pico8.py:29 +msgid "Cartridge file/URL/ID" +msgstr "Spillmodul fil/URL/ID" + +#: lutris/runners/pico8.py:30 +msgid "You can put a .p8.png file path, URL, or BBS cartridge ID here." +msgstr "" +"Du kan velge en .p8.png-fil plassering, URL eller BBS-spillmodul-ID her." + +#: lutris/runners/pico8.py:41 +msgid "Launch in fullscreen." +msgstr "Start i fullskjerm." + +#: lutris/runners/pico8.py:46 lutris/runners/web.py:47 +msgid "Window size" +msgstr "Vindusstørrelse" + +#: lutris/runners/pico8.py:49 +msgid "The initial size of the game window." +msgstr "Den opprinnelige størrelsen på spillvinduet." + +#: lutris/runners/pico8.py:54 +msgid "Start in splore mode" +msgstr "Start i splore-modus" + +#: lutris/runners/pico8.py:60 +msgid "Extra arguments" +msgstr "Ekstra argumenter" + +#: lutris/runners/pico8.py:62 +msgid "Extra arguments to the executable" +msgstr "Ekstra argumenter for programfila" + +#: lutris/runners/pico8.py:68 +msgid "Engine (web only)" +msgstr "Spillmotor (bare på nett)" + +#: lutris/runners/pico8.py:70 +msgid "Name of engine (will be downloaded) or local file path" +msgstr "Navnet på spillmotor (vil lastes ned) eller en lokal filplassering" + +#: lutris/runners/redream.py:10 +msgid "Redream" +msgstr "Redream" + +#: lutris/runners/redream.py:11 lutris/runners/reicast.py:17 +msgid "Sega Dreamcast emulator" +msgstr "Sega Dreamcast emulator" + +#: lutris/runners/redream.py:12 lutris/runners/reicast.py:18 +msgid "Sega Dreamcast" +msgstr "Sega Dreamcast" + +#: lutris/runners/redream.py:19 lutris/runners/reicast.py:28 +msgid "Disc image file" +msgstr "Platebildefil" + +#: lutris/runners/redream.py:20 +msgid "" +"Game data file\n" +"Supported formats: GDI, CDI, CHD" +msgstr "" +"Spilldatafil\n" +"Støtter formatene: GDI, CDI og CHD" + +#: lutris/runners/redream.py:29 +msgid "Aspect Ratio" +msgstr "Størrelsesforhold" + +#: lutris/runners/redream.py:30 +msgid "4:3" +msgstr "4:3" + +#: lutris/runners/redream.py:36 +msgid "Region" +msgstr "Region" + +#: lutris/runners/redream.py:37 +msgid "USA" +msgstr "USA" + +#: lutris/runners/redream.py:37 +msgid "Europe" +msgstr "Europa" + +#: lutris/runners/redream.py:37 +msgid "Japan" +msgstr "Japan" + +#: lutris/runners/redream.py:43 +msgid "System Language" +msgstr "Systemspråk" + +#: lutris/runners/redream.py:45 lutris/sysoptions.py:32 +msgid "English" +msgstr "Engelsk" + +#: lutris/runners/redream.py:46 lutris/sysoptions.py:36 +msgid "German" +msgstr "Tysk" + +#: lutris/runners/redream.py:47 lutris/sysoptions.py:34 +msgid "French" +msgstr "Fransk" + +#: lutris/runners/redream.py:48 lutris/sysoptions.py:44 +msgid "Spanish" +msgstr "Spansk" + +#: lutris/runners/redream.py:49 lutris/sysoptions.py:38 +msgid "Italian" +msgstr "Italiensk" + +#: lutris/runners/redream.py:59 +msgid "NTSC" +msgstr "NTSC" + +#: lutris/runners/redream.py:60 +msgid "PAL" +msgstr "PAL" + +#: lutris/runners/redream.py:61 +msgid "PAL-M (Brazil)" +msgstr "PAL-M (Brasil)" + +#: lutris/runners/redream.py:62 +msgid "PAL-N (Argentina, Paraguay, Uruguay)" +msgstr "PAL-N (Argentina, Paraguay og Uruguay)" + +#: lutris/runners/redream.py:69 +msgid "Time Sync" +msgstr "Tidssynkronisering" + +#: lutris/runners/redream.py:71 +msgid "Audio and video" +msgstr "Lyd og video" + +#: lutris/runners/redream.py:73 +msgid "Video" +msgstr "Video" + +#: lutris/runners/redream.py:82 +msgid "Internal Video Resolution Scale" +msgstr "Intern videooppløsningsskala" + +#: lutris/runners/redream.py:95 +msgid "Only available in premium version." +msgstr "Bare tilgjengelig i premium-versjonen." + +#: lutris/runners/redream.py:102 +msgid "Do you want to select a premium license file?" +msgstr "Vil du velge en premium-lisensfil?" + +#: lutris/runners/redream.py:103 lutris/runners/redream.py:104 +msgid "Use premium version?" +msgstr "Bruk premium-versjonen?" + +#: lutris/runners/reicast.py:16 +msgid "Reicast" +msgstr "Reicast" + +#: lutris/runners/reicast.py:29 +msgid "" +"The game data.\n" +"Supported formats: ISO, CDI" +msgstr "" +"Spilldataen.\n" +"Støtter formatene: ISO og CDI" + +#: lutris/runners/reicast.py:46 lutris/runners/reicast.py:54 +#: lutris/runners/reicast.py:62 lutris/runners/reicast.py:70 +msgid "Gamepads" +msgstr "Spillkontroller" + +#: lutris/runners/reicast.py:47 +msgid "Gamepad 1" +msgstr "Spillkontroller 1" + +#: lutris/runners/reicast.py:55 +msgid "Gamepad 2" +msgstr "Spillkontroller 2" + +#: lutris/runners/reicast.py:63 +msgid "Gamepad 3" +msgstr "Spillkontroller 3" + +#: lutris/runners/reicast.py:71 +msgid "Gamepad 4" +msgstr "Spillkontroller 4" + +#: lutris/runners/rpcs3.py:12 +msgid "RPCS3" +msgstr "RPCS3" + +#: lutris/runners/rpcs3.py:13 +msgid "PlayStation 3 emulator" +msgstr "PlayStation 3 emulator" + +#: lutris/runners/rpcs3.py:14 +msgid "Sony PlayStation 3" +msgstr "Sony PlayStation 3" + +#: lutris/runners/rpcs3.py:23 +msgid "Path to EBOOT.BIN" +msgstr "Plassering til EBOOT.BIN" + +#: lutris/runners/runner.py:160 +msgid "Custom executable for the runner" +msgstr "Tilpasset programfil for startprogrammet" + +#: lutris/runners/runner.py:167 +msgid "Side Panel" +msgstr "Sidepanel" + +#: lutris/runners/runner.py:170 +msgid "Visible in Side Panel" +msgstr "Synlig i sidepanelet" + +#: lutris/runners/runner.py:174 +msgid "" +"Show this runner in the side panel if it is installed or available through " +"Flatpak." +msgstr "" +"Vis dette startprogrammet i sidepanelet hvis det er installert eller tilgjenge" +"lig " +"med Flatpak." + +#: lutris/runners/runner.py:189 lutris/runners/runner.py:198 +#: lutris/runners/vice.py:115 lutris/util/system.py:261 +#, python-format +msgid "The executable '%s' could not be found." +msgstr "Fant ikke programfila «%s»." + +#: lutris/runners/runner.py:453 +msgid "" +"The required runner is not installed.\n" +"Do you wish to install it now?" +msgstr "" +"Det nødvendige startprogrammet er ikke installert.\n" +"Vil du installere det nå?" + +#: lutris/runners/runner.py:454 +msgid "Required runner unavailable" +msgstr "Det nødvendige startprogrammet er ikke tilgjengelig" + +#: lutris/runners/runner.py:509 +#, python-brace-format +msgid "Failed to retrieve {} ({}) information" +msgstr "Klarte ikke hente {} ({}) informasjon" + +#: lutris/runners/runner.py:514 +#, python-format +msgid "The '%s' version of the '%s' runner can't be downloaded." +msgstr "Klarte ikke laste ned «%s»-versjonen av «%s»-startprogrammet." + +#: lutris/runners/runner.py:517 +#, python-format +msgid "The the '%s' runner can't be downloaded." +msgstr "Klarte ikke laste ned «%s»-startprogrammet." + +#: lutris/runners/runner.py:546 +#, python-brace-format +msgid "Failed to extract {}" +msgstr "Klarte ikke pakke ut {}" + +#: lutris/runners/runner.py:551 +#, python-brace-format +msgid "Failed to extract {}: {}" +msgstr "Klarte ikke pakke ut {}: {}" + +#: lutris/runners/ryujinx.py:13 +msgid "Ryujinx" +msgstr "Ryujinx" + +#: lutris/runners/ryujinx.py:14 lutris/runners/yuzu.py:14 +msgid "Nintendo Switch" +msgstr "Nintendo Switch" + +#: lutris/runners/ryujinx.py:15 lutris/runners/yuzu.py:15 +msgid "Nintendo Switch emulator" +msgstr "Nintendo Switch emulator" + +#: lutris/runners/ryujinx.py:25 +msgid "NSP file" +msgstr "NSP-fil" + +#: lutris/runners/ryujinx.py:32 lutris/runners/yuzu.py:30 +msgid "Encryption keys" +msgstr "Krypteringsnøkler" + +#: lutris/runners/ryujinx.py:34 lutris/runners/yuzu.py:32 +msgid "File containing the encryption keys." +msgstr "Fil som inneholder krypteringsnøkler." + +#: lutris/runners/ryujinx.py:38 lutris/runners/yuzu.py:36 +msgid "Title keys" +msgstr "Tittelnøkler" + +#: lutris/runners/ryujinx.py:40 lutris/runners/yuzu.py:38 +msgid "File containing the title keys." +msgstr "Fil som inneholder tittelnøkler." + +#: lutris/runners/scummvm.py:32 +msgid "Warning Scalers may not work with OpenGL rendering." +msgstr "" +"Advarsel Videoskalaer fungerer kanskje ikke med OpenGL-opptegneren." + +#: lutris/runners/scummvm.py:45 +#, python-format +msgid "Warning The '%s' scaler does not work with a scale factor of %s." +msgstr "" +"Advarsel «%s»-skaleringsverktøyet fungerer ikke med en " +"skaleringsfaktor av %s." + +#: lutris/runners/scummvm.py:54 +msgid "Engine for point-and-click games." +msgstr "Spillmotor for pek-og-klikk-spill." + +#: lutris/runners/scummvm.py:55 lutris/services/scummvm.py:29 +msgid "ScummVM" +msgstr "ScummVM" + +#: lutris/runners/scummvm.py:61 +msgid "Game identifier" +msgstr "Spillidentifikator" + +#: lutris/runners/scummvm.py:62 +msgid "Game files location" +msgstr "Plassering for spillfiler" + +#: lutris/runners/scummvm.py:119 +msgid "Enable subtitles" +msgstr "Bruk undertekster" + +#: lutris/runners/scummvm.py:127 +msgid "Aspect ratio correction" +msgstr "Korrigering av størrelsesforhold" + +#: lutris/runners/scummvm.py:131 +msgid "" +"Most games supported by ScummVM were made for VGA display modes using " +"rectangular pixels. Activating this option for these games will preserve the " +"4:3 aspect ratio they were made for." +msgstr "" +"De fleste spill som støttes av ScummVM ble laget for VGA-skjermer med bruk " +"av rektangulære piksler. Bruk av denne innstillingen for disse spillene vil " +"bevare 4:3 størrelsesforholdet de var ment for." + +#: lutris/runners/scummvm.py:140 +msgid "Graphic scaler" +msgstr "Bildeskala" + +#: lutris/runners/scummvm.py:157 +msgid "" +"The algorithm used to scale up the game's base resolution, resulting in " +"different visual styles. " +msgstr "" +"Algoritmen brukt for oppskalering av spilletsoppløsning, noe som resulterer " +"i forskjellige visuelle stiler." + +#: lutris/runners/scummvm.py:163 +msgid "Scale factor" +msgstr "Skaleringsfaktor" + +#: lutris/runners/scummvm.py:174 +msgid "" +"Changes the resolution of the game. For example, a 2x scale will take a " +"320x200 resolution game and scale it up to 640x400. " +msgstr "" +"Endrer spilloppløsningen. For eksempel en 2x-skala vil gjøre en 320 × 200-" +"spilloppløsning om til 640 × 400. " + +#: lutris/runners/scummvm.py:183 +msgid "Renderer" +msgstr "Opptegner" + +#: lutris/runners/scummvm.py:188 +msgid "OpenGL" +msgstr "OpenGL" + +#: lutris/runners/scummvm.py:189 +msgid "OpenGL (with shaders)" +msgstr "OpenGL (med skyggeleggere)" + +#: lutris/runners/scummvm.py:193 +msgid "Changes the rendering method used for 3D games." +msgstr "Endrer opptegningsmetode brukt av 3D-spill." + +#: lutris/runners/scummvm.py:198 +msgid "Render mode" +msgstr "Opptegningsmodus" + +#: lutris/runners/scummvm.py:202 +msgid "Hercules (Green)" +msgstr "Hercules (grønn)" + +#: lutris/runners/scummvm.py:203 +msgid "Hercules (Amber)" +msgstr "Hercules (gyllen)" + +#: lutris/runners/scummvm.py:204 +msgid "CGA" +msgstr "CGA" + +#: lutris/runners/scummvm.py:205 +msgid "EGA" +msgstr "EGA" + +#: lutris/runners/scummvm.py:206 +msgid "VGA" +msgstr "VGA" + +#: lutris/runners/scummvm.py:207 +msgid "Amiga" +msgstr "Amiga" + +#: lutris/runners/scummvm.py:208 +msgid "FM Towns" +msgstr "FM Towns" + +#: lutris/runners/scummvm.py:209 +msgid "PC-9821" +msgstr "PC-9821" + +#: lutris/runners/scummvm.py:210 +msgid "PC-9801" +msgstr "PC-9801" + +#: lutris/runners/scummvm.py:211 +msgid "Apple IIgs" +msgstr "Apple IIgs" + +#: lutris/runners/scummvm.py:213 +msgid "Macintosh" +msgstr "Macintosh" + +#: lutris/runners/scummvm.py:217 +msgid "" +"Changes the graphics hardware the game will target, if the game supports " +"this." +msgstr "" +"Endrer maskinvaren som driver skjermbildet som spillet vil målrette, hvis " +"spillet støtter dette." + +#: lutris/runners/scummvm.py:222 +msgid "Stretch mode" +msgstr "Strekkmodus" + +#: lutris/runners/scummvm.py:226 +msgid "Center" +msgstr "Midten" + +#: lutris/runners/scummvm.py:227 +msgid "Pixel Perfect" +msgstr "Perfekte piksler" + +#: lutris/runners/scummvm.py:228 +msgid "Even Pixels" +msgstr "Gjevne piksler" + +#: lutris/runners/scummvm.py:230 +msgid "Fit" +msgstr "Fasong" + +#: lutris/runners/scummvm.py:231 +msgid "Fit (force aspect ratio)" +msgstr "Fasong (tving størrelsesforhold)" + +#: lutris/runners/scummvm.py:235 +msgid "Changes how the game is placed when the window is resized." +msgstr "Endrer hvordan spillet plasseres og vindustørrelsen." + +#: lutris/runners/scummvm.py:240 +msgid "Filtering" +msgstr "Filtrering" + +#: lutris/runners/scummvm.py:243 +msgid "" +"Uses bilinear interpolation instead of nearest neighbor resampling for the " +"aspect ratio correction and stretch mode." +msgstr "" +"Tar i bruk bilineær interpolasjon i stedet for nærmeste nabo-datapunkter for " +"korrigering av størrelsesforhold og strekkmodus." + +#: lutris/runners/scummvm.py:251 +msgid "Data directory" +msgstr "Datamappe" + +#: lutris/runners/scummvm.py:253 +msgid "Defaults to share/scummvm if unspecified." +msgstr "Bruker standarden «share/scummvm» hvis ikke valgt." + +#: lutris/runners/scummvm.py:261 +msgid "" +"Specifes platform of game. Allowed values: 2gs, 3do, acorn, amiga, atari, " +"c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" +msgstr "" +"Velger plattform for spillene. Tillatte verdier: 2gs, 3do, acorn, amiga, " +"atari, c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii og windows" + +#: lutris/runners/scummvm.py:270 +msgid "Enables joystick input (default: 0 = first joystick)" +msgstr "Tar i bruk styrespakinndata (standard: 0 = første styrespak)" + +#: lutris/runners/scummvm.py:277 +msgid "" +"Selects language (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" +msgstr "" +"Velger språk (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru og cz)" + +#: lutris/runners/scummvm.py:283 +msgid "Engine speed" +msgstr "Spillmotor hastighet" + +#: lutris/runners/scummvm.py:285 +msgid "" +"Sets frames per second limit (0 - 100) for Grim Fandango or Escape from " +"Monkey Island (default: 60)." +msgstr "" +"Velger grense på bilde per sekund (0-100) for Grim Fandango eller Escape " +"from Money Island (standard: 60)." + +#: lutris/runners/scummvm.py:292 +msgid "Talk speed" +msgstr "Dialog hastighet" + +#: lutris/runners/scummvm.py:293 +msgid "Sets talk speed for games (default: 60)" +msgstr "Velger hastighet for dialogene i spill (standard: 60)s" + +#: lutris/runners/scummvm.py:300 +msgid "Music tempo" +msgstr "Musikk tempo" + +#: lutris/runners/scummvm.py:301 +msgid "Sets music tempo (in percent, 50-200) for SCUMM games (default: 100)" +msgstr "" +"Velger musikk tempoen (i prosent, 50-200) for SCUMM-spill (standard: 100)" + +#: lutris/runners/scummvm.py:308 +msgid "Digital iMuse tempo" +msgstr "Digital iMuse tempo" + +#: lutris/runners/scummvm.py:309 +msgid "Sets internal Digital iMuse tempo (10 - 100) per second (default: 10)" +msgstr "Velger intern digital iMuse tempo (10-100) per sekund (standard: 10)" + +#: lutris/runners/scummvm.py:315 +msgid "Music driver" +msgstr "Musikkdriver" + +#: lutris/runners/scummvm.py:331 +msgid "Specifies the device ScummVM uses to output audio." +msgstr "Velger enheten ScummVM skal bruke for lydutdata." + +#: lutris/runners/scummvm.py:337 +msgid "Output rate" +msgstr "Utdatafrekvens" + +#: lutris/runners/scummvm.py:344 +msgid "Selects output sample rate in Hz." +msgstr "Velger utdata samplingsrate i Hz." + +#: lutris/runners/scummvm.py:350 +msgid "OPL driver" +msgstr "OPL-driver" + +#: lutris/runners/scummvm.py:363 +msgid "" +"Chooses which emulator is used by ScummVM when the AdLib emulator is chosen " +"as the Preferred device." +msgstr "" +"Velger hvilken emulator som brukes av ScummVM når AdLib-emulator velges som " +"foretrukkne enhet." + +#: lutris/runners/scummvm.py:371 +msgid "Music volume" +msgstr "Lydstyrke for musikk" + +#: lutris/runners/scummvm.py:372 +msgid "Sets the music volume, 0-255 (default: 192)" +msgstr "Velger lydstyrke for musikk, 0-225 (standard: 192)" + +#: lutris/runners/scummvm.py:380 +msgid "Sets the sfx volume, 0-255 (default: 192)" +msgstr "Velger lydstyrke for filmtriks, 0-255 (standard: 192)" + +#: lutris/runners/scummvm.py:387 +msgid "Speech volume" +msgstr "Lydstyrke for tale" + +#: lutris/runners/scummvm.py:388 +msgid "Sets the speech volume, 0-255 (default: 192)" +msgstr "Velger lydstyrke for tale, 0-255 (standard: 192)" + +#: lutris/runners/scummvm.py:395 +msgid "MIDI gain" +msgstr "MIDI-sporvolum" + +#: lutris/runners/scummvm.py:396 +msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" +msgstr "Velger sporvolum for MIDI-avspilling. 0-1000 (standard: 100)" + +#: lutris/runners/scummvm.py:404 +msgid "Specifies the path to a soundfont file." +msgstr "Velger mappa til en «soundfont»-fil." + +#: lutris/runners/scummvm.py:410 +msgid "Mixed AdLib/MIDI mode" +msgstr "Blandet AdLib/MIDI-modus" + +#: lutris/runners/scummvm.py:413 +msgid "Combines MIDI music with AdLib sound effects." +msgstr "Kombinerer Midi-musikk med AdLib-lydeffekter." + +#: lutris/runners/scummvm.py:419 +msgid "True Roland MT-32" +msgstr "Ekte Roland MT-32" + +#: lutris/runners/scummvm.py:423 +msgid "" +"Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, " +"CM-32L, CM-500 or other MT-32 device." +msgstr "" +"Forteller ScummVM at MIDI-enheten er en ekte Roland MT-32-, LAPC-I-, CM-64-, " +"CM-32L-, CM-500- eller andre MT-32-enheter." + +#: lutris/runners/scummvm.py:431 +msgid "Enable Roland GS" +msgstr "Bruk Roland GS" + +#: lutris/runners/scummvm.py:435 +msgid "" +"Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, " +"such as an SC-55, SC-88 or SC-8820." +msgstr "" +"Forteller ScummVM at MIDI-enheten er en GS-enhet som har en MT-32-utforming, " +"for eksempel en SC-55, SC-88 eller SC-8820." + +#: lutris/runners/scummvm.py:443 +msgid "Use alternate intro" +msgstr "Bruk alternativ intro" + +#: lutris/runners/scummvm.py:444 +msgid "Uses alternative intro for CD versions" +msgstr "Tar i bruk alternative introer for CD-versjoner" + +#: lutris/runners/scummvm.py:450 +msgid "Copy protection" +msgstr "Kopibeskyttelse" + +#: lutris/runners/scummvm.py:451 +msgid "Enables copy protection" +msgstr "Tar i bruk Kopibeskyttelse" + +#: lutris/runners/scummvm.py:457 +msgid "Demo mode" +msgstr "Demomodus" + +#: lutris/runners/scummvm.py:458 +msgid "Starts demo mode of Maniac Mansion or The 7th Guest" +msgstr "Starter en demomodus av Maniac Mansion eller The 7th Guest" + +#: lutris/runners/scummvm.py:465 +msgid "Debug level" +msgstr "Feilsøkingsnivå" + +#: lutris/runners/scummvm.py:466 +msgid "Sets debug verbosity level" +msgstr "Velger nivået på detaljert feilsøking" + +#: lutris/runners/scummvm.py:473 +msgid "Debug flags" +msgstr "Feilsøkingsflagg" + +#: lutris/runners/scummvm.py:474 +msgid "Enables engine specific debug flags" +msgstr "Tar i bruk spillmotor spesifikke feilsøkingsflagg" + +#: lutris/runners/snes9x.py:18 +msgid "Super Nintendo emulator" +msgstr "Super Nintendo emulator" + +#: lutris/runners/snes9x.py:19 +msgid "Snes9x" +msgstr "Snes9x" + +#: lutris/runners/snes9x.py:40 +msgid "Maintain aspect ratio (4:3)" +msgstr "Behold størrelsesforholdet (4:3)" + +#: lutris/runners/snes9x.py:43 +msgid "" +"Super Nintendo games were made for 4:3 screens with rectangular pixels, but " +"modern screens have square pixels, which results in a vertically squeezed " +"image. This option corrects this by displaying rectangular pixels." +msgstr "" +"Super Nintendo-spill ble laget for 4:3-skjermer med rektangulære piksler, " +"men moderne skjermer har firkantede piksler, som resulterer i vertikalt " +"skviste bilder. Denne innstillingen korrigerer dette ved visning av " +"firkantede piksler." + +#: lutris/runners/snes9x.py:53 +msgid "Sound driver" +msgstr "Lyddriver" + +#: lutris/runners/steam.py:29 +msgid "Runs Steam for Linux games" +msgstr "Starter Steam for Linux-spill" + +#: lutris/runners/steam.py:40 +msgid "" +"The application ID can be retrieved from the game's page at " +"steampowered.com. Example: 235320 is the app ID for Original War " +"in: \n" +"http://store.steampowered.com/app/235320/" +msgstr "" +"Program-ID-en kan hentes fra spillsiden på steampowered.com. Eks. 235320 er " +"ID-en for Original War på: \n" +"http://store.steampowered.com/app/235320/" + +#: lutris/runners/steam.py:51 +msgid "" +"Command line arguments used when launching the game.\n" +"Ignored when Steam Big Picture mode is enabled." +msgstr "" +"Kommandolinje argumenter som brukes ved oppstart av spillet.\n" +"Ignoreres når Steam Big Picture-modus er i bruk." + +#: lutris/runners/steam.py:56 +msgid "DRM free mode (Do not launch Steam)" +msgstr "DRA-frimodus (Ikke start Steam)" + +#: lutris/runners/steam.py:60 +msgid "" +"Run the game directly without Steam, requires the game binary path to be set" +msgstr "" +"Start spillene direkte uten Steam, krever at mappa til spillets programfil " +"er satt" + +#: lutris/runners/steam.py:65 +msgid "Game binary path" +msgstr "Mappe for spill-programfil" + +#: lutris/runners/steam.py:67 +msgid "Path to the game executable (Required by DRM free mode)" +msgstr "Mappa til spillets programfil (Kreves av DRA-frimodus)" + +#: lutris/runners/steam.py:73 +msgid "Start Steam in Big Picture mode" +msgstr "Start Steam i Big Picture-modus" + +#: lutris/runners/steam.py:77 +msgid "" +"Launches Steam in Big Picture mode.\n" +"Only works if Steam is not running or already running in Big Picture mode.\n" +"Useful when playing with a Steam Controller." +msgstr "" +"Starter Steam i Big Picture-modus.\n" +"Fungerer bare hvis Steam ikke kjører eller er allerede i Big Picture-modus.\n" +"Hjelpsom når du spiller med en Steam-kontroller." + +#: lutris/runners/steam.py:88 +msgid "Extra command line arguments used when launching Steam" +msgstr "Ekstra kommandolinje argumenter som brukes ved oppstart av Steam" + +#: lutris/runners/steam.py:170 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "Steam for Linux-installasjon behandles ikke av Lutris." + +#: lutris/runners/steam.py:172 +msgid "" +"Steam for Linux installation is not handled by Lutris.\n" +"Please go to http://steampowered.com " +"or install Steam with the package provided by your distribution." +msgstr "" +"Steam-installasjon for Linux håndteres ikke av Lutris.\n" +"Besøk http://steampowered.com eller " +"installer Steam med pakken levert av distribusjonen din." + +#: lutris/runners/steam.py:186 +msgid "Could not find Steam path, is Steam installed?" +msgstr "Klarte ikke finne Steam-mappa, er Steam installert?" + +#: lutris/runners/vice.py:14 +msgid "Commodore Emulator" +msgstr "Commodore emulator" + +#: lutris/runners/vice.py:15 +msgid "Vice" +msgstr "Vice" + +#: lutris/runners/vice.py:18 +msgid "Commodore 64" +msgstr "Commodore 64" + +#: lutris/runners/vice.py:19 +msgid "Commodore 128" +msgstr "Commodore 128" + +#: lutris/runners/vice.py:20 +msgid "Commodore VIC20" +msgstr "Commodore VIC20" + +#: lutris/runners/vice.py:21 +msgid "Commodore PET" +msgstr "Commodore PET" + +#: lutris/runners/vice.py:22 +msgid "Commodore Plus/4" +msgstr "Commodore Plus/4" + +#: lutris/runners/vice.py:23 +msgid "Commodore CBM II" +msgstr "Commodore CBM II" + +#: lutris/runners/vice.py:39 +msgid "" +"The game data, commonly called a ROM image.\n" +"Supported formats: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, " +"D4M, T46, P00 and CRT." +msgstr "" +"Spilldataen, kjent som ROM bilde.\n" +"Støtter formatene: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, " +"D4M, T46, P00 og CRT." + +#: lutris/runners/vice.py:47 +msgid "Use joysticks" +msgstr "Bruk styrespaker" + +#: lutris/runners/vice.py:59 +msgid "Scale up display by 2" +msgstr "Skaler skjermen opp med 2" + +#: lutris/runners/vice.py:73 +msgid "Graphics renderer" +msgstr "Bildeopptegner" + +#: lutris/runners/vice.py:80 +msgid "Enable sound emulation of disk drives" +msgstr "Bruk lydemulering av lagringsenheter" + +#: lutris/runners/vice.py:190 +msgid "No rom provided" +msgstr "Ingen ROM oppgitt" + +#: lutris/runners/vita3k.py:12 lutris/runners/vita3k.py:98 +msgid "The Vita App has no Title ID set" +msgstr "Vita-programmet har ingen tittel-ID satt opp" + +#: lutris/runners/vita3k.py:18 +msgid "Vita3K" +msgstr "Vita3K" + +#: lutris/runners/vita3k.py:19 +msgid "Sony PlayStation Vita" +msgstr "Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:20 +msgid "Sony PlayStation Vita emulator" +msgstr "Sony PlayStation Vita emulator" + +#: lutris/runners/vita3k.py:29 +msgid "Title ID of Installed Application" +msgstr "Tittel-ID for installerte program" + +#: lutris/runners/vita3k.py:32 +msgid "" +"Title ID of installed application. Eg.\"PCSG00042\". User installed apps are " +"located in ux0:/app/<title-id>." +msgstr "" +"Tittel-ID for installerte program. Eks. «PCSG00042». Bruker installerte " +"programmer er plassert i ux0:/app/<title-id>." + +#: lutris/runners/vita3k.py:44 +msgid "Start the emulator in fullscreen mode." +msgstr "Start emulatoren i fullskjermmodus." + +#: lutris/runners/vita3k.py:49 +msgid "Config location" +msgstr "Plassering for oppsett" + +#: lutris/runners/vita3k.py:52 +msgid "" +"Get a configuration file from a given location. If a filename is given, it " +"must end with \".yml\", otherwise it will be assumed to be a directory." +msgstr "" +"Hent en oppsettsfil fra en gitt plassering. Hvis en filnavn er oppgitt, må " +"den ende med «.yml», ellers vil det antas å være en mappe." + +#: lutris/runners/vita3k.py:58 +msgid "Load configuration file" +msgstr "Last oppsettsfil" + +#: lutris/runners/vita3k.py:61 +msgid "" +"If trues, informs the emualtor to load the config file from the \"Config " +"location\" option." +msgstr "" +"Hvis sant, ber emulatoren om å laste inn oppsettsfila fra «Plassering for " +"oppsett»-innstillingen." + +#: lutris/runners/web.py:19 lutris/runners/web.py:21 +msgid "Web" +msgstr "Nett" + +#: lutris/runners/web.py:20 +msgid "Runs web based games" +msgstr "Kjører nettbaserte spill" + +#: lutris/runners/web.py:26 +msgid "Full URL or HTML file path" +msgstr "Full URL eller HTML filplassering" + +#: lutris/runners/web.py:27 +msgid "The full address of the game's web page or path to a HTML file." +msgstr "Den fulle adressen til spillets nettside eller mappa til en HTML-fil." + +#: lutris/runners/web.py:33 +msgid "Open in fullscreen" +msgstr "Åpne i fullskjerm" + +#: lutris/runners/web.py:36 +msgid "Launch the game in fullscreen." +msgstr "Starter spillet i fullskjerm." + +#: lutris/runners/web.py:40 +msgid "Open window maximized" +msgstr "Åpne vinduet maksimert" + +#: lutris/runners/web.py:43 +msgid "Maximizes the window when game starts." +msgstr "Maksimerer vinduet ved oppstart av spillet." + +#: lutris/runners/web.py:58 +msgid "The initial size of the game window when not opened." +msgstr "Den opprinnelige størrelsen på spillvinduet når det ikke er åpent." + +#: lutris/runners/web.py:62 +msgid "Disable window resizing (disables fullscreen and maximize)" +msgstr "Slå endring av vindusstørrelse (slår av fullskjerm og maksimere)" + +#: lutris/runners/web.py:65 +msgid "You can't resize this window." +msgstr "Du kan ikke endre størrelsen på dette vinduet." + +#: lutris/runners/web.py:69 +msgid "Borderless window" +msgstr "Fullskjerm i vindu" + +#: lutris/runners/web.py:72 +msgid "The window has no borders/frame." +msgstr "Dette vinduet har ingen kant/ramme." + +#: lutris/runners/web.py:76 +msgid "Disable menu bar and default shortcuts" +msgstr "Slå av menylinje og standard hurtigtaster" + +#: lutris/runners/web.py:79 +msgid "" +"This also disables default keyboard shortcuts, like copy/paste and " +"fullscreen toggling." +msgstr "" +"Dette slår også av standard hurtigtaster, for eksempel kopier, lim inn og " +"endring av fullskjerm." + +#: lutris/runners/web.py:83 +msgid "Disable page scrolling and hide scrollbars" +msgstr "Slå av siderulling og skjul rullelinja" + +#: lutris/runners/web.py:86 +msgid "Disables scrolling on the page." +msgstr "Slår av rulling på denne siden." + +#: lutris/runners/web.py:90 +msgid "Hide mouse cursor" +msgstr "Skjul musepekeren" + +#: lutris/runners/web.py:93 +msgid "Prevents the mouse cursor from showing when hovering above the window." +msgstr "Hindrer musepekeren fra å vise ved sveving over vinduet." + +#: lutris/runners/web.py:97 +msgid "Open links in game window" +msgstr "Åpne lenker i spillvindu" + +#: lutris/runners/web.py:101 +msgid "" +"Enable this option if you want clicked links to open inside the game window. " +"By default all links open in your default web browser." +msgstr "" +"Bruk denne innstillingen hvid du vil at trykkte lenker skal åpne inne i " +"spillvinduet. Som standard vil alle lenker åpne i nettleseren." + +#: lutris/runners/web.py:107 +msgid "Remove default margin & padding" +msgstr "Fjern standard marg og luft" + +#: lutris/runners/web.py:110 +msgid "" +"Sets margin and padding to zero on <html> and <body> elements." +msgstr "" +"Velger marg og luft til null på <html> and <body>-elementer." + +#: lutris/runners/web.py:114 +msgid "Enable Adobe Flash Player" +msgstr "Bruk Adobe Flash Player" + +#: lutris/runners/web.py:117 +msgid "Enable Adobe Flash Player." +msgstr "Bruk Adobe Flash Player." + +#: lutris/runners/web.py:121 +msgid "Custom User-Agent" +msgstr "Tilpasset brukeragent." + +#: lutris/runners/web.py:124 +msgid "Overrides the default User-Agent header used by the runner." +msgstr "Overstyrer standard brukeragent-topptekst, brukt av startprogrammet." + +#: lutris/runners/web.py:129 +msgid "Debug with Developer Tools" +msgstr "Feilsøk med utviklingsverktøy" + +#: lutris/runners/web.py:132 +msgid "Let's you debug the page." +msgstr "Lar deg feilsøke siden." + +#: lutris/runners/web.py:137 +msgid "Open in web browser (old behavior)" +msgstr "Åpne i nettleser (gammel atferd)" + +#: lutris/runners/web.py:140 +msgid "Launch the game in a web browser." +msgstr "Start spillet i en nettleser." + +#: lutris/runners/web.py:144 +msgid "Custom web browser executable" +msgstr "Tilpasset nettleser-programfil" + +#: lutris/runners/web.py:147 +msgid "" +"Select the executable of a browser on your system.\n" +"If left blank, Lutris will launch your default browser (xdg-open)." +msgstr "" +"Velg programfila til en nettleser på ditt system.\n" +"Hvis tom, Lutris vil bruke din standard nettleser (xdg-open).v" + +#: lutris/runners/web.py:153 +msgid "Web browser arguments" +msgstr "Nettleser argumenter" + +#: lutris/runners/web.py:157 +msgid "" +"Command line arguments to pass to the executable.\n" +"$GAME or $URL inserts the game url.\n" +"\n" +"For Chrome/Chromium app mode use: --app=\"$GAME\"" +msgstr "" +"Kommandolinje argumenter som skal sendes til programfila.\n" +"$GAME eller $URL skriver inn spill-URL.\n" +"For Chrome/Chromium app-modus bruk: --app=\"$GAME\"" + +#: lutris/runners/web.py:176 +msgid "" +"The web address is empty, \n" +"verify the game's configuration." +msgstr "" +"Nettadressen er tom, \n" +"kontroller spilletsoppsett." + +#: lutris/runners/web.py:183 +#, python-format +msgid "" +"The file %s does not exist, \n" +"verify the game's configuration." +msgstr "" +"Fila %s finnes ikke, \n" +"Kontroller spilletsoppsett." + +#: lutris/runners/wine.py:79 lutris/runners/wine.py:777 +msgid "Proton is not compatible with 32-bit prefixes." +msgstr "Proton støtter ikke 32-bit-prefikser." + +#: lutris/runners/wine.py:93 +msgid "" +"Warning Some Wine configuration options cannot be applied, if no " +"prefix can be found." +msgstr "" +"Advarsel Noen Wine-oppsett innstillinger kan ikke tas i bruk, hvis " +"man ikke finner noen prefiks." + +#: lutris/runners/wine.py:100 +#, python-format +msgid "" +"Warning Your NVIDIA driver is outdated.\n" +"You are currently running driver %s which does not fully support all " +"features for Vulkan and DXVK games." +msgstr "" +"Advarsel Din NVIDIA-driver er foreldet.\n" +"Din nåværende driver er %s som ikke helt støtter alle funksjonene for " +"Vulkan- og DXVK-spill." + +#: lutris/runners/wine.py:113 +#, python-format +msgid "" +"Error Vulkan is not installed or is not supported by your system, %s " +"is not available." +msgstr "" +"Feil Vulkan er ikke installert eller støttes ikke av ditt system, %s " +"er ikke tilgjengelig." + +#: lutris/runners/wine.py:128 +#, python-format +msgid "" +"Warning Lutris has detected that Vulkan API version %s is installed, " +"but to use the latest DXVK version, %s is required." +msgstr "" +"Advarsel Lutris har oppdaget at Vulkan-API-versjon %s er installert, " +"men for å bruke den nyeste DXVK-versjonen, trengs %s." + +#: lutris/runners/wine.py:136 +#, python-format +msgid "" +"Warning Lutris has detected that the best device available ('%s') " +"supports Vulkan API %s, but to use the latest DXVK version, %s is required." +msgstr "" +"Advarsel Lutris har oppdaget at den beste enheten tilgjengelig («%s») " +"støtter Vulkan-API %s, men for å bruke den nyeste DXVK-versjonen, trengs %s." + +#: lutris/runners/wine.py:152 +msgid "" +"Warning Your limits are not set correctly. Please increase them as " +"described here:\n" +"How-to-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "" +"Advarsel Grensene dine er ikke satt opp riktig. Øk dem som beskrevet " +"her:\n" +"How-to-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/runners/wine.py:163 +msgid "Warning Your kernel is not patched for fsync." +msgstr "Advarsel Kjernen din støtter ikke Fsync." + +#: lutris/runners/wine.py:168 +msgid "Wine virtual desktop is no longer supported" +msgstr "Wine-virtuelt skrivebord støttes ikke lenger" + +#: lutris/runners/wine.py:174 +msgid "Virtual desktops cannot be enabled in Proton or GE Wine versions." +msgstr "" +"Virtuelle skrivebord kan ikke tas i bruk med Proton- eller GE Wine-versjoner." + +#: lutris/runners/wine.py:179 +msgid "Custom (select executable below)" +msgstr "Tilpasset (velg programfil nedenfor)" + +#: lutris/runners/wine.py:181 +#, python-brace-format +msgid "WineHQ Devel ({})" +msgstr "WineHQ-utvikling ({})" + +#: lutris/runners/wine.py:182 +#, python-brace-format +msgid "WineHQ Staging ({})" +msgstr "WineHQ-eksperimentell ({})" + +#: lutris/runners/wine.py:183 +#, python-brace-format +msgid "Wine Development ({})" +msgstr "Wine-utvikling ({})" + +#: lutris/runners/wine.py:184 +#, python-brace-format +msgid "System ({})" +msgstr "System ({})" + +#: lutris/runners/wine.py:189 +msgid "GE-Proton (Latest)" +msgstr "GE-Proton (Nyeste)" + +#: lutris/runners/wine.py:200 +msgid "Runs Windows games" +msgstr "Kjører Windows-spill" + +#: lutris/runners/wine.py:201 +msgid "Wine" +msgstr "Wine" + +#: lutris/runners/wine.py:202 +msgid "Windows" +msgstr "Windows" + +#: lutris/runners/wine.py:211 +msgid "The game's main EXE file" +msgstr "Spillets hoved EXE-fil" + +#: lutris/runners/wine.py:217 +msgid "Windows command line arguments used when launching the game" +msgstr "Windows-kommandolinje argumenter som brukes ved oppstart av spillet" + +#: lutris/runners/wine.py:231 +msgid "Wine prefix" +msgstr "Wine-prefiks" + +#: lutris/runners/wine.py:234 +msgid "" +"The prefix used by Wine.\n" +"It's a directory containing a set of files and folders making up a confined " +"Windows environment." +msgstr "" +"Prefiksen brukt av Wine.\n" +"Er en mappe som inneholder filer og mapper som bygger opp under Windows-" +"miljøet." + +#: lutris/runners/wine.py:242 +msgid "Prefix architecture" +msgstr "Prefiks-arkitektur" + +#: lutris/runners/wine.py:243 +msgid "32-bit" +msgstr "32-bit" + +#: lutris/runners/wine.py:243 +msgid "64-bit" +msgstr "64-bit" + +#: lutris/runners/wine.py:245 +msgid "The architecture of the Windows environment" +msgstr "Arkitekturen av Windows-miljøet" + +#: lutris/runners/wine.py:250 +msgid "Integrate system files in the prefix" +msgstr "Integer systemfiler i prefiksen" + +#: lutris/runners/wine.py:254 +msgid "" +"Place 'Documents', 'Pictures', and similar files in your home folder, " +"instead of keeping them in the game's prefix. This includes some saved games." +msgstr "" +"Plasser «Dokumenter», «Bilder» og lignenede filer i hjemmemappa, i stedet " +"for å holde dem i spillets-prefiks. Dette inkluderer noen brukerfiler." + +#: lutris/runners/wine.py:263 +msgid "Wine version" +msgstr "Wine-versjon" + +#: lutris/runners/wine.py:269 +msgid "" +"The version of Wine used to launch the game.\n" +"Using the last version is generally recommended, but some games work better " +"on older versions." +msgstr "" +"Wine-versjonen som brukes for oppstart av spillet.\n" +"Bruk av den nyeste versjonen støttes generelt, men noen spill fungerer bedre " +"med eldre versjoner." + +#: lutris/runners/wine.py:276 +msgid "Custom Wine executable" +msgstr "Tilpasset Wine-programfil" + +#: lutris/runners/wine.py:279 +msgid "" +"The Wine executable to be used if you have selected \"Custom\" as the Wine " +"version." +msgstr "" +"Wine-programfila som skal brukes hvis du valgte «Tilpasset» som Wine-" +"versjonen." + +#: lutris/runners/wine.py:283 +msgid "Use system winetricks" +msgstr "Bruk systemets-Winetricks" + +#: lutris/runners/wine.py:287 +msgid "Switch on to use /usr/bin/winetricks for winetricks." +msgstr "Endre til /usr/bin/winetricks for Winetricks." + +#: lutris/runners/wine.py:292 +msgid "Enable DXVK" +msgstr "Bruk DXVK" + +#: lutris/runners/wine.py:296 +msgid "DXVK" +msgstr "DXVK" + +#: lutris/runners/wine.py:299 +msgid "" +"Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 " +"applications by translating their calls to Vulkan." +msgstr "" +"Bruk DXVK for å øke kompaibilitet og ytelse i Direct3D 11-, 10- og 9-" +"programmer ved å oversette kallene til Vulkan." + +#: lutris/runners/wine.py:307 +msgid "DXVK version" +msgstr "DXVK-versjon" + +#: lutris/runners/wine.py:320 +msgid "Enable VKD3D" +msgstr "Bruk VKD3D" + +#: lutris/runners/wine.py:323 +msgid "VKD3D" +msgstr "VKD3D" + +#: lutris/runners/wine.py:326 +msgid "" +"Use VKD3D to enable support for Direct3D 12 applications by translating " +"their calls to Vulkan." +msgstr "" +"Bruk VKD3D for å ta i bruk støtte for Direct3D 12-programmer ved å oversette " +"kallene til Vulkan." + +#: lutris/runners/wine.py:331 +msgid "VKD3D version" +msgstr "VKD3D-versjon" + +#: lutris/runners/wine.py:343 +msgid "Enable D3D Extras" +msgstr "Bruk D3D-Extras" + +#: lutris/runners/wine.py:348 +msgid "" +"Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed " +"for proper functionality of DXVK with some games." +msgstr "" +"Erstatt Wine-D3DX- og D3DCOMPILER-biblioteker med alternativer. Trengs for " +"ordentlig funksjonalitet av DXVK i noen spill." + +#: lutris/runners/wine.py:355 +msgid "D3D Extras version" +msgstr "D3D-Extras-versjon" + +#: lutris/runners/wine.py:365 +msgid "Enable DXVK-NVAPI / DLSS" +msgstr "Bruk DXVK-NVAPI / DLSS" + +#: lutris/runners/wine.py:367 +msgid "DXVK-NVAPI / DLSS" +msgstr "DXVK-NVAPI / DLSS" + +#: lutris/runners/wine.py:371 +msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." +msgstr "" +"Bruk emulering av Nvidia's NVAPI og legg til DLSS-støtte, hvis tilgjengelig." + +#: lutris/runners/wine.py:376 +msgid "DXVK NVAPI version" +msgstr "DXVK-NVAPI-versjon" + +#: lutris/runners/wine.py:387 +msgid "Enable dgvoodoo2" +msgstr "Bruk dgvoodoo2" + +#: lutris/runners/wine.py:392 +msgid "" +"dgvoodoo2 is an alternative translation layer for rendering old games that " +"utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended " +"to use it in combination with DXVK. Only 32-bit apps are supported." +msgstr "" +"dgvoodoo2 er et alternativt oversettelseslag for opptegning av eldre spill " +"som bruker D3D1-7 og Glide-API-er. Ettersom den oversetter til D3D11, " +"anbefales det å bruke den i kombinasjon med DXVK. Bare 32-bit programmer " +"støttes." + +#: lutris/runners/wine.py:400 +msgid "dgvoodoo2 version" +msgstr "dgvoodoo2-versjon" + +#: lutris/runners/wine.py:409 +msgid "Enable Esync" +msgstr "Bruk Esync" + +#: lutris/runners/wine.py:415 +msgid "" +"Enable eventfd-based synchronization (esync). This will increase performance " +"in applications that take advantage of multi-core processors." +msgstr "" +"Bruk eventfs-basert synkronisering (Esync). Dette vil øke ytelse i " +"programmer som tar nytte av flerkjerne prosesser." + +#: lutris/runners/wine.py:422 +msgid "Enable Fsync" +msgstr "Bruk Fsync" + +#: lutris/runners/wine.py:428 +msgid "" +"Enable futex-based synchronization (fsync). This will increase performance " +"in applications that take advantage of multi-core processors. Requires " +"kernel 5.16 or above." +msgstr "" +"Bruk futex-basert synkronisering (Fsync). Dette vil øke ytelse i programmer " +"som tar nytte av flerkjerne prosesser. Krever kjernen 5.16 eller høyere." + +#: lutris/runners/wine.py:436 +msgid "Enable AMD FidelityFX Super Resolution (FSR)" +msgstr "Bruk AMD FidelityFX Super Resolution (FSR)" + +#: lutris/runners/wine.py:440 +msgid "" +"Use FSR to upscale the game window to native resolution.\n" +"Requires Lutris Wine FShack >= 6.13 and setting the game to a lower " +"resolution.\n" +"Does not work with games running in borderless window mode or that perform " +"their own upscaling." +msgstr "" +"Bruk FSR for å oppskalere et spillvindu til den opprinnelige oppløsningen.\n" +"Krever «Lutris Wine FShack» >= 6.13 og sette spilloppløsningen til en lavere " +"oppløsning.\n" +"Fungerer ikke med spill som kjører med fullskjerm i vindumodus eller som " +"styrer sin egen oppskalering." + +#: lutris/runners/wine.py:447 +msgid "Enable BattlEye Anti-Cheat" +msgstr "Bruk BattlEye Anti-Cheat" + +#: lutris/runners/wine.py:451 +msgid "" +"Enable support for BattlEye Anti-Cheat in supported games\n" +"Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" +msgstr "" +"Bruk BattlEye Anti-Cheat i spill som støtter dette.\n" +"Krever «Lutris Wine» 6.21-2 og nyere eller andre kompatible Wine-versjoner.\n" + +#: lutris/runners/wine.py:457 +msgid "Enable Easy Anti-Cheat" +msgstr "Bruk Easy Anti-Cheat" + +#: lutris/runners/wine.py:461 +msgid "" +"Enable support for Easy Anti-Cheat in supported games\n" +"Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" +msgstr "" +"Bruk Easy Anti-Cheat i spill som støtter dette.\n" +"Krever «Lutris Wine» 7.2 og nyere eller andre kompatible Wine-versjoner.\n" + +#: lutris/runners/wine.py:467 lutris/runners/wine.py:482 +msgid "Virtual Desktop" +msgstr "Virtuelle skrivebord" + +#: lutris/runners/wine.py:468 +msgid "Windowed (virtual desktop)" +msgstr "I vindu (virtuelt skrivebord)" + +#: lutris/runners/wine.py:475 +msgid "" +"Run the whole Windows desktop in a window.\n" +"Otherwise, run it fullscreen.\n" +"This corresponds to Wine's Virtual Desktop option." +msgstr "" +"Start hele Windows-skrivebordet i et vindu.\n" +"Ellers, kjør i fullskjerm.\n" +"Dette samsvarer med virtuelt skrivebord-innstillingen i Wine." + +#: lutris/runners/wine.py:483 +msgid "Virtual desktop resolution" +msgstr "Oppløsning for virtuelt skrivebord" + +#: lutris/runners/wine.py:489 +msgid "The size of the virtual desktop in pixels." +msgstr "Størrelsen på virtuelt skrivebord i piksler." + +#: lutris/runners/wine.py:493 lutris/runners/wine.py:505 +#: lutris/runners/wine.py:506 +msgid "DPI" +msgstr "DPI" + +#: lutris/runners/wine.py:494 +msgid "Enable DPI Scaling" +msgstr "Bruk DPI-skalering" + +#: lutris/runners/wine.py:499 +msgid "" +"Enables the Windows application's DPI scaling.\n" +"Otherwise, the Screen Resolution option in 'Wine configuration' controls " +"this." +msgstr "" +"Bruker DPI-skalering i Windows program.\n" +"Ellers, styres dette av skjermoppløsning-innstillingen i «Wine-oppsett»." + +#: lutris/runners/wine.py:511 +msgid "The DPI to be used if 'Enable DPI Scaling' is turned on." +msgstr "DPI-en som skal brukes hvis «Bruk DPI-skalering» er slått på." + +#: lutris/runners/wine.py:515 +msgid "Mouse Warp Override" +msgstr "Overstyr museforvrengning" + +#: lutris/runners/wine.py:518 +msgid "Enable" +msgstr "Bruk" + +#: lutris/runners/wine.py:520 +msgid "Force" +msgstr "Tving" + +#: lutris/runners/wine.py:525 +msgid "" +"Override the default mouse pointer warping behavior\n" +"Enable: (Wine default) warp the pointer when the mouse is exclusively " +"acquired \n" +"Disable: never warp the mouse pointer \n" +"Force: always warp the pointer" +msgstr "" +"Overstyrer den standardiserte museforvrengning atferden\n" +"Bruk: (Wine standard) forvreng pekeren når musa utelukkende " +"anskaffet \n" +"Slå av: aldri forvreng musepekeren \n" +"Tving: alltid forvreng pekeren" + +#: lutris/runners/wine.py:534 +msgid "Audio driver" +msgstr "Lyddriver" + +#: lutris/runners/wine.py:545 +msgid "" +"Which audio backend to use.\n" +"By default, Wine automatically picks the right one for your system." +msgstr "" +"Hvilken lydmotor som skal brukes.\n" +"Som standard, velger Wine automatisk den riktige for ditt system." + +#: lutris/runners/wine.py:551 +msgid "DLL overrides" +msgstr "DLL-overstyring" + +#: lutris/runners/wine.py:552 +msgid "Sets WINEDLLOVERRIDES when launching the game." +msgstr "Velger WINEDLLOVERRIDES ved oppstart av spillet." + +#: lutris/runners/wine.py:556 +msgid "Output debugging info" +msgstr "Skriv ut diagnostikk" + +#: lutris/runners/wine.py:561 +msgid "Inherit from environment" +msgstr "Hent fra miljøet" + +#: lutris/runners/wine.py:563 +msgid "Full (CAUTION: Will cause MASSIVE slowdown)" +msgstr "Full (ADVARSEL: Vil føre til MASSIV nedbremsing)" + +#: lutris/runners/wine.py:566 +msgid "Output debugging information in the game log (might affect performance)" +msgstr "Skriv ut feilsøkingsinformasjon i spilletslogg (kan påvirke ytelsen)" + +#: lutris/runners/wine.py:570 +msgid "Show crash dialogs" +msgstr "Vis krasjdialoger" + +#: lutris/runners/wine.py:578 +msgid "Autoconfigure joypads" +msgstr "Sett opp kontrollere automatisk" + +#: lutris/runners/wine.py:581 +msgid "" +"Automatically disables one of Wine's detected joypad to avoid having 2 " +"controllers detected" +msgstr "" +"Slår av en Wine oppdaget kontroller automatisk for å unngå å ha 2 " +"kontrollere oppdaget" + +#: lutris/runners/wine.py:615 +msgid "Run EXE inside Wine prefix" +msgstr "Start EXE inne i en Wine-prefiks" + +#: lutris/runners/wine.py:616 +msgid "Open Bash terminal" +msgstr "Åpne Bash-konsoll" + +#: lutris/runners/wine.py:617 +msgid "Open Wine console" +msgstr "Åpne Wine-konsoll" + +#: lutris/runners/wine.py:619 +msgid "Wine configuration" +msgstr "Wine-oppsett" + +#: lutris/runners/wine.py:620 +msgid "Wine registry" +msgstr "Wine-registeret" + +#: lutris/runners/wine.py:621 +msgid "Wine Control Panel" +msgstr "Wine-kontrollpanel" + +#: lutris/runners/wine.py:622 +msgid "Wine Task Manager" +msgstr "Wine-oppgavebehandler" + +#: lutris/runners/wine.py:624 +msgid "Winetricks" +msgstr "Winetricks" + +#: lutris/runners/wine.py:752 lutris/runners/wine.py:758 +#, python-format +msgid "The Wine executable at '%s' is missing." +msgstr "Fant ikke Wine-programfila «%s»." + +#: lutris/runners/wine.py:816 +#, python-format +msgid "The required game '%s' could not be found." +msgstr "Fant ikke det nødvendige spillet «%s»" + +#: lutris/runners/wine.py:849 +msgid "The runner configuration does not specify a Wine version." +msgstr "Startprogram-oppsettet oppgir ikke en Wine-versjon." + +#: lutris/runners/wine.py:887 +msgid "Select an EXE or MSI file" +msgstr "Velg en EXE- eller MSI-fil" + +#: lutris/runners/xemu.py:9 +msgid "xemu" +msgstr "xemu" + +#: lutris/runners/xemu.py:10 +msgid "Xbox" +msgstr "Xbox" + +#: lutris/runners/xemu.py:11 +msgid "Xbox emulator" +msgstr "Xbox emulator" + +#: lutris/runners/xemu.py:20 +msgid "DVD image in iso format" +msgstr "DVD-bilde i iso-format" + +#: lutris/runners/yuzu.py:13 +msgid "Yuzu" +msgstr "Yuzu" + +#. http://zdoom.org/wiki/Command_line_parameters +#: lutris/runners/zdoom.py:13 +msgid "GZDoom Game Engine" +msgstr "GZDoom spillmotor" + +#: lutris/runners/zdoom.py:14 +msgid "GZDoom" +msgstr "GZDoom" + +#: lutris/runners/zdoom.py:22 +msgid "WAD file" +msgstr "WAD-fil" + +#: lutris/runners/zdoom.py:23 +msgid "The game data, commonly called a WAD file." +msgstr "Spilldataen, kjent som WAD-fil." + +#: lutris/runners/zdoom.py:29 +msgid "Command line arguments used when launching the game." +msgstr "Kommandolinje argumenter som brukes ved oppstart av spillet." + +#: lutris/runners/zdoom.py:34 +msgid "PWAD files" +msgstr "PWAD-filer" + +#: lutris/runners/zdoom.py:35 +msgid "" +"Used to load one or more PWAD files which generally contain user-created " +"levels." +msgstr "" +"Brukes for å laste en eller flere PWAD-filer som generelt inneholder bruker-" +"genererte-nivåer." + +#: lutris/runners/zdoom.py:40 +msgid "Warp to map" +msgstr "Teleporter til kart" + +#: lutris/runners/zdoom.py:41 +msgid "Starts the game on the given map." +msgstr "Starter spillet på det gitte kartet.v" + +#: lutris/runners/zdoom.py:48 +msgid "User-specified path where save files should be located." +msgstr "Brukervalgt mappe der brukerfilene skal plasseres." + +#: lutris/runners/zdoom.py:52 +msgid "Pixel Doubling" +msgstr "Dobling av piksler" + +#: lutris/runners/zdoom.py:53 +msgid "Pixel Quadrupling" +msgstr "Firedobling av piksler" + +#: lutris/runners/zdoom.py:56 +msgid "Disable Startup Screens" +msgstr "Slå av oppstartsbildet" + +#: lutris/runners/zdoom.py:62 +msgid "Skill" +msgstr "Ferdighet" + +#: lutris/runners/zdoom.py:67 +msgid "I'm Too Young To Die (1)" +msgstr "Jeg er for ung til å dø (1)" + +#: lutris/runners/zdoom.py:68 +msgid "Hey, Not Too Rough (2)" +msgstr "Hei, alltid forsiktig (2)" + +#: lutris/runners/zdoom.py:69 +msgid "Hurt Me Plenty (3)" +msgstr "Gjør meg veldig vondt (3)" + +#: lutris/runners/zdoom.py:70 +msgid "Ultra-Violence (4)" +msgstr "Ultra-vold (4)" + +#: lutris/runners/zdoom.py:71 +msgid "Nightmare! (5)" +msgstr "Mareritt! (5)" + +#: lutris/runners/zdoom.py:79 +msgid "" +"Used to load a user-created configuration file. If specified, the file must " +"contain the wad directory list or launch will fail." +msgstr "" +"Brukes for å laste bruker opprettet oppsettsfil. Hvis valgt, må fila " +"inneholde wad-mappeoppføringen ellers vil oppstarten mislykkes." + +#: lutris/runtime.py:127 +#, python-format +msgid "Updating %s" +msgstr "Oppdaterer %s" + +#: lutris/runtime.py:130 +#, python-format +msgid "Updated %s" +msgstr "Oppdaterte %s" + +#: lutris/services/amazon.py:69 +msgid "Amazon" +msgstr "Amazon" + +#: lutris/services/amazon.py:179 +msgid "No Amazon user data available, please log in again" +msgstr "Ingen Amazon brukerdata tilgjengelig, logg inn på nytt" + +#: lutris/services/amazon.py:244 +msgid "Unable to register device, please log in again" +msgstr "Klarte ikke registrere enheten. logg inn på nytt" + +#: lutris/services/amazon.py:259 +msgid "Invalid token info found, please log in again" +msgstr "Ugyldig kjennemerkeinfo funnet, logg inn på nytt" + +#: lutris/services/amazon.py:293 +msgid "Unable to refresh token, please log in again" +msgstr "Klarte ikke oppdatere kjennemerke, logg inn på nyttt" + +#: lutris/services/amazon.py:465 +msgid "Unable to get game manifest info" +msgstr "Klarte ikke hente spillmanifest-informasjon" + +#: lutris/services/amazon.py:486 +msgid "Unable to get game manifest" +msgstr "Klarte ikke hente spillmanifest" + +#: lutris/services/amazon.py:501 +msgid "Unknown compression algorithm found in manifest" +msgstr "Fant ukjent komprimeringsalgoritme i manifest" + +#: lutris/services/amazon.py:526 +#, python-format +msgid "Unable to get the patches of game '%s'" +msgstr "Klarte ikke hente programrettelsene til spillet «%s»" + +#: lutris/services/amazon.py:603 +msgid "Unable to get fuel.json file." +msgstr "Klarte ikke hente fuel.json-fila." + +#: lutris/services/amazon.py:614 +msgid "Invalid response from Amazon APIs" +msgstr "Ugyldig svar fra Amazon-API-ene" + +#: lutris/services/amazon.py:648 lutris/services/gog.py:548 +msgid "Couldn't load the downloads for this game" +msgstr "Klarte ikke laste nedlastingene for dette spillet" + +#: lutris/services/amazon.py:696 +msgid "Amazon Prime Gaming" +msgstr "Amazon Prime Gaming" + +#: lutris/services/base.py:450 +#, python-format +msgid "" +"This service requires a game launcher. The following steps will install it.\n" +"Once the client is installed, you can login to %s." +msgstr "" +"Denne tjenesten krever en spillstarter. De følgende trinnene vil installere " +"den.\n" +"Når programmet er installert, kan du logge på %s." + +#: lutris/services/battlenet.py:105 +msgid "Battle.net" +msgstr "Battle.net" + +#: lutris/services/ea_app.py:141 +msgid "EA App" +msgstr "EA App" + +#: lutris/services/egs.py:142 +msgid "Epic Games Store" +msgstr "Epic Games Store" + +#: lutris/services/flathub.py:56 +msgid "Flathub" +msgstr "Flathub" + +#: lutris/services/flathub.py:84 +msgid "No flatpak or flatpak-spawn found" +msgstr "Fant ingen flatpak eller flatpak-spawn" + +#: lutris/services/flathub.py:106 +msgid "" +"Flathub is not configured on the system. Visit https://flatpak.org/setup/ " +"for instructions." +msgstr "" +"Flathub er ikke satt opp på systemet. Besøk https://flatpak.org/setup/ for " +"instruksjoner." + +#: lutris/services/gog.py:79 +msgid "GOG" +msgstr "GOG" + +#: lutris/services/gog.py:482 +msgid "Couldn't load the download links for this game" +msgstr "Klarte ikke laste nedlastingslenka til dette spillet" + +#: lutris/services/gog.py:539 +msgid "Unable to determine correct file to launch installer" +msgstr "" +"Klarte ikke bestemme den riktige fila for å starte installeringsprogrammet" + +#: lutris/services/humblebundle.py:65 +msgid "Humble Bundle" +msgstr "Humble Bundle" + +#: lutris/services/humblebundle.py:85 +msgid "Workaround for Humble Bundle authentication" +msgstr "Løsning for Humble Bundle-autentisering" + +#: lutris/services/humblebundle.py:87 +msgid "" +"Humble Bundle is restricting API calls from software like Lutris and " +"GameHub.\n" +"Authentication to the service will likely fail.\n" +"There is a workaround involving copying cookies from Firefox, do you want to " +"do this instead?" +msgstr "" +"Humble Bundle skrenker inn API-kaller fra programvare som Lutris og " +"GameHub.\n" +"Autentiseringen til tjenesten vil mest sannsynlig mislykkes.\n" +"Det finnes en løsning som innvolverer kopiering av infokapsler fra Firefox, " +"vil du gjøre dette i stedet?" + +#: lutris/services/humblebundle.py:238 +msgid "The download URL for the game could not be determined." +msgstr "Klarte ikke bestemme nedlastings-URL-en til spillet." + +#: lutris/services/humblebundle.py:240 +msgid "No game found on Humble Bundle" +msgstr "Fant ingen spill på Humble Bundle" + +#. According to their branding, "itch.io" is supposed to be all lowercase +#: lutris/services/itchio.py:84 +msgid "itch.io" +msgstr "itch.io" + +#: lutris/services/itchio.py:129 +msgid "" +"Lutris needs an API key to connect to itch.io. You can obtain one\n" +"from the itch.io API keys " +"page.\n" +"\n" +"You should give Lutris its own API key instead of sharing them." +msgstr "" +"Lutris trenger en API-nøkkel for å koble til itch.io. Du kan få en\n" +"fra itch.io API-nøkkelsiden.\n" +"\n" +"Du burde gi Lutris en egen API-nøkkel i stedet for å dele dem." + +#: lutris/services/itchio.py:138 +msgid "Itch.io API key" +msgstr "Itch.io API-nøkkel" + +#: lutris/services/lutris.py:132 +#, python-format +msgid "Lutris has no installers for %s. Try using a different service instead." +msgstr "" +"Lutris har ingen installeringsprogram for %s. Prøv å bruke en annen tjeneste " +"i stedet." + +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Steam-familie" + +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "Bruk for visning av hvert eneste spill i Steam-familie" + +#: lutris/services/steam.py:98 +msgid "" +"Failed to load games. Check that your profile is set to public during the " +"sync." +msgstr "" +"Klarte ikke laste spill. Kontroller at din profil er satt til offentlig " +"under synkronisering." + +#: lutris/services/steamwindows.py:24 +msgid "Steam for Windows" +msgstr "Steam for Windows" + +#: lutris/services/steamwindows.py:25 +msgid "" +"Use only for the rare games or mods requiring the Windows version of Steam" +msgstr "" +"Bruk for de få spillene eller tilleggene som krever Windows-versjonen av " +"Steam" + +#: lutris/services/ubisoft.py:79 +msgid "Ubisoft Connect" +msgstr "Ubisoft Connect" + +#: lutris/services/xdg.py:44 +msgid "Local" +msgstr "Lokal" + +#: lutris/settings.py:16 +msgid "(c) 2009 Lutris Team" +msgstr "© 2009 Lutris-utviklingslaget" + +#: lutris/startup.py:138 +#, python-format +msgid "" +"Failed to open database file in %s. Try renaming this file and relaunch " +"Lutris" +msgstr "" +"Klarte ikke åpne databasefila i %s. Prøv å gi nytt navn til fila og start " +"Lutris på nytt" + +#: lutris/sysoptions.py:19 +msgid "Keep current" +msgstr "Behold gjeldende" + +#: lutris/sysoptions.py:29 +msgid "Chinese" +msgstr "Kinesisk" + +#: lutris/sysoptions.py:30 +msgid "Croatian" +msgstr "Kroatisk" + +#: lutris/sysoptions.py:31 +msgid "Dutch" +msgstr "Nederlandsk" + +#: lutris/sysoptions.py:33 +msgid "Finnish" +msgstr "Finsk" + +#: lutris/sysoptions.py:35 +msgid "Georgian" +msgstr "Georgisk" + +#: lutris/sysoptions.py:41 +msgid "Portuguese (Brazilian)" +msgstr "Portugisisk (Brasil)" + +#: lutris/sysoptions.py:42 +msgid "Polish" +msgstr "Polsk" + +#: lutris/sysoptions.py:43 +msgid "Russian" +msgstr "Russisk" + +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 +msgid "Off" +msgstr "Av" + +#: lutris/sysoptions.py:61 +msgid "Primary" +msgstr "Hoved" + +#: lutris/sysoptions.py:83 +msgid "Default installation folder" +msgstr "Standard installasjonsmappe" + +#: lutris/sysoptions.py:93 +msgid "Disable Lutris Runtime" +msgstr "Slå av Lutris-kjøretid" + +#: lutris/sysoptions.py:96 +msgid "" +"The Lutris Runtime loads some libraries before running the game, which can " +"cause some incompatibilities in some cases. Check this option to disable it." +msgstr "" +"Lutris-kjøretiden laster noen biblioteker før oppstart av spillet. som kan " +"gi kompatibilitets problemer i noen tilfeller. Bruk denne innstillingen for " +"å slå den av." + +#: lutris/sysoptions.py:105 +msgid "Prefer system libraries" +msgstr "Foretrekk systembiblioteker" + +#: lutris/sysoptions.py:107 +msgid "" +"When the runtime is enabled, prioritize the system libraries over the " +"provided ones." +msgstr "Når kjøretid er i bruk, prioriter systembiblioteker over de leverte." + +#: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 +#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 +#: lutris/sysoptions.py:179 lutris/sysoptions.py:195 +msgid "Display" +msgstr "Skjerm" + +#: lutris/sysoptions.py:113 +msgid "GPU" +msgstr "Skjermkort" + +#: lutris/sysoptions.py:117 +msgid "GPU to use to run games" +msgstr "Skjermkort som skal brukes for å kjøre spill" + +#: lutris/sysoptions.py:123 +msgid "FPS counter (MangoHud)" +msgstr "FPS-viser (MangoHud)" + +#: lutris/sysoptions.py:126 +msgid "" +"Display the game's FPS + other information. Requires MangoHud to be " +"installed." +msgstr "" +"Viser spillets FPS og annen informasjon. Krever at MangoHud er installert." + +#: lutris/sysoptions.py:132 +msgid "Restore resolution on game exit" +msgstr "Gjenopprett oppløsning ved avsltutting av spill" + +#: lutris/sysoptions.py:137 +msgid "" +"Some games don't restore your screen resolution when \n" +"closed or when they crash. This is when this option comes \n" +"into play to save your bacon." +msgstr "" +"Noen spill gjenoppretter ikke skjermensoppløsning ved\n" +"lukking eller når de krasjer. Dette er når innstillingen kommer \n" +"til redning." + +#: lutris/sysoptions.py:145 +msgid "Disable desktop effects" +msgstr "Slå av skrivebordseffekter" + +#: lutris/sysoptions.py:151 +msgid "" +"Disable desktop effects while game is running, reducing stuttering and " +"increasing performance" +msgstr "" +"Slå av skrivebordseffekter når spillet kjører, reduserer hakking og øker " +"ytelsen" + +#: lutris/sysoptions.py:156 +msgid "Prevent sleep" +msgstr "Forhindre hvilemodus" + +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." +msgstr "Forhindrer datamaskinen fra å hvile når et spill kjører." + +#: lutris/sysoptions.py:167 +msgid "SDL 1.2 Fullscreen Monitor" +msgstr "SDL 1.2 Fullskjermsmonitor" + +#: lutris/sysoptions.py:173 +msgid "" +"Hint SDL 1.2 games to use a specific monitor when going fullscreen by " +"setting the SDL_VIDEO_FULLSCREEN environment variable" +msgstr "" +"Tipser SDL 1.2 spill å bruke en spesifikk monitor ved bruk av fullskjerm ved " +"å skrive inn SDL_VIDEO_FULLSCREEN miljøvariablen" + +#: lutris/sysoptions.py:182 +msgid "Turn off monitors except" +msgstr "Slå av monitor unntatt" + +#: lutris/sysoptions.py:188 +msgid "" +"Only keep the selected screen active while the game is running. \n" +"This is useful if you have a dual-screen setup, and are \n" +"having display issues when running a game in fullscreen." +msgstr "" +"Hold kun den valgte skjermen i bruk mens spillet kjører. \n" +"Dette er hjelpsomt hvis du har flere skjermer, og har \n" +"problemer med skjermene ved kjøring av spill i fullskjerm." + +#: lutris/sysoptions.py:198 +msgid "Switch resolution to" +msgstr "Endre oppløsning til" + +#: lutris/sysoptions.py:203 +msgid "Switch to this screen resolution while the game is running." +msgstr "Bytt til denne skjermoppløsningen mens spillet kjører." + +#: lutris/sysoptions.py:209 +msgid "Enable Gamescope" +msgstr "Bruk Gamescope" + +#: lutris/sysoptions.py:212 +msgid "" +"Use gamescope to draw the game window isolated from your desktop.\n" +"Toggle fullscreen: Super + F" +msgstr "" +"Bruk Gamescope for å gjengi spillvinduet på en isolert måte fra " +"skrivebordet.\n" +"Slå av/på fullskjerm: «Super + F»" + +#: lutris/sysoptions.py:218 +msgid "Enable HDR (Experimental)" +msgstr "Bruk HDR (eksperimentell)" + +#: lutris/sysoptions.py:223 +msgid "" +"Enable HDR for games that support it.\n" +"Requires Plasma 6 and VK_hdr_layer." +msgstr "" +"Bruk HDR for spill som støtter dette.\n" +"Krever Plasma 6 og VK_hdr_layer." + +#: lutris/sysoptions.py:229 +msgid "Relative Mouse Mode" +msgstr "Relativ musemodus" + +#: lutris/sysoptions.py:235 +msgid "" +"Always use relative mouse mode instead of flipping\n" +"dependent on cursor visibility\n" +"Can help with games where the player's camera faces the floor" +msgstr "" +"Bruk alltid relativ musemodus i stedet for omsnuing\n" +"avhenger av pekersynliget\n" +"Kan hjelpe med spill der spillerenskamera er rettet mot gulvet" + +#: lutris/sysoptions.py:244 +msgid "Output Resolution" +msgstr "Utdataoppløsning" + +#: lutris/sysoptions.py:250 +msgid "" +"Set the resolution used by gamescope.\n" +"Resizing the gamescope window will update these settings.\n" +"\n" +"Custom Resolutions: (width)x(height)" +msgstr "" +"Velg oppløsningen brukt av Gamescope.\n" +"Endring av Gamescope-vinduet vil oppdatere disse innstillingene.\n" +"\n" +"Tilpasset oppløsning: (bredde) × (høyde)" + +#: lutris/sysoptions.py:260 +msgid "Game Resolution" +msgstr "Spilloppløsning" + +#: lutris/sysoptions.py:264 +msgid "" +"Set the maximum resolution used by the game.\n" +"\n" +"Custom Resolutions: (width)x(height)" +msgstr "" +"Velg maks oppløsning brukt av spillet.\n" +"\n" +"Tilpasset oppløsning: (bredde) × (høyde)" + +#: lutris/sysoptions.py:269 +msgid "Window Mode" +msgstr "Vindumodus" + +#: lutris/sysoptions.py:273 +msgid "Windowed" +msgstr "I vindu" + +#: lutris/sysoptions.py:274 +msgid "Borderless" +msgstr "Fullskjerm i vindu" + +#: lutris/sysoptions.py:279 +msgid "" +"Run gamescope in fullscreen, windowed or borderless mode\n" +"Toggle fullscreen : Super + F" +msgstr "" +"Kjør Gamescope i fullskjerm-, i vindu- eller fullskjerm i vindumodus\n" +"Slå av/på fullskjerm: «Super + F»" + +#: lutris/sysoptions.py:284 +msgid "FSR Level" +msgstr "FSR-nivå" + +#: lutris/sysoptions.py:290 +msgid "" +"Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" +"Upscaler sharpness from 0 (max) to 20 (min)." +msgstr "" +"Bruk AMD FidelityFX™ Super Resolution 1.0 for oppskalering.\n" +"Oppskalering-skarphet fra 0 (maks) til 20 (min)." + +#: lutris/sysoptions.py:296 +msgid "Framerate Limiter" +msgstr "Bildefrekvens begrenser" + +#: lutris/sysoptions.py:301 +msgid "Set a frame-rate limit for gamescope specified in frames per second." +msgstr "" +"Velg en bildefrekvens begrensning for Gamescope valgt i bilde per sekund." + +#: lutris/sysoptions.py:306 +msgid "Custom Settings" +msgstr "Tilpassede innstillinger" + +#: lutris/sysoptions.py:312 +msgid "" +"Set additional flags for gamescope (if available).\n" +"See 'gamescope --help' for a full list of options." +msgstr "" +"Velg ytterligere flagg for Gamescope (hvis tilgjengelig).\n" +"Les «gamescope --help» for en full liste av muligheter." + +#: lutris/sysoptions.py:319 +msgid "Restrict number of cores used" +msgstr "Begrens antall kjerner brukt" + +#: lutris/sysoptions.py:321 +msgid "Restrict the game to a maximum number of CPU cores." +msgstr "Begrens spillet til et maks antall prosessorkjerner." + +#: lutris/sysoptions.py:327 +msgid "Restrict number of cores to" +msgstr "Begrens antall kjerner til" + +#: lutris/sysoptions.py:330 +msgid "" +"Maximum number of CPU cores to be used, if 'Restrict number of cores used' " +"is turned on." +msgstr "" +"Maks antall prosessorkjerner som skal brukes, hvis «Begrens antall kjerner " +"brukt» er slått på." + +#: lutris/sysoptions.py:338 +msgid "Enable Feral GameMode" +msgstr "Bruk Feral GameMode" + +#: lutris/sysoptions.py:339 +msgid "Request a set of optimisations be temporarily applied to the host OS" +msgstr "" +"Be om et sett med optimaliseringer som skal midlertidig brukes på " +"vertsystemet" + +#: lutris/sysoptions.py:345 +msgid "Reduce PulseAudio latency" +msgstr "Reduser PulseAudio forsinkelse" + +#: lutris/sysoptions.py:349 +msgid "" +"Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " +"on some games" +msgstr "" +"Velg miljøvariablen «PULSE_LATENCY_MSEC=60» for å bedre lydkvaliteten til " +"noen spill" + +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 +msgid "Input" +msgstr "Inndata" + +#: lutris/sysoptions.py:355 +msgid "Switch to US keyboard layout" +msgstr "Bytt til amerikansk tastaturoppsett" + +#: lutris/sysoptions.py:359 +msgid "Switch to US keyboard QWERTY layout while game is running" +msgstr "Bytt til amerikansk QWERTY tastaturoppsett mens spillet kjører" + +#: lutris/sysoptions.py:365 +msgid "AntiMicroX Profile" +msgstr "AntiMicroX-profil" + +#: lutris/sysoptions.py:367 +msgid "Path to an AntiMicroX profile file" +msgstr "Mappe til en AntiMicroX-profil" + +#: lutris/sysoptions.py:373 +msgid "SDL2 gamepad mapping" +msgstr "SDL2-kontrolleroppsett" + +#: lutris/sysoptions.py:376 +msgid "" +"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom " +"gamecontrollerdb.txt file containing mappings." +msgstr "" +"PULSE_LATENCY_MSEC=60 oppsettstekst eller en tilpasset mappe til " +"gamecontrollerdb.txt som inneholder oppsett." + +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 +msgid "Text based games" +msgstr "Tekstbaserte spill" + +#: lutris/sysoptions.py:382 +msgid "CLI mode" +msgstr "Kommandolinje-modus" + +#: lutris/sysoptions.py:387 +msgid "" +"Enable a terminal for text-based games. Only useful for ASCII based games. " +"May cause issues with graphical games." +msgstr "" +"Bruk en terminal for tekst-baserte-spill. Bare hjelpsomt for ASCII baserte " +"spill. Kan føre til problemer med moderne spill." + +#: lutris/sysoptions.py:394 +msgid "Text based games emulator" +msgstr "Tekst-baserte-spill emulator" + +#: lutris/sysoptions.py:400 +msgid "" +"The terminal emulator used with the CLI mode. Choose from the list of " +"detected terminal apps or enter the terminal's command or path." +msgstr "" +"Terminalemulatoren som brukes med Kommandolinje-modusen. Velg fra lista med " +"oppdagede terminalprogram eller skriv inn terminalens kommando eller mappe." + +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 +#: lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 +#: lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 +#: lutris/sysoptions.py:492 +msgid "Game execution" +msgstr "Spillutførelse" + +#: lutris/sysoptions.py:410 +msgid "Environment variables loaded at run time" +msgstr "Miljøvariabler som lastes ved kjøretid" + +#: lutris/sysoptions.py:416 +msgid "Locale" +msgstr "Lokale" + +#: lutris/sysoptions.py:420 +msgid "" +"Can be used to force certain locale for an app. Fixes encoding issues in " +"legacy software." +msgstr "" +"Kan brukes til å tvinge gjennom et gitt lokale for et program. Retter " +"tegnkoding problemer for eldre programvare." + +#: lutris/sysoptions.py:426 +msgid "Command prefix" +msgstr "Kommandoprefiks" + +#: lutris/sysoptions.py:428 +msgid "" +"Command line instructions to add in front of the game's execution command." +msgstr "Kommandolinje instruksjoner å legge foran spillets-oppstartskommando." + +#: lutris/sysoptions.py:434 +msgid "Manual script" +msgstr "Manuelt skript" + +#: lutris/sysoptions.py:436 +msgid "Script to execute from the game's contextual menu" +msgstr "Skript som skal kjøres fra spillets-sprettopp" + +#: lutris/sysoptions.py:442 +msgid "Pre-launch script" +msgstr "Skript før oppstart" + +#: lutris/sysoptions.py:444 +msgid "Script to execute before the game starts" +msgstr "Skript som skal kjøres før spillet starter" + +#: lutris/sysoptions.py:450 +msgid "Wait for pre-launch script completion" +msgstr "Vent på ferdigstillingen av skript før oppstart" + +#: lutris/sysoptions.py:454 +msgid "Run the game only once the pre-launch script has exited" +msgstr "Start spillet bare når skriptet før oppstart har avsluttet" + +#: lutris/sysoptions.py:460 +msgid "Post-exit script" +msgstr "Skript etter avslutting" + +#: lutris/sysoptions.py:462 +msgid "Script to execute when the game exits" +msgstr "Skript som skal kjøres etter spillavslutning" + +#: lutris/sysoptions.py:468 +msgid "Include processes" +msgstr "Inkluder prosesser" + +#: lutris/sysoptions.py:471 +msgid "" +"What processes to include in process monitoring. This is to override the " +"built-in exclude list.\n" +"Space-separated list, processes including spaces can be wrapped in quotation " +"marks." +msgstr "" +"Hvilke prosesser å inkludere i prosessovervåkningen. Dette er for å " +"overstyre den innebygde ekskluderingslista.\n" +"Mellomrom atskilt liste, prosesser som inneholder mellomrom kan pakkes inn i " +"anførselstegn." + +#: lutris/sysoptions.py:481 +msgid "Exclude processes" +msgstr "Ekskluder prosesser" + +#: lutris/sysoptions.py:484 +msgid "" +"What processes to exclude in process monitoring. For example background " +"processes that stick around after the game has been closed.\n" +"Space-separated list, processes including spaces can be wrapped in quotation " +"marks." +msgstr "" +"Hvilke prosesser å ekskludere i prosessovervåkningen. For eksempel " +"bakgrunnsprosesser som henger etter at spillet er avsluttet.\n" +"Mellomrom atskilt liste, prosesser som inneholder mellomrom kan pakkes inn i " +"anførselstegn." + +#: lutris/sysoptions.py:495 +msgid "Killswitch file" +msgstr "Avslåingsfil" + +#: lutris/sysoptions.py:498 +msgid "" +"Path to a file which will stop the game when deleted \n" +"(usually /dev/input/js0 to stop the game on joystick unplugging)" +msgstr "" +"Mappe til en fil som stopper spillet når det slettes \n" +"(vanligvis /dev/input/js0 for å avslutte spillet når du kobler fra " +"kontrolleren)" + +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 +msgid "Xephyr (Deprecated, use Gamescope)" +msgstr "Xephyr (foreldet, bruk Gamescope)" + +#: lutris/sysoptions.py:506 +msgid "Use Xephyr" +msgstr "Bruk Xephyr" + +#: lutris/sysoptions.py:510 +msgid "8BPP (256 colors)" +msgstr "8BPP (256 farger)" + +#: lutris/sysoptions.py:511 +msgid "16BPP (65536 colors)" +msgstr "16BPP (65536 farger)" + +#: lutris/sysoptions.py:512 +msgid "24BPP (16M colors)" +msgstr "24BPP (16M farger)" + +#: lutris/sysoptions.py:517 +msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" +msgstr "Start program med Xephyr for å støtte 8BPP og 16BPP fargemoduser" + +#: lutris/sysoptions.py:523 +msgid "Xephyr resolution" +msgstr "Xephyr-oppløsning" + +#: lutris/sysoptions.py:526 +msgid "Screen resolution of the Xephyr server" +msgstr "Skjermoppløsning for Xephyr-tjeneren" + +#: lutris/sysoptions.py:532 +msgid "Xephyr Fullscreen" +msgstr "Xephyr-fullskjerm" + +#: lutris/sysoptions.py:536 +msgid "Open Xephyr in fullscreen (at the desktop resolution)" +msgstr "Åpne Xephyr i fullskjerm (med skrivebordsoppløsning)" + +#: lutris/util/flatpak.py:28 +msgid "Flatpak is not installed" +msgstr "Flatpak er ikke installert" + +#: lutris/util/linux.py:547 +msgid "No terminal emulator could be detected." +msgstr "Fant ingen terminalemulator." + +#: lutris/util/portals.py:83 +#, python-format +msgid "" +"'%s' could not be moved to the trash. You will need to delete it yourself." +msgstr "Klarte ikke flytte «%s» til papirkurven. Du må slette den selv." + +#: lutris/util/portals.py:88 +#, python-format +msgid "" +"The items could not be moved to the trash. You will need to delete them " +"yourself:\n" +"%s" +msgstr "" +"Klarte ikke flytte elementene til papirkurven. Du må slette dem selv:\n" +"%s" + +#: lutris/util/strings.py:17 +msgid "Never played" +msgstr "Aldri spilt" + +#. This function works out how many hours are meant by some +#. number of some unit. +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hour" +msgstr "time" + +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hours" +msgstr "timer" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minute" +msgstr "minutt" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minutes" +msgstr "minutter" + +#: lutris/util/strings.py:219 lutris/util/strings.py:304 +msgid "Less than a minute" +msgstr "Mindre enn et minutt siden" + +#: lutris/util/strings.py:277 +msgid "day" +msgstr "dag" + +#: lutris/util/strings.py:277 +msgid "days" +msgstr "dager" + +#: lutris/util/strings.py:278 +msgid "week" +msgstr "uke" + +#: lutris/util/strings.py:278 +msgid "weeks" +msgstr "uker" + +#: lutris/util/strings.py:279 +msgid "month" +msgstr "måned" + +#: lutris/util/strings.py:279 +msgid "months" +msgstr "måneder" + +#: lutris/util/strings.py:280 +msgid "year" +msgstr "år" + +#: lutris/util/strings.py:280 +msgid "years" +msgstr "år" + +#: lutris/util/strings.py:310 +#, python-format +msgid "'%s' is not a valid playtime." +msgstr "«%s» er ikke en gyldig spilletid." + +#: lutris/util/strings.py:395 +msgid "in the future" +msgstr "I fremtiden" + +#: lutris/util/strings.py:397 +msgid "just now" +msgstr "Akkurat nå" + +#: lutris/util/strings.py:406 +#, python-format +msgid "%d days" +msgstr "%d dager" + +#: lutris/util/strings.py:410 +#, python-format +msgid "%d hours" +msgstr "%d timer" + +#: lutris/util/strings.py:415 +#, python-format +msgid "%d minutes" +msgstr "%d minutter" + +#: lutris/util/strings.py:417 +msgid "1 minute" +msgstr "1 minutt" + +#: lutris/util/strings.py:421 +#, python-format +msgid "%d seconds" +msgstr "%d sekunder" + +#: lutris/util/strings.py:423 +msgid "1 second" +msgstr "1 sekund" + +#: lutris/util/strings.py:425 +msgid "ago" +msgstr "siden" + +#: lutris/util/system.py:25 +msgid "Documents" +msgstr "Dokumenter" + +#: lutris/util/system.py:26 +msgid "Downloads" +msgstr "Nedlastinger" + +#: lutris/util/system.py:27 +msgid "Desktop" +msgstr "Skrivebord" + +#: lutris/util/system.py:28 lutris/util/system.py:30 +msgid "Pictures" +msgstr "Bilder" + +#: lutris/util/system.py:29 +msgid "Videos" +msgstr "Videoer" + +#: lutris/util/system.py:31 +msgid "Projects" +msgstr "Prosjekter" + +#: lutris/util/ubisoft/client.py:95 +#, python-format +msgid "Ubisoft authentication has been lost: %s" +msgstr "Ubisoft autentisering har gått tapt: %s" + +#: lutris/util/wine/dll_manager.py:102 +#, python-format +msgid "" +"The '%s' runtime component is not installed; visit the Updates tab in the " +"Preferences dialog to install it." +msgstr "" +"Kjøretid komponenten «%s» er ikke installert; besøk oppdateringssiden i " +"innstillingsvinduet for å installere." + +#: lutris/util/wine/dll_manager.py:113 +msgid "Manual" +msgstr "Manuelt" + +#: lutris/util/wine/proton.py:100 +#, python-format +msgid "Proton version '%s' is missing its wine executable and can't be used." +msgstr "Proton-versjonen «%s» mangler dens Wine-programfil og kan ikke brukes." + +#: lutris/util/wine/wine.py:176 +msgid "The Wine version must be specified." +msgstr "Wine-versjonen må oppgis." + +#~ msgid "Lutris Team" +#~ msgstr "Lutris-utviklingslaget" + +#~ msgid "Wine update channel" +#~ msgstr "Wine oppdateringskanal" + +#~ msgid "" +#~ "Stable:\n" +#~ "Wine-GE updates are downloaded automatically and the latest version is " +#~ "always used unless overridden in the settings.\n" +#~ "\n" +#~ "This allows us to keep track of regressions more efficiently and provide " +#~ "fixes more reliably." +#~ msgstr "" +#~ "Stabilt:\n" +#~ "Wine-GE oppdateringer lastes ned automatisk, og den nyeste versjonen " +#~ "brukes alltid med mindre det overstyres i innstillingene\n" +#~ "\n" +#~ "Dette gjør det enklere å holde styr på diverse feil og gi rettelser mer " +#~ "pålitelig." + +#~ msgid "" +#~ "Self-maintained:\n" +#~ "Wine updates are no longer delivered automatically and you have full " +#~ "responsibility of your Wine versions.\n" +#~ "\n" +#~ "Please note that this mode is fully unsupported. In order to " +#~ "submit issues on Github or ask for help on Discord, switch back to the " +#~ "Stable channel." +#~ msgstr "" +#~ "Vedlikeholdes av deg selv:\n" +#~ "Wine-oppdateringer mottas ikke lenger automatisk og du har fullt ansvar " +#~ "for dine Wine-versjoner.\n" +#~ "\n" +#~ "Merk denne modusen mangler støtte. For å sende inn en sak til " +#~ "Github eller spør om hjelp på Discord, bytt tilbake til innstillingen " +#~ "Stabilt." + +#~ msgid "" +#~ "No compatible Wine version could be identified. No updates are available." +#~ msgstr "" +#~ "Klarte ikke finne kompatible Wine-versjoner. Ingen oppdateringer er " +#~ "tilgjengelige." + +#~ msgid "Check Again" +#~ msgstr "Sjekk igjen" + +#, python-format +#~ msgid "" +#~ "Your Wine version is up to date. Using: %s\n" +#~ "Last checked %s." +#~ msgstr "" +#~ "Din Wine-versjon er oppdatert. Bruker: %s\n" +#~ "Sist sjekket %s." + +#, python-format +#~ msgid "" +#~ "You don't have any Wine version installed.\n" +#~ "We recommend %s" +#~ msgstr "" +#~ "Du har ingen Wine-versjoner installert.\n" +#~ "Vi anbefaler %s" + +#, python-format +#~ msgid "Download %s" +#~ msgstr "Last ned %s" + +#, python-format +#~ msgid "You don't have the recommended Wine version: %s" +#~ msgstr "Du har ikke den anbefalte Wine-versjonen: %s" + +#~ msgid "Downloading..." +#~ msgstr "Laster ned …" + +#~ msgid "" +#~ "Without the Wine-GE updates enabled, we can no longer provide support on " +#~ "Github and Discord." +#~ msgstr "" +#~ "Uten Wine-GE oppdateringer i bruk, kan vi ikke gi støtte på Github eller " +#~ "Discord." + +#~ msgid "Start Steam with LSI" +#~ msgstr "Start Steam med en LSI" + +#~ msgid "" +#~ "Launches steam with LSI patches enabled. Make sure Lutris Runtime is " +#~ "disabled and you have LSI installed. https://github.com/solus-project/" +#~ "linux-steam-integration" +#~ msgstr "" +#~ "Starter Steam med LSI-programrettelser. Kontroller at Lutris-kjøretid er " +#~ "slått av og du har LSI installert. https://github.com/solus-project/linux-" +#~ "steam-integration" + +#~ msgid "" +#~ "Warning Wine is not installed on your system\n" +#~ "\n" +#~ "Having Wine installed on your system guarantees that Wine builds from " +#~ "Lutris will have all required dependencies.\n" +#~ "Please follow the instructions given in the Lutris Wiki to install " +#~ "Wine." +#~ msgstr "" +#~ "Advarsel Wine er ikke installert på ditt system\n" +#~ "\n" +#~ "Det å ha Wine installert på ditt system garanterer at Wine-versjoner fra " +#~ "Lutris vil ha alle de nødvendige avhengighetene\n" +#~ "Følg de gitte instruksjonene på Lutris Wiki for å installere Wine." + +#~ msgid "Disable screen saver" +#~ msgstr "Slå av pauseskjerm" + +#~ msgid "" +#~ "Disable the screen saver while a game is running. Requires the screen " +#~ "saver's functionality to be exposed over DBus." +#~ msgstr "" +#~ "Slå av pauseskjerm mens spillet kjører. Krever at pauseskjermens " +#~ "funksjonalitet skjer over DBus." + +#~ msgid "No versions of Wine are installed." +#~ msgstr "Ingen Wine-versjoner er installert." + +#~ msgid "Login" +#~ msgstr "Log inn" + +#~ msgid "Turn on Library Sync" +#~ msgstr "Slå på synkronisering av biblioteket" diff --git a/po/nl.po b/po/nl.po index a403824033..300d4c7e17 100644 --- a/po/nl.po +++ b/po/nl.po @@ -414,7 +414,7 @@ msgstr "" #: lutris/gui/addgameswindow.py:26 msgid "Search the Lutris website for installers" -msgstr "Zoeken naar installatiewizards op Litrus-website" +msgstr "Zoeken naar installatiewizards op Lutris-website" #: lutris/gui/addgameswindow.py:27 msgid "Query our website for community installers" diff --git a/po/pt_BR.po b/po/pt_BR.po index fb7d3babab..faf8156143 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: lutris\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-29 12:15-0300\n" -"PO-Revision-Date: 2025-01-29 12:33-0300\n" +"POT-Creation-Date: 2025-06-19 09:32-0300\n" +"PO-Revision-Date: 2025-06-19 09:43-0300\n" "Last-Translator: João Victor Leal \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -14,11 +14,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: Poedit 3.5\n" +"X-Generator: Poedit 3.6\n" #: share/applications/net.lutris.Lutris.desktop:2 #: share/metainfo/net.lutris.Lutris.metainfo.xml:13 -#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:84 +#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 #: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 #: lutris/services/lutris.py:49 lutris/sysoptions.py:80 lutris/sysoptions.py:90 #: lutris/sysoptions.py:102 @@ -59,7 +59,7 @@ msgstr "" "existentes, reimplementações de mecanismos e camadas de compatibilidade, ele " "oferece uma interface central para iniciar todos os seus jogos." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:33 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 msgid "" "Lutris downloads the latest GE-Proton build for Wine if any Wine version is " "installed" @@ -67,26 +67,26 @@ msgstr "" "O Lutris baixa a versão mais recente do GE-Proton para o Wine se alguma " "versão do Wine estiver instalada" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 msgid "Use dark theme by default" msgstr "Usa tema escuro por padrão" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 msgid "Display cover-art rather than banners by default" msgstr "Exibe capas em vez de banners por padrão" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 msgid "Add 'Uncategorized' view to sidebar" msgstr "Adicionado visualização 'Sem categoria' à barra lateral" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 msgid "" "Preference options that do not work on Wayland will be hidden when on Wayland" msgstr "" "As opções de preferência que não funcionam no Wayland ficarão ocultas quando " "estiverem no Wayland" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 msgid "" "Game searches can now use fancy tags like 'installed:yes' or 'source:gog', " "with explanatory tool-tip" @@ -94,7 +94,7 @@ msgstr "" "As pesquisas de jogos agora podem usar tags sofisticadas como " "'installed:yes' ou 'source:gog', com dicas de ferramentas explicativas" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 msgid "" "A new filter button on the search box can build many of these fancy tags for " "you" @@ -102,7 +102,7 @@ msgstr "" "Um novo botão de filtro na caixa de pesquisa pode criar muitas dessas tags " "sofisticadas para você" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 msgid "" "Runner searches can use 'installed:yes' as well, but no other fancy searches " "or anything" @@ -110,21 +110,21 @@ msgstr "" "As pesquisas de runners também podem usar 'installed:yes', mas nenhuma outra " "pesquisa sofisticada ou algo assim" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 msgid "" "Updated the Flathub and Amazon source to new APIs, restoring integration" msgstr "" "As APIs das fontes Flathub e Amazon foram atualizadas, restaurando a " "integração com os mesmos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 msgid "" "Itch.io source integration will load a collection named 'Lutris' if present" msgstr "" "A integração com a fonte Itch.io carregará uma coleção chamada 'Lutris' se " "presente" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 msgid "" "GOG and Itch.io sources can now offer Linux and Windows installers for the " "same game" @@ -132,52 +132,52 @@ msgstr "" "As fontes GOG e Itch.io agora podem oferecer instaladores Linux e Windows " "para o mesmo jogo" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 msgid "Added support for the 'foot' terminal" msgstr "Adicionado suporte para o terminal 'foot'" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 msgid "Support for DirectX 8 in DXVK v2.4" msgstr "Suporte para DirectX 8 no DXVK v2.4" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 msgid "Support for Ayatana Application Indicators" msgstr "Suporte para indicadores de aplicação Ayatana" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 msgid "Additional options for Ruffle runner" msgstr "Opções adicionais para o runner Ruffle" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 msgid "Updated download links for the Atari800 and MicroM8 runners" msgstr "Links de download atualizados para os runners Atari800 e MicroM8" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 msgid "" "No longer re-download cached installation files even when some are missing" msgstr "" "Não é mais necessário baixar novamente os arquivos de instalação em cache, " "mesmo quando alguns estão faltando" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 msgid "Lutris log is included in the 'System' tab of the Preferences window" msgstr "O log do Lutris está incluído na aba 'Sistema' da janela Preferências" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 msgid "" "Improved error reporting, with the Lutris log included in the error details" msgstr "" "Relatório de erros aprimorado, com o log Lutris incluído nos detalhes do erro" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 msgid "Add AppArmor profile for Ubuntu versions >= 23.10" msgstr "Adicionado perfil AppArmor para versões do Ubuntu >= 23.10" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 msgid "Add Duckstation runner" msgstr "Adicionado runner DuckStation" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:60 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 msgid "" "Fix critical bug preventing completion of installs if the script specifies a " "wine version" @@ -185,26 +185,26 @@ msgstr "" "Corrigido bug crítico que impedia a conclusão da instalação se o script " "especificasse uma versão do wine" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 msgid "Fix critical bug preventing Steam library sync" msgstr "Corrigido bug crítico que impedia a sincronização da biblioteca Steam" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 msgid "Fix critical bug preventing game or runner uninstall in Flatpak" msgstr "" "Corrigido bug crítico que impedia desinstalar jogo ou runner no Flatpak" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 msgid "Support for library sync to lutris.net, this allows to sync games, play" msgstr "" "Suporte para sincronização de biblioteca em lutris.net, isso possibiliza " "sincronizar seus jogos e jogar" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 msgid "time and categories to multiple devices." msgstr "tempo e categorias para múltiplos dispositivos." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 msgid "" "Remove \"Lutris\" service view; with library sync the \"Games\" view " "replaces it." @@ -212,7 +212,7 @@ msgstr "" "Remova a visualização do serviço \"Lutris\"; com a sincronização da " "biblioteca, a visualização \"Jogos\" a substitui." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 msgid "" "Torturous and sadistic options for multi-GPUs that were half broken and " "understood by no one have been replaced by a simple GPU selector." @@ -220,19 +220,19 @@ msgstr "" "Opções torturantes e sádicas para multi-GPUs que estavam meio quebradas e " "compreendidas por ninguém foram substituídas por um simples seletor de GPU." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 msgid "" "EXPERIMENTAL support for umu, which allows running games with Proton and" msgstr "" "Suporte EXPERIMENTAL para umu, que permite rodar jogos com Proton fora da " "Steam e aplicar correções" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 msgid "" "Pressure Vessel. Using Proton in Lutris without umu is no longer possible." msgstr "Usar Proton no Lutris sem umu não é mais possível." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 msgid "" "Better and sensible sorting for games (sorting by playtime or last played no " "longer needs to be reversed)" @@ -240,31 +240,31 @@ msgstr "" "Ordenação melhor e mais sensata dos jogos (a ordenação por tempo de jogo ou " "pela última vez jogada não precisa mais ser invertida)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 msgid "Support the \"Categories\" command when you select multiple games" msgstr "Suporte a \"Categorias\" ao selecionar vários jogos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 msgid "Notification bar when your Lutris is no longer supported" msgstr "Barra de notificação quando seu Lutris não é mais compatível" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 msgid "Improved error dialog." msgstr "Caixa de diálogo de erro aprimorada." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" msgstr "Adicionado Vita3k runner (obrigado @ItsAllAboutTheCode)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 msgid "Add Supermodel runner" msgstr "Adicionado Supermodel runner" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 msgid "WUA files are now supported in Cemu" msgstr "Arquivo WUA agora são suportados no Cemu" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 msgid "" "\"Show Hidden Games\" now displays the hidden games in a separate view, and " "re-hides them as soon as you leave it." @@ -272,27 +272,27 @@ msgstr "" "\"Mostrar jogos ocultos\" agora exibe os jogos ocultos em uma visualização " "separada e os oculta novamente assim que você sai." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 msgid "Support transparent PNG files for custom banner and cover-art" msgstr "Suporta arquivos PNG transparentes para banners personalizados e capas" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 msgid "Images are now downloaded for manually added games." msgstr "As imagens agora são baixadas para jogos adicionados manualmente." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," msgstr "Descontinuar 'exe', 'main_file' ou 'iso' colocado na raiz do script," -#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 msgid "all lutris.net installers have been updated accordingly." msgstr "todos os instaladores do lutris.net foram atualizados de acordo." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 msgid "Deprecate libstrangle and xgamma support." msgstr "Suporte obsoleto para libstrangle e xgamma." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 msgid "" "Deprecate DXVK state cache feature (it was never used and is no longer " "relevant to DXVK 2)" @@ -300,32 +300,32 @@ msgstr "" "Recurso de cache de estado DXVK obsoleto (nunca foi usado e não é mais " "relevante para DXVK 2)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:89 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 msgid "Fix bug that prevented installers to complete" msgstr "Correção de bug que impedia a conclusão dos instaladores" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 msgid "Better handling of Steam configurations for the Steam account picker" msgstr "" "Melhor manuseio das configurações do Steam para o seletor de contas Steam" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 msgid "Load game library in a background thread" msgstr "Carregar biblioteca de jogos em segundo plano" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:98 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 msgid "" "Fix some crashes happening when using Wayland and a high DPI gaming mouse" msgstr "" "Corrigido alguns crashes que ocorriam ao usar o Wayland e um mouse para " "jogos de alto DPI" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 msgid "Fix crash when opening the system preferences tab for a game" msgstr "" "Corrigido crash ao abrir a guia de preferências do sistema para um jogo" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 msgid "" "Reduced the locales list to a predefined one (let us know if you need yours " "added)" @@ -333,15 +333,15 @@ msgstr "" "Reduzida a lista de localidades para uma predefinida (informe-nos se " "precisar adicionar a sua)" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 msgid "Fix Lutris not expanding \"~\" in paths" msgstr "Corrigido que o Lutris não expandia \"~\" nos caminhos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 msgid "Download runtime components from the main window," msgstr "Baixe os componentes de runtime da janela principal," -#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 msgid "" "the \"updating runtime\" dialog appearing before Lutris opens has been " "removed" @@ -349,7 +349,7 @@ msgstr "" "a caixa de diálogo \"atualizando runtime\" que aparece antes da abertura do " "Lutris foi removida" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 msgid "" "Add the ability to open a location in your file browser from file picker " "widgets" @@ -357,7 +357,7 @@ msgstr "" "Adicionada a capacidade de abrir um local em seu explorador de arquivos a " "partir de widgets de seletor de arquivos" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 msgid "" "Add the ability to select, remove, or stop multiple games in the Lutris " "window" @@ -365,33 +365,33 @@ msgstr "" "Adicionada a capacidade de selecionar, remover ou parar vários jogos na " "janela do Lutris" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 msgid "" "Redesigned 'Uninstall Game' dialog now completely removes games by default" msgstr "" "A caixa de diálogo ‘Desinstalar jogo’ foi refeita e agora remove " "completamente os jogos por padrão" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 msgid "Fix the export / import feature" msgstr "Corrigido o recurso de exportação/importação" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 msgid "Show an animation when a game is launched" msgstr "Mostra animação quando um jogo é iniciado" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 msgid "" "Add the ability to disable Wine auto-updates at the expense of losing support" msgstr "" "Adicionada a capacidade de desativar as atualizações automáticas do Wine às " "custas da perda de suporte" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 msgid "Add playtime editing in the game preferences" msgstr "Adicionado edição de tempo de jogo nas preferências do jogo" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 msgid "" "Move game files, runners to the trash instead of deleting them they are " "uninstalled" @@ -399,7 +399,7 @@ msgstr "" "Mova os arquivos do jogo e os runners para a lixeira, em vez de excluí-los, " "eles serão desinstalados" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 msgid "" "Add \"Updates\" tab in Preferences control and check for updates and correct " "missing media" @@ -407,11 +407,11 @@ msgstr "" "Adicionado a guia \"Atualizações\" no controle de preferências para " "verificação de atualizações e correções de mídias ausentes" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 msgid "in the 'Games' view." msgstr "na visualização 'Jogos'." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 msgid "" "Add \"Storage\" tab in Preferences to control game and installer cache " "location" @@ -419,121 +419,121 @@ msgstr "" "Adicionado a guia \"Armazenamento\" em preferências para controlar a " "localização do cache do jogo e do instalador" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 msgid "" "Expand \"System\" tab in Preferences with more system information but less " "brown." msgstr "" "Expansão da guia “Sistema” em preferências com mais informações do sistema." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 msgid "Add \"Run Task Manager\" command for Wine games" msgstr "Adicionado o comando “Executar Gerenciador de Tarefas” para jogos Wine" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 msgid "Add two new, smaller banner sizes for itch.io games." msgstr "Adicionado dois novos tamanhos de banner menores para jogos itch.io." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 msgid "" "Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" msgstr "" "Ignore a configuração da área de trabalho virtual do Wine ao usar Wine-GE/" "Proton para evitar crash" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 msgid "Ignore MangoHUD setting when launching Steam to avoid crash" msgstr "Ignore a configuração do MangoHUD ao iniciar o Steam para evitar crash" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 msgid "Sync Steam playtimes with the Lutris library" msgstr "Sincronize os tempos de jogo do Steam com a biblioteca Lutris" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:127 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 msgid "Add Steam account switcher to handle multiple Steam accounts" msgstr "" "Adicionado o alternador de contas Steam para lidar com várias contas Steam" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 msgid "on the same device." msgstr "no mesmo dispositivo." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 msgid "Add user defined tags / categories" msgstr "Adicionado tags/categorias definidas pelo usuário" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 msgid "Group every API calls for runtime updates in a single one" msgstr "" "Agrupamento de todas as chamadas de API para atualizações de runtime em uma " "única" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 msgid "Download appropriate DXVK and VKD3D versions based on" msgstr "Baixe as versões DXVK e VKD3D apropriadas com base em" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 msgid "the available GPU PCI IDs" msgstr "os IDs PCI da GPU disponíveis" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 msgid "" "EA App integration. Your Origin games and saves can be manually imported" msgstr "" "Integração do EA App. Seus jogos e salvamentos do Origin podem ser " "importados manualmente" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 msgid "from your Origin prefix." msgstr "do seu prefixo Origin." -#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 msgid "Add integration with ScummVM local library" msgstr "Adicionado integração com a biblioteca local ScummVM" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 msgid "Download Wine-GE updates when Lutris starts" msgstr "Baixe as atualizações do Wine-GE quando o Lutris iniciar" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 msgid "Group GOG and Amazon download in a single progress bar" msgstr "" "Agrupamento de download do GOG e da Amazon em uma única barra de progresso" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 msgid "Fix blank login window on online services such as GOG or EGS" msgstr "" "Corrigido a janela de conexão em branco em serviços online como GOG ou EGS" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 msgid "Add a sort name field" msgstr "Adicionado um campo de nome de ordenação" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 msgid "Yuzu and xemu now use an AppImage" msgstr "Yuzu e xemu agora usam um AppImage" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 msgid "Experimental support for Flatpak provided runners" msgstr "Suporte experimental para runners fornecidos pelo Flatpak" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 msgid "Header-bar search for configuration options" msgstr "Pesquisa na barra de cabeçalho para opções de configuração" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 msgid "Support for Gamescope 3.12" msgstr "Suporte para Gamescope 3.12" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 msgid "Missing games show an additional badge" msgstr "Jogos ausentes mostram um emblema adicional" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 msgid "Add missing dependency on python3-gi-cairo for Debian packages" msgstr "Adicionado dependência ausente em python3-gi-cairo para pacotes Debian" -#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:806 +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 msgid "About Lutris" msgstr "Sobre o Lutris" @@ -598,23 +598,21 @@ msgstr "Usuário" msgid "Search..." msgstr "Pesquisar..." -#: share/lutris/ui/lutris-window.ui:113 -msgid "" -"Login to Lutris.net to view your game " -"library" -msgstr "" -"Conecte-se em Lutris.net para visualizar " -"sua biblioteca de jogos" +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "Diminuir tamanho do texto" -#: share/lutris/ui/lutris-window.ui:126 -msgid "Login" -msgstr "Conecte-se" +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "Aumentar tamanho do texto" -#: share/lutris/ui/lutris-window.ui:141 -msgid "Turn on Library Sync" -msgstr "Ativar sincronização da biblioteca" +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" +msgstr "" +"Conecte-se ao Lutris para sincronizar " +"sua biblioteca de jogos" -#: share/lutris/ui/lutris-window.ui:179 +#: share/lutris/ui/lutris-window.ui:149 msgid "" "Lutris %s is no longer supported. Download %s here!" @@ -622,7 +620,7 @@ msgstr "" "Lutris %s não é mais compatível. Baixe %s aqui!" -#: share/lutris/ui/lutris-window.ui:312 +#: share/lutris/ui/lutris-window.ui:282 msgid "" "Enter the name of a game to search for, or use search terms:\n" "\n" @@ -655,83 +653,79 @@ msgstr "" "dias.\n" "directory:game/dir\t - Somente jogos no caminho especificado." -#: share/lutris/ui/lutris-window.ui:328 lutris/gui/lutriswindow.py:750 +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:808 msgid "Search games" msgstr "Pesquisar por jogos" -#: share/lutris/ui/lutris-window.ui:376 +#: share/lutris/ui/lutris-window.ui:346 msgid "Add Game" msgstr "Adicionar jogo" -#: share/lutris/ui/lutris-window.ui:408 +#: share/lutris/ui/lutris-window.ui:378 msgid "Toggle View" msgstr "Alternar visualização" -#: share/lutris/ui/lutris-window.ui:506 +#: share/lutris/ui/lutris-window.ui:476 msgid "Zoom " msgstr "Zoom " -#: share/lutris/ui/lutris-window.ui:548 +#: share/lutris/ui/lutris-window.ui:518 msgid "Sort Installed First" msgstr "Ordenar instalados primeiro" -#: share/lutris/ui/lutris-window.ui:562 +#: share/lutris/ui/lutris-window.ui:532 msgid "Reverse order" msgstr "Ordem inversa" -#: share/lutris/ui/lutris-window.ui:588 +#: share/lutris/ui/lutris-window.ui:558 #: lutris/gui/config/edit_category_games.py:35 #: lutris/gui/config/edit_saved_search.py:47 -#: lutris/gui/config/game_common.py:181 lutris/gui/views/list.py:65 -#: lutris/gui/views/list.py:198 +#: lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:65 +#: lutris/gui/views/list.py:215 msgid "Name" msgstr "Nome" -#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:67 +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:67 msgid "Year" msgstr "Ano" -#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:70 +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:70 msgid "Last Played" msgstr "Ultima vez jogado" -#: share/lutris/ui/lutris-window.ui:633 lutris/gui/views/list.py:72 +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:72 msgid "Installed At" msgstr "Instalado em" -#: share/lutris/ui/lutris-window.ui:648 lutris/gui/views/list.py:71 +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:71 msgid "Play Time" msgstr "Tempo de jogo" -#: share/lutris/ui/lutris-window.ui:677 +#: share/lutris/ui/lutris-window.ui:647 msgid "_Installed Games Only" msgstr "_Somente jogos instalados" -#: share/lutris/ui/lutris-window.ui:692 +#: share/lutris/ui/lutris-window.ui:662 msgid "Show Side _Panel" msgstr "Mostrar painel _lateral" -#: share/lutris/ui/lutris-window.ui:707 +#: share/lutris/ui/lutris-window.ui:677 msgid "Show _Hidden Games" msgstr "Mostrar _jogos ocultos" -#: share/lutris/ui/lutris-window.ui:725 -msgid "Add Games" -msgstr "Adicionar jogos" - -#: share/lutris/ui/lutris-window.ui:739 +#: share/lutris/ui/lutris-window.ui:698 msgid "Preferences" msgstr "Preferências" -#: share/lutris/ui/lutris-window.ui:764 +#: share/lutris/ui/lutris-window.ui:723 msgid "Discord" msgstr "Discord" -#: share/lutris/ui/lutris-window.ui:778 +#: share/lutris/ui/lutris-window.ui:737 msgid "Lutris forums" msgstr "Forums do Lutris" -#: share/lutris/ui/lutris-window.ui:792 +#: share/lutris/ui/lutris-window.ui:751 msgid "Make a donation" msgstr "Faça uma doação" @@ -752,9 +746,9 @@ msgid "Remove Games" msgstr "Remover jogos" #: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 -#: lutris/gui/addgameswindow.py:535 lutris/gui/addgameswindow.py:538 -#: lutris/gui/dialogs/__init__.py:168 lutris/gui/dialogs/runner_install.py:275 -#: lutris/gui/installerwindow.py:97 lutris/gui/installerwindow.py:1029 +#: lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 +#: lutris/gui/dialogs/__init__.py:170 lutris/gui/dialogs/runner_install.py:275 +#: lutris/gui/installerwindow.py:102 lutris/gui/installerwindow.py:1086 #: lutris/gui/widgets/download_collection_progress_box.py:153 #: lutris/gui/widgets/download_progress_box.py:116 msgid "Cancel" @@ -769,15 +763,33 @@ msgstr "Remover" msgid "never" msgstr "nunca" -#: lutris/exceptions.py:25 +#: lutris/cache.py:84 +#, python-format +msgid "" +"The cache path '%s' does not exist, but its parent does so it will be " +"created when needed." +msgstr "" +"O caminho do cache '%s' não existe, mas seu diretório pai existe, então ele " +"será criado quando necessário." + +#: lutris/cache.py:88 +#, python-format +msgid "" +"The cache path %s does not exist, nor does its parent, so it won't be " +"created." +msgstr "" +"O caminho do cache %s não existe, nem seu diretório pai, então ele não será " +"criado." + +#: lutris/exceptions.py:36 msgid "The directory {} could not be found" msgstr "O diretório {} não pôde ser encontrado" -#: lutris/exceptions.py:39 +#: lutris/exceptions.py:50 msgid "A bios file is required to run this game" msgstr "Um arquivo bios é necessário para rodar este jogo" -#: lutris/exceptions.py:52 +#: lutris/exceptions.py:63 #, python-brace-format msgid "" "The following {arch} libraries are required but are not installed on your " @@ -788,22 +800,22 @@ msgstr "" "seu sistema:\n" "{libs}" -#: lutris/exceptions.py:76 lutris/exceptions.py:88 +#: lutris/exceptions.py:87 lutris/exceptions.py:99 msgid "The file {} could not be found" msgstr "O arquivo {} não pode ser encontrado" -#: lutris/exceptions.py:90 +#: lutris/exceptions.py:101 msgid "" "This game has no executable set. The install process didn't finish properly." msgstr "" "Este jogo não tem um executável definido. O processo de instalação não foi " "concluído corretamente." -#: lutris/exceptions.py:105 +#: lutris/exceptions.py:116 msgid "Your ESYNC limits are not set correctly." msgstr "Seus limites ESYNC não estão configurados corretamente." -#: lutris/exceptions.py:115 +#: lutris/exceptions.py:126 msgid "" "Your kernel is not patched for fsync. Please get a patched kernel to use " "fsync." @@ -883,7 +895,7 @@ msgstr "Instalar atualizações" msgid "Locate installed game" msgstr "Localize o jogo instalado" -#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:412 +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:460 msgid "Create desktop shortcut" msgstr "Criar atalho na área de trabalho" @@ -891,7 +903,7 @@ msgstr "Criar atalho na área de trabalho" msgid "Delete desktop shortcut" msgstr "Deletar atalho na área de trabalho" -#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:419 +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:467 msgid "Create application menu shortcut" msgstr "Criar atalho no menu de aplicativos" @@ -899,7 +911,7 @@ msgstr "Criar atalho no menu de aplicativos" msgid "Delete application menu shortcut" msgstr "Deletar atalho no menu de aplicativos" -#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:427 +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:475 msgid "Create Steam shortcut" msgstr "Criar atalho da Steam" @@ -1041,12 +1053,12 @@ msgid "Run a YAML install script" msgstr "Executar um script de instalação YAML" #: lutris/gui/addgameswindow.py:45 -msgid "Import a ROM" -msgstr "Importar uma ROM" +msgid "Import ROMs" +msgstr "Importar ROMs" #: lutris/gui/addgameswindow.py:46 -msgid "Import a ROM that is known to Lutris" -msgstr "Importe uma ROM que é conhecida pelo Lutris" +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "Importar ROMs referenciadas em TOSEC, No-intro ou Redump" #: lutris/gui/addgameswindow.py:52 msgid "Add locally installed game" @@ -1061,17 +1073,17 @@ msgid "Add games to Lutris" msgstr "Adicionar jogos ao Lutris" #. Header bar buttons -#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:90 +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:95 msgid "Back" msgstr "Voltar" #. Continue Button -#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:520 -#: lutris/gui/installerwindow.py:100 lutris/gui/installerwindow.py:977 +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 +#: lutris/gui/installerwindow.py:105 lutris/gui/installerwindow.py:1034 msgid "_Continue" msgstr "_Continuar" -#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:70 +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 #: lutris/gui/config/widget_generator.py:652 msgid "Select folder" msgstr "Selecionar pasta" @@ -1084,11 +1096,11 @@ msgstr "Identificador" msgid "Select script" msgstr "Executar script" -#: lutris/gui/addgameswindow.py:127 -msgid "Select ROM file" -msgstr "Selecionar arquivo de ROM" +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "Selecionar ROMs" -#: lutris/gui/addgameswindow.py:202 +#: lutris/gui/addgameswindow.py:204 msgid "" "Lutris will search Lutris.net for games matching the terms you enter, and " "any that it finds will appear here.\n" @@ -1102,29 +1114,29 @@ msgstr "" "Quando você selecionar o jogo procurado uma janela de instalação irá " "aparecer para realizar a instalação." -#: lutris/gui/addgameswindow.py:223 +#: lutris/gui/addgameswindow.py:225 msgid "Search Lutris.net" msgstr "Procurar em Lutris.net" -#: lutris/gui/addgameswindow.py:254 +#: lutris/gui/addgameswindow.py:256 msgid "No results" msgstr "Sem resultados" -#: lutris/gui/addgameswindow.py:256 +#: lutris/gui/addgameswindow.py:258 #, python-format msgid "Showing %s results" msgstr "Mostrando %s resultados" -#: lutris/gui/addgameswindow.py:258 +#: lutris/gui/addgameswindow.py:260 #, python-format msgid "%s results, only displaying first %s" msgstr "%s resultados, exibindo apenas o primeiro %s" -#: lutris/gui/addgameswindow.py:287 +#: lutris/gui/addgameswindow.py:289 msgid "Game name" msgstr "Nome do jogo" -#: lutris/gui/addgameswindow.py:303 +#: lutris/gui/addgameswindow.py:305 msgid "" "Enter the name of the game you will install.\n" "\n" @@ -1148,64 +1160,68 @@ msgstr "" "manualmente paramelhor integração com o Lutris, para download de banners/" "icones." -#: lutris/gui/addgameswindow.py:312 +#: lutris/gui/addgameswindow.py:314 msgid "Installer preset:" msgstr "Sistema operacional:" -#: lutris/gui/addgameswindow.py:315 +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "Windows 11 64-bit" + +#: lutris/gui/addgameswindow.py:318 msgid "Windows 10 64-bit (Default)" msgstr "Windows 10 64-bit (Padrão)" -#: lutris/gui/addgameswindow.py:316 +#: lutris/gui/addgameswindow.py:319 msgid "Windows 7 64-bit" msgstr "Windows 7 64-bit" -#: lutris/gui/addgameswindow.py:317 +#: lutris/gui/addgameswindow.py:320 msgid "Windows XP 32-bit" msgstr "Windows XP 32-bit" -#: lutris/gui/addgameswindow.py:318 +#: lutris/gui/addgameswindow.py:321 msgid "Windows XP + 3DFX 32-bit" msgstr "Windows XP + 3DFX 32-bit" -#: lutris/gui/addgameswindow.py:319 +#: lutris/gui/addgameswindow.py:322 msgid "Windows 98 32-bit" msgstr "Windows 98 32-bit" -#: lutris/gui/addgameswindow.py:320 +#: lutris/gui/addgameswindow.py:323 msgid "Windows 98 + 3DFX 32-bit" msgstr "Windows 98 + 3DFX 32-bit" -#: lutris/gui/addgameswindow.py:331 +#: lutris/gui/addgameswindow.py:334 msgid "Locale:" msgstr "Idioma:" -#: lutris/gui/addgameswindow.py:356 +#: lutris/gui/addgameswindow.py:359 msgid "Select setup file" msgstr "Selecione arquivo de instalação" -#: lutris/gui/addgameswindow.py:358 lutris/gui/addgameswindow.py:440 -#: lutris/gui/addgameswindow.py:481 lutris/gui/installerwindow.py:1012 +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 +#: lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1069 msgid "_Install" msgstr "_Instalar" -#: lutris/gui/addgameswindow.py:374 +#: lutris/gui/addgameswindow.py:377 msgid "You must provide a name for the game you are installing." msgstr "Você deve fornecer um nome para o jogo que está instalando." -#: lutris/gui/addgameswindow.py:394 +#: lutris/gui/addgameswindow.py:397 msgid "Setup file" msgstr "Selecionar arquivo" -#: lutris/gui/addgameswindow.py:400 +#: lutris/gui/addgameswindow.py:403 msgid "Select the setup file" -msgstr "Selecione arquivo de instalação" +msgstr "Selecione arquivo de instalação" -#: lutris/gui/addgameswindow.py:421 +#: lutris/gui/addgameswindow.py:424 msgid "Script file" msgstr "Arquivo de script" -#: lutris/gui/addgameswindow.py:427 +#: lutris/gui/addgameswindow.py:430 msgid "" "Lutris install scripts are YAML files that guide Lutris through the " "installation process.\n" @@ -1223,20 +1239,20 @@ msgstr "" "Quando você clicar em 'Instalar' uma janela de instalaçao irá aparecer e " "carregar o script, guiando você pelo processo de instalação." -#: lutris/gui/addgameswindow.py:438 +#: lutris/gui/addgameswindow.py:441 msgid "Select a Lutris installer" msgstr "Selecione um instalador Lutris" -#: lutris/gui/addgameswindow.py:445 +#: lutris/gui/addgameswindow.py:448 msgid "You must select a script file to install." msgstr "Você precisa selecionar um arquivo de script YAML para instalar." -#: lutris/gui/addgameswindow.py:447 lutris/gui/addgameswindow.py:488 +#: lutris/gui/addgameswindow.py:450 #, python-format msgid "No file exists at '%s'." msgstr "Arquivo não existente em '%s'." -#: lutris/gui/addgameswindow.py:462 lutris/runners/atari800.py:37 +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 #: lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 #: lutris/runners/libretro.py:76 lutris/runners/mame.py:80 #: lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 @@ -1246,42 +1262,43 @@ msgstr "Arquivo não existente em '%s'." msgid "ROM file" msgstr "Arquivo ROM" -#: lutris/gui/addgameswindow.py:468 +#: lutris/gui/addgameswindow.py:471 msgid "" -"Lutris will identify a ROM via its MD5 hash and download game information " +"Lutris will identify ROMs via its MD5 hash and download game information " "from Lutris.net.\n" "\n" -"The ROM data used for this comes from the TOSEC project.\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" "\n" -"When you click 'Install' below, the process of installing the game will " +"When you click 'Install' below, the process of installing the games will " "begin." msgstr "" "Lutris vai identificar a ROM pela hash MD5 e vai fazer o download das " "informações do jogo atráves de Lutris.net.\n" "\n" -"As informações de ROM usadas vem do projeto TOSEC.\n" +"As informações da ROM usadas ​​para isso vêm dos projetos TOSEC, No-Intro e " +"Redump.\n" "\n" -"Quando você clicar em 'Instalar' o processo de instalação do jogo irá " +"Quando você clicar em 'Instalar' abaixo o processo de instalação do jogo irá " "começar." -#: lutris/gui/addgameswindow.py:479 -msgid "Select a ROM file" -msgstr "Selecione o arquivo ROM" +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "Selecione ROMs" -#: lutris/gui/addgameswindow.py:486 -msgid "You must select a ROM file to install." -msgstr "Você precisa selecionar um aquivo de ROM para instalar." +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." +msgstr "Você precisa selecionar ROMs para instalar." -#: lutris/gui/application.py:100 +#: lutris/gui/application.py:102 msgid "Do not run Lutris as root." msgstr "Não execute o Lutris como root." -#: lutris/gui/application.py:111 +#: lutris/gui/application.py:113 msgid "Your Linux distribution is too old. Lutris won't function properly." msgstr "" "Sua distribuição Linux é muito antiga, Lutris não funcionará corretamente." -#: lutris/gui/application.py:117 +#: lutris/gui/application.py:119 msgid "" "Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" "If several games share the same identifier you can use the numerical ID " @@ -1296,130 +1313,130 @@ msgstr "" "lutris:rungameid/numerical-id.\n" "Para instalar um jogo, adicione lutris:install/game-identifier." -#: lutris/gui/application.py:131 +#: lutris/gui/application.py:133 msgid "Print the version of Lutris and exit" msgstr "Exibe a versão do Lutris e encerre" -#: lutris/gui/application.py:139 +#: lutris/gui/application.py:141 msgid "Show debug messages" msgstr "Mostrar mensagens de depuração" -#: lutris/gui/application.py:147 +#: lutris/gui/application.py:149 msgid "Install a game from a yml file" msgstr "Instale um jogo de um arquivo yml" -#: lutris/gui/application.py:155 +#: lutris/gui/application.py:157 msgid "Force updates" msgstr "Forçar atualizações" -#: lutris/gui/application.py:163 +#: lutris/gui/application.py:165 msgid "Generate a bash script to run a game without the client" msgstr "Gerar um script bash para executar o jogo sem o cliente" -#: lutris/gui/application.py:171 +#: lutris/gui/application.py:173 msgid "Execute a program with the Lutris Runtime" msgstr "Execute um programa com o runtime do Lutris" -#: lutris/gui/application.py:179 +#: lutris/gui/application.py:181 msgid "List all games in database" msgstr "Listar todos os jogos na base de dados" -#: lutris/gui/application.py:187 +#: lutris/gui/application.py:189 msgid "Only list installed games" msgstr "Mostre apenas jogos instalados" -#: lutris/gui/application.py:195 +#: lutris/gui/application.py:197 msgid "List available Steam games" msgstr "Liste jogos disponíveis da Steam" -#: lutris/gui/application.py:203 +#: lutris/gui/application.py:205 msgid "List all known Steam library folders" msgstr "Liste todos as pastas conhecidas de biblioteca da Steam" -#: lutris/gui/application.py:211 +#: lutris/gui/application.py:213 msgid "List all known runners" msgstr "List todos os runners conhecidos" -#: lutris/gui/application.py:219 +#: lutris/gui/application.py:221 msgid "List all known Wine versions" msgstr "Liste toda as versões do Wine" -#: lutris/gui/application.py:227 +#: lutris/gui/application.py:229 msgid "List all games for all services in database" msgstr "Liste todos os jogos para todos os serviços no banco de dados" -#: lutris/gui/application.py:235 +#: lutris/gui/application.py:237 msgid "List all games for provided service in database" msgstr "Liste todos os jogos para o serviço fornecido no banco de dados" -#: lutris/gui/application.py:243 +#: lutris/gui/application.py:245 msgid "Install a Runner" msgstr "Instalar um Runner" -#: lutris/gui/application.py:251 +#: lutris/gui/application.py:253 msgid "Uninstall a Runner" msgstr "Desinstalar um Runner" -#: lutris/gui/application.py:259 +#: lutris/gui/application.py:261 msgid "Export a game" msgstr "Exportar um jogo" -#: lutris/gui/application.py:267 lutris/gui/dialogs/game_import.py:23 +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 msgid "Import a game" msgstr "Importar um jogo" -#: lutris/gui/application.py:276 +#: lutris/gui/application.py:278 msgid "Show statistics about a game saves" msgstr "Mostrar estatísticas sobre jogos salvos" -#: lutris/gui/application.py:284 +#: lutris/gui/application.py:286 msgid "Upload saves" msgstr "Enviar jogos salvos" -#: lutris/gui/application.py:292 +#: lutris/gui/application.py:294 msgid "Verify status of save syncing" msgstr "Verifique o status da sincronização de salvamento" -#: lutris/gui/application.py:301 +#: lutris/gui/application.py:303 msgid "Destination path for export" msgstr "Caminho de destino para exportar" -#: lutris/gui/application.py:309 +#: lutris/gui/application.py:311 msgid "Display the list of games in JSON format" msgstr "Mostre uma lista de jogos no formato JSON" -#: lutris/gui/application.py:317 +#: lutris/gui/application.py:319 msgid "Reinstall game" msgstr "Reinstalar jogo" -#: lutris/gui/application.py:320 +#: lutris/gui/application.py:322 msgid "Submit an issue" msgstr "Reportar um problema" -#: lutris/gui/application.py:326 +#: lutris/gui/application.py:328 msgid "URI to open" msgstr "URI para abrir" -#: lutris/gui/application.py:411 +#: lutris/gui/application.py:413 msgid "No installer available." msgstr "Nenhum instalador disponível." -#: lutris/gui/application.py:627 +#: lutris/gui/application.py:629 #, python-format msgid "%s is not a valid URI" msgstr "%s não é uma URI válida" -#: lutris/gui/application.py:650 +#: lutris/gui/application.py:652 #, python-format msgid "Failed to download %s" msgstr "Falhou ao baixar %s" -#: lutris/gui/application.py:659 +#: lutris/gui/application.py:661 #, python-brace-format msgid "download {url} to {file} started" msgstr "download de {url} para {file} iniciado" -#: lutris/gui/application.py:670 +#: lutris/gui/application.py:672 #, python-format msgid "No such file: %s" msgstr "Arquivo inexistente: %s" @@ -1661,7 +1678,7 @@ msgid "Source" msgstr "Fonte" #: lutris/gui/config/edit_saved_search.py:191 -#: lutris/gui/config/game_common.py:280 lutris/gui/views/list.py:68 +#: lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:68 msgid "Runner" msgstr "Runner" @@ -1692,24 +1709,24 @@ msgstr "" msgid "Select a runner in the Game Info tab" msgstr "Selecione um runner na aba de informações do jogo" -#: lutris/gui/config/game_common.py:144 lutris/gui/config/runner.py:27 +#: lutris/gui/config/game_common.py:143 lutris/gui/config/runner.py:27 #, python-format msgid "Search %s options" msgstr "Pesquisar opções de %s" -#: lutris/gui/config/game_common.py:146 lutris/gui/config/game_common.py:509 +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 msgid "Search options" msgstr "Opções de pesquisa" -#: lutris/gui/config/game_common.py:177 +#: lutris/gui/config/game_common.py:172 msgid "Game info" msgstr "Informações do jogo" -#: lutris/gui/config/game_common.py:192 +#: lutris/gui/config/game_common.py:187 msgid "Sort name" msgstr "Nome para ordenação" -#: lutris/gui/config/game_common.py:208 +#: lutris/gui/config/game_common.py:203 #, python-format msgid "" "Identifier\n" @@ -1718,93 +1735,93 @@ msgstr "" "Identificador\n" "(ID Interno: %s)" -#: lutris/gui/config/game_common.py:217 lutris/gui/config/game_common.py:408 +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 msgid "Change" msgstr "Mudar" -#: lutris/gui/config/game_common.py:228 +#: lutris/gui/config/game_common.py:223 msgid "Directory" msgstr "Diretório" -#: lutris/gui/config/game_common.py:234 +#: lutris/gui/config/game_common.py:229 msgid "Move" msgstr "Mover" -#: lutris/gui/config/game_common.py:254 +#: lutris/gui/config/game_common.py:249 msgid "The default launch option will be used for this game" msgstr "Será usada a configuração de inicialização padrão para este jogo" -#: lutris/gui/config/game_common.py:256 +#: lutris/gui/config/game_common.py:251 #, python-format msgid "The '%s' launch option will be used for this game" msgstr "A configuração de inicialização '%s' será usada para este jogo" -#: lutris/gui/config/game_common.py:263 +#: lutris/gui/config/game_common.py:258 msgid "Reset" msgstr "Resetar" -#: lutris/gui/config/game_common.py:294 +#: lutris/gui/config/game_common.py:289 msgid "Set custom cover art" msgstr "Definir arte customizada de capa" -#: lutris/gui/config/game_common.py:294 +#: lutris/gui/config/game_common.py:289 msgid "Remove custom cover art" msgstr "Remover arte customizada de capa" -#: lutris/gui/config/game_common.py:295 +#: lutris/gui/config/game_common.py:290 msgid "Set custom banner" msgstr "Definir banner customizado" -#: lutris/gui/config/game_common.py:295 +#: lutris/gui/config/game_common.py:290 msgid "Remove custom banner" msgstr "Remover banner customizado" -#: lutris/gui/config/game_common.py:296 +#: lutris/gui/config/game_common.py:291 msgid "Set custom icon" msgstr "Definir ícone customizado" -#: lutris/gui/config/game_common.py:296 +#: lutris/gui/config/game_common.py:291 msgid "Remove custom icon" msgstr "Remover ícone customizado" -#: lutris/gui/config/game_common.py:329 +#: lutris/gui/config/game_common.py:324 msgid "Release year" msgstr "Ano de lançamento" -#: lutris/gui/config/game_common.py:342 +#: lutris/gui/config/game_common.py:337 msgid "Playtime" msgstr "Tempo de jogo" -#: lutris/gui/config/game_common.py:388 +#: lutris/gui/config/game_common.py:383 msgid "Select a runner from the list" msgstr "Selecione um runner da lista" -#: lutris/gui/config/game_common.py:396 +#: lutris/gui/config/game_common.py:391 msgid "Apply" msgstr "Aplicar" -#: lutris/gui/config/game_common.py:451 lutris/gui/config/game_common.py:460 -#: lutris/gui/config/game_common.py:466 +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 +#: lutris/gui/config/game_common.py:461 msgid "Game options" msgstr "Opções de jogo" -#: lutris/gui/config/game_common.py:471 lutris/gui/config/game_common.py:474 +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 msgid "Runner options" msgstr "Opções do runner" -#: lutris/gui/config/game_common.py:478 +#: lutris/gui/config/game_common.py:473 msgid "System options" msgstr "Opções do sistema" -#: lutris/gui/config/game_common.py:515 +#: lutris/gui/config/game_common.py:510 msgid "Show advanced options" msgstr "Mostrar opções avançadas" -#: lutris/gui/config/game_common.py:517 +#: lutris/gui/config/game_common.py:512 msgid "Advanced" msgstr "Avançado" -#: lutris/gui/config/game_common.py:571 +#: lutris/gui/config/game_common.py:566 msgid "" "Are you sure you want to change the runner for this game ? This will reset " "the full configuration for this game and is not reversible." @@ -1812,35 +1829,35 @@ msgstr "" "Tem certeza de que deseja alterar o runner para este jogo? Isso vai " "redefinir a configuração completa para este jogo e não é reversível." -#: lutris/gui/config/game_common.py:575 +#: lutris/gui/config/game_common.py:570 msgid "Confirm runner change" msgstr "Confirmar alteração de runner" -#: lutris/gui/config/game_common.py:628 +#: lutris/gui/config/game_common.py:622 msgid "Runner not provided" msgstr "Runner não fornecido" -#: lutris/gui/config/game_common.py:631 +#: lutris/gui/config/game_common.py:625 msgid "Please fill in the name" msgstr "Por favor, preencha o nome" -#: lutris/gui/config/game_common.py:634 +#: lutris/gui/config/game_common.py:628 msgid "Steam AppID not provided" msgstr "Steam AppID não fornecido" -#: lutris/gui/config/game_common.py:660 +#: lutris/gui/config/game_common.py:654 msgid "The following fields have invalid values: " msgstr "Os campos a seguir tem valores inválidos: " -#: lutris/gui/config/game_common.py:667 +#: lutris/gui/config/game_common.py:661 msgid "Current configuration is not valid, ignoring save request" msgstr "Configuração atual não é válida, ignorando pedido para salvar" -#: lutris/gui/config/game_common.py:711 +#: lutris/gui/config/game_common.py:705 msgid "Please choose a custom image" msgstr "Por favor, escolha uma imagem customizada" -#: lutris/gui/config/game_common.py:719 +#: lutris/gui/config/game_common.py:713 msgid "Images" msgstr "Imagens" @@ -2009,23 +2026,23 @@ msgstr "" "Acesse suas bibliotecas de jogos de várias fontes. As alterações exigem uma " "reinicialização para fazer efeito." -#: lutris/gui/config/storage_box.py:20 +#: lutris/gui/config/storage_box.py:24 msgid "Paths" msgstr "Caminhos" -#: lutris/gui/config/storage_box.py:31 +#: lutris/gui/config/storage_box.py:36 msgid "Game library" msgstr "Biblioteca de jogos" -#: lutris/gui/config/storage_box.py:35 lutris/sysoptions.py:87 +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 msgid "The default folder where you install your games." msgstr "A pasta padrão onde você instala seus jogos." -#: lutris/gui/config/storage_box.py:39 +#: lutris/gui/config/storage_box.py:43 msgid "Installer cache" msgstr "Cache do instalador" -#: lutris/gui/config/storage_box.py:44 +#: lutris/gui/config/storage_box.py:48 msgid "" "If provided, files downloaded during game installs will be kept there\n" "\n" @@ -2036,16 +2053,29 @@ msgstr "" "\n" "Ao contrário, todos os arquivos serão descartados." -#: lutris/gui/config/storage_box.py:50 +#: lutris/gui/config/storage_box.py:53 msgid "Emulator BIOS files location" msgstr "Localização dos arquivos BIOS do emulador" -#: lutris/gui/config/storage_box.py:54 +#: lutris/gui/config/storage_box.py:57 msgid "The folder Lutris will search in for emulator BIOS files if needed" msgstr "" "A pasta que o Lutris procurará pelos arquivos do BIOS do emulador, se " "necessário" +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "A pasta é muito grande (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "Muito arquivos na pasta" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "A pasta é muito profunda" + #: lutris/gui/config/sysinfo_box.py:18 msgid "Vulkan support" msgstr "Vulkan support" @@ -2062,10 +2092,10 @@ msgstr "Fsync support" msgid "Wine installed" msgstr "Wine installed" -#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:210 -#: lutris/sysoptions.py:219 lutris/sysoptions.py:230 lutris/sysoptions.py:245 -#: lutris/sysoptions.py:261 lutris/sysoptions.py:271 lutris/sysoptions.py:286 -#: lutris/sysoptions.py:298 lutris/sysoptions.py:308 +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 +#: lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 +#: lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 +#: lutris/sysoptions.py:294 lutris/sysoptions.py:304 msgid "Gamescope" msgstr "Gamescope" @@ -2110,174 +2140,97 @@ msgstr "YES" msgid "NO" msgstr "NO" -#: lutris/gui/config/updates_box.py:29 -msgid "Wine update channel" -msgstr "Canal de atualização do Wine" - -#: lutris/gui/config/updates_box.py:41 +#: lutris/gui/config/updates_box.py:24 msgid "Runtime updates" msgstr "Instalar atualizações de runtime" -#: lutris/gui/config/updates_box.py:42 +#: lutris/gui/config/updates_box.py:25 msgid "Runtime components include DXVK, VKD3D and Winetricks." msgstr "Componentes de runtime incluem DXVK, VKD3D e Winetricks." -#: lutris/gui/config/updates_box.py:43 +#: lutris/gui/config/updates_box.py:26 msgid "Check for Updates" msgstr "Procurar por atualizações" -#: lutris/gui/config/updates_box.py:47 +#: lutris/gui/config/updates_box.py:30 msgid "Automatically Update the Lutris runtime" msgstr "Atualizar automaticamente o runtime do Lutris" -#: lutris/gui/config/updates_box.py:52 +#: lutris/gui/config/updates_box.py:35 msgid "Media updates" msgstr "Atualizações de mídias" -#: lutris/gui/config/updates_box.py:53 +#: lutris/gui/config/updates_box.py:36 msgid "Download Missing Media" msgstr "Baixar mídias ausentes" -#: lutris/gui/config/updates_box.py:59 -msgid "" -"Stable:\n" -"Wine-GE updates are downloaded automatically and the latest version is " -"always used unless overridden in the settings.\n" -"\n" -"This allows us to keep track of regressions more efficiently and provide " -"fixes more reliably." -msgstr "" -"Estável:\n" -"Atualizações do Wine-GE são baixadas automaticamente e a última versão é " -"sempre usada exceto se for alterado nas configurações.\n" -"\n" -"Isso permite acompanhar as regressões com mais eficiecia e fornecer " -"correções mais confiáveis." - -#: lutris/gui/config/updates_box.py:71 -msgid "" -"Self-maintained:\n" -"Wine updates are no longer delivered automatically and you have full " -"responsibility of your Wine versions.\n" -"\n" -"Please note that this mode is fully unsupported. In order to submit " -"issues on Github or ask for help on Discord, switch back to the Stable " -"channel." -msgstr "" -"Manual:\n" -"As atualizações do Wine não serão mais baixadas automaticamente e você tem a " -"resposabilidade das suas versões do Wine.\n" -"\n" -"Por favor note que esse modo é totalmente não suportado. Em caso de " -"envio de problemas para o Github ou pedido de ajuda no Discord, retorne para " -"a opção de canal Estável." - -#: lutris/gui/config/updates_box.py:90 -msgid "" -"No compatible Wine version could be identified. No updates are available." -msgstr "" -"Nenhuma versão compatível do Wine pode ser identificada. Nenhuma atualização " -"está disponível." - -#: lutris/gui/config/updates_box.py:91 lutris/gui/config/updates_box.py:100 -msgid "Check Again" -msgstr "Verificar novamente" - -#: lutris/gui/config/updates_box.py:96 -#, python-format -msgid "" -"Your Wine version is up to date. Using: %s\n" -"Last checked %s." -msgstr "" -"Sua versão do Wine é a mais atual. Usando: %s\n" -"Ultima verificação %s." - -#: lutris/gui/config/updates_box.py:103 -#, python-format -msgid "" -"You don't have any Wine version installed.\n" -"We recommend %s" -msgstr "" -"Você não tem nenhuma versão do Wine instalada.\n" -"Nós recomendamos %s" - -#: lutris/gui/config/updates_box.py:106 lutris/gui/config/updates_box.py:111 -#, python-format -msgid "Download %s" -msgstr "Baixar %s" - -#: lutris/gui/config/updates_box.py:109 -#, python-format -msgid "You don't have the recommended Wine version: %s" -msgstr "Você não tem a versão recomendada do Wine: %s" - -#: lutris/gui/config/updates_box.py:135 +#: lutris/gui/config/updates_box.py:60 msgid "Checking for missing media..." msgstr "Checando mídias ausentes..." -#: lutris/gui/config/updates_box.py:142 +#: lutris/gui/config/updates_box.py:67 msgid "Nothing to update" msgstr "Nada para atualizar" -#: lutris/gui/config/updates_box.py:144 +#: lutris/gui/config/updates_box.py:69 msgid "Updated: " msgstr "Atualizado: " -#: lutris/gui/config/updates_box.py:146 +#: lutris/gui/config/updates_box.py:71 msgid "banner" msgstr "banner" -#: lutris/gui/config/updates_box.py:147 +#: lutris/gui/config/updates_box.py:72 msgid "icon" msgstr "ícone" -#: lutris/gui/config/updates_box.py:148 +#: lutris/gui/config/updates_box.py:73 msgid "cover" msgstr "capa" -#: lutris/gui/config/updates_box.py:149 +#: lutris/gui/config/updates_box.py:74 msgid "banners" msgstr "banners" -#: lutris/gui/config/updates_box.py:150 +#: lutris/gui/config/updates_box.py:75 msgid "icons" msgstr "ícones" -#: lutris/gui/config/updates_box.py:151 +#: lutris/gui/config/updates_box.py:76 msgid "covers" msgstr "capas" -#: lutris/gui/config/updates_box.py:160 +#: lutris/gui/config/updates_box.py:85 msgid "No new media found." msgstr "Nenhuma nova mídia encontrada." -#: lutris/gui/config/updates_box.py:194 +#: lutris/gui/config/updates_box.py:119 msgid "Downloading..." msgstr "Baixando..." -#: lutris/gui/config/updates_box.py:196 lutris/gui/config/updates_box.py:232 +#: lutris/gui/config/updates_box.py:121 lutris/gui/config/updates_box.py:156 msgid "Updates are already being downloaded and installed." msgstr "Atualizações já estão sendo baixadas e instaladas." -#: lutris/gui/config/updates_box.py:198 lutris/gui/config/updates_box.py:234 +#: lutris/gui/config/updates_box.py:123 lutris/gui/config/updates_box.py:158 msgid "No updates are required at this time." msgstr "Nenhuma atualização é necessária no momento." -#: lutris/gui/config/updates_box.py:221 +#: lutris/gui/config/updates_box.py:145 #, python-format msgid "%s has been updated." msgstr "%s foi atualizado." -#: lutris/gui/config/updates_box.py:223 +#: lutris/gui/config/updates_box.py:147 #, python-format msgid "%s have been updated." msgstr "%s foram atualizados." -#: lutris/gui/config/updates_box.py:230 +#: lutris/gui/config/updates_box.py:154 msgid "Checking for updates..." msgstr "Procurando por atualizações..." -#: lutris/gui/config/updates_box.py:243 +#: lutris/gui/config/updates_box.py:167 msgid "" "Without the Wine-GE updates enabled, we can no longer provide support on " "Github and Discord." @@ -2289,12 +2242,12 @@ msgstr "" msgid "Default: " msgstr "Padrão: " -#: lutris/gui/config/widget_generator.py:374 lutris/runners/wine.py:568 +#: lutris/gui/config/widget_generator.py:374 lutris/runners/wine.py:561 msgid "Enabled" msgstr "Habilitado" -#: lutris/gui/config/widget_generator.py:374 lutris/runners/easyrpg.py:372 -#: lutris/runners/mednafen.py:80 lutris/runners/wine.py:567 +#: lutris/gui/config/widget_generator.py:374 lutris/runners/easyrpg.py:371 +#: lutris/runners/mednafen.py:78 lutris/runners/wine.py:560 msgid "Disabled" msgstr "Desabilitado" @@ -2323,8 +2276,8 @@ msgstr "Selecionar arquivos" msgid "_Add" msgstr "_Adicionar" -#: lutris/gui/config/widget_generator.py:568 lutris/gui/dialogs/__init__.py:434 -#: lutris/gui/dialogs/__init__.py:460 lutris/gui/dialogs/issue.py:74 +#: lutris/gui/config/widget_generator.py:568 lutris/gui/dialogs/__init__.py:444 +#: lutris/gui/dialogs/__init__.py:470 lutris/gui/dialogs/issue.py:74 #: lutris/gui/widgets/common.py:167 #: lutris/gui/widgets/download_collection_progress_box.py:56 #: lutris/gui/widgets/download_progress_box.py:64 @@ -2336,7 +2289,7 @@ msgid "Add Files" msgstr "Adicionar arquivos" #: lutris/gui/config/widget_generator.py:623 -#: lutris/installer/installer_file_collection.py:89 +#: lutris/installer/installer_file_collection.py:88 msgid "Files" msgstr "Arquivos" @@ -2421,19 +2374,19 @@ msgstr "A plataforma '%s' é desconhecida para o Lutris." msgid "Lutris does not have a default installer for the '%s' platform." msgstr "Lutris não tem um instalador padrão para a plataforma '%s'." -#: lutris/gui/dialogs/__init__.py:171 +#: lutris/gui/dialogs/__init__.py:173 msgid "Save" msgstr "Salvar" -#: lutris/gui/dialogs/__init__.py:292 +#: lutris/gui/dialogs/__init__.py:300 msgid "Lutris has encountered an error" msgstr "Lutris encontrou um erro" -#: lutris/gui/dialogs/__init__.py:319 lutris/gui/installerwindow.py:904 +#: lutris/gui/dialogs/__init__.py:329 lutris/gui/installerwindow.py:961 msgid "Copy Details to Clipboard" msgstr "Copiar para área de transferência" -#: lutris/gui/dialogs/__init__.py:339 +#: lutris/gui/dialogs/__init__.py:349 msgid "" "You can get support from GitHub or Discord. Make sure " @@ -2445,49 +2398,49 @@ msgstr "" "Pnt5CuY'>Discord. Certifique-se de fornecer os detalhes do erro.\n" "Use o botão 'Copiar para área de transferência' para obter." -#: lutris/gui/dialogs/__init__.py:348 +#: lutris/gui/dialogs/__init__.py:358 msgid "Error details" msgstr "Detalhes do erro" -#: lutris/gui/dialogs/__init__.py:433 lutris/gui/dialogs/__init__.py:459 +#: lutris/gui/dialogs/__init__.py:443 lutris/gui/dialogs/__init__.py:469 #: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:167 msgid "_OK" msgstr "_OK" -#: lutris/gui/dialogs/__init__.py:450 +#: lutris/gui/dialogs/__init__.py:460 msgid "Please choose a file" msgstr "Por favor, escolha um arquivo" -#: lutris/gui/dialogs/__init__.py:474 +#: lutris/gui/dialogs/__init__.py:484 #, python-format msgid "%s is already installed" msgstr "%s ja está instalado" -#: lutris/gui/dialogs/__init__.py:484 +#: lutris/gui/dialogs/__init__.py:494 msgid "Launch game" msgstr "Iniciar jogo" -#: lutris/gui/dialogs/__init__.py:488 +#: lutris/gui/dialogs/__init__.py:498 msgid "Install the game again" msgstr "Instalar o jogo novamente" -#: lutris/gui/dialogs/__init__.py:527 +#: lutris/gui/dialogs/__init__.py:537 msgid "Do not ask again for this game." msgstr "Não pergunte novamente para este jogo." -#: lutris/gui/dialogs/__init__.py:582 +#: lutris/gui/dialogs/__init__.py:592 msgid "Login failed" msgstr "Falha ao se conectar" -#: lutris/gui/dialogs/__init__.py:592 +#: lutris/gui/dialogs/__init__.py:602 msgid "Install script for {}" msgstr "Script de instalação para {}" -#: lutris/gui/dialogs/__init__.py:616 +#: lutris/gui/dialogs/__init__.py:626 msgid "Humble Bundle Cookie Authentication" msgstr "Autenticação de Cookie Humble Bundle" -#: lutris/gui/dialogs/__init__.py:628 +#: lutris/gui/dialogs/__init__.py:638 msgid "" "Humble Bundle Authentication via cookie import\n" "\n" @@ -2520,7 +2473,7 @@ msgstr "" "new'>abra um ticket de suporte para pedir a Humble Bundle para corrigir " "a configuração deles." -#: lutris/gui/dialogs/__init__.py:707 +#: lutris/gui/dialogs/__init__.py:717 #, python-format msgid "The key '%s' could not be found." msgstr "A chave '%s' não pôde ser encontrada." @@ -2711,15 +2664,15 @@ msgstr "" msgid "Permanently delete files?" msgstr "Excluir arquivos permanentemente?" -#: lutris/gui/dialogs/uninstall_dialog.py:353 +#: lutris/gui/dialogs/uninstall_dialog.py:356 msgid "Remove from Library" msgstr "Remover da biblioteca" -#: lutris/gui/dialogs/uninstall_dialog.py:359 +#: lutris/gui/dialogs/uninstall_dialog.py:362 msgid "Delete Files" msgstr "Deletar arquivos" -#: lutris/gui/dialogs/webconnect_dialog.py:119 +#: lutris/gui/dialogs/webconnect_dialog.py:147 msgid "Loading..." msgstr "Carregando..." @@ -2748,120 +2701,130 @@ msgstr "Arquivo de cache para instalações futuras" msgid "Source:" msgstr "Fonte:" -#: lutris/gui/installerwindow.py:122 +#: lutris/gui/installerwindow.py:127 msgid "Configure download cache" msgstr "Configurar cache de download" -#: lutris/gui/installerwindow.py:124 +#: lutris/gui/installerwindow.py:129 msgid "Change where Lutris downloads game installer files." msgstr "Alterar onde o Lutris baixa os arquivos de instalação do jogo." -#: lutris/gui/installerwindow.py:127 +#: lutris/gui/installerwindow.py:132 msgid "View installer source" msgstr "Ver fonte de instalação" -#: lutris/gui/installerwindow.py:223 +#: lutris/gui/installerwindow.py:240 msgid "Remove game files" msgstr "Remover arquivos do jogo" -#: lutris/gui/installerwindow.py:238 +#: lutris/gui/installerwindow.py:255 msgid "Are you sure you want to cancel the installation?" msgstr "Tem certeza de que deseja cancelar a instalação?" -#: lutris/gui/installerwindow.py:239 +#: lutris/gui/installerwindow.py:256 msgid "Cancel installation?" msgstr "Cancelar instalação?" -#: lutris/gui/installerwindow.py:340 +#: lutris/gui/installerwindow.py:331 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"Aguardando a instalação de componente do Lutris\n" +"As instalações podem falhar se os componentes do Lutris não forem " +"instalados primeiro." + +#: lutris/gui/installerwindow.py:388 #, python-format msgid "Install %s" msgstr "Instalar %s" -#: lutris/gui/installerwindow.py:362 +#: lutris/gui/installerwindow.py:410 #, python-format msgid "This game requires %s. Do you want to install it?" msgstr "Este jogo requer %s. Deseja instalá-lo?" -#: lutris/gui/installerwindow.py:363 +#: lutris/gui/installerwindow.py:411 msgid "Missing dependency" msgstr "Dependência ausente" -#: lutris/gui/installerwindow.py:371 +#: lutris/gui/installerwindow.py:419 msgid "Installing {}" msgstr "Instalando {}" -#: lutris/gui/installerwindow.py:377 +#: lutris/gui/installerwindow.py:425 msgid "No installer available" msgstr "Nenhum instalador disponível" -#: lutris/gui/installerwindow.py:383 +#: lutris/gui/installerwindow.py:431 #, python-format msgid "Missing field \"%s\" in install script" msgstr "Campo ausente \"%s\" no script de instalação" -#: lutris/gui/installerwindow.py:386 +#: lutris/gui/installerwindow.py:434 #, python-format msgid "Improperly formatted file \"%s\"" msgstr "Arquivo \"%s\" formatado incorretamente" -#: lutris/gui/installerwindow.py:436 +#: lutris/gui/installerwindow.py:484 msgid "Select installation directory" msgstr "Selecione o diretório de instalação" -#: lutris/gui/installerwindow.py:446 +#: lutris/gui/installerwindow.py:494 msgid "Preparing Lutris for installation" msgstr "Preparando o Lutris para instalação" -#: lutris/gui/installerwindow.py:540 +#: lutris/gui/installerwindow.py:588 msgid "" -"This game has extra content. \n" -"Select which one you want and they will be available in the 'extras' folder " -"where the game is installed." +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' " +"folder where the game is installed." msgstr "" -"Esse jogo tem conteúdo extra. \n" -"Selecione quais desses você quer e eles estarão disponíveis na pasta " -"'extras' onde o jogo está instalado." +"Esse jogo tem conteúdo extra\n" +"Selecione quais desses você quer e eles estarão disponíveis na pasta " +"'extras' onde o jogo está instalado." -#: lutris/gui/installerwindow.py:635 +#: lutris/gui/installerwindow.py:684 msgid "" "Please review the files needed for the installation then click 'Install'" msgstr "" "Por favor, revise os arquivos necessários para a instalação e clique em " "'Instalar'" -#: lutris/gui/installerwindow.py:643 +#: lutris/gui/installerwindow.py:692 msgid "Downloading game data" msgstr "Baixando dados do jogo" -#: lutris/gui/installerwindow.py:660 +#: lutris/gui/installerwindow.py:709 #, python-format msgid "Unable to get files: %s" msgstr "Não foi possível obter os arquivos: %s" -#: lutris/gui/installerwindow.py:674 +#: lutris/gui/installerwindow.py:723 msgid "Installing game data" msgstr "Instalando dados do jogo" #. Lutris flatplak doesn't autodetect files on CD-ROM properly #. and selecting this option doesn't let the user click "Back" #. so the only option is to cancel the install. -#: lutris/gui/installerwindow.py:816 +#: lutris/gui/installerwindow.py:865 msgid "Autodetect" msgstr "Detecção automática" -#: lutris/gui/installerwindow.py:821 +#: lutris/gui/installerwindow.py:870 msgid "Browse…" msgstr "Navegar…" -#: lutris/gui/installerwindow.py:828 +#: lutris/gui/installerwindow.py:877 msgid "Eject" msgstr "Ejetar" -#: lutris/gui/installerwindow.py:840 +#: lutris/gui/installerwindow.py:889 msgid "Select the folder where the disc is mounted" msgstr "Selecione a pasta onde o disco está montado" -#: lutris/gui/installerwindow.py:888 +#: lutris/gui/installerwindow.py:943 msgid "" "An unexpected error has occurred while installing this game. Please share " "the details below with the Lutris team on GitHub ou Discord." -#: lutris/gui/installerwindow.py:945 +#: lutris/gui/installerwindow.py:1002 msgid "_Launch" msgstr "_Iniciar" -#: lutris/gui/installerwindow.py:1025 +#: lutris/gui/installerwindow.py:1082 msgid "_Abort" msgstr "_Abortar" -#: lutris/gui/installerwindow.py:1026 +#: lutris/gui/installerwindow.py:1083 msgid "Abort and revert the installation" msgstr "Abortar e reverter a instalação" -#: lutris/gui/installerwindow.py:1029 +#: lutris/gui/installerwindow.py:1086 msgid "_Close" msgstr "_Fechar" -#: lutris/gui/lutriswindow.py:596 +#: lutris/gui/lutriswindow.py:654 #, python-format msgid "Connect your %s account to access your games" msgstr "Conecte sua conta %s para acessar seus jogos" -#: lutris/gui/lutriswindow.py:677 +#: lutris/gui/lutriswindow.py:735 #, python-format msgid "Add a game matching '%s' to your favorites to see it here." msgstr "" "Adicione um jogo que corresponda %s aos seus favoritos para vê-lo aqui." -#: lutris/gui/lutriswindow.py:679 +#: lutris/gui/lutriswindow.py:737 #, python-format msgid "No hidden games matching '%s' found." msgstr "Nenhum jogo oculto correspondente a '%s' foi encontrado." -#: lutris/gui/lutriswindow.py:682 +#: lutris/gui/lutriswindow.py:740 #, python-format msgid "" "No installed games matching '%s' found. Press Ctrl+I to show uninstalled " @@ -2914,43 +2877,43 @@ msgstr "" "Nenhum jogo instalado correspondente a '%s' foi encontrado. Pressione Ctrl+I " "para mostrar os jogos desinstalados." -#: lutris/gui/lutriswindow.py:685 +#: lutris/gui/lutriswindow.py:743 #, python-format msgid "No games matching '%s' found " msgstr "Nenhum jogo correspondente a '%s' foi encontrado " -#: lutris/gui/lutriswindow.py:688 +#: lutris/gui/lutriswindow.py:746 msgid "Add games to your favorites to see them here." msgstr "Adicione jogos aos seus favoritos para vê-los aqui." -#: lutris/gui/lutriswindow.py:690 +#: lutris/gui/lutriswindow.py:748 msgid "No games are hidden." msgstr "Não há jogos ocultados." -#: lutris/gui/lutriswindow.py:692 +#: lutris/gui/lutriswindow.py:750 msgid "No installed games found. Press Ctrl+I to show uninstalled games." msgstr "" "Nenhum jogo instalado encontrado. Pressiona Ctrl+I para exibir os jogos " "desinstalados." -#: lutris/gui/lutriswindow.py:701 +#: lutris/gui/lutriswindow.py:759 msgid "No games found" msgstr "Nenhum jogo encontrado" -#: lutris/gui/lutriswindow.py:746 +#: lutris/gui/lutriswindow.py:804 #, python-format msgid "Search %s games" msgstr "Pesquisar %s jogos" -#: lutris/gui/lutriswindow.py:748 +#: lutris/gui/lutriswindow.py:806 msgid "Search 1 game" msgstr "Pesquisar por um jogo" -#: lutris/gui/lutriswindow.py:1001 +#: lutris/gui/lutriswindow.py:1060 msgid "Unsupported Lutris Version" msgstr "Versão do Lutris não suportada" -#: lutris/gui/lutriswindow.py:1003 +#: lutris/gui/lutriswindow.py:1062 msgid "" "This version of Lutris will no longer receive support on Github and Discord, " "and may not interoperate properly with Lutris.net. Do you want to use it " @@ -2959,15 +2922,15 @@ msgstr "" "Esta versão do Lutris não irá mais receber suporte no Github e Discord, e " "pode não funcionar corretamente com o Lutris.net. Você ainda deseja usa-lá?" -#: lutris/gui/lutriswindow.py:1218 +#: lutris/gui/lutriswindow.py:1273 msgid "Show Hidden Games" msgstr "Mostrar jogos ocultos" -#: lutris/gui/lutriswindow.py:1220 +#: lutris/gui/lutriswindow.py:1275 msgid "Rehide Hidden Games" msgstr "Reocultar jogos ocultos" -#: lutris/gui/lutriswindow.py:1417 +#: lutris/gui/lutriswindow.py:1473 msgid "" "Your limits are not set correctly. Please increase them as described here: " "How-to:-" @@ -3152,8 +3115,8 @@ msgstr "Runner fornecido é inválido %s" msgid "One of {params} parameter is mandatory for the {cmd} command" msgstr "Um dos parâmetros {params} é obrigatório para o comando {cmd}" -#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:165 -#: lutris/installer/interpreter.py:188 +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 +#: lutris/installer/interpreter.py:190 msgid " or " msgstr " ou " @@ -3162,12 +3125,12 @@ msgstr " ou " msgid "The {param} parameter is mandatory for the {cmd} command" msgstr "O parâmetro {param} é obrigatório para o comando {cmd}" -#: lutris/installer/commands.py:103 +#: lutris/installer/commands.py:95 #, python-format msgid "Invalid file '%s'. Can't make it executable" msgstr "Arquivo inválido '%s'. Não é possível torná-lo executável" -#: lutris/installer/commands.py:116 +#: lutris/installer/commands.py:108 msgid "" "Parameters file and command can't be used at the same time for the execute " "command" @@ -3175,26 +3138,26 @@ msgstr "" "Arquivo de parâmetros e comando não podem ser usados ao mesmo tempo para o " "comando de execução" -#: lutris/installer/commands.py:150 +#: lutris/installer/commands.py:142 msgid "No parameters supplied to execute command." msgstr "Nenhum parâmetro fornecido para executar o comando." -#: lutris/installer/commands.py:166 +#: lutris/installer/commands.py:158 #, python-format msgid "Unable to find executable %s" msgstr "Não foi possível encontrar o executável %s" -#: lutris/installer/commands.py:200 +#: lutris/installer/commands.py:192 #, python-format msgid "%s does not exist" msgstr "%s não existe" -#: lutris/installer/commands.py:206 lutris/runtime.py:127 +#: lutris/installer/commands.py:198 lutris/runtime.py:127 #, python-format msgid "Extracting %s" msgstr "Extraindo %s" -#: lutris/installer/commands.py:240 +#: lutris/installer/commands.py:232 msgid "" "Insert or mount game disc and click Autodetect or\n" "use Browse if the disc is mounted on a non standard location." @@ -3202,7 +3165,7 @@ msgstr "" "Insira ou monte o disco do jogo e clique em Autodetectar ou\n" "use Procurar se o disco estiver montado em um local que não é comum." -#: lutris/installer/commands.py:246 +#: lutris/installer/commands.py:238 #, python-format msgid "" "\n" @@ -3217,22 +3180,22 @@ msgstr "" "contendo o seguinte arquivo ou pasta:\n" "%s" -#: lutris/installer/commands.py:269 +#: lutris/installer/commands.py:261 #, python-format msgid "The required file '%s' could not be located." msgstr "O arquivo requerido '%s' não pôde ser encontrado." -#: lutris/installer/commands.py:290 +#: lutris/installer/commands.py:282 #, python-format msgid "Source does not exist: %s" msgstr "A fonte não existe: %s" -#: lutris/installer/commands.py:316 +#: lutris/installer/commands.py:308 #, python-format msgid "Invalid source for 'move' operation: %s" msgstr "Fonte inválida para a operação 'mover': %s" -#: lutris/installer/commands.py:335 +#: lutris/installer/commands.py:327 #, python-brace-format msgid "" "Can't move {src} \n" @@ -3241,48 +3204,48 @@ msgstr "" "Não é possível mover {src} \n" "para o destino {dst}" -#: lutris/installer/commands.py:342 +#: lutris/installer/commands.py:334 #, python-format msgid "Rename error, source path does not exist: %s" msgstr "Erro ao renomear, caminho de origem não existe: %s" -#: lutris/installer/commands.py:349 +#: lutris/installer/commands.py:341 #, python-format msgid "Rename error, destination already exists: %s" msgstr "Erro ao renomear, destino já existe: %s" -#: lutris/installer/commands.py:365 +#: lutris/installer/commands.py:357 msgid "Missing parameter src" msgstr "Faltando parâmetro src" -#: lutris/installer/commands.py:368 +#: lutris/installer/commands.py:360 msgid "Wrong value for 'src' param" msgstr "Valor incorreto para o parâmetro 'src'" -#: lutris/installer/commands.py:372 +#: lutris/installer/commands.py:364 msgid "Wrong value for 'dst' param" msgstr "Valor incorreto para o parâmetro 'dst'" -#: lutris/installer/commands.py:447 +#: lutris/installer/commands.py:439 #, python-format msgid "Command exited with code %s" msgstr "Comando encerrado com o código %s" -#: lutris/installer/commands.py:466 +#: lutris/installer/commands.py:458 #, python-format msgid "Wrong value for write_file mode: '%s'" msgstr "Valor incorreto para o modo write_file: '%s'" -#: lutris/installer/commands.py:659 +#: lutris/installer/commands.py:651 msgid "install_or_extract only works with wine!" msgstr "install_or_extract funciona somente com wine!" -#: lutris/installer/errors.py:42 +#: lutris/installer/errors.py:49 #, python-format msgid "This game requires %s." msgstr "Este jogo requer %s." -#: lutris/installer/installer_file_collection.py:87 +#: lutris/installer/installer_file_collection.py:86 msgid "File" msgstr "Arquivo" @@ -3301,11 +3264,11 @@ msgstr "campo `filename` ausente no arquivo `%s`" msgid "{file} on {host}" msgstr "{file} em {host}" -#: lutris/installer/installer_file.py:259 +#: lutris/installer/installer_file.py:254 msgid "Invalid checksum, expected format (type:hash) " msgstr "Checksum inválido, formato esperado (type:hash) " -#: lutris/installer/installer_file.py:265 +#: lutris/installer/installer_file.py:261 msgid " checksum mismatch " msgstr " checksum incompatível " @@ -3326,7 +3289,7 @@ msgstr "Seção 'jogo' inválida" msgid "This installer doesn't have a 'script' section" msgstr "Este instalador não tem uma seção 'script'" -#: lutris/installer/interpreter.py:90 +#: lutris/installer/interpreter.py:91 msgid "" "Invalid script: \n" "{}" @@ -3334,36 +3297,36 @@ msgstr "" "Script inválido: \n" "{}" -#: lutris/installer/interpreter.py:165 lutris/installer/interpreter.py:168 +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 #, python-format msgid "This installer requires %s on your system" msgstr "Este instalador requer %s em seu sistema" -#: lutris/installer/interpreter.py:181 +#: lutris/installer/interpreter.py:183 msgid "You need to install {} before" msgstr "Você precisa instalar {} antes" -#: lutris/installer/interpreter.py:230 +#: lutris/installer/interpreter.py:232 msgid "Lutris does not have the necessary permissions to install to path:" msgstr "Lutris não tem as permissões necessárias para instalar no caminho:" -#: lutris/installer/interpreter.py:235 +#: lutris/installer/interpreter.py:237 #, python-format msgid "Path %s not found, unable to create game folder. Is the disk mounted?" msgstr "" "Caminho %s não encontrado, não foi possível criar o diretório do jogo. O " "disco está montado?" -#: lutris/installer/interpreter.py:310 +#: lutris/installer/interpreter.py:312 msgid "Installer commands are not formatted correctly" msgstr "Os comandos do instalador não estão formatados corretamente" -#: lutris/installer/interpreter.py:362 +#: lutris/installer/interpreter.py:364 #, python-format msgid "The command \"%s\" does not exist." msgstr "O comando \"%s\" não existe." -#: lutris/installer/interpreter.py:372 +#: lutris/installer/interpreter.py:374 #, python-format msgid "" "The executable at path %s can't be found, please check the destination " @@ -3375,7 +3338,7 @@ msgstr "" "Algumas partes do processo de instalação podem não ter sido concluídas com " "êxito." -#: lutris/installer/interpreter.py:379 +#: lutris/installer/interpreter.py:381 msgid "Installation completed!" msgstr "Instalação completa!" @@ -3446,20 +3409,20 @@ msgid "Machine" msgstr "Máquina" #: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 -#: lutris/runners/dosbox.py:67 lutris/runners/duckstation.py:36 -#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:296 -#: lutris/runners/easyrpg.py:304 lutris/runners/easyrpg.py:320 -#: lutris/runners/easyrpg.py:338 lutris/runners/easyrpg.py:346 -#: lutris/runners/easyrpg.py:354 lutris/runners/easyrpg.py:368 +#: lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 +#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 +#: lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:337 lutris/runners/easyrpg.py:345 +#: lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 #: lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 #: lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 #: lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 #: lutris/runners/hatari.py:79 lutris/runners/hatari.py:94 #: lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 -#: lutris/runners/mame.py:168 lutris/runners/mame.py:175 -#: lutris/runners/mame.py:183 lutris/runners/mame.py:197 -#: lutris/runners/mednafen.py:73 lutris/runners/mednafen.py:77 -#: lutris/runners/mednafen.py:91 lutris/runners/o2em.py:79 +#: lutris/runners/mame.py:166 lutris/runners/mame.py:173 +#: lutris/runners/mame.py:190 lutris/runners/mame.py:204 +#: lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 +#: lutris/runners/mednafen.py:89 lutris/runners/o2em.py:79 #: lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 #: lutris/runners/pico8.py:45 lutris/runners/redream.py:24 #: lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 @@ -3470,25 +3433,25 @@ msgstr "Máquina" #: lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 #: lutris/runners/vice.py:51 lutris/runners/vice.py:58 #: lutris/runners/vice.py:65 lutris/runners/vice.py:72 -#: lutris/runners/wine.py:294 lutris/runners/wine.py:310 -#: lutris/runners/wine.py:323 lutris/runners/wine.py:336 -#: lutris/runners/wine.py:348 lutris/runners/wine.py:361 -#: lutris/runners/wine.py:372 lutris/runners/wine.py:383 -#: lutris/runners/wine.py:394 lutris/runners/wine.py:407 +#: lutris/runners/wine.py:290 lutris/runners/wine.py:305 +#: lutris/runners/wine.py:318 lutris/runners/wine.py:329 +#: lutris/runners/wine.py:341 lutris/runners/wine.py:353 +#: lutris/runners/wine.py:363 lutris/runners/wine.py:374 +#: lutris/runners/wine.py:385 lutris/runners/wine.py:398 msgid "Graphics" msgstr "Placa de vídeo" #: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 -#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:297 +#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 #: lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 -#: lutris/runners/libretro.py:95 lutris/runners/mame.py:169 -#: lutris/runners/mednafen.py:73 lutris/runners/mupen64plus.py:29 +#: lutris/runners/libretro.py:95 lutris/runners/mame.py:167 +#: lutris/runners/mednafen.py:71 lutris/runners/mupen64plus.py:29 #: lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 #: lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 #: lutris/runners/redream.py:24 lutris/runners/reicast.py:40 #: lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 #: lutris/runners/vice.py:52 lutris/runners/vita3k.py:41 -#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:276 +#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 msgid "Fullscreen" msgstr "Tela cheia" @@ -3634,12 +3597,12 @@ msgid "Command line arguments used when launching DOSBox" msgstr "Argumentos de linha de comando usados ao iniciar o DOSBox" #: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 -#: lutris/runners/linux.py:39 lutris/runners/wine.py:224 +#: lutris/runners/linux.py:39 lutris/runners/wine.py:222 msgid "Working directory" msgstr "Diretório de trabalho" #: lutris/runners/dosbox.py:57 lutris/runners/linux.py:41 -#: lutris/runners/wine.py:226 +#: lutris/runners/wine.py:224 msgid "" "The location where the game is run from.\n" "By default, Lutris uses the directory of the executable." @@ -3647,19 +3610,19 @@ msgstr "" "O local de onde o jogo é executado.\n" "Por padrão, o Lutris usa o diretório do executável." -#: lutris/runners/dosbox.py:68 +#: lutris/runners/dosbox.py:66 msgid "Open game in fullscreen" msgstr "Abrir jogo em tela cheia" -#: lutris/runners/dosbox.py:71 +#: lutris/runners/dosbox.py:69 msgid "Tells DOSBox to launch the game in fullscreen." msgstr "Diz ao DOSBox para iniciar o jogo em tela cheia." -#: lutris/runners/dosbox.py:75 +#: lutris/runners/dosbox.py:73 msgid "Exit DOSBox with the game" msgstr "Sair do DOSBox com o jogo" -#: lutris/runners/dosbox.py:78 +#: lutris/runners/dosbox.py:76 msgid "Shut down DOSBox when the game is quit." msgstr "Encerrar o DOSBox quando o jogo for encerrado." @@ -3776,110 +3739,110 @@ msgstr "" "Em vez de detectar automaticamente a codificação ou usar a do RPG_RT.ini, a " "codificação especificada é usada. Use 'auto' para detecção automática." -#: lutris/runners/easyrpg.py:37 lutris/runners/easyrpg.py:62 -#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 -#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:186 +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 +#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 #: lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 -#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:246 -#: lutris/runners/wine.py:546 lutris/sysoptions.py:50 +#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:242 +#: lutris/runners/wine.py:539 lutris/sysoptions.py:50 msgid "Auto" msgstr "Auto" -#: lutris/runners/easyrpg.py:38 +#: lutris/runners/easyrpg.py:37 msgid "Auto (ignore RPG_RT.ini)" msgstr "Auto (ignorar RPG_RT.ini)" -#: lutris/runners/easyrpg.py:39 +#: lutris/runners/easyrpg.py:38 msgid "Western European" msgstr "Europa Ocidental" -#: lutris/runners/easyrpg.py:40 +#: lutris/runners/easyrpg.py:39 msgid "Central/Eastern European" msgstr "Europa Central/Oriental" -#: lutris/runners/easyrpg.py:41 lutris/runners/redream.py:50 +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 #: lutris/sysoptions.py:39 msgid "Japanese" msgstr "Japonês" -#: lutris/runners/easyrpg.py:42 +#: lutris/runners/easyrpg.py:41 msgid "Cyrillic" msgstr "Cirílico" -#: lutris/runners/easyrpg.py:43 lutris/sysoptions.py:40 +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 msgid "Korean" msgstr "Coreano" -#: lutris/runners/easyrpg.py:44 +#: lutris/runners/easyrpg.py:43 msgid "Chinese (Simplified)" msgstr "Chinês (Simplificado)" -#: lutris/runners/easyrpg.py:45 +#: lutris/runners/easyrpg.py:44 msgid "Chinese (Traditional)" msgstr "Chinês (Tradicional)" -#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:37 +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 msgid "Greek" msgstr "Grego" -#: lutris/runners/easyrpg.py:47 lutris/sysoptions.py:45 +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 msgid "Turkish" msgstr "Turco" -#: lutris/runners/easyrpg.py:48 +#: lutris/runners/easyrpg.py:47 msgid "Hebrew" msgstr "Hebraico" -#: lutris/runners/easyrpg.py:49 +#: lutris/runners/easyrpg.py:48 msgid "Arabic" msgstr "Árabe" -#: lutris/runners/easyrpg.py:50 +#: lutris/runners/easyrpg.py:49 msgid "Baltic" msgstr "Báltico" -#: lutris/runners/easyrpg.py:51 +#: lutris/runners/easyrpg.py:50 msgid "Thai" msgstr "Tailandês" -#: lutris/runners/easyrpg.py:59 lutris/runners/easyrpg.py:212 -#: lutris/runners/easyrpg.py:232 lutris/runners/easyrpg.py:250 +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 msgid "Engine" -msgstr "Motor" +msgstr "Engine" -#: lutris/runners/easyrpg.py:60 +#: lutris/runners/easyrpg.py:59 msgid "Disable auto detection of the simulated engine." -msgstr "Desabilite a detecção automática do motor simulado." +msgstr "Desabilite a detecção automática da engine simulada." -#: lutris/runners/easyrpg.py:63 +#: lutris/runners/easyrpg.py:62 msgid "RPG Maker 2000 engine (v1.00 - v1.10)" msgstr "RPG Maker 2000 engine (v1.00 - v1.10)" -#: lutris/runners/easyrpg.py:64 +#: lutris/runners/easyrpg.py:63 msgid "RPG Maker 2000 engine (v1.50 - v1.51)" msgstr "RPG Maker 2000 engine (v1.50 - v1.51)" -#: lutris/runners/easyrpg.py:65 +#: lutris/runners/easyrpg.py:64 msgid "RPG Maker 2000 (English release) engine" msgstr "RPG Maker 2000 (versão em Inglês) engine" -#: lutris/runners/easyrpg.py:66 +#: lutris/runners/easyrpg.py:65 msgid "RPG Maker 2003 engine (v1.00 - v1.04)" msgstr "RPG Maker 2003 engine (v1.00 - v1.04)" -#: lutris/runners/easyrpg.py:67 +#: lutris/runners/easyrpg.py:66 msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" msgstr "RPG Maker 2003 engine (v1.05 - v1.09a)" -#: lutris/runners/easyrpg.py:68 +#: lutris/runners/easyrpg.py:67 msgid "RPG Maker 2003 (English release) engine" msgstr "RPG Maker 2003 (versão em Inglês) engine" -#: lutris/runners/easyrpg.py:76 +#: lutris/runners/easyrpg.py:75 msgid "Patches" msgstr "Correções" -#: lutris/runners/easyrpg.py:78 +#: lutris/runners/easyrpg.py:77 msgid "" "Instead of autodetecting patches used by this game, force emulation of " "certain patches.\n" @@ -3906,19 +3869,19 @@ msgstr "" "Você pode fornecer vários patches ou usar 'nenhum' para desabilitar todos os " "patches da engine." -#: lutris/runners/easyrpg.py:93 lutris/runners/scummvm.py:276 +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 msgid "Language" msgstr "Idioma" -#: lutris/runners/easyrpg.py:94 +#: lutris/runners/easyrpg.py:93 msgid "Load the game translation in the language/LANG directory." msgstr "Carregue a tradução do jogo no diretório language/LANG." -#: lutris/runners/easyrpg.py:99 lutris/runners/zdoom.py:46 +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 msgid "Save path" msgstr "Salvar caminho" -#: lutris/runners/easyrpg.py:102 +#: lutris/runners/easyrpg.py:101 msgid "" "Instead of storing save files in the game directory they are stored in the " "specified path. The directory must exist." @@ -3926,19 +3889,19 @@ msgstr "" "Em vez de armazenar os arquivos salvos no diretório do jogo, eles são " "armazenados no caminho especificado. O diretório deve existir." -#: lutris/runners/easyrpg.py:109 +#: lutris/runners/easyrpg.py:108 msgid "New game" msgstr "Novo jogo" -#: lutris/runners/easyrpg.py:110 +#: lutris/runners/easyrpg.py:109 msgid "Skip the title scene and start a new game directly." msgstr "Pule a cena do título e comece um novo jogo diretamente." -#: lutris/runners/easyrpg.py:116 +#: lutris/runners/easyrpg.py:115 msgid "Load game ID" msgstr "Carregar ID do jogo" -#: lutris/runners/easyrpg.py:117 +#: lutris/runners/easyrpg.py:116 msgid "" "Skip the title scene and load SaveXX.lsd.\n" "Set to 0 to disable." @@ -3946,19 +3909,19 @@ msgstr "" "Ignore a cena do título e carregue SaveXX.lsd. Defina como '0' para " "desabilitar." -#: lutris/runners/easyrpg.py:126 +#: lutris/runners/easyrpg.py:125 msgid "Record input" msgstr "Gravar entrada" -#: lutris/runners/easyrpg.py:127 +#: lutris/runners/easyrpg.py:126 msgid "Records all button input to the specified log file." msgstr "Grava todas as entradas de botão no arquivo de log especificado." -#: lutris/runners/easyrpg.py:133 +#: lutris/runners/easyrpg.py:132 msgid "Replay input" msgstr "Reproduzir entrada" -#: lutris/runners/easyrpg.py:135 +#: lutris/runners/easyrpg.py:134 msgid "" "Replays button input from the specified log file, as generated by 'Record " "input'.\n" @@ -3971,33 +3934,33 @@ msgstr "" "salvo também forem o mesmo que era quando o log foi gravado, isso deve " "reproduzir uma run idêntica a aquela gravada." -#: lutris/runners/easyrpg.py:144 lutris/runners/easyrpg.py:153 -#: lutris/runners/easyrpg.py:162 lutris/runners/easyrpg.py:177 -#: lutris/runners/easyrpg.py:189 lutris/runners/easyrpg.py:201 +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 +#: lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 +#: lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 msgid "Debug" msgstr "Nível de depuração" -#: lutris/runners/easyrpg.py:145 +#: lutris/runners/easyrpg.py:144 msgid "Test play" msgstr "Test Play" -#: lutris/runners/easyrpg.py:146 +#: lutris/runners/easyrpg.py:145 msgid "Enable TestPlay (debug) mode." msgstr "Habilitar o modo TestPlay." -#: lutris/runners/easyrpg.py:154 +#: lutris/runners/easyrpg.py:153 msgid "Hide title" msgstr "Ocultar título" -#: lutris/runners/easyrpg.py:155 +#: lutris/runners/easyrpg.py:154 msgid "Hide the title background image and center the command menu." msgstr "Ocultar a imagem de fundo do título e centralizar o menu de comandos." -#: lutris/runners/easyrpg.py:163 +#: lutris/runners/easyrpg.py:162 msgid "Start map ID" msgstr "Iniciar ID do mapa" -#: lutris/runners/easyrpg.py:165 +#: lutris/runners/easyrpg.py:164 msgid "" "Overwrite the map used for new games and use MapXXXX.lmu instead.\n" "Set to 0 to disable.\n" @@ -4009,11 +3972,11 @@ msgstr "" "\n" "Incompatível com 'Carregar ID do jogo'." -#: lutris/runners/easyrpg.py:178 +#: lutris/runners/easyrpg.py:177 msgid "Start position" msgstr "Posição inicial" -#: lutris/runners/easyrpg.py:180 +#: lutris/runners/easyrpg.py:179 msgid "" "Overwrite the party start position and move the party to the specified " "position.\n" @@ -4026,11 +3989,11 @@ msgstr "" "\n" "Incompatível com 'Carregar ID do jogo'." -#: lutris/runners/easyrpg.py:190 +#: lutris/runners/easyrpg.py:189 msgid "Start party" msgstr "Iniciar Party" -#: lutris/runners/easyrpg.py:192 +#: lutris/runners/easyrpg.py:191 msgid "" "Overwrite the starting party members with the actors with the specified " "IDs.\n" @@ -4043,19 +4006,19 @@ msgstr "" "\n" "Incompatível com 'Carregar ID do jogo'." -#: lutris/runners/easyrpg.py:202 +#: lutris/runners/easyrpg.py:201 msgid "Battle test" msgstr "Teste de batalha" -#: lutris/runners/easyrpg.py:203 +#: lutris/runners/easyrpg.py:202 msgid "Start a battle test with the specified monster party." msgstr "Iniciar um teste de batalha com o monster party especificado." -#: lutris/runners/easyrpg.py:213 +#: lutris/runners/easyrpg.py:212 msgid "AutoBattle algorithm" msgstr "Algoritmo de batalha automática" -#: lutris/runners/easyrpg.py:215 +#: lutris/runners/easyrpg.py:214 msgid "" "Which AutoBattle algorithm to use.\n" "\n" @@ -4072,23 +4035,23 @@ msgstr "" "bugs.\n" "ATAQUE: Como RPG_RT+, mas apenas ataques físicos, sem habilidades." -#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 msgid "RPG_RT" msgstr "RPG_RT" -#: lutris/runners/easyrpg.py:223 lutris/runners/easyrpg.py:242 +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 msgid "RPG_RT+" msgstr "RPG_RT+" -#: lutris/runners/easyrpg.py:224 +#: lutris/runners/easyrpg.py:223 msgid "ATTACK" msgstr "ATTACK" -#: lutris/runners/easyrpg.py:233 +#: lutris/runners/easyrpg.py:232 msgid "EnemyAI algorithm" msgstr "Algoritmo EnemyAI" -#: lutris/runners/easyrpg.py:235 +#: lutris/runners/easyrpg.py:234 msgid "" "Which EnemyAI algorithm to use.\n" "\n" @@ -4103,11 +4066,11 @@ msgstr "" "RPG_RT+: O algoritmo padrão compatível com RPG_RT, com correções de " "bugs.\n" -#: lutris/runners/easyrpg.py:251 +#: lutris/runners/easyrpg.py:250 msgid "RNG seed" msgstr "seed de RNG" -#: lutris/runners/easyrpg.py:252 +#: lutris/runners/easyrpg.py:251 msgid "" "Seeds the random number generator.\n" "Use -1 to disable." @@ -4115,61 +4078,61 @@ msgstr "" "Semeia o gerador de números aleatórios.\n" "Use -1 para desabilitar." -#: lutris/runners/easyrpg.py:260 lutris/runners/easyrpg.py:268 -#: lutris/runners/easyrpg.py:278 lutris/runners/easyrpg.py:289 -#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:300 -#: lutris/runners/scummvm.py:308 lutris/runners/scummvm.py:315 -#: lutris/runners/scummvm.py:337 lutris/runners/scummvm.py:350 -#: lutris/runners/scummvm.py:372 lutris/runners/scummvm.py:380 -#: lutris/runners/scummvm.py:388 lutris/runners/scummvm.py:396 -#: lutris/runners/scummvm.py:403 lutris/runners/scummvm.py:411 -#: lutris/runners/scummvm.py:420 lutris/runners/scummvm.py:432 -#: lutris/sysoptions.py:346 +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 +#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 +#: lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 +#: lutris/runners/scummvm.py:336 lutris/runners/scummvm.py:349 +#: lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 +#: lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 +#: lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 msgid "Audio" msgstr "Áudio" -#: lutris/runners/easyrpg.py:261 +#: lutris/runners/easyrpg.py:260 msgid "Enable audio" msgstr "Habilitar áudio" -#: lutris/runners/easyrpg.py:262 +#: lutris/runners/easyrpg.py:261 msgid "Switch off to disable audio." msgstr "" "Desligue para desabilitar o áudio (caso você prefira sua própria música)." -#: lutris/runners/easyrpg.py:269 +#: lutris/runners/easyrpg.py:268 msgid "BGM volume" msgstr "Volume da música" -#: lutris/runners/easyrpg.py:270 +#: lutris/runners/easyrpg.py:269 msgid "Volume of the background music." msgstr "Volume da música de fundo." -#: lutris/runners/easyrpg.py:279 lutris/runners/scummvm.py:381 +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 msgid "SFX volume" msgstr "Volume SFX" -#: lutris/runners/easyrpg.py:280 +#: lutris/runners/easyrpg.py:279 msgid "Volume of the sound effects." msgstr "Volume dos efeitos sonoros." -#: lutris/runners/easyrpg.py:290 lutris/runners/scummvm.py:405 +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 msgid "Soundfont" msgstr "Soundfont" -#: lutris/runners/easyrpg.py:291 +#: lutris/runners/easyrpg.py:290 msgid "Soundfont in sf2 format to use when playing MIDI files." msgstr "Soundfont no formato sf2 para usar ao reproduzir arquivos MIDI." -#: lutris/runners/easyrpg.py:298 +#: lutris/runners/easyrpg.py:297 msgid "Start in fullscreen mode." msgstr "Iniciar no modo de tela cheia." -#: lutris/runners/easyrpg.py:306 +#: lutris/runners/easyrpg.py:305 msgid "Game resolution" msgstr "Resolução do jogo" -#: lutris/runners/easyrpg.py:308 +#: lutris/runners/easyrpg.py:307 msgid "" "Force a different game resolution.\n" "\n" @@ -4179,23 +4142,23 @@ msgstr "" "\n" "Isso é experimental e pode causar falhas ou quebrar jogos!" -#: lutris/runners/easyrpg.py:311 +#: lutris/runners/easyrpg.py:310 msgid "320×240 (4:3, Original)" msgstr "320×240 (4:3, Original)" -#: lutris/runners/easyrpg.py:312 +#: lutris/runners/easyrpg.py:311 msgid "416×240 (16:9, Widescreen)" msgstr "416×240 (16:9, Widescreen)" -#: lutris/runners/easyrpg.py:313 +#: lutris/runners/easyrpg.py:312 msgid "560×240 (21:9, Ultrawide)" msgstr "560×240 (21:9, Ultrawide)" -#: lutris/runners/easyrpg.py:321 +#: lutris/runners/easyrpg.py:320 msgid "Scaling" msgstr "Escala" -#: lutris/runners/easyrpg.py:323 +#: lutris/runners/easyrpg.py:322 msgid "" "How the video output is scaled.\n" "\n" @@ -4211,24 +4174,24 @@ msgstr "" "Bilinear: como Nearest, mas a saída é desfocada para evitar " "artefatos\n" -#: lutris/runners/easyrpg.py:329 +#: lutris/runners/easyrpg.py:328 msgid "Nearest" msgstr "Nearest" -#: lutris/runners/easyrpg.py:330 +#: lutris/runners/easyrpg.py:329 msgid "Integer" msgstr "Integer" -#: lutris/runners/easyrpg.py:331 +#: lutris/runners/easyrpg.py:330 msgid "Bilinear" msgstr "Bilinear" -#: lutris/runners/easyrpg.py:339 lutris/runners/redream.py:30 +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 #: lutris/runners/scummvm.py:229 msgid "Stretch" msgstr "Stretch" -#: lutris/runners/easyrpg.py:340 +#: lutris/runners/easyrpg.py:339 msgid "" "Ignore the aspect ratio and stretch video output to the entire width of the " "screen." @@ -4236,21 +4199,21 @@ msgstr "" "Ignore a proporção da tela e estique a saída de vídeo para toda a largura da " "tela." -#: lutris/runners/easyrpg.py:347 +#: lutris/runners/easyrpg.py:346 msgid "Enable VSync" msgstr "Habilitar VSync" -#: lutris/runners/easyrpg.py:348 +#: lutris/runners/easyrpg.py:347 msgid "Switch off to disable VSync and use the FPS limit." msgstr "" "Desligue para desabilitar o VSync e use o limite de FPS. O VSync pode ou não " "ser suportado em todas as plataformas." -#: lutris/runners/easyrpg.py:355 +#: lutris/runners/easyrpg.py:354 msgid "FPS limit" msgstr "Limite de FPS" -#: lutris/runners/easyrpg.py:357 +#: lutris/runners/easyrpg.py:356 msgid "" "Set a custom frames per second limit.\n" "If unspecified, the default is 60 FPS.\n" @@ -4260,40 +4223,40 @@ msgstr "" "Se não especificado, o padrão é 60 FPS.\n" "Defina como 0 para desabilitar o limitador de quadros." -#: lutris/runners/easyrpg.py:369 lutris/runners/wine.py:570 +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:563 msgid "Show FPS" msgstr "Exibir FPS" -#: lutris/runners/easyrpg.py:370 +#: lutris/runners/easyrpg.py:369 msgid "Enable frames per second counter." msgstr "Habilitar contador de quadros por segundo." -#: lutris/runners/easyrpg.py:373 +#: lutris/runners/easyrpg.py:372 msgid "Fullscreen & title bar" msgstr "Tela cheia e barra de título" -#: lutris/runners/easyrpg.py:374 +#: lutris/runners/easyrpg.py:373 msgid "Fullscreen, title bar & window" msgstr "Tela cheia, barra de título e janela" -#: lutris/runners/easyrpg.py:381 lutris/runners/easyrpg.py:389 -#: lutris/runners/easyrpg.py:396 lutris/runners/easyrpg.py:403 +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 msgid "Runtime Package" msgstr "Pacote Runtime" -#: lutris/runners/easyrpg.py:382 +#: lutris/runners/easyrpg.py:381 msgid "Enable RTP" msgstr "Habilitar RTP" -#: lutris/runners/easyrpg.py:383 +#: lutris/runners/easyrpg.py:382 msgid "Switch off to disable support for the Runtime Package (RTP)." msgstr "Desligue para desabilitar o suporte para o Runtime Package (RTP)." -#: lutris/runners/easyrpg.py:390 +#: lutris/runners/easyrpg.py:389 msgid "RPG2000 RTP location" msgstr "Localização do RPG2000 RTP" -#: lutris/runners/easyrpg.py:391 +#: lutris/runners/easyrpg.py:390 msgid "" "Full path to a directory containing an extracted RPG Maker 2000 Run-Time-" "Package (RTP)." @@ -4301,11 +4264,11 @@ msgstr "" "Caminho completo para um diretório contendo um RPG Maker 2000 Run-Time-" "Package (RTP) extraído." -#: lutris/runners/easyrpg.py:397 +#: lutris/runners/easyrpg.py:396 msgid "RPG2003 RTP location" msgstr "Localização do RPG2003 RTP" -#: lutris/runners/easyrpg.py:398 +#: lutris/runners/easyrpg.py:397 msgid "" "Full path to a directory containing an extracted RPG Maker 2003 Run-Time-" "Package (RTP)." @@ -4313,15 +4276,15 @@ msgstr "" "Caminho completo para um diretório contendo um RPG Maker 2003 Run-Time-" "Pacote (RTP) extraído." -#: lutris/runners/easyrpg.py:404 +#: lutris/runners/easyrpg.py:403 msgid "Fallback RTP location" msgstr "Localização RTP de fallback" -#: lutris/runners/easyrpg.py:405 +#: lutris/runners/easyrpg.py:404 msgid "Full path to a directory containing a combined RTP." msgstr "Caminho completo para um diretório que contém um RTP combinado." -#: lutris/runners/easyrpg.py:518 +#: lutris/runners/easyrpg.py:517 msgid "No game directory provided" msgstr "Nenhum diretório de jogo fornecido" @@ -4396,7 +4359,7 @@ msgstr "" "O diretório para executar o comando. Observe que este deve ser um diretório " "dentro do sandbox." -#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:414 +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 msgid "Environment variables" msgstr "Variáveis ​​de ambiente" @@ -4717,8 +4680,8 @@ msgstr "" "Substituir a quantidade de memória gráfica na placa gráfica. A opção 0 MB " "não é realmente válido, mas existe por motivos de interface do usuário." -#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:320 -#: lutris/sysoptions.py:328 lutris/sysoptions.py:337 +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 +#: lutris/sysoptions.py:324 lutris/sysoptions.py:333 msgid "CPU" msgstr "CPU" @@ -4995,15 +4958,23 @@ msgstr "Arquivo de configuração" msgid "Verbose logging" msgstr "Logging detalhado" -#: lutris/runners/libretro.py:153 +#: lutris/runners/libretro.py:150 msgid "The installer does not specify the libretro 'core' version." msgstr "Este instalador não especifica a versão 'núcleo' do libretro." -#: lutris/runners/libretro.py:290 +#: lutris/runners/libretro.py:246 +msgid "" +"The emulator files BIOS location must be configured in the Preferences " +"dialog." +msgstr "" +"O local dos arquivos BIOS do emulador deve ser configurado na caixa de " +"diálogo Preferências." + +#: lutris/runners/libretro.py:292 msgid "No core has been selected for this game" msgstr "Nenhum núcleo foi selecionado para este jogo" -#: lutris/runners/libretro.py:296 +#: lutris/runners/libretro.py:298 msgid "No game file specified" msgstr "Nenhum arquivo de jogo especificado" @@ -5011,7 +4982,7 @@ msgstr "Nenhum arquivo de jogo especificado" msgid "Runs native games" msgstr "Executa jogos nativos" -#: lutris/runners/linux.py:27 lutris/runners/wine.py:211 +#: lutris/runners/linux.py:27 lutris/runners/wine.py:209 msgid "Executable" msgstr "Executável" @@ -5021,7 +4992,7 @@ msgstr "O executável principal do jogo" #: lutris/runners/linux.py:33 lutris/runners/mame.py:126 #: lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 -#: lutris/runners/steam.py:99 lutris/runners/wine.py:217 +#: lutris/runners/steam.py:98 lutris/runners/wine.py:215 #: lutris/runners/zdoom.py:28 msgid "Arguments" msgstr "Argumentos" @@ -5031,19 +5002,19 @@ msgstr "Argumentos" msgid "Command line arguments used when launching the game" msgstr "Argumentos de linha de comando usados ao iniciar o jogo" -#: lutris/runners/linux.py:49 +#: lutris/runners/linux.py:47 msgid "Preload library" msgstr "Pré-carregar biblioteca" -#: lutris/runners/linux.py:51 +#: lutris/runners/linux.py:49 msgid "A library to load before running the game's executable." msgstr "Uma biblioteca para carregar antes de iniciar o executável do jogo." -#: lutris/runners/linux.py:56 +#: lutris/runners/linux.py:54 msgid "Add directory to LD_LIBRARY_PATH" msgstr "Adicionar diretório a LD_LIBRARY_PATH" -#: lutris/runners/linux.py:59 +#: lutris/runners/linux.py:57 msgid "" "A directory where libraries should be searched for first, before the " "standard set of directories; this is useful when debugging a new library or " @@ -5053,14 +5024,14 @@ msgstr "" "conjunto padrão de diretórios; isso é útil ao depurar uma nova biblioteca ou " "usar uma biblioteca fora do padrão para fins especiais." -#: lutris/runners/linux.py:141 +#: lutris/runners/linux.py:139 msgid "" "The runner could not find a command or exe to use for this configuration." msgstr "" "O executor não conseguiu encontrar um comando ou exe para usar nesta " "configuração." -#: lutris/runners/linux.py:164 +#: lutris/runners/linux.py:162 #, python-format msgid "The file %s is not executable" msgstr "O arquivo %s não é executável" @@ -5073,7 +5044,7 @@ msgstr "MAME" msgid "Arcade game emulator" msgstr "Emulador de jogos de arcade" -#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:69 +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 msgid "The emulated machine." msgstr "A máquina emulada." @@ -5189,7 +5160,7 @@ msgstr "Punch Tape 2" msgid "Print Out" msgstr "Imprimir" -#: lutris/runners/mame.py:138 lutris/runners/mame.py:147 +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 msgid "Autoboot" msgstr "Inicialização automática" @@ -5197,7 +5168,7 @@ msgstr "Inicialização automática" msgid "Autoboot command" msgstr "Comando de inicialização automática" -#: lutris/runners/mame.py:141 +#: lutris/runners/mame.py:140 msgid "" "Autotype this command when the system has started, an enter keypress is " "automatically added." @@ -5205,15 +5176,15 @@ msgstr "" "Digite este comando automaticamente quando o sistema for iniciado e uma " "tecla Enter será automaticamente adicionada." -#: lutris/runners/mame.py:148 +#: lutris/runners/mame.py:146 msgid "Delay before entering autoboot command" msgstr "Atraso antes de inserir o comando de inicialização automática" -#: lutris/runners/mame.py:158 +#: lutris/runners/mame.py:156 msgid "ROM/BIOS path" msgstr "caminho ROM/BIOS" -#: lutris/runners/mame.py:160 +#: lutris/runners/mame.py:158 msgid "" "Choose the folder containing ROMs and BIOS files.\n" "These files contain code from the original hardware necessary to the " @@ -5222,28 +5193,41 @@ msgstr "" "Escolha a pasta que contém ROMs e arquivos de BIOS.\n" "Esses arquivos contêm código do hardware original necessário para emulação." -#: lutris/runners/mame.py:176 +#: lutris/runners/mame.py:174 msgid "CRT effect ()" msgstr "Efeito CRT()" -#: lutris/runners/mame.py:177 +#: lutris/runners/mame.py:175 msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." msgstr "Aplica um efeito CRT à tela. Requer renderizador OpenGL." -#: lutris/runners/mame.py:184 +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 +#: lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "Depuração" + +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "Logging detalhado" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "exibe informações adicionais de diagnóstico." + +#: lutris/runners/mame.py:191 msgid "Video backend" msgstr "Back-end de vídeo" -#: lutris/runners/mame.py:190 lutris/runners/scummvm.py:187 +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 #: lutris/runners/vice.py:74 msgid "Software" msgstr "Software" -#: lutris/runners/mame.py:198 +#: lutris/runners/mame.py:205 msgid "Wait for VSync" msgstr "Aguardar por VSync" -#: lutris/runners/mame.py:200 +#: lutris/runners/mame.py:206 msgid "" "Enable waiting for the start of vblank before flipping screens; " "reduces tearing effects." @@ -5251,51 +5235,51 @@ msgstr "" "Ative a espera pelo início do vblank antes de virar as telas; reduz os " "efeitos de 'tearing'." -#: lutris/runners/mame.py:208 +#: lutris/runners/mame.py:213 msgid "Menu mode key" msgstr "Tecla do modo de menu" -#: lutris/runners/mame.py:210 +#: lutris/runners/mame.py:215 msgid "Scroll Lock" msgstr "Scroll Lock" -#: lutris/runners/mame.py:211 +#: lutris/runners/mame.py:216 msgid "Num Lock" msgstr "Num Lock" -#: lutris/runners/mame.py:212 +#: lutris/runners/mame.py:217 msgid "Caps Lock" msgstr "Caps Lock" -#: lutris/runners/mame.py:213 +#: lutris/runners/mame.py:218 msgid "Menu" msgstr "Menu" -#: lutris/runners/mame.py:214 +#: lutris/runners/mame.py:219 msgid "Right Control" msgstr "Control Direito" -#: lutris/runners/mame.py:215 +#: lutris/runners/mame.py:220 msgid "Left Control" msgstr "Control Esquerdo" -#: lutris/runners/mame.py:216 +#: lutris/runners/mame.py:221 msgid "Right Alt" msgstr "Alt Direito" -#: lutris/runners/mame.py:217 +#: lutris/runners/mame.py:222 msgid "Left Alt" msgstr "Alt Esquerdo" -#: lutris/runners/mame.py:218 +#: lutris/runners/mame.py:223 msgid "Right Super" msgstr "Super Direito" -#: lutris/runners/mame.py:219 +#: lutris/runners/mame.py:224 msgid "Left Super" msgstr "Super Esquerdo" -#: lutris/runners/mame.py:223 +#: lutris/runners/mame.py:228 msgid "" "Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: " "Scroll Lock)" @@ -5303,20 +5287,20 @@ msgstr "" "Tecla para alternar entre o modo de teclado completo e o modo de teclado " "parcial (padrão: Bloqueio de rolagem)" -#: lutris/runners/mame.py:236 lutris/runners/mame.py:283 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 msgid "Arcade" msgstr "Arcade" -#: lutris/runners/mame.py:236 lutris/runners/mame.py:282 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 msgid "Nintendo Game & Watch" msgstr "Nintendo Game & Watch" -#: lutris/runners/mame.py:329 +#: lutris/runners/mame.py:337 #, python-format msgid "No device is set for machine %s" msgstr "Nenhum dispositivo está definido para a máquina %s" -#: lutris/runners/mame.py:339 +#: lutris/runners/mame.py:347 #, python-format msgid "The path '%s' is not set. please set it in the options." msgstr "O caminho '%s' não está definido. por favor, defina-o nas opções." @@ -5445,7 +5429,7 @@ msgstr "WonderSwan" msgid "Virtual Boy" msgstr "Virtual Boy" -#: lutris/runners/mednafen.py:61 +#: lutris/runners/mednafen.py:60 msgid "" "The game data, commonly called a ROM image. \n" "Mednafen supports GZIP and ZIP compressed ROMs." @@ -5453,47 +5437,47 @@ msgstr "" "Os dados do jogo, comumente chamados de imagem ROM. \n" "Mednafen suporta ROMs compactadas GZIP e ZIP." -#: lutris/runners/mednafen.py:67 +#: lutris/runners/mednafen.py:65 msgid "Machine type" msgstr "Tipo de máquina" -#: lutris/runners/mednafen.py:78 +#: lutris/runners/mednafen.py:76 msgid "Aspect ratio" msgstr "Proporção da tela" -#: lutris/runners/mednafen.py:81 +#: lutris/runners/mednafen.py:79 msgid "Stretched" msgstr "Esticado" -#: lutris/runners/mednafen.py:82 lutris/runners/vice.py:66 +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 msgid "Preserve aspect ratio" msgstr "Preservar proporção" -#: lutris/runners/mednafen.py:83 +#: lutris/runners/mednafen.py:81 msgid "Integer scale" msgstr "Escala inteira" -#: lutris/runners/mednafen.py:84 +#: lutris/runners/mednafen.py:82 msgid "Multiple of 2 scale" msgstr "Múltiplo de 2 escalas" -#: lutris/runners/mednafen.py:92 +#: lutris/runners/mednafen.py:90 msgid "Video scaler" msgstr "Escala de vídeo" -#: lutris/runners/mednafen.py:116 +#: lutris/runners/mednafen.py:114 msgid "Sound device" msgstr "Dispositivo de som" -#: lutris/runners/mednafen.py:118 +#: lutris/runners/mednafen.py:116 msgid "Mednafen default" msgstr "Mednafen padrão" -#: lutris/runners/mednafen.py:119 +#: lutris/runners/mednafen.py:117 msgid "ALSA default" msgstr "ALSA padrão" -#: lutris/runners/mednafen.py:129 +#: lutris/runners/mednafen.py:127 msgid "Use default Mednafen controller configuration" msgstr "Usar a configuração padrão do controle Mednafen" @@ -5543,7 +5527,7 @@ msgstr "Phillips Videopac+" msgid "Brandt Jopac" msgstr "Brandt Jopac" -#: lutris/runners/o2em.py:38 lutris/runners/wine.py:527 +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:520 msgid "Disable" msgstr "Desabilitar" @@ -5659,11 +5643,11 @@ msgstr "Argumentos extras para o executável" #: lutris/runners/pico8.py:68 msgid "Engine (web only)" -msgstr "Motor (somente web)" +msgstr "Engine (somente web)" #: lutris/runners/pico8.py:70 msgid "Name of engine (will be downloaded) or local file path" -msgstr "Nome do mecanismo (será baixado) ou caminho do arquivo local" +msgstr "Nome da engine (será baixado) ou caminho do arquivo local" #: lutris/runners/redream.py:10 msgid "Redream" @@ -5830,19 +5814,19 @@ msgstr "Sony PlayStation 3" msgid "Path to EBOOT.BIN" msgstr "Caminho para EBOOT.BIN" -#: lutris/runners/runner.py:178 +#: lutris/runners/runner.py:172 msgid "Custom executable for the runner" msgstr "Executável personalizado para o runner" -#: lutris/runners/runner.py:185 +#: lutris/runners/runner.py:179 msgid "Side Panel" msgstr "Painel lateral" -#: lutris/runners/runner.py:188 +#: lutris/runners/runner.py:182 msgid "Visible in Side Panel" msgstr "Visível no painel lateral" -#: lutris/runners/runner.py:192 +#: lutris/runners/runner.py:186 msgid "" "Show this runner in the side panel if it is installed or available through " "Flatpak." @@ -5850,13 +5834,13 @@ msgstr "" "Mostre este runner no painel lateral se ele estiver instalado ou disponível " "através do Flatpak." -#: lutris/runners/runner.py:207 lutris/runners/runner.py:216 +#: lutris/runners/runner.py:201 lutris/runners/runner.py:210 #: lutris/runners/vice.py:115 lutris/util/system.py:261 #, python-format msgid "The executable '%s' could not be found." msgstr "O executável '%s' não pôde ser encontrado." -#: lutris/runners/runner.py:465 +#: lutris/runners/runner.py:462 msgid "" "The required runner is not installed.\n" "Do you wish to install it now?" @@ -5864,29 +5848,29 @@ msgstr "" "O runner necessário não está instalado.\n" "Você deseja instalá-lo agora?" -#: lutris/runners/runner.py:466 +#: lutris/runners/runner.py:463 msgid "Required runner unavailable" msgstr "Runner obrigatório indisponível" -#: lutris/runners/runner.py:521 +#: lutris/runners/runner.py:518 msgid "Failed to retrieve {} ({}) information" msgstr "Falha ao recuperar a informação {} ({})" -#: lutris/runners/runner.py:526 +#: lutris/runners/runner.py:523 #, python-format msgid "The '%s' version of the '%s' runner can't be downloaded." msgstr "A versão '%s' do runner '%s' não pode ser baixada." -#: lutris/runners/runner.py:529 +#: lutris/runners/runner.py:526 #, python-format msgid "The the '%s' runner can't be downloaded." msgstr "O runner '%s' não pode ser baixado." -#: lutris/runners/runner.py:558 +#: lutris/runners/runner.py:555 msgid "Failed to extract {}" msgstr "Falha ao extrair {}" -#: lutris/runners/runner.py:563 +#: lutris/runners/runner.py:560 msgid "Failed to extract {}: {}" msgstr "Falha ao extrair {}: {}" @@ -6129,7 +6113,7 @@ msgstr "" #: lutris/runners/scummvm.py:283 msgid "Engine speed" -msgstr "Velocidade do Motor" +msgstr "Velocidade da engine" #: lutris/runners/scummvm.py:285 msgid "" @@ -6139,54 +6123,54 @@ msgstr "" "Define o limite de quadros por segundo (0 - 100) para Grim Fandango ou " "Escape from Monkey Island (padrão: 60)." -#: lutris/runners/scummvm.py:293 +#: lutris/runners/scummvm.py:292 msgid "Talk speed" msgstr "Velocidade de fala" -#: lutris/runners/scummvm.py:294 +#: lutris/runners/scummvm.py:293 msgid "Sets talk speed for games (default: 60)" msgstr "Define a velocidade de fala para jogos (padrão: 60)" -#: lutris/runners/scummvm.py:301 +#: lutris/runners/scummvm.py:300 msgid "Music tempo" msgstr "Tempo da musica" -#: lutris/runners/scummvm.py:302 +#: lutris/runners/scummvm.py:301 msgid "Sets music tempo (in percent, 50-200) for SCUMM games (default: 100)" msgstr "" "Define o tempo da música (em porcentagem, 50-200) para jogos SCUMM (padrão: " "100)" -#: lutris/runners/scummvm.py:309 +#: lutris/runners/scummvm.py:308 msgid "Digital iMuse tempo" msgstr "Digital iMuse tempo" -#: lutris/runners/scummvm.py:310 +#: lutris/runners/scummvm.py:309 msgid "Sets internal Digital iMuse tempo (10 - 100) per second (default: 10)" msgstr "" "Define o tempo interno do Digital iMuse (10 - 100) por segundo (padrão: 10)" -#: lutris/runners/scummvm.py:316 +#: lutris/runners/scummvm.py:315 msgid "Music driver" msgstr "Driver de música" -#: lutris/runners/scummvm.py:332 +#: lutris/runners/scummvm.py:331 msgid "Specifies the device ScummVM uses to output audio." msgstr "Especifica o dispositivo que o ScummVM usa para emitir áudio." -#: lutris/runners/scummvm.py:338 +#: lutris/runners/scummvm.py:337 msgid "Output rate" msgstr "Taxa de saída" -#: lutris/runners/scummvm.py:345 +#: lutris/runners/scummvm.py:344 msgid "Selects output sample rate in Hz." msgstr "Seleciona a taxa de amostragem de saída em Hz." -#: lutris/runners/scummvm.py:351 +#: lutris/runners/scummvm.py:350 msgid "OPL driver" msgstr "Driver OPL" -#: lutris/runners/scummvm.py:364 +#: lutris/runners/scummvm.py:363 msgid "" "Chooses which emulator is used by ScummVM when the AdLib emulator is chosen " "as the Preferred device." @@ -6194,51 +6178,51 @@ msgstr "" "Escolhe qual emulador será usado pelo ScummVM quando o emulador AdLib for " "escolhido como o dispositivo preferencial." -#: lutris/runners/scummvm.py:373 +#: lutris/runners/scummvm.py:371 msgid "Music volume" msgstr "Volume da música" -#: lutris/runners/scummvm.py:374 +#: lutris/runners/scummvm.py:372 msgid "Sets the music volume, 0-255 (default: 192)" msgstr "Define o volume da música, 0-255 (padrão: 192)" -#: lutris/runners/scummvm.py:382 +#: lutris/runners/scummvm.py:380 msgid "Sets the sfx volume, 0-255 (default: 192)" msgstr "Define o volume sfx, 0-255 (padrão: 192)" -#: lutris/runners/scummvm.py:389 +#: lutris/runners/scummvm.py:387 msgid "Speech volume" msgstr "Volume de fala" -#: lutris/runners/scummvm.py:390 +#: lutris/runners/scummvm.py:388 msgid "Sets the speech volume, 0-255 (default: 192)" msgstr "Define o volume da fala, 0-255 (padrão: 192)" -#: lutris/runners/scummvm.py:397 +#: lutris/runners/scummvm.py:395 msgid "MIDI gain" msgstr "Ganho MIDI" -#: lutris/runners/scummvm.py:398 +#: lutris/runners/scummvm.py:396 msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" msgstr "Define o ganho para reprodução MIDI. 0-1000 (padrão: 100)" -#: lutris/runners/scummvm.py:406 +#: lutris/runners/scummvm.py:404 msgid "Specifies the path to a soundfont file." msgstr "Especifica o caminho para um arquivo soundfont." -#: lutris/runners/scummvm.py:412 +#: lutris/runners/scummvm.py:410 msgid "Mixed AdLib/MIDI mode" msgstr "Modo misto AdLib/MIDI" -#: lutris/runners/scummvm.py:415 +#: lutris/runners/scummvm.py:413 msgid "Combines MIDI music with AdLib sound effects." msgstr "Combina música MIDI com efeitos sonoros AdLib." -#: lutris/runners/scummvm.py:421 +#: lutris/runners/scummvm.py:419 msgid "True Roland MT-32" msgstr "Verdadeiro Roland MT-32" -#: lutris/runners/scummvm.py:425 +#: lutris/runners/scummvm.py:423 msgid "" "Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, " "CM-32L, CM-500 or other MT-32 device." @@ -6246,11 +6230,11 @@ msgstr "" "Informa ao ScummVM que o dispositivo MIDI é um dispositivo Roland MT-32, " "LAPC-I, CM-64, CM-32L, CM-500 ou outro MT-32." -#: lutris/runners/scummvm.py:433 +#: lutris/runners/scummvm.py:431 msgid "Enable Roland GS" msgstr "Ativar Roland GS" -#: lutris/runners/scummvm.py:437 +#: lutris/runners/scummvm.py:435 msgid "" "Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, " "such as an SC-55, SC-88 or SC-8820." @@ -6258,49 +6242,45 @@ msgstr "" "Informa ao ScummVM que o dispositivo MIDI é um dispositivo GS que tem um " "mapa MT-32, como um SC-55, SC-88 ou SC-8820." -#: lutris/runners/scummvm.py:445 +#: lutris/runners/scummvm.py:443 msgid "Use alternate intro" msgstr "Use uma introdução alternativa" -#: lutris/runners/scummvm.py:446 +#: lutris/runners/scummvm.py:444 msgid "Uses alternative intro for CD versions" msgstr "Usa introdução alternativa para versões de CD" -#: lutris/runners/scummvm.py:452 +#: lutris/runners/scummvm.py:450 msgid "Copy protection" msgstr "Proteção contra cópia" -#: lutris/runners/scummvm.py:453 +#: lutris/runners/scummvm.py:451 msgid "Enables copy protection" msgstr "Ativa a proteção contra cópia" -#: lutris/runners/scummvm.py:459 +#: lutris/runners/scummvm.py:457 msgid "Demo mode" msgstr "Modo demo" -#: lutris/runners/scummvm.py:460 +#: lutris/runners/scummvm.py:458 msgid "Starts demo mode of Maniac Mansion or The 7th Guest" msgstr "Inicia o modo de demonstração de Maniac Mansion ou The 7th Guest" -#: lutris/runners/scummvm.py:466 lutris/runners/scummvm.py:474 -msgid "Debugging" -msgstr "Depuração" - -#: lutris/runners/scummvm.py:467 +#: lutris/runners/scummvm.py:465 msgid "Debug level" msgstr "Nível de depuração" -#: lutris/runners/scummvm.py:468 +#: lutris/runners/scummvm.py:466 msgid "Sets debug verbosity level" msgstr "Define o nível de verbosidade de depuração" -#: lutris/runners/scummvm.py:475 +#: lutris/runners/scummvm.py:473 msgid "Debug flags" msgstr "Sinalizadores de depuração" -#: lutris/runners/scummvm.py:476 +#: lutris/runners/scummvm.py:474 msgid "Enables engine specific debug flags" -msgstr "Habilita sinalizadores de depuração específicos do motor" +msgstr "Habilita sinalizadores de depuração específicos da engine" #: lutris/runners/snes9x.py:18 msgid "Super Nintendo emulator" @@ -6353,30 +6333,30 @@ msgstr "" "Argumentos de linha de comando usados ao iniciar o jogo.\n" "Ignorado quando o modo Steam Big Picture está ativado." -#: lutris/runners/steam.py:57 +#: lutris/runners/steam.py:56 msgid "DRM free mode (Do not launch Steam)" msgstr "Modo DRM-free (não inicie a Steam)" -#: lutris/runners/steam.py:61 +#: lutris/runners/steam.py:60 msgid "" "Run the game directly without Steam, requires the game binary path to be set" msgstr "" "Execute o jogo diretamente sem a Steam, requer que o caminho do binário do " "jogo seja definido" -#: lutris/runners/steam.py:66 +#: lutris/runners/steam.py:65 msgid "Game binary path" msgstr "Caminho do binário do jogo" -#: lutris/runners/steam.py:68 +#: lutris/runners/steam.py:67 msgid "Path to the game executable (Required by DRM free mode)" msgstr "Caminho para o executável do jogo (Requerido pelo modo DRM-free)" -#: lutris/runners/steam.py:74 +#: lutris/runners/steam.py:73 msgid "Start Steam in Big Picture mode" msgstr "Iniciar a Steam no modo Big Picture" -#: lutris/runners/steam.py:78 +#: lutris/runners/steam.py:77 msgid "" "Launches Steam in Big Picture mode.\n" "Only works if Steam is not running or already running in Big Picture mode.\n" @@ -6387,11 +6367,11 @@ msgstr "" "Picture.\n" "Útil ao jogar com um Controle Steam." -#: lutris/runners/steam.py:86 +#: lutris/runners/steam.py:85 msgid "Start Steam with LSI" msgstr "Iniciar Steam com LSI" -#: lutris/runners/steam.py:90 +#: lutris/runners/steam.py:89 msgid "" "Launches steam with LSI patches enabled. Make sure Lutris Runtime is " "disabled and you have LSI installed. https://github.com/solus-project/linux-" @@ -6401,10 +6381,14 @@ msgstr "" "Runtime está desativado e você tem o LSI instalado. https://github.com/solus-" "project/linux-steam-integration" -#: lutris/runners/steam.py:101 +#: lutris/runners/steam.py:100 msgid "Extra command line arguments used when launching Steam" msgstr "Argumentos extras de linha de comando usados ao iniciar a Steam" +#: lutris/runners/steam.py:186 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "A instalação do Steam para Linux não é feita pelo Lutris." + #: lutris/runners/steam.py:188 msgid "" "Steam for Linux installation is not handled by Lutris.\n" @@ -6724,11 +6708,11 @@ msgstr "" "O arquivo %s não existe, \n" "verificar a configuração do jogo." -#: lutris/runners/wine.py:79 lutris/runners/wine.py:799 +#: lutris/runners/wine.py:78 lutris/runners/wine.py:775 msgid "Proton is not compatible with 32-bit prefixes." msgstr "O Proton não é compatível com prefixos de 32-bit." -#: lutris/runners/wine.py:93 +#: lutris/runners/wine.py:92 msgid "" "Warning Some Wine configuration options cannot be applied, if no " "prefix can be found." @@ -6736,7 +6720,7 @@ msgstr "" "Atenção Algumas opções de configuração do WIne não podem ser " "aplicadas se nenhum prefixo for encontrado." -#: lutris/runners/wine.py:100 +#: lutris/runners/wine.py:99 #, python-format msgid "" "Warning Your NVIDIA driver is outdated.\n" @@ -6747,7 +6731,7 @@ msgstr "" "Você está executando o driver %s que não suporta totalmente todos os " "recursos para jogos com Vulkan e DXVK." -#: lutris/runners/wine.py:113 +#: lutris/runners/wine.py:112 #, python-format msgid "" "Error Vulkan is not installed or is not supported by your system, %s " @@ -6756,7 +6740,7 @@ msgstr "" "Erro Vulkan não está instalado ou não é suportado pelo seu sistema, " "%s não está disponível." -#: lutris/runners/wine.py:129 +#: lutris/runners/wine.py:127 #, python-format msgid "" "Warning Lutris has detected that Vulkan API version %s is installed, " @@ -6765,7 +6749,7 @@ msgstr "" "Atenção Lutris detectou que a versão da API Vulkan %s está instalada, " "mas para usar a última versão do DXVK a versão %s é requerida." -#: lutris/runners/wine.py:137 +#: lutris/runners/wine.py:135 #, python-format msgid "" "Warning Lutris has detected that the best device available ('%s') " @@ -6775,7 +6759,7 @@ msgstr "" "suporta a API Vulkan %s, mas para usar a última versão do DXVK, %s é " "requerida." -#: lutris/runners/wine.py:153 +#: lutris/runners/wine.py:151 msgid "" "Warning Your limits are not set correctly. Please increase them as " "described here:\n" @@ -6787,69 +6771,69 @@ msgstr "" "HowToEsync.md'>How-to:-Esync (https://github.com/lutris/docs/blob/master/" "HowToEsync.md)" -#: lutris/runners/wine.py:164 +#: lutris/runners/wine.py:162 msgid "Warning Your kernel is not patched for fsync." msgstr "Atenção Seu kernel não tem o patch para fsync." -#: lutris/runners/wine.py:169 +#: lutris/runners/wine.py:167 msgid "Wine virtual desktop is no longer supported" msgstr "Área de trabalho virtual do Wine não é mais suportada" -#: lutris/runners/wine.py:175 +#: lutris/runners/wine.py:173 msgid "Virtual desktops cannot be enabled in Proton or GE Wine versions." msgstr "" "Áreas de trabalho virtuais não podem ser habilitadas nas versões GE do " "Proton/Wine." -#: lutris/runners/wine.py:180 +#: lutris/runners/wine.py:178 msgid "Custom (select executable below)" msgstr "Personalizado (selecione o executável abaixo)" -#: lutris/runners/wine.py:182 +#: lutris/runners/wine.py:180 msgid "WineHQ Devel ({})" msgstr "WineHQ Devel ({})" -#: lutris/runners/wine.py:183 +#: lutris/runners/wine.py:181 msgid "WineHQ Staging ({})" msgstr "WineHQ Staging ({})" -#: lutris/runners/wine.py:184 +#: lutris/runners/wine.py:182 msgid "Wine Development ({})" msgstr "Wine Development ({})" -#: lutris/runners/wine.py:185 +#: lutris/runners/wine.py:183 msgid "System ({})" msgstr "Sistema({})" -#: lutris/runners/wine.py:193 +#: lutris/runners/wine.py:191 msgid "GE-Proton (Latest)" msgstr "GE-Proton (mais recente)" -#: lutris/runners/wine.py:201 +#: lutris/runners/wine.py:199 msgid "Runs Windows games" msgstr "Executa jogos do Windows" -#: lutris/runners/wine.py:202 +#: lutris/runners/wine.py:200 msgid "Wine" msgstr "Wine" -#: lutris/runners/wine.py:203 +#: lutris/runners/wine.py:201 msgid "Windows" msgstr "Windows" -#: lutris/runners/wine.py:212 +#: lutris/runners/wine.py:210 msgid "The game's main EXE file" msgstr "Arquivo EXE principal do jogo" -#: lutris/runners/wine.py:218 +#: lutris/runners/wine.py:216 msgid "Windows command line arguments used when launching the game" msgstr "Argumentos de linha de comando do Windows usados ao iniciar o jogo" -#: lutris/runners/wine.py:234 +#: lutris/runners/wine.py:230 msgid "Wine prefix" msgstr "Prefixo do Wine" -#: lutris/runners/wine.py:237 +#: lutris/runners/wine.py:233 msgid "" "The prefix used by Wine.\n" "It's a directory containing a set of files and folders making up a confined " @@ -6859,27 +6843,27 @@ msgstr "" "É um diretório contendo um conjunto de arquivos e pastas que compõem um " "Ambiente Windows." -#: lutris/runners/wine.py:245 +#: lutris/runners/wine.py:241 msgid "Prefix architecture" msgstr "Arquitetura do prefixo" -#: lutris/runners/wine.py:246 +#: lutris/runners/wine.py:242 msgid "32-bit" msgstr "32-bit" -#: lutris/runners/wine.py:246 +#: lutris/runners/wine.py:242 msgid "64-bit" msgstr "64-bit" -#: lutris/runners/wine.py:248 +#: lutris/runners/wine.py:244 msgid "The architecture of the Windows environment" msgstr "A arquitetura do ambiente Windows" -#: lutris/runners/wine.py:253 +#: lutris/runners/wine.py:249 msgid "Integrate system files in the prefix" msgstr "Integre arquivos do sistema no prefixo" -#: lutris/runners/wine.py:257 +#: lutris/runners/wine.py:253 msgid "" "Place 'Documents', 'Pictures', and similar files in your home folder, " "instead of keeping them in the game's prefix. This includes some saved games." @@ -6887,11 +6871,11 @@ msgstr "" "Coloque 'Documentos', 'Imagens' e arquivos semelhantes em sua pasta pessoal, " "em vez de mantê-los no prefixo do jogo. Isso inclui alguns jogos salvos." -#: lutris/runners/wine.py:266 +#: lutris/runners/wine.py:262 msgid "Wine version" msgstr "Versão do Wine" -#: lutris/runners/wine.py:272 +#: lutris/runners/wine.py:268 msgid "" "The version of Wine used to launch the game.\n" "Using the last version is generally recommended, but some games work better " @@ -6901,11 +6885,11 @@ msgstr "" "Usar a última versão é geralmente recomendado, mas alguns jogos funcionam " "melhor em versões mais antigas." -#: lutris/runners/wine.py:279 +#: lutris/runners/wine.py:275 msgid "Custom Wine executable" msgstr "Executável do Wine personalizado" -#: lutris/runners/wine.py:282 +#: lutris/runners/wine.py:278 msgid "" "The Wine executable to be used if you have selected \"Custom\" as the Wine " "version." @@ -6913,23 +6897,23 @@ msgstr "" "O executável do Wine a ser usado se você selecionou \"Custom\" como versão " "do Wine." -#: lutris/runners/wine.py:286 +#: lutris/runners/wine.py:282 msgid "Use system winetricks" msgstr "Use winetricks do sistema" -#: lutris/runners/wine.py:290 +#: lutris/runners/wine.py:286 msgid "Switch on to use /usr/bin/winetricks for winetricks." msgstr "Ative para usar /usr/bin/winetricks para winetricks." -#: lutris/runners/wine.py:295 +#: lutris/runners/wine.py:291 msgid "Enable DXVK" msgstr "Habilitar DXVK" -#: lutris/runners/wine.py:300 +#: lutris/runners/wine.py:295 msgid "DXVK" msgstr "DXVK" -#: lutris/runners/wine.py:303 +#: lutris/runners/wine.py:298 msgid "" "Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 " "applications by translating their calls to Vulkan." @@ -6937,19 +6921,19 @@ msgstr "" "Use o DXVK para aumentar a compatibilidade e o desempenho em aplicativos " "Direct3D 11, 10 e 9traduzindo suas chamadas para o Vulkan." -#: lutris/runners/wine.py:311 +#: lutris/runners/wine.py:306 msgid "DXVK version" msgstr "Versão do DXVK" -#: lutris/runners/wine.py:324 +#: lutris/runners/wine.py:319 msgid "Enable VKD3D" msgstr "Habilitar o VKD3D" -#: lutris/runners/wine.py:327 +#: lutris/runners/wine.py:322 msgid "VKD3D" msgstr "VKD3D" -#: lutris/runners/wine.py:331 +#: lutris/runners/wine.py:325 msgid "" "Use VKD3D to enable support for Direct3D 12 applications by translating " "their calls to Vulkan." @@ -6957,15 +6941,15 @@ msgstr "" "Use VKD3D para habilitar o suporte para aplicativos Direct3D 12 traduzindo " "suas chamadas para Vulkan." -#: lutris/runners/wine.py:337 +#: lutris/runners/wine.py:330 msgid "VKD3D version" msgstr "Versão do VKD3D" -#: lutris/runners/wine.py:349 +#: lutris/runners/wine.py:342 msgid "Enable D3D Extras" msgstr "Habilitar Extras D3D" -#: lutris/runners/wine.py:355 +#: lutris/runners/wine.py:347 msgid "" "Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed " "for proper functionality of DXVK with some games." @@ -6974,32 +6958,32 @@ msgstr "" "alternativas.Necessário para a funcionalidade adequada do DXVK com alguns " "jogos." -#: lutris/runners/wine.py:362 +#: lutris/runners/wine.py:354 msgid "D3D Extras version" msgstr "Versão do D3D Extras" -#: lutris/runners/wine.py:373 +#: lutris/runners/wine.py:364 msgid "Enable DXVK-NVAPI / DLSS" msgstr "Habilitar DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:375 +#: lutris/runners/wine.py:366 msgid "DXVK-NVAPI / DLSS" msgstr "DXVK-NVAPI / DLSS" -#: lutris/runners/wine.py:379 +#: lutris/runners/wine.py:370 msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." msgstr "" "Ative a emulação do NVAPI da Nvidia e adicione suporte a DLSS, se disponível." -#: lutris/runners/wine.py:384 +#: lutris/runners/wine.py:375 msgid "DXVK NVAPI version" msgstr "Versão do DXVK NVAPI" -#: lutris/runners/wine.py:395 +#: lutris/runners/wine.py:386 msgid "Enable dgvoodoo2" msgstr "Habilitar dgvoodoo2" -#: lutris/runners/wine.py:400 +#: lutris/runners/wine.py:391 msgid "" "dgvoodoo2 is an alternative translation layer for rendering old games that " "utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended " @@ -7010,15 +6994,15 @@ msgstr "" "recomendado usá-lo em combinação com DXVK. Apenas aplicativos de 32 bits são " "suportados." -#: lutris/runners/wine.py:408 +#: lutris/runners/wine.py:399 msgid "dgvoodoo2 version" msgstr "Versão do dgvoodoo2" -#: lutris/runners/wine.py:417 +#: lutris/runners/wine.py:408 msgid "Enable Esync" msgstr "Habilitar Esync" -#: lutris/runners/wine.py:423 +#: lutris/runners/wine.py:414 msgid "" "Enable eventfd-based synchronization (esync). This will increase performance " "in applications that take advantage of multi-core processors." @@ -7026,11 +7010,11 @@ msgstr "" "Habilita a sincronização baseada em eventfd (esync). Isso aumentará o " "desempenho em aplicativos que tiram proveito de processadores multi-core." -#: lutris/runners/wine.py:430 +#: lutris/runners/wine.py:421 msgid "Enable Fsync" msgstr "Habilitar Fsync" -#: lutris/runners/wine.py:436 +#: lutris/runners/wine.py:427 msgid "" "Enable futex-based synchronization (fsync). This will increase performance " "in applications that take advantage of multi-core processors. Requires " @@ -7040,11 +7024,11 @@ msgstr "" "em aplicativos que tiram proveito de processadores multi-core. Requer um " "kernel personalizado com o patchset fsync." -#: lutris/runners/wine.py:444 +#: lutris/runners/wine.py:435 msgid "Enable AMD FidelityFX Super Resolution (FSR)" msgstr "Habilitar AMD FidelityFX Super Resolution (FSR)" -#: lutris/runners/wine.py:448 +#: lutris/runners/wine.py:439 msgid "" "Use FSR to upscale the game window to native resolution.\n" "Requires Lutris Wine FShack >= 6.13 and setting the game to a lower " @@ -7058,11 +7042,11 @@ msgstr "" "Não funciona com jogos rodando no modo de janela sem bordas ou que executam " "seu próprio upscaling." -#: lutris/runners/wine.py:455 +#: lutris/runners/wine.py:446 msgid "Enable BattlEye Anti-Cheat" msgstr "Habilitar BattlEye Anti-Cheat" -#: lutris/runners/wine.py:459 +#: lutris/runners/wine.py:450 msgid "" "Enable support for BattlEye Anti-Cheat in supported games\n" "Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" @@ -7071,11 +7055,11 @@ msgstr "" "Requer Lutris Wine 6.21-2 ou mais recente ou qualquer outra versão " "compatível do Wine.\n" -#: lutris/runners/wine.py:465 +#: lutris/runners/wine.py:456 msgid "Enable Easy Anti-Cheat" msgstr "Habilitar Easy Anti-Cheat" -#: lutris/runners/wine.py:469 +#: lutris/runners/wine.py:460 msgid "" "Enable support for Easy Anti-Cheat in supported games\n" "Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" @@ -7084,15 +7068,15 @@ msgstr "" "Requer Lutris Wine 7.2 e mais recente ou qualquer outra versão compatível do " "Wine.\n" -#: lutris/runners/wine.py:475 lutris/runners/wine.py:489 +#: lutris/runners/wine.py:466 lutris/runners/wine.py:481 msgid "Virtual Desktop" msgstr "Área de trabalho virtual" -#: lutris/runners/wine.py:476 +#: lutris/runners/wine.py:467 msgid "Windowed (virtual desktop)" msgstr "Janela (área de trabalho virtual)" -#: lutris/runners/wine.py:482 +#: lutris/runners/wine.py:474 msgid "" "Run the whole Windows desktop in a window.\n" "Otherwise, run it fullscreen.\n" @@ -7102,24 +7086,24 @@ msgstr "" "Caso contrário, execute-o em tela cheia.\n" "Isso corresponde à opção de área de trabalho virtual do Wine." -#: lutris/runners/wine.py:490 +#: lutris/runners/wine.py:482 msgid "Virtual desktop resolution" msgstr "Resolução de área de trabalho virtual" -#: lutris/runners/wine.py:495 +#: lutris/runners/wine.py:488 msgid "The size of the virtual desktop in pixels." msgstr "O tamanho da área de trabalho virtual em pixels." -#: lutris/runners/wine.py:499 lutris/runners/wine.py:511 -#: lutris/runners/wine.py:512 +#: lutris/runners/wine.py:492 lutris/runners/wine.py:504 +#: lutris/runners/wine.py:505 msgid "DPI" msgstr "DPI" -#: lutris/runners/wine.py:500 +#: lutris/runners/wine.py:493 msgid "Enable DPI Scaling" msgstr "Habilitar escala de DPI" -#: lutris/runners/wine.py:505 +#: lutris/runners/wine.py:498 msgid "" "Enables the Windows application's DPI scaling.\n" "Otherwise, the Screen Resolution option in 'Wine configuration' controls " @@ -7129,7 +7113,7 @@ msgstr "" "Caso contrário, desativa o dimensionamento de DPI, usando DPI de 96.\n" "Isso corresponde à opção de resolução de tela do Wine." -#: lutris/runners/wine.py:517 +#: lutris/runners/wine.py:510 msgid "" "The DPI to be used if 'Enable DPI Scaling' is turned on.\n" "If blank or 'auto', Lutris will auto-detect this." @@ -7137,19 +7121,19 @@ msgstr "" "O DPI a ser usado se 'Habilitar escala de DPI' estiver ativado.\n" "Se estiver em branco ou 'auto', o Lutris detectará isso automaticamente." -#: lutris/runners/wine.py:523 +#: lutris/runners/wine.py:516 msgid "Mouse Warp Override" msgstr "Sobreposição de Distorção do Mouse" -#: lutris/runners/wine.py:526 +#: lutris/runners/wine.py:519 msgid "Enable" msgstr "Habilitar" -#: lutris/runners/wine.py:528 +#: lutris/runners/wine.py:521 msgid "Force" msgstr "Force" -#: lutris/runners/wine.py:533 +#: lutris/runners/wine.py:526 msgid "" "Override the default mouse pointer warping behavior\n" "Enable: (Wine default) warp the pointer when the mouse is exclusively " @@ -7163,11 +7147,11 @@ msgstr "" "Desabilitar: nunca distorcer o ponteiro do mouse \n" "Forçar: sempre distorcer o ponteiro" -#: lutris/runners/wine.py:542 +#: lutris/runners/wine.py:535 msgid "Audio driver" msgstr "Driver de áudio" -#: lutris/runners/wine.py:553 +#: lutris/runners/wine.py:546 msgid "" "Which audio backend to use.\n" "By default, Wine automatically picks the right one for your system." @@ -7175,40 +7159,40 @@ msgstr "" "Qual back-end de áudio usar.\n" "Por padrão, o Wine escolhe automaticamente o certo para o seu sistema." -#: lutris/runners/wine.py:559 +#: lutris/runners/wine.py:552 msgid "DLL overrides" msgstr "Substituições de DLL" -#: lutris/runners/wine.py:560 +#: lutris/runners/wine.py:553 msgid "Sets WINEDLLOVERRIDES when launching the game." msgstr "Define WINEDLLOVERRIDES ao iniciar o jogo." -#: lutris/runners/wine.py:564 +#: lutris/runners/wine.py:557 msgid "Output debugging info" msgstr "Informações de depuração de saída" -#: lutris/runners/wine.py:569 +#: lutris/runners/wine.py:562 msgid "Inherit from environment" msgstr "Usar do ambiente" -#: lutris/runners/wine.py:571 +#: lutris/runners/wine.py:564 msgid "Full (CAUTION: Will cause MASSIVE slowdown)" msgstr "Completo (CUIDADO: causará lentidão MASSIVA)" -#: lutris/runners/wine.py:574 +#: lutris/runners/wine.py:567 msgid "Output debugging information in the game log (might affect performance)" msgstr "" "Saída de informações de depuração no log do jogo (pode afetar o desempenho)" -#: lutris/runners/wine.py:578 +#: lutris/runners/wine.py:571 msgid "Show crash dialogs" msgstr "Mostrar caixas de diálogo de falha" -#: lutris/runners/wine.py:586 +#: lutris/runners/wine.py:579 msgid "Autoconfigure joypads" msgstr "Autoconfigurar controles" -#: lutris/runners/wine.py:589 +#: lutris/runners/wine.py:582 msgid "" "Automatically disables one of Wine's detected joypad to avoid having 2 " "controllers detected" @@ -7216,71 +7200,53 @@ msgstr "" "Desativa automaticamente um dos controles detectados pelo Wine para evitar " "ter 2controladores detectados" -#: lutris/runners/wine.py:623 -msgid "" -"Warning Wine is not installed on your system\n" -"\n" -"Having Wine installed on your system guarantees that Wine builds from Lutris " -"will have all required dependencies.\n" -"Please follow the instructions given in the Lutris Wiki to install Wine." -msgstr "" -"Aviso Wine não está instalado no seu sistema\n" -"\n" -"Ter o Wine instalado em seu sistema garante que as builds do Wine do Lutris " -"terão todas as dependências necessárias.\n" -"\n" -"Por favor, siga as instruções fornecidas no Lutris Wiki para instalar o " -"Wine." - -#: lutris/runners/wine.py:635 +#: lutris/runners/wine.py:616 msgid "Run EXE inside Wine prefix" msgstr "Executar EXE dentro do prefixo Wine" -#: lutris/runners/wine.py:636 +#: lutris/runners/wine.py:617 msgid "Open Bash terminal" msgstr "Abrir terminal Bash" -#: lutris/runners/wine.py:637 +#: lutris/runners/wine.py:618 msgid "Open Wine console" msgstr "Abra o console do Wine" -#: lutris/runners/wine.py:639 +#: lutris/runners/wine.py:620 msgid "Wine configuration" msgstr "Configuração do Wine" -#: lutris/runners/wine.py:640 +#: lutris/runners/wine.py:621 msgid "Wine registry" msgstr "Registro do Wine" -#: lutris/runners/wine.py:641 +#: lutris/runners/wine.py:622 msgid "Wine Control Panel" msgstr "Painel de Controle do Wine" -#: lutris/runners/wine.py:642 +#: lutris/runners/wine.py:623 msgid "Wine Task Manager" msgstr "Gerenciador de Tarefas do Wine" -#: lutris/runners/wine.py:644 +#: lutris/runners/wine.py:625 msgid "Winetricks" msgstr "Winetricks" -#: lutris/runners/wine.py:774 lutris/runners/wine.py:780 +#: lutris/runners/wine.py:750 lutris/runners/wine.py:756 #, python-format msgid "The Wine executable at '%s' is missing." msgstr "O executável do Wine em '%s' está faltando." -#: lutris/runners/wine.py:838 +#: lutris/runners/wine.py:814 #, python-format msgid "The required game '%s' could not be found." msgstr "O jogo requerido '%s' não pôde ser encontrado." -#: lutris/runners/wine.py:871 +#: lutris/runners/wine.py:847 msgid "The runner configuration does not specify a Wine version." msgstr "A configuração do runner não especifica uma versão do Wine." -#: lutris/runners/wine.py:909 +#: lutris/runners/wine.py:885 msgid "Select an EXE or MSI file" msgstr "Selecione um arquivo EXE ou MSI" @@ -7306,12 +7272,12 @@ msgstr "Yuzu" #. http://zdoom.org/wiki/Command_line_parameters #: lutris/runners/zdoom.py:13 -msgid "ZDoom DOOM Game Engine" -msgstr "ZDoom DOOM Game Engine" +msgid "GZDoom Game Engine" +msgstr "GZDoom Game Engine" #: lutris/runners/zdoom.py:14 -msgid "ZDoom" -msgstr "ZDoom" +msgid "GZDoom" +msgstr "GZDoom" #: lutris/runners/zdoom.py:22 msgid "WAD file" @@ -7539,7 +7505,7 @@ msgid "No game found on Humble Bundle" msgstr "Nenhum jogo encontrado no Humble Bundle" #. According to their branding, "itch.io" is supposed to be all lowercase -#: lutris/services/itchio.py:95 +#: lutris/services/itchio.py:81 msgid "itch.io" msgstr "itch.io" @@ -7548,6 +7514,14 @@ msgstr "itch.io" msgid "Lutris has no installers for %s. Try using a different service instead." msgstr "Lutris não tem instaladores para %s. Tente usar um serviço diferente." +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Família Steam" + +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "Use para exibir todos os jogos da família Steam" + #: lutris/services/steam.py:98 msgid "" "Failed to load games. Check that your profile is set to public during the " @@ -7566,7 +7540,7 @@ msgid "" msgstr "" "Use apenas para jogos raros ou mods que exigem a versão Windows do Steam" -#: lutris/services/ubisoft.py:85 +#: lutris/services/ubisoft.py:79 msgid "Ubisoft Connect" msgstr "Ubisoft Connect" @@ -7623,7 +7597,7 @@ msgstr "Polonês" msgid "Russian" msgstr "Russo" -#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:514 +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 msgid "Off" msgstr "Desligado" @@ -7661,8 +7635,8 @@ msgstr "" "invés dos fornecidos." #: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 -#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:168 -#: lutris/sysoptions.py:183 lutris/sysoptions.py:199 +#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 +#: lutris/sysoptions.py:179 lutris/sysoptions.py:195 msgid "Display" msgstr "Tela" @@ -7713,22 +7687,20 @@ msgstr "" "execução, reduzindo a stutters e aumentando o desempenho" #: lutris/sysoptions.py:156 -msgid "Disable screen saver" -msgstr "Desabilitar protetor de tela" +msgid "Prevent sleep" +msgstr "Impedir suspensão" -#: lutris/sysoptions.py:162 -msgid "" -"Disable the screen saver while a game is running. Requires the screen " -"saver's functionality to be exposed over DBus." +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." msgstr "" -"Desabilite o protetor de tela enquanto um jogo estiver em execução. Requer " -"que a funcionalidade do protetor de tela seja exposta no DBus." +"Impede o sistema de entrar em modo suspensão enquanto um jogo está sendo " +"executado." -#: lutris/sysoptions.py:171 +#: lutris/sysoptions.py:167 msgid "SDL 1.2 Fullscreen Monitor" msgstr "Monitor de tela cheia SDL 1.2" -#: lutris/sysoptions.py:177 +#: lutris/sysoptions.py:173 msgid "" "Hint SDL 1.2 games to use a specific monitor when going fullscreen by " "setting the SDL_VIDEO_FULLSCREEN environment variable" @@ -7736,11 +7708,11 @@ msgstr "" "Instrui jogos SDL 1.2 a usar um monitor específico ao ir em tela cheia " "definindo a variável de ambiente SDL_VIDEO_FULLSCREEN" -#: lutris/sysoptions.py:186 +#: lutris/sysoptions.py:182 msgid "Turn off monitors except" msgstr "Desligue os monitores, exceto" -#: lutris/sysoptions.py:192 +#: lutris/sysoptions.py:188 msgid "" "Only keep the selected screen active while the game is running. \n" "This is useful if you have a dual-screen setup, and are \n" @@ -7751,19 +7723,19 @@ msgstr "" "Isso é útil se você tiver uma configuração de tela dupla e estiver \n" "tendo problemas de exibição ao executar um jogo em tela cheia." -#: lutris/sysoptions.py:202 +#: lutris/sysoptions.py:198 msgid "Switch resolution to" msgstr "Mudar resolução para" -#: lutris/sysoptions.py:207 +#: lutris/sysoptions.py:203 msgid "Switch to this screen resolution while the game is running." msgstr "Mude para esta resolução de tela enquanto o jogo está em execução." -#: lutris/sysoptions.py:213 +#: lutris/sysoptions.py:209 msgid "Enable Gamescope" msgstr "Habilitar Gamescope" -#: lutris/sysoptions.py:216 +#: lutris/sysoptions.py:212 msgid "" "Use gamescope to draw the game window isolated from your desktop.\n" "Toggle fullscreen: Super + F" @@ -7772,11 +7744,11 @@ msgstr "" "trabalho.\n" "Use Super+F para alternar para tela cheia" -#: lutris/sysoptions.py:222 +#: lutris/sysoptions.py:218 msgid "Enable HDR (Experimental)" msgstr "Habilitar HDR (Experimental)" -#: lutris/sysoptions.py:227 +#: lutris/sysoptions.py:223 msgid "" "Enable HDR for games that support it.\n" "Requires Plasma 6 and VK_hdr_layer." @@ -7784,11 +7756,11 @@ msgstr "" "Habilite HDR para jogos que o suportem. \n" "Requer Plasma 6 e VK_hdr_layer." -#: lutris/sysoptions.py:233 +#: lutris/sysoptions.py:229 msgid "Relative Mouse Mode" msgstr "Modo de mouse relativo" -#: lutris/sysoptions.py:239 +#: lutris/sysoptions.py:235 msgid "" "Always use relative mouse mode instead of flipping\n" "dependent on cursor visibility\n" @@ -7798,11 +7770,11 @@ msgstr "" "dependendo da visibilidade do cursor\n" "Pode ajudar em jogos em que a câmera do jogador está voltada para o chão" -#: lutris/sysoptions.py:248 +#: lutris/sysoptions.py:244 msgid "Output Resolution" msgstr "Resolução de saída" -#: lutris/sysoptions.py:254 +#: lutris/sysoptions.py:250 msgid "" "Set the resolution used by gamescope.\n" "Resizing the gamescope window will update these settings.\n" @@ -7814,11 +7786,11 @@ msgstr "" "\n" "Resoluções personalizadas: (largura) x (altura)" -#: lutris/sysoptions.py:264 +#: lutris/sysoptions.py:260 msgid "Game Resolution" msgstr "Resolução do jogo" -#: lutris/sysoptions.py:268 +#: lutris/sysoptions.py:264 msgid "" "Set the maximum resolution used by the game.\n" "\n" @@ -7828,19 +7800,19 @@ msgstr "" "\n" "Resoluções personalizadas: (largura) x (altura)" -#: lutris/sysoptions.py:273 +#: lutris/sysoptions.py:269 msgid "Window Mode" msgstr "Modo janela" -#: lutris/sysoptions.py:277 +#: lutris/sysoptions.py:273 msgid "Windowed" msgstr "Em janela" -#: lutris/sysoptions.py:278 +#: lutris/sysoptions.py:274 msgid "Borderless" msgstr "Janela sem bordas" -#: lutris/sysoptions.py:283 +#: lutris/sysoptions.py:279 msgid "" "Run gamescope in fullscreen, windowed or borderless mode\n" "Toggle fullscreen : Super + F" @@ -7848,11 +7820,11 @@ msgstr "" "Execute o gamescope em tela cheia, modo janela ou sem bordas\n" "Alternar tela cheia: Super + F" -#: lutris/sysoptions.py:288 +#: lutris/sysoptions.py:284 msgid "FSR Level" msgstr "Nível FSR" -#: lutris/sysoptions.py:294 +#: lutris/sysoptions.py:290 msgid "" "Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" "Upscaler sharpness from 0 (max) to 20 (min)." @@ -7860,21 +7832,21 @@ msgstr "" "Use AMD FidelityFX™ Super Resolution 1.0 para upscaling.\n" "Nitidez do upscaler de 0 (máx.) a 20 (mín.)." -#: lutris/sysoptions.py:300 +#: lutris/sysoptions.py:296 msgid "Framerate Limiter" msgstr "Limitador de taxa de quadros" -#: lutris/sysoptions.py:305 +#: lutris/sysoptions.py:301 msgid "Set a frame-rate limit for gamescope specified in frames per second." msgstr "" "Defina um limite de taxa de quadros para o gamescope especificado em quadros " "por segundo." -#: lutris/sysoptions.py:310 +#: lutris/sysoptions.py:306 msgid "Custom Settings" msgstr "Opções personalizadas" -#: lutris/sysoptions.py:316 +#: lutris/sysoptions.py:312 msgid "" "Set additional flags for gamescope (if available).\n" "See 'gamescope --help' for a full list of options." @@ -7882,19 +7854,19 @@ msgstr "" "Defina sinalizadores adicionais para gamescope (se disponível).\n" "Veja 'gamescope --help' para uma lista completa de opções." -#: lutris/sysoptions.py:323 +#: lutris/sysoptions.py:319 msgid "Restrict number of cores used" msgstr "Restringir numero de núcleos usados" -#: lutris/sysoptions.py:325 +#: lutris/sysoptions.py:321 msgid "Restrict the game to a maximum number of CPU cores." msgstr "Restrinja o jogo a um número máximo de núcleos de CPU." -#: lutris/sysoptions.py:331 +#: lutris/sysoptions.py:327 msgid "Restrict number of cores to" msgstr "Restringir a um único núcleo" -#: lutris/sysoptions.py:334 +#: lutris/sysoptions.py:330 msgid "" "Maximum number of CPU cores to be used, if 'Restrict number of cores used' " "is turned on." @@ -7902,21 +7874,21 @@ msgstr "" "Número máximo de núcleos de CPU a serem usados, se 'Restringir número de " "núcleos usados' estiver ativado." -#: lutris/sysoptions.py:342 +#: lutris/sysoptions.py:338 msgid "Enable Feral GameMode" msgstr "Habilitar o Feral GameMode" -#: lutris/sysoptions.py:343 +#: lutris/sysoptions.py:339 msgid "Request a set of optimisations be temporarily applied to the host OS" msgstr "" "Solicita que um conjunto de otimizações seja aplicado temporariamente ao " "sistema operacional host" -#: lutris/sysoptions.py:349 +#: lutris/sysoptions.py:345 msgid "Reduce PulseAudio latency" msgstr "Reduzir a latência do PulseAudio" -#: lutris/sysoptions.py:353 +#: lutris/sysoptions.py:349 msgid "" "Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " "on some games" @@ -7924,33 +7896,33 @@ msgstr "" "Defina a variável de ambiente PULSE_LATENCY_MSEC=60 para melhorar a " "qualidade do áudio em alguns jogos" -#: lutris/sysoptions.py:356 lutris/sysoptions.py:366 lutris/sysoptions.py:374 +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 msgid "Input" msgstr "Entrada" -#: lutris/sysoptions.py:359 +#: lutris/sysoptions.py:355 msgid "Switch to US keyboard layout" msgstr "Mudar para o layout de teclado dos EUA" -#: lutris/sysoptions.py:363 +#: lutris/sysoptions.py:359 msgid "Switch to US keyboard QWERTY layout while game is running" msgstr "" "Mudar para o layout QWERTY do teclado dos EUA enquanto o jogo está em " "execução" -#: lutris/sysoptions.py:369 +#: lutris/sysoptions.py:365 msgid "AntiMicroX Profile" msgstr "Perfil AntiMicroX" -#: lutris/sysoptions.py:371 +#: lutris/sysoptions.py:367 msgid "Path to an AntiMicroX profile file" msgstr "Caminho para um arquivo de perfil do AntiMicroX" -#: lutris/sysoptions.py:377 +#: lutris/sysoptions.py:373 msgid "SDL2 gamepad mapping" msgstr "Mapeamento do gamepad SDL2" -#: lutris/sysoptions.py:380 +#: lutris/sysoptions.py:376 msgid "" "SDL_GAMECONTROLLERCONFIG mapping string or path to a custom " "gamecontrollerdb.txt file containing mappings." @@ -7958,15 +7930,15 @@ msgstr "" "String de mapeamento SDL_GAMECONTROLLERCONFIG ou caminho para um " "gamecontrollerdb personalizado.arquivo txt contendo mapeamentos." -#: lutris/sysoptions.py:385 lutris/sysoptions.py:397 +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 msgid "Text based games" msgstr "Emulador de jogos baseado em texto" -#: lutris/sysoptions.py:387 +#: lutris/sysoptions.py:382 msgid "CLI mode" msgstr "Modo CLI" -#: lutris/sysoptions.py:392 +#: lutris/sysoptions.py:387 msgid "" "Enable a terminal for text-based games. Only useful for ASCII based games. " "May cause issues with graphical games." @@ -7974,11 +7946,11 @@ msgstr "" "Ative um terminal para jogos baseados em texto. Útil apenas para jogos " "baseados em ASCII.Pode causar problemas com jogos gráficos." -#: lutris/sysoptions.py:399 +#: lutris/sysoptions.py:394 msgid "Text based games emulator" msgstr "Emulador de jogos baseado em texto" -#: lutris/sysoptions.py:405 +#: lutris/sysoptions.py:400 msgid "" "The terminal emulator used with the CLI mode. Choose from the list of " "detected terminal apps or enter the terminal's command or path." @@ -7986,22 +7958,22 @@ msgstr "" "O emulador de terminal usado com o modo CLI. Escolha na lista de aplicativos " "de terminal detectados ou digite o comando ou caminho do terminal." -#: lutris/sysoptions.py:411 lutris/sysoptions.py:418 lutris/sysoptions.py:428 -#: lutris/sysoptions.py:436 lutris/sysoptions.py:444 lutris/sysoptions.py:452 -#: lutris/sysoptions.py:462 lutris/sysoptions.py:470 lutris/sysoptions.py:483 -#: lutris/sysoptions.py:497 +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 +#: lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 +#: lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 +#: lutris/sysoptions.py:492 msgid "Game execution" msgstr "Execução do jogo" -#: lutris/sysoptions.py:415 +#: lutris/sysoptions.py:410 msgid "Environment variables loaded at run time" msgstr "Variáveis de ambiente carregadas em tempo de execução" -#: lutris/sysoptions.py:421 +#: lutris/sysoptions.py:416 msgid "Locale" msgstr "Localidade" -#: lutris/sysoptions.py:425 +#: lutris/sysoptions.py:420 msgid "" "Can be used to force certain locale for an app. Fixes encoding issues in " "legacy software." @@ -8009,55 +7981,55 @@ msgstr "" "Pode ser usado para forçar certa localidade para um aplicativo. Corrige " "problemas de codificação em software legado." -#: lutris/sysoptions.py:431 +#: lutris/sysoptions.py:426 msgid "Command prefix" msgstr "Prefixo de comando" -#: lutris/sysoptions.py:433 +#: lutris/sysoptions.py:428 msgid "" "Command line instructions to add in front of the game's execution command." msgstr "" "Instruções de linha de comando para adicionar na frente do comando de " "execução do jogo." -#: lutris/sysoptions.py:439 +#: lutris/sysoptions.py:434 msgid "Manual script" msgstr "Script manual" -#: lutris/sysoptions.py:441 +#: lutris/sysoptions.py:436 msgid "Script to execute from the game's contextual menu" msgstr "Script para executar a partir do menu contextual do jogo" -#: lutris/sysoptions.py:447 +#: lutris/sysoptions.py:442 msgid "Pre-launch script" msgstr "Script de pré-inicialização" -#: lutris/sysoptions.py:449 +#: lutris/sysoptions.py:444 msgid "Script to execute before the game starts" msgstr "Script para executar antes do jogo começar" -#: lutris/sysoptions.py:455 +#: lutris/sysoptions.py:450 msgid "Wait for pre-launch script completion" msgstr "Aguardar a conclusão do script de pré-inicialização" -#: lutris/sysoptions.py:459 +#: lutris/sysoptions.py:454 msgid "Run the game only once the pre-launch script has exited" msgstr "" "Execute o jogo apenas quando o script de pré-inicialização for encerrado" -#: lutris/sysoptions.py:465 +#: lutris/sysoptions.py:460 msgid "Post-exit script" msgstr "Script pós-saída" -#: lutris/sysoptions.py:467 +#: lutris/sysoptions.py:462 msgid "Script to execute when the game exits" msgstr "Script para executar quando o jogo sair" -#: lutris/sysoptions.py:473 +#: lutris/sysoptions.py:468 msgid "Include processes" msgstr "Incluir processos" -#: lutris/sysoptions.py:476 +#: lutris/sysoptions.py:471 msgid "" "What processes to include in process monitoring. This is to override the " "built-in exclude list.\n" @@ -8069,11 +8041,11 @@ msgstr "" "Lista separada por espaços, processos incluindo espaços podem ser colocados " "entre aspas." -#: lutris/sysoptions.py:486 +#: lutris/sysoptions.py:481 msgid "Exclude processes" msgstr "Excluir processos" -#: lutris/sysoptions.py:489 +#: lutris/sysoptions.py:484 msgid "" "What processes to exclude in process monitoring. For example background " "processes that stick around after the game has been closed.\n" @@ -8085,11 +8057,11 @@ msgstr "" "Lista separada por espaços, processos incluindo espaços podem ser colocados " "entre aspas." -#: lutris/sysoptions.py:500 +#: lutris/sysoptions.py:495 msgid "Killswitch file" msgstr "Arquivo Killswitch" -#: lutris/sysoptions.py:503 +#: lutris/sysoptions.py:498 msgid "" "Path to a file which will stop the game when deleted \n" "(usually /dev/input/js0 to stop the game on joystick unplugging)" @@ -8097,44 +8069,44 @@ msgstr "" "Caminho para um arquivo que irá parar o jogo quando deletado \n" "(geralmente /dev/input/js0 para parar o jogo ao desconectar o controle)" -#: lutris/sysoptions.py:509 lutris/sysoptions.py:525 lutris/sysoptions.py:534 +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 msgid "Xephyr (Deprecated, use Gamescope)" msgstr "Xephyr (obsoleto, use Gamescope)" -#: lutris/sysoptions.py:511 +#: lutris/sysoptions.py:506 msgid "Use Xephyr" msgstr "Usar Xephyr" -#: lutris/sysoptions.py:515 +#: lutris/sysoptions.py:510 msgid "8BPP (256 colors)" msgstr "8BPP (256 cores)" -#: lutris/sysoptions.py:516 +#: lutris/sysoptions.py:511 msgid "16BPP (65536 colors)" msgstr "16BPP (65536 cores)" -#: lutris/sysoptions.py:517 +#: lutris/sysoptions.py:512 msgid "24BPP (16M colors)" msgstr "24BPP (16M cores)" -#: lutris/sysoptions.py:522 +#: lutris/sysoptions.py:517 msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" msgstr "" "Execute o programa no Xephyr para suportar os modos de cor 8BPP e 16BPP" -#: lutris/sysoptions.py:528 +#: lutris/sysoptions.py:523 msgid "Xephyr resolution" msgstr "Resolução Xephyr" -#: lutris/sysoptions.py:531 +#: lutris/sysoptions.py:526 msgid "Screen resolution of the Xephyr server" msgstr "Resolução de tela do servidor Xephyr" -#: lutris/sysoptions.py:537 +#: lutris/sysoptions.py:532 msgid "Xephyr Fullscreen" msgstr "Tela Cheia Xephyr" -#: lutris/sysoptions.py:541 +#: lutris/sysoptions.py:536 msgid "Open Xephyr in fullscreen (at the desktop resolution)" msgstr "Abra o Xephyr em tela cheia (na resolução da área de trabalho)" @@ -8142,6 +8114,10 @@ msgstr "Abra o Xephyr em tela cheia (na resolução da área de trabalho)" msgid "Flatpak is not installed" msgstr "Flatpak não está instalado" +#: lutris/util/linux.py:549 +msgid "No terminal emulator could be detected." +msgstr "Nenhum emulador de terminal foi detectado" + #: lutris/util/portals.py:83 #, python-format msgid "" @@ -8166,100 +8142,100 @@ msgstr "Nunca jogou" #. This function works out how many hours are meant by some #. number of some unit. -#: lutris/util/strings.py:199 lutris/util/strings.py:266 +#: lutris/util/strings.py:207 lutris/util/strings.py:272 msgid "hour" msgstr "hora" -#: lutris/util/strings.py:199 lutris/util/strings.py:266 +#: lutris/util/strings.py:207 lutris/util/strings.py:272 msgid "hours" msgstr "horas" -#: lutris/util/strings.py:203 lutris/util/strings.py:267 +#: lutris/util/strings.py:209 lutris/util/strings.py:273 msgid "minute" msgstr "minuto" -#: lutris/util/strings.py:203 lutris/util/strings.py:267 +#: lutris/util/strings.py:209 lutris/util/strings.py:273 msgid "minutes" msgstr "minutos" -#: lutris/util/strings.py:210 lutris/util/strings.py:295 +#: lutris/util/strings.py:216 lutris/util/strings.py:301 msgid "Less than a minute" msgstr "Menos de um minuto" -#: lutris/util/strings.py:268 +#: lutris/util/strings.py:274 msgid "day" msgstr "dia" -#: lutris/util/strings.py:268 +#: lutris/util/strings.py:274 msgid "days" msgstr "dias" -#: lutris/util/strings.py:269 +#: lutris/util/strings.py:275 msgid "week" msgstr "semana" -#: lutris/util/strings.py:269 +#: lutris/util/strings.py:275 msgid "weeks" msgstr "semanas" -#: lutris/util/strings.py:270 +#: lutris/util/strings.py:276 msgid "month" msgstr "mês" -#: lutris/util/strings.py:270 +#: lutris/util/strings.py:276 msgid "months" msgstr "meses" -#: lutris/util/strings.py:271 +#: lutris/util/strings.py:277 msgid "year" msgstr "ano" -#: lutris/util/strings.py:271 +#: lutris/util/strings.py:277 msgid "years" msgstr "anos" -#: lutris/util/strings.py:301 +#: lutris/util/strings.py:307 #, python-format msgid "'%s' is not a valid playtime." msgstr "'%s' não é um tempo de jogo válido." -#: lutris/util/strings.py:386 +#: lutris/util/strings.py:392 msgid "in the future" msgstr "no futuro" -#: lutris/util/strings.py:388 +#: lutris/util/strings.py:394 msgid "just now" msgstr "agora mesmo" -#: lutris/util/strings.py:397 +#: lutris/util/strings.py:403 #, python-format msgid "%d days" msgstr "%d dias" -#: lutris/util/strings.py:401 +#: lutris/util/strings.py:407 #, python-format msgid "%d hours" msgstr "%d horas" -#: lutris/util/strings.py:406 +#: lutris/util/strings.py:412 #, python-format msgid "%d minutes" msgstr "%d minutos" -#: lutris/util/strings.py:408 +#: lutris/util/strings.py:414 msgid "1 minute" msgstr "1 minuto" -#: lutris/util/strings.py:412 +#: lutris/util/strings.py:418 #, python-format msgid "%d seconds" msgstr "%d segundos" -#: lutris/util/strings.py:414 +#: lutris/util/strings.py:420 msgid "1 second" msgstr "1 segundo" -#: lutris/util/strings.py:416 +#: lutris/util/strings.py:422 msgid "ago" msgstr "atrás" @@ -8292,7 +8268,16 @@ msgstr "Projetos" msgid "Ubisoft authentication has been lost: %s" msgstr "A autenticação com a Ubisoft foi perdida: %s" -#: lutris/util/wine/dll_manager.py:99 +#: lutris/util/wine/dll_manager.py:102 +#, python-format +msgid "" +"The '%s' runtime component is not installed; visit the Updates tab in the " +"Preferences dialog to install it." +msgstr "" +"O componente de runtime '%s' não está instalado; visite a guia Atualizações " +"na caixa de diálogo Preferências para instalá-lo." + +#: lutris/util/wine/dll_manager.py:113 msgid "Manual" msgstr "Manual" @@ -8303,13 +8288,120 @@ msgstr "" "A versão '%s' do Proton não possui o executável wine e não pode ser " "utilizada." -#: lutris/util/wine/wine.py:159 +#: lutris/util/wine/wine.py:172 msgid "The Wine version must be specified." msgstr "A versão do Wine precisa ser especificada." -#: lutris/util/wine/wine.py:216 -msgid "No versions of Wine are installed." -msgstr "Nenhuma versão do Wine está instalada." +#~ msgid "Login" +#~ msgstr "Conecte-se" + +#~ msgid "Turn on Library Sync" +#~ msgstr "Ativar sincronização da biblioteca" + +#~ msgid "Wine update channel" +#~ msgstr "Canal de atualização do Wine" + +#~ msgid "" +#~ "Stable:\n" +#~ "Wine-GE updates are downloaded automatically and the latest version is " +#~ "always used unless overridden in the settings.\n" +#~ "\n" +#~ "This allows us to keep track of regressions more efficiently and provide " +#~ "fixes more reliably." +#~ msgstr "" +#~ "Estável:\n" +#~ "Atualizações do Wine-GE são baixadas automaticamente e a última versão é " +#~ "sempre usada exceto se for alterado nas configurações.\n" +#~ "\n" +#~ "Isso permite acompanhar as regressões com mais eficiecia e fornecer " +#~ "correções mais confiáveis." + +#~ msgid "" +#~ "Self-maintained:\n" +#~ "Wine updates are no longer delivered automatically and you have full " +#~ "responsibility of your Wine versions.\n" +#~ "\n" +#~ "Please note that this mode is fully unsupported. In order to " +#~ "submit issues on Github or ask for help on Discord, switch back to the " +#~ "Stable channel." +#~ msgstr "" +#~ "Manual:\n" +#~ "As atualizações do Wine não serão mais baixadas automaticamente e você " +#~ "tem a resposabilidade das suas versões do Wine.\n" +#~ "\n" +#~ "Por favor note que esse modo é totalmente não suportado. Em caso " +#~ "de envio de problemas para o Github ou pedido de ajuda no Discord, " +#~ "retorne para a opção de canal Estável." + +#~ msgid "" +#~ "No compatible Wine version could be identified. No updates are available." +#~ msgstr "" +#~ "Nenhuma versão compatível do Wine pode ser identificada. Nenhuma " +#~ "atualização está disponível." + +#~ msgid "Check Again" +#~ msgstr "Verificar novamente" + +#, python-format +#~ msgid "" +#~ "Your Wine version is up to date. Using: %s\n" +#~ "Last checked %s." +#~ msgstr "" +#~ "Sua versão do Wine é a mais atual. Usando: %s\n" +#~ "Ultima verificação %s." + +#, python-format +#~ msgid "" +#~ "You don't have any Wine version installed.\n" +#~ "We recommend %s" +#~ msgstr "" +#~ "Você não tem nenhuma versão do Wine instalada.\n" +#~ "Nós recomendamos %s" + +#, python-format +#~ msgid "Download %s" +#~ msgstr "Baixar %s" + +#, python-format +#~ msgid "You don't have the recommended Wine version: %s" +#~ msgstr "Você não tem a versão recomendada do Wine: %s" + +#~ msgid "" +#~ "Warning Wine is not installed on your system\n" +#~ "\n" +#~ "Having Wine installed on your system guarantees that Wine builds from " +#~ "Lutris will have all required dependencies.\n" +#~ "Please follow the instructions given in the Lutris Wiki to install " +#~ "Wine." +#~ msgstr "" +#~ "Aviso Wine não está instalado no seu sistema\n" +#~ "\n" +#~ "Ter o Wine instalado em seu sistema garante que as builds do Wine do " +#~ "Lutris terão todas as dependências necessárias.\n" +#~ "\n" +#~ "Por favor, siga as instruções fornecidas no Lutris Wiki para " +#~ "instalar o Wine." + +#~ msgid "Disable screen saver" +#~ msgstr "Desabilitar protetor de tela" + +#~ msgid "" +#~ "Disable the screen saver while a game is running. Requires the screen " +#~ "saver's functionality to be exposed over DBus." +#~ msgstr "" +#~ "Desabilite o protetor de tela enquanto um jogo estiver em execução. " +#~ "Requer que a funcionalidade do protetor de tela seja exposta no DBus." + +#~ msgid "No versions of Wine are installed." +#~ msgstr "Nenhuma versão do Wine está instalada." + +#~ msgid "Add Games" +#~ msgstr "Adicionar jogos" + +#~ msgid "Import a ROM that is known to Lutris" +#~ msgstr "Importe uma ROM que é conhecida pelo Lutris" #~ msgid "Sandbox" #~ msgstr "Sandbox" @@ -8394,9 +8486,6 @@ msgstr "Nenhuma versão do Wine está instalada." #~ msgid "Mass-import a folder of games" #~ msgstr "Importar múltiplos jogos de uma pasta" -#~ msgid "Folder to scan" -#~ msgstr "Selecione uma pasta para escanear" - #~ msgid "You must select a folder to scan for games." #~ msgstr "Selecione uma pasta para escanear" diff --git a/po/tr.po b/po/tr.po index 6053aa7b3e..58885c9588 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,52 +1,550 @@ msgid "" msgstr "" +"Project-Id-Version: lutris\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-04 23:57\n" -"PO-Revision-Date: 2023-08-10 02.14\n" -"Last-Translator: Bulut Güler , Batuhan Uysalar ve Halil Murat Ünay\n" -"Language-Team: Turkish\n" +"POT-Creation-Date: 2025-07-25 17:38+0300\n" +"PO-Revision-Date: 2025-08-01 00:10+0300\n" +"Last-Translator: Batuhan Uysalar \n" +"Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" - -#: share/applications/net.lutris.Lutris.desktop:3 -#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:77 -#: lutris/gui/widgets/status_icon.py:128 lutris/services/lutris.py:39 -#, fuzzy +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 25.04.3\n" + +#: share/applications/net.lutris.Lutris.desktop:2 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:13 +#: share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 +#: lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 +#: lutris/services/lutris.py:49 lutris/sysoptions.py:80 lutris/sysoptions.py:90 +#: lutris/sysoptions.py:102 msgid "Lutris" -msgstr "Lutris Hakkında" +msgstr "Lutris" #: share/applications/net.lutris.Lutris.desktop:4 msgid "Video Game Preservation Platform" -msgstr "Video Oyunu Depolama Platformu" +msgstr "Video Oyunu Dağıtım Platformu " #: share/applications/net.lutris.Lutris.desktop:6 msgid "gaming;wine;emulator;" -msgstr "oyun;wine;emülatör" +msgstr "oyun;wine;emülator" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:8 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:10 +msgid "Lutris Team" +msgstr "Lutris Ekibi" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:11 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:14 #: share/lutris/ui/about-dialog.ui:18 msgid "Video game preservation platform" -msgstr "Video oyunu depolama platformu" +msgstr "Video oyunu dağıtım platformu" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:14 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:17 msgid "Main window" -msgstr "Ana Pencere" +msgstr "Ana pencere" -#: share/metainfo/net.lutris.Lutris.metainfo.xml:18 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:21 msgid "" "Lutris helps you install and play video games from all eras and from most " "gaming systems. By leveraging and combining existing emulators, engine re-" "implementations and compatibility layers, it gives you a central interface " "to launch all your games." msgstr "" -"Lutris, tüm dönemlerden ve çoğu oyun sistemlerinden video oyunları kurmanıza" -"ve oynamanıza yardımcı olur. Mevcut emülatorlerinden, yeniden yaratılmış motorlardan ve" -"uyumluluk katmanlarından faydalanarak ve onları birleştirerek; tüm oyunlarınızı başlatmak için" +"Lutris, tüm dönemlerden ve çoğu oyun sistemlerinden video oyunları kurmanıza " +"ve oynamanıza yardımcı olur. Mevcut emülatorlerinden, yeniden yaratılmış motor" +"lardan ve" +"uyumluluk katmanlarından faydalanarak ve onları birleştirerek; tüm oyunlarınız" +"ı başlatmak için " "size merkezi bir arayüz sağlar." -#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:575 +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +msgid "" +"Lutris downloads the latest GE-Proton build for Wine if any Wine version is " +"installed" +msgstr "" +"Lutris, herhangi bir Wine sürümü " +"yüklüyse Wine için en son GE-Proton yapısını indirir" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +msgid "Use dark theme by default" +msgstr "Varsayılan karanlık tema kullan" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +msgid "Display cover-art rather than banners by default" +msgstr "Varsayılan olarak banner yerine kapak resmi gösterme" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +msgid "Add 'Uncategorized' view to sidebar" +msgstr "Kenar çubuğuna ‘Kategorize Edilmemiş’ görünümü ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +msgid "" +"Preference options that do not work on Wayland will be hidden when on Wayland" +msgstr "" +"Wayland üzerinde çalışmayan tercih seçenekleri Wayland üzerindeyken gizlenecek" +"tir" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +msgid "" +"Game searches can now use fancy tags like 'installed:yes' or 'source:gog', " +"with explanatory tool-tip" +msgstr "" +"Oyun aramaları artık 'installed:yes' veya 'source:gog' gibi süslü etiketler ku" +"llanabilir, " +"açıklayıcı araç ipucu ile" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +msgid "" +"A new filter button on the search box can build many of these fancy tags for " +"you" +msgstr "" +"Arama kutusundaki yeni bir filtre düğmesi, " +"için bu süslü etiketlerin çoğunu oluşturabilir" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +msgid "" +"Runner searches can use 'installed:yes' as well, but no other fancy searches " +"or anything" +msgstr "" +"Oynatıcı aramaları da 'installed:yes' kullanabilir, ancak başka süslü aramalar" +" " +"veya başka bir şey yok" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +msgid "" +"Updated the Flathub and Amazon source to new APIs, restoring integration" +msgstr "" +"Flathub ve Amazon kaynağı yeni API'lere güncellenerek entegrasyon yeniden sağl" +"andı" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +msgid "" +"Itch.io source integration will load a collection named 'Lutris' if present" +msgstr "" +"Itch.io kaynak entegrasyonu, mevcutsa ‘Lutris’ adlı bir koleksiyon yükleyecekt" +"ir" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +msgid "" +"GOG and Itch.io sources can now offer Linux and Windows installers for the " +"same game" +msgstr "" +"GOG ve Itch.io kaynakları artık " +"aynı oyun için Linux ve Windows yükleyicileri sunabiliyor" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +msgid "Added support for the 'foot' terminal" +msgstr "'Foot' terminali için destek eklendi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +msgid "Support for DirectX 8 in DXVK v2.4" +msgstr "DXVK v2.4'te DirectX 8 desteği" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +msgid "Support for Ayatana Application Indicators" +msgstr "Ayatana Uygulama Göstergeleri için Destek" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +msgid "Additional options for Ruffle runner" +msgstr "Ruffle runner için ek seçenekler" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +msgid "Updated download links for the Atari800 and MicroM8 runners" +msgstr "Atari800 ve MicroM8 koşucuları için güncellenmiş indirme bağlantıları" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +msgid "" +"No longer re-download cached installation files even when some are missing" +msgstr "" +"Bazıları eksik olsa bile önbelleğe alınmış kurulum dosyaları artık yeniden ind" +"irilmiyor" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +msgid "Lutris log is included in the 'System' tab of the Preferences window" +msgstr "Lutris günlüğü Tercihler penceresinin ‘Sistem’ sekmesinde yer alır" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +msgid "" +"Improved error reporting, with the Lutris log included in the error details" +msgstr "" +"Hata ayrıntılarına dahil edilen Lutris günlüğü ile geliştirilmiş hata raporlam" +"a" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +msgid "Add AppArmor profile for Ubuntu versions >= 23.10" +msgstr "Ubuntu sürümleri >= 23.10 için AppArmor profili ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 +msgid "Add Duckstation runner" +msgstr "Duckstation çalıştırıcısını ekle" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 +msgid "" +"Fix critical bug preventing completion of installs if the script specifies a " +"wine version" +msgstr "" +"Komut dosyası bir " +"wine sürümü belirtiyorsa yüklemelerin tamamlanmasını engelleyen kritik hatayı " +"düzeltin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +msgid "Fix critical bug preventing Steam library sync" +msgstr "Steam kütüphane senkronizasyonunu engelleyen kritik hata düzeltildi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +msgid "Fix critical bug preventing game or runner uninstall in Flatpak" +msgstr "" +"Flatpak'te oyun veya oynatıcıyı kaldırmayı engelleyen kritik hatayı düzeltin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +msgid "Support for library sync to lutris.net, this allows to sync games, play" +msgstr "" +"Kütüphane senkronizasyonu için lutris.net desteği, bu, oyunları senkronize etm" +"eye, oynamaya ve" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 +msgid "time and categories to multiple devices." +msgstr "zaman ve kategorileri birden fazla cihaza aktarın." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 +msgid "" +"Remove \"Lutris\" service view; with library sync the \"Games\" view " +"replaces it." +msgstr "" +"\"Lutris\" hizmet görünümünü kaldırın; kütüphane senkronizasyonu ile \"Oyunlar" +"\" görünümü " +"bunun yerini alır." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 +msgid "" +"Torturous and sadistic options for multi-GPUs that were half broken and " +"understood by no one have been replaced by a simple GPU selector." +msgstr "" +"Yarı bozuk ve " +"kimsenin anlamadığı çoklu GPU'lar için işkence ve sadist seçeneklerin yerini b" +"asit bir GPU seçici aldı." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 +msgid "" +"EXPERIMENTAL support for umu, which allows running games with Proton and" +msgstr "" +"Proton ile oyun çalıştırmaya izin veren umu için EXPERIMENTAL destek ve" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 +msgid "" +"Pressure Vessel. Using Proton in Lutris without umu is no longer possible." +msgstr "" +"Pressure Vessel. Lutris'te umu olmadan Proton kullanmak artık mümkün değildir." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 +msgid "" +"Better and sensible sorting for games (sorting by playtime or last played no " +"longer needs to be reversed)" +msgstr "" +"Oyunlar için daha iyi ve mantıklı sıralama (oynama süresine veya son oynanışa " +"göre sıralama " +"artık tersine çevrilmesi gerekmiyor)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +msgid "Support the \"Categories\" command when you select multiple games" +msgstr "Birden fazla oyun seçtiğinizde “Kategoriler” komutunu destekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +msgid "Notification bar when your Lutris is no longer supported" +msgstr "Lutris'iniz artık desteklenmediğinde bildirim çubuğu" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +msgid "Improved error dialog." +msgstr "Gelişmiş hata kutusu." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" +msgstr "Vita3k oynatıcısı ekleyin (teşekkürler @ItsAllAboutTheCode)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +msgid "Add Supermodel runner" +msgstr "Supermodel çalıştırıcısını ekle" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +msgid "WUA files are now supported in Cemu" +msgstr "WUA dosyaları artık Cemu'da destekleniyor" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +msgid "" +"\"Show Hidden Games\" now displays the hidden games in a separate view, and " +"re-hides them as soon as you leave it." +msgstr "" +"\"Gizli Oyunları Göster\" artık gizli oyunları ayrı bir görünümde gösteriyor v" +"e " +"adresinden ayrılır ayrılmaz yeniden gizliyor." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +msgid "Support transparent PNG files for custom banner and cover-art" +msgstr "Özel afiş ve kapak resmi için şeffaf PNG dosyalarını destekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +msgid "Images are now downloaded for manually added games." +msgstr "Elle eklenen oyunlar için görüntüler artık indiriliyor." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," +msgstr "" +"Kodun köküne yerleştirilen ‘exe’, ‘main_file’ veya ‘iso’ kullanımdan kaldırılı" +"r," + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +msgid "all lutris.net installers have been updated accordingly." +msgstr "tüm lutris.net yükleyicileri buna göre güncellenmiştir." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +msgid "Deprecate libstrangle and xgamma support." +msgstr "libstrangle ve xgamma desteğini kullanımdan kaldırın." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 +msgid "" +"Deprecate DXVK state cache feature (it was never used and is no longer " +"relevant to DXVK 2)" +msgstr "" +"DXVK durum önbelleği özelliğini kullanımdan kaldırın (hiç kullanılmadı ve artı" +"k " +"DXVK 2 ile ilgili değil)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +msgid "Fix bug that prevented installers to complete" +msgstr "Yükleyicilerin tamamlanmasını engelleyen hata düzeltildi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +msgid "Better handling of Steam configurations for the Steam account picker" +msgstr "Steam hesap seçicisi için Steam yapılandırmalarının daha iyi işlenmesi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 +msgid "Load game library in a background thread" +msgstr "Oyun kütüphanesini bir arka plan iş parçacığına yükleme" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 +msgid "" +"Fix some crashes happening when using Wayland and a high DPI gaming mouse" +msgstr "" +"Wayland ve yüksek DPI oyun faresi kullanırken meydana gelen bazı çökmeleri düz" +"eltin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +msgid "Fix crash when opening the system preferences tab for a game" +msgstr "" +"Bir oyun için sistem tercihleri sekmesi açıldığında oluşan çökme düzeltildi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +msgid "" +"Reduced the locales list to a predefined one (let us know if you need yours " +"added)" +msgstr "" +"Yereller listesi önceden tanımlanmış bir listeye indirildi (sizinkine ihtiyacı" +"nız varsa bize bildirin " +"eklendi)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +msgid "Fix Lutris not expanding \"~\" in paths" +msgstr "Lutris'in yollardaki “~” harflerini genişletmemesini düzeltme" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +msgid "Download runtime components from the main window," +msgstr "Ana pencereden çalışma zamanı komponentlerini indir" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +msgid "" +"the \"updating runtime\" dialog appearing before Lutris opens has been " +"removed" +msgstr "" +"Lutris açılmadan önce görünen \"çalışma zamanı güncelleniyor\" iletişim kutusu" +" " +"kaldırıldı" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +msgid "" +"Add the ability to open a location in your file browser from file picker " +"widgets" +msgstr "" +"Dosya seçiciden dosya tarayıcınızda bir konum açma özelliği ekleyin " +"widget'ları" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +msgid "" +"Add the ability to select, remove, or stop multiple games in the Lutris " +"window" +msgstr "" +"Lutris " +"penceresinde birden fazla oyun seçme, kaldırma veya durdurma özelliği ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +msgid "" +"Redesigned 'Uninstall Game' dialog now completely removes games by default" +msgstr "" +"Yeniden tasarlanan ‘Oyun Kaldır’ iletişim kutusu artık oyunları varsayılan ola" +"rak tamamen kaldırıyor" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +msgid "Fix the export / import feature" +msgstr "Dışa aktar / İçe kadar özelliklerini düzelt" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +msgid "Show an animation when a game is launched" +msgstr "Oyun başlatıldığında bir animasyon göster" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +msgid "" +"Add the ability to disable Wine auto-updates at the expense of losing support" +msgstr "" +"Desteği kaybetme pahasına Wine otomatik güncellemelerini devre dışı bırakma öz" +"elliği ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +msgid "Add playtime editing in the game preferences" +msgstr "Oyun tercihlerine oyun süresi düzenlemesi ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +msgid "" +"Move game files, runners to the trash instead of deleting them they are " +"uninstalled" +msgstr "" +"Birden fazla 2 ölçekOyun dosyalarını, oynatıcı silmek yerine çöp kutusuna taşı" +"yın " +"kaldırıldı" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +msgid "" +"Add \"Updates\" tab in Preferences control and check for updates and correct " +"missing media" +msgstr "" +"Tercihler kontrolüne \"Güncellemeler\" sekmesini ekleyin ve güncellemeleri kon" +"trol edin ve " +"eksik medyayı düzeltin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +msgid "in the 'Games' view." +msgstr "'Oyunlar' görünümünde" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +msgid "" +"Add \"Storage\" tab in Preferences to control game and installer cache " +"location" +msgstr "" +"Oyun ve yükleyici önbellek konumunu kontrol etmek için Tercihlere \"Depolama\"" +" sekmesi ekleyin " + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +msgid "" +"Expand \"System\" tab in Preferences with more system information but less " +"brown." +msgstr "" +"Tercihler'deki \"Sistem\" sekmesini daha fazla sistem bilgisi ancak daha az " +"kahverengi ile genişletin." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +msgid "Add \"Run Task Manager\" command for Wine games" +msgstr "Wine oyunları için “Görev Yöneticisini Çalıştır” komutunu ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +msgid "Add two new, smaller banner sizes for itch.io games." +msgstr "Itch.io oyunları için iki yeni, daha küçük banner boyutu ekleyin." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 +msgid "" +"Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" +msgstr "" +"Wine-GE/Proton kullanırken çökmeyi önlemek için Wine sanal masaüstü ayarını yo" +"k sayma" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 +msgid "Ignore MangoHUD setting when launching Steam to avoid crash" +msgstr "Çökmeyi önlemek için Steam'i başlatırken MangoHUD ayarını yoksay" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 +msgid "Sync Steam playtimes with the Lutris library" +msgstr "Steam oyun zamanlarını Lutris kütüphanesi ile senkronize edin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 +msgid "Add Steam account switcher to handle multiple Steam accounts" +msgstr "" +"Birden fazla Steam hesabını işlemek için Steam hesap değiştiricisi ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 +msgid "on the same device." +msgstr "aynı cihazda." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 +msgid "Add user defined tags / categories" +msgstr "Kullanıcı tanımlı etiketler / kategoriler ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 +msgid "Group every API calls for runtime updates in a single one" +msgstr "" +"Çalışma zamanı güncellemeleri için her API çağrısını tek bir API'de gruplayın" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 +msgid "Download appropriate DXVK and VKD3D versions based on" +msgstr "Aşağıdakilere göre uygun DXVK ve VKD3D sürümlerini indirin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 +msgid "the available GPU PCI IDs" +msgstr "GPU PCI ID'leri mevcut" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 +msgid "" +"EA App integration. Your Origin games and saves can be manually imported" +msgstr "" +"EA Uygulama entegrasyonu. Origin oyunlarınız ve kayıtlarınız manuel olarak içe" +" aktarılabilir" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 +msgid "from your Origin prefix." +msgstr "Senin Origin önekin." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 +msgid "Add integration with ScummVM local library" +msgstr "ScummVM yerel kütüphanesi ile entegrasyon ekleyin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 +msgid "Download Wine-GE updates when Lutris starts" +msgstr "Lutris başladığında Wine-GE güncellemelerini indirin" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 +msgid "Group GOG and Amazon download in a single progress bar" +msgstr "GOG ve Amazon indirmelerini tek bir ilerleme çubuğunda gruplama" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 +msgid "Fix blank login window on online services such as GOG or EGS" +msgstr "GOG veya EGS gibi çevrimiçi hizmetlerde boş giriş penceresini düzeltme" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 +msgid "Add a sort name field" +msgstr "Sıralanmış adı bölgeye ekle" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 +msgid "Yuzu and xemu now use an AppImage" +msgstr "Yuzu ve Xemu'yu AppImage olarak kullan" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 +msgid "Experimental support for Flatpak provided runners" +msgstr "Flatpak için deneysel destek sağlanan koşucular" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 +msgid "Header-bar search for configuration options" +msgstr "Yapılandırma seçenekleri için üstbilgi çubuğu araması" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 +msgid "Support for Gamescope 3.12" +msgstr "Gamescope 3.12 desteği" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 +msgid "Missing games show an additional badge" +msgstr "Eksik oyunlar ek bir rozet gösterir" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 +msgid "Add missing dependency on python3-gi-cairo for Debian packages" +msgstr "Debian paketleri için python3-gi-cairo'ya eksik bağımlılık ekleyin" + +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 msgid "About Lutris" msgstr "Lutris Hakkında" @@ -78,503 +576,576 @@ msgstr "" "olmalısınız. \n" "Aksi takdirde sayfasını ziyaret ediniz.\n" +#: share/lutris/ui/about-dialog.ui:34 lutris/settings.py:17 +msgid "The Lutris team" +msgstr "Lutris ekibi" + #: share/lutris/ui/dialog-lutris-login.ui:8 msgid "Connect to lutris.net" -msgstr "Lutris.net'e bağlan" +msgstr "lutris.net'e bağlan" #: share/lutris/ui/dialog-lutris-login.ui:26 msgid "Forgot password?" -msgstr "Şifrenizi mi unuttunuz?" +msgstr "Şifreni mi unuttun?" -#: share/lutris/ui/dialog-lutris-login.ui:43 lutris/gui/dialogs/issue.py:49 -#, fuzzy -msgid "Cancel" -msgstr "Vazgeç" +#: share/lutris/ui/dialog-lutris-login.ui:43 lutris/gui/dialogs/issue.py:51 +msgid "C_ancel" +msgstr "İ_ptal" #: share/lutris/ui/dialog-lutris-login.ui:57 msgid "_Connect" msgstr "_Bağlan" -#: share/lutris/ui/dialog-lutris-login.ui:95 +#: share/lutris/ui/dialog-lutris-login.ui:96 msgid "Password" msgstr "Şifre" -#: share/lutris/ui/dialog-lutris-login.ui:109 +#: share/lutris/ui/dialog-lutris-login.ui:110 msgid "Username" msgstr "Kullanıcı adı" #: share/lutris/ui/log-window.ui:36 msgid "Search..." -msgstr "Arama Yap..." +msgstr "Ara..." -#: share/lutris/ui/lutris-window.ui:147 lutris/gui/lutriswindow.py:484 +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "Metin boyutunu küçült" + +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "Metin boyutunu arttırın" + +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" +msgstr "" +"Giriş yapKütüphanendeki oyunları Lutris'e senkronize et" + +#: share/lutris/ui/lutris-window.ui:149 +msgid "" +"Lutris %s is no longer supported. Download %s here!" +msgstr "" +"Lutris artık %s desteklemiyor. Download %s here!" + +#: share/lutris/ui/lutris-window.ui:282 +msgid "" +"Enter the name of a game to search for, or use search terms:\n" +"\n" +"installed:true\t\t\tOnly installed games.\n" +"hidden:true\t\t\tOnly hidden games.\n" +"favorite:true\t\t\tOnly favorite games.\n" +"categorized:true\t\tOnly games in a category.\n" +"category:x\t\t\tOnly games in category x.\n" +"source:steam\t\t\tOnly Steam games\n" +"runner:wine\t\t\tOnly Wine games\n" +"platform:windows\tOnly Windows games\n" +"playtime:>2 hours\tOnly games played for more than 2 " +"hours.\n" +"lastplayed:<2 days\tOnly games played in the last 2 days.\n" +"directory:game/dir\tOnly games at the path." +msgstr "" +"Enter the name of a game to search for, or use search terms:\n" +"\n" +"yüklendi:true\t\t\tSadece yüklenen oyunlar.\n" +"gizlendi:true\t\t\tSadece gizlenmiş oyunlar.\n" +"favori:true\t\t\tSadece favori oyunlar.\n" +"kategorize edilmiş:true\t\tSadece bir kategorideki oyunlar.\n" +"kategori:x\t\t\tSadece kategorideki oyunlarx.\n" +"kaynak:steam\t\t\tSadece Steam oyunları\n" +"runner:wine\t\t\tSadece Wine oyunları\n" +"platform:windows\tSadece Windows oyunları\n" +"oynama zamanı:>2 saat\tSadece 2 saatten fazla oynanmış " +"oyunlar.\n" +"son oynama:<2 days\tSadece son 2 gündür oynanan oyunlar\n" +"dizin:game/dir\tSadece yoldaki oyunlar" + +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:808 msgid "Search games" -msgstr "Oyunları Ara" +msgstr "Oyun ara" -#: share/lutris/ui/lutris-window.ui:162 +#: share/lutris/ui/lutris-window.ui:346 msgid "Add Game" msgstr "Oyun Ekle" -#: share/lutris/ui/lutris-window.ui:194 +#: share/lutris/ui/lutris-window.ui:378 msgid "Toggle View" -msgstr "Görünümü Değiştir" +msgstr "Genişletilmiş Görünüm" -#: share/lutris/ui/lutris-window.ui:292 +#: share/lutris/ui/lutris-window.ui:476 msgid "Zoom " -msgstr "Yakınlaştır " +msgstr "Yaklaştır" + +#: share/lutris/ui/lutris-window.ui:518 +msgid "Sort Installed First" +msgstr "İlk Yüklenene Göre Sırala" -#: share/lutris/ui/lutris-window.ui:345 -msgid "Sort Ascending" -msgstr "Artan Sıralama" +#: share/lutris/ui/lutris-window.ui:532 +msgid "Reverse order" +msgstr "Tersine sırala" -#: share/lutris/ui/lutris-window.ui:360 lutris/gui/config/common.py:127 -#: lutris/gui/views/list.py:48 lutris/gui/views/list.py:172 +#: share/lutris/ui/lutris-window.ui:558 +#: lutris/gui/config/edit_category_games.py:35 +#: lutris/gui/config/edit_saved_search.py:47 +#: lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:65 +#: lutris/gui/views/list.py:215 msgid "Name" msgstr "İsim" -#: share/lutris/ui/lutris-window.ui:375 lutris/gui/views/list.py:49 +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:67 msgid "Year" msgstr "Yıl" -#: share/lutris/ui/lutris-window.ui:390 lutris/gui/views/list.py:52 +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:70 msgid "Last Played" -msgstr "Son Oynayış" +msgstr "Son Oynama" -#: share/lutris/ui/lutris-window.ui:405 lutris/gui/views/list.py:54 -#, fuzzy +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:72 msgid "Installed At" -msgstr "Oynatıcı Yükle" +msgstr "Buraya Yüklendi" -#: share/lutris/ui/lutris-window.ui:420 lutris/gui/views/list.py:56 +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:71 msgid "Play Time" -msgstr "Oyun Süresi" +msgstr "Oyun Zamanı" -#: share/lutris/ui/lutris-window.ui:449 +#: share/lutris/ui/lutris-window.ui:647 msgid "_Installed Games Only" -msgstr "_Yalnızca Kurulmuş Oyunlar" +msgstr "Sadece Yüklenmiş Oyunlar" -#: share/lutris/ui/lutris-window.ui:464 -msgid "Show _Hidden Games" -msgstr "_Gizli Oyunları Göster" - -#: share/lutris/ui/lutris-window.ui:479 +#: share/lutris/ui/lutris-window.ui:662 msgid "Show Side _Panel" -msgstr "Yan _Menüyü Göster" +msgstr "Kenar _Çubuğunu Göster" -#: share/lutris/ui/lutris-window.ui:494 -msgid "Add games" -msgstr "Oyun Ekle" +#: share/lutris/ui/lutris-window.ui:677 +msgid "Show _Hidden Games" +msgstr "_Gizli Oyunları Göster" -#: share/lutris/ui/lutris-window.ui:508 +#: share/lutris/ui/lutris-window.ui:698 msgid "Preferences" msgstr "Tercihler" -#: share/lutris/ui/lutris-window.ui:533 +#: share/lutris/ui/lutris-window.ui:723 msgid "Discord" msgstr "Discord" -#: share/lutris/ui/lutris-window.ui:547 +#: share/lutris/ui/lutris-window.ui:737 msgid "Lutris forums" msgstr "Lutris forumları" -#: share/lutris/ui/lutris-window.ui:561 +#: share/lutris/ui/lutris-window.ui:751 msgid "Make a donation" -msgstr "Bağışta bulunun" +msgstr "Bağış yap" + +#: share/lutris/ui/uninstall-dialog.ui:53 +msgid "Uninstalling games" +msgstr "Oyunlar kaldırılıyor" + +#: share/lutris/ui/uninstall-dialog.ui:92 +msgid "Delete All Files\t" +msgstr "Tüm Dosyaları Sil\t" + +#: share/lutris/ui/uninstall-dialog.ui:108 +msgid "Remove All Games from Library" +msgstr "Kütüphanedeki Tüm Oyunları Kaldır" + +#: share/lutris/ui/uninstall-dialog.ui:135 +msgid "Remove Games" +msgstr "Oyunları Kaldır" + +#: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 +#: lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 +#: lutris/gui/dialogs/__init__.py:172 lutris/gui/dialogs/runner_install.py:275 +#: lutris/gui/installerwindow.py:103 lutris/gui/installerwindow.py:1087 +#: lutris/gui/widgets/download_collection_progress_box.py:153 +#: lutris/gui/widgets/download_progress_box.py:116 +msgid "Cancel" +msgstr "İptal" + +#: share/lutris/ui/uninstall-dialog.ui:147 lutris/game_actions.py:198 +#: lutris/game_actions.py:254 +msgid "Remove" +msgstr "Kaldır" + +#: lutris/api.py:44 +msgid "never" +msgstr "asla" + +#: lutris/cache.py:84 +#, python-format +msgid "" +"The cache path '%s' does not exist, but its parent does so it will be " +"created when needed." +msgstr "" +"'%s' önbellek yolu mevcut değil, ancak üst öğesi mevcut, bu nedenle gerektiğin" +"de " +"oluşturulacaktır." + +#: lutris/cache.py:88 +#, python-format +msgid "" +"The cache path %s does not exist, nor does its parent, so it won't be " +"created." +msgstr "" +"Önbellek yolu %s mevcut değildir ve üst öğesi de mevcut değildir, bu nedenle " +"oluşturulmayacaktır." + +#: lutris/exceptions.py:36 +msgid "The directory {} could not be found" +msgstr "{} dizini bulunamadı" + +#: lutris/exceptions.py:50 +msgid "A bios file is required to run this game" +msgstr "Oyunu çalıştırmak için bios dosyası gerekli" -#: lutris/exceptions.py:26 +#: lutris/exceptions.py:63 #, python-brace-format msgid "" "The following {arch} libraries are required but are not installed on your " "system:\n" "{libs}" msgstr "" -"{arch} kitaplıkları gerekli ama sisteminizde kurulu değiller " -"system:\n" +"{arch} kütüphaneleri gerekli ama sisteminizde kurulu değiller " +"sistem:\n" "{libs}" -#: lutris/game.py:248 -msgid "Error the runner is not installed" -msgstr "Hata, oynatıcı kurulu değil" - -#: lutris/game.py:250 -msgid "A bios file is required to run this game" -msgstr "Bu oyunu çalıştırmak için bir bios dosyası gereklidir" - -#: lutris/game.py:254 +#: lutris/exceptions.py:87 lutris/exceptions.py:99 msgid "The file {} could not be found" msgstr "{} dosyası bulunamadı" -#: lutris/game.py:256 +#: lutris/exceptions.py:101 msgid "" "This game has no executable set. The install process didn't finish properly." msgstr "" -"Bu oyunun yürütülebilir tipi yok. Yükleme işlemi düzgün bir şekilde tamamlanamadı." +"Bu oyunun yürütülebilir dosyası yok. Yükleme işlemi düzgün tamamlanmadı." -#: lutris/game.py:259 -#, python-format -msgid "The file %s is not executable" -msgstr "%s dosyası çalıştırılabilir değil" - -#: lutris/game.py:261 -#, python-format -msgid "The path '%s' is not set. please set it in the options." -msgstr "'%s' ile belirtilen yol tanımlı değil. Lütfen ayarlardan tanımlı hale getirin." - -#: lutris/game.py:263 -#, python-format -msgid "Unhandled error: %s" -msgstr "Belirlenemeyen hata: %s" +#: lutris/exceptions.py:116 +msgid "Your ESYNC limits are not set correctly." +msgstr "ESYNC sınırlarınız doğru ayarlanmamış." -#: lutris/game.py:334 -#, fuzzy -msgid "Uninstall the game before deleting" -msgstr "Oyunu silmeden önce kaldırın (uninstall)" +#: lutris/exceptions.py:126 +msgid "" +"Your kernel is not patched for fsync. Please get a patched kernel to use " +"fsync." +msgstr "" +"Çekirdeğiniz fsync için yamalı değil. Lütfen " +"fsync kullanmak için yamalanmış bir çekirdek edinin." -#: lutris/game.py:406 -msgid "Tried to launch a game that isn't installed." -msgstr "Yüklü olmayan bir oyunu başlatmaya çalıştınız." +#: lutris/game_actions.py:190 lutris/game_actions.py:228 +#: lutris/gui/widgets/game_bar.py:217 +msgid "Stop" +msgstr "Dur" -#: lutris/game.py:408 lutris/game.py:511 -msgid "Invalid game configuration: Missing runner" -msgstr "Geçersiz oyun yapılandırması: Eksik oynatıcı." +#: lutris/game_actions.py:192 lutris/game_actions.py:233 +#: lutris/gui/config/edit_game_categories.py:18 +#: lutris/gui/config/edit_saved_search.py:72 lutris/gui/widgets/sidebar.py:400 +msgid "Categories" +msgstr "Kategoriler" -#: lutris/game.py:440 -msgid "Unable to find Xephyr, install it or disable the Xephyr option" -msgstr "Xephyr bulunamıyor, yüklenemiyor veya Xephyr seçeneği devre dışı bırakılamıyor" - -#: lutris/game.py:487 -#, python-format -msgid "" -"The selected terminal application could not be launched:\n" -"%s" -msgstr "" -"Seçilen terminal uygulaması başlatılamadı:\n" -"%s" +#: lutris/game_actions.py:193 lutris/game_actions.py:235 +msgid "Add to favorites" +msgstr "Favorilere ekle" -#: lutris/game.py:744 -msgid "Error lauching the game:\n" -msgstr "Oyunu başlatırken hata oluştu:\n" +#: lutris/game_actions.py:194 lutris/game_actions.py:236 +msgid "Remove from favorites" +msgstr "Favorilerden kaldır" -#: lutris/game.py:846 -#, python-format -msgid "" -"Error: Missing shared library.\n" -"\n" -"%s" -msgstr "" -"Hata: Paylaşılmış kitaplık eksik.\n" -"\n" -"%s" +#: lutris/game_actions.py:195 lutris/game_actions.py:237 +msgid "Hide game from library" +msgstr "Kütüphaneden oyunu gizle" -#: lutris/game.py:852 -msgid "" -"Error: A different Wine version is already using the same Wine prefix." -msgstr "" -"Hata: Başka bir Wine versiyonu hali hazırda aynı Wine ön ayarını kullanıyor." +#: lutris/game_actions.py:196 lutris/game_actions.py:238 +msgid "Unhide game from library" +msgstr "Kütüphanedeki oyunu göster" #. Local services don't show an install dialog, they can be launched directly -#: lutris/game_actions.py:61 lutris/gui/widgets/game_bar.py:201 -#: lutris/gui/widgets/game_bar.py:215 +#: lutris/game_actions.py:227 lutris/gui/widgets/game_bar.py:210 +#: lutris/gui/widgets/game_bar.py:227 msgid "Play" msgstr "Oyna" -#: lutris/game_actions.py:62 lutris/gui/widgets/game_bar.py:207 -msgid "Stop" -msgstr "Durdur" - -#: lutris/game_actions.py:63 lutris/gui/dialogs/runner_install.py:210 -#: lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:210 -#, fuzzy -msgid "Install" -msgstr "Yükle" - -#: lutris/game_actions.py:64 -#, fuzzy -msgid "Install updates" -msgstr "Güncellemeleri Yükle" +#: lutris/game_actions.py:229 +msgid "Execute script" +msgstr "Betiği yürüt" -#: lutris/game_actions.py:66 +#: lutris/game_actions.py:230 msgid "Show logs" msgstr "Kayıtları göster" -#: lutris/game_actions.py:67 -#, fuzzy -msgid "Add installed game" -msgstr "Kurulmuş oyunu ekle" - -#: lutris/game_actions.py:68 lutris/gui/widgets/sidebar.py:214 -#, fuzzy +#: lutris/game_actions.py:232 lutris/gui/widgets/sidebar.py:235 msgid "Configure" -msgstr "Düzenle" +msgstr "Ayarla" -#: lutris/game_actions.py:69 -msgid "Add to favorites" -msgstr "Favorilere ekle" +#: lutris/game_actions.py:234 +msgid "Browse files" +msgstr "Dosyalarda gezin" -#: lutris/game_actions.py:70 -#, fuzzy -msgid "Remove from favorites" -msgstr "Favorilerimden kaldır" +#: lutris/game_actions.py:240 lutris/game_actions.py:467 +#: lutris/gui/dialogs/runner_install.py:284 +#: lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:221 +msgid "Install" +msgstr "Yükle" -#: lutris/game_actions.py:71 -msgid "Execute script" -msgstr "Komutu çalıştır" +#: lutris/game_actions.py:241 +msgid "Install another version" +msgstr "Başka sürümünü yükle" -#: lutris/game_actions.py:72 -msgid "Update shader cache" -msgstr "Gölgelendirici önbelleğini güncelle" +#: lutris/game_actions.py:242 +msgid "Install DLCs" +msgstr "DLC'leri yükle" -#: lutris/game_actions.py:73 -msgid "Browse files" -msgstr "Dosyalara gözat" +#: lutris/game_actions.py:243 +msgid "Install updates" +msgstr "Güncellemeleri yükle" + +#: lutris/game_actions.py:244 lutris/game_actions.py:468 +#: lutris/gui/widgets/game_bar.py:197 +msgid "Locate installed game" +msgstr "Yüklü oyunu bul" -#: lutris/game_actions.py:76 lutris/gui/installerwindow.py:346 +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:461 msgid "Create desktop shortcut" msgstr "Masaüstü kısayolu oluştur" -#: lutris/game_actions.py:81 +#: lutris/game_actions.py:246 msgid "Delete desktop shortcut" -msgstr "Masaüstü kısayolunu kaldır" +msgstr "Masaüstü kısayolunu sil" -#: lutris/game_actions.py:86 lutris/gui/installerwindow.py:350 +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:468 msgid "Create application menu shortcut" msgstr "Uygulama menüsüne kısayol oluştur" -#: lutris/game_actions.py:91 +#: lutris/game_actions.py:248 msgid "Delete application menu shortcut" -msgstr "Uygulama menüsündeki kısayolu kaldır" +msgstr "Uygulama menüsündeki kısayolu sil" -#: lutris/game_actions.py:96 lutris/gui/installerwindow.py:355 -msgid "Create steam shortcut" +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:476 +msgid "Create Steam shortcut" msgstr "Steam kısayolu oluştur" -#: lutris/game_actions.py:101 -msgid "Delete steam shortcut" -msgstr "Steam kısayolunu kaldır" +#: lutris/game_actions.py:250 +msgid "Delete Steam shortcut" +msgstr "Steam kısayolunu sil" -#: lutris/game_actions.py:104 -msgid "Install another version" -msgstr "Farklı sürüm indir" - -#: lutris/game_actions.py:105 lutris/gui/dialogs/uninstall_game.py:113 -msgid "Remove" -msgstr "Sil" +#: lutris/game_actions.py:251 lutris/game_actions.py:469 +msgid "View on Lutris.net" +msgstr "Lutris.net'den bak" -#: lutris/game_actions.py:106 +#: lutris/game_actions.py:252 msgid "Duplicate" -msgstr "Kopyala" - -#: lutris/game_actions.py:107 -#, fuzzy -msgid "View on Lutris.net" -msgstr "Lutris.net'de bak" +msgstr "Çoğalt" -#: lutris/game_actions.py:108 -#, fuzzy -msgid "Hide game from library" -msgstr "Oyunu kütüphanede gizle" +#: lutris/game_actions.py:336 +msgid "This game has no installation directory" +msgstr "Bu oyunun kurulum dizini yok" -#: lutris/game_actions.py:109 -#, fuzzy -msgid "Unhide game from library" -msgstr "Oyunu kütühanede göster" +#: lutris/game_actions.py:340 +#, python-format +msgid "" +"Can't open %s \n" +"The folder doesn't exist." +msgstr "" +"%s açılmıyor\n" +"Dosya yok." -#: lutris/game_actions.py:228 +#: lutris/game_actions.py:390 #, python-format msgid "" "Do you wish to duplicate %s?\n" "The configuration will be duplicated, but the games files will not be " -"duplicated." +"duplicated.\n" +"Please enter the new name for the copy:" msgstr "" +"%s'yi çoğaltmak istiyor musunuz? \n" +"Yapılandırma çoğaltılacak, ancak oyun dosyaları " +"çoğaltılmayacak.\n" +"Lütfen kopya için yeni adı girin:" -#: lutris/game_actions.py:231 +#: lutris/game_actions.py:395 msgid "Duplicate game?" -msgstr "Oyunu kopyala?" +msgstr "Oyun çoğaltılsın mı?" -#: lutris/game_actions.py:292 -msgid "This game has no installation directory" -msgstr "Bu oyunun kurulum dizini yok" +#. use primary configuration +#: lutris/game_actions.py:446 +msgid "Select shortcut target" +msgstr "Kısayol hedefi seç" -#: lutris/game_actions.py:296 +#: lutris/game.py:321 lutris/game.py:508 +msgid "Invalid game configuration: Missing runner" +msgstr "Geçersiz oyun yapılandırması: Oynatıcı eksik" + +#: lutris/game.py:387 +msgid "No updates found" +msgstr "Güncelleme bulunamadı" + +#: lutris/game.py:406 +msgid "No DLC found" +msgstr "DLC bulunamadı" + +#: lutris/game.py:440 +msgid "Uninstall the game before deleting" +msgstr "Silmeden önce oyunu kaldırın" + +#: lutris/game.py:506 +msgid "Tried to launch a game that isn't installed." +msgstr "Yüklü olmayan bir oyunu başlatmaya çalıştım." + +#: lutris/game.py:540 +msgid "Unable to find Xephyr, install it or disable the Xephyr option" +msgstr "" +"Xephyr bulunamıyor. Ya indirin ya da Xephyr'i seçeneklerden devre dışı bırakın" + +#: lutris/game.py:556 +msgid "Unable to find Antimicrox, install it or disable the Antimicrox option" +msgstr "" +"Antimicrox bulunamıyor. Ya indirin ya da Antimicrox'u seçeneklerden devre dışı" +" bırakın" + +#: lutris/game.py:593 #, python-format msgid "" -"Can't open %s \n" -"The folder doesn't exist." +"The selected terminal application could not be launched:\n" +"%s" msgstr "" -"Açılmıyor %s \n" -"Dizin mevcut değil." +"Seçilen terminal uygulaması başlatılamadı:\n" +"%s" -#. use primary configuration -#: lutris/game_actions.py:335 -msgid "Select shortcut target" -msgstr "Hedef kısayolu seç" +#: lutris/game.py:896 +msgid "Error lauching the game:\n" +msgstr "Oyun başlatılırken hata oluştu:\n" + +#: lutris/game.py:1002 +#, python-format +msgid "" +"Error: Missing shared library.\n" +"\n" +"%s" +msgstr "" +"Hata: Paylaşılan nesne eksik.\n" +"\n" +"%s" + +#: lutris/game.py:1008 +msgid "" +"Error: A different Wine version is already using the same Wine prefix." +msgstr "" +"Hata: Farklı bir Wine sürümü zaten aynı Wine önekini kullanıyor." -#: lutris/gui/addgameswindow.py:28 +#: lutris/game.py:1026 +#, python-format +msgid "Lutris can't move '%s' to a location inside of itself, '%s'." +msgstr "" +"Lutris, ‘%s’ öğesini kendi içindeki bir konuma, ‘%s’ öğesine taşıyamıyor." + +#: lutris/gui/addgameswindow.py:24 msgid "Search the Lutris website for installers" msgstr "Yükleyiciler için Lutris web sitesinde arama yapın" -#: lutris/gui/addgameswindow.py:29 +#: lutris/gui/addgameswindow.py:25 msgid "Query our website for community installers" -msgstr "Topluluk yükleyicileri için web sitemizi sorgulayın" - -#: lutris/gui/addgameswindow.py:35 -msgid "Scan a folder for games" -msgstr "Oyunlar için bir klasör tarayın" +msgstr "Topluluk kurulumcuları için web sitemizde sorgulama yapın" -#: lutris/gui/addgameswindow.py:36 -msgid "Mass-import a folder of games" -msgstr "Bir oyun klasörünü toplu içe aktarma" - -#: lutris/gui/addgameswindow.py:42 +#: lutris/gui/addgameswindow.py:31 msgid "Install a Windows game from an executable" -msgstr "Bir yürütülebilir dosyadan bir Windows oyunu yükleyin" +msgstr "Bir çalıştırılabilir dosyadan Windows oyunu yükleme" -#: lutris/gui/addgameswindow.py:43 +#: lutris/gui/addgameswindow.py:32 msgid "Launch a Windows executable (.exe) installer" -msgstr "Bir Windows yürütülebilir dosyasını başlatın (.exe) yükleyici" +msgstr "Bir Windows yürütülebilir (.exe) yükleyicisi başlatın" -#: lutris/gui/addgameswindow.py:49 +#: lutris/gui/addgameswindow.py:38 msgid "Install from a local install script" -msgstr "Yerel bir yükleme komut dosyasından yükleme" +msgstr "Yerel bir yükleme betik dosyasından yükleme" -#: lutris/gui/addgameswindow.py:50 +#: lutris/gui/addgameswindow.py:39 msgid "Run a YAML install script" -msgstr "Bir YAML yükleme komut dosyası çalıştırma" +msgstr "YAML indirme betiği çalıştır" -#: lutris/gui/addgameswindow.py:56 -msgid "Import a ROM" -msgstr "Bir ROM'u içe aktar" +#: lutris/gui/addgameswindow.py:45 +msgid "Import ROMs" +msgstr "ROM'ları içe aktar" -#: lutris/gui/addgameswindow.py:57 -msgid "Import a ROM that is known to Lutris" -msgstr "Lutris tarafından bilinen bir ROM'u içe aktar" +#: lutris/gui/addgameswindow.py:46 +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "TOSEC, No-intro veya Redump'ta referans verilen ROM'ları içe aktarın" -#: lutris/gui/addgameswindow.py:63 -#, fuzzy +#: lutris/gui/addgameswindow.py:52 msgid "Add locally installed game" msgstr "Yerel olarak yüklenmiş oyun ekle" -#: lutris/gui/addgameswindow.py:64 +#: lutris/gui/addgameswindow.py:53 msgid "Manually configure a game available locally" msgstr "Yerel olarak mevcut olan bir oyunu manuel olarak yapılandır" -#: lutris/gui/addgameswindow.py:69 +#: lutris/gui/addgameswindow.py:59 msgid "Add games to Lutris" -msgstr "Lutris'e oyun ekle" +msgstr "Lutris'e oyunlar ekle" -#. Action buttons -#: lutris/gui/addgameswindow.py:88 lutris/gui/installerwindow.py:79 +#. Header bar buttons +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:96 msgid "Back" msgstr "Geri" -#. defer destory so the game dialog can be centered first #. Continue Button -#: lutris/gui/addgameswindow.py:96 lutris/gui/addgameswindow.py:594 -#: lutris/gui/installerwindow.py:87 lutris/gui/installerwindow.py:864 +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 +#: lutris/gui/installerwindow.py:106 lutris/gui/installerwindow.py:1035 msgid "_Continue" msgstr "_Devam et" -#. Buttons -#: lutris/gui/addgameswindow.py:100 lutris/gui/addgameswindow.py:609 -#: lutris/gui/addgameswindow.py:612 lutris/gui/config/common.py:406 -#: lutris/gui/dialogs/runner_install.py:201 lutris/gui/installerwindow.py:88 -#: lutris/gui/installerwindow.py:924 -#: lutris/gui/widgets/download_progress_box.py:95 -msgid "C_ancel" -msgstr "_Vazgeç" - -#: lutris/gui/addgameswindow.py:114 lutris/gui/config/boxes.py:439 +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 +#: lutris/gui/config/widget_generator.py:655 msgid "Select folder" -msgstr "Dizin seç" - -#: lutris/gui/addgameswindow.py:123 -msgid "Select script" -msgstr "Komut seç" - -#: lutris/gui/addgameswindow.py:127 -msgid "Select ROM file" -msgstr "ROM dosyası seç" - -#: lutris/gui/addgameswindow.py:213 -msgid "" -"Lutris will search Lutris.net for games matching the terms you enter, and " -"any that it finds will appear here.\n" -"\n" -"When you click on a game that it found, the installer window will appear to " -"perform the installation." -msgstr "" -"Lutris, girdiğiniz terimlerle eşleşen oyunları bulmak için Lutris.net'i arayacak; ve" -"bulduğu herhangi bir sonuç burada gözükecektir.\n" -"\n" -"Bulduğu bir oyuna tıklarsanız, kurulumu gerçekleştirebilmek içim" -"kurulum penceresi ortaya çıkacaktır." - -#: lutris/gui/addgameswindow.py:234 -msgid "Search Lutris.net" -msgstr "Ara Lutris.net" - -#: lutris/gui/addgameswindow.py:271 -msgid "No results" -msgstr "Sonuç yok" +msgstr "Dosya seç" -#: lutris/gui/addgameswindow.py:273 -#, python-brace-format -msgid "Showing {count} results" -msgstr "{count} sonuç gösteriliyor" +#: lutris/gui/addgameswindow.py:115 +msgid "Identifier" +msgstr "Tanımlayıcı" -#: lutris/gui/addgameswindow.py:275 -#, python-brace-format -msgid "{total_count} results, only displaying first {count}" -msgstr "{total_count} sonuç, yanlızca ilk {count} kadarı görüntüleniyor" +#: lutris/gui/addgameswindow.py:125 +msgid "Select script" +msgstr "Betik seç" -#: lutris/gui/addgameswindow.py:307 -msgid "Folder to scan" -msgstr "Aranacak dizin" +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "ROM'lar seç" -#: lutris/gui/addgameswindow.py:313 +#: lutris/gui/addgameswindow.py:204 msgid "" -"Lutris will search this folder for sub-folders that contain games it " -"recognizes.\n" -"\n" -"Any games it finds that are not already in Lutris will be added.\n" +"Lutris will search Lutris.net for games matching the terms you enter, and " +"any that it finds will appear here.\n" "\n" -"When you click 'Continue' below, the search will begin, and any games found " -"will be added at once." +"When you click on a game that it found, the installer window will appear to " +"perform the installation." msgstr "" -"Lutris, Bu dosyayı içinde tanıdığı oyunları içeren yan-dosyalar için\n" -"tarayacaktır.\n" -"Henüz Lutris'de mevcut olmayan oyunlar bulunursa eklenecektir.\n" +"Lutris, girdiğiniz terimlerle eşleşen oyunları Lutris.net'te arayacak ve " +"buldukları burada görünecektir.\n" "\n" -"Aşağıdaki \"Devam et\"e tıkladığınızda; tarama başlayacak, bulunan her oyun " -"tek seferde eklenecektir." - -#: lutris/gui/addgameswindow.py:331 -msgid "You must select a folder to scan for games." -msgstr "Oyunlar için tamara yapmak için bir dosya seçmelisin." +"Bulduğu bir oyuna tıkladığınızda, yüklemeyi gerçekleştirmek için " +"yükleyici penceresi görünecektir." -#: lutris/gui/addgameswindow.py:333 -#, python-format -msgid "No folder exists at '%s'." -msgstr "'%s'de herhangi bir dosya yok." +#: lutris/gui/addgameswindow.py:225 +msgid "Search Lutris.net" +msgstr "Lutris.net'den ara" -#: lutris/gui/addgameswindow.py:357 -msgid "Games found" -msgstr "Oyun bulundu" +#: lutris/gui/addgameswindow.py:256 +msgid "No results" +msgstr "Sonuç yok" -#: lutris/gui/addgameswindow.py:359 -msgid "No games found" -msgstr "Oyun bulunamadı" +#: lutris/gui/addgameswindow.py:258 +#, python-format +msgid "Showing %s results" +msgstr "%s sonuçları gösteriliyor" -#: lutris/gui/addgameswindow.py:363 lutris/gui/installerwindow.py:924 -msgid "_Close" -msgstr "_Kapat" +#: lutris/gui/addgameswindow.py:260 +#, python-format +msgid "%s results, only displaying first %s" +msgstr "%s sonuçları, yalnızca ilk %s görüntüleniyor" -#: lutris/gui/addgameswindow.py:409 -#, fuzzy +#: lutris/gui/addgameswindow.py:289 msgid "Game name" -msgstr "Oyun ismi" +msgstr "Oyun adı" -#: lutris/gui/addgameswindow.py:425 +#: lutris/gui/addgameswindow.py:305 msgid "" "Enter the name of the game you will install.\n" "\n" @@ -586,38 +1157,80 @@ msgid "" "If you know the Lutris identifier for the game, you can provide it for " "improved Lutris integration, such as Lutris provided banners." msgstr "" +"Yükleyeceğiniz oyunun adını girin.\n" +"\n" +"Aşağıdaki 'Yükle'ye tıkladığınızda, yükleyici penceresi görünecek ve " +"basit bir kurulum boyunca size rehberlik edecektir.\n" +"\n" +"Sizden bir kurulum yürütülebilir dosyası isteyecek ve yüklemek için Wine kulla" +"nacaktır.\n" +"\n" +"Oyun için Lutris tanımlayıcısını biliyorsanız, Lutris tarafından sağlanan afiş" +"ler gibi " +"gelişmiş Lutris entegrasyonu için bunu sağlayabilirsiniz." + +#: lutris/gui/addgameswindow.py:314 +msgid "Installer preset:" +msgstr "Yükleyici ön ayarı:" + +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "Windows 11 64-bit" + +#: lutris/gui/addgameswindow.py:318 +msgid "Windows 10 64-bit (Default)" +msgstr "Windows 10 64-bit (Varsayılan)" + +#: lutris/gui/addgameswindow.py:319 +msgid "Windows 7 64-bit" +msgstr "Windows 7 64-bit" -#: lutris/gui/addgameswindow.py:436 -msgid "32-bit Wine prefix" -msgstr "32-bit Wine ön ayarı" +#: lutris/gui/addgameswindow.py:320 +msgid "Windows XP 32-bit" +msgstr "Windows XP 32-bit" -#: lutris/gui/addgameswindow.py:445 +#: lutris/gui/addgameswindow.py:321 +msgid "Windows XP + 3DFX 32-bit" +msgstr "Windows XP + 3DFX 32-bit" + +#: lutris/gui/addgameswindow.py:322 +msgid "Windows 98 32-bit" +msgstr "Windows 98 32-bit" + +#: lutris/gui/addgameswindow.py:323 +msgid "Windows 98 + 3DFX 32-bit" +msgstr "Windows 98 + 3DFX 32-bit" + +#: lutris/gui/addgameswindow.py:334 +msgid "Locale:" +msgstr "Yerel ayar:" + +#: lutris/gui/addgameswindow.py:359 msgid "Select setup file" msgstr "Kurulum dosyası seç" -#: lutris/gui/addgameswindow.py:447 lutris/gui/addgameswindow.py:528 -#: lutris/gui/addgameswindow.py:570 lutris/gui/installerwindow.py:901 -#, fuzzy +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 +#: lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1070 msgid "_Install" -msgstr "_Yükle" +msgstr "_Kur" -#: lutris/gui/addgameswindow.py:465 +#: lutris/gui/addgameswindow.py:377 msgid "You must provide a name for the game you are installing." -msgstr "Kuracağın oyun için bir isim sağlamalısın." +msgstr "Yüklediğiniz oyun için bir isim vermelisiniz." -#: lutris/gui/addgameswindow.py:481 +#: lutris/gui/addgameswindow.py:397 msgid "Setup file" msgstr "Kurulum dosyası" -#: lutris/gui/addgameswindow.py:490 +#: lutris/gui/addgameswindow.py:403 msgid "Select the setup file" msgstr "Kurulum dosyası seç" -#: lutris/gui/addgameswindow.py:509 +#: lutris/gui/addgameswindow.py:424 msgid "Script file" -msgstr "Komut dosyası" +msgstr "Betik dosyası" -#: lutris/gui/addgameswindow.py:515 +#: lutris/gui/addgameswindow.py:430 msgid "" "Lutris install scripts are YAML files that guide Lutris through the " "installation process.\n" @@ -627,52 +1240,74 @@ msgid "" "When you click 'Install' below, the installer window will appear and load " "the script, and it will guide the process from there." msgstr "" +"Lutris kurulum betikleri, Lutris'e " +"kurulum süreci boyunca rehberlik eden YAML dosyalarıdır.\n" +"\n" +"Lutris.net adresinden edinilebilir veya elle yazılabilir.\n" +"\n" +"Aşağıdaki 'Yükle'ye tıkladığınızda, yükleyici penceresi görünecek ve " +"betiği yükleyecek ve süreci oradan yönlendirecektir." + +#: lutris/gui/addgameswindow.py:441 +msgid "Select a Lutris installer" +msgstr "Bir Lutris yükleyicisi seç" -#: lutris/gui/addgameswindow.py:534 +#: lutris/gui/addgameswindow.py:448 msgid "You must select a script file to install." -msgstr "" +msgstr "Yüklemek için betik dosyası seçmelisin" -#: lutris/gui/addgameswindow.py:536 lutris/gui/addgameswindow.py:578 +#: lutris/gui/addgameswindow.py:450 #, python-format msgid "No file exists at '%s'." -msgstr "" - -#: lutris/gui/addgameswindow.py:551 lutris/runners/atari800.py:36 -#: lutris/runners/jzintv.py:19 lutris/runners/libretro.py:77 -#: lutris/runners/mame.py:78 lutris/runners/mednafen.py:57 -#: lutris/runners/mupen64plus.py:20 lutris/runners/o2em.py:45 -#: lutris/runners/openmsx.py:17 lutris/runners/osmose.py:21 -#: lutris/runners/snes9x.py:27 lutris/runners/vice.py:38 -#: lutris/runners/yuzu.py:23 +msgstr "'%s' dosyası mevcut değil." + +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 +#: lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 +#: lutris/runners/libretro.py:76 lutris/runners/mame.py:80 +#: lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 +#: lutris/runners/o2em.py:47 lutris/runners/openmsx.py:20 +#: lutris/runners/osmose.py:20 lutris/runners/snes9x.py:29 +#: lutris/runners/vice.py:37 lutris/runners/yuzu.py:23 msgid "ROM file" msgstr "ROM dosyası" -#: lutris/gui/addgameswindow.py:557 +#: lutris/gui/addgameswindow.py:471 msgid "" -"Lutris will identify a ROM via its MD5 hash and download game information " +"Lutris will identify ROMs via its MD5 hash and download game information " "from Lutris.net.\n" "\n" -"The ROM data used for this comes from the TOSEC project.\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" "\n" -"When you click 'Install' below, the process of installing the game will " +"When you click 'Install' below, the process of installing the games will " "begin." msgstr "" +"Lutris, MD5 hash'i aracılığıyla ROM'ları tanımlayacak ve oyun bilgilerini Lutr" +"is.net'ten " +"indirecektir.\n" +"\n" +"Bunun için kullanılan ROM verileri TOSEC, No-Intro ve Redump projelerinden gel" +"mektedir.\n" +"\n" +"Aşağıdaki 'Yükle'ye tıkladığınızda, oyunları yükleme işlemi " +"başlayacaktır." -#: lutris/gui/addgameswindow.py:576 -msgid "You must select a ROM file to install." -msgstr "Yüklemek için bir ROM dosyası seçmelisiniz." +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "ROM'lar seç" -#: lutris/gui/application.py:92 -msgid "" -"Running Lutris as root is not recommended and may cause unexpected issues" -msgstr "" -"Lutris'in root olarak çalıştırılması önerilmez ve beklenmeyen sorunlara neden olabilir" +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." +msgstr "Yüklemek için ROM'lar dosyası seçmelisin" #: lutris/gui/application.py:102 +msgid "Do not run Lutris as root." +msgstr "Lutris'i yönetici olarak çalıştırma." + +#: lutris/gui/application.py:113 msgid "Your Linux distribution is too old. Lutris won't function properly." -msgstr "Linux dağıtımınız çok eski. Lutris düzgün çalışmayacak." +msgstr "Linux dağıtımın çok eski. Lutris düzgün şekilde çalışmaz." -#: lutris/gui/application.py:107 +#: lutris/gui/application.py:119 msgid "" "Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" "If several games share the same identifier you can use the numerical ID " @@ -680,1161 +1315,1859 @@ msgid "" "numerical-id.\n" "To install a game, add lutris:install/game-identifier." msgstr "" +"lutris:rungame/game-identifier.\n parametresini ekleyerek bir oyunu doğrudan ç" +"alıştırın" +"Birkaç oyun aynı tanımlayıcıyı paylaşıyorsa, " +" sayısal kimliğini kullanabilirsiniz (lutris --list-games çalıştırıldığında gö" +"rüntülenir) ve lutris:rungameid/" +"numerical-id.\n" +"Bir oyunu yüklemek için lutris:install/game-identifier ekleyin." -#: lutris/gui/application.py:120 +#: lutris/gui/application.py:133 msgid "Print the version of Lutris and exit" msgstr "Lutris sürümünü yazdır ve çık" -#: lutris/gui/application.py:128 +#: lutris/gui/application.py:141 msgid "Show debug messages" msgstr "Hata ayıklama mesajlarını göster" -#: lutris/gui/application.py:136 +#: lutris/gui/application.py:149 msgid "Install a game from a yml file" -msgstr "Yml dosyasından oyun yükle" +msgstr "yml dosyasından oyun yükle" -#: lutris/gui/application.py:144 +#: lutris/gui/application.py:157 msgid "Force updates" msgstr "Güncellemeleri zorla" -#: lutris/gui/application.py:152 +#: lutris/gui/application.py:165 msgid "Generate a bash script to run a game without the client" -msgstr "İstemci olmadan bir oyunu çalıştırmak için bir bash betiği oluştur" +msgstr "İstemci olmadan bir oyun çalıştırmak için bir bash betiği oluşturun" -#: lutris/gui/application.py:160 +#: lutris/gui/application.py:173 msgid "Execute a program with the Lutris Runtime" -msgstr "Lutris Runtime ile bir program yürüt" +msgstr "Lutris Runtime ile bir programı çalıştır" -#: lutris/gui/application.py:168 +#: lutris/gui/application.py:181 msgid "List all games in database" -msgstr "Tüm oyunların veritabanını listele" +msgstr "Veri tabanındaki tüm oyunları listele" -#: lutris/gui/application.py:176 -#, fuzzy +#: lutris/gui/application.py:189 msgid "Only list installed games" -msgstr "Yanlızca yüklenmiş oyunları listele" +msgstr "Sadece yüklü oyunların listesi" -#: lutris/gui/application.py:184 +#: lutris/gui/application.py:197 msgid "List available Steam games" -msgstr "Mevcut Steam oyunlarını listele" +msgstr "Steam'daki mevcut oyunları listele" -#: lutris/gui/application.py:192 +#: lutris/gui/application.py:205 msgid "List all known Steam library folders" -msgstr "Bilinen tüm Steam kütüphane dosyalarını listele" +msgstr "Bilinen tüm Steam kütüphane klasörlerini listele" -#: lutris/gui/application.py:200 -#, fuzzy +#: lutris/gui/application.py:213 msgid "List all known runners" msgstr "Bilinen tüm oynatıcıları listele" -#: lutris/gui/application.py:208 +#: lutris/gui/application.py:221 msgid "List all known Wine versions" -msgstr "Bilinen tüm Wine sürümlerini listele" +msgstr "Bilinen tüm Wine sürümlerini listeleyin" + +#: lutris/gui/application.py:229 +msgid "List all games for all services in database" +msgstr "Veritabanındaki tüm hizmetler için tüm oyunları listeleyin" -#: lutris/gui/application.py:216 -#, fuzzy +#: lutris/gui/application.py:237 +msgid "List all games for provided service in database" +msgstr "Veritabanında sağlanan hizmet için tüm oyunları listeleyin" + +#: lutris/gui/application.py:245 msgid "Install a Runner" -msgstr "Bir oynatıcı Yükle" +msgstr "Oynatıcı yükle" -#: lutris/gui/application.py:224 -#, fuzzy +#: lutris/gui/application.py:253 msgid "Uninstall a Runner" msgstr "Bir oynatıcı sil" -#: lutris/gui/application.py:232 +#: lutris/gui/application.py:261 msgid "Export a game" -msgstr "Bir oyunu dışa aktar" +msgstr "Bir oyun dışa aktar" -#: lutris/gui/application.py:240 lutris/gui/dialogs/game_import.py:24 +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 msgid "Import a game" -msgstr "Bir oyunu içe aktar" +msgstr "Bir oyun içe aktar" + +#: lutris/gui/application.py:278 +msgid "Show statistics about a game saves" +msgstr "Oyun kayıtları hakkında istatistik göster" -#: lutris/gui/application.py:248 +#: lutris/gui/application.py:286 +msgid "Upload saves" +msgstr "Yükleme kayıtları" + +#: lutris/gui/application.py:294 +msgid "Verify status of save syncing" +msgstr "Kaydetme senkronizasyonunun durumunu doğrulayın" + +#: lutris/gui/application.py:303 msgid "Destination path for export" -msgstr "Dışa aktarmak için hedef yol" +msgstr "Dışa aktarma için hedef yol" -#: lutris/gui/application.py:256 +#: lutris/gui/application.py:311 msgid "Display the list of games in JSON format" -msgstr "Oyunların listesini JSON formatında görüntüle" +msgstr "Oyunların listesini JSON biçiminde görüntüleyin" -#: lutris/gui/application.py:264 -#, fuzzy +#: lutris/gui/application.py:319 msgid "Reinstall game" -msgstr "Oyunu sil" +msgstr "Oyunu tekrar yükle" -#: lutris/gui/application.py:267 +#: lutris/gui/application.py:322 msgid "Submit an issue" -msgstr "Bir sorun gönderin" +msgstr "Bir sorun gönder" -#: lutris/gui/application.py:273 +#: lutris/gui/application.py:328 msgid "URI to open" -msgstr "Açılacak URI" +msgstr "URI'da aç" + +#: lutris/gui/application.py:413 +msgid "No installer available." +msgstr "Yükleyici mevcut değil." -#: lutris/gui/application.py:516 +#: lutris/gui/application.py:628 #, python-format msgid "%s is not a valid URI" -msgstr "%s geçerli bir URI değil" +msgstr "%s URI geçerli değil" -#: lutris/gui/application.py:539 +#: lutris/gui/application.py:651 #, python-format msgid "Failed to download %s" msgstr "Yükleme başarısız oldu %s" -#: lutris/gui/application.py:547 +#: lutris/gui/application.py:660 #, python-brace-format msgid "download {url} to {file} started" msgstr "{url}'yi {file}'ya yükleme başladı" -#: lutris/gui/application.py:558 +#: lutris/gui/application.py:671 #, python-format msgid "No such file: %s" -msgstr "Böyle bir dosya yok: %s" +msgstr "Dosya bulunamadı: %s" -#: lutris/gui/application.py:726 +#: lutris/gui/config/accounts_box.py:39 +msgid "Sync Again" +msgstr "Yeniden senkronize et" + +#: lutris/gui/config/accounts_box.py:49 +msgid "Steam accounts" +msgstr "Steam hesapları" + +#: lutris/gui/config/accounts_box.py:52 +msgid "" +"Select which Steam account is used for Lutris integration and creating Steam " +"shortcuts." +msgstr "" +"Lutris entegrasyonu ve Steam " +"kısayolları oluşturmak için hangi Steam hesabının kullanılacağını seçin." + +#: lutris/gui/config/accounts_box.py:89 #, python-format -msgid "There is no installer available for %s." -msgstr "%s için yükleyici yok." +msgid "Connected as %s" +msgstr "%s olarak bağlandı" -#: lutris/gui/application.py:737 -msgid "No updates found" -msgstr "Güncelleme bulunamadı" +#: lutris/gui/config/accounts_box.py:91 +msgid "Not connected" +msgstr "Bağlanılamadı" -#: lutris/gui/application.py:748 -msgid "No DLC found" -msgstr "DLC bulunamadı" +#: lutris/gui/config/accounts_box.py:96 +msgid "Logout" +msgstr "Çıkış yap" + +#: lutris/gui/config/accounts_box.py:99 +msgid "Login" +msgstr "Giriş yap" + +#: lutris/gui/config/accounts_box.py:112 +msgid "Keep your game library synced with Lutris.net" +msgstr "Oyun kütüphanenizi Lutris.net ile senkronize tutun" + +#: lutris/gui/config/accounts_box.py:125 +msgid "" +"This will send play time, last played, runner, platform \n" +"and store information to the lutris website so you can \n" +"sync this data on multiple devices" +msgstr "" +"Bu, oynama süresi, son oynanan, oynatıcı, platform \n" +"ve mağaza bilgilerini Lutris web sitesine gönderir, böylece \n" +"bu verileri birden fazla cihazda senkronize edebilirsiniz" + +#: lutris/gui/config/accounts_box.py:153 +msgid "No Steam account found" +msgstr "Steam hesabı bulunamadı" + +#: lutris/gui/config/accounts_box.py:180 +msgid "Syncing library..." +msgstr "Kütüphane senkronize ediliyor..." + +#: lutris/gui/config/accounts_box.py:189 +#, python-format +msgid "Last synced %s." +msgstr "Son senkronize edildi %s." + +#: lutris/gui/config/accounts_box.py:201 +msgid "Synchronize library?" +msgstr "Kütüphane senkronize edilsin mi?" + +#: lutris/gui/config/accounts_box.py:202 +msgid "Enable library sync and run a full sync with lutris.net?" +msgstr "" +"Kütüphane senkronizasyonunu etkinleştirip, lutris.net ile tam senkronizasyon ç" +"alışsın mı?" #: lutris/gui/config/add_game_dialog.py:11 msgid "Add a new game" msgstr "Yeni bir oyun ekle" -#: lutris/gui/config/boxes.py:62 -msgid "No options available" -msgstr "Ayarlar mevcut değil" +#: lutris/gui/config/boxes.py:211 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration." +msgstr "" +"Değiştirilirse, bu seçenekler temel oynatıcı " +"yapılandırmasındaki aynı seçeneklerin yerini alır." + +#: lutris/gui/config/boxes.py:237 +msgid "" +"If modified, these options supersede the same options from the base runner " +"configuration, which themselves supersede the global preferences." +msgstr "" +"Eğer değiştirilirse, bu seçenekler temel oynatıcı " +"yapılandırmasındaki aynı seçeneklerin yerine geçer ve bu seçeneklerin kendiler" +"i de küresel tercihlerin yerine geçer." + +#: lutris/gui/config/boxes.py:244 +msgid "" +"If modified, these options supersede the same options from the global " +"preferences." +msgstr "" +"Değiştirilirse, bu seçenekler global " +"tercihlerindeki aynı seçeneklerin yerini alır." -#: lutris/gui/config/boxes.py:111 +#: lutris/gui/config/boxes.py:293 msgid "Reset option to global or default config" msgstr "Ayarlarını küresel veya varsayılan ayarlara sıfırla" -#: lutris/gui/config/boxes.py:132 -msgid "Default: " -msgstr "Varsayılan:" - -#: lutris/gui/config/boxes.py:136 +#: lutris/gui/config/boxes.py:323 msgid "" "(Italic indicates that this option is modified in a lower configuration " "level.)" msgstr "" +"(İtalik, bu seçeneğin daha düşük bir yapılandırma " +"düzeyinde değiştirildiğini gösterir.)" -#: lutris/gui/config/boxes.py:319 +#: lutris/gui/config/boxes.py:336 #, python-format -msgid "%s (default)" -msgstr "%s (varsayılan)" +msgid "No options match '%s'" +msgstr "'%s' ile eşleşen seçenek yok" -#: lutris/gui/config/boxes.py:403 lutris/gui/widgets/common.py:50 -msgid "Select file" -msgstr "Dosya seç" +#. type:ignore[attr-defined] +#: lutris/gui/config/boxes.py:338 +msgid "Only advanced options available" +msgstr "Sadece gelişmiş seçeneklerle mevcut" -#: lutris/gui/config/boxes.py:482 -msgid "Add files" -msgstr "Dosyalar ekle" +#: lutris/gui/config/boxes.py:340 +msgid "No options available" +msgstr "Seçenekler mevcut değil" -#: lutris/gui/config/boxes.py:500 -msgid "Files" -msgstr "Dosyalar" +#: lutris/gui/config/edit_category_games.py:18 +#: lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:315 +#: lutris/gui/config/runner.py:18 +#, python-format +msgid "Configure %s" +msgstr "%s ayarla" -#: lutris/gui/config/boxes.py:517 -msgid "Select files" -msgstr "Dosyalar seç" +#: lutris/gui/config/edit_category_games.py:69 +#, python-format +msgid "Do you want to delete the category '%s'?" +msgstr "'%s' kategorisini silmek ister misin?" -#: lutris/gui/config/boxes.py:520 -msgid "_Add" -msgstr "_Ekle" +#: lutris/gui/config/edit_category_games.py:71 +msgid "" +"This will permanently destroy the category, but the games themselves will " +"not be deleted." +msgstr "" +"Bu işlem kategoriyi kalıcı olarak yok edecektir, ancak oyunların kendileri " +"silinmeyecektir." -#: lutris/gui/config/boxes.py:521 lutris/gui/dialogs/issue.py:72 -#: lutris/gui/dialogs/__init__.py:222 lutris/gui/dialogs/__init__.py:249 -#: lutris/gui/widgets/common.py:113 -#: lutris/gui/widgets/download_progress_box.py:47 -#, fuzzy -msgid "_Cancel" -msgstr "_Vazgeç" +#: lutris/gui/config/edit_category_games.py:113 +#, python-format +msgid "'%s' is a reserved category name." +msgstr "'%s' ayrılmış bir kategori adıdır." + +#: lutris/gui/config/edit_category_games.py:118 +#, python-format +msgid "Merge the category '%s' into '%s'?" +msgstr "'%s' kategorisini ‘%s’ ile birleştireyim mi?" -#: lutris/gui/config/boxes.py:651 +#: lutris/gui/config/edit_category_games.py:120 +#, python-format msgid "" -"If modified, these options supersede the same options from the base runner " -"configuration." +"If you rename this category, it will be combined with '%s'. Do you want to " +"merge them?" msgstr "" +"Bu kategoriyi yeniden adlandırırsanız, ‘%s’ ile birleştirilecektir. Bunları " +"birleştirmek istiyor musunuz?" + +#: lutris/gui/config/edit_game_categories.py:78 +#, python-format +msgid "%d games" +msgstr "%d oyunları" -#: lutris/gui/config/boxes.py:672 +#: lutris/gui/config/edit_game_categories.py:117 +msgid "Add Category" +msgstr "Kategori Ekle" + +#: lutris/gui/config/edit_game_categories.py:119 +msgid "Adds the category to the list." +msgstr "Kategoriyi listeye ekler." + +#: lutris/gui/config/edit_game_categories.py:154 msgid "" -"If modified, these options supersede the same options from the base runner " -"configuration, which themselves supersede the global preferences." +"You are updating the categories on 1 game. Are you sure you want to change " +"it?" msgstr "" +"Kategorileri 1 oyun üzerinde güncelliyorsunuz. değiştirmek istediğinizden emin" +" misiniz?" -#: lutris/gui/config/boxes.py:678 +#: lutris/gui/config/edit_game_categories.py:157 +#, python-format msgid "" -"If modified, these options supersede the same options from the global " -"preferences." +"You are updating the categories on %d games. Are you sure you want to change " +"them?" +msgstr "" +"%d kategorisindeki oyunları güncelliyorsun. Onları değiştirmek istediğinden " +"emin misin?" + +#: lutris/gui/config/edit_game_categories.py:163 +msgid "Changing Categories" +msgstr "Kategori Değiştiriliyor" + +#: lutris/gui/config/edit_saved_search.py:19 +msgid "New Saved Search" +msgstr "Yeni Kaydedilmiş Arama" + +#: lutris/gui/config/edit_saved_search.py:53 +msgid "Search" +msgstr "Ara" + +#: lutris/gui/config/edit_saved_search.py:130 +msgid "Installed" +msgstr "Yüklü" + +#: lutris/gui/config/edit_saved_search.py:131 +msgid "Favorite" +msgstr "Favori" + +#: lutris/gui/config/edit_saved_search.py:132 lutris/gui/widgets/sidebar.py:493 +msgid "Hidden" +msgstr "Gizli" + +#: lutris/gui/config/edit_saved_search.py:133 +msgid "Categorized" +msgstr "Kategorize edilmiş" + +#: lutris/gui/config/edit_saved_search.py:170 +#: lutris/gui/config/edit_saved_search.py:223 +msgid "-" +msgstr "-" + +#: lutris/gui/config/edit_saved_search.py:171 +msgid "Yes" +msgstr "Evet" + +#: lutris/gui/config/edit_saved_search.py:172 +msgid "No" +msgstr "Hayır" + +#: lutris/gui/config/edit_saved_search.py:184 +msgid "Source" +msgstr "Kaynak" + +#: lutris/gui/config/edit_saved_search.py:191 +#: lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:68 +msgid "Runner" +msgstr "Oynatıcı" + +#: lutris/gui/config/edit_saved_search.py:198 lutris/gui/views/list.py:69 +#: lutris/runners/dolphin.py:34 lutris/runners/scummvm.py:259 +msgid "Platform" +msgstr "Platform" + +#: lutris/gui/config/edit_saved_search.py:292 +#, python-format +msgid "'%s' is already a saved search." +msgstr "'%s' zaten aramada kaydedildi." + +#: lutris/gui/config/edit_saved_search.py:336 +#, python-format +msgid "Do you want to delete the saved search '%s'?" +msgstr "%s kaydedilmiş aramasını silmek ister misin?" + +#: lutris/gui/config/edit_saved_search.py:338 +msgid "" +"This will permanently destroy the saved search, but the games themselves " +"will not be deleted." msgstr "" +"Bu işlem kayıtlı aramayı kalıcı olarak yok edecektir, ancak oyunların kendiler" +"i " +"silinmeyecektir." -#: lutris/gui/config/common.py:28 +#: lutris/gui/config/game_common.py:35 msgid "Select a runner in the Game Info tab" -msgstr "Oyun Hakkında sekmesinden bir oynatıcı seçin" +msgstr "Oyun Bilgisi sekmesinde bir oynatıcı seçin" + +#: lutris/gui/config/game_common.py:143 lutris/gui/config/runner.py:27 +#, python-format +msgid "Search %s options" +msgstr "Arama %s seçenekleri" -#: lutris/gui/config/common.py:123 +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 +msgid "Search options" +msgstr "Arama seçenekleri" + +#: lutris/gui/config/game_common.py:172 msgid "Game info" -msgstr "Oyun hakkında" +msgstr "Oyun bilgisi" -#: lutris/gui/config/common.py:139 -msgid "Identifier" -msgstr "Tanımlayıcı" +#: lutris/gui/config/game_common.py:187 +msgid "Sort name" +msgstr "İsim sırala" + +#: lutris/gui/config/game_common.py:203 +#, python-format +msgid "" +"Identifier\n" +"(Internal ID: %s)" +msgstr "" +"Tanımlayıcı\n" +"(Dahili Kimlik: %s)" -#: lutris/gui/config/common.py:148 lutris/gui/config/common.py:324 +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 msgid "Change" msgstr "Değiştir" -#: lutris/gui/config/common.py:157 +#: lutris/gui/config/game_common.py:223 msgid "Directory" msgstr "Dizin" -#: lutris/gui/config/common.py:163 +#: lutris/gui/config/game_common.py:229 msgid "Move" msgstr "Taşı" -#: lutris/gui/config/common.py:183 +#: lutris/gui/config/game_common.py:249 msgid "The default launch option will be used for this game" -msgstr "Bu oyun için varsayılan başlatma seçeneği kullanılacak" +msgstr "Bu oyun için varsayılan başlatma seçeneği kullanılacaktır" -#: lutris/gui/config/common.py:185 +#: lutris/gui/config/game_common.py:251 #, python-format msgid "The '%s' launch option will be used for this game" -msgstr "Bu oyun için '%s' başlatma seçeneği kullanılacak" +msgstr "Bu oyun için ‘%s’ başlatma seçeneği kullanılacaktır" -#: lutris/gui/config/common.py:192 +#: lutris/gui/config/game_common.py:258 msgid "Reset" msgstr "Sıfırla" -#: lutris/gui/config/common.py:209 lutris/gui/views/list.py:50 -#, fuzzy -msgid "Runner" -msgstr "Oynatıcı" - -#: lutris/gui/config/common.py:223 +#: lutris/gui/config/game_common.py:289 msgid "Set custom cover art" -msgstr "Özel kapak resmini ayarla" +msgstr "Özel kapak resmi ayarlama" -#: lutris/gui/config/common.py:223 -#, fuzzy +#: lutris/gui/config/game_common.py:289 msgid "Remove custom cover art" -msgstr "Özel kapak resmi kaldır" +msgstr "Özel kapak resmini kaldırma" -#: lutris/gui/config/common.py:224 -#, fuzzy +#: lutris/gui/config/game_common.py:290 msgid "Set custom banner" -msgstr "Özel banner ayarla" +msgstr "Özel afiş ayarlama" -#: lutris/gui/config/common.py:224 -#, fuzzy +#: lutris/gui/config/game_common.py:290 msgid "Remove custom banner" -msgstr "Özel banner kaldır" +msgstr "Özel banner'ı kaldırma" -#: lutris/gui/config/common.py:225 +#: lutris/gui/config/game_common.py:291 msgid "Set custom icon" -msgstr "Özel simge seç" +msgstr "Özel simge ayarlama" -#: lutris/gui/config/common.py:225 +#: lutris/gui/config/game_common.py:291 msgid "Remove custom icon" -msgstr "Özel simgeyi kaldır" +msgstr "Özel simgeyi kaldırma" -#: lutris/gui/config/common.py:258 +#: lutris/gui/config/game_common.py:324 msgid "Release year" msgstr "Yayınlanma yılı" -#: lutris/gui/config/common.py:300 +#: lutris/gui/config/game_common.py:337 +msgid "Playtime" +msgstr "Oyun zamanı" + +#: lutris/gui/config/game_common.py:383 msgid "Select a runner from the list" msgstr "Listeden bir oynatıcı seçin" -#: lutris/gui/config/common.py:308 +#: lutris/gui/config/game_common.py:391 msgid "Apply" -msgstr "Kabul" +msgstr "Uygula" -#: lutris/gui/config/common.py:355 lutris/gui/config/common.py:360 -#: lutris/gui/config/common.py:363 +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 +#: lutris/gui/config/game_common.py:461 msgid "Game options" -msgstr "Oyun ayarları" +msgstr "Oyun seçenekleri" -#: lutris/gui/config/common.py:367 lutris/gui/config/common.py:370 +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 msgid "Runner options" -msgstr "Oynatıcı ayarları" +msgstr "Oynatıcı seçenekleri" -#: lutris/gui/config/common.py:373 +#: lutris/gui/config/game_common.py:473 msgid "System options" -msgstr "Sistem ayarları" - -#: lutris/gui/config/common.py:409 -msgid "Save" -msgstr "Kaydet" +msgstr "Sistem seçenekleri" -#: lutris/gui/config/common.py:422 lutris/gui/config/common.py:439 +#: lutris/gui/config/game_common.py:510 msgid "Show advanced options" msgstr "Gelişmiş seçenekleri göster" -#: lutris/gui/config/common.py:424 +#: lutris/gui/config/game_common.py:512 msgid "Advanced" msgstr "Gelişmiş" -#: lutris/gui/config/common.py:475 +#: lutris/gui/config/game_common.py:566 msgid "" "Are you sure you want to change the runner for this game ? This will reset " "the full configuration for this game and is not reversible." msgstr "" +"Bu oyun için oynatıcı değiştirmek istediğinizden emin misiniz? Bu işlem " +"bu oyun için tüm yapılandırmayı sıfırlayacaktır ve geri döndürülemez." -#: lutris/gui/config/common.py:479 -#, fuzzy +#: lutris/gui/config/game_common.py:570 msgid "Confirm runner change" -msgstr "Oynatıcı değişimini onayla" +msgstr "Oynatıcıyı değiştirmek için onayla" -#: lutris/gui/config/common.py:531 +#: lutris/gui/config/game_common.py:622 msgid "Runner not provided" -msgstr "Oynatıcı sağlanmadı" +msgstr "Oynatıcı sağlanamadı" -#: lutris/gui/config/common.py:534 +#: lutris/gui/config/game_common.py:625 msgid "Please fill in the name" -msgstr "Lütfen isim kısmını doldurun" +msgstr "Lütfen adını doldur" -#: lutris/gui/config/common.py:537 +#: lutris/gui/config/game_common.py:628 msgid "Steam AppID not provided" -msgstr "Steam Uygulama Kimliği sağlanmadı" +msgstr "Steam AppID sağlanmadı" -#: lutris/gui/config/common.py:555 +#: lutris/gui/config/game_common.py:654 msgid "The following fields have invalid values: " msgstr "Aşağıdaki alanlarda geçersiz değerler var: " -#: lutris/gui/config/common.py:562 +#: lutris/gui/config/game_common.py:661 msgid "Current configuration is not valid, ignoring save request" -msgstr "Mevcut yapılandırma geçerli değil, kaydetme isteği dikkate alınmıyor" +msgstr "Mevcut yapılandırma geçerli değil, kaydetme isteği yok sayılıyor" -#: lutris/gui/config/common.py:601 +#: lutris/gui/config/game_common.py:705 msgid "Please choose a custom image" msgstr "Lütfen özel bir resim seçin" -#: lutris/gui/config/common.py:609 +#: lutris/gui/config/game_common.py:713 msgid "Images" -msgstr "Resimler" - -#: lutris/gui/config/edit_game.py:10 lutris/gui/config/runner.py:11 -#, fuzzy, python-format -msgid "Configure %s" -msgstr "Oynatıcıyı Düzenle" +msgstr "İmajlar" -#: lutris/gui/config/preferences_box.py:11 lutris/gui/config/sysinfo_box.py:11 +#: lutris/gui/config/preferences_box.py:22 msgid "Minimize client when a game is launched" msgstr "Bir oyun başlatıldığında istemciyi simge durumuna küçült" -#: lutris/gui/config/preferences_box.py:12 -msgid "Hide text under icons (requires restart)" -msgstr "Simgelerin altındaki metni gizle (yeniden başlatma gerektirir)" +#: lutris/gui/config/preferences_box.py:24 +msgid "" +"Minimize the Lutris window while playing a game; it will return when the " +"game exits." +msgstr "" +"Bir oyun oynarken Lutris penceresini simge durumuna küçültün; " +"oyundan çıktığında geri dönecektir." + +#: lutris/gui/config/preferences_box.py:28 +msgid "Hide text under icons" +msgstr "Simgelerin altındaki yazıyı gizle" + +#: lutris/gui/config/preferences_box.py:30 +msgid "" +"Removes the names from the Lutris window when in grid view, but not list " +"view." +msgstr "" +"Izgara görünümündeyken isimleri Lutris penceresinden kaldırır, ancak " +"görünümünü listelemez." + +#: lutris/gui/config/preferences_box.py:34 +msgid "Hide badges on icons (Ctrl+p to toggle)" +msgstr "Simgelerdeki rozetleri gizle (geçiş yapmak için Ctrl+p)" + +#: lutris/gui/config/preferences_box.py:37 +msgid "" +"Removes the platform and missing-game badges from icons in the Lutris window." +msgstr "" +"Lutris penceresindeki simgelerden platform ve eksik oyun rozetlerini kaldırır." -#: lutris/gui/config/preferences_box.py:13 lutris/gui/config/sysinfo_box.py:13 +#: lutris/gui/config/preferences_box.py:41 msgid "Show Tray Icon" -msgstr "Tepsi simgesini göster" +msgstr "Sistem Çekmecesinde Göster" -#: lutris/gui/config/preferences_box.py:14 -msgid "Use dark theme (requires dark theme variant for Gtk)" -msgstr "Karanlık tema kullan (Gtk için karanlık tema varyantı gerektirir)" +#: lutris/gui/config/preferences_box.py:45 +msgid "" +"Adds a Lutris icon to the tray, and prevents Lutris from exiting when the " +"Lutris window is closed. You can still exit using the menu of the tray icon." +msgstr "" +"Tepsiye bir Lutris simgesi ekler ve " +"Lutris penceresi kapatıldığında Lutris'in çıkmasını engeller. Yine de tepsi si" +"mgesinin menüsünü kullanarak çıkabilirsiniz." -#: lutris/gui/config/preferences_box.py:15 +#: lutris/gui/config/preferences_box.py:51 msgid "Enable Discord Rich Presence for Available Games" -msgstr "Mevcut Oyunlar için Discord Rich Presence'ı Etkinleştir" +msgstr "Mevcut oyunlar için Discord Rich Presence'yi etkinleştir" -#: lutris/gui/config/preferences_box.py:30 +#: lutris/gui/config/preferences_box.py:57 +msgid "Theme" +msgstr "Tema" + +#: lutris/gui/config/preferences_box.py:59 +msgid "System Default" +msgstr "Sistem Varsayılanı" + +#: lutris/gui/config/preferences_box.py:60 +msgid "Light" +msgstr "Aydınlık" + +#: lutris/gui/config/preferences_box.py:61 +msgid "Dark" +msgstr "Karanlık" + +#: lutris/gui/config/preferences_box.py:64 +msgid "Overrides Lutris's appearance to be light or dark." +msgstr "Lutris'in görünümünün açık veya koyu olmasını geçersiz kılar." + +#: lutris/gui/config/preferences_box.py:72 msgid "Interface options" msgstr "Arayüz ayarları" -#: lutris/gui/config/preferences_dialog.py:18 +#: lutris/gui/config/preferences_dialog.py:23 msgid "Lutris settings" msgstr "Lutris ayarları" -#: lutris/gui/config/preferences_dialog.py:27 +#: lutris/gui/config/preferences_dialog.py:35 msgid "Interface" msgstr "Arayüz" -#: lutris/gui/config/preferences_dialog.py:28 lutris/gui/widgets/sidebar.py:292 -#, fuzzy +#: lutris/gui/config/preferences_dialog.py:36 lutris/gui/widgets/sidebar.py:403 msgid "Runners" -msgstr "Oynatıcıları Yönet" +msgstr "Oynatıcılar" -#: lutris/gui/config/preferences_dialog.py:29 lutris/gui/widgets/sidebar.py:291 +#: lutris/gui/config/preferences_dialog.py:37 lutris/gui/widgets/sidebar.py:402 msgid "Sources" msgstr "Kaynaklar" -#: lutris/gui/config/preferences_dialog.py:30 -msgid "Hardware information" -msgstr "Donanım bilgisi" +#: lutris/gui/config/preferences_dialog.py:38 +msgid "Accounts" +msgstr "Hesaplar" + +#: lutris/gui/config/preferences_dialog.py:39 +msgid "Updates" +msgstr "Güncellemeler" + +#: lutris/gui/config/preferences_dialog.py:40 lutris/sysoptions.py:28 +msgid "System" +msgstr "Sistem" + +#: lutris/gui/config/preferences_dialog.py:41 +msgid "Storage" +msgstr "Depolama" -#: lutris/gui/config/preferences_dialog.py:31 +#: lutris/gui/config/preferences_dialog.py:42 msgid "Global options" msgstr "Küresel ayarlar" -#: lutris/gui/config/runners_box.py:17 +#: lutris/gui/config/preferences_dialog.py:111 +msgid "Search global options" +msgstr "Küresel seçenekleri arayın" + +#: lutris/gui/config/runner_box.py:89 lutris/gui/widgets/sidebar.py:254 +#, python-format +msgid "Manage %s versions" +msgstr "%s sürümleri yönet" + +#: lutris/gui/config/runner_box.py:109 +#, python-format +msgid "Do you want to uninstall %s?" +msgstr "%s'yı kaldırmak ister misin?" + +#: lutris/gui/config/runner_box.py:110 +#, python-format +msgid "This will remove %s and all associated data." +msgstr "Bu %s ve ilişkili tüm verileri kaldıracaktır." + +#: lutris/gui/config/runners_box.py:22 msgid "Add, remove or configure runners" -msgstr "Ekle, kaldır ya da oynatıcıları düzenle" +msgstr "Oynatıcıları, ekle, kaldır ve konfigure et" -#: lutris/gui/config/runners_box.py:19 +#: lutris/gui/config/runners_box.py:25 msgid "" "Runners are programs such as emulators, engines or translation layers " "capable of running games." msgstr "" +"Oynatıcılar, oyunları çalıştırabilen emülatörler, motorlar veya çeviri katmanl" +"arı " +"gibi programlardır." -#: lutris/gui/config/runners_box.py:25 +#: lutris/gui/config/runners_box.py:28 msgid "No runners matched the search" msgstr "Aramayla eşleşen oynatıcı yok" #. pretty sure there will always be many runners, so assume plural -#: lutris/gui/config/runners_box.py:43 -#, fuzzy, python-format +#: lutris/gui/config/runners_box.py:47 +#, python-format msgid "Search %s runners" -msgstr "Oynatıcıları %s ara" +msgstr "Ara %s oynatıcılar" + +#: lutris/gui/config/services_box.py:18 +msgid "Enable integrations with game sources" +msgstr "Oyun kaynakları ile entegrasyonları etkinleştirin" + +#: lutris/gui/config/services_box.py:21 +msgid "" +"Access your game libraries from various sources. Changes require a restart " +"to take effect." +msgstr "" +"Oyun kütüphanelerinize çeşitli kaynaklardan erişin. Değişikliklerin etkili olm" +"ası için " +"adresinin yeniden başlatılması gerekir." + +#: lutris/gui/config/storage_box.py:24 +msgid "Paths" +msgstr "Yollar" + +#: lutris/gui/config/storage_box.py:36 +msgid "Game library" +msgstr "Oyun kütüphanesi" + +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 +msgid "The default folder where you install your games." +msgstr "Oyunlarınızı yüklediğiniz varsayılan klasör." + +#: lutris/gui/config/storage_box.py:43 +msgid "Installer cache" +msgstr "Önbellek yükleyicisi" + +#: lutris/gui/config/storage_box.py:48 +msgid "" +"If provided, files downloaded during game installs will be kept there\n" +"\n" +"Otherwise, all downloaded files are discarded." +msgstr "" +"Sağlanırsa, oyun yüklemeleri sırasında indirilen dosyalar orada saklanacaktır" +"\n" +"\n" +"Aksi takdirde, indirilen tüm dosyalar atılır." + +#: lutris/gui/config/storage_box.py:53 +msgid "Emulator BIOS files location" +msgstr "Emülatör BIOS dosyalarının konumu" + +#: lutris/gui/config/storage_box.py:57 +msgid "The folder Lutris will search in for emulator BIOS files if needed" +msgstr "Gerekirse Lutris'in emülatör BIOS dosyalarını arayacağı klasör" + +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "Klasör çok büyük (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "Klasörde çok fazla dosya var" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "Klasör çok derin" + +#: lutris/gui/config/sysinfo_box.py:18 +msgid "Vulkan support" +msgstr "Vulkan desteği" + +#: lutris/gui/config/sysinfo_box.py:22 +msgid "Esync support" +msgstr "Esync desteği" + +#: lutris/gui/config/sysinfo_box.py:26 +msgid "Fsync support" +msgstr "Fsync desteği" + +#: lutris/gui/config/sysinfo_box.py:30 +msgid "Wine installed" +msgstr "Wine yüklü" + +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 +#: lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 +#: lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 +#: lutris/sysoptions.py:294 lutris/sysoptions.py:304 +msgid "Gamescope" +msgstr "Gamescope" + +#: lutris/gui/config/sysinfo_box.py:34 +msgid "Mangohud" +msgstr "Mangohud" + +#: lutris/gui/config/sysinfo_box.py:35 +msgid "Gamemode" +msgstr "Gamemode" + +#: lutris/gui/config/sysinfo_box.py:36 lutris/gui/installer/file_box.py:100 +#: lutris/runners/steam.py:30 lutris/services/steam.py:74 +msgid "Steam" +msgstr "Steam" + +#: lutris/gui/config/sysinfo_box.py:37 +msgid "In Flatpak" +msgstr "Flatpak'da" + +#: lutris/gui/config/sysinfo_box.py:42 +msgid "System information" +msgstr "Sistem bilgisi" + +#: lutris/gui/config/sysinfo_box.py:51 +msgid "Copy system info to Clipboard" +msgstr "Sistem bilgisini Panoya kopyala" + +#: lutris/gui/config/sysinfo_box.py:56 +msgid "Lutris logs" +msgstr "Lutris kayıtları" + +#: lutris/gui/config/sysinfo_box.py:65 +msgid "Copy logs to Clipboard" +msgstr "Günlüğü Panoya kopyala" + +#: lutris/gui/config/sysinfo_box.py:133 +msgid "YES" +msgstr "EVET" + +#: lutris/gui/config/sysinfo_box.py:134 +msgid "NO" +msgstr "HAYIR" + +#: lutris/gui/config/updates_box.py:20 +msgid "Runtime updates" +msgstr "Çalışma zamanı güncellemeleri" + +#: lutris/gui/config/updates_box.py:21 +msgid "Runtime components include DXVK, VKD3D and Winetricks." +msgstr "Çalışma zamanı bileşenleri DXVK, VKD3D ve Winetricks'i içerir." + +#: lutris/gui/config/updates_box.py:22 +msgid "Check for Updates" +msgstr "Güncellemeleri Kontrol Et" + +#: lutris/gui/config/updates_box.py:26 +msgid "Automatically Update the Lutris runtime" +msgstr "Lutris çalışma zamanını otomatik olarak güncelle" + +#: lutris/gui/config/updates_box.py:31 +msgid "Media updates" +msgstr "Medya güncellemeleri" + +#: lutris/gui/config/updates_box.py:32 +msgid "Download Missing Media" +msgstr "Eksik Medyayı İndir" + +#: lutris/gui/config/updates_box.py:56 +msgid "Checking for missing media..." +msgstr "Eksik medyalar kontrol ediliyor..." + +#: lutris/gui/config/updates_box.py:63 +msgid "Nothing to update" +msgstr "Güncellenecek bir şey yok" + +#: lutris/gui/config/updates_box.py:65 +msgid "Updated: " +msgstr "Güncellendi:" + +#: lutris/gui/config/updates_box.py:67 +msgid "banner" +msgstr "afiş" + +#: lutris/gui/config/updates_box.py:68 +msgid "icon" +msgstr "simge" + +#: lutris/gui/config/updates_box.py:69 +msgid "cover" +msgstr "kapak" + +#: lutris/gui/config/updates_box.py:70 +msgid "banners" +msgstr "afişler" + +#: lutris/gui/config/updates_box.py:71 +msgid "icons" +msgstr "simgeler" + +#: lutris/gui/config/updates_box.py:72 +msgid "covers" +msgstr "kapaklar" + +#: lutris/gui/config/updates_box.py:81 +msgid "No new media found." +msgstr "Yeni medya bulunamadı." + +#: lutris/gui/config/updates_box.py:110 +#, python-format +msgid "%s has been updated." +msgstr "%s güncellendi." + +#: lutris/gui/config/updates_box.py:112 +#, python-format +msgid "%s have been updated." +msgstr "%s güncellemesi var." + +#: lutris/gui/config/updates_box.py:119 +msgid "Checking for updates..." +msgstr "Güncellemeler kontrol ediliyor..." + +#: lutris/gui/config/updates_box.py:121 +msgid "Updates are already being downloaded and installed." +msgstr "Güncellemeler zaten indiriliyor ve yükleniyor." + +#: lutris/gui/config/updates_box.py:123 +msgid "No updates are required at this time." +msgstr "Şu anda herhangi bir güncelleme gerekmemektedir." + +#: lutris/gui/config/widget_generator.py:215 +msgid "Default: " +msgstr "Varsayılan: " + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/wine.py:559 +msgid "Enabled" +msgstr "Etkinleştirildi" -#: lutris/gui/config/runner_box.py:91 lutris/gui/widgets/sidebar.py:230 -#, fuzzy, python-format -msgid "Manage %s versions" -msgstr "Sürümleri Yönet" +#: lutris/gui/config/widget_generator.py:377 lutris/runners/easyrpg.py:371 +#: lutris/runners/mednafen.py:78 lutris/runners/wine.py:558 +msgid "Disabled" +msgstr "Devre dışı" -#: lutris/gui/config/runner_box.py:121 -#, fuzzy, python-format -msgid "Do you want to uninstall %s?" -msgstr "{game} adlı oyunu silmek istediğinizden emin misiniz?" +#: lutris/gui/config/widget_generator.py:424 +#, python-format +msgid "%s (default)" +msgstr "%s (varsayılan)" -#: lutris/gui/config/runner_box.py:122 +#: lutris/gui/config/widget_generator.py:488 #, python-format -msgid "This will remove %s and all associated data." -msgstr "Bu tüm %s ve dosyalarını tamamen kaldıracaktır." +msgid "" +"The setting '%s' is no longer available. You should select another choice." +msgstr "'%s' ayarı artık mevcut değil. Başka bir seçenek seçmelisiniz." -#: lutris/gui/config/services_box.py:18 -msgid "Enable integrations with game sources" -msgstr "Oyun kaynaklarıyla entegrasyonları etkinleştir" +#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:52 +msgid "Select file" +msgstr "Dosya seç" -#: lutris/gui/config/services_box.py:20 -msgid "" -"Access your game libraries from various sources. Changes require a restart " -"to take effect." -msgstr "" -"Oyun kitaplıklarınıza çeşitli kaynaklardan erişin. Değişikliklerin etkili olması için " -"yeniden başlatma gerekir." +#: lutris/gui/config/widget_generator.py:567 +msgid "Select files" +msgstr "Dosyalar seç" -#: lutris/gui/config/sysinfo_box.py:12 -msgid "Hide text under icons" -msgstr "Simgelerin altındaki metni gizle" +#: lutris/gui/config/widget_generator.py:570 +msgid "_Add" +msgstr "_Ekle" -#: lutris/gui/config/sysinfo_box.py:36 -msgid "Copy to clipboard" -msgstr "Panoya kopyala" +#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:446 +#: lutris/gui/dialogs/__init__.py:472 lutris/gui/dialogs/issue.py:74 +#: lutris/gui/widgets/common.py:170 +#: lutris/gui/widgets/download_collection_progress_box.py:56 +#: lutris/gui/widgets/download_progress_box.py:64 +msgid "_Cancel" +msgstr "_İptal" + +#: lutris/gui/config/widget_generator.py:606 +msgid "Add Files" +msgstr "Dosyalar ekle" -#: lutris/gui/config/sysinfo_box.py:39 -msgid "System information" -msgstr "Sistem bilgileri" +#: lutris/gui/config/widget_generator.py:626 +#: lutris/installer/installer_file_collection.py:88 +msgid "Files" +msgstr "Dosyalar" -#: lutris/gui/dialogs/cache.py:13 -msgid "Cache configuration" -msgstr "Önyükleyici ayarla" +#: lutris/gui/dialogs/cache.py:12 +msgid "Download cache configuration" +msgstr "İndirme önbelleği ayarları" -#: lutris/gui/dialogs/cache.py:40 +#: lutris/gui/dialogs/cache.py:35 msgid "Cache path" -msgstr "Önyükleyici yolu" +msgstr "Önbellek yolu" -#: lutris/gui/dialogs/cache.py:43 +#: lutris/gui/dialogs/cache.py:38 msgid "Set the folder for the cache path" -msgstr "Önbellek yolu için klasörü ayarlayın" +msgstr "Önbellek yolu için dizin seç" -#: lutris/gui/dialogs/cache.py:55 +#: lutris/gui/dialogs/cache.py:52 msgid "" "If provided, this location will be used by installers to cache downloaded " "files locally for future re-use. \n" "If left empty, the installer files are discarded after the install " "completion." msgstr "" +"Sağlanırsa, bu konum yükleyiciler tarafından indirilen " +"dosyalarını gelecekte yeniden kullanmak üzere yerel olarak önbelleğe almak içi" +"n kullanılır. \n" +"Boş bırakılırsa, yükleyici dosyaları yükleme " +"tamamlandıktan sonra atılır." -#: lutris/gui/dialogs/delegates.py:70 -msgid "Runtime currently updating" -msgstr "Oynatıcı şu anda güncelleniyor" - -#: lutris/gui/dialogs/delegates.py:71 -msgid "Game might not work as expected" -msgstr "Oyun beklendiği gibi çalışmayabilir" +#: lutris/gui/dialogs/delegates.py:41 +#, python-format +msgid "The required runner '%s' is not installed." +msgstr "Gerekli oynatıcı ‘%s’ yüklü değil." -#: lutris/gui/dialogs/delegates.py:133 +#: lutris/gui/dialogs/delegates.py:207 msgid "Select game to launch" -msgstr "Oyun başlatmak için seç" +msgstr "Çalıştırmak için oyun seçiniz" -#: lutris/gui/dialogs/download.py:13 +#: lutris/gui/dialogs/download.py:14 msgid "Downloading file" -msgstr "Dosya indiriliyor" +msgstr "Dosyalar yükleniyor" -#: lutris/gui/dialogs/download.py:15 +#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:128 #, python-format msgid "Downloading %s" -msgstr "İndiriliyor %s" - -#: lutris/gui/dialogs/game_import.py:40 lutris/gui/dialogs/__init__.py:320 -msgid "Launch game" -msgstr "Oyun başlat" +msgstr "Yükleniyor %s" -#: lutris/gui/dialogs/game_import.py:98 -#, fuzzy -msgid "Looking for installed game..." -msgstr "Yüklü oyun arıyor..." +#: lutris/gui/dialogs/game_import.py:96 +msgid "Launch" +msgstr "Çalıştır" -#: lutris/gui/dialogs/game_import.py:107 +#: lutris/gui/dialogs/game_import.py:129 msgid "Calculating checksum..." -msgstr "Sağlama toplamının hesaplanıyor..." +msgstr "Checksum hesaplanıyor..." -#: lutris/gui/dialogs/game_import.py:112 +#: lutris/gui/dialogs/game_import.py:138 msgid "Looking up checksum on Lutris.net..." -msgstr "" +msgstr "Lutris.net'den checksum kontrol ediliyor...*" -#: lutris/gui/dialogs/game_import.py:115 +#: lutris/gui/dialogs/game_import.py:141 msgid "This ROM could not be identified." -msgstr "" +msgstr "Bu ROM tanımlanamamıştır." + +#: lutris/gui/dialogs/game_import.py:150 +msgid "Looking for installed game..." +msgstr "Yüklü oyunlar bakılıyor..." -#: lutris/gui/dialogs/game_import.py:166 +#: lutris/gui/dialogs/game_import.py:199 #, python-format msgid "Failed to import a ROM: %s" -msgstr "" +msgstr "ROM eklenirken hata oluştu: %s" -#: lutris/gui/dialogs/game_import.py:187 +#: lutris/gui/dialogs/game_import.py:220 +msgid "Game already installed in Lutris" +msgstr "Oyun zaten Lutris'de yüklü" + +#: lutris/gui/dialogs/game_import.py:242 #, python-format msgid "The platform '%s' is unknown to Lutris." -msgstr "" +msgstr "'%s' platformu Lutris tarafından bilinmiyor." -#: lutris/gui/dialogs/game_import.py:197 +#: lutris/gui/dialogs/game_import.py:252 #, python-format msgid "Lutris does not have a default installer for the '%s' platform." +msgstr "Lutris'in ‘%s’ platformu için varsayılan bir yükleyicisi yok." + +#: lutris/gui/dialogs/__init__.py:175 +msgid "Save" +msgstr "Kaydet" + +#: lutris/gui/dialogs/__init__.py:303 +msgid "Lutris has encountered an error" +msgstr "Lutris bir hatayla karşılaştı" + +#: lutris/gui/dialogs/__init__.py:331 lutris/gui/installerwindow.py:962 +msgid "Copy Details to Clipboard" +msgstr "Detayları Panoya Kopyala" + +#: lutris/gui/dialogs/__init__.py:351 +msgid "" +"You can get support from GitHub or Discord. Make sure " +"to provide the error details;\n" +"use the 'Copy Details to Clipboard' button to get them." +msgstr "" +"GitHub veya Discord'dan destek" +" alabilirsiniz. Hata ayrıntılarını sağlamak için " +"adresinden emin olun;\n" +"bunları almak için 'Ayrıntıları Panoya Kopyala' düğmesini kullanın." + +#: lutris/gui/dialogs/__init__.py:360 +msgid "Error details" +msgstr "Hata detayları" + +#: lutris/gui/dialogs/__init__.py:445 lutris/gui/dialogs/__init__.py:471 +#: lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:170 +msgid "_OK" +msgstr "_Tamam" + +#: lutris/gui/dialogs/__init__.py:462 +msgid "Please choose a file" +msgstr "Lütfen dosya seçin" + +#: lutris/gui/dialogs/__init__.py:486 +#, python-format +msgid "%s is already installed" +msgstr "%s zaten yüklendi" + +#: lutris/gui/dialogs/__init__.py:496 +msgid "Launch game" +msgstr "Oyunu başlat" + +#: lutris/gui/dialogs/__init__.py:500 +msgid "Install the game again" +msgstr "Oyunu tekrar yükle" + +#: lutris/gui/dialogs/__init__.py:539 +msgid "Do not ask again for this game." +msgstr "Bu oyun için tekrar sorma" + +#: lutris/gui/dialogs/__init__.py:594 +msgid "Login failed" +msgstr "Giriş başarısız" + +#: lutris/gui/dialogs/__init__.py:604 +msgid "Install script for {}" +msgstr "{} için betik indir" + +#: lutris/gui/dialogs/__init__.py:628 +msgid "Humble Bundle Cookie Authentication" +msgstr "Humble Bundle Cookie Authentication***" + +#: lutris/gui/dialogs/__init__.py:640 +msgid "" +"Humble Bundle Authentication via cookie import\n" +"\n" +"In Firefox\n" +"- Install the following extension: https://addons.mozilla.org/en-US/firefox/" +"addon/export-cookies-txt/\n" +"- Open a tab to humblebundle.com and make sure you are logged in.\n" +"- Click the cookie icon in the top right corner, next to the settings menu\n" +"- Check 'Prefix HttpOnly cookies' and click 'humblebundle.com'\n" +"- Open the generated file and paste the contents below. Click OK to finish.\n" +"- You can delete the cookies file generated by Firefox\n" +"- Optionally, open a support ticket to ask Humble Bundle to fix their " +"configuration." msgstr "" +"Çerez içe aktarma yoluyla Humble Bundle Kimlik Doğrulaması\n" +"\n" +"Firefox'ta\n" +"- Aşağıdaki uzantıyı yükleyin: https://addons.mozilla.org/en-US/firefox/" +"addon/export-cookies-txt/\n" +"- humblebundle.com'da bir sekme açın ve giriş yaptığınızdan emin olun.\n" +"- Sağ üst köşede, ayarlar menüsünün yanında bulunan çerez simgesine tıklayın\n" +"- ‘Prefix HttpOnly cookies’ seçeneğini işaretleyin ve ‘humblebundle.com’\n" +"- Oluşturulan dosyayı açın ve aşağıdaki içeriği yapıştırın. Bitirmek için Tama" +"m'a tıklayın.\n" +"- Firefox tarafından oluşturulan çerez dosyasını silebilirsiniz\n" +"- İsteğe bağlı olarak, bir destek bileti açarak Humble Bundle'dan " +"yapılandırmasını düzeltmesini isteyin." + +#: lutris/gui/dialogs/__init__.py:723 +#, python-format +msgid "The key '%s' could not be found." +msgstr "'%s' anahtarı bulunamadı." #: lutris/gui/dialogs/issue.py:24 msgid "Submit an issue" -msgstr "Bir sorun gönderin" +msgstr "Sorun gönder" -#: lutris/gui/dialogs/issue.py:29 +#: lutris/gui/dialogs/issue.py:30 msgid "" "Describe the problem you're having in the text box below. This information " "will be sent the Lutris team along with your system information. You can " "also save this information locally if you are offline." msgstr "" +"Yaşadığınız sorunu aşağıdaki metin kutusunda açıklayın. Bu bilgiler " +"sistem bilgilerinizle birlikte Lutris ekibine gönderilecektir. Çevrimdışı isen" +"iz " +"adresinden bu bilgileri yerel olarak da kaydedebilirsiniz." -#: lutris/gui/dialogs/issue.py:52 +#: lutris/gui/dialogs/issue.py:54 msgid "_Save" msgstr "_Kaydet" -#: lutris/gui/dialogs/issue.py:68 +#: lutris/gui/dialogs/issue.py:70 msgid "Select a location to save the issue" -msgstr "" - -#: lutris/gui/dialogs/issue.py:71 lutris/gui/dialogs/__init__.py:221 -#: lutris/gui/dialogs/__init__.py:248 lutris/gui/widgets/common.py:113 -msgid "OK" -msgstr "Tamam" +msgstr "Sorunu kaydetmek için bir yol seçin" -#: lutris/gui/dialogs/issue.py:88 +#: lutris/gui/dialogs/issue.py:90 #, python-format msgid "Issue saved in %s" -msgstr "Sorun %s içine kaydedildi" +msgstr "Sorun kaydedildi %s" -#: lutris/gui/dialogs/log.py:25 +#: lutris/gui/dialogs/log.py:23 msgid "Log for {}" +msgstr "{} için kayıtlar" + +#: lutris/gui/dialogs/move_game.py:28 +#, python-format +msgid "Moving %s to %s..." +msgstr "Taşınıyor %s'den %s..." + +#: lutris/gui/dialogs/move_game.py:57 +msgid "" +"Do you want to change the game location anyway? No files can be moved, and " +"the game configuration may need to be adjusted." msgstr "" +"Yine de oyun konumunu değiştirmek istiyor musunuz? Hiçbir dosya taşınamaz ve " +"oyun yapılandırmasının ayarlanması gerekebilir." -#: lutris/gui/dialogs/runner_install.py:28 +#: lutris/gui/dialogs/runner_install.py:59 #, python-format msgid "Showing games using %s" -msgstr "" +msgstr "Kullanılan uygulamalar gösteriliyor %s" -#: lutris/gui/dialogs/runner_install.py:74 +#: lutris/gui/dialogs/runner_install.py:115 #, python-format msgid "Waiting for response from %s" -msgstr "" +msgstr "%s'dan cevap bekleniyor" -#: lutris/gui/dialogs/runner_install.py:90 +#: lutris/gui/dialogs/runner_install.py:176 #, python-format msgid "Unable to get runner versions: %s" -msgstr "" +msgstr "Oynatıcı sürümü alınmıyor: %s" -#: lutris/gui/dialogs/runner_install.py:104 +#: lutris/gui/dialogs/runner_install.py:182 msgid "Unable to get runner versions from lutris.net" -msgstr "" +msgstr "Oynatıcı sürümleri lutris.net'den alınmıyor" -#: lutris/gui/dialogs/runner_install.py:111 +#: lutris/gui/dialogs/runner_install.py:189 #, python-format msgid "%s version management" msgstr "%s sürüm yönetimi" -#: lutris/gui/dialogs/runner_install.py:165 +#: lutris/gui/dialogs/runner_install.py:241 #, python-format msgid "View %d game" msgid_plural "View %d games" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d oyununu gör" +msgstr[1] "%d oyunlarını gör" -#: lutris/gui/dialogs/runner_install.py:206 -#: lutris/gui/dialogs/uninstall_game.py:22 -#, fuzzy +#: lutris/gui/dialogs/runner_install.py:280 +#: lutris/gui/dialogs/uninstall_dialog.py:223 msgid "Uninstall" -msgstr "Oyunu sil" +msgstr "Kaldır" -#: lutris/gui/dialogs/runner_install.py:231 -#, fuzzy +#: lutris/gui/dialogs/runner_install.py:294 msgid "Wine version usage" msgstr "Wine sürümü kullanımı" -#: lutris/gui/dialogs/runner_install.py:324 +#: lutris/gui/dialogs/runner_install.py:365 #, python-format msgid "Version %s is not longer available" -msgstr "" +msgstr "%s sürümü ****" -#: lutris/gui/dialogs/runner_install.py:349 +#: lutris/gui/dialogs/runner_install.py:390 msgid "Downloading…" msgstr "Yükleniyor..." -#: lutris/gui/dialogs/runner_install.py:352 +#: lutris/gui/dialogs/runner_install.py:393 msgid "Extracting…" -msgstr "Ayıklanıyor..." +msgstr "Çıkartılıyor..." -#: lutris/gui/dialogs/runner_install.py:394 +#: lutris/gui/dialogs/runner_install.py:423 msgid "Failed to retrieve the runner archive" -msgstr "" +msgstr "Oynatıcı arşivi alınamadı" -#: lutris/gui/dialogs/uninstall_game.py:33 +#: lutris/gui/dialogs/uninstall_dialog.py:128 #, python-format -msgid "Uninstall %s" -msgstr "" - -#: lutris/gui/dialogs/uninstall_game.py:41 -msgid "No file will be deleted" -msgstr "" +msgid "Uninstall %s" +msgstr "%s Kaldır" -#: lutris/gui/dialogs/uninstall_game.py:44 +#: lutris/gui/dialogs/uninstall_dialog.py:130 #, python-format -msgid "The folder %s is used by other games and will be kept." -msgstr "" +msgid "Remove %s" +msgstr "%s Sil" -#: lutris/gui/dialogs/uninstall_game.py:47 -msgid "Calculating size…" -msgstr "Alan hesaplanıyor..." - -#: lutris/gui/dialogs/uninstall_game.py:51 +#: lutris/gui/dialogs/uninstall_dialog.py:132 #, python-format -msgid "%s does not exist." -msgstr "" +msgid "Uninstall %d games" +msgstr "%d oyunlarını kaldır" -#: lutris/gui/dialogs/uninstall_game.py:55 +#: lutris/gui/dialogs/uninstall_dialog.py:134 #, python-format -msgid "Content of %s are protected and will not be deleted." -msgstr "" +msgid "Remove %d games" +msgstr "%d oyunlarını sil" -#: lutris/gui/dialogs/uninstall_game.py:72 +#: lutris/gui/dialogs/uninstall_dialog.py:136 #, python-format -msgid "Delete %s (%s)" -msgstr "Kaldır %s (%s)" +msgid "Uninstall %d games and remove %d games" +msgstr "%d oyunlarını kaldır ve %d oyunlarını sil" -#: lutris/gui/dialogs/uninstall_game.py:88 -#, python-format +#: lutris/gui/dialogs/uninstall_dialog.py:149 +msgid "After you uninstall these games, you won't be able play them in Lutris." +msgstr "Bu oyunları kaldırdıktan sonra Lutris'te oynayamazsınız." + +#: lutris/gui/dialogs/uninstall_dialog.py:152 msgid "" -"Please confirm.\n" -"Everything under %s\n" -"will be deleted." +"Uninstalled games that you remove from the library will no longer appear in " +"the 'Games' view, but those that remain will retain their playtime data." msgstr "" +"Kitaplıktan kaldırdığınız oyunlar artık " +"'Oyunlar' görünümünde görünmeyecek, ancak kalanlar oynanma süresi verilerini k" +"oruyacaktır." -#: lutris/gui/dialogs/uninstall_game.py:91 -msgid "Permanently delete files?" +#: lutris/gui/dialogs/uninstall_dialog.py:157 +msgid "" +"After you remove these games, they will no longer appear in the 'Games' view." msgstr "" +"Bu oyunları kaldırdıktan sonra, artık ‘Oyunlar’ görünümünde görünmeyeceklerdir" +"." -#: lutris/gui/dialogs/uninstall_game.py:99 -msgid "Uninstalling game and deleting files..." +#: lutris/gui/dialogs/uninstall_dialog.py:162 +msgid "" +"Some of the game directories cannot be removed because they are shared with " +"other games that you are not removing." msgstr "" +"Bazı oyun dizinleri kaldırılamaz çünkü kaldırmadığınız diğer oyunlarla " +"paylaşılırlar." -#: lutris/gui/dialogs/uninstall_game.py:101 -#, fuzzy -msgid "Uninstalling game..." -msgstr "Oyunu sil" - -#: lutris/gui/dialogs/uninstall_game.py:124 -#, python-format -msgid "Remove %s" -msgstr "" +#: lutris/gui/dialogs/uninstall_dialog.py:168 +msgid "" +"Some of the game directories cannot be removed because they are protected." +msgstr "Bazı oyun dizinleri korumalı oldukları için kaldırılamaz." -#: lutris/gui/dialogs/uninstall_game.py:130 +#: lutris/gui/dialogs/uninstall_dialog.py:265 #, python-format msgid "" -"Completely remove %s from the library?\n" -"All play time will be lost." -msgstr "" - -#: lutris/gui/dialogs/webconnect_dialog.py:103 -msgid "Loading..." -msgstr "Yükleniyor..." - -#: lutris/gui/dialogs/__init__.py:239 -msgid "Please choose a file" -msgstr "Lütfen bir dosya seçiniz" - -#: lutris/gui/dialogs/__init__.py:271 -msgid "Checking for runtime updates, please wait…" +"Please confirm.\n" +"Everything under %s\n" +"will be moved to the trash." msgstr "" +"Lütfen doğrula.\n" +"Her şey %s'in altında\n" +"çöp kutusuna taşınabilir.*****" -#: lutris/gui/dialogs/__init__.py:309 +#: lutris/gui/dialogs/uninstall_dialog.py:269 #, python-format -msgid "%s is already installed" +msgid "" +"Please confirm.\n" +"All the files for %d games will be moved to the trash." msgstr "" +"Lütfen doğrulayın.\n" +"%d oyunlarına ait tüm dosyalar çöp kutusuna taşınacaktır." -#: lutris/gui/dialogs/__init__.py:324 -#, fuzzy -msgid "Install the game again" -msgstr "Oyunu tekrar yükle" - -#: lutris/gui/dialogs/__init__.py:367 -msgid "Do not ask again for this game." -msgstr "" +#: lutris/gui/dialogs/uninstall_dialog.py:277 +msgid "Permanently delete files?" +msgstr "Kalıcı olarak dosyayı sileyim mi?" -#: lutris/gui/dialogs/__init__.py:426 -msgid "Login failed" -msgstr "Giriş başarısız" +#: lutris/gui/dialogs/uninstall_dialog.py:360 +msgid "Remove from Library" +msgstr "Kütüphaneden Kaldır" -#: lutris/gui/dialogs/__init__.py:437 -msgid "Install script for {}" -msgstr "{} için komut yükle" +#: lutris/gui/dialogs/uninstall_dialog.py:366 +msgid "Delete Files" +msgstr "Dosyaları Sil" -#: lutris/gui/dialogs/__init__.py:493 -msgid "Do not display this message again." -msgstr "Bir daha ekranda mesaj gösterme." +#: lutris/gui/dialogs/webconnect_dialog.py:149 +msgid "Loading..." +msgstr "Yükleniyor..." -#: lutris/gui/dialogs/__init__.py:514 -msgid "Wine is not installed on your system." -msgstr "Wine sisteminizde yüklü değil." +#: lutris/gui/installer/file_box.py:84 +#, python-brace-format +msgid "Steam game {appid}" +msgstr "Steam oyunu {appid}" -#: lutris/gui/dialogs/__init__.py:516 -msgid "" -"Having Wine installed on your system guarantees that Wine builds from Lutris " -"will have all required dependencies.\n" -"\n" -"Please follow the instructions given in the Lutris Wiki to install Wine." -msgstr "" +#: lutris/gui/installer/file_box.py:96 +msgid "Download" +msgstr "Yükle" -#: lutris/gui/dialogs/__init__.py:542 -#, python-format -msgid "Moving %s to %s..." -msgstr "%s dan %s a taşınıyor..." +#: lutris/gui/installer/file_box.py:98 +msgid "Use Cache" +msgstr "Önbellek Kullan" -#: lutris/gui/dialogs/__init__.py:570 -msgid "Humble Bundle Cookie Authentication" -msgstr "" +#: lutris/gui/installer/file_box.py:102 +msgid "Select File" +msgstr "Dosya Seç" -#: lutris/gui/dialogs/__init__.py:582 -msgid "" -"Humble Bundle Authentication via cookie import\n" -"\n" -"In Firefox\n" -"- Install the follwing extension: https://addons.mozilla.org/en-US/firefox/" -"addon/export-cookies-txt/\n" -"- Open a tab to humblebundle.com and make sure you are logged in.\n" -"- Click the cookie icon in the top right corner, next to the settings menu\n" -"- Check 'Prefix HttpOnly cookies' and click 'humblebundle.com'\n" -"- Open the generated file and paste the contents below. Click OK to finish.\n" -"- You can delete the cookies file generated by Firefox\n" -"- Optionally, open a support ticket to ask Humble Bundle to fix their " -"configuration." -msgstr "" +#: lutris/gui/installer/file_box.py:159 +msgid "Cache file for future installations" +msgstr "Gelecekteki kurulumlar için önbellek dosyası" -#: lutris/gui/installerwindow.py:71 -#, python-format -msgid "Install %s" -msgstr "Yükle %s" +#: lutris/gui/installer/file_box.py:178 +msgid "Source:" +msgstr "Kaynak:" -#: lutris/gui/installerwindow.py:84 -msgid "Cache" -msgstr "Önbellek" +#: lutris/gui/installerwindow.py:128 +msgid "Configure download cache" +msgstr "İndirme önbelleğini ayarla" -#: lutris/gui/installerwindow.py:85 +#: lutris/gui/installerwindow.py:130 msgid "Change where Lutris downloads game installer files." -msgstr "" +msgstr "Lutris'in oyun yükleyici dosyalarını indirdiği yeri değiştirin." -#: lutris/gui/installerwindow.py:89 -msgid "_View source" -msgstr "Kaynağı göster" +#: lutris/gui/installerwindow.py:133 +msgid "View installer source" +msgstr "Yükleyici kaynağını görüntüle" -#: lutris/gui/installerwindow.py:90 -msgid "_Eject" -msgstr "Çıkartmak" - -#: lutris/gui/installerwindow.py:178 +#: lutris/gui/installerwindow.py:241 msgid "Remove game files" msgstr "Oyun dosyalarını sil" -#: lutris/gui/installerwindow.py:190 -#, fuzzy +#: lutris/gui/installerwindow.py:256 msgid "Are you sure you want to cancel the installation?" -msgstr "{game} adlı oyunu silmek istediğinizden emin misiniz?" +msgstr "Yükleyiciyi iptal etmek istediğinden emin misin?" -#: lutris/gui/installerwindow.py:191 +#: lutris/gui/installerwindow.py:257 msgid "Cancel installation?" -msgstr "Yüklemeyi iptal et?" +msgstr "Yükleme iptal edilsin mi?" + +#: lutris/gui/installerwindow.py:332 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"Lutris bileşenlerinin kurulumu bekleniyor\n" +"Önce Lutris bileşenleri kurulmazsa kurulumlar başarısız olabilir." + +#: lutris/gui/installerwindow.py:389 +#, python-format +msgid "Install %s" +msgstr "Yükle %s" -#: lutris/gui/installerwindow.py:301 +#: lutris/gui/installerwindow.py:411 #, python-format msgid "This game requires %s. Do you want to install it?" -msgstr "" +msgstr "Bu oyun için %s gerekli. Yüklemek ister misin?" -#: lutris/gui/installerwindow.py:302 +#: lutris/gui/installerwindow.py:412 msgid "Missing dependency" -msgstr "" +msgstr "Eksik bağımlılık" -#: lutris/gui/installerwindow.py:310 -msgid "Installing {}" -msgstr "Yükleniyor {}" +#: lutris/gui/installerwindow.py:420 +msgid "Installing {}" +msgstr "Yükleniyor {}" -#: lutris/gui/installerwindow.py:316 -#, fuzzy +#: lutris/gui/installerwindow.py:426 msgid "No installer available" msgstr "Yükleyici mevcut değil" -#: lutris/gui/installerwindow.py:323 +#: lutris/gui/installerwindow.py:432 #, python-format msgid "Missing field \"%s\" in install script" -msgstr "" +msgstr "Yükleme komut dosyasında eksik alan “%s”" + +#: lutris/gui/installerwindow.py:435 +#, python-format +msgid "Improperly formatted file \"%s\"" +msgstr "Yanlış biçimlendirilmiş dosya “%s”" -#: lutris/gui/installerwindow.py:363 +#: lutris/gui/installerwindow.py:485 msgid "Select installation directory" -msgstr "Yükleme dizini seçiniz" +msgstr "Kurulum dizinini seçin" -#: lutris/gui/installerwindow.py:380 +#: lutris/gui/installerwindow.py:495 msgid "Preparing Lutris for installation" -msgstr "Yükleme için Lutris hazırlanıyor" +msgstr "Lutris'i kurulum için hazırla" -#: lutris/gui/installerwindow.py:468 +#: lutris/gui/installerwindow.py:589 msgid "" -"This game has extra content. \n" -"Select which one you want and they will be available in the 'extras' folder " -"where the game is installed." +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' " +"folder where the game is installed." msgstr "" +"Bu oyun ekstra içeriğe sahiptir\n" +"Hangisini istediğinizi seçin ve oyunun yüklü olduğu 'extras' " +"klasöründe mevcut olacaklardır." -#: lutris/gui/installerwindow.py:561 +#: lutris/gui/installerwindow.py:685 msgid "" -"Please review the files needed for the installation then click 'Continue'" +"Please review the files needed for the installation then click 'Install'" msgstr "" +"Lütfen kurulum için gerekli dosyaları inceleyin ve ardından 'Yükle'ye tıklayın" -#: lutris/gui/installerwindow.py:570 -#, fuzzy +#: lutris/gui/installerwindow.py:693 msgid "Downloading game data" -msgstr "Oyun verileri yükleniyor" +msgstr "Oyun verileri indiriliyor" -#: lutris/gui/installerwindow.py:590 +#: lutris/gui/installerwindow.py:710 #, python-format msgid "Unable to get files: %s" -msgstr "" +msgstr "Dosyaları getirilmiyor: %s" -#: lutris/gui/installerwindow.py:604 -#, fuzzy +#: lutris/gui/installerwindow.py:724 msgid "Installing game data" msgstr "Oyun verileri yükleniyor" -#: lutris/gui/installerwindow.py:748 +#. Lutris flatplak doesn't autodetect files on CD-ROM properly +#. and selecting this option doesn't let the user click "Back" +#. so the only option is to cancel the install. +#: lutris/gui/installerwindow.py:866 msgid "Autodetect" -msgstr "" +msgstr "Otomatik algıla" -#: lutris/gui/installerwindow.py:754 +#: lutris/gui/installerwindow.py:871 msgid "Browse…" -msgstr "Gözat..." +msgstr "Gez...***" -#: lutris/gui/installerwindow.py:771 +#: lutris/gui/installerwindow.py:878 +msgid "Eject" +msgstr "Çıkar" + +#: lutris/gui/installerwindow.py:890 msgid "Select the folder where the disc is mounted" +msgstr "Diskin bağlı olduğu klasörü seçin" + +#: lutris/gui/installerwindow.py:944 +msgid "" +"An unexpected error has occurred while installing this game. Please share " +"the details below with the Lutris team on GitHub or Discord." msgstr "" +"Bu oyun yüklenirken beklenmedik bir hata oluştu. Lütfen " +"adresindeki ayrıntıları GitHub veya Discord üzerinden Lutris ekibiyle paylaşın." -#: lutris/gui/installerwindow.py:831 +#: lutris/gui/installerwindow.py:1003 msgid "_Launch" -msgstr "Başlat" +msgstr "_Çalıştır" -#: lutris/gui/installerwindow.py:920 +#: lutris/gui/installerwindow.py:1083 msgid "_Abort" -msgstr "" +msgstr "_İptal" -#: lutris/gui/installerwindow.py:921 +#: lutris/gui/installerwindow.py:1084 msgid "Abort and revert the installation" -msgstr "" - -#: lutris/gui/installer/file_box.py:94 -#, python-brace-format -msgid "Steam game {appid}" -msgstr "" - -#: lutris/gui/installer/file_box.py:108 -msgid "Download" -msgstr "Yükle" - -#: lutris/gui/installer/file_box.py:110 -msgid "Use Cache" -msgstr "Önbellek kullan" - -#: lutris/gui/installer/file_box.py:112 lutris/runners/steam.py:30 -#: lutris/services/steam.py:76 -msgid "Steam" -msgstr "" - -#: lutris/gui/installer/file_box.py:113 -msgid "Select File" -msgstr "Dosya seç" +msgstr "Kurulumu iptal edin ve geri alın" -#: lutris/gui/installer/file_box.py:174 -msgid "Cache file for future installations" -msgstr "" - -#: lutris/gui/installer/file_box.py:193 -msgid "Source:" -msgstr "Kaynak:" +#: lutris/gui/installerwindow.py:1087 +msgid "_Close" +msgstr "_Kapat" -#: lutris/gui/lutriswindow.py:375 +#: lutris/gui/lutriswindow.py:654 #, python-format msgid "Connect your %s account to access your games" -msgstr "" +msgstr "Oyunlarına erişebilmek için %s hesabına bağlanmalısın" -#: lutris/gui/lutriswindow.py:449 +#: lutris/gui/lutriswindow.py:735 #, python-format msgid "Add a game matching '%s' to your favorites to see it here." -msgstr "" +msgstr "Burada görmek için ‘%s’ ile eşleşen bir oyunu favorilerinize ekleyin." -#: lutris/gui/lutriswindow.py:452 +#: lutris/gui/lutriswindow.py:737 #, python-format -msgid "" -"No installed games matching '%s' found. Press Ctrl+I to show uninstalled " -"games." -msgstr "" +msgid "No hidden games matching '%s' found." +msgstr "'%s' ile eşleşen hiçbir gizli oyun bulunamadı." -#. but not if missing! -#: lutris/gui/lutriswindow.py:454 +#: lutris/gui/lutriswindow.py:740 #, python-format msgid "" -"No visible games matching '%s' found. Press Ctrl+H to show hidden games." +"No installed games matching '%s' found. Press Ctrl+I to show uninstalled " +"games." msgstr "" +"'%s' ile eşleşen yüklü oyun bulunamadı. Kaldırılmış " +"oyunlarını göstermek için Ctrl+I tuşlarına basın." -#: lutris/gui/lutriswindow.py:457 +#: lutris/gui/lutriswindow.py:743 #, python-format msgid "No games matching '%s' found " -msgstr "" +msgstr "'%s' ile eşleşen oyun bulunamadı" -#: lutris/gui/lutriswindow.py:460 +#: lutris/gui/lutriswindow.py:746 msgid "Add games to your favorites to see them here." -msgstr "" +msgstr "Oyunları burada görmek için favorilerinize ekleyin." -#: lutris/gui/lutriswindow.py:462 -msgid "No installed games found. Press Ctrl+I to show uninstalled games." -msgstr "" +#: lutris/gui/lutriswindow.py:748 +msgid "No games are hidden." +msgstr "Oyunların gizli değil." -#. but not if missing! -#: lutris/gui/lutriswindow.py:464 -msgid "No visible games found. Press Ctrl+H to show hidden games." +#: lutris/gui/lutriswindow.py:750 +msgid "No installed games found. Press Ctrl+I to show uninstalled games." msgstr "" +"Yüklü oyun bulunamadı. Kaldırılmış oyunları göstermek için Ctrl+I tuşlarına ba" +"sın." -#: lutris/gui/lutriswindow.py:472 +#: lutris/gui/lutriswindow.py:759 msgid "No games found" -msgstr "Oyun bulunamadı" +msgstr "Oyunlar bulunamadı" -#: lutris/gui/lutriswindow.py:480 +#: lutris/gui/lutriswindow.py:804 #, python-format msgid "Search %s games" msgstr "%s oyunlarını ara" -#: lutris/gui/lutriswindow.py:482 +#: lutris/gui/lutriswindow.py:806 msgid "Search 1 game" msgstr "1 oyun ara" -#: lutris/gui/views/list.py:51 lutris/runners/dolphin.py:26 -#: lutris/runners/scummvm.py:178 -#, fuzzy -msgid "Platform" -msgstr "platformlar" +#: lutris/gui/lutriswindow.py:1060 +msgid "Unsupported Lutris Version" +msgstr "Desteklenmeyen Lutris Sürümü" + +#: lutris/gui/lutriswindow.py:1062 +msgid "" +"This version of Lutris will no longer receive support on Github and Discord, " +"and may not interoperate properly with Lutris.net. Do you want to use it " +"anyway?" +msgstr "" +"Lutris'in bu sürümü artık Github ve Discord'da destek almayacaktır, " +"ve Lutris.net ile düzgün bir şekilde çalışmayabilir. Yine de " +"kullanmak istiyor musunuz?" + +#: lutris/gui/lutriswindow.py:1273 +msgid "Show Hidden Games" +msgstr "Gizli Oyunları Göster" + +#: lutris/gui/lutriswindow.py:1275 +msgid "Rehide Hidden Games" +msgstr "Gizlilenmiş Oyunları Göster" + +#: lutris/gui/lutriswindow.py:1473 +msgid "" +"Your limits are not set correctly. Please increase them as described here: " +"How-to:-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "" +"Limitleriniz doğru ayarlanmamış. Lütfen bunları burada açıklandığı gibi artırı" +"n: " +"Nasıl yapıl" +"ır:-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/gui/widgets/cellrenderers.py:385 lutris/gui/widgets/sidebar.py:501 +msgid "Missing" +msgstr "Kayıp" + +#: lutris/gui/widgets/common.py:87 +msgid "Select a folder" +msgstr "Bir dizin seç" -#: lutris/gui/widgets/common.py:83 -msgid "Browse..." -msgstr "Seçim..." +#: lutris/gui/widgets/common.py:89 +msgid "Select a file" +msgstr "Bir dosya seç" -#: lutris/gui/widgets/common.py:165 +#: lutris/gui/widgets/common.py:95 +msgid "Open in file browser" +msgstr "Dosya gezgininden aç" + +#: lutris/gui/widgets/common.py:246 msgid "" "Warning! The selected path is located on a drive formatted by " "Windows.\n" -"Games and programs installed on Windows drives usually don't work." +"Games and programs installed on Windows drives don't work." msgstr "" +"Uyarı! Seçilen yol " +"Windows.\n tarafından biçimlendirilmiş bir sürücüde bulunuyor" +"Windows sürücülerine yüklenen oyunlar ve programlar çalışmıyor." -#: lutris/gui/widgets/common.py:173 +#: lutris/gui/widgets/common.py:255 msgid "" -"Warning! The selected path contains files. Installation might not " -"work properly." +"Warning! The selected path contains files. Installation will not work " +"properly." msgstr "" +"Uyarı! Seçilen yol dosyalar içeriyor. Kurulum " +"düzgün çalışmayacaktır." -#: lutris/gui/widgets/common.py:181 +#: lutris/gui/widgets/common.py:263 msgid "" "Warning The destination folder is not writable by the current user." msgstr "" +"Uyarı Hedef klasör geçerli kullanıcı tarafından yazılabilir değil." -#: lutris/gui/widgets/common.py:302 +#: lutris/gui/widgets/common.py:381 msgid "Add" msgstr "Ekle" -#: lutris/gui/widgets/common.py:306 +#: lutris/gui/widgets/common.py:385 msgid "Delete" -msgstr "Kaldır" +msgstr "Sil" -#: lutris/gui/widgets/download_progress_box.py:88 +#: lutris/gui/widgets/download_collection_progress_box.py:145 +#: lutris/gui/widgets/download_progress_box.py:109 msgid "Retry" -msgstr "Tekrar" +msgstr "Yeniden dene" -#: lutris/gui/widgets/download_progress_box.py:115 +#: lutris/gui/widgets/download_collection_progress_box.py:172 +#: lutris/gui/widgets/download_progress_box.py:136 msgid "Download interrupted" -msgstr "" +msgstr "İndirme başarısız oldu" -#: lutris/gui/widgets/download_progress_box.py:123 +#: lutris/gui/widgets/download_collection_progress_box.py:191 +#: lutris/gui/widgets/download_progress_box.py:144 #, python-brace-format -msgid "{downloaded:0.2f} / {size:0.2f}MB ({speed:0.2f}MB/s), {time} remaining" -msgstr "" +msgid "{downloaded} / {size} ({speed:0.2f}MB/s), {time} remaining" +msgstr "{downloaded} / {size} ({speed:0.2f}MB/s), {time} kaldı" -#: lutris/gui/widgets/game_bar.py:150 +#: lutris/gui/widgets/game_bar.py:174 #, python-format msgid "" "Platform:\n" "%s" msgstr "" +"Platform:\n" +"%s" -#: lutris/gui/widgets/game_bar.py:159 +#: lutris/gui/widgets/game_bar.py:183 #, python-format msgid "" "Time played:\n" "%s" msgstr "" +"Zaman oynandı:\n" +"%s" -#: lutris/gui/widgets/game_bar.py:168 +#: lutris/gui/widgets/game_bar.py:192 #, python-format msgid "" "Last played:\n" "%s" msgstr "" -"En son oynandı:\n" +"Son oynanan:\n" "%s" -#: lutris/gui/widgets/game_bar.py:204 +#: lutris/gui/widgets/game_bar.py:214 msgid "Launching" -msgstr "Başlatılıyor" +msgstr "Çalıştırılıyor" -#: lutris/gui/widgets/sidebar.py:133 lutris/gui/widgets/sidebar.py:169 -#: lutris/gui/widgets/sidebar.py:213 +#: lutris/gui/widgets/sidebar.py:156 lutris/gui/widgets/sidebar.py:189 +#: lutris/gui/widgets/sidebar.py:234 msgid "Run" msgstr "Çalıştır" -#: lutris/gui/widgets/sidebar.py:136 lutris/gui/widgets/sidebar.py:170 +#: lutris/gui/widgets/sidebar.py:157 lutris/gui/widgets/sidebar.py:190 msgid "Reload" -msgstr "Doldur" +msgstr "Yeniden Yükle" -#: lutris/gui/widgets/sidebar.py:171 +#: lutris/gui/widgets/sidebar.py:191 msgid "Disconnect" -msgstr "Çık" +msgstr "Bağlantıyı kes" -#: lutris/gui/widgets/sidebar.py:172 +#: lutris/gui/widgets/sidebar.py:192 msgid "Connect" msgstr "Bağlan" -#: lutris/gui/widgets/sidebar.py:208 +#: lutris/gui/widgets/sidebar.py:231 msgid "Manage Versions" msgstr "Sürümleri Yönet" -#: lutris/gui/widgets/sidebar.py:290 +#: lutris/gui/widgets/sidebar.py:277 lutris/gui/widgets/sidebar.py:317 +msgid "Edit Games" +msgstr "Oyunları Düzenle" + +#: lutris/gui/widgets/sidebar.py:399 msgid "Library" msgstr "Kütüphane" -#: lutris/gui/widgets/sidebar.py:293 -#, fuzzy +#: lutris/gui/widgets/sidebar.py:401 +msgid "Saved Searches" +msgstr "Kaydedilmiş Aramalar" + +#: lutris/gui/widgets/sidebar.py:404 msgid "Platforms" -msgstr "platformlar" +msgstr "Platformlar" -#: lutris/gui/widgets/sidebar.py:338 lutris/util/system.py:28 +#: lutris/gui/widgets/sidebar.py:458 lutris/util/system.py:32 msgid "Games" msgstr "Oyunlar" -#: lutris/gui/widgets/sidebar.py:347 +#: lutris/gui/widgets/sidebar.py:467 msgid "Recent" -msgstr "" +msgstr "Son eklenen" -#: lutris/gui/widgets/sidebar.py:356 +#: lutris/gui/widgets/sidebar.py:476 msgid "Favorites" msgstr "Favoriler" -#: lutris/gui/widgets/sidebar.py:363 -msgid "Missing" -msgstr "" +#: lutris/gui/widgets/sidebar.py:485 +msgid "Uncategorized" +msgstr "Kategorize edilmemiş" -#: lutris/gui/widgets/sidebar.py:371 +#: lutris/gui/widgets/sidebar.py:509 msgid "Running" -msgstr "Çalıştır" +msgstr "Çalışıyor" -#: lutris/gui/widgets/status_icon.py:67 -#, fuzzy +#: lutris/gui/widgets/status_icon.py:89 lutris/gui/widgets/status_icon.py:113 msgid "Show Lutris" -msgstr "Lutris Hakkında" +msgstr "Lutris'i göster" -#: lutris/gui/widgets/status_icon.py:72 +#: lutris/gui/widgets/status_icon.py:94 msgid "Quit" -msgstr "Çık" +msgstr "Çıkış" + +#: lutris/gui/widgets/status_icon.py:111 +msgid "Hide Lutris" +msgstr "Lutris'i Gizle" -#: lutris/installer/commands.py:67 +#: lutris/installer/commands.py:61 +#, python-format +msgid "Invalid runner provided %s" +msgstr "Oynatıcı sağlanamadı %s" + +#: lutris/installer/commands.py:77 #, python-brace-format msgid "One of {params} parameter is mandatory for the {cmd} command" -msgstr "" +msgstr "{Params} parametresinden biri {cmd} komutu için zorunludur" -#: lutris/installer/commands.py:68 lutris/installer/interpreter.py:157 -#: lutris/installer/interpreter.py:180 +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 +#: lutris/installer/interpreter.py:190 msgid " or " -msgstr "ya da" +msgstr " ya da " -#: lutris/installer/commands.py:74 +#: lutris/installer/commands.py:85 #, python-brace-format msgid "The {param} parameter is mandatory for the {cmd} command" -msgstr "" +msgstr "{Param} parametresi {cmd} komutu için zorunludur" -#: lutris/installer/commands.py:91 +#: lutris/installer/commands.py:95 #, python-format msgid "Invalid file '%s'. Can't make it executable" -msgstr "" +msgstr "Geçersiz dosya '%s'. Yürütülebilir dosya haline gelemez" -#: lutris/installer/commands.py:104 +#: lutris/installer/commands.py:108 msgid "" "Parameters file and command can't be used at the same time for the execute " "command" msgstr "" +"Dosya ve komut parametreleri yürütme " +"komutu için aynı anda kullanılamaz" -#: lutris/installer/commands.py:139 +#: lutris/installer/commands.py:142 msgid "No parameters supplied to execute command." -msgstr "" +msgstr "Komutu çalıştırmak için parametre sağlanmadı." -#: lutris/installer/commands.py:153 +#: lutris/installer/commands.py:158 #, python-format msgid "Unable to find executable %s" -msgstr "" +msgstr "Yürütülebilir dosyaları bulunamıyor %s" -#: lutris/installer/commands.py:187 +#: lutris/installer/commands.py:192 #, python-format msgid "%s does not exist" -msgstr "" +msgstr "%s mevcut değil" -#: lutris/installer/commands.py:193 +#: lutris/installer/commands.py:198 lutris/runtime.py:129 #, python-format msgid "Extracting %s" -msgstr "" +msgstr "Çıkartılıyor %s" -#: lutris/installer/commands.py:226 +#: lutris/installer/commands.py:232 msgid "" "Insert or mount game disc and click Autodetect or\n" "use Browse if the disc is mounted on a non standard location." msgstr "" +"Oyun diskini ekleyin veya bağlayın ve Autodetect (Otomatik Algıla) seçeneğine " +"tıklayın veya\n" +"disk standart olmayan bir konuma bağlanmışsa Browse (Gözat) seçeneğini kullan" +"ın." -#: lutris/installer/commands.py:230 +#: lutris/installer/commands.py:238 #, python-format msgid "" "\n" @@ -1843,915 +3176,1403 @@ msgid "" "containing the following file or folder:\n" "%s" msgstr "" +"\n" +"\n" +"Lutris, aşağıdaki dosya veya klasörü içeren bağlı bir disk sürücüsü veya görün" +"tü \n" +"arıyor:\n" +"%s" -#: lutris/installer/commands.py:252 +#: lutris/installer/commands.py:261 #, python-format msgid "The required file '%s' could not be located." -msgstr "" +msgstr "Gerekli dosya ‘%s’ bulunamadı." -#: lutris/installer/commands.py:273 +#: lutris/installer/commands.py:282 #, python-format msgid "Source does not exist: %s" -msgstr "" +msgstr "Kaynak mevcut değil: %s" -#: lutris/installer/commands.py:299 +#: lutris/installer/commands.py:308 #, python-format msgid "Invalid source for 'move' operation: %s" -msgstr "" +msgstr "'Taşı' işlemi için geçersiz kaynak: %s" -#: lutris/installer/commands.py:318 +#: lutris/installer/commands.py:327 #, python-brace-format msgid "" "Can't move {src} \n" "to destination {dst}" msgstr "" +"Taşıyamıyorum {src} \n" +"hedefe {dst}" -#: lutris/installer/commands.py:325 +#: lutris/installer/commands.py:334 #, python-format msgid "Rename error, source path does not exist: %s" -msgstr "" +msgstr "Yeniden adlandırma hatası, kaynak yol mevcut değil: %s" -#: lutris/installer/commands.py:332 +#: lutris/installer/commands.py:341 #, python-format msgid "Rename error, destination already exists: %s" -msgstr "" +msgstr "Yeniden adlandırma hatası, hedef zaten mevcut: %s" -#: lutris/installer/commands.py:348 +#: lutris/installer/commands.py:357 msgid "Missing parameter src" -msgstr "" +msgstr "Eksik parametre src" -#: lutris/installer/commands.py:351 +#: lutris/installer/commands.py:360 msgid "Wrong value for 'src' param" -msgstr "" +msgstr "'src' parametresi için yanlış değer" -#: lutris/installer/commands.py:355 +#: lutris/installer/commands.py:364 msgid "Wrong value for 'dst' param" -msgstr "" +msgstr "'dst' parametresi için yanlış değer" -#: lutris/installer/commands.py:446 +#: lutris/installer/commands.py:439 #, python-format msgid "Command exited with code %s" -msgstr "" +msgstr "Komut %s kodu ile çıkıldı" -#: lutris/installer/commands.py:465 +#: lutris/installer/commands.py:458 #, python-format msgid "Wrong value for write_file mode: '%s'" -msgstr "" +msgstr "write_file modu için yanlış değer: '%s'" -#: lutris/installer/commands.py:643 +#: lutris/installer/commands.py:651 msgid "install_or_extract only works with wine!" -msgstr "" +msgstr "install_or_extract sadece wine ile çalışır!" -#: lutris/installer/installer.py:161 +#: lutris/installer/errors.py:49 #, python-format -msgid "YOu are not authenticated to %s" -msgstr "" - -#: lutris/installer/installer.py:200 -msgid "Game config key must be a string" -msgstr "" +msgid "This game requires %s." +msgstr "Bu oyun için gerekli %s." -#: lutris/installer/installer.py:250 -msgid "Invalid 'game' section" -msgstr "" +#: lutris/installer/installer_file_collection.py:86 +msgid "File" +msgstr "Dosya" -#: lutris/installer/installer_file.py:34 +#: lutris/installer/installer_file.py:48 #, python-format msgid "missing field `url` for file `%s`" -msgstr "" +msgstr "%s` dosyası için eksik `url` alanı" -#: lutris/installer/installer_file.py:53 +#: lutris/installer/installer_file.py:67 #, python-format msgid "missing field `filename` in file `%s`" -msgstr "" +msgstr "%s` dosyasında eksik `filename` alanı" -#: lutris/installer/installer_file.py:110 +#: lutris/installer/installer_file.py:162 #, python-brace-format msgid "{file} on {host}" -msgstr "" +msgstr "{file} üzerinde {host}" -#: lutris/installer/installer_file.py:211 +#: lutris/installer/installer_file.py:254 msgid "Invalid checksum, expected format (type:hash) " -msgstr "" +msgstr "Geçersiz checksum, beklenen format (type:hash)" -#: lutris/installer/installer_file.py:214 +#: lutris/installer/installer_file.py:261 msgid " checksum mismatch " -msgstr "" +msgstr " checksum hatalı " + +#: lutris/installer/installer.py:38 +#, python-format +msgid "The script was missing the '%s' key, which is required." +msgstr "Kodda gerekli olan ‘%s’ anahtarı eksikti." + +#: lutris/installer/installer.py:218 +msgid "Game config key must be a string" +msgstr "Oyun ayar anahtarı metin olmalı" + +#: lutris/installer/installer.py:266 +msgid "Invalid 'game' section" +msgstr "Geçersiz 'oyun' bölümü" -#: lutris/installer/interpreter.py:86 +#: lutris/installer/interpreter.py:85 msgid "This installer doesn't have a 'script' section" -msgstr "" +msgstr "Bu yükleyicinin bir ‘script’ bölümü yok" -#: lutris/installer/interpreter.py:92 +#: lutris/installer/interpreter.py:91 msgid "" "Invalid script: \n" "{}" msgstr "" +"Geçersiz betik: \n" +"{}" -#: lutris/installer/interpreter.py:157 lutris/installer/interpreter.py:160 +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 #, python-format msgid "This installer requires %s on your system" -msgstr "" +msgstr "Bu yükleyici sisteminizde %s gerektirir" -#: lutris/installer/interpreter.py:173 +#: lutris/installer/interpreter.py:183 msgid "You need to install {} before" -msgstr "Önce {} yüklemen gerekiyor" +msgstr "Önce {} indirmen lazım" -#: lutris/installer/interpreter.py:223 +#: lutris/installer/interpreter.py:232 msgid "Lutris does not have the necessary permissions to install to path:" -msgstr "" +msgstr "Lutris, yola yüklemek için gerekli izinlere sahip değil:" -#: lutris/installer/interpreter.py:307 +#: lutris/installer/interpreter.py:237 #, python-format -msgid "Invalid runner provided %s" -msgstr "" +msgid "Path %s not found, unable to create game folder. Is the disk mounted?" +msgstr "Yol %s bulunamadı, oyun klasörü oluşturulamıyor. Disk bağlı mı?" -#: lutris/installer/interpreter.py:345 +#: lutris/installer/interpreter.py:312 msgid "Installer commands are not formatted correctly" -msgstr "" +msgstr "Yükleyici komutları doğru biçimlendirilmemiş" -#: lutris/installer/interpreter.py:393 +#: lutris/installer/interpreter.py:364 #, python-format msgid "The command \"%s\" does not exist." -msgstr "" +msgstr "“%s” komutu mevcut değil." -#: lutris/installer/interpreter.py:413 +#: lutris/installer/interpreter.py:374 #, python-format msgid "" "The executable at path %s can't be found, please check the destination " "folder.\n" "Some parts of the installation process may have not completed successfully." msgstr "" +"%s yolundaki yürütülebilir dosya bulunamıyor, lütfen hedef " +"klasörünü kontrol edin.\n" +"Yükleme işleminin bazı bölümleri başarıyla tamamlanmamış olabilir." -#: lutris/installer/interpreter.py:418 +#: lutris/installer/interpreter.py:381 msgid "Installation completed!" msgstr "Yükleme tamamlandı!" -#: lutris/installer/steam_installer.py:47 +#: lutris/installer/steam_installer.py:43 #, python-format msgid "Malformed steam path: %s" -msgstr "" +msgstr "Hatalı biçimlendirilmiş Steam yolu: %s" -#: lutris/runners/atari800.py:15 +#: lutris/runners/atari800.py:16 msgid "Desktop resolution" msgstr "Masaüstü çözünürlüğü" -#: lutris/runners/atari800.py:20 +#: lutris/runners/atari800.py:21 msgid "Atari800" -msgstr "" +msgstr "Atari800" -#: lutris/runners/atari800.py:21 +#: lutris/runners/atari800.py:22 msgid "Atari 8bit computers" -msgstr "" +msgstr "Atari 8bit bilgisayarları" -#: lutris/runners/atari800.py:24 +#: lutris/runners/atari800.py:25 msgid "Atari 400, 800 and XL emulator" -msgstr "" +msgstr "Atari 400, 800 ve XL emülatör" -#: lutris/runners/atari800.py:38 +#: lutris/runners/atari800.py:39 msgid "" "The game data, commonly called a ROM image. \n" "Supported formats: ATR, XFD, DCM, ATR.GZ, XFD.GZ and PRO." msgstr "" +"Genellikle ROM görüntüsü olarak adlandırılan oyun verileri. \n" +"Desteklenen formatlar: ATR, XFD, DCM, ATR.GZ, XFD.GZ ve PRO." -#: lutris/runners/atari800.py:49 +#: lutris/runners/atari800.py:50 msgid "BIOS location" -msgstr "Yerel BIOS" +msgstr "BIOS yolu" -#: lutris/runners/atari800.py:51 +#: lutris/runners/atari800.py:52 msgid "" "A folder containing the Atari 800 BIOS files.\n" "They are provided by Lutris so you shouldn't have to change this." msgstr "" +"Atari 800 BIOS dosyalarını içeren bir klasör.\n" +"Lutris tarafından sağlanırlar, bu yüzden bunu değiştirmeniz gerekmez." -#: lutris/runners/atari800.py:60 +#: lutris/runners/atari800.py:61 msgid "Emulate Atari 800" -msgstr "" +msgstr "Atari 800'i emüle et" -#: lutris/runners/atari800.py:61 +#: lutris/runners/atari800.py:62 msgid "Emulate Atari 800 XL" -msgstr "" +msgstr "Atari 800 XL emüle et" -#: lutris/runners/atari800.py:62 +#: lutris/runners/atari800.py:63 msgid "Emulate Atari 320 XE (Compy Shop)" -msgstr "" +msgstr "Atari 320 XE (Compy Shop) emüle et" -#: lutris/runners/atari800.py:63 +#: lutris/runners/atari800.py:64 msgid "Emulate Atari 320 XE (Rambo)" -msgstr "" +msgstr "Atari 320 XE (Rambo) emüle et" -#: lutris/runners/atari800.py:64 +#: lutris/runners/atari800.py:65 msgid "Emulate Atari 5200" -msgstr "" +msgstr "Atari 5200 emüle et" -#: lutris/runners/atari800.py:67 lutris/runners/mame.py:83 -#: lutris/runners/vice.py:88 +#: lutris/runners/atari800.py:68 lutris/runners/mame.py:85 +#: lutris/runners/vice.py:86 msgid "Machine" -msgstr "Makina" - -#: lutris/runners/atari800.py:73 lutris/runners/easyrpg.py:144 -#: lutris/runners/hatari.py:71 lutris/runners/jzintv.py:43 -#: lutris/runners/libretro.py:97 lutris/runners/mame.py:157 -#: lutris/runners/mednafen.py:74 lutris/runners/mupen64plus.py:28 -#: lutris/runners/o2em.py:75 lutris/runners/osmose.py:34 -#: lutris/runners/pcsx2.py:26 lutris/runners/pico8.py:38 -#: lutris/runners/redream.py:24 lutris/runners/reicast.py:41 -#: lutris/runners/scummvm.py:76 lutris/runners/snes9x.py:36 -#: lutris/runners/vice.py:57 lutris/runners/xemu.py:24 -#: lutris/runners/yuzu.py:40 +msgstr "Makine" + +#: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 +#: lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 +#: lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 +#: lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 +#: lutris/runners/easyrpg.py:337 lutris/runners/easyrpg.py:345 +#: lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 +#: lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 +#: lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 +#: lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 +#: lutris/runners/hatari.py:79 lutris/runners/hatari.py:94 +#: lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 +#: lutris/runners/mame.py:166 lutris/runners/mame.py:173 +#: lutris/runners/mame.py:190 lutris/runners/mame.py:204 +#: lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 +#: lutris/runners/mednafen.py:89 lutris/runners/o2em.py:79 +#: lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 +#: lutris/runners/pico8.py:45 lutris/runners/redream.py:24 +#: lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 +#: lutris/runners/scummvm.py:118 lutris/runners/scummvm.py:126 +#: lutris/runners/scummvm.py:139 lutris/runners/scummvm.py:162 +#: lutris/runners/scummvm.py:182 lutris/runners/scummvm.py:197 +#: lutris/runners/scummvm.py:221 lutris/runners/scummvm.py:239 +#: lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 +#: lutris/runners/vice.py:51 lutris/runners/vice.py:58 +#: lutris/runners/vice.py:65 lutris/runners/vice.py:72 +#: lutris/runners/wine.py:290 lutris/runners/wine.py:305 +#: lutris/runners/wine.py:318 lutris/runners/wine.py:329 +#: lutris/runners/wine.py:341 lutris/runners/wine.py:353 +#: lutris/runners/wine.py:363 lutris/runners/wine.py:374 +#: lutris/runners/wine.py:385 lutris/runners/wine.py:398 +msgid "Graphics" +msgstr "Grafikler" + +#: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 +#: lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 +#: lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 +#: lutris/runners/libretro.py:95 lutris/runners/mame.py:167 +#: lutris/runners/mednafen.py:71 lutris/runners/mupen64plus.py:29 +#: lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 +#: lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 +#: lutris/runners/redream.py:24 lutris/runners/reicast.py:40 +#: lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 +#: lutris/runners/vice.py:52 lutris/runners/vita3k.py:41 +#: lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 msgid "Fullscreen" msgstr "Tam ekran" -#: lutris/runners/atari800.py:80 +#: lutris/runners/atari800.py:83 msgid "Fullscreen resolution" msgstr "Tam ekran çözünürlüğü" -#: lutris/runners/atari800.py:91 +#: lutris/runners/atari800.py:93 msgid "Could not download Atari 800 BIOS archive" -msgstr "" +msgstr "Atari 800 BIOS arşivi indirilemedi" -#: lutris/runners/commands/wine.py:255 lutris/util/wine/wine.py:233 -#, fuzzy -msgid "Wine is not installed" -msgstr "Wine yüklü değil" +#: lutris/runners/cemu.py:12 +msgid "Cemu" +msgstr "Cemu" -#: lutris/runners/dolphin.py:10 -msgid "GameCube and Wii emulator" -msgstr "GameCube ve Wii emulator" +#: lutris/runners/cemu.py:13 +msgid "Wii U" +msgstr "Wii U" -#: lutris/runners/dolphin.py:11 lutris/services/dolphin.py:28 -msgid "Dolphin" +#: lutris/runners/cemu.py:14 +msgid "Wii U emulator" +msgstr "Wii U emülatörü" + +#: lutris/runners/cemu.py:22 lutris/runners/easyrpg.py:24 +msgid "Game directory" +msgstr "Oyun dizini" + +#: lutris/runners/cemu.py:24 +msgid "" +"The directory in which the game lives. If installed into Cemu, this will be " +"in the mlc directory, such as mlc/usr/title/00050000/101c9500." msgstr "" +"Oyunun bulunduğu dizin. Eğer Cemu'ya kurulursa, bu " +"mlc dizini içinde olacaktır, örneğin mlc/usr/title/00050000/101c9500 gibi." -#: lutris/runners/dolphin.py:12 lutris/runners/dolphin.py:27 -msgid "Nintendo GameCube" +#: lutris/runners/cemu.py:31 +msgid "Compressed ROM" +msgstr "Sıkıştırılmış ROM" + +#: lutris/runners/cemu.py:32 +msgid "" +"A game compressed into a single file (WUA format), only use if not using " +"game directory" msgstr "" +"Tek bir dosyaya sıkıştırılmış bir oyun (WUA formatı), yalnızca " +"oyun dizini kullanılmıyorsa kullanın" -#: lutris/runners/dolphin.py:12 lutris/runners/dolphin.py:27 +#: lutris/runners/cemu.py:44 +msgid "Custom mlc folder location" +msgstr "Özel mlc klasör konumu" + +#: lutris/runners/cemu.py:49 +msgid "Render in upside down mode" +msgstr "Baş aşağı modda oluşturma" + +#: lutris/runners/cemu.py:56 +msgid "NSight debugging options" +msgstr "NSight hata ayıklama seçenekleri" + +#: lutris/runners/cemu.py:63 +msgid "Intel legacy graphics mode" +msgstr "İntel eski grafik modu" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 +msgid "Nintendo GameCube" +msgstr "Nintendo GameCube" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 msgid "Nintendo Wii" -msgstr "" +msgstr "Nintendo Wii" -#: lutris/runners/dolphin.py:21 lutris/runners/pcsx2.py:18 -#: lutris/runners/xemu.py:17 -msgid "ISO file" -msgstr "ISO dosyası" +#: lutris/runners/dolphin.py:15 +msgid "GameCube and Wii emulator" +msgstr "GameCube ve Wii emulator" -#: lutris/runners/dolphin.py:34 lutris/runners/pcsx2.py:38 -#: lutris/runners/rpcs3.py:23 -msgid "No GUI" -msgstr "GUI yok" +#: lutris/runners/dolphin.py:16 lutris/services/dolphin.py:29 +msgid "Dolphin" +msgstr "Dolphin" -#: lutris/runners/dolphin.py:36 -msgid "Disable the graphical user interface." -msgstr "Grafiksel kullanıcı arayüzünü devre dışı bırak" +#: lutris/runners/dolphin.py:29 lutris/runners/pcsx2.py:22 +#: lutris/runners/xemu.py:19 +msgid "ISO file" +msgstr "ISO dosyası" -#: lutris/runners/dolphin.py:41 +#: lutris/runners/dolphin.py:42 msgid "Batch" -msgstr "" +msgstr "Batch" -#: lutris/runners/dolphin.py:44 +#: lutris/runners/dolphin.py:45 msgid "Exit Dolphin with emulator." -msgstr "" +msgstr "Dolphin'den emülatör ile çık" -#: lutris/runners/dolphin.py:50 +#: lutris/runners/dolphin.py:52 msgid "Custom Global User Directory" -msgstr "" +msgstr "Özel Küresel Kullanıcı Dizini" -#: lutris/runners/dosbox.py:13 +#: lutris/runners/dosbox.py:16 msgid "DOSBox" -msgstr "" +msgstr "DOSBox" -#: lutris/runners/dosbox.py:14 +#: lutris/runners/dosbox.py:17 msgid "MS-DOS emulator" -msgstr "" +msgstr "MS-DOS emülatörü" -#: lutris/runners/dosbox.py:15 +#: lutris/runners/dosbox.py:18 msgid "MS-DOS" -msgstr "" +msgstr "MS-DOS" -#: lutris/runners/dosbox.py:23 +#: lutris/runners/dosbox.py:26 msgid "Main file" msgstr "Ana dosya" -#: lutris/runners/dosbox.py:25 +#: lutris/runners/dosbox.py:28 msgid "" "The CONF, EXE, COM or BAT file to launch.\n" -"It can be left blank if the launch of the executable is managed in the " -"config file." +"If the executable is managed in the config file, this should be the config " +"file, instead specifying it in 'Configuration file'." msgstr "" +"Başlatılacak CONF, EXE, COM veya BAT dosyası.\n" +"Yürütülebilir dosya yapılandırma dosyasında yönetiliyorsa, bu yapılandırma " +"dosyası olmalıdır, bunun yerine 'Yapılandırma dosyası'nda belirtilmelidir." -#: lutris/runners/dosbox.py:33 +#: lutris/runners/dosbox.py:36 msgid "Configuration file" -msgstr "" +msgstr "Dosya ayarları" -#: lutris/runners/dosbox.py:35 +#: lutris/runners/dosbox.py:38 msgid "" "Start DOSBox with the options specified in this file. \n" "It can have a section in which you can put commands to execute on startup. " "Read DOSBox's documentation for more information." msgstr "" +"DOSBox'ı bu dosyada belirtilen seçeneklerle başlatın. \n" +"Başlangıçta çalıştırılacak komutları koyabileceğiniz bir bölüme sahip olabilir" +". " +"Daha fazla bilgi için DOSBox'ın belgelerini okuyun." -#: lutris/runners/dosbox.py:44 +#: lutris/runners/dosbox.py:47 msgid "Command line arguments" msgstr "Komut satırı argümanları" -#: lutris/runners/dosbox.py:45 +#: lutris/runners/dosbox.py:48 msgid "Command line arguments used when launching DOSBox" -msgstr "" +msgstr "DOSBox başlatılırken kullanılan komut satırı argümanları" -#: lutris/runners/dosbox.py:51 lutris/runners/flatpak.py:73 -#: lutris/runners/linux.py:40 lutris/runners/wine.py:63 +#: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 +#: lutris/runners/linux.py:39 lutris/runners/wine.py:222 msgid "Working directory" -msgstr "Dizin çalışıyor" +msgstr "Çalışan dizin" -#: lutris/runners/dosbox.py:53 lutris/runners/linux.py:42 -#: lutris/runners/wine.py:65 +#: lutris/runners/dosbox.py:57 lutris/runners/linux.py:41 +#: lutris/runners/wine.py:224 msgid "" "The location where the game is run from.\n" "By default, Lutris uses the directory of the executable." msgstr "" +"Oyunun çalıştırıldığı konum.\n" +"Varsayılan olarak, Lutris çalıştırılabilir dosyanın dizinini kullanır." -#: lutris/runners/dosbox.py:61 -msgid "none" -msgstr "boş" - -#: lutris/runners/dosbox.py:85 lutris/runners/scummvm.py:101 -msgid "Graphic scaler" -msgstr "" +#: lutris/runners/dosbox.py:66 +msgid "Open game in fullscreen" +msgstr "Oyunu tam ekran aç" -#: lutris/runners/dosbox.py:93 lutris/runners/scummvm.py:119 -msgid "" -"The algorithm used to scale up the game's base resolution, resulting in " -"different visual styles. " -msgstr "" +#: lutris/runners/dosbox.py:69 +msgid "Tells DOSBox to launch the game in fullscreen." +msgstr "DOSBox'a oyunu tam ekran başlatmasını söyle" -#: lutris/runners/dosbox.py:98 +#: lutris/runners/dosbox.py:73 msgid "Exit DOSBox with the game" -msgstr "" +msgstr "Oyundan çıkınca DOSBox'da çıksın" -#: lutris/runners/dosbox.py:101 +#: lutris/runners/dosbox.py:76 msgid "Shut down DOSBox when the game is quit." -msgstr "" +msgstr "Oyundan çıkınca DOSBox'u kapat." -#: lutris/runners/dosbox.py:105 -msgid "Open game in fullscreen" +#: lutris/runners/duckstation.py:13 +msgid "DuckStation" +msgstr "DuckStation" + +#: lutris/runners/duckstation.py:14 +msgid "PlayStation 1 Emulator" +msgstr "PlayStation 1 emülatörü" + +#: lutris/runners/duckstation.py:15 lutris/runners/mednafen.py:31 +msgid "Sony PlayStation" +msgstr "Sony PlayStation" + +#: lutris/runners/duckstation.py:37 +msgid "Enters fullscreen mode immediately after starting." +msgstr "Başladıktan hemen sonra tam ekran moduna girer." + +#: lutris/runners/duckstation.py:43 +msgid "No Fullscreen" +msgstr "Tam ekran yapma" + +#: lutris/runners/duckstation.py:45 +msgid "Prevents fullscreen mode from triggering if enabled." +msgstr "Etkinleştirilmişse tam ekran modunun tetiklenmesini önler." + +#: lutris/runners/duckstation.py:51 +msgid "Batch Mode" +msgstr "Batch Modu" + +#: lutris/runners/duckstation.py:52 lutris/runners/duckstation.py:61 +#: lutris/runners/duckstation.py:69 +msgid "Boot" +msgstr "Önyükleme" + +#: lutris/runners/duckstation.py:53 +msgid "Enables batch mode (exits after powering off)." +msgstr "Toplu iş modunu etkinleştirir (güç kapatıldıktan sonra çıkar)." + +#: lutris/runners/duckstation.py:60 +msgid "Force Fastboot" +msgstr "Fastboot'u Zorla" + +#: lutris/runners/duckstation.py:62 +msgid "Force fast boot." +msgstr "Hızlı önyüklemeye zorla" + +#: lutris/runners/duckstation.py:68 +msgid "Force Slowboot" +msgstr "Slowboot'u zorla" + +#: lutris/runners/duckstation.py:70 +msgid "Force slow boot." +msgstr "Yavaş önyüklemeye zorla." + +#: lutris/runners/duckstation.py:76 +msgid "No Controllers" +msgstr "Kontrolcü Yok" + +#: lutris/runners/duckstation.py:77 lutris/runners/o2em.py:64 +#: lutris/runners/o2em.py:72 +msgid "Controllers" +msgstr "Kontrolcüler" + +#: lutris/runners/duckstation.py:79 +msgid "" +"Prevents the emulator from polling for controllers. Try this option if " +"you're having difficulties starting the emulator." msgstr "" +"Emülatörün kontrolörler için yoklama yapmasını engeller. Eğer " +"emülatörü başlatmakta zorluk çekiyorsanız bu seçeneği deneyin." -#: lutris/runners/dosbox.py:108 -msgid "Tells DOSBox to launch the game in fullscreen." +#: lutris/runners/duckstation.py:87 +msgid "Custom configuration file" +msgstr "Özel yapılandırma dosyası" + +#: lutris/runners/duckstation.py:89 +msgid "" +"Loads a custom settings configuration from the specified filename. Default " +"settings applied if file not found." msgstr "" +"Belirtilen dosya adından özel bir ayar yapılandırması yükler. Dosya bulunamazs" +"a varsayılan " +"ayarları uygulanır." -#: lutris/runners/easyrpg.py:10 +#: lutris/runners/easyrpg.py:12 msgid "EasyRPG Player" -msgstr "" +msgstr "EasyRPG Player" -#: lutris/runners/easyrpg.py:11 +#: lutris/runners/easyrpg.py:13 msgid "Runs RPG Maker 2000/2003 games" -msgstr "" +msgstr "RPG Maker 2000/2003 oyunlarını çalıştır" -#: lutris/runners/easyrpg.py:12 lutris/runners/flatpak.py:18 -#: lutris/runners/linux.py:15 lutris/runners/linux.py:17 -#: lutris/runners/scummvm.py:14 lutris/runners/steam.py:31 +#: lutris/runners/easyrpg.py:14 lutris/runners/flatpak.py:22 +#: lutris/runners/linux.py:17 lutris/runners/linux.py:19 +#: lutris/runners/scummvm.py:56 lutris/runners/steam.py:31 #: lutris/runners/zdoom.py:15 msgid "Linux" -msgstr "" +msgstr "Linux" -#: lutris/runners/easyrpg.py:22 -msgid "Game directory" -msgstr "Oyun dizini" - -#: lutris/runners/easyrpg.py:23 -msgid "Select the directory of the game. (required)" -msgstr "" +#: lutris/runners/easyrpg.py:25 +msgid "Select the directory of the game. (required)" +msgstr "Oyun için dizin seçiniz. (zorunlu)***" -#: lutris/runners/easyrpg.py:28 +#: lutris/runners/easyrpg.py:31 msgid "Encoding" -msgstr "Çözücü" +msgstr "Şifreleme" -#: lutris/runners/easyrpg.py:30 +#: lutris/runners/easyrpg.py:33 msgid "" "Instead of auto detecting the encoding or using the one in RPG_RT.ini, the " -"specified encoding is used. Use 'auto' for automatic detection." -msgstr "" +"specified encoding is used." +msgstr "" +"Kodlamayı otomatik olarak algılamak veya RPG_RT.ini'deki kodlamayı kullanmak y" +"erine, " +"adresinde belirtilen kodlama kullanılır." + +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 +#: lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 +#: lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 +#: lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 +#: lutris/runners/scummvm.py:225 lutris/runners/wine.py:242 +#: lutris/runners/wine.py:537 lutris/sysoptions.py:50 +msgid "Auto" +msgstr "Otomatik" + +#: lutris/runners/easyrpg.py:37 +msgid "Auto (ignore RPG_RT.ini)" +msgstr "Otomatik (RPG_RT.ini'yi görmezden gel)" #: lutris/runners/easyrpg.py:38 +msgid "Western European" +msgstr "Batı Avrupa" + +#: lutris/runners/easyrpg.py:39 +msgid "Central/Eastern European" +msgstr "Orta/Doğu Avrupa" + +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 +#: lutris/sysoptions.py:39 +msgid "Japanese" +msgstr "Japonca" + +#: lutris/runners/easyrpg.py:41 +msgid "Cyrillic" +msgstr "Kiril" + +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 +msgid "Korean" +msgstr "Korece" + +#: lutris/runners/easyrpg.py:43 +msgid "Chinese (Simplified)" +msgstr "Çince (Basitleştirilmiş)" + +#: lutris/runners/easyrpg.py:44 +msgid "Chinese (Traditional)" +msgstr "Çince (Geleneksel)" + +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 +msgid "Greek" +msgstr "Yunanca" + +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 +msgid "Turkish" +msgstr "Türkçe" + +#: lutris/runners/easyrpg.py:47 +msgid "Hebrew" +msgstr "Hebrew" + +#: lutris/runners/easyrpg.py:48 +msgid "Arabic" +msgstr "Arapça" + +#: lutris/runners/easyrpg.py:49 +msgid "Baltic" +msgstr "Baltık" + +#: lutris/runners/easyrpg.py:50 +msgid "Thai" +msgstr "Tayca" + +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 msgid "Engine" msgstr "Motor" -#: lutris/runners/easyrpg.py:39 +#: lutris/runners/easyrpg.py:59 msgid "Disable auto detection of the simulated engine." -msgstr "" - -#: lutris/runners/easyrpg.py:41 lutris/runners/fsuae.py:156 -#: lutris/runners/mame.py:173 lutris/runners/wine.py:84 -#: lutris/runners/wine.py:418 -msgid "Auto" -msgstr "Otomatik" +msgstr "Simüle edilen motorun otomatik algılamasını devre dışı bırak." -#: lutris/runners/easyrpg.py:42 +#: lutris/runners/easyrpg.py:62 msgid "RPG Maker 2000 engine (v1.00 - v1.10)" -msgstr "" +msgstr "RPG Maker 2000 motor (v1.00 - v1.10)" -#: lutris/runners/easyrpg.py:43 +#: lutris/runners/easyrpg.py:63 msgid "RPG Maker 2000 engine (v1.50 - v1.51)" -msgstr "" +msgstr "RPG Maker 2000 motor (v1.50 - v1.51)" -#: lutris/runners/easyrpg.py:44 +#: lutris/runners/easyrpg.py:64 msgid "RPG Maker 2000 (English release) engine" -msgstr "" +msgstr "RPG Maker 2000 (İngilice yayınlanmış) engine" -#: lutris/runners/easyrpg.py:45 +#: lutris/runners/easyrpg.py:65 msgid "RPG Maker 2003 engine (v1.00 - v1.04)" -msgstr "" +msgstr "RPG Maker 2003 motoru (v1.00 - v1.04)" -#: lutris/runners/easyrpg.py:46 +#: lutris/runners/easyrpg.py:66 msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" -msgstr "" +msgstr "RPG Maker 2003 motoru (v1.05 - v1.09a)" -#: lutris/runners/easyrpg.py:47 +#: lutris/runners/easyrpg.py:67 msgid "RPG Maker 2003 (English release) engine" +msgstr "RPG Maker 2003 (İngilizce yayınlanmış) motor" + +#: lutris/runners/easyrpg.py:75 +msgid "Patches" +msgstr "Yamalar" + +#: lutris/runners/easyrpg.py:77 +msgid "" +"Instead of autodetecting patches used by this game, force emulation of " +"certain patches.\n" +"\n" +"Available patches:\n" +"common-this: \"This Event\" in common eventsdynrpg: DynRPG " +"patch by Cherrykey-patch: Key Patch by Inelukimaniac: Maniac " +"Patch by BingShanpic-unlock: Pictures are not blocked by " +"messagesrpg2k3-cmds: Support all RPG Maker 2003 event commands in any " +"version of the engine\n" +"\n" +"You can provide multiple patches or use 'none' to disable all engine patches." msgstr "" +"Bu oyun tarafından kullanılan yamaları otomatik olarak algılamak yerine, " +"belirli yamaların emülasyonunu zorlayın.\n" +"\n" +"Kullanılabilir yamalar:\n" +"common-this: Ortak olaylarda \"Bu Olay\"dynrpg: Cherry tarafında" +"n DynRPG " +"yamasıkey-patch: Ineluki tarafından Anahtar Yamasımaniac: BingSh" +"an tarafından Maniac " +"Yamasıpic-unlock: Resimler " +"mesajları tarafından engellenmezrpg2k3-cmds: Motorun herhangi bir " +"sürümünde tüm RPG Maker 2003 olay komutlarını destekleyin\n" +"\n" +"Birden fazla yama sağlayabilir veya tüm motor yamalarını devre dışı bırakmak i" +"çin 'none' kullanabilirsiniz." + +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 +msgid "Language" +msgstr "Dil" -#: lutris/runners/easyrpg.py:54 lutris/runners/zdoom.py:46 +#: lutris/runners/easyrpg.py:93 +msgid "Load the game translation in the language/LANG directory." +msgstr "language/LANG dizinindeki oyun çevirisini yükleyin." + +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 msgid "Save path" -msgstr "Yolu kopyala" +msgstr "Yolu kaydet" -#: lutris/runners/easyrpg.py:56 +#: lutris/runners/easyrpg.py:101 msgid "" "Instead of storing save files in the game directory they are stored in the " "specified path. The directory must exist." msgstr "" +"Kaydetme dosyaları oyun dizininde saklanmak yerine " +"adresinde belirtilen yolda saklanır. Dizin mevcut olmalıdır." -#: lutris/runners/easyrpg.py:63 +#: lutris/runners/easyrpg.py:108 msgid "New game" msgstr "Yeni oyun" -#: lutris/runners/easyrpg.py:64 +#: lutris/runners/easyrpg.py:109 msgid "Skip the title scene and start a new game directly." -msgstr "" +msgstr "Başlık sahnesini atlayın ve doğrudan yeni bir oyuna başlayın." -#: lutris/runners/easyrpg.py:70 +#: lutris/runners/easyrpg.py:115 msgid "Load game ID" -msgstr "Oyun kimliği yükle" +msgstr "Oyun ID'sini yükle" -#: lutris/runners/easyrpg.py:72 -msgid "Skip the title scene and load SaveXX.lsd. Set to '0' to disable." +#: lutris/runners/easyrpg.py:116 +msgid "" +"Skip the title scene and load SaveXX.lsd.\n" +"Set to 0 to disable." msgstr "" +"Başlık sahnesini atlayın ve SaveXX.lsd.\n dosyasını yükleyin" +"Devre dışı bırakmak için 0 olarak ayarlayın." + +#: lutris/runners/easyrpg.py:125 +msgid "Record input" +msgstr "Girdi kaydet" + +#: lutris/runners/easyrpg.py:126 +msgid "Records all button input to the specified log file." +msgstr "Tüm düğme girdilerini belirtilen günlük dosyasına kaydeder." + +#: lutris/runners/easyrpg.py:132 +msgid "Replay input" +msgstr "Girdileri yeniden oynat" + +#: lutris/runners/easyrpg.py:134 +msgid "" +"Replays button input from the specified log file, as generated by 'Record " +"input'.\n" +"If the RNG seed and the state of the save file directory is also the same as " +"it was when the log was recorded, this should reproduce an identical run to " +"the one recorded." +msgstr "" +"Belirtilen günlük dosyasındaki düğme girdisini, ' " +"girdisini kaydet' tarafından oluşturulduğu şekilde yeniden oynatır.\n" +"RNG tohumu ve kayıt dosyası dizininin durumu da " +"günlüğün kaydedildiği zamankiyle aynıysa, bu, " +"kaydedilenle aynı bir çalıştırmayı yeniden üretmelidir." + +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 +#: lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 +#: lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 +msgid "Debug" +msgstr "Hata ayıklama" + +#: lutris/runners/easyrpg.py:144 +msgid "Test play" +msgstr "Test oyna" + +#: lutris/runners/easyrpg.py:145 +msgid "Enable TestPlay (debug) mode." +msgstr "TestPlay (hata ayıklama) modunu etkinleştirin." + +#: lutris/runners/easyrpg.py:153 +msgid "Hide title" +msgstr "Başlığı gizle" + +#: lutris/runners/easyrpg.py:154 +msgid "Hide the title background image and center the command menu." +msgstr "Başlık arka plan görüntüsünü gizleyin ve komut menüsünü ortalayın." -#: lutris/runners/easyrpg.py:82 +#: lutris/runners/easyrpg.py:162 msgid "Start map ID" -msgstr "Harita kimliği başlat" +msgstr "Başlangıç Harita Kimliği" -#: lutris/runners/easyrpg.py:84 +#: lutris/runners/easyrpg.py:164 msgid "" -"Overwrite the map used for new games and use MapXXXX.lmu instead. Set to '0' " -"to disable. \n" +"Overwrite the map used for new games and use MapXXXX.lmu instead.\n" +"Set to 0 to disable.\n" "\n" "Incompatible with 'Load game ID'." msgstr "" +"Yeni oyunlar için kullanılan haritanın üzerine yazın ve bunun yerine MapXXXX.l" +"mu kullanın.\n" +"Devre dışı bırakmak için 0 olarak ayarlayın.\n" +"\n" +"'Oyun kimliğini yükle' ile uyumsuz." -#: lutris/runners/easyrpg.py:95 +#: lutris/runners/easyrpg.py:177 msgid "Start position" -msgstr "" +msgstr "Pozisyona başla" -#: lutris/runners/easyrpg.py:97 +#: lutris/runners/easyrpg.py:179 msgid "" "Overwrite the party start position and move the party to the specified " -"position. Provide two numbers separated by a space. \n" +"position.\n" +"Provide two numbers separated by a space.\n" "\n" "Incompatible with 'Load game ID'." msgstr "" +"Parti başlangıç konumunun üzerine yazın ve partiyi belirtilen " +"konumuna taşıyın.\n" +"Bir boşlukla ayrılmış iki sayı girin.\n" +"\n" +"'Oyun kimliğini yükle' ile uyumsuz." -#: lutris/runners/easyrpg.py:106 +#: lutris/runners/easyrpg.py:189 msgid "Start party" msgstr "Parti başlat" -#: lutris/runners/easyrpg.py:108 +#: lutris/runners/easyrpg.py:191 +msgid "" +"Overwrite the starting party members with the actors with the specified " +"IDs.\n" +"Provide one to four numbers separated by spaces.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Başlangıç partisi üyelerinin üzerine belirtilen " +"ID'lerine sahip oyuncuları yazın.\n" +"Boşluklarla ayrılmış bir ila dört sayı girin.\n" +"\n" +"'Oyun ID'sini yükle' ile uyumsuz." + +#: lutris/runners/easyrpg.py:201 +msgid "Battle test" +msgstr "Battle test" + +#: lutris/runners/easyrpg.py:202 +msgid "Start a battle test with the specified monster party." +msgstr "Belirtilen canavar partisi ile bir savaş testi başlat" + +#: lutris/runners/easyrpg.py:212 +msgid "AutoBattle algorithm" +msgstr "AutoBattle algoritması" + +#: lutris/runners/easyrpg.py:214 +msgid "" +"Which AutoBattle algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT " +"bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +"ATTACK: Like RPG_RT+ but only physical attacks, no skills." +msgstr "" +"Hangi AutoBattle algoritmasının kullanılacağı.\n" +"\n" +"RPG_RT: RPG_RT " +"hataları dahil varsayılan RPG_RT uyumlu algoritma.\n" +"RPG_RT+: Hata düzeltmeleri ile varsayılan RPG_RT uyumlu algoritma.\n" +"ATTACK: RPG_RT+ gibi ama sadece fiziksel saldırılar, beceri yok." + +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 +msgid "RPG_RT" +msgstr "RPG_RT" + +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 +msgid "RPG_RT+" +msgstr "RPG_RT+" + +#: lutris/runners/easyrpg.py:223 +msgid "ATTACK" +msgstr "SALDIR" + +#: lutris/runners/easyrpg.py:232 +msgid "EnemyAI algorithm" +msgstr "EnemyAI algoritması" + +#: lutris/runners/easyrpg.py:234 +msgid "" +"Which EnemyAI algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT " +"bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +msgstr "" +"Hangi EnemyAI algoritmasının kullanılacağı.\n" +"\n" +"RPG_RT: RPG_RT " +"hatalarını içeren varsayılan RPG_RT uyumlu algoritma.\n" +"RPG_RT+: Hata düzeltmelerini içeren varsayılan RPG_RT uyumlu algoritma." +"\n" + +#: lutris/runners/easyrpg.py:250 +msgid "RNG seed" +msgstr "RNG seed*" + +#: lutris/runners/easyrpg.py:251 msgid "" -"Overwrite the starting party members with the actors with the specified IDs. " -"Provide one to four numbers separated by spaces. \n" -"\n" -"Incompatible with 'Load game ID'." -msgstr "" +"Seeds the random number generator.\n" +"Use -1 to disable." +msgstr "" +"Rastgele sayı üretecini tohumlar.\n" +"Devre dışı bırakmak için -1 kullanın." + +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 +#: lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 +#: lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 +#: lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 +#: lutris/runners/scummvm.py:336 lutris/runners/scummvm.py:349 +#: lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 +#: lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 +#: lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 +#: lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 +msgid "Audio" +msgstr "Ses" -#: lutris/runners/easyrpg.py:117 -msgid "Monster party" -msgstr "Canavar partisi" +#: lutris/runners/easyrpg.py:260 +msgid "Enable audio" +msgstr "Sesi etkinleştir" -#: lutris/runners/easyrpg.py:118 -msgid "Start a battle test with the specified monster party." -msgstr "" +#: lutris/runners/easyrpg.py:261 +msgid "Switch off to disable audio." +msgstr "Sesi kapalıdan devre dışı bırak" -#: lutris/runners/easyrpg.py:123 -msgid "Record input" -msgstr "Girdi kaydet" +#: lutris/runners/easyrpg.py:268 +msgid "BGM volume" +msgstr "BGM düzeyi" -#: lutris/runners/easyrpg.py:124 -msgid "Records all button input to the specified log file." -msgstr "" +#: lutris/runners/easyrpg.py:269 +msgid "Volume of the background music." +msgstr "Arka plan müziğinin düzeyi**" -#: lutris/runners/easyrpg.py:129 -msgid "Replay input" -msgstr "Girdiği yeniden oynat" +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 +msgid "SFX volume" +msgstr "SFX düzeyi" -#: lutris/runners/easyrpg.py:131 -msgid "" -"Replays button input from the specified log file, as generated by 'Record " -"input'. If the RNG seed and the state of the save file directory is also the " -"same as it was when the log was recorded, this should reproduce an identical " -"run to the one recorded." -msgstr "" +#: lutris/runners/easyrpg.py:279 +msgid "Volume of the sound effects." +msgstr "Ses efektlerinin ses seviyesi." -#: lutris/runners/easyrpg.py:145 +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 +msgid "Soundfont" +msgstr "Soundfont" + +#: lutris/runners/easyrpg.py:290 +msgid "Soundfont in sf2 format to use when playing MIDI files." +msgstr "MIDI dosyalarını çalarken kullanmak için sf2 formatında ses içeriği." + +#: lutris/runners/easyrpg.py:297 msgid "Start in fullscreen mode." msgstr "Tam ekran modunda başlat" -#: lutris/runners/easyrpg.py:151 -msgid "Enable audio" -msgstr "Ses aktif" +#: lutris/runners/easyrpg.py:305 +msgid "Game resolution" +msgstr "Oyun çözünürlüğü" -#: lutris/runners/easyrpg.py:153 -msgid "Switch off to disable audio (in case you prefer your own music)." +#: lutris/runners/easyrpg.py:307 +msgid "" +"Force a different game resolution.\n" +"\n" +"This is experimental and can cause glitches or break games!" msgstr "" +"Farklı bir oyun çözünürlüğünü zorlayın.\n" +"\n" +"Bu deneyseldir ve aksaklıklara neden olabilir veya oyunları bozabilir!" -#: lutris/runners/easyrpg.py:161 -msgid "Enable mouse" -msgstr "Fare aktif" +#: lutris/runners/easyrpg.py:310 +msgid "320×240 (4:3, Original)" +msgstr "320×240 (4:3, Orijinal)" -#: lutris/runners/easyrpg.py:163 -msgid "Use mouse click for decision and scroll wheel for lists." -msgstr "" +#: lutris/runners/easyrpg.py:311 +msgid "416×240 (16:9, Widescreen)" +msgstr "416×240 (16:9, Geniş ekran)" -#: lutris/runners/easyrpg.py:170 -msgid "Enable touch" -msgstr "Dokunma aktif" +#: lutris/runners/easyrpg.py:312 +msgid "560×240 (21:9, Ultrawide)" +msgstr "560×240 (21:9, Ultra geniş ekran)" -#: lutris/runners/easyrpg.py:171 -msgid "Use one/two finger tap for decision/cancel." -msgstr "" +#: lutris/runners/easyrpg.py:320 +msgid "Scaling" +msgstr "Ölçeklendir" -#: lutris/runners/easyrpg.py:177 -msgid "Hide title" -msgstr "Başlığı gizle" +#: lutris/runners/easyrpg.py:322 +msgid "" +"How the video output is scaled.\n" +"\n" +"Nearest: Scale to screen size (causes scaling artifacts)\n" +"Integer: Scale to multiple of the game resolution\n" +"Bilinear: Like Nearest, but output is blurred to avoid artifacts\n" +msgstr "" +"Video çıkışı nasıl ölçeklendirilir.\n" +"\n" +"En Yakın: Ekran boyutuna ölçeklendir (ölçeklendirme yapaylıklarına nede" +"n olur)\n" +"Tamsayı: Oyun çözünürlüğünün katlarına ölçeklendir\n" +"Bilineer: En Yakın gibi, ancak yapaylıkları önlemek için çıktı bulanıkl" +"aştırılır\n" + +#: lutris/runners/easyrpg.py:328 +msgid "Nearest" +msgstr "En yakın" + +#: lutris/runners/easyrpg.py:329 +msgid "Integer" +msgstr "Tam sayı" + +#: lutris/runners/easyrpg.py:330 +msgid "Bilinear" +msgstr "Bilineer" + +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 +#: lutris/runners/scummvm.py:229 +msgid "Stretch" +msgstr "Esneme" -#: lutris/runners/easyrpg.py:179 -msgid "Hide the title background image and center the command menu." +#: lutris/runners/easyrpg.py:339 +msgid "" +"Ignore the aspect ratio and stretch video output to the entire width of the " +"screen." msgstr "" +"En boy oranını göz ardı edin ve video çıkışını " +"ekranının tüm genişliğine uzatın." -#: lutris/runners/easyrpg.py:186 +#: lutris/runners/easyrpg.py:346 msgid "Enable VSync" -msgstr "VSync aktif" +msgstr "VSync'i etkinleştir" -#: lutris/runners/easyrpg.py:188 -msgid "" -"Switch off to disable VSync and use the FPS limit. VSync may or may not be " -"supported on all platforms." -msgstr "" +#: lutris/runners/easyrpg.py:347 +msgid "Switch off to disable VSync and use the FPS limit." +msgstr "VSync'i devre dışı bırakmak ve FPS sınırını kullanmak için kapatın." -#: lutris/runners/easyrpg.py:196 lutris/sysoptions.py:368 +#: lutris/runners/easyrpg.py:354 msgid "FPS limit" -msgstr "" +msgstr "FPS limiti" -#: lutris/runners/easyrpg.py:198 +#: lutris/runners/easyrpg.py:356 msgid "" -"Set a custom frames per second limit. If unspecified, the default is 60 FPS. " -"Set to '0' to disable the frame limiter. This option may not be supported on " -"all platforms." +"Set a custom frames per second limit.\n" +"If unspecified, the default is 60 FPS.\n" +"Set to 0 to disable the frame limiter." msgstr "" +"Özel bir saniye başına kare sınırı belirleyin.\n" +"Belirtilmemişse, varsayılan 60 FPS'dir.\n" +"Kare sınırlayıcıyı devre dışı bırakmak için 0 olarak ayarlayın." -#: lutris/runners/easyrpg.py:206 lutris/runners/wine.py:444 +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:561 msgid "Show FPS" -msgstr "FPS'y göster" +msgstr "FPS'i Göster" -#: lutris/runners/easyrpg.py:207 +#: lutris/runners/easyrpg.py:369 msgid "Enable frames per second counter." -msgstr "" - -#: lutris/runners/easyrpg.py:209 lutris/runners/mednafen.py:85 -#: lutris/runners/wine.py:441 -msgid "Disabled" -msgstr "Devre dışı" +msgstr "Saniye başına kare sayacını etkinleştirin." -#: lutris/runners/easyrpg.py:210 +#: lutris/runners/easyrpg.py:372 msgid "Fullscreen & title bar" -msgstr "" +msgstr "Tam ekran && başlık barı" -#: lutris/runners/easyrpg.py:211 +#: lutris/runners/easyrpg.py:373 msgid "Fullscreen, title bar & window" -msgstr "" - -#: lutris/runners/easyrpg.py:218 -msgid "RNG seed" -msgstr "" - -#: lutris/runners/easyrpg.py:219 -msgid "Seeds the random number generator" -msgstr "" +msgstr "Tam ekran, başlık barı & pencere" -#: lutris/runners/easyrpg.py:224 -msgid "Test play" -msgstr "Testi oyna" - -#: lutris/runners/easyrpg.py:225 -msgid "Enable TestPlay mode." -msgstr "" +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 +#: lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 +msgid "Runtime Package" +msgstr "Çalışma zamanı Paketi" -#: lutris/runners/easyrpg.py:231 +#: lutris/runners/easyrpg.py:381 msgid "Enable RTP" -msgstr "" +msgstr "RTP'yi etkinleştir" -#: lutris/runners/easyrpg.py:233 +#: lutris/runners/easyrpg.py:382 msgid "Switch off to disable support for the Runtime Package (RTP)." msgstr "" +"Çalışma Zamanı Paketi (RTP) desteğini devre dışı bırakmak için kapatın." -#: lutris/runners/easyrpg.py:240 +#: lutris/runners/easyrpg.py:389 msgid "RPG2000 RTP location" -msgstr "" +msgstr "RPG2000 RTP yolu" -#: lutris/runners/easyrpg.py:242 +#: lutris/runners/easyrpg.py:390 msgid "" "Full path to a directory containing an extracted RPG Maker 2000 Run-Time-" "Package (RTP)." msgstr "" +"Çıkarılmış bir RPG Maker 2000 Run-Time-" +"Paketi (RTP) içeren bir dizinin tam yolu." -#: lutris/runners/easyrpg.py:249 +#: lutris/runners/easyrpg.py:396 msgid "RPG2003 RTP location" -msgstr "" +msgstr "RPG2003 RTP yolu" -#: lutris/runners/easyrpg.py:251 +#: lutris/runners/easyrpg.py:397 msgid "" "Full path to a directory containing an extracted RPG Maker 2003 Run-Time-" "Package (RTP)." msgstr "" +"Çıkarılmış bir RPG Maker 2003 Run-Time-" +"Paketi (RTP) içeren bir dizinin tam yolu." -#: lutris/runners/easyrpg.py:258 +#: lutris/runners/easyrpg.py:403 msgid "Fallback RTP location" -msgstr "" +msgstr "Fallback RTP konumu" -#: lutris/runners/easyrpg.py:259 +#: lutris/runners/easyrpg.py:404 msgid "Full path to a directory containing a combined RTP." -msgstr "" +msgstr "Birleştirilmiş RTP içeren bir dizinin tam yolu." -#: lutris/runners/easyrpg.py:349 +#: lutris/runners/easyrpg.py:517 msgid "No game directory provided" -msgstr "" - -#: lutris/runners/easyrpg.py:409 -msgid "The directory {} could not be found" -msgstr "" +msgstr "Oyun dizini sağlanmadı" -#: lutris/runners/flatpak.py:17 +#: lutris/runners/flatpak.py:21 msgid "Runs Flatpak applications" -msgstr "" +msgstr "Flatpak uygulamalarını çalıştır" -#: lutris/runners/flatpak.py:20 +#: lutris/runners/flatpak.py:24 msgid "Flatpak" -msgstr "" +msgstr "Flatpak" -#: lutris/runners/flatpak.py:32 lutris/runners/steam.py:37 +#: lutris/runners/flatpak.py:33 lutris/runners/steam.py:37 msgid "Application ID" -msgstr "" +msgstr "Uygulama ID" -#: lutris/runners/flatpak.py:33 +#: lutris/runners/flatpak.py:34 msgid "The application's unique three-part identifier (tld.domain.app)." -msgstr "" +msgstr "Uygulamanın benzersiz üç parçalı tanımlayıcısı (tld.domain.app)." -#: lutris/runners/flatpak.py:38 +#: lutris/runners/flatpak.py:39 msgid "Architecture" msgstr "Mimari" -#: lutris/runners/flatpak.py:39 +#: lutris/runners/flatpak.py:41 msgid "" "The architecture to run. See flatpak --supported-arches for architectures " "supported by the host." msgstr "" +"Çalıştırılacak mimari. Ana bilgisayar tarafından desteklenen " +"mimariler için flatpak --supported-arches bölümüne bakın." -#: lutris/runners/flatpak.py:46 +#: lutris/runners/flatpak.py:45 msgid "Branch" -msgstr "" +msgstr "Kol**" -#: lutris/runners/flatpak.py:47 +#: lutris/runners/flatpak.py:45 msgid "The branch to use." -msgstr "" +msgstr "Kullanılacak dal." -#: lutris/runners/flatpak.py:53 -#, fuzzy +#: lutris/runners/flatpak.py:49 msgid "Install type" -msgstr "Oynatıcı Yükle" +msgstr "Yükleme türü" -#: lutris/runners/flatpak.py:54 +#: lutris/runners/flatpak.py:50 msgid "Can be system or user." -msgstr "" +msgstr "Sistem veya kullanıcı olabilir." -#: lutris/runners/flatpak.py:60 +#: lutris/runners/flatpak.py:56 msgid "Args" -msgstr "" +msgstr "Argümanlar" -#: lutris/runners/flatpak.py:61 +#: lutris/runners/flatpak.py:57 msgid "Arguments to be passed to the application." -msgstr "" +msgstr "Uygulamaya aktarılacak bağımsız değişkenler." -#: lutris/runners/flatpak.py:66 +#: lutris/runners/flatpak.py:62 msgid "Command" msgstr "Komut" -#: lutris/runners/flatpak.py:67 +#: lutris/runners/flatpak.py:63 msgid "" "The command to run instead of the one listed in the application metadata." -msgstr "" +msgstr "Uygulama meta verilerinde listelenen yerine çalıştırılacak komut." -#: lutris/runners/flatpak.py:74 +#: lutris/runners/flatpak.py:71 msgid "" "The directory to run the command in. Note that this must be a directory " "inside the sandbox." msgstr "" +"Komutun çalıştırılacağı dizin. Bunun sandbox içinde bir dizin " +"olması gerektiğini unutmayın." -#: lutris/runners/flatpak.py:81 lutris/sysoptions.py:472 +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 msgid "Environment variables" msgstr "Çevresel değişkenler" -#: lutris/runners/flatpak.py:82 +#: lutris/runners/flatpak.py:79 msgid "" "Set an environment variable in the application. This overrides to the " "Context section from the application metadata." msgstr "" +"Uygulamada bir ortam değişkeni ayarlayın. Bu, uygulama meta verilerinden " +"Context bölümünü geçersiz kılar." + +#: lutris/runners/flatpak.py:92 +msgid "The Flatpak executable could not be found." +msgstr "Flatpak yürütülebilir dosyası bulunamadı." #: lutris/runners/flatpak.py:98 msgid "" "Flatpak installation is not handled by Lutris.\n" "Install Flatpak with the package provided by your distribution." msgstr "" +"Flatpak kurulumu Lutris tarafından gerçekleştirilmez.\n" +"Flatpak'ı dağıtımınız tarafından sağlanan paket ile kurun." + +#: lutris/runners/flatpak.py:140 +msgid "No application specified." +msgstr "Uygulama belirtilmemiştir." + +#: lutris/runners/flatpak.py:144 +msgid "" +"Application ID is not specified in correct format.Must be something like: " +"tld.domain.app" +msgstr "" +"Uygulama kimliği doğru biçimde belirtilmemiştir. " +"tld.domain.app gibi bir şey olmalıdır." + +#: lutris/runners/flatpak.py:148 +msgid "Application ID field must not contain options or arguments." +msgstr "Uygulama Kimliği alanı seçenek veya argüman içermemelidir." #: lutris/runners/fsuae.py:12 msgid "Amiga 500" -msgstr "" +msgstr "Amiga 500" -#: lutris/runners/fsuae.py:20 +#: lutris/runners/fsuae.py:19 msgid "Amiga 500+" -msgstr "" +msgstr "Amiga 500+" -#: lutris/runners/fsuae.py:26 +#: lutris/runners/fsuae.py:20 msgid "Amiga 600" -msgstr "" +msgstr "Amiga 600" -#: lutris/runners/fsuae.py:32 +#: lutris/runners/fsuae.py:21 msgid "Amiga 1200" -msgstr "" +msgstr "Amiga 1200" -#: lutris/runners/fsuae.py:38 +#: lutris/runners/fsuae.py:22 msgid "Amiga 3000" -msgstr "" +msgstr "Amiga 3000" -#: lutris/runners/fsuae.py:44 +#: lutris/runners/fsuae.py:24 msgid "Amiga 4000" -msgstr "" +msgstr "Amiga 4000" -#: lutris/runners/fsuae.py:51 +#: lutris/runners/fsuae.py:27 msgid "Amiga 1000" -msgstr "" +msgstr "Amiga 1000" -#: lutris/runners/fsuae.py:57 +#: lutris/runners/fsuae.py:29 msgid "Amiga CD32" -msgstr "" +msgstr "Amiga CD32" -#: lutris/runners/fsuae.py:66 +#: lutris/runners/fsuae.py:34 msgid "Commodore CDTV" -msgstr "" +msgstr "Commodore CDTV" -#: lutris/runners/fsuae.py:125 +#: lutris/runners/fsuae.py:91 msgid "FS-UAE" -msgstr "" +msgstr "FS-UAE" -#: lutris/runners/fsuae.py:126 +#: lutris/runners/fsuae.py:92 msgid "Amiga emulator" -msgstr "" +msgstr "Amiga emülatörü" -#: lutris/runners/fsuae.py:142 +#: lutris/runners/fsuae.py:109 msgid "68000" -msgstr "" +msgstr "68000" -#: lutris/runners/fsuae.py:143 +#: lutris/runners/fsuae.py:110 msgid "68010" -msgstr "" +msgstr "68010" -#: lutris/runners/fsuae.py:144 +#: lutris/runners/fsuae.py:111 msgid "68020 with 24-bit addressing" -msgstr "" +msgstr "68020 ile 24-bit adresleme" -#: lutris/runners/fsuae.py:145 +#: lutris/runners/fsuae.py:112 msgid "68020" -msgstr "" +msgstr "68020" -#: lutris/runners/fsuae.py:146 +#: lutris/runners/fsuae.py:113 msgid "68030 without internal MMU" -msgstr "" +msgstr "Dahili MMU olmayan 68030" -#: lutris/runners/fsuae.py:147 +#: lutris/runners/fsuae.py:114 msgid "68030" -msgstr "" +msgstr "68030" -#: lutris/runners/fsuae.py:148 +#: lutris/runners/fsuae.py:115 msgid "68040 without internal FPU and MMU" -msgstr "" +msgstr "Dahili FPU ve MMU olmayan 68040" -#: lutris/runners/fsuae.py:149 +#: lutris/runners/fsuae.py:116 msgid "68040 without internal FPU" -msgstr "" +msgstr "Dahili FPU olmayan 68040" -#: lutris/runners/fsuae.py:150 +#: lutris/runners/fsuae.py:117 msgid "68040 without internal MMU" -msgstr "" +msgstr "Dahili MMU olmayan 68040" -#: lutris/runners/fsuae.py:151 +#: lutris/runners/fsuae.py:118 msgid "68040" -msgstr "" +msgstr "68040" -#: lutris/runners/fsuae.py:152 +#: lutris/runners/fsuae.py:119 msgid "68060 without internal FPU and MMU" -msgstr "" +msgstr "Dahili FPU ve MMU olmayan 68060" -#: lutris/runners/fsuae.py:153 +#: lutris/runners/fsuae.py:120 msgid "68060 without internal FPU" -msgstr "" +msgstr "Dahili FPU olmayan 68060" -#: lutris/runners/fsuae.py:154 +#: lutris/runners/fsuae.py:121 msgid "68060 without internal MMU" -msgstr "" +msgstr "Dahili MMU olmayan 68060" -#: lutris/runners/fsuae.py:155 +#: lutris/runners/fsuae.py:122 msgid "68060" -msgstr "" +msgstr "68060" -#: lutris/runners/fsuae.py:159 lutris/runners/fsuae.py:166 -#: lutris/runners/fsuae.py:200 +#: lutris/runners/fsuae.py:126 lutris/runners/fsuae.py:133 +#: lutris/runners/fsuae.py:167 msgid "0" -msgstr "" +msgstr "0" -#: lutris/runners/fsuae.py:160 lutris/runners/fsuae.py:167 -#: lutris/runners/fsuae.py:201 +#: lutris/runners/fsuae.py:127 lutris/runners/fsuae.py:134 +#: lutris/runners/fsuae.py:168 msgid "1 MB" -msgstr "" +msgstr "1 MB" -#: lutris/runners/fsuae.py:161 lutris/runners/fsuae.py:168 -#: lutris/runners/fsuae.py:202 +#: lutris/runners/fsuae.py:128 lutris/runners/fsuae.py:135 +#: lutris/runners/fsuae.py:169 msgid "2 MB" -msgstr "" +msgstr "2 MB" -#: lutris/runners/fsuae.py:162 lutris/runners/fsuae.py:169 -#: lutris/runners/fsuae.py:203 +#: lutris/runners/fsuae.py:129 lutris/runners/fsuae.py:136 +#: lutris/runners/fsuae.py:170 msgid "4 MB" -msgstr "" +msgstr "4 MB" -#: lutris/runners/fsuae.py:163 lutris/runners/fsuae.py:170 -#: lutris/runners/fsuae.py:204 +#: lutris/runners/fsuae.py:130 lutris/runners/fsuae.py:137 +#: lutris/runners/fsuae.py:171 msgid "8 MB" -msgstr "" +msgstr "8 MB" -#: lutris/runners/fsuae.py:171 lutris/runners/fsuae.py:205 +#: lutris/runners/fsuae.py:138 lutris/runners/fsuae.py:172 msgid "16 MB" -msgstr "" +msgstr "16 MB" -#: lutris/runners/fsuae.py:172 lutris/runners/fsuae.py:206 +#: lutris/runners/fsuae.py:139 lutris/runners/fsuae.py:173 msgid "32 MB" -msgstr "" +msgstr "32 MB" -#: lutris/runners/fsuae.py:173 lutris/runners/fsuae.py:207 +#: lutris/runners/fsuae.py:140 lutris/runners/fsuae.py:174 msgid "64 MB" -msgstr "" +msgstr "64 MB" -#: lutris/runners/fsuae.py:174 lutris/runners/fsuae.py:208 +#: lutris/runners/fsuae.py:141 lutris/runners/fsuae.py:175 msgid "128 MB" -msgstr "" +msgstr "128 MB" -#: lutris/runners/fsuae.py:175 lutris/runners/fsuae.py:209 +#: lutris/runners/fsuae.py:142 lutris/runners/fsuae.py:176 msgid "256 MB" -msgstr "" +msgstr "256 MB" -#: lutris/runners/fsuae.py:176 +#: lutris/runners/fsuae.py:143 msgid "384 MB" -msgstr "" +msgstr "384 MB" -#: lutris/runners/fsuae.py:177 +#: lutris/runners/fsuae.py:144 msgid "512 MB" -msgstr "" +msgstr "512 MB" -#: lutris/runners/fsuae.py:178 +#: lutris/runners/fsuae.py:145 msgid "768 MB" -msgstr "" +msgstr "768 MB" -#: lutris/runners/fsuae.py:179 +#: lutris/runners/fsuae.py:146 msgid "1 GB" -msgstr "" +msgstr "1 GB" -#: lutris/runners/fsuae.py:212 +#: lutris/runners/fsuae.py:179 msgid "Turbo" -msgstr "" +msgstr "Turbo" -#: lutris/runners/fsuae.py:223 +#: lutris/runners/fsuae.py:190 msgid "Boot disk" -msgstr "" +msgstr "Diski Önyükle" -#: lutris/runners/fsuae.py:226 +#: lutris/runners/fsuae.py:193 msgid "" "The main floppy disk file with the game data. \n" "FS-UAE supports floppy images in multiple file formats: ADF, IPF, DMS are " @@ -2760,67 +4581,119 @@ msgid "" "Files ending in .hdf will be mounted as hard drives and ISOs can be used for " "Amiga CD32 and CDTV models." msgstr "" - -#: lutris/runners/fsuae.py:236 -msgid "Additionnal floppies" -msgstr "" - -#: lutris/runners/fsuae.py:238 +"Oyun verilerini içeren ana disket dosyası. \n" +"FS-UAE disket görüntülerini çoklu dosya formatlarında destekler: ADF, IPF, DMS" +" " +"en yaygın olanlarıdır. ADZ (sıkıştırılmış ADF) ve zip dosyalarındaki ADF'ler d" +"e " +"desteklenir.\n" +".hdf ile biten dosyalar sabit sürücüler olarak monte edilir ve ISO'lar " +"Amiga CD32 ve CDTV modelleri için kullanılabilir." + +#: lutris/runners/fsuae.py:203 lutris/runners/fsuae.py:211 +#: lutris/runners/fsuae.py:325 lutris/runners/fsuae.py:335 +msgid "Media" +msgstr "Medya" + +#: lutris/runners/fsuae.py:205 +msgid "Additional floppies" +msgstr "Ek disketler" + +#: lutris/runners/fsuae.py:207 msgid "The additional floppy disk image(s)." -msgstr "" +msgstr "Ek disket görüntü(leri)." -#: lutris/runners/fsuae.py:241 +#: lutris/runners/fsuae.py:212 msgid "CD-ROM image" -msgstr "" +msgstr "CD-ROM imajı" -#: lutris/runners/fsuae.py:243 +#: lutris/runners/fsuae.py:214 msgid "CD-ROM image to use on non CD32/CDTV models" -msgstr "" +msgstr "CD32/CDTV olmayan modellerde kullanmak için CD-ROM görüntüsü" -#: lutris/runners/fsuae.py:250 +#: lutris/runners/fsuae.py:221 msgid "Amiga model" -msgstr "" +msgstr "Amiga model" -#: lutris/runners/fsuae.py:254 +#: lutris/runners/fsuae.py:225 msgid "Specify the Amiga model you want to emulate." -msgstr "" +msgstr "Emülasyon için Amiga modelini belirleyin" -#: lutris/runners/fsuae.py:258 +#: lutris/runners/fsuae.py:229 lutris/runners/fsuae.py:242 +msgid "Kickstart" +msgstr "Hızlı başlangıç" + +#: lutris/runners/fsuae.py:230 msgid "Kickstart ROMs location" -msgstr "" +msgstr "Kickstart ROM'ların konumu" -#: lutris/runners/fsuae.py:261 +#: lutris/runners/fsuae.py:233 msgid "" "Choose the folder containing original Amiga Kickstart ROMs. Refer to FS-UAE " "documentation to find how to acquire them. Without these, FS-UAE uses a " "bundled replacement ROM which is less compatible with Amiga software." msgstr "" +"Orijinal Amiga Kickstart ROM'larını içeren klasörü seçin. Bunları nasıl edinec" +"eğinizi öğrenmek için FS-UAE " +"belgelerine bakın. Bunlar olmadan FS-UAE, Amiga yazılımıyla daha az uyumlu ola" +"n " +"paketlenmiş bir yedek ROM kullanır." -#: lutris/runners/fsuae.py:270 +#: lutris/runners/fsuae.py:243 msgid "Extended Kickstart location" -msgstr "" +msgstr "Genişletilmiş Kickstart konumu" -#: lutris/runners/fsuae.py:273 +#: lutris/runners/fsuae.py:245 msgid "Location of extended Kickstart used for CD32" -msgstr "" +msgstr "CD32 için kullanılan genişletilmiş Kickstart'ın konumu" -#: lutris/runners/fsuae.py:277 -msgid "Fullscreen (F12 + S to switch)" -msgstr "" +#: lutris/runners/fsuae.py:250 +msgid "Fullscreen (F12 + F to switch)" +msgstr "Tam ekran (değiştirmek için F12 + F)" -#: lutris/runners/fsuae.py:283 lutris/runners/o2em.py:81 +#: lutris/runners/fsuae.py:257 lutris/runners/o2em.py:87 msgid "Scanlines display style" -msgstr "" +msgstr "Tarama çizgileri görüntüleme stili" -#: lutris/runners/fsuae.py:286 lutris/runners/o2em.py:83 +#: lutris/runners/fsuae.py:260 lutris/runners/o2em.py:89 msgid "" "Activates a display filter adding scanlines to imitate the displays of " "yesteryear." msgstr "" +"Geçmiş yıllardaki " +"ekranlarını taklit etmek için tarama çizgileri ekleyen bir ekran filtresini et" +"kinleştirir." -#: lutris/runners/fsuae.py:291 -msgid "CPU" +#: lutris/runners/fsuae.py:265 +msgid "Graphics Card" +msgstr "Grafik Kartı" + +#: lutris/runners/fsuae.py:271 +msgid "" +"Use this option to enable a graphics card. This option is none by default, " +"in which case only chipset graphics (OCS/ECS/AGA) support is available." +msgstr "" +"Bir grafik kartını etkinleştirmek için bu seçeneği kullanın. Bu seçenek varsay" +"ılan olarak yoktur, " +"bu durumda yalnızca yonga seti grafikleri (OCS/ECS/AGA) desteği kullanılabilir" +"." + +#: lutris/runners/fsuae.py:278 +msgid "Graphics Card RAM" +msgstr "Grafik Kart RAM" + +#: lutris/runners/fsuae.py:284 +msgid "" +"Override the amount of graphics memory on the graphics card. The 0 MB option " +"is not really valid, but exists for user interface reasons." msgstr "" +"Grafik kartındaki grafik belleği miktarını geçersiz kılar. 0 MB seçeneği " +"gerçekte geçerli değildir, ancak kullanıcı arayüzü nedenleriyle mevcuttur." + +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 +#: lutris/sysoptions.py:324 lutris/sysoptions.py:333 +msgid "CPU" +msgstr "CPU" #: lutris/runners/fsuae.py:296 msgid "" @@ -2828,1101 +4701,1212 @@ msgid "" "models imply a default CPU model, so you only need to use this option if you " "want to use another CPU." msgstr "" +"Taklit Amiga'daki CPU modelini geçersiz kılmak için bu seçeneği kullanın. Tüm " +"Amiga " +"modelleri varsayılan bir CPU modelini ima eder, bu nedenle bu seçeneği yalnızc" +"a " +"başka bir CPU kullanmak istiyorsanız kullanmanız gerekir." -#: lutris/runners/fsuae.py:302 +#: lutris/runners/fsuae.py:303 msgid "Fast Memory" -msgstr "Hızlı hafıza" +msgstr "Hızlı Bellek" -#: lutris/runners/fsuae.py:307 +#: lutris/runners/fsuae.py:308 msgid "Specify how much Fast Memory the Amiga model should have." msgstr "" +"Amiga modelinin ne kadar Fast Memory sahip olması gerektiğini belirtin." -#: lutris/runners/fsuae.py:311 +#: lutris/runners/fsuae.py:312 msgid "Zorro III RAM" -msgstr "" +msgstr "Zorro III RAM" -#: lutris/runners/fsuae.py:316 +#: lutris/runners/fsuae.py:318 msgid "" "Override the amount of Zorro III Fast memory, specified in KB. Must be a " "multiple of 1024. The default value depends on [amiga_model]. Requires a " "processor with 32-bit address bus, (use for example the A1200/020 model)." msgstr "" +"KB cinsinden belirtilen Zorro III Hızlı bellek miktarını geçersiz kılar. 1024'" +"ün " +"katı olmalıdır. Varsayılan değer [amiga_model]'e bağlıdır. 32-bit adres veriyo" +"luna sahip bir " +"işlemci gerektirir (örneğin A1200/020 modelini kullanın)." -#: lutris/runners/fsuae.py:322 +#: lutris/runners/fsuae.py:326 msgid "Floppy Drive Volume" -msgstr "" +msgstr "Disket düzeyi" -#: lutris/runners/fsuae.py:327 +#: lutris/runners/fsuae.py:331 msgid "" "Set volume to 0 to disable floppy drive clicks when the drive is empty. Max " "volume is 100." msgstr "" +"Sürücü boşken disket sürücüsü tıklamalarını devre dışı bırakmak için düzeyi 0 " +"olarak ayarlayın. Maksimum " +"düzey 100'dür." -#: lutris/runners/fsuae.py:332 +#: lutris/runners/fsuae.py:336 msgid "Floppy Drive Speed" -msgstr "" +msgstr "Disket Hızı" -#: lutris/runners/fsuae.py:338 +#: lutris/runners/fsuae.py:342 msgid "" "Set the speed of the emulated floppy drives, in percent. For example, you " "can specify 800 to get an 8x increase in speed. Use 0 to specify turbo mode. " "Turbo mode means that all floppy operations complete immediately. The " "default is 100 for most models." msgstr "" +"Emüle edilen disket sürücülerinin hızını yüzde olarak ayarlayın. Örneğin " +"hızda 8 kat artış elde etmek için 800 belirtebilirsiniz. Turbo modunu belirtme" +"k için 0 kullanın. " +"Turbo modu, tüm disket işlemlerinin hemen tamamlanması anlamına gelir. Çoğu mo" +"del için " +"varsayılanı 100'dür." -#: lutris/runners/fsuae.py:346 -msgid "Graphics Card" -msgstr "Ekran kartı" - -#: lutris/runners/fsuae.py:352 -msgid "" -"Use this option to enable a graphics card. This option is none by default, " -"in which case only chipset graphics (OCS/ECS/AGA) support is available." -msgstr "" - -#: lutris/runners/fsuae.py:358 -msgid "Graphics Card RAM" -msgstr "Eknar kartı RAM" - -#: lutris/runners/fsuae.py:364 -msgid "" -"Override the amount of graphics memory on the graphics card. The 0 MB option " -"is not really valid, but exists for user interface reasons." -msgstr "" - -#: lutris/runners/fsuae.py:370 +#: lutris/runners/fsuae.py:350 msgid "JIT Compiler" -msgstr "" +msgstr "JIT Derleyici" -#: lutris/runners/fsuae.py:377 +#: lutris/runners/fsuae.py:357 msgid "Feral GameMode" -msgstr "" +msgstr "Feral GameMode" -#: lutris/runners/fsuae.py:381 +#: lutris/runners/fsuae.py:361 msgid "" "Automatically uses Feral GameMode daemon if available. Set to true to " "disable the feature." msgstr "" +"Mevcutsa otomatik olarak Feral GameMode daemon kullanır. Özelliği devre dışı b" +"ırakmak için " +"true olarak ayarlayın." -#: lutris/runners/fsuae.py:386 +#: lutris/runners/fsuae.py:365 msgid "CPU governor warning" -msgstr "" +msgstr "CPU yönetici uyarısı" -#: lutris/runners/fsuae.py:391 +#: lutris/runners/fsuae.py:370 msgid "" "Warn if running with a CPU governor other than performance. Set to true to " "disable the warning." msgstr "" +"Performans dışında bir CPU yöneticisi ile çalışıyorsa uyar. Uyarıyı devre dışı" +" bırakmak için " +"true olarak ayarlayın." -#: lutris/runners/fsuae.py:396 +#: lutris/runners/fsuae.py:375 msgid "UAE bsdsocket.library" -msgstr "" +msgstr "UAE bsdsocket.library" -#: lutris/runners/hatari.py:13 +#: lutris/runners/hatari.py:14 msgid "Hatari" -msgstr "" +msgstr "Hatari" -#: lutris/runners/hatari.py:14 +#: lutris/runners/hatari.py:15 msgid "Atari ST computers emulator" -msgstr "" +msgstr "Atari ST bilgisayar emülatörü" -#: lutris/runners/hatari.py:15 +#: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:212 msgid "Atari ST" -msgstr "" +msgstr "Atari ST" -#: lutris/runners/hatari.py:27 +#: lutris/runners/hatari.py:26 msgid "Floppy Disk A" -msgstr "" +msgstr "Disket A" -#: lutris/runners/hatari.py:29 lutris/runners/hatari.py:43 +#: lutris/runners/hatari.py:28 lutris/runners/hatari.py:39 msgid "" "Hatari supports floppy disk images in the following formats: ST, DIM, MSA, " "STX, IPF, RAW and CRT. The last three require the caps library (capslib). " "ZIP is supported, you don't need to uncompress the file." msgstr "" +"Hatari aşağıdaki formatlarda disket görüntülerini destekler: ST, DIM, MSA, " +"STX, IPF, RAW ve CRT. Son üçü caps kütüphanesi (capslib) gerektirir. " +"ZIP desteklenir, dosyanın sıkıştırmasını açmanıza gerek yoktur." -#: lutris/runners/hatari.py:41 +#: lutris/runners/hatari.py:37 msgid "Floppy Disk B" -msgstr "" +msgstr "Disket B" -#: lutris/runners/hatari.py:51 lutris/runners/redream.py:73 -#: lutris/runners/zdoom.py:75 +#: lutris/runners/hatari.py:47 lutris/runners/redream.py:74 +#: lutris/runners/zdoom.py:66 msgid "None" msgstr "Boş" -#: lutris/runners/hatari.py:51 +#: lutris/runners/hatari.py:47 msgid "Keyboard" msgstr "Klavye" -#: lutris/runners/hatari.py:51 lutris/runners/o2em.py:39 -#: lutris/runners/scummvm.py:186 +#: lutris/runners/hatari.py:47 lutris/runners/o2em.py:41 +#: lutris/runners/scummvm.py:269 msgid "Joystick" -msgstr "" +msgstr "Kumanda kolu" -#: lutris/runners/hatari.py:60 +#: lutris/runners/hatari.py:53 msgid "Bios file (TOS)" -msgstr "" +msgstr "Bios dosyası (TOS)" -#: lutris/runners/hatari.py:62 +#: lutris/runners/hatari.py:55 msgid "" "TOS is the operating system of the Atari ST and is necessary to run " "applications with the best fidelity, minimizing risks of issues.\n" "TOS 1.02 is recommended for games." msgstr "" +"TOS, Atari ST'nin işletim sistemidir ve " +"uygulamalarını en iyi doğrulukla çalıştırmak ve sorun risklerini en aza indirm" +"ek için gereklidir.\n" +"Oyunlar için TOS 1.02 önerilir." -#: lutris/runners/hatari.py:77 +#: lutris/runners/hatari.py:72 msgid "Scale up display by 2 (Atari ST/STE)" -msgstr "" +msgstr "Ekranı 2'ye kadar ölçeklendirme (Atari ST/STE)" -#: lutris/runners/hatari.py:79 +#: lutris/runners/hatari.py:74 msgid "Double the screen size in windowed mode." -msgstr "" +msgstr "Pencereli modda ekran boyutunu iki katına çıkarın." -#: lutris/runners/hatari.py:87 +#: lutris/runners/hatari.py:80 msgid "Add borders to display" -msgstr "" +msgstr "Görüntüye çerçeveler ekle" -#: lutris/runners/hatari.py:91 +#: lutris/runners/hatari.py:83 msgid "" "Useful for some games and demos using the overscan technique. The Atari ST " "displayed borders around the screen because it was not powerful enough to " "display graphics in fullscreen. But people from the demo scene were able to " "remove them and some games made use of this technique." msgstr "" +"Aşırı tarama tekniğini kullanan bazı oyunlar ve demolar için kullanışlıdır. At" +"ari ST " +"ekranın etrafında kenarlıklar gösteriyordu çünkü " +"grafikleri tam ekranda gösterecek kadar güçlü değildi. Ancak demo sahnesinden " +"insanlar " +"bunları kaldırabildi ve bazı oyunlar bu tekniği kullandı." -#: lutris/runners/hatari.py:105 +#: lutris/runners/hatari.py:95 msgid "Display status bar" -msgstr "" +msgstr "Görüntü durum çubuğu" -#: lutris/runners/hatari.py:109 +#: lutris/runners/hatari.py:98 msgid "" "Displays a status bar with some useful information, like green leds lighting " "up when the floppy disks are read." msgstr "" +"Disketler okunduğunda yeşil ledlerin yanması " +"gibi bazı yararlı bilgiler içeren bir durum çubuğu görüntüler." -#: lutris/runners/hatari.py:117 -msgid "Joystick 1" -msgstr "" +#: lutris/runners/hatari.py:106 lutris/runners/hatari.py:114 +msgid "Joysticks" +msgstr "Kumanda kolları" -#: lutris/runners/hatari.py:124 -msgid "Joystick 2" -msgstr "" +#: lutris/runners/hatari.py:107 +msgid "Joystick 0" +msgstr "Kumanda kolu 0" -#: lutris/runners/hatari.py:136 +#: lutris/runners/hatari.py:115 +msgid "Joystick 1" +msgstr "Kumanda kolu 1" + +#: lutris/runners/hatari.py:126 msgid "Do you want to select an Atari ST BIOS file?" -msgstr "" +msgstr "Atari ST BIOS dosyasını seçmek ister misin?" -#: lutris/runners/hatari.py:137 +#: lutris/runners/hatari.py:127 msgid "Use BIOS file?" -msgstr "" +msgstr "BIOS dosyasını kullan?" -#: lutris/runners/hatari.py:138 +#: lutris/runners/hatari.py:128 msgid "Select a BIOS file" -msgstr "" +msgstr "Bir BIOS dosyası seç" -#: lutris/runners/jzintv.py:11 +#: lutris/runners/jzintv.py:13 msgid "jzIntv" -msgstr "" +msgstr "jzIntv" -#: lutris/runners/jzintv.py:12 +#: lutris/runners/jzintv.py:14 msgid "Intellivision Emulator" -msgstr "" +msgstr "Intellivision Emulator" -#: lutris/runners/jzintv.py:13 +#: lutris/runners/jzintv.py:15 msgid "Intellivision" -msgstr "" +msgstr "Intellivision" -#: lutris/runners/jzintv.py:22 +#: lutris/runners/jzintv.py:24 msgid "" "The game data, commonly called a ROM image. \n" "Supported formats: ROM, BIN+CFG, INT, ITV \n" "The file extension must be lower-case." msgstr "" +"Genellikle ROM görüntüsü olarak adlandırılan oyun verileri. \n" +"Desteklenen formatlar: ROM, BIN+CFG, INT, ITV \n" +"Dosya uzantısı küçük harfle yazılmalıdır." -#: lutris/runners/jzintv.py:32 +#: lutris/runners/jzintv.py:34 msgid "Bios location" -msgstr "" +msgstr "Bios yolu" -#: lutris/runners/jzintv.py:34 +#: lutris/runners/jzintv.py:36 msgid "" -"Choose the folder containing the Intellivision BIOS files (exec.bin and grom." -"bin).\n" +"Choose the folder containing the Intellivision BIOS files (exec.bin and " +"grom.bin).\n" "These files contain code from the original hardware necessary to the " "emulation." msgstr "" +"Intellivision BIOS dosyalarını (exec.bin ve " +"grom.bin) içeren klasörü seçin.\n" +"Bu dosyalar " +"emülasyonu için gerekli orijinal donanım kodunu içerir." -#: lutris/runners/jzintv.py:48 +#: lutris/runners/jzintv.py:47 msgid "Resolution" msgstr "Çözünürlük" -#: lutris/runners/libretro.py:68 +#: lutris/runners/libretro.py:69 msgid "Libretro" -msgstr "" +msgstr "Libretro" -#: lutris/runners/libretro.py:69 +#: lutris/runners/libretro.py:70 msgid "Multi-system emulator" -msgstr "Çoklu-sistem emülatör" +msgstr "Çoklu-sistem emülatörü" -#: lutris/runners/libretro.py:82 +#: lutris/runners/libretro.py:80 msgid "Core" msgstr "Çekirdek" -#: lutris/runners/libretro.py:91 lutris/runners/zdoom.py:87 +#: lutris/runners/libretro.py:89 lutris/runners/zdoom.py:76 msgid "Config file" -msgstr "Config dosyaı" +msgstr "Ayar dosyası" -#: lutris/runners/libretro.py:103 +#: lutris/runners/libretro.py:101 msgid "Verbose logging" +msgstr "Ayrıntılı günlük" + +#: lutris/runners/libretro.py:150 +msgid "The installer does not specify the libretro 'core' version." +msgstr "Yükleyici libretro ‘core’ sürümünü belirtmiyor." + +#: lutris/runners/libretro.py:246 +msgid "" +"The emulator files BIOS location must be configured in the Preferences " +"dialog." msgstr "" +"Emülatör dosyaları BIOS konumu Tercihler " +"iletişim kutusunda yapılandırılmalıdır." -#: lutris/runners/libretro.py:274 +#: lutris/runners/libretro.py:292 msgid "No core has been selected for this game" -msgstr "" +msgstr "Bu oyun için hiçbir çekirdek seçilmedi" -#: lutris/runners/libretro.py:285 +#: lutris/runners/libretro.py:298 msgid "No game file specified" -msgstr "" +msgstr "Oyun dosyası belirtilmemiş" -#: lutris/runners/linux.py:16 +#: lutris/runners/linux.py:18 msgid "Runs native games" -msgstr "" +msgstr "Doğal oyunları çalıştır" -#: lutris/runners/linux.py:25 lutris/runners/wine.py:50 +#: lutris/runners/linux.py:27 lutris/runners/wine.py:209 msgid "Executable" -msgstr "Çalıştırılabilir" +msgstr "Yürütülebilir" -#: lutris/runners/linux.py:26 +#: lutris/runners/linux.py:28 msgid "The game's main executable file" -msgstr "" +msgstr "Oyunun ana yürütülebilir dosyası" -#: lutris/runners/linux.py:31 lutris/runners/mame.py:124 -#: lutris/runners/scummvm.py:31 lutris/runners/steam.py:49 -#: lutris/runners/steam.py:101 lutris/runners/wine.py:56 -#: lutris/runners/zdoom.py:27 +#: lutris/runners/linux.py:33 lutris/runners/mame.py:126 +#: lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 +#: lutris/runners/steam.py:86 lutris/runners/wine.py:215 +#: lutris/runners/zdoom.py:28 msgid "Arguments" -msgstr "" +msgstr "Argümanlar" -#: lutris/runners/linux.py:32 lutris/runners/mame.py:125 -#: lutris/runners/scummvm.py:32 +#: lutris/runners/linux.py:34 lutris/runners/mame.py:127 +#: lutris/runners/scummvm.py:67 msgid "Command line arguments used when launching the game" -msgstr "" +msgstr "Oyun başlatılırken kullanılan komut satırı argümanları" -#: lutris/runners/linux.py:50 +#: lutris/runners/linux.py:47 msgid "Preload library" -msgstr "" +msgstr "kütüphaneyi önyükle" -#: lutris/runners/linux.py:52 +#: lutris/runners/linux.py:49 msgid "A library to load before running the game's executable." msgstr "" +"Oyunun çalıştırılabilir dosyasını çalıştırmadan önce yüklenecek bir kütüphane." -#: lutris/runners/linux.py:60 +#: lutris/runners/linux.py:54 msgid "Add directory to LD_LIBRARY_PATH" -msgstr "" +msgstr "Dizine LD_LIBRARY_PATH ekle" -#: lutris/runners/linux.py:64 +#: lutris/runners/linux.py:57 msgid "" "A directory where libraries should be searched for first, before the " "standard set of directories; this is useful when debugging a new library or " "using a nonstandard library for special purposes." msgstr "" +"Kütüphanelerin " +"standart dizin kümesinden önce aranması gereken bir dizin; bu, yeni bir kütüph" +"anede hata ayıklarken veya " +"özel amaçlar için standart olmayan bir kütüphane kullanırken kullanışlıdır." -#: lutris/runners/linux.py:138 +#: lutris/runners/linux.py:139 msgid "" "The runner could not find a command or exe to use for this configuration." msgstr "" +"Oynatıcı bu yapılandırma için kullanılacak bir komut veya exe bulamadı." + +#: lutris/runners/linux.py:162 +#, python-format +msgid "The file %s is not executable" +msgstr "%s dosyası yürütülebilir değil" -#: lutris/runners/mame.py:65 lutris/services/mame.py:11 +#: lutris/runners/mame.py:66 lutris/services/mame.py:13 msgid "MAME" -msgstr "İSİM" +msgstr "MAME" -#: lutris/runners/mame.py:66 +#: lutris/runners/mame.py:67 msgid "Arcade game emulator" -msgstr "" +msgstr "Arcade oyun emülatörü" -#: lutris/runners/mame.py:85 lutris/runners/mednafen.py:67 +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 msgid "The emulated machine." -msgstr "" +msgstr "Emüle makine" -#: lutris/runners/mame.py:90 +#: lutris/runners/mame.py:92 msgid "Storage type" -msgstr "Depolama tipi" +msgstr "Depolama türü" -#: lutris/runners/mame.py:92 +#: lutris/runners/mame.py:94 msgid "Floppy disk" -msgstr "" +msgstr "Disket" -#: lutris/runners/mame.py:93 +#: lutris/runners/mame.py:95 msgid "Floppy drive 1" -msgstr "" +msgstr "Floppy sürücü 1" -#: lutris/runners/mame.py:94 +#: lutris/runners/mame.py:96 msgid "Floppy drive 2" -msgstr "" +msgstr "Floppy sürücü 2" -#: lutris/runners/mame.py:95 +#: lutris/runners/mame.py:97 msgid "Floppy drive 3" -msgstr "" +msgstr "Floppy sürücü 3" -#: lutris/runners/mame.py:96 +#: lutris/runners/mame.py:98 msgid "Floppy drive 4" -msgstr "" +msgstr "Floppy sürücü 4" -#: lutris/runners/mame.py:97 +#: lutris/runners/mame.py:99 msgid "Cassette (tape)" -msgstr "" +msgstr "Cassette (kaset)" -#: lutris/runners/mame.py:98 +#: lutris/runners/mame.py:100 msgid "Cassette 1 (tape)" -msgstr "" +msgstr "Cassette 1 (kaset)" -#: lutris/runners/mame.py:99 +#: lutris/runners/mame.py:101 msgid "Cassette 2 (tape)" -msgstr "" +msgstr "Cassette 2 (kaset)" -#: lutris/runners/mame.py:100 +#: lutris/runners/mame.py:102 msgid "Cartridge" -msgstr "" +msgstr "Cartridge" -#: lutris/runners/mame.py:101 +#: lutris/runners/mame.py:103 msgid "Cartridge 1" -msgstr "" +msgstr "Cartridge 1" -#: lutris/runners/mame.py:102 +#: lutris/runners/mame.py:104 msgid "Cartridge 2" -msgstr "" +msgstr "Cartridge 2" -#: lutris/runners/mame.py:103 +#: lutris/runners/mame.py:105 msgid "Cartridge 3" -msgstr "" +msgstr "Cartridge 3" -#: lutris/runners/mame.py:104 +#: lutris/runners/mame.py:106 msgid "Cartridge 4" -msgstr "" +msgstr "Cartridge 4" -#: lutris/runners/mame.py:105 lutris/runners/mame.py:112 +#: lutris/runners/mame.py:107 msgid "Snapshot" -msgstr "" +msgstr "Anlık görüntü" -#: lutris/runners/mame.py:106 +#: lutris/runners/mame.py:108 msgid "Hard Disk" -msgstr "" +msgstr "Sabit Disk" -#: lutris/runners/mame.py:107 +#: lutris/runners/mame.py:109 msgid "Hard Disk 1" -msgstr "" +msgstr "Sabit Disk 1" -#: lutris/runners/mame.py:108 +#: lutris/runners/mame.py:110 msgid "Hard Disk 2" -msgstr "" +msgstr "Sabit Disk 2" -#: lutris/runners/mame.py:109 +#: lutris/runners/mame.py:111 msgid "CD-ROM" -msgstr "" +msgstr "CD-ROM" -#: lutris/runners/mame.py:110 +#: lutris/runners/mame.py:112 msgid "CD-ROM 1" -msgstr "" +msgstr "CD-ROM 1" -#: lutris/runners/mame.py:111 +#: lutris/runners/mame.py:113 msgid "CD-ROM 2" -msgstr "" +msgstr "CD-ROM 2" -#: lutris/runners/mame.py:113 +#: lutris/runners/mame.py:114 +msgid "Snapshot (dump)" +msgstr "Anlık görüntü (???)" + +#: lutris/runners/mame.py:115 msgid "Quickload" -msgstr "" +msgstr "Hızlı yükle" -#: lutris/runners/mame.py:114 +#: lutris/runners/mame.py:116 msgid "Memory Card" -msgstr "" +msgstr "Hafıza Kartı" -#: lutris/runners/mame.py:115 +#: lutris/runners/mame.py:117 msgid "Cylinder" -msgstr "" +msgstr "Silindir" -#: lutris/runners/mame.py:116 +#: lutris/runners/mame.py:118 msgid "Punch Tape 1" -msgstr "" +msgstr "Punch Tape 1" -#: lutris/runners/mame.py:117 +#: lutris/runners/mame.py:119 msgid "Punch Tape 2" -msgstr "" +msgstr "Punch Tape 2" -#: lutris/runners/mame.py:118 +#: lutris/runners/mame.py:120 msgid "Print Out" -msgstr "" +msgstr "Print Out" + +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 +msgid "Autoboot" +msgstr "Autoboot" -#: lutris/runners/mame.py:130 +#: lutris/runners/mame.py:139 msgid "Autoboot command" -msgstr "" +msgstr "Autoboot komutu" -#: lutris/runners/mame.py:131 +#: lutris/runners/mame.py:140 msgid "" "Autotype this command when the system has started, an enter keypress is " "automatically added." msgstr "" +"Sistem başladığında bu komutu otomatik olarak yazın, bir enter tuşuna basma " +"otomatik olarak eklenir." -#: lutris/runners/mame.py:137 +#: lutris/runners/mame.py:146 msgid "Delay before entering autoboot command" -msgstr "" +msgstr "Otomatik başlatma komutunu girmeden önceki gecikme" -#: lutris/runners/mame.py:147 +#: lutris/runners/mame.py:156 msgid "ROM/BIOS path" -msgstr "" +msgstr "ROM/BIOS yolu" -#: lutris/runners/mame.py:149 +#: lutris/runners/mame.py:158 msgid "" "Choose the folder containing ROMs and BIOS files.\n" "These files contain code from the original hardware necessary to the " "emulation." msgstr "" +"ROM'ları ve BIOS dosyalarını içeren klasörü seçin.\n" +"Bu dosyalar " +"emülasyonu için gerekli orijinal donanım kodunu içerir." -#: lutris/runners/mame.py:163 +#: lutris/runners/mame.py:174 msgid "CRT effect ()" -msgstr "" +msgstr "CRT efekt ()" -#: lutris/runners/mame.py:164 +#: lutris/runners/mame.py:175 msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." -msgstr "" +msgstr "Ekrana CRT efekti uygular.OpenGL görüntüleyici gerektirir." + +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 +#: lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "Hata ayıklanıyor" -#: lutris/runners/mame.py:171 +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "Ayrıntılı" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "ek tanılama bilgilerini görüntüler." + +#: lutris/runners/mame.py:191 msgid "Video backend" -msgstr "" +msgstr "Video arkaucu" -#: lutris/runners/mame.py:177 lutris/runners/vice.py:82 +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 +#: lutris/runners/vice.py:74 msgid "Software" -msgstr "" +msgstr "Yazılım" -#: lutris/runners/mame.py:184 +#: lutris/runners/mame.py:205 msgid "Wait for VSync" -msgstr "" +msgstr "VSync için bekleyin" -#: lutris/runners/mame.py:186 +#: lutris/runners/mame.py:206 msgid "" "Enable waiting for the start of vblank before flipping screens; " "reduces tearing effects." msgstr "" +"Ekranları çevirmeden önce vblank başlangıcını beklemeyi etkinleştirin; " +"yırtılma etkilerini azaltır." -#: lutris/runners/mame.py:194 +#: lutris/runners/mame.py:213 msgid "Menu mode key" -msgstr "" +msgstr "Menü modu anahtarı" -#: lutris/runners/mame.py:196 +#: lutris/runners/mame.py:215 msgid "Scroll Lock" -msgstr "" +msgstr "Scroll Lock" -#: lutris/runners/mame.py:197 +#: lutris/runners/mame.py:216 msgid "Num Lock" -msgstr "" +msgstr "Num Lock" -#: lutris/runners/mame.py:198 +#: lutris/runners/mame.py:217 msgid "Caps Lock" -msgstr "" +msgstr "Caps Lock" -#: lutris/runners/mame.py:199 +#: lutris/runners/mame.py:218 msgid "Menu" -msgstr "" +msgstr "Menü" -#: lutris/runners/mame.py:200 +#: lutris/runners/mame.py:219 msgid "Right Control" -msgstr "" +msgstr "Sol Kontrol" -#: lutris/runners/mame.py:201 +#: lutris/runners/mame.py:220 msgid "Left Control" -msgstr "" +msgstr "Sağ Kontrol" -#: lutris/runners/mame.py:202 +#: lutris/runners/mame.py:221 msgid "Right Alt" -msgstr "" +msgstr "Sol Alt" -#: lutris/runners/mame.py:203 +#: lutris/runners/mame.py:222 msgid "Left Alt" -msgstr "" +msgstr "Sağ Alt" -#: lutris/runners/mame.py:204 +#: lutris/runners/mame.py:223 msgid "Right Super" -msgstr "" +msgstr "Sol Super" -#: lutris/runners/mame.py:205 +#: lutris/runners/mame.py:224 msgid "Left Super" -msgstr "" +msgstr "Sağ Super" -#: lutris/runners/mame.py:209 +#: lutris/runners/mame.py:228 msgid "" "Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: " "Scroll Lock)" msgstr "" +"Tam Klavye Modu ile Kısmi Klavye Modu arasında geçiş yapma tuşu (varsayılan: " +"Scroll Lock)" -#: lutris/runners/mame.py:223 lutris/runners/mame.py:265 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 msgid "Arcade" -msgstr "" +msgstr "Arcade" -#: lutris/runners/mame.py:223 lutris/runners/mame.py:264 +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 msgid "Nintendo Game & Watch" -msgstr "" +msgstr "Nintendo Game & Watch" + +#: lutris/runners/mame.py:337 +#, python-format +msgid "No device is set for machine %s" +msgstr "Makine %s için hiçbir cihaz ayarlanmamış" + +#: lutris/runners/mame.py:347 +#, python-format +msgid "The path '%s' is not set. please set it in the options." +msgstr "'%s' yolu ayarlanmamış. lütfen seçeneklerde ayarlayın." -#: lutris/runners/mednafen.py:16 +#: lutris/runners/mednafen.py:18 msgid "Mednafen" -msgstr "" +msgstr "Mednafen" -#: lutris/runners/mednafen.py:17 +#: lutris/runners/mednafen.py:19 msgid "Multi-system emulator: NES, PC Engine, PSX…" -msgstr "" +msgstr "Çoklu -sistem emülatörü: NES, PC Engine, PSX…" -#: lutris/runners/mednafen.py:19 +#: lutris/runners/mednafen.py:21 msgid "Nintendo Game Boy (Color)" -msgstr "" +msgstr "Nintendo Game Boy (Renkli)" -#: lutris/runners/mednafen.py:20 +#: lutris/runners/mednafen.py:22 msgid "Nintendo Game Boy Advance" -msgstr "" +msgstr "Nintendo Game Boy Advance" -#: lutris/runners/mednafen.py:21 +#: lutris/runners/mednafen.py:23 msgid "Sega Game Gear" -msgstr "" +msgstr "Sega Game Gear" -#: lutris/runners/mednafen.py:22 +#: lutris/runners/mednafen.py:24 msgid "Sega Genesis/Mega Drive" -msgstr "" +msgstr "Sega Genesis/Mega Drive" -#: lutris/runners/mednafen.py:23 +#: lutris/runners/mednafen.py:25 msgid "Atari Lynx" -msgstr "" +msgstr "Atari Lynx" -#: lutris/runners/mednafen.py:24 lutris/runners/osmose.py:12 +#: lutris/runners/mednafen.py:26 lutris/runners/osmose.py:14 msgid "Sega Master System" -msgstr "" +msgstr "Sega Master System" -#: lutris/runners/mednafen.py:25 +#: lutris/runners/mednafen.py:27 msgid "SNK Neo Geo Pocket (Color)" -msgstr "" +msgstr "SNK Neo Geo Pocket (Renkli)" -#: lutris/runners/mednafen.py:26 +#: lutris/runners/mednafen.py:28 msgid "Nintendo NES" -msgstr "" +msgstr "Nintendo NES" -#: lutris/runners/mednafen.py:27 +#: lutris/runners/mednafen.py:29 msgid "NEC PC Engine TurboGrafx-16" -msgstr "" +msgstr "NEC PC Engine TurboGrafx-16" -#: lutris/runners/mednafen.py:28 +#: lutris/runners/mednafen.py:30 msgid "NEC PC-FX" -msgstr "" - -#: lutris/runners/mednafen.py:29 -msgid "Sony PlayStation" -msgstr "" +msgstr "NEC PC-FX" -#: lutris/runners/mednafen.py:30 +#: lutris/runners/mednafen.py:32 msgid "Sega Saturn" -msgstr "" +msgstr "Sega Saturn" -#: lutris/runners/mednafen.py:31 lutris/runners/snes9x.py:19 +#: lutris/runners/mednafen.py:33 lutris/runners/snes9x.py:20 msgid "Nintendo SNES" -msgstr "" +msgstr "Nintendo SNES" -#: lutris/runners/mednafen.py:32 +#: lutris/runners/mednafen.py:34 msgid "Bandai WonderSwan" -msgstr "" +msgstr "Bandai WonderSwan" -#: lutris/runners/mednafen.py:33 +#: lutris/runners/mednafen.py:35 msgid "Nintendo Virtual Boy" -msgstr "" +msgstr "Nintendo Virtual Boy" -#: lutris/runners/mednafen.py:36 +#: lutris/runners/mednafen.py:38 msgid "Game Boy (Color)" -msgstr "" +msgstr "Game Boy (Renkli)" -#: lutris/runners/mednafen.py:37 +#: lutris/runners/mednafen.py:39 msgid "Game Boy Advance" -msgstr "" +msgstr "Game Boy Advance" -#: lutris/runners/mednafen.py:38 +#: lutris/runners/mednafen.py:40 msgid "Game Gear" -msgstr "" +msgstr "Game Gear" -#: lutris/runners/mednafen.py:39 +#: lutris/runners/mednafen.py:41 msgid "Genesis/Mega Drive" -msgstr "" +msgstr "Genesis/Mega Drive" -#: lutris/runners/mednafen.py:40 +#: lutris/runners/mednafen.py:42 msgid "Lynx" -msgstr "" +msgstr "Lynx" -#: lutris/runners/mednafen.py:41 +#: lutris/runners/mednafen.py:43 msgid "Master System" -msgstr "" +msgstr "Master System" -#: lutris/runners/mednafen.py:42 +#: lutris/runners/mednafen.py:44 msgid "Neo Geo Pocket (Color)" -msgstr "" +msgstr "Neo Geo Pocket (Renkli)" -#: lutris/runners/mednafen.py:43 +#: lutris/runners/mednafen.py:45 msgid "NES" -msgstr "" +msgstr "NES" -#: lutris/runners/mednafen.py:44 +#: lutris/runners/mednafen.py:46 msgid "PC Engine" -msgstr "" +msgstr "PC Engine" -#: lutris/runners/mednafen.py:45 +#: lutris/runners/mednafen.py:47 msgid "PC-FX" -msgstr "" +msgstr "PC-FX" -#: lutris/runners/mednafen.py:46 +#: lutris/runners/mednafen.py:48 msgid "PlayStation" -msgstr "" +msgstr "PlayStation" -#: lutris/runners/mednafen.py:47 +#: lutris/runners/mednafen.py:49 msgid "Saturn" -msgstr "" +msgstr "Saturn" -#: lutris/runners/mednafen.py:48 +#: lutris/runners/mednafen.py:50 msgid "SNES" -msgstr "" +msgstr "SNES" -#: lutris/runners/mednafen.py:49 +#: lutris/runners/mednafen.py:51 msgid "WonderSwan" -msgstr "" +msgstr "WonderSwan" -#: lutris/runners/mednafen.py:50 +#: lutris/runners/mednafen.py:52 msgid "Virtual Boy" -msgstr "" +msgstr "Virtual Boy" -#: lutris/runners/mednafen.py:59 +#: lutris/runners/mednafen.py:60 msgid "" "The game data, commonly called a ROM image. \n" "Mednafen supports GZIP and ZIP compressed ROMs." msgstr "" +"Oyun verileri, genellikle ROM görüntüsü olarak adlandırılır. \n" +"Mednafen GZIP ve ZIP sıkıştırılmış ROM'ları destekler." #: lutris/runners/mednafen.py:65 msgid "Machine type" -msgstr "" +msgstr "Makine türü" -#: lutris/runners/mednafen.py:83 +#: lutris/runners/mednafen.py:76 msgid "Aspect ratio" -msgstr "" +msgstr "En boy oranı" -#: lutris/runners/mednafen.py:86 +#: lutris/runners/mednafen.py:79 msgid "Stretched" -msgstr "" +msgstr "Gerilmiş" -#: lutris/runners/mednafen.py:87 lutris/runners/vice.py:69 +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 msgid "Preserve aspect ratio" -msgstr "" +msgstr "En boy oranını koru" -#: lutris/runners/mednafen.py:88 +#: lutris/runners/mednafen.py:81 msgid "Integer scale" -msgstr "" +msgstr "Tamsayı ölçeği" -#: lutris/runners/mednafen.py:89 +#: lutris/runners/mednafen.py:82 msgid "Multiple of 2 scale" -msgstr "" +msgstr "2 ölçeğinin katları" -#: lutris/runners/mednafen.py:100 +#: lutris/runners/mednafen.py:90 msgid "Video scaler" -msgstr "" +msgstr "Video ölçeklendirici" -#: lutris/runners/mednafen.py:128 +#: lutris/runners/mednafen.py:114 msgid "Sound device" -msgstr "Ses aygıtı" +msgstr "Ses cihazı" -#: lutris/runners/mednafen.py:130 +#: lutris/runners/mednafen.py:116 msgid "Mednafen default" -msgstr "" +msgstr "Mednafen varsayılan" -#: lutris/runners/mednafen.py:131 +#: lutris/runners/mednafen.py:117 msgid "ALSA default" -msgstr "" +msgstr "ALSA varsayılan" -#: lutris/runners/mednafen.py:142 +#: lutris/runners/mednafen.py:127 msgid "Use default Mednafen controller configuration" -msgstr "" +msgstr "Varsayılan Mednafen kontrolör yapılandırmasını kullan" -#: lutris/runners/mupen64plus.py:12 +#: lutris/runners/mupen64plus.py:13 msgid "Mupen64Plus" -msgstr "" +msgstr "Mupen64Plus" -#: lutris/runners/mupen64plus.py:13 +#: lutris/runners/mupen64plus.py:14 msgid "Nintendo 64 emulator" -msgstr "" +msgstr "Nintendo 64 emülatörü" -#: lutris/runners/mupen64plus.py:14 +#: lutris/runners/mupen64plus.py:15 msgid "Nintendo 64" -msgstr "" +msgstr "Nintendo 64" -#: lutris/runners/mupen64plus.py:21 lutris/runners/o2em.py:47 -#: lutris/runners/openmsx.py:18 lutris/runners/ryujinx.py:26 -#: lutris/runners/snes9x.py:28 lutris/runners/yuzu.py:24 +#: lutris/runners/mupen64plus.py:22 lutris/runners/o2em.py:49 +#: lutris/runners/openmsx.py:21 lutris/runners/ryujinx.py:26 +#: lutris/runners/snes9x.py:30 lutris/runners/yuzu.py:24 msgid "The game data, commonly called a ROM image." -msgstr "" +msgstr "Oyun verileri, genellikle ROM görüntüsü olarak adlandırılır." -#: lutris/runners/mupen64plus.py:34 +#: lutris/runners/mupen64plus.py:32 msgid "Hide OSD" -msgstr "" +msgstr "OSD'yi gizle" -#: lutris/runners/o2em.py:11 +#: lutris/runners/o2em.py:13 msgid "O2EM" -msgstr "" +msgstr "O2EM" -#: lutris/runners/o2em.py:12 +#: lutris/runners/o2em.py:14 msgid "Magnavox Odyssey² Emulator" -msgstr "" +msgstr "Magnavox Odyssey² Emulator" -#: lutris/runners/o2em.py:14 lutris/runners/o2em.py:30 +#: lutris/runners/o2em.py:16 lutris/runners/o2em.py:32 msgid "Magnavox Odyssey²" -msgstr "" +msgstr "Magnavox Odyssey²" -#: lutris/runners/o2em.py:15 lutris/runners/o2em.py:31 +#: lutris/runners/o2em.py:17 lutris/runners/o2em.py:33 msgid "Phillips C52" -msgstr "" +msgstr "Phillips C52" -#: lutris/runners/o2em.py:16 lutris/runners/o2em.py:32 +#: lutris/runners/o2em.py:18 lutris/runners/o2em.py:34 msgid "Phillips Videopac+" -msgstr "" +msgstr "Phillips Videopac+" -#: lutris/runners/o2em.py:17 lutris/runners/o2em.py:33 +#: lutris/runners/o2em.py:19 lutris/runners/o2em.py:35 msgid "Brandt Jopac" -msgstr "" +msgstr "Brandt Jopac" -#: lutris/runners/o2em.py:36 lutris/runners/wine.py:399 +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:518 msgid "Disable" msgstr "Devre dışı" -#: lutris/runners/o2em.py:37 +#: lutris/runners/o2em.py:39 msgid "Arrow Keys and Right Shift" -msgstr "Yön Tuşları ve Sağ Shift" +msgstr "Ok Tuşları ve Sol Shift" -#: lutris/runners/o2em.py:38 +#: lutris/runners/o2em.py:40 msgid "W,S,A,D,SPACE" -msgstr "W,S,A,D,BOŞLUK (Space)" +msgstr "W,S,A,D,SPACE" -#: lutris/runners/o2em.py:55 +#: lutris/runners/o2em.py:57 msgid "BIOS" -msgstr "" +msgstr "BIOS" -#: lutris/runners/o2em.py:62 +#: lutris/runners/o2em.py:65 msgid "First controller" -msgstr "" +msgstr "İlk kontrolcü" -#: lutris/runners/o2em.py:69 +#: lutris/runners/o2em.py:73 msgid "Second controller" -msgstr "" +msgstr "İkinci kontrolcü" -#: lutris/runners/openmsx.py:10 +#: lutris/runners/openmsx.py:12 msgid "openMSX" -msgstr "" +msgstr "openMSX" -#: lutris/runners/openmsx.py:11 +#: lutris/runners/openmsx.py:13 msgid "MSX computer emulator" -msgstr "" +msgstr "MSX bilgisayar emülatörü" -#: lutris/runners/openmsx.py:12 +#: lutris/runners/openmsx.py:14 msgid "MSX, MSX2, MSX2+, MSX turboR" -msgstr "" +msgstr "MSX, MSX2, MSX2+, MSX turboR" -#: lutris/runners/osmose.py:10 +#: lutris/runners/osmose.py:12 msgid "Osmose" -msgstr "" +msgstr "Osmose" -#: lutris/runners/osmose.py:11 +#: lutris/runners/osmose.py:13 msgid "Sega Master System Emulator" -msgstr "" +msgstr "Sega Master System Emülatörü" -#: lutris/runners/osmose.py:25 +#: lutris/runners/osmose.py:23 msgid "" "The game data, commonly called a ROM image.\n" "Supported formats: SMS and GG files. ZIP compressed ROMs are supported." msgstr "" +"Genellikle ROM görüntüsü olarak adlandırılan oyun verileri.\n" +"Desteklenen formatlar: SMS ve GG dosyaları. ZIP sıkıştırılmış ROM'lar destekle" +"nmektedir." -#: lutris/runners/pcsx2.py:8 +#: lutris/runners/pcsx2.py:12 msgid "PCSX2" -msgstr "" +msgstr "PCSX2" -#: lutris/runners/pcsx2.py:9 +#: lutris/runners/pcsx2.py:13 msgid "PlayStation 2 emulator" -msgstr "" +msgstr "PlayStation 2 emülatörü" -#: lutris/runners/pcsx2.py:10 +#: lutris/runners/pcsx2.py:14 msgid "Sony PlayStation 2" -msgstr "" +msgstr "Sony PlayStation 2" -#: lutris/runners/pcsx2.py:32 +#: lutris/runners/pcsx2.py:34 msgid "Fullboot" -msgstr "" - -#: lutris/runners/pcsx2.py:44 -msgid "Custom config file" -msgstr "" +msgstr "Fullboot" -#: lutris/runners/pcsx2.py:50 -msgid "Custom config path" -msgstr "" +#: lutris/runners/pcsx2.py:35 lutris/runners/rpcs3.py:26 +msgid "No GUI" +msgstr "GUI yok" #: lutris/runners/pico8.py:21 msgid "Runs PICO-8 fantasy console cartridges" -msgstr "" +msgstr "PICO-8 fantasy konsol kartuşlarını çalıştırır" #: lutris/runners/pico8.py:23 lutris/runners/pico8.py:24 msgid "PICO-8" -msgstr "" +msgstr "PICO-8" #: lutris/runners/pico8.py:29 msgid "Cartridge file/URL/ID" -msgstr "" +msgstr "Kartuş dosyası/URL/ID" #: lutris/runners/pico8.py:30 msgid "You can put a .p8.png file path, URL, or BBS cartridge ID here." msgstr "" +"Buraya bir .p8.png dosya yolu, URL veya BBS kartuş kimliği koyabilirsiniz." -#: lutris/runners/pico8.py:40 +#: lutris/runners/pico8.py:41 msgid "Launch in fullscreen." -msgstr "Tam ekranda başlat" +msgstr "Tam ekranda başlat." -#: lutris/runners/pico8.py:44 lutris/runners/web.py:45 +#: lutris/runners/pico8.py:46 lutris/runners/web.py:47 msgid "Window size" msgstr "Pencere boyutu" -#: lutris/runners/pico8.py:47 +#: lutris/runners/pico8.py:49 msgid "The initial size of the game window." -msgstr "" +msgstr "Oyun penceresinin başlangıç boyutu." -#: lutris/runners/pico8.py:52 +#: lutris/runners/pico8.py:54 msgid "Start in splore mode" -msgstr "" +msgstr "Splore modunda başlatın" -#: lutris/runners/pico8.py:58 +#: lutris/runners/pico8.py:60 msgid "Extra arguments" -msgstr "Ek argüman" +msgstr "Ek argümanlar" -#: lutris/runners/pico8.py:60 +#: lutris/runners/pico8.py:62 msgid "Extra arguments to the executable" -msgstr "" +msgstr "Yürütülebilir için ek argümanlar" -#: lutris/runners/pico8.py:66 +#: lutris/runners/pico8.py:68 msgid "Engine (web only)" -msgstr "Motor (yanlızca web)" +msgstr "Motor (sadece web)" -#: lutris/runners/pico8.py:68 +#: lutris/runners/pico8.py:70 msgid "Name of engine (will be downloaded) or local file path" -msgstr "" - -#: lutris/runners/pico8.py:82 -#, python-format -msgid "PICO-8 runner (%s)" -msgstr "" +msgstr "Motorun adı (indirilecek) veya yerel dosya yolu" #: lutris/runners/redream.py:10 msgid "Redream" -msgstr "" +msgstr "Redream" #: lutris/runners/redream.py:11 lutris/runners/reicast.py:17 msgid "Sega Dreamcast emulator" -msgstr "" +msgstr "Sega Dreamcast emülatörü" #: lutris/runners/redream.py:12 lutris/runners/reicast.py:18 msgid "Sega Dreamcast" -msgstr "" +msgstr "Sega Dreamcast" #: lutris/runners/redream.py:19 lutris/runners/reicast.py:28 msgid "Disc image file" -msgstr "" +msgstr "Disk imaj dosyası" #: lutris/runners/redream.py:20 msgid "" "Game data file\n" "Supported formats: GDI, CDI, CHD" msgstr "" +"Oyun veri dosyası\n" +"Desteklenen formatlar: GDI, CDI, CHD" -#: lutris/runners/redream.py:28 +#: lutris/runners/redream.py:29 msgid "Aspect Ratio" msgstr "En Boy Oranı" -#: lutris/runners/redream.py:29 +#: lutris/runners/redream.py:30 msgid "4:3" msgstr "4:3" -#: lutris/runners/redream.py:29 -msgid "Stretch" -msgstr "Uzatma" - -#: lutris/runners/redream.py:35 +#: lutris/runners/redream.py:36 msgid "Region" msgstr "Bölge" -#: lutris/runners/redream.py:36 +#: lutris/runners/redream.py:37 msgid "USA" -msgstr "USA" +msgstr "ABD" -#: lutris/runners/redream.py:36 +#: lutris/runners/redream.py:37 msgid "Europe" msgstr "Avrupa" -#: lutris/runners/redream.py:36 +#: lutris/runners/redream.py:37 msgid "Japan" -msgstr "Japon" +msgstr "Japonya" -#: lutris/runners/redream.py:42 +#: lutris/runners/redream.py:43 msgid "System Language" msgstr "Sistem Dili" -#: lutris/runners/redream.py:44 +#: lutris/runners/redream.py:45 lutris/sysoptions.py:32 msgid "English" msgstr "İngilizce" -#: lutris/runners/redream.py:45 +#: lutris/runners/redream.py:46 lutris/sysoptions.py:36 msgid "German" -msgstr "Almanca" +msgstr "Almanya" -#: lutris/runners/redream.py:46 +#: lutris/runners/redream.py:47 lutris/sysoptions.py:34 msgid "French" -msgstr "Fransızca" +msgstr "Fransa" -#: lutris/runners/redream.py:47 +#: lutris/runners/redream.py:48 lutris/sysoptions.py:44 msgid "Spanish" -msgstr "İspanyolca" +msgstr "İspanya" -#: lutris/runners/redream.py:48 +#: lutris/runners/redream.py:49 lutris/sysoptions.py:38 msgid "Italian" -msgstr "İtalyanca" - -#: lutris/runners/redream.py:49 -msgid "Japanese" -msgstr "Japonca" +msgstr "İtalya" -#: lutris/runners/redream.py:58 +#: lutris/runners/redream.py:59 msgid "NTSC" -msgstr "" +msgstr "NTSC" -#: lutris/runners/redream.py:59 +#: lutris/runners/redream.py:60 msgid "PAL" -msgstr "" +msgstr "PAL" -#: lutris/runners/redream.py:60 +#: lutris/runners/redream.py:61 msgid "PAL-M (Brazil)" -msgstr "" +msgstr "PAL-M (Brezilya)" -#: lutris/runners/redream.py:61 +#: lutris/runners/redream.py:62 msgid "PAL-N (Argentina, Paraguay, Uruguay)" -msgstr "" +msgstr "PAL-N (Arjantin, Paraguay, Uruguay)" -#: lutris/runners/redream.py:68 +#: lutris/runners/redream.py:69 msgid "Time Sync" -msgstr "Zaman Senkronizasyonu" - -#: lutris/runners/redream.py:70 -msgid "Audio and video" -msgstr "Ses ve Video" +msgstr "Saat Senkronize" #: lutris/runners/redream.py:71 -msgid "Audio" -msgstr "Ses" +msgid "Audio and video" +msgstr "Ses ve video" -#: lutris/runners/redream.py:72 +#: lutris/runners/redream.py:73 msgid "Video" msgstr "Video" -#: lutris/runners/redream.py:81 +#: lutris/runners/redream.py:82 msgid "Internal Video Resolution Scale" -msgstr "" +msgstr "Dahili Video Çözünürlük Ölçeği" -#: lutris/runners/redream.py:94 +#: lutris/runners/redream.py:95 msgid "Only available in premium version." -msgstr "" +msgstr "Sadece premium sürümle mevcut" -#: lutris/runners/redream.py:101 +#: lutris/runners/redream.py:102 msgid "Do you want to select a premium license file?" -msgstr "" +msgstr "Premium lisans dosyasını seçmek ister misin?" -#: lutris/runners/redream.py:102 lutris/runners/redream.py:103 +#: lutris/runners/redream.py:103 lutris/runners/redream.py:104 msgid "Use premium version?" -msgstr "" +msgstr "Premium sürümü kullan?" #: lutris/runners/reicast.py:16 msgid "Reicast" -msgstr "" +msgstr "Reicast" #: lutris/runners/reicast.py:29 msgid "" "The game data.\n" "Supported formats: ISO, CDI" msgstr "" +"Oyun verileri.\n" +"Desteklenen formatlar: ISO, CDI" + +#: lutris/runners/reicast.py:46 lutris/runners/reicast.py:54 +#: lutris/runners/reicast.py:62 lutris/runners/reicast.py:70 +msgid "Gamepads" +msgstr "Oyun kumandaları" #: lutris/runners/reicast.py:47 msgid "Gamepad 1" -msgstr "Gamepad 1" +msgstr "Oyun kumandası 1" -#: lutris/runners/reicast.py:54 +#: lutris/runners/reicast.py:55 msgid "Gamepad 2" -msgstr "Gamepad 2" +msgstr "Oyun kumandası 2" -#: lutris/runners/reicast.py:61 +#: lutris/runners/reicast.py:63 msgid "Gamepad 3" -msgstr "Gamepad 3" +msgstr "Oyun kumandası 3" -#: lutris/runners/reicast.py:68 +#: lutris/runners/reicast.py:71 msgid "Gamepad 4" -msgstr "Gamepad 4" - -#: lutris/runners/reicast.py:84 -msgid "You have to copy valid BIOS files to ~/.reicast/data before playing" -msgstr "" +msgstr "Oyun kumandası 4" -#: lutris/runners/rpcs3.py:10 +#: lutris/runners/rpcs3.py:12 msgid "RPCS3" msgstr "RPCS3" -#: lutris/runners/rpcs3.py:11 +#: lutris/runners/rpcs3.py:13 msgid "PlayStation 3 emulator" -msgstr "PlayStation 3 emülatör" +msgstr "PlayStation 3 emülatörü" -#: lutris/runners/rpcs3.py:12 +#: lutris/runners/rpcs3.py:14 msgid "Sony PlayStation 3" msgstr "Sony PlayStation 3" -#: lutris/runners/rpcs3.py:20 +#: lutris/runners/rpcs3.py:23 msgid "Path to EBOOT.BIN" -msgstr "EBOOT.BIN yolu" +msgstr "EBOOT.BIN'in yolu" -#: lutris/runners/runner.py:220 +#: lutris/runners/runner.py:162 msgid "Custom executable for the runner" -msgstr "" +msgstr "Oynatıcı için özel yürütülebilir dosya" -#. The 'file' sort of gameplay_info cannot be made to use a configuration -#: lutris/runners/runner.py:335 -msgid "The runner could not find a command to apply the configuration to." +#: lutris/runners/runner.py:169 +msgid "Side Panel" +msgstr "Kenar Çubuğu" + +#: lutris/runners/runner.py:172 +msgid "Visible in Side Panel" +msgstr "Kenar Çubuğunda görünür" + +#: lutris/runners/runner.py:176 +msgid "" +"Show this runner in the side panel if it is installed or available through " +"Flatpak." msgstr "" +"Yüklüyse veya " +"Flatpak aracılığıyla kullanılabiliyorsa bu oynatıcı yan panelde gösterin." + +#: lutris/runners/runner.py:191 lutris/runners/runner.py:200 +#: lutris/runners/vice.py:115 lutris/util/system.py:261 +#, python-format +msgid "The executable '%s' could not be found." +msgstr "'%s' yürütülebilir dosyası bulunamadı." #: lutris/runners/runner.py:452 msgid "" "The required runner is not installed.\n" "Do you wish to install it now?" msgstr "" +"Gerekli oynatıcı yüklü değil.\n" +"Şimdi yüklemek istiyor musunuz?" -#: lutris/runners/runner.py:454 +#: lutris/runners/runner.py:453 msgid "Required runner unavailable" msgstr "Gerekli olan oynatıcı kullanılabilir değil" -#: lutris/runners/runner.py:536 +#: lutris/runners/runner.py:508 msgid "Failed to retrieve {} ({}) information" -msgstr "" +msgstr "{} ({}) bilgisi alınamadı" + +#: lutris/runners/runner.py:513 +#, python-format +msgid "The '%s' version of the '%s' runner can't be downloaded." +msgstr "'%s' oynatıcısı ‘%s’ sürümü indirilemiyor." -#: lutris/runners/runner.py:563 +#: lutris/runners/runner.py:516 +#, python-format +msgid "The the '%s' runner can't be downloaded." +msgstr "'%s' oynatıcısı indirilemiyor." + +#: lutris/runners/runner.py:545 msgid "Failed to extract {}" -msgstr "{} Ayrıştırma hatası" +msgstr "Çıkartma işlemi başarısız {}" -#: lutris/runners/runner.py:568 +#: lutris/runners/runner.py:550 msgid "Failed to extract {}: {}" -msgstr "{} Ayrıştırma Hatası: {}" +msgstr "Çıkartma işlemi başarısız {}: {}" -#: lutris/runners/ryujinx.py:14 +#: lutris/runners/ryujinx.py:13 msgid "Ryujinx" msgstr "Ryujinx" -#: lutris/runners/ryujinx.py:15 lutris/runners/yuzu.py:15 +#: lutris/runners/ryujinx.py:14 lutris/runners/yuzu.py:14 msgid "Nintendo Switch" msgstr "Nintendo Switch" -#: lutris/runners/ryujinx.py:16 lutris/runners/yuzu.py:16 +#: lutris/runners/ryujinx.py:15 lutris/runners/yuzu.py:15 msgid "Nintendo Switch emulator" msgstr "Nintendo Switch emülatörü" @@ -3932,773 +5916,1143 @@ msgstr "NSP dosyası" #: lutris/runners/ryujinx.py:32 lutris/runners/yuzu.py:30 msgid "Encryption keys" -msgstr "" +msgstr "Şifreleme anahtarları" #: lutris/runners/ryujinx.py:34 lutris/runners/yuzu.py:32 msgid "File containing the encryption keys." -msgstr "" +msgstr "Şifreleme anahtarlarını içeren dosya." -#: lutris/runners/ryujinx.py:37 lutris/runners/yuzu.py:35 +#: lutris/runners/ryujinx.py:38 lutris/runners/yuzu.py:36 msgid "Title keys" -msgstr "Başlık etiketleri" +msgstr "Başlık anahtarları" -#: lutris/runners/ryujinx.py:39 lutris/runners/yuzu.py:37 +#: lutris/runners/ryujinx.py:40 lutris/runners/yuzu.py:38 msgid "File containing the title keys." -msgstr "" +msgstr "Başlık anahtarlarını içeren dosya." + +#: lutris/runners/scummvm.py:32 +msgid "Warning Scalers may not work with OpenGL rendering." +msgstr "Uyarı Ölçekleyiciler OpenGL işleme ile çalışmayabilir." + +#: lutris/runners/scummvm.py:45 +#, python-format +msgid "Warning The '%s' scaler does not work with a scale factor of %s." +msgstr "Uyarı ‘%s’ ölçekleyici %s ölçek faktörü ile çalışmaz." -#: lutris/runners/scummvm.py:12 +#: lutris/runners/scummvm.py:54 msgid "Engine for point-and-click games." -msgstr "" +msgstr "Point-and-click oyunları için motor" -#: lutris/runners/scummvm.py:13 lutris/services/scummvm.py:10 +#: lutris/runners/scummvm.py:55 lutris/services/scummvm.py:29 msgid "ScummVM" msgstr "ScummVM" -#: lutris/runners/scummvm.py:21 +#: lutris/runners/scummvm.py:61 msgid "Game identifier" msgstr "Oyun tanımlayıcı" -#: lutris/runners/scummvm.py:26 +#: lutris/runners/scummvm.py:62 msgid "Game files location" -msgstr "Oyun dosyalarının yolu" +msgstr "Oyun dosyalarının lokasyonu" -#: lutris/runners/scummvm.py:82 +#: lutris/runners/scummvm.py:119 msgid "Enable subtitles" msgstr "Altyazıları etkinleştir" -#: lutris/runners/scummvm.py:89 +#: lutris/runners/scummvm.py:127 msgid "Aspect ratio correction" -msgstr "En boy oranı düzeltmesi" +msgstr "En boy oranını doğrula**" -#: lutris/runners/scummvm.py:93 +#: lutris/runners/scummvm.py:131 msgid "" "Most games supported by ScummVM were made for VGA display modes using " "rectangular pixels. Activating this option for these games will preserve the " "4:3 aspect ratio they were made for." msgstr "" +"ScummVM tarafından desteklenen çoğu oyun " +"dikdörtgen pikseller kullanılarak VGA ekran modları için yapılmıştır. Bu oyunl" +"ar için bu seçeneği etkinleştirmek, " +"4:3 en boy oranını koruyacaktır." #: lutris/runners/scummvm.py:140 -msgid "Render mode" -msgstr "Render modu" +msgid "Graphic scaler" +msgstr "Grafik ölçeklendir" #: lutris/runners/scummvm.py:157 -msgid "Changes how the game is rendered." +msgid "" +"The algorithm used to scale up the game's base resolution, resulting in " +"different visual styles. " +msgstr "" +"Oyunun temel çözünürlüğünü ölçeklendirmek için kullanılan algoritma, " +"farklı görsel stillerle sonuçlanır." + +#: lutris/runners/scummvm.py:163 +msgid "Scale factor" +msgstr "Ölçeklendirme faktörü" + +#: lutris/runners/scummvm.py:174 +msgid "" +"Changes the resolution of the game. For example, a 2x scale will take a " +"320x200 resolution game and scale it up to 640x400. " +msgstr "" +"Oyunun çözünürlüğünü değiştirir. Örneğin, 2x ölçek " +"320x200 çözünürlüklü bir oyunu alır ve 640x400'e kadar ölçeklendirir." + +#: lutris/runners/scummvm.py:183 +msgid "Renderer" +msgstr "İşleyici" + +#: lutris/runners/scummvm.py:188 +msgid "OpenGL" +msgstr "OpenGL" + +#: lutris/runners/scummvm.py:189 +msgid "OpenGL (with shaders)" +msgstr "OpenGL (gölgelerle)" + +#: lutris/runners/scummvm.py:193 +msgid "Changes the rendering method used for 3D games." +msgstr "3D oyunlar için kullanılan işleme yöntemini değiştirir." + +#: lutris/runners/scummvm.py:198 +msgid "Render mode" +msgstr "İşleme modu" + +#: lutris/runners/scummvm.py:202 +msgid "Hercules (Green)" +msgstr "Hercules (Yeşil)" + +#: lutris/runners/scummvm.py:203 +msgid "Hercules (Amber)" +msgstr "Hercules (Kehribar)" + +#: lutris/runners/scummvm.py:204 +msgid "CGA" +msgstr "CGA" + +#: lutris/runners/scummvm.py:205 +msgid "EGA" +msgstr "EGA" + +#: lutris/runners/scummvm.py:206 +msgid "VGA" +msgstr "VGA" + +#: lutris/runners/scummvm.py:207 +msgid "Amiga" +msgstr "Amiga" + +#: lutris/runners/scummvm.py:208 +msgid "FM Towns" +msgstr "FM Towns" + +#: lutris/runners/scummvm.py:209 +msgid "PC-9821" +msgstr "PC-9821" + +#: lutris/runners/scummvm.py:210 +msgid "PC-9801" +msgstr "PC-9801" + +#: lutris/runners/scummvm.py:211 +msgid "Apple IIgs" +msgstr "Apple IIgs" + +#: lutris/runners/scummvm.py:213 +msgid "Macintosh" +msgstr "Macintosh" + +#: lutris/runners/scummvm.py:217 +msgid "" +"Changes the graphics hardware the game will target, if the game supports " +"this." +msgstr "" +"Oyun adresini destekliyorsa, oyunun hedefleyeceği grafik donanımını değiştirir" +"." + +#: lutris/runners/scummvm.py:222 +msgid "Stretch mode" +msgstr "Uzatma modu" + +#: lutris/runners/scummvm.py:226 +msgid "Center" +msgstr "Merkez" + +#: lutris/runners/scummvm.py:227 +msgid "Pixel Perfect" +msgstr "Pixel Perfect" + +#: lutris/runners/scummvm.py:228 +msgid "Even Pixels" +msgstr "Even Pixels" + +#: lutris/runners/scummvm.py:230 +msgid "Fit" +msgstr "Fit" + +#: lutris/runners/scummvm.py:231 +msgid "Fit (force aspect ratio)" +msgstr "Fit (en boy oranına zorla)" + +#: lutris/runners/scummvm.py:235 +msgid "Changes how the game is placed when the window is resized." msgstr "" +"Pencere yeniden boyutlandırıldığında oyunun nasıl yerleştirileceğini değiştiri" +"r." -#: lutris/runners/scummvm.py:161 +#: lutris/runners/scummvm.py:240 msgid "Filtering" -msgstr "Filtreleme" +msgstr "Filtreleniyor" -#: lutris/runners/scummvm.py:163 +#: lutris/runners/scummvm.py:243 msgid "" "Uses bilinear interpolation instead of nearest neighbor resampling for the " "aspect ratio correction and stretch mode." msgstr "" +"en boy oranı düzeltme ve uzatma modu için en yakın komşu yeniden örnekleme yer" +"ine bilineer enterpolasyon kullanır." -#: lutris/runners/scummvm.py:170 +#: lutris/runners/scummvm.py:251 msgid "Data directory" msgstr "Veri dizini" -#: lutris/runners/scummvm.py:172 +#: lutris/runners/scummvm.py:253 msgid "Defaults to share/scummvm if unspecified." -msgstr "" +msgstr "Belirtilmemişse varsayılan değer share/scummvm'dir." -#: lutris/runners/scummvm.py:179 +#: lutris/runners/scummvm.py:261 msgid "" "Specifes platform of game. Allowed values: 2gs, 3do, acorn, amiga, atari, " "c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" msgstr "" +"Oyunun platformunu belirtir. İzin verilen değerler: 2gs, 3do, acorn, amiga, at" +"ari, " +"c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" -#: lutris/runners/scummvm.py:187 +#: lutris/runners/scummvm.py:270 msgid "Enables joystick input (default: 0 = first joystick)" msgstr "" +"Oyun kumanda girdilerini etkinleştir (varsayılan: 0 = ilk oyun kumandası)" -#: lutris/runners/scummvm.py:193 -msgid "Language" -msgstr "Dil" - -#: lutris/runners/scummvm.py:194 +#: lutris/runners/scummvm.py:277 msgid "" "Selects language (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" -msgstr "" +msgstr "Dil seç (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" -#: lutris/runners/scummvm.py:200 +#: lutris/runners/scummvm.py:283 msgid "Engine speed" msgstr "Motor hızı" -#: lutris/runners/scummvm.py:201 +#: lutris/runners/scummvm.py:285 msgid "" "Sets frames per second limit (0 - 100) for Grim Fandango or Escape from " "Monkey Island (default: 60)." msgstr "" +"Grim Fandango veya Escape from " +"Monkey Island için saniye başına kare sınırını (0 - 100) ayarlar (varsayılan: " +"60)." -#: lutris/runners/scummvm.py:208 +#: lutris/runners/scummvm.py:292 msgid "Talk speed" msgstr "Konuşma hızı" -#: lutris/runners/scummvm.py:209 +#: lutris/runners/scummvm.py:293 msgid "Sets talk speed for games (default: 60)" -msgstr "" +msgstr "Oyunlar için konuşma hızını ayarla (varsayılan: 60)" -#: lutris/runners/scummvm.py:215 +#: lutris/runners/scummvm.py:300 msgid "Music tempo" -msgstr "" +msgstr "Müzik temposu" -#: lutris/runners/scummvm.py:216 +#: lutris/runners/scummvm.py:301 msgid "Sets music tempo (in percent, 50-200) for SCUMM games (default: 100)" msgstr "" +"SCUMM oyunları için müzik temposunu ayarlar (yüzde olarak, 50-200) (varsayılan" +": 100)" -#: lutris/runners/scummvm.py:222 +#: lutris/runners/scummvm.py:308 msgid "Digital iMuse tempo" -msgstr "" +msgstr "Dijital iMuse temposu" -#: lutris/runners/scummvm.py:223 +#: lutris/runners/scummvm.py:309 msgid "Sets internal Digital iMuse tempo (10 - 100) per second (default: 10)" msgstr "" +"Saniye başına dahili Dijital iMuse temposunu (10 - 100) ayarlar (varsayılan: 1" +"0)" -#: lutris/runners/scummvm.py:228 +#: lutris/runners/scummvm.py:315 msgid "Music driver" msgstr "Müzik sürücüsü" -#: lutris/runners/scummvm.py:244 +#: lutris/runners/scummvm.py:331 msgid "Specifies the device ScummVM uses to output audio." -msgstr "" +msgstr "ScummVM'nin ses çıkışı için kullandığı cihazı belirtir." -#: lutris/runners/scummvm.py:249 +#: lutris/runners/scummvm.py:337 msgid "Output rate" -msgstr "Çıktı oranı" +msgstr "Çıktı aralığı" -#: lutris/runners/scummvm.py:256 +#: lutris/runners/scummvm.py:344 msgid "Selects output sample rate in Hz." -msgstr "" +msgstr "Hz cinsinden çıkış örnekleme hızını seçer." -#: lutris/runners/scummvm.py:261 +#: lutris/runners/scummvm.py:350 msgid "OPL driver" msgstr "OPL sürücü" -#: lutris/runners/scummvm.py:273 +#: lutris/runners/scummvm.py:363 msgid "" "Chooses which emulator is used by ScummVM when the AdLib emulator is chosen " "as the Preferred device." msgstr "" +"AdLib emülatörü " +"Tercih edilen cihaz olarak seçildiğinde ScummVM tarafından hangi emülatörün ku" +"llanılacağını seçer." -#: lutris/runners/scummvm.py:280 +#: lutris/runners/scummvm.py:371 msgid "Music volume" -msgstr "Müzik sesi" +msgstr "Müzik düzeyi" -#: lutris/runners/scummvm.py:281 +#: lutris/runners/scummvm.py:372 msgid "Sets the music volume, 0-255 (default: 192)" -msgstr "" - -#: lutris/runners/scummvm.py:287 -msgid "SFX volume" -msgstr "SFX ses," +msgstr "Müzik düzeyini ayarla, 0-255 (varsayılan: 192)" -#: lutris/runners/scummvm.py:288 +#: lutris/runners/scummvm.py:380 msgid "Sets the sfx volume, 0-255 (default: 192)" -msgstr "" +msgstr "sfx düzeyini ayarla, 0-255 (varsayılan: 192)" -#: lutris/runners/scummvm.py:294 +#: lutris/runners/scummvm.py:387 msgid "Speech volume" -msgstr "Konuşma sesi" +msgstr "Konuşma düzeyi" -#: lutris/runners/scummvm.py:295 +#: lutris/runners/scummvm.py:388 msgid "Sets the speech volume, 0-255 (default: 192)" -msgstr "" +msgstr "Konuşma düzeyini ayarla, 0-255 (default: 192)" -#: lutris/runners/scummvm.py:301 +#: lutris/runners/scummvm.py:395 msgid "MIDI gain" -msgstr "" +msgstr "MIDI gain" -#: lutris/runners/scummvm.py:302 +#: lutris/runners/scummvm.py:396 msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" -msgstr "" +msgstr "MIDI çalma için kazancı ayarlar. 0-1000 (varsayılan: 100)" -#: lutris/runners/scummvm.py:308 -msgid "Soundfont" -msgstr "" - -#: lutris/runners/scummvm.py:309 +#: lutris/runners/scummvm.py:404 msgid "Specifies the path to a soundfont file." -msgstr "" +msgstr "Bir soundfont dosyasının yolunu belirtir." -#: lutris/runners/scummvm.py:314 +#: lutris/runners/scummvm.py:410 msgid "Mixed AdLib/MIDI mode" -msgstr "" +msgstr "Karışık AdLib/MIDI modu" -#: lutris/runners/scummvm.py:317 +#: lutris/runners/scummvm.py:413 msgid "Combines MIDI music with AdLib sound effects." -msgstr "" +msgstr "MIDI müziğini AdLib ses efektleriyle birleştirir." -#: lutris/runners/scummvm.py:322 +#: lutris/runners/scummvm.py:419 msgid "True Roland MT-32" -msgstr "" +msgstr "True Roland MT-32" -#: lutris/runners/scummvm.py:325 +#: lutris/runners/scummvm.py:423 msgid "" "Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, " "CM-32L, CM-500 or other MT-32 device." msgstr "" +"ScummVM'ye MIDI cihazının gerçek bir Roland MT-32, LAPC-I, CM-64, " +"CM-32L, CM-500 veya diğer MT-32 cihazı olduğunu söyler." -#: lutris/runners/scummvm.py:331 +#: lutris/runners/scummvm.py:431 msgid "Enable Roland GS" -msgstr "" +msgstr "Roland GS'yi etkinleştir" -#: lutris/runners/scummvm.py:334 +#: lutris/runners/scummvm.py:435 msgid "" "Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, " "such as an SC-55, SC-88 or SC-8820." msgstr "" +"ScummVM'ye MIDI cihazının MT-32 haritasına sahip bir GS cihazı olduğunu söyler" +", " +"SC-55, SC-88 veya SC-8820 gibi." -#: lutris/runners/scummvm.py:341 +#: lutris/runners/scummvm.py:443 msgid "Use alternate intro" -msgstr "Alternatif jenerik kullan" +msgstr "Alternatif girişi kullan" -#: lutris/runners/scummvm.py:342 +#: lutris/runners/scummvm.py:444 msgid "Uses alternative intro for CD versions" -msgstr "" +msgstr "CD sürümleri için alternatif girişleri kullan" -#: lutris/runners/scummvm.py:348 +#: lutris/runners/scummvm.py:450 msgid "Copy protection" -msgstr "Kopya ürün" +msgstr "Kopya koruma" -#: lutris/runners/scummvm.py:349 +#: lutris/runners/scummvm.py:451 msgid "Enables copy protection" -msgstr "" +msgstr "Kopya korumayı etkinleştir" -#: lutris/runners/scummvm.py:355 +#: lutris/runners/scummvm.py:457 msgid "Demo mode" -msgstr "Demo modu" +msgstr "Deneme modu" -#: lutris/runners/scummvm.py:356 +#: lutris/runners/scummvm.py:458 msgid "Starts demo mode of Maniac Mansion or The 7th Guest" -msgstr "" +msgstr "Maniac Mansion veya The 7th Guest'in demo modunu başlatır" -#: lutris/runners/scummvm.py:362 +#: lutris/runners/scummvm.py:465 msgid "Debug level" msgstr "Hata ayıklama seviyesi" -#: lutris/runners/scummvm.py:363 +#: lutris/runners/scummvm.py:466 msgid "Sets debug verbosity level" -msgstr "" +msgstr "Hata ayıklama ayrıntı düzeyini ayarlar" -#: lutris/runners/scummvm.py:369 +#: lutris/runners/scummvm.py:473 msgid "Debug flags" -msgstr "" +msgstr "Hata ayıklama bayrakları" -#: lutris/runners/scummvm.py:370 +#: lutris/runners/scummvm.py:474 msgid "Enables engine specific debug flags" -msgstr "" +msgstr "Motora özel hata ayıklama bayraklarını etkinleştirir" -#: lutris/runners/snes9x.py:17 +#: lutris/runners/snes9x.py:18 msgid "Super Nintendo emulator" -msgstr "" +msgstr "Super Nintendo emülatörü" -#: lutris/runners/snes9x.py:18 +#: lutris/runners/snes9x.py:19 msgid "Snes9x" -msgstr "" +msgstr "Snes9x" -#: lutris/runners/snes9x.py:45 +#: lutris/runners/snes9x.py:40 msgid "Maintain aspect ratio (4:3)" -msgstr "" +msgstr "En boy oranını koru (4:3)" -#: lutris/runners/snes9x.py:49 +#: lutris/runners/snes9x.py:43 msgid "" "Super Nintendo games were made for 4:3 screens with rectangular pixels, but " "modern screens have square pixels, which results in a vertically squeezed " "image. This option corrects this by displaying rectangular pixels." msgstr "" +"Super Nintendo oyunları dikdörtgen pikselli 4:3 ekranlar için yapılmıştır, anc" +"ak " +"modern ekranlar kare piksellere sahiptir, bu da dikey olarak sıkıştırılmış bir" +" " +"görüntüsüne neden olur. Bu seçenek, dikdörtgen pikselleri görüntüleyerek bunu " +"düzeltir." -#: lutris/runners/snes9x.py:59 +#: lutris/runners/snes9x.py:53 msgid "Sound driver" -msgstr "" +msgstr "Ses sürücüsü" #: lutris/runners/steam.py:29 msgid "Runs Steam for Linux games" -msgstr "" +msgstr "Linux oyunları için Steam'i çalıştır" #: lutris/runners/steam.py:40 msgid "" -"The application ID can be retrieved from the game's page at steampowered." -"com. Example: 235320 is the app ID for Original War in: \n" +"The application ID can be retrieved from the game's page at " +"steampowered.com. Example: 235320 is the app ID for Original War " +"in: \n" "http://store.steampowered.com/app/235320/" msgstr "" +"Uygulama kimliği " +"steampowered.com adresindeki oyun sayfasından alınabilir. Örnek: 235320, Or" +"iginal War için uygulama kimliğidir " +"içinde: \n" +"http://store.steampowered.com/app/235320/" #: lutris/runners/steam.py:51 msgid "" "Command line arguments used when launching the game.\n" "Ignored when Steam Big Picture mode is enabled." msgstr "" +"Oyun başlatılırken kullanılan komut satırı argümanları.\n" +"Steam Büyük Resim modu etkinleştirildiğinde yok sayılır." -#: lutris/runners/steam.py:57 +#: lutris/runners/steam.py:56 msgid "DRM free mode (Do not launch Steam)" -msgstr "" +msgstr "DRM'li mod (Steam'ı çalıştırma)" -#: lutris/runners/steam.py:62 +#: lutris/runners/steam.py:60 msgid "" "Run the game directly without Steam, requires the game binary path to be set" msgstr "" +"Oyunu Steam olmadan doğrudan çalıştırın, oyun ikili yolunun ayarlanmasını gere" +"ktirir" -#: lutris/runners/steam.py:68 +#: lutris/runners/steam.py:65 msgid "Game binary path" -msgstr "" +msgstr "Oyun yürütülebilir yolu" -#: lutris/runners/steam.py:70 +#: lutris/runners/steam.py:67 msgid "Path to the game executable (Required by DRM free mode)" -msgstr "" +msgstr "Oyun çalıştırılabilir dosyasının yolu (DRM'siz mod için gereklidir)" -#: lutris/runners/steam.py:76 +#: lutris/runners/steam.py:73 msgid "Start Steam in Big Picture mode" -msgstr "" +msgstr "Steam'ı Genişletilmiş Ekran modunda başlat" -#: lutris/runners/steam.py:80 +#: lutris/runners/steam.py:77 msgid "" "Launches Steam in Big Picture mode.\n" "Only works if Steam is not running or already running in Big Picture mode.\n" "Useful when playing with a Steam Controller." msgstr "" +"Steam'i Büyük Resim modunda başlatır.\n" +"Yalnızca Steam çalışmıyorsa veya zaten Büyük Resim modunda çalışıyorsa çalışır" +".\n" +"Steam Kontrolcüsü ile oynarken kullanışlıdır." #: lutris/runners/steam.py:88 -msgid "Start Steam with LSI" -msgstr "" - -#: lutris/runners/steam.py:92 -msgid "" -"Launches steam with LSI patches enabled. Make sure Lutris Runtime is " -"disabled and you have LSI installed. https://github.com/solus-project/linux-" -"steam-integration" -msgstr "" - -#: lutris/runners/steam.py:103 msgid "Extra command line arguments used when launching Steam" -msgstr "" +msgstr "Steam'i başlatırken kullanılan ekstra komut satırı argümanları" -#: lutris/runners/steam.py:110 -msgid "Remove game data (through Steam)" -msgstr "" +#: lutris/runners/steam.py:170 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "Linux için Steam kurulumu Lutris tarafından gerçekleştirilmez." -#: lutris/runners/steam.py:244 +#: lutris/runners/steam.py:172 msgid "" "Steam for Linux installation is not handled by Lutris.\n" "Please go to http://steampowered.com " "or install Steam with the package provided by your distribution." msgstr "" +"Linux için Steam kurulumu Lutris tarafından yapılmamaktadır.\n" +"Lütfen http://steampowered.com " +"adresine gidin veya dağıtımınız tarafından sağlanan paket ile Steam'i kurun." -#: lutris/runners/steam.py:257 +#: lutris/runners/steam.py:186 msgid "Could not find Steam path, is Steam installed?" -msgstr "" +msgstr "Steam yolu bulunamadı, Steam yüklü mü?" -#: lutris/runners/vice.py:13 +#: lutris/runners/vice.py:14 msgid "Commodore Emulator" -msgstr "" +msgstr "Commodore Emülatör" -#: lutris/runners/vice.py:14 +#: lutris/runners/vice.py:15 msgid "Vice" -msgstr "" +msgstr "Yardımcı" -#: lutris/runners/vice.py:16 +#: lutris/runners/vice.py:18 msgid "Commodore 64" -msgstr "" +msgstr "Commodore 64" -#: lutris/runners/vice.py:17 +#: lutris/runners/vice.py:19 msgid "Commodore 128" -msgstr "" +msgstr "Commodore 128" -#: lutris/runners/vice.py:18 +#: lutris/runners/vice.py:20 msgid "Commodore VIC20" -msgstr "" +msgstr "Commodore VIC20" -#: lutris/runners/vice.py:19 +#: lutris/runners/vice.py:21 msgid "Commodore PET" -msgstr "" +msgstr "Commodore PET" -#: lutris/runners/vice.py:20 +#: lutris/runners/vice.py:22 msgid "Commodore Plus/4" -msgstr "" +msgstr "Commodore Plus/4" -#: lutris/runners/vice.py:21 +#: lutris/runners/vice.py:23 msgid "Commodore CBM II" -msgstr "" +msgstr "Commodore CBM II" -#: lutris/runners/vice.py:40 +#: lutris/runners/vice.py:39 msgid "" "The game data, commonly called a ROM image.\n" "Supported formats: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, " "D4M, T46, P00 and CRT." msgstr "" +"Genellikle ROM görüntüsü olarak adlandırılan oyun verileri.\n" +"Desteklenen formatlar: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, " +"D4M, T46, P00 ve CRT." -#: lutris/runners/vice.py:51 +#: lutris/runners/vice.py:47 msgid "Use joysticks" -msgstr "" +msgstr "Kumanda kolu kullan" -#: lutris/runners/vice.py:63 +#: lutris/runners/vice.py:59 msgid "Scale up display by 2" -msgstr "" +msgstr "Ekranı 2 ölçek büyütme" + +#: lutris/runners/vice.py:73 +msgid "Graphics renderer" +msgstr "Grafik oluşturucu" -#: lutris/runners/vice.py:75 +#: lutris/runners/vice.py:80 msgid "Enable sound emulation of disk drives" +msgstr "Disk sürücülerinin ses emülasyonunu etkinleştirin" + +#: lutris/runners/vice.py:190 +msgid "No rom provided" +msgstr "Rom sağlanmadı" + +#: lutris/runners/vita3k.py:12 lutris/runners/vita3k.py:98 +msgid "The Vita App has no Title ID set" +msgstr "Vita App Title ID ayarlanmamıştır" + +#: lutris/runners/vita3k.py:18 +msgid "Vita3K" +msgstr "Vita3K" + +#: lutris/runners/vita3k.py:19 +msgid "Sony PlayStation Vita" +msgstr "Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:20 +msgid "Sony PlayStation Vita emulator" +msgstr "Sony PlayStation Vita emülatör" + +#: lutris/runners/vita3k.py:29 +msgid "Title ID of Installed Application" +msgstr "Yüklü Uygulamanın Başlık Kimliği" + +#: lutris/runners/vita3k.py:32 +msgid "" +"Title ID of installed application. Eg.\"PCSG00042\". User installed apps are " +"located in ux0:/app/<title-id>." msgstr "" +"Yüklü uygulamanın başlık kimliği. Örn. \"PCSG00042\". Kullanıcı tarafından yük" +"lenen uygulamalar " +"ux0:/app/<title-id> adresinde bulunur." -#: lutris/runners/vice.py:81 -msgid "Graphics renderer" +#: lutris/runners/vita3k.py:44 +msgid "Start the emulator in fullscreen mode." +msgstr "Emülatörü tam ekran başlat." + +#: lutris/runners/vita3k.py:49 +msgid "Config location" +msgstr "Ayar yolu" + +#: lutris/runners/vita3k.py:52 +msgid "" +"Get a configuration file from a given location. If a filename is given, it " +"must end with \".yml\", otherwise it will be assumed to be a directory." msgstr "" +"Verilen bir konumdan bir yapılandırma dosyası alın. Bir dosya adı verilirse, " +"\".yml\" ile bitmelidir, aksi takdirde bir dizin olduğu varsayılır." -#: lutris/runners/web.py:17 lutris/runners/web.py:19 -msgid "Web" +#: lutris/runners/vita3k.py:58 +msgid "Load configuration file" +msgstr "Ayar dosyası yükle" + +#: lutris/runners/vita3k.py:61 +msgid "" +"If trues, informs the emualtor to load the config file from the \"Config " +"location\" option." msgstr "" +"Eğer doğruysa, emülatör'e yapılandırma dosyasını \"Config " +"location\" seçeneğinden yüklemesini bildirir." -#: lutris/runners/web.py:18 +#: lutris/runners/web.py:19 lutris/runners/web.py:21 +msgid "Web" +msgstr "Web" + +#: lutris/runners/web.py:20 msgid "Runs web based games" -msgstr "" +msgstr "Web tabanlı oyunları çalıştır" -#: lutris/runners/web.py:24 +#: lutris/runners/web.py:26 msgid "Full URL or HTML file path" -msgstr "" +msgstr "Tam URL ya da HTML dosya yolu" -#: lutris/runners/web.py:25 +#: lutris/runners/web.py:27 msgid "The full address of the game's web page or path to a HTML file." -msgstr "" +msgstr "Oyunun web sayfasının tam adresi veya bir HTML dosyasının yolu." -#: lutris/runners/web.py:31 +#: lutris/runners/web.py:33 msgid "Open in fullscreen" -msgstr "Tam ekran aç" +msgstr "Tam ekranda aç" -#: lutris/runners/web.py:34 +#: lutris/runners/web.py:36 msgid "Launch the game in fullscreen." -msgstr "" +msgstr "Oyunu tam erkan başlat." -#: lutris/runners/web.py:38 +#: lutris/runners/web.py:40 msgid "Open window maximized" -msgstr "Açık pencere genişletildi" +msgstr "Pencereyi büyütülmüş aç" -#: lutris/runners/web.py:41 +#: lutris/runners/web.py:43 msgid "Maximizes the window when game starts." msgstr "" +"'%s' kategorisini ‘%s’ ile birleştir Oyun başladığında pencereyi büyütür." -#: lutris/runners/web.py:56 +#: lutris/runners/web.py:58 msgid "The initial size of the game window when not opened." -msgstr "" +msgstr "Açılmadığında oyun penceresinin başlangıç boyutu." -#: lutris/runners/web.py:60 +#: lutris/runners/web.py:62 msgid "Disable window resizing (disables fullscreen and maximize)" msgstr "" +"Pencere yeniden boyunlandırması devre dışı (tam ekran ve büyütülmüşken devre " +"dışı)*" -#: lutris/runners/web.py:63 +#: lutris/runners/web.py:65 msgid "You can't resize this window." -msgstr "Pencereyi yeniden boyutlandıramazsın." +msgstr "Bu pencereyi yeniden boyutlandıramazsın." -#: lutris/runners/web.py:67 +#: lutris/runners/web.py:69 msgid "Borderless window" msgstr "Çerçevesiz pencere" -#: lutris/runners/web.py:70 +#: lutris/runners/web.py:72 msgid "The window has no borders/frame." -msgstr "" +msgstr "Pencerenin kenarlıkları/çerçevesi yoktur." -#: lutris/runners/web.py:74 +#: lutris/runners/web.py:76 msgid "Disable menu bar and default shortcuts" -msgstr "" +msgstr "Menü çubuğunu ve varsayılan kısayolları devre dışı bırak" -#: lutris/runners/web.py:77 +#: lutris/runners/web.py:79 msgid "" "This also disables default keyboard shortcuts, like copy/paste and " "fullscreen toggling." msgstr "" +"Bu aynı zamanda kopyala/yapıştır ve " +"tam ekran geçişi gibi varsayılan klavye kısayollarını da devre dışı bırakır." -#: lutris/runners/web.py:82 +#: lutris/runners/web.py:83 msgid "Disable page scrolling and hide scrollbars" -msgstr "" +msgstr "Sayfa kaydırmayı devre dışı bırak ve kaydırma çubuklarını gizle" -#: lutris/runners/web.py:85 +#: lutris/runners/web.py:86 msgid "Disables scrolling on the page." -msgstr "" +msgstr "Sayfada kaydırmayı devre dışı bırak." -#: lutris/runners/web.py:89 +#: lutris/runners/web.py:90 msgid "Hide mouse cursor" msgstr "Fare imlecini gizle" -#: lutris/runners/web.py:92 +#: lutris/runners/web.py:93 msgid "Prevents the mouse cursor from showing when hovering above the window." -msgstr "" +msgstr "Pencerenin üzerine gelindiğinde fare imlecinin görünmesini engeller." -#: lutris/runners/web.py:99 +#: lutris/runners/web.py:97 msgid "Open links in game window" -msgstr "Oyun penceresinden linkleri aç" +msgstr "Oyun penceresindeki linkleri aç" -#: lutris/runners/web.py:105 +#: lutris/runners/web.py:101 msgid "" "Enable this option if you want clicked links to open inside the game window. " "By default all links open in your default web browser." msgstr "" +"Tıklanan bağlantıların oyun penceresinin içinde açılmasını istiyorsanız bu seç" +"eneği etkinleştirin. " +"Varsayılan olarak tüm bağlantılar varsayılan web tarayıcınızda açılır." -#: lutris/runners/web.py:111 +#: lutris/runners/web.py:107 msgid "Remove default margin & padding" -msgstr "" +msgstr "Varsayılan margin & padding kaldır" -#: lutris/runners/web.py:114 +#: lutris/runners/web.py:110 msgid "" "Sets margin and padding to zero on <html> and <body> elements." msgstr "" +"<html> ve <body> öğelerinde margin ve padding değerlerini sıfır ol" +"arak ayarlar." -#: lutris/runners/web.py:119 +#: lutris/runners/web.py:114 msgid "Enable Adobe Flash Player" -msgstr "" +msgstr "Adobe Flash Player'ı etkinleştir" -#: lutris/runners/web.py:122 +#: lutris/runners/web.py:117 msgid "Enable Adobe Flash Player." -msgstr "" +msgstr "Adobe Flash Player'ı etkinleştir." -#: lutris/runners/web.py:126 +#: lutris/runners/web.py:121 msgid "Custom User-Agent" -msgstr "" +msgstr "Özel Kullanıcı-Aracısı" -#: lutris/runners/web.py:129 +#: lutris/runners/web.py:124 msgid "Overrides the default User-Agent header used by the runner." msgstr "" +"Çalıştırıcı tarafından kullanılan varsayılan User-Agent üstbilgisini geçersiz " +"kılar." -#: lutris/runners/web.py:134 +#: lutris/runners/web.py:129 msgid "Debug with Developer Tools" -msgstr "" +msgstr "Geliştirici Araçlarıyla Hata ayıkla" -#: lutris/runners/web.py:137 +#: lutris/runners/web.py:132 msgid "Let's you debug the page." -msgstr "" +msgstr "Sayfada hata ayıklamanızı sağlar." -#: lutris/runners/web.py:142 +#: lutris/runners/web.py:137 msgid "Open in web browser (old behavior)" -msgstr "" +msgstr "Web tarayıcısından aç (eski tarz)*" -#: lutris/runners/web.py:145 +#: lutris/runners/web.py:140 msgid "Launch the game in a web browser." +msgstr "Web tarayıcısından oyunu başlat." + +#: lutris/runners/web.py:144 +msgid "Custom web browser executable" +msgstr "web tarayıcısı çalıştırılabiliri***" + +#: lutris/runners/web.py:147 +msgid "" +"Select the executable of a browser on your system.\n" +"If left blank, Lutris will launch your default browser (xdg-open)." +msgstr "" +"Sisteminizdeki bir tarayıcının çalıştırılabilir dosyasını seçin.\n" +"Boş bırakılırsa, Lutris varsayılan tarayıcınızı başlatır (xdg-open)." + +#: lutris/runners/web.py:153 +msgid "Web browser arguments" +msgstr "Web tarayıcısı argümanları" + +#: lutris/runners/web.py:157 +msgid "" +"Command line arguments to pass to the executable.\n" +"$GAME or $URL inserts the game url.\n" +"\n" +"For Chrome/Chromium app mode use: --app=\"$GAME\"" +msgstr "" +"Yürütülebilir dosyaya aktarılacak komut satırı bağımsız değişkenleri.\n" +"$GAME veya $URL oyun URL'sini ekler.\n" +"\n" +"Chrome/Chromium uygulama modu için kullanın: --app=\"$GAME\"" + +#: lutris/runners/web.py:176 +msgid "" +"The web address is empty, \n" +"verify the game's configuration." +msgstr "" +"Web adresi boş, \n" +"oyunun yapılandırmasını doğrulayın." + +#: lutris/runners/web.py:183 +#, python-format +msgid "" +"The file %s does not exist, \n" +"verify the game's configuration." msgstr "" +"%s dosyası mevcut değil, \n" +"oyunun yapılandırmasını doğrulayın." -#: lutris/runners/web.py:151 -msgid "Custom web browser executable" -msgstr "" +#: lutris/runners/wine.py:78 lutris/runners/wine.py:775 +msgid "Proton is not compatible with 32-bit prefixes." +msgstr "Proton 32 bit öneklerle uyumlu değildir." -#: lutris/runners/web.py:155 +#: lutris/runners/wine.py:92 msgid "" -"Select the executable of a browser on your system.\n" -"If left blank, Lutris will launch your default browser (xdg-open)." +"Warning Some Wine configuration options cannot be applied, if no " +"prefix can be found." msgstr "" +"Uyarı " +"öneki bulunamazsa bazı Wine yapılandırma seçenekleri uygulanamaz." -#: lutris/runners/web.py:163 -msgid "Web browser arguments" +#: lutris/runners/wine.py:99 +#, python-format +msgid "" +"Warning Your NVIDIA driver is outdated.\n" +"You are currently running driver %s which does not fully support all " +"features for Vulkan and DXVK games." msgstr "" +"Uyarı NVIDIA sürücünüz güncel değil.\n" +"Şu anda Vulkan ve DXVK oyunları için tüm " +"özelliklerini tam olarak desteklemeyen %s sürücüsünü çalıştırıyorsunuz." -#: lutris/runners/web.py:169 +#: lutris/runners/wine.py:112 +#, python-format msgid "" -"Command line arguments to pass to the executable.\n" -"$GAME or $URL inserts the game url.\n" -"\n" -"For Chrome/Chromium app mode use: --app=\"$GAME\"" +"Error Vulkan is not installed or is not supported by your system, %s " +"is not available." msgstr "" +"Hata Vulkan yüklü değil veya sisteminiz tarafından desteklenmiyor, %s " +"kullanılamıyor." -#: lutris/runners/web.py:191 +#: lutris/runners/wine.py:127 +#, python-format msgid "" -"The web address is empty, \n" -"verify the game's configuration." +"Warning Lutris has detected that Vulkan API version %s is installed, " +"but to use the latest DXVK version, %s is required." msgstr "" +"Uyarı Lutris, Vulkan API sürümü %s'nin yüklü olduğunu tespit etti, " +"ancak en son DXVK sürümünü kullanmak için %s gereklidir." -#: lutris/runners/web.py:202 +#: lutris/runners/wine.py:135 #, python-format msgid "" -"The file %s does not exist, \n" -"verify the game's configuration." +"Warning Lutris has detected that the best device available ('%s') " +"supports Vulkan API %s, but to use the latest DXVK version, %s is required." msgstr "" +"Uyarı Lutris, mevcut en iyi cihazın ('%s') " +"Vulkan API %s'yi desteklediğini, ancak en son DXVK sürümünü kullanmak için %s'" +"nin gerekli olduğunu tespit etti." -#: lutris/runners/wine.py:40 -msgid "Runs Windows games" +#: lutris/runners/wine.py:151 +msgid "" +"Warning Your limits are not set correctly. Please increase them as " +"described here:\n" +"How-to-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" msgstr "" +"Uyarı Sınırlarınız doğru ayarlanmamış. Lütfen burada açıklandığı gibi " +"artırın:\n" +"How-to-" +"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/runners/wine.py:162 +msgid "Warning Your kernel is not patched for fsync." +msgstr "Uyarı Çekirdeğiniz fsync için yamalı değil." + +#: lutris/runners/wine.py:167 +msgid "Wine virtual desktop is no longer supported" +msgstr "Wine sana masaüstlerini artık desteklemiyor" + +#: lutris/runners/wine.py:173 +msgid "Virtual desktops cannot be enabled in Proton or GE Wine versions." +msgstr "Sanal masaüstüler Proton ya da GE Wine sürümlerini etkinleştiremez.*" + +#: lutris/runners/wine.py:178 +msgid "Custom (select executable below)" +msgstr "Diğer (çalıştırılabilir seç)*" + +#: lutris/runners/wine.py:180 +msgid "WineHQ Devel ({})" +msgstr "WineHQ Devel ({})" + +#: lutris/runners/wine.py:181 +msgid "WineHQ Staging ({})" +msgstr "WineHQ Staging ({})" + +#: lutris/runners/wine.py:182 +msgid "Wine Development ({})" +msgstr "Wine Development ({})" + +#: lutris/runners/wine.py:183 +msgid "System ({})" +msgstr "Sistem ({})" + +#: lutris/runners/wine.py:188 +msgid "GE-Proton (Latest)" +msgstr "GE-Proton (Yayınlanmış)" + +#: lutris/runners/wine.py:199 +msgid "Runs Windows games" +msgstr "Windows oyunlarını çalıştır" -#: lutris/runners/wine.py:41 +#: lutris/runners/wine.py:200 msgid "Wine" -msgstr "" +msgstr "Wine" -#: lutris/runners/wine.py:42 +#: lutris/runners/wine.py:201 msgid "Windows" -msgstr "" +msgstr "Windows" -#: lutris/runners/wine.py:51 +#: lutris/runners/wine.py:210 msgid "The game's main EXE file" -msgstr "" +msgstr "Oyunun ana EXE dosyası" -#: lutris/runners/wine.py:57 +#: lutris/runners/wine.py:216 msgid "Windows command line arguments used when launching the game" -msgstr "" +msgstr "Oyun başlatılırken kullanılan Windows komut satırı argümanları" -#: lutris/runners/wine.py:73 +#: lutris/runners/wine.py:230 msgid "Wine prefix" -msgstr "" +msgstr "Wine öneki" -#: lutris/runners/wine.py:75 +#: lutris/runners/wine.py:233 msgid "" "The prefix used by Wine.\n" "It's a directory containing a set of files and folders making up a confined " "Windows environment." msgstr "" +"Wine tarafından kullanılan önek.\n " +"Sınırlı bir Windows ortamı oluşturan bir dizi dosya ve klasör içeren bir dizi" +"ndir." -#: lutris/runners/wine.py:83 +#: lutris/runners/wine.py:241 msgid "Prefix architecture" -msgstr "" +msgstr "Mimari öneki" -#: lutris/runners/wine.py:84 +#: lutris/runners/wine.py:242 msgid "32-bit" msgstr "32-bit" -#: lutris/runners/wine.py:84 +#: lutris/runners/wine.py:242 msgid "64-bit" msgstr "64-bit" -#: lutris/runners/wine.py:86 +#: lutris/runners/wine.py:244 msgid "The architecture of the Windows environment" -msgstr "" - -#: lutris/runners/wine.py:114 -msgid "Custom (select executable below)" -msgstr "" +msgstr "Windows ortamının mimarisi" -#: lutris/runners/wine.py:116 -msgid "WineHQ Devel ({})" -msgstr "" - -#: lutris/runners/wine.py:117 -msgid "WineHQ Staging ({})" -msgstr "" +#: lutris/runners/wine.py:249 +msgid "Integrate system files in the prefix" +msgstr "Dahili sistem dosyalarını önekle bütünleştir" -#: lutris/runners/wine.py:118 -msgid "Wine Development ({})" +#: lutris/runners/wine.py:253 +msgid "" +"Place 'Documents', 'Pictures', and similar files in your home folder, " +"instead of keeping them in the game's prefix. This includes some saved games." msgstr "" +"'Belgeler', 'Resimler' ve benzeri dosyaları oyunun önekinde tutmak yerine ana " +"klasörünüze, " +"yerleştirin. Buna bazı kayıtlı oyunlar da dahildir." -#: lutris/runners/wine.py:119 -msgid "System ({})" -msgstr "Sistem" - -#: lutris/runners/wine.py:171 -#, fuzzy +#: lutris/runners/wine.py:262 msgid "Wine version" -msgstr "Sürümleri Yönet" +msgstr "Wine sürümü" -#: lutris/runners/wine.py:176 +#: lutris/runners/wine.py:268 msgid "" "The version of Wine used to launch the game.\n" "Using the last version is generally recommended, but some games work better " "on older versions." msgstr "" +"Oyunu başlatmak için kullanılan Wine sürümü.\n" +"Genellikle son sürümün kullanılması önerilir, ancak bazı oyunlar daha eski sür" +"ümlerde " +"daha iyi çalışır." -#: lutris/runners/wine.py:183 +#: lutris/runners/wine.py:275 msgid "Custom Wine executable" -msgstr "" +msgstr "Özel Wine yürütülebilir dosyası" -#: lutris/runners/wine.py:186 +#: lutris/runners/wine.py:278 msgid "" "The Wine executable to be used if you have selected \"Custom\" as the Wine " "version." msgstr "" +"Wine sürümü olarak \"Custom\" seçtiyseniz kullanılacak Wine yürütülebilir dosy" +"ası." -#: lutris/runners/wine.py:191 +#: lutris/runners/wine.py:282 msgid "Use system winetricks" -msgstr "" +msgstr "Sistem winetricks'i kullan" -#: lutris/runners/wine.py:195 +#: lutris/runners/wine.py:286 msgid "Switch on to use /usr/bin/winetricks for winetricks." -msgstr "" +msgstr "winetricks için /usr/bin/winetricks kullanmak üzere açın." -#: lutris/runners/wine.py:199 +#: lutris/runners/wine.py:291 msgid "Enable DXVK" -msgstr "" +msgstr "DXVK'yı Etkinleştir" -#: lutris/runners/wine.py:206 +#: lutris/runners/wine.py:295 +msgid "DXVK" +msgstr "DXVK" + +#: lutris/runners/wine.py:298 msgid "" "Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 " "applications by translating their calls to Vulkan." msgstr "" +"Direct3D 11, 10 ve 9 " +"uygulamalarının çağrılarını Vulkan'a çevirerek uyumluluğu ve performansı artır" +"mak için DXVK'yı kullanın." -#: lutris/runners/wine.py:212 +#: lutris/runners/wine.py:306 msgid "DXVK version" msgstr "DXVK sürümü" -#: lutris/runners/wine.py:221 +#: lutris/runners/wine.py:319 msgid "Enable VKD3D" -msgstr "VKD3D Etkin" +msgstr "VKD3D'ı Etkinleştir" + +#: lutris/runners/wine.py:322 +msgid "VKD3D" +msgstr "VKD3D" -#: lutris/runners/wine.py:228 +#: lutris/runners/wine.py:325 msgid "" "Use VKD3D to enable support for Direct3D 12 applications by translating " "their calls to Vulkan." msgstr "" +"çağrılarını Vulkan'a çevirerek Direct3D 12 uygulamalarına destek sağlamak için" +" VKD3D'yi kullanın." -#: lutris/runners/wine.py:233 +#: lutris/runners/wine.py:330 msgid "VKD3D version" -msgstr "VKD3D ürümü" +msgstr "VKD3D sürümü" -#: lutris/runners/wine.py:241 +#: lutris/runners/wine.py:342 msgid "Enable D3D Extras" -msgstr "" +msgstr "D3D Extras Etkinleştir" -#: lutris/runners/wine.py:246 +#: lutris/runners/wine.py:347 msgid "" "Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed " "for proper functionality of DXVK with some games." msgstr "" +"Wine'ın D3DX ve D3DCOMPILER kütüphanelerini alternatif kütüphanelerle değiştir" +"in. " +"DXVK'nın bazı oyunlarla düzgün çalışması için gerekli." -#: lutris/runners/wine.py:252 +#: lutris/runners/wine.py:354 msgid "D3D Extras version" -msgstr "" +msgstr "D3D Extras sürümü" -#: lutris/runners/wine.py:260 +#: lutris/runners/wine.py:364 msgid "Enable DXVK-NVAPI / DLSS" -msgstr "" +msgstr "DXVK-NVAPI / DLSS etkinleştir" -#: lutris/runners/wine.py:265 +#: lutris/runners/wine.py:366 +msgid "DXVK-NVAPI / DLSS" +msgstr "DXVK-NVAPI / DLSS" + +#: lutris/runners/wine.py:370 msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." msgstr "" +"Nvidia'nın NVAPI emülasyonunu etkinleştirin ve varsa DLSS desteği ekleyin." -#: lutris/runners/wine.py:270 +#: lutris/runners/wine.py:375 msgid "DXVK NVAPI version" -msgstr "DXVK NVAPI sürüm" +msgstr "DXVK NVAPI sürümü" -#: lutris/runners/wine.py:278 +#: lutris/runners/wine.py:386 msgid "Enable dgvoodoo2" -msgstr "dgvoodoo2 etkin" +msgstr "dgvoodoo2 Etkinleştir" -#: lutris/runners/wine.py:283 +#: lutris/runners/wine.py:391 msgid "" "dgvoodoo2 is an alternative translation layer for rendering old games that " "utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended " "to use it in combination with DXVK. Only 32-bit apps are supported." msgstr "" +"dgvoodoo2, " +"D3D1-7 ve Glide API'lerini kullanan eski oyunları işlemek için alternatif bir " +"çeviri katmanıdır. D3D11'e çevirdiği için " +"DXVK ile birlikte kullanılması önerilir. Yalnızca 32 bit uygulamalar desteklen" +"ir." -#: lutris/runners/wine.py:290 +#: lutris/runners/wine.py:399 msgid "dgvoodoo2 version" -msgstr "dgvoodoo2 sürüm" +msgstr "dgvoodoo2 sürümü" -#: lutris/runners/wine.py:298 +#: lutris/runners/wine.py:408 msgid "Enable Esync" -msgstr "Esync etkin" +msgstr "Esync'ı Etkinleştir" -#: lutris/runners/wine.py:305 +#: lutris/runners/wine.py:414 msgid "" "Enable eventfd-based synchronization (esync). This will increase performance " "in applications that take advantage of multi-core processors." msgstr "" +"Eventfd tabanlı senkronizasyonu (esync) etkinleştirin. Bu " +"çok çekirdekli işlemcilerden yararlanan uygulamalarda performansı artıracaktır" +". kernel 5.16 veya üstünü gerektirir." -#: lutris/runners/wine.py:312 +#: lutris/runners/wine.py:421 msgid "Enable Fsync" -msgstr "Fsync etkin" +msgstr "Fsync Etkinleştir" -#: lutris/runners/wine.py:319 +#: lutris/runners/wine.py:427 msgid "" "Enable futex-based synchronization (fsync). This will increase performance " "in applications that take advantage of multi-core processors. Requires " "kernel 5.16 or above." msgstr "" +"Futex tabanlı senkronizasyonu (fsync) etkinleştirin. Bu " +"çok çekirdekli işlemcilerden yararlanan uygulamalarda performansı artıracaktır" +". kernel 5.16 veya üstünü gerektirir." -#: lutris/runners/wine.py:327 +#: lutris/runners/wine.py:435 msgid "Enable AMD FidelityFX Super Resolution (FSR)" -msgstr "" +msgstr "AMD FidelityFX Super Resolution (FSR) Etkinleştir" -#: lutris/runners/wine.py:331 +#: lutris/runners/wine.py:439 msgid "" "Use FSR to upscale the game window to native resolution.\n" "Requires Lutris Wine FShack >= 6.13 and setting the game to a lower " @@ -4706,80 +7060,101 @@ msgid "" "Does not work with games running in borderless window mode or that perform " "their own upscaling." msgstr "" +"Oyun penceresini doğal çözünürlüğe yükseltmek için FSR kullanın.\n" +"Lutris Wine FShack >= 6.13 ve oyunu daha düşük bir " +"çözünürlüğe ayarlamayı gerektirir.\n" +"Kenarlıksız pencere modunda çalışan veya " +"kendi yükseltmesini yapan oyunlarla çalışmaz." -#: lutris/runners/wine.py:338 +#: lutris/runners/wine.py:446 msgid "Enable BattlEye Anti-Cheat" -msgstr "Etkin BattlEye Anti-Hile" +msgstr "BattlEye Anti-Cheat etkinleştir" -#: lutris/runners/wine.py:342 +#: lutris/runners/wine.py:450 msgid "" "Enable support for BattlEye Anti-Cheat in supported games\n" "Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" msgstr "" +"Desteklenen oyunlarda BattlEye Anti-Cheat desteğini etkinleştirin\n" +"Lutris Wine 6.21-2 ve daha yenisini veya uyumlu başka bir Wine yapısını gerekt" +"irir.\n" -#: lutris/runners/wine.py:348 +#: lutris/runners/wine.py:456 msgid "Enable Easy Anti-Cheat" -msgstr "Etkin Easy Anti-Hile" +msgstr "Easy Anti-Cheat'i etkinleştir" -#: lutris/runners/wine.py:352 +#: lutris/runners/wine.py:460 msgid "" "Enable support for Easy Anti-Cheat in supported games\n" "Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" msgstr "" +"Desteklenen oyunlarda Easy Anti-Cheat desteğini etkinleştirin\n" +"Lutris Wine 7.2 ve daha yenisini veya uyumlu başka bir Wine yapısını gerektiri" +"r.\n" -#: lutris/runners/wine.py:358 +#: lutris/runners/wine.py:466 lutris/runners/wine.py:481 +msgid "Virtual Desktop" +msgstr "Sanal Masaüstü" + +#: lutris/runners/wine.py:467 msgid "Windowed (virtual desktop)" msgstr "Pencereli (sanal masaüstü)" -#: lutris/runners/wine.py:362 +#: lutris/runners/wine.py:474 msgid "" "Run the whole Windows desktop in a window.\n" "Otherwise, run it fullscreen.\n" "This corresponds to Wine's Virtual Desktop option." msgstr "" +"Tüm Windows masaüstünü bir pencerede çalıştırın.\n" +"Aksi takdirde, tam ekran çalıştırın.\n" +"Bu, Wine'ın Sanal Masaüstü seçeneğine karşılık gelir." -#: lutris/runners/wine.py:369 +#: lutris/runners/wine.py:482 msgid "Virtual desktop resolution" msgstr "Sanal masaüstü çözünürlüğü" -#: lutris/runners/wine.py:372 +#: lutris/runners/wine.py:488 msgid "The size of the virtual desktop in pixels." -msgstr "" +msgstr "Sanal masaüstünün piksel cinsinden boyutu." + +#: lutris/runners/wine.py:492 lutris/runners/wine.py:504 +#: lutris/runners/wine.py:505 +msgid "DPI" +msgstr "DPI" -#: lutris/runners/wine.py:376 +#: lutris/runners/wine.py:493 msgid "Enable DPI Scaling" -msgstr "" +msgstr "DPI Ölçeklendirmeyi Etkinleştir" -#: lutris/runners/wine.py:380 +#: lutris/runners/wine.py:498 msgid "" "Enables the Windows application's DPI scaling.\n" "Otherwise, the Screen Resolution option in 'Wine configuration' controls " "this." msgstr "" +"Windows uygulamasının DPI ölçeklendirmesini etkinleştirir.\n" +"Aksi takdirde, 'Wine yapılandırması' denetimlerindeki Ekran Çözünürlüğü seçene" +"ği " +"bunu kontrol eder." -#: lutris/runners/wine.py:386 -msgid "DPI" -msgstr "DPI" - -#: lutris/runners/wine.py:389 -msgid "" -"The DPI to be used if 'Enable DPI Scaling' is turned on.\n" -"If blank or 'auto', Lutris will auto-detect this." -msgstr "" +#: lutris/runners/wine.py:510 +msgid "The DPI to be used if 'Enable DPI Scaling' is turned on." +msgstr "'DPI Ölçeklendirmeyi Etkinleştir' açıksa kullanılacak DPI." -#: lutris/runners/wine.py:395 +#: lutris/runners/wine.py:514 msgid "Mouse Warp Override" -msgstr "" +msgstr "Fare Çarpıtma Geçersiz Kılma" -#: lutris/runners/wine.py:398 +#: lutris/runners/wine.py:517 msgid "Enable" -msgstr "Etkin" +msgstr "Etkinleştir" -#: lutris/runners/wine.py:400 +#: lutris/runners/wine.py:519 msgid "Force" -msgstr "Zorlamak" +msgstr "Zorla" -#: lutris/runners/wine.py:405 +#: lutris/runners/wine.py:524 msgid "" "Override the default mouse pointer warping behavior\n" "Enable: (Wine default) warp the pointer when the mouse is exclusively " @@ -4787,323 +7162,349 @@ msgid "" "Disable: never warp the mouse pointer \n" "Force: always warp the pointer" msgstr "" +"Varsayılan fare işaretçisi çarpıtma davranışını geçersiz kıl\n" +"Etkinleştir: (Varsayılan Wine) fare yalnızca " +"alındığında işaretçiyi çarpıtır \n" +"Devre Dışı Bırak: fare işaretçisini asla çarpıtmaz \n" +"Güç: işaretçiyi her zaman çarpıtır" -#: lutris/runners/wine.py:414 +#: lutris/runners/wine.py:533 msgid "Audio driver" msgstr "Ses sürücüsü" -#: lutris/runners/wine.py:425 +#: lutris/runners/wine.py:544 msgid "" "Which audio backend to use.\n" "By default, Wine automatically picks the right one for your system." msgstr "" +"Hangi ses arka ucunun kullanılacağı.\n" +"Varsayılan olarak, Wine sisteminiz için doğru olanı otomatik olarak seçer." -#: lutris/runners/wine.py:433 +#: lutris/runners/wine.py:550 msgid "DLL overrides" -msgstr "" +msgstr "DLL geçersiz kılmaları" -#: lutris/runners/wine.py:434 +#: lutris/runners/wine.py:551 msgid "Sets WINEDLLOVERRIDES when launching the game." -msgstr "" +msgstr "Oyun başlatılırken WINEDLLOVERRIDES'i ayarlar." -#: lutris/runners/wine.py:438 +#: lutris/runners/wine.py:555 msgid "Output debugging info" -msgstr "" - -#: lutris/runners/wine.py:442 -msgid "Enabled" -msgstr "Etkin" +msgstr "Çıktı hata ayıklama bilgisi" -#: lutris/runners/wine.py:443 +#: lutris/runners/wine.py:560 msgid "Inherit from environment" -msgstr "" +msgstr "Çevreden devralınır" -#: lutris/runners/wine.py:445 +#: lutris/runners/wine.py:562 msgid "Full (CAUTION: Will cause MASSIVE slowdown)" -msgstr "" +msgstr "Tam (DİKKAT: BÜYÜK yavaşlamaya neden olur)" -#: lutris/runners/wine.py:448 +#: lutris/runners/wine.py:565 msgid "Output debugging information in the game log (might affect performance)" msgstr "" +"Oyun günlüğünde hata ayıklama bilgisi çıktısı (performansı etkileyebilir)" -#: lutris/runners/wine.py:453 +#: lutris/runners/wine.py:569 msgid "Show crash dialogs" -msgstr "Hata diyaloglarını göster" +msgstr "Çökme diyaloglarını göster" -#: lutris/runners/wine.py:461 +#: lutris/runners/wine.py:577 msgid "Autoconfigure joypads" -msgstr "" +msgstr "Joypadi otomatik ayarla" -#: lutris/runners/wine.py:465 +#: lutris/runners/wine.py:580 msgid "" "Automatically disables one of Wine's detected joypad to avoid having 2 " "controllers detected" msgstr "" +"Wine'ın algıladığı joypadlerden birini otomatik olarak devre dışı bırakarak 2 " +"denetleyicisinin algılanmasını önler" -#: lutris/runners/wine.py:471 -msgid "Create a sandbox for Wine folders" -msgstr "" - -#: lutris/runners/wine.py:475 -msgid "" -"Do not use $HOME for desktop integration folders.\n" -"By default, it use the directories in the confined Windows environment." -msgstr "" - -#: lutris/runners/wine.py:483 -msgid "Sandbox directory" -msgstr "Sandbox dizini" - -#: lutris/runners/wine.py:484 -msgid "Custom directory for desktop integration folders." -msgstr "" - -#: lutris/runners/wine.py:493 +#: lutris/runners/wine.py:614 msgid "Run EXE inside Wine prefix" -msgstr "" - -#: lutris/runners/wine.py:494 -msgid "Wine configuration" -msgstr "" +msgstr "Wine prefix'in içindeki EXE'yi çalıştır" -#: lutris/runners/wine.py:495 +#: lutris/runners/wine.py:615 msgid "Open Bash terminal" -msgstr "Bash terminali aç" +msgstr "Bash terminali Aç" -#: lutris/runners/wine.py:496 -#, fuzzy +#: lutris/runners/wine.py:616 msgid "Open Wine console" -msgstr "Oynatıcı Dizinini Aç" +msgstr "Wine konsolu aç" + +#: lutris/runners/wine.py:618 +msgid "Wine configuration" +msgstr "Wine ayarları" -#: lutris/runners/wine.py:497 +#: lutris/runners/wine.py:619 msgid "Wine registry" -msgstr "" +msgstr "Wine kayıt defteri" -#: lutris/runners/wine.py:498 +#: lutris/runners/wine.py:620 +msgid "Wine Control Panel" +msgstr "Wine Denetim Masası" + +#: lutris/runners/wine.py:621 +msgid "Wine Task Manager" +msgstr "Wine Görev Yöneticisi" + +#: lutris/runners/wine.py:623 msgid "Winetricks" -msgstr "" +msgstr "Winetricks" -#: lutris/runners/wine.py:499 -msgid "Wine Control Panel" -msgstr "Wine Kontrol Paneli" +#: lutris/runners/wine.py:750 lutris/runners/wine.py:756 +#, python-format +msgid "The Wine executable at '%s' is missing." +msgstr "'%s' adresindeki Wine çalıştırılabilir dosyası eksik." + +#: lutris/runners/wine.py:814 +#, python-format +msgid "The required game '%s' could not be found." +msgstr "Gerekli oyun ‘%s’ bulunamadı." + +#: lutris/runners/wine.py:847 +msgid "The runner configuration does not specify a Wine version." +msgstr "Çalıştırıcı yapılandırması bir Wine sürümü belirtmez." -#: lutris/runners/wine.py:681 +#: lutris/runners/wine.py:885 msgid "Select an EXE or MSI file" -msgstr "Bir EXE veya MSI dosyası seçin" +msgstr "Bir EXE ya da MSI dosyası seç" -#: lutris/runners/xemu.py:8 +#: lutris/runners/xemu.py:9 msgid "xemu" -msgstr "" +msgstr "xemu" -#: lutris/runners/xemu.py:9 +#: lutris/runners/xemu.py:10 msgid "Xbox" -msgstr "" +msgstr "Xbox" -#: lutris/runners/xemu.py:10 +#: lutris/runners/xemu.py:11 msgid "Xbox emulator" -msgstr "" +msgstr "Xbox emülatörü" -#: lutris/runners/xemu.py:18 +#: lutris/runners/xemu.py:20 msgid "DVD image in iso format" -msgstr "DVD görüntüsü iso formatı içinde" +msgstr "DVD imajı iso formatının içinde" -#: lutris/runners/yuzu.py:14 +#: lutris/runners/yuzu.py:13 msgid "Yuzu" -msgstr "" +msgstr "Yuzu" #. http://zdoom.org/wiki/Command_line_parameters #: lutris/runners/zdoom.py:13 -msgid "ZDoom DOOM Game Engine" -msgstr "" +msgid "GZDoom Game Engine" +msgstr "GZDoom Oyun Motoru" #: lutris/runners/zdoom.py:14 -msgid "ZDoom" -msgstr "" +msgid "GZDoom" +msgstr "GZDoom" -#: lutris/runners/zdoom.py:21 +#: lutris/runners/zdoom.py:22 msgid "WAD file" msgstr "WAD dosyası" -#: lutris/runners/zdoom.py:22 +#: lutris/runners/zdoom.py:23 msgid "The game data, commonly called a WAD file." -msgstr "" +msgstr "Oyun verileri, genellikle WAD dosyası olarak adlandırılır." -#: lutris/runners/zdoom.py:28 +#: lutris/runners/zdoom.py:29 msgid "Command line arguments used when launching the game." -msgstr "" +msgstr "Oyun başlatılırken komut satırı argümanlarını kullanıldı" -#: lutris/runners/zdoom.py:33 +#: lutris/runners/zdoom.py:34 msgid "PWAD files" -msgstr "" +msgstr "PWAD dosyaları" -#: lutris/runners/zdoom.py:34 +#: lutris/runners/zdoom.py:35 msgid "" "Used to load one or more PWAD files which generally contain user-created " "levels." msgstr "" +"Genellikle kullanıcı tarafından oluşturulan " +"seviyelerini içeren bir veya daha fazla PWAD dosyasını yüklemek için kullanılı" +"r." #: lutris/runners/zdoom.py:40 msgid "Warp to map" -msgstr "" +msgstr "Haritaya ışınlan" #: lutris/runners/zdoom.py:41 msgid "Starts the game on the given map." -msgstr "" +msgstr "Oyunu verilen haritada başlatır." -#: lutris/runners/zdoom.py:47 +#: lutris/runners/zdoom.py:48 msgid "User-specified path where save files should be located." msgstr "" +"Kaydetme dosyalarının yerleştirileceği kullanıcı tarafından belirtilen yol." -#: lutris/runners/zdoom.py:53 +#: lutris/runners/zdoom.py:52 msgid "Pixel Doubling" -msgstr "" +msgstr "Pixel Quadrupling" -#: lutris/runners/zdoom.py:59 +#: lutris/runners/zdoom.py:53 msgid "Pixel Quadrupling" -msgstr "" +msgstr "Pixel Quadrupling" -#: lutris/runners/zdoom.py:65 +#: lutris/runners/zdoom.py:56 msgid "Disable Startup Screens" -msgstr "" +msgstr "Açılış Ekranlarını Devre dışı bırak" -#: lutris/runners/zdoom.py:71 +#: lutris/runners/zdoom.py:62 msgid "Skill" msgstr "Yetenek" -#: lutris/runners/zdoom.py:76 +#: lutris/runners/zdoom.py:67 msgid "I'm Too Young To Die (1)" -msgstr "" +msgstr "Ölmek İçin Çok Gencim (1)" -#: lutris/runners/zdoom.py:77 +#: lutris/runners/zdoom.py:68 msgid "Hey, Not Too Rough (2)" -msgstr "" +msgstr "Hey, Çok Zor Değil (2)" -#: lutris/runners/zdoom.py:78 +#: lutris/runners/zdoom.py:69 msgid "Hurt Me Plenty (3)" -msgstr "" +msgstr "Bolca bana hasar ver (3)" -#: lutris/runners/zdoom.py:79 +#: lutris/runners/zdoom.py:70 msgid "Ultra-Violence (4)" -msgstr "" +msgstr "Vahşet (4)" -#: lutris/runners/zdoom.py:80 +#: lutris/runners/zdoom.py:71 msgid "Nightmare! (5)" -msgstr "" +msgstr "Kabus! (5)" -#: lutris/runners/zdoom.py:91 +#: lutris/runners/zdoom.py:79 msgid "" "Used to load a user-created configuration file. If specified, the file must " "contain the wad directory list or launch will fail." msgstr "" +"Kullanıcı tarafından oluşturulan bir yapılandırma dosyasını yüklemek için kull" +"anılır. Belirtilirse, dosya " +"wad dizin listesini içermelidir, aksi takdirde başlatma başarısız olur." -#: lutris/services/amazon.py:59 lutris/services/amazon.py:643 -msgid "Amazon Prime Gaming" -msgstr "" +#: lutris/runtime.py:127 +#, python-format +msgid "Updating %s" +msgstr "Güncelleniyor %s" + +#: lutris/runtime.py:130 +#, python-format +msgid "Updated %s" +msgstr "Güncellendi %s" + +#: lutris/services/amazon.py:69 +msgid "Amazon" +msgstr "Amazon" -#: lutris/services/amazon.py:180 +#: lutris/services/amazon.py:179 msgid "No Amazon user data available, please log in again" -msgstr "" +msgstr "No Amazon user data available, please log in again" -#: lutris/services/amazon.py:245 +#: lutris/services/amazon.py:244 msgid "Unable to register device, please log in again" -msgstr "" +msgstr "Cihaz kaydedilemiyor, lütfen tekrar giriş yapın" -#: lutris/services/amazon.py:260 +#: lutris/services/amazon.py:259 msgid "Invalid token info found, please log in again" -msgstr "" +msgstr "Geçersiz belirteç bilgisi bulundu, lütfen tekrar giriş yapın" -#: lutris/services/amazon.py:294 +#: lutris/services/amazon.py:293 msgid "Unable to refresh token, please log in again" -msgstr "" +msgstr "Belirteç yenilenemiyor, lütfen tekrar giriş yapın" -#: lutris/services/amazon.py:439 -msgid "" -"Unable to get game manifest info, please check your Amazon credentials and " -"internet connectivity" -msgstr "" +#: lutris/services/amazon.py:465 +msgid "Unable to get game manifest info" +msgstr "Oyun manifestosu bilgisi alınamıyor" -#: lutris/services/amazon.py:457 -msgid "" -"Unable to get game manifest, please check your Amazon credentials and " -"internet connectivity" -msgstr "" +#: lutris/services/amazon.py:486 +msgid "Unable to get game manifest" +msgstr "Oyun bildirimi alınamıyor" -#: lutris/services/amazon.py:473 -msgid "" -"Unknown compression algorithm found in manifest, please check your Amazon " -"credentials and internet connectivity" -msgstr "" +#: lutris/services/amazon.py:501 +msgid "Unknown compression algorithm found in manifest" +msgstr "Bildirimde bilinmeyen sıkıştırma algoritması bulundu" -#: lutris/services/amazon.py:504 -msgid "" -"Unable to get the patches of game, please check your Amazon credentials and " -"internet connectivity" -msgstr "" +#: lutris/services/amazon.py:526 +#, python-format +msgid "Unable to get the patches of game '%s'" +msgstr "'%s' oyununun yamaları alınamıyor" -#: lutris/services/amazon.py:562 -msgid "" -"Unable to get fuel.json file, please check your Amazon credentials and " -"internet connectivity" -msgstr "" +#: lutris/services/amazon.py:603 +msgid "Unable to get fuel.json file." +msgstr "fuel.json dosyası alınamıyor." -#: lutris/services/amazon.py:572 -msgid "Invalid JSON response from Amazon APIs" -msgstr "" +#: lutris/services/amazon.py:614 +msgid "Invalid response from Amazon APIs" +msgstr "Amazon API'lerinden geçersiz yanıt" + +#: lutris/services/amazon.py:648 lutris/services/gog.py:548 +msgid "Couldn't load the downloads for this game" +msgstr "Bu oyun için indirmeler yüklenemedi" -#: lutris/services/amazon.py:630 -#, fuzzy, python-format -msgid "Installing file: %s" -msgstr "Dosya yükleniyor: %s" +#: lutris/services/amazon.py:696 +msgid "Amazon Prime Gaming" +msgstr "Amazon Prima Gaming" -#: lutris/services/base.py:327 +#: lutris/services/base.py:447 #, python-format msgid "" "This service requires a game launcher. The following steps will install it.\n" "Once the client is installed, you can login to %s." msgstr "" +"Bu hizmet bir oyun başlatıcı gerektirir. Aşağıdaki adımlar onu yükleyecektir." +"\n" +"İstemci yüklendikten sonra %s'ye giriş yapabilirsiniz." -#: lutris/services/battlenet.py:85 +#: lutris/services/battlenet.py:105 msgid "Battle.net" -msgstr "" +msgstr "Battle.net" + +#: lutris/services/ea_app.py:148 +msgid "EA App" +msgstr "EA Uygulama" -#: lutris/services/egs.py:136 +#: lutris/services/egs.py:142 msgid "Epic Games Store" msgstr "Epic Games Mağazası" -#: lutris/services/flathub.py:57 +#: lutris/services/flathub.py:56 msgid "Flathub" -msgstr "" +msgstr "Flathub" -#: lutris/services/gog.py:69 -msgid "GOG" -msgstr "" +#: lutris/services/flathub.py:84 +msgid "No flatpak or flatpak-spawn found" +msgstr "Flatpak yok ya da flatpak-spawm bulunamadı" -#: lutris/services/gog.py:304 lutris/services/gog.py:306 -#, python-format -msgid "The download of '%s' failed." +#: lutris/services/flathub.py:106 +msgid "" +"Flathub is not configured on the system. Visit https://flatpak.org/setup/ " +"for instructions." msgstr "" +"Flatpak sisteminde ayarlanmadı. Talimatlar için https://flatpak.org/setup/ " +"ziyaret edin." + +#: lutris/services/gog.py:79 +msgid "GOG" +msgstr "GOG" -#: lutris/services/gog.py:434 +#: lutris/services/gog.py:482 msgid "Couldn't load the download links for this game" -msgstr "" +msgstr "Bu oyun için indirme bağlantıları yüklenemedi" -#: lutris/services/gog.py:480 +#: lutris/services/gog.py:539 msgid "Unable to determine correct file to launch installer" -msgstr "" - -#: lutris/services/gog.py:487 -msgid "Couldn't load the downloads for this game" -msgstr "" +msgstr "Yükleyiciyi başlatmak için doğru dosya belirlenemiyor" -#: lutris/services/humblebundle.py:61 +#: lutris/services/humblebundle.py:62 msgid "Humble Bundle" -msgstr "" +msgstr "Humble Bundle" -#: lutris/services/humblebundle.py:85 +#: lutris/services/humblebundle.py:82 msgid "Workaround for Humble Bundle authentication" -msgstr "" +msgstr "Humble Bundle kimlik doğrulaması için geçici çözüm" -#: lutris/services/humblebundle.py:86 +#: lutris/services/humblebundle.py:84 msgid "" "Humble Bundle is restricting API calls from software like Lutris and " "GameHub.\n" @@ -5111,397 +7512,472 @@ msgid "" "There is a workaround involving copying cookies from Firefox, do you want to " "do this instead?" msgstr "" +"Humble Bundle, Lutris ve " +"GameHub gibi yazılımlardan gelen API çağrılarını kısıtlıyor.\n" +"Hizmete kimlik doğrulama muhtemelen başarısız olacaktır.\n" +"Firefox'tan çerezleri kopyalamayı içeren geçici bir çözüm var, bunun yerine " +"bunu yapmak ister misiniz?" -#: lutris/services/humblebundle.py:247 +#: lutris/services/humblebundle.py:235 msgid "The download URL for the game could not be determined." -msgstr "" +msgstr "Oyunun indirme URL'si tespit edilememiştir." -#: lutris/services/humblebundle.py:249 +#: lutris/services/humblebundle.py:237 msgid "No game found on Humble Bundle" -msgstr "Humble Bundle'da oyun bulunamadı" +msgstr "Humble Bundle'de oyun bulunamadı" #. According to their branding, "itch.io" is supposed to be all lowercase -#: lutris/services/itchio.py:78 +#: lutris/services/itchio.py:81 msgid "itch.io" -msgstr "" +msgstr "itch.io" -#: lutris/services/lutris.py:123 +#: lutris/services/lutris.py:132 #, python-format msgid "Lutris has no installers for %s. Try using a different service instead." msgstr "" +"Lutris'in %s için yükleyicisi yok. Bunun yerine farklı bir hizmet kullanmayı d" +"eneyin." -#: lutris/services/origin.py:129 -msgid "Origin" -msgstr "" +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Steam Aile" -#: lutris/services/steamwindows.py:25 -msgid "Steam for Windows" -msgstr "" +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "Steam Ailesi'ndeki her oyunu görüntülemek için kullanın" -#: lutris/services/steam.py:105 +#: lutris/services/steam.py:98 msgid "" "Failed to load games. Check that your profile is set to public during the " "sync." msgstr "" +"Oyunlar yüklenemedi. senkronizasyonu sırasında profilinizin herkese açık olara" +"k ayarlandığını kontrol edin." -#: lutris/services/ubisoft.py:82 -msgid "Ubisoft Connect" +#: lutris/services/steamwindows.py:24 +msgid "Steam for Windows" +msgstr "Windows için Steam" + +#: lutris/services/steamwindows.py:25 +msgid "" +"Use only for the rare games or mods requiring the Windows version of Steam" msgstr "" +"Yalnızca Steam'in Windows sürümünü gerektiren nadir oyunlar veya modlar için k" +"ullanın" + +#: lutris/services/ubisoft.py:79 +msgid "Ubisoft Connect" +msgstr "Ubisoft Connect" #: lutris/services/xdg.py:44 msgid "Local" msgstr "Yerel" -#: lutris/settings.py:13 +#: lutris/settings.py:16 msgid "(c) 2009 Lutris Team" -msgstr "(c) 2009 Lutris ekibi" - -#: lutris/settings.py:14 -msgid "The Lutris team" -msgstr "Lutris ekibi" - -#: lutris/startup.py:93 -msgid "Your NVIDIA driver is outdated." -msgstr "NVIDIA sürücünüz güncel değil." - -#: lutris/startup.py:95 -#, python-format -msgid "" -"You are currently running driver %s which does not fully support all " -"features for Vulkan and DXVK games.\n" -"Please upgrade your driver as described in our installation " -"guide" -msgstr "" - -#: lutris/startup.py:126 -msgid "Missing vulkan libraries" -msgstr "" - -#: lutris/startup.py:128 -#, python-format -msgid "" -"Lutris was unable to detect Vulkan support for the %s architecture.\n" -"This will prevent many games and programs from working.\n" -"To install it, please use the following guide: Installing " -"Graphics Drivers" -msgstr "" +msgstr "(c) 2009 Lutris Ekibi" -#: lutris/startup.py:134 -msgid " and " -msgstr " ve " - -#: lutris/startup.py:200 +#: lutris/startup.py:138 #, python-format msgid "" "Failed to open database file in %s. Try renaming this file and relaunch " "Lutris" msgstr "" +"Veritabanı dosyası %s içinde açılamadı. Bu dosyayı yeniden adlandırmayı deneyi" +"n ve " +"Lutris'i yeniden başlatın" -#: lutris/sysoptions.py:29 +#: lutris/sysoptions.py:19 msgid "Keep current" -msgstr "Güncel tut" +msgstr "Varsayılanda bırak" -#: lutris/sysoptions.py:43 -msgid "(recommended)" -msgstr "(taviye edilen)" +#: lutris/sysoptions.py:29 +msgid "Chinese" +msgstr "Çince" -#: lutris/sysoptions.py:46 -msgid "System" -msgstr "Sistem" +#: lutris/sysoptions.py:30 +msgid "Croatian" +msgstr "Hırvatça" -#: lutris/sysoptions.py:55 lutris/sysoptions.py:64 lutris/sysoptions.py:75 -#: lutris/sysoptions.py:562 -msgid "Off" -msgstr "Kapalı" +#: lutris/sysoptions.py:31 +msgid "Dutch" +msgstr "Almanca" -#: lutris/sysoptions.py:56 -msgid "Primary" -msgstr "Özel" +#: lutris/sysoptions.py:33 +msgid "Finnish" +msgstr "Fince" -#. Start the 'choices' with an 'auto' choice. But which one? -#: lutris/sysoptions.py:127 -msgid "Auto: Intel Open Source (MESA: ANV)" -msgstr "Otomatik: İntel Açık Kaynak (MESA: ANV)" +#: lutris/sysoptions.py:35 +msgid "Georgian" +msgstr "Gürcistan" -#: lutris/sysoptions.py:128 -msgid "Auto: AMD RADV Open Source (MESA: RADV)" -msgstr "Otomatik: AMD RADV Açık Kaynak (MESA: RADV)" +#: lutris/sysoptions.py:41 +msgid "Portuguese (Brazilian)" +msgstr "Portekizce (Brezilya)" -#: lutris/sysoptions.py:129 -msgid "Auto: Nvidia Proprietary" -msgstr "Otomatik: Nvidia Özel Mülk" +#: lutris/sysoptions.py:42 +msgid "Polish" +msgstr "Lehçe" -#. Without VK_ICD_FILENAMES, we'll try to figure out what GPU the -#. user has installed and which has ICD files. If that fails, we'll -#. just use blank and hope for the best. -#: lutris/sysoptions.py:146 lutris/sysoptions.py:151 -msgid "Auto: WARNING -- No Vulkan Loader detected!" -msgstr "" +#: lutris/sysoptions.py:43 +msgid "Russian" +msgstr "Rusça" + +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 +msgid "Off" +msgstr "Kapalı" -#: lutris/sysoptions.py:187 -msgid "Unspecified (Use System Default)" -msgstr "" +#: lutris/sysoptions.py:61 +msgid "Primary" +msgstr "Birincil" -#: lutris/sysoptions.py:195 +#: lutris/sysoptions.py:83 msgid "Default installation folder" -msgstr "Varsayılan yükleyici dizini" - -#: lutris/sysoptions.py:198 -msgid "The default folder where you install your games." -msgstr "" +msgstr "Varsayılan indirme dizini" -#: lutris/sysoptions.py:206 +#: lutris/sysoptions.py:93 msgid "Disable Lutris Runtime" -msgstr "Devre dışı Lutris Runtime" +msgstr "Lutris Çalışma zamanını Devre dışı bırak" -#: lutris/sysoptions.py:209 +#: lutris/sysoptions.py:96 msgid "" "The Lutris Runtime loads some libraries before running the game, which can " "cause some incompatibilities in some cases. Check this option to disable it." msgstr "" +"Lutris Runtime oyunu çalıştırmadan önce bazı kütüphaneleri yükler, bu da " +"bazı durumlarda bazı uyumsuzluklara neden olabilir. Devre dışı bırakmak için b" +"u seçeneği işaretleyin." -#: lutris/sysoptions.py:216 +#: lutris/sysoptions.py:105 msgid "Prefer system libraries" -msgstr "Sistem kütüphanelerini tercih et" +msgstr "Tercih edilen sistem kütüphaneleri" -#: lutris/sysoptions.py:218 +#: lutris/sysoptions.py:107 msgid "" "When the runtime is enabled, prioritize the system libraries over the " "provided ones." msgstr "" +"When the runtime is enabled, prioritize the system libraries over the " +"provided ones." -#: lutris/sysoptions.py:224 -msgid "Restore resolution on game exit" +#: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 +#: lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 +#: lutris/sysoptions.py:179 lutris/sysoptions.py:195 +msgid "Display" +msgstr "Ekran" + +#: lutris/sysoptions.py:113 +msgid "GPU" +msgstr "GPU" + +#: lutris/sysoptions.py:117 +msgid "GPU to use to run games" +msgstr "Oyunları çalıştırmak için kullanılacak GPU" + +#: lutris/sysoptions.py:123 +msgid "FPS counter (MangoHud)" +msgstr "FPS sayacı (MangoHud)" + +#: lutris/sysoptions.py:126 +msgid "" +"Display the game's FPS + other information. Requires MangoHud to be " +"installed." msgstr "" +"Oyunun FPS + diğer bilgilerini görüntüler. MangoHud'un " +"yüklü olmasını gerektirir." -#: lutris/sysoptions.py:226 +#: lutris/sysoptions.py:132 +msgid "Restore resolution on game exit" +msgstr "Oyun çıkışında çözünürlüğü geri yükle" + +#: lutris/sysoptions.py:137 msgid "" "Some games don't restore your screen resolution when \n" "closed or when they crash. This is when this option comes \n" "into play to save your bacon." msgstr "" +"Bazı oyunlar" +"kapatıldığında veya çöktüğünde ekran çözünürlüğünüzü geri yüklemez. İşte o zam" +"an bu seçenek \n" +"devreye girerek sizi kurtarır." -#: lutris/sysoptions.py:233 -msgid "Enable gamescope" -msgstr "Gamescope aktif" +#: lutris/sysoptions.py:145 +msgid "Disable desktop effects" +msgstr "Masaüstü efektlerini devre dışı bırak" -#: lutris/sysoptions.py:237 +#: lutris/sysoptions.py:151 msgid "" -"Use gamescope to draw the game window isolated from your desktop.\n" -"Use Ctrl+Super+F to toggle fullscreen" +"Disable desktop effects while game is running, reducing stuttering and " +"increasing performance" msgstr "" +"Oyun çalışırken masaüstü efektlerini devre dışı bırakarak takılmaları azaltır " +"ve " +"performansı artırır" -#: lutris/sysoptions.py:243 -msgid "Gamescope output resolution" -msgstr "" +#: lutris/sysoptions.py:156 +msgid "Prevent sleep" +msgstr "Uykuyu önleyin" -#: lutris/sysoptions.py:247 -msgid "Resolution of the window on your desktop" -msgstr "" +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." +msgstr "Bir oyun çalışırken bilgisayarın askıya alınmasını önler." -#: lutris/sysoptions.py:252 -msgid "Gamescope game resolution" -msgstr "" +#: lutris/sysoptions.py:167 +msgid "SDL 1.2 Fullscreen Monitor" +msgstr "SDL 1.2 Tam ekran Monitör" -#: lutris/sysoptions.py:256 -msgid "Resolution of the screen visible to the game" +#: lutris/sysoptions.py:173 +msgid "" +"Hint SDL 1.2 games to use a specific monitor when going fullscreen by " +"setting the SDL_VIDEO_FULLSCREEN environment variable" msgstr "" +"SDL 1.2 oyunlarında tam ekrana geçerken belirli bir monitörün kullanılmasına i" +"lişkin ipucu" +"SDL_VIDEO_FULLSCREEN ortam değişkenini ayarla" -#: lutris/sysoptions.py:261 -msgid "Restrict number of cores used" -msgstr "" +#: lutris/sysoptions.py:182 +msgid "Turn off monitors except" +msgstr "Monitör hatalarını kapat*" -#: lutris/sysoptions.py:264 -msgid "Restrict the game to a maximum number of CPU cores." +#: lutris/sysoptions.py:188 +msgid "" +"Only keep the selected screen active while the game is running. \n" +"This is useful if you have a dual-screen setup, and are \n" +"having display issues when running a game in fullscreen." msgstr "" +"Seçilen ekranı yalnızca oyun çalışırken aktif tut. \n" +"Bu, çift ekranlı bir kurulumunuz varsa kullanışlıdır ve \n" +"bir oyunu tam ekranda çalıştırırken görüntü sorunları yaşar." -#: lutris/sysoptions.py:269 -msgid "Restrict number of cores to" -msgstr "" +#: lutris/sysoptions.py:198 +msgid "Switch resolution to" +msgstr "Çözünürlüğü değiştir" -#: lutris/sysoptions.py:272 -msgid "" -"Maximum number of CPU cores to be used, if 'Restrict number of cores used' " -"is turned on." -msgstr "" +#: lutris/sysoptions.py:203 +msgid "Switch to this screen resolution while the game is running." +msgstr "Oyun çalışırken bu ekran çözünürlüğüne geç." -#: lutris/sysoptions.py:278 -msgid "Restore gamma on game exit" -msgstr "Gamma değerini oyundan çıkınca tekrar düzelt" +#: lutris/sysoptions.py:209 +msgid "Enable Gamescope" +msgstr "Gamescope'yi Etkinleştir" -#: lutris/sysoptions.py:280 +#: lutris/sysoptions.py:212 msgid "" -"Some games don't correctly restores gamma on exit, making your display too " -"bright. Select this option to correct it." +"Use gamescope to draw the game window isolated from your desktop.\n" +"Toggle fullscreen: Super + F" msgstr "" +"Oyun penceresini masaüstünüzden yalıtılmış olarak çizmek için gamescope kullan" +"ın.\n" +"Tam ekrana geçin: Süper + F" -#: lutris/sysoptions.py:285 -msgid "Disable desktop effects" -msgstr "Masaüstü efekleri devre dışı" +#: lutris/sysoptions.py:218 +msgid "Enable HDR (Experimental)" +msgstr "HDR'ı etkinleştir(Deneysel)" -#: lutris/sysoptions.py:289 +#: lutris/sysoptions.py:223 msgid "" -"Disable desktop effects while game is running, reducing stuttering and " -"increasing performance" +"Enable HDR for games that support it.\n" +"Requires Plasma 6 and VK_hdr_layer." msgstr "" +"Oyunlar destekliyorsa HDR'ı etkinleştir.\n" +"Plasma 6 ve VK_hdr_layer gerekli." -#: lutris/sysoptions.py:294 -msgid "Disable screen saver" -msgstr "Ekran koruyucu devre dışı" +#: lutris/sysoptions.py:229 +msgid "Relative Mouse Mode" +msgstr "Duyarlı Fare Modu*" -#: lutris/sysoptions.py:299 +#: lutris/sysoptions.py:235 msgid "" -"Disable the screen saver while a game is running. Requires the screen " -"saver's functionality to be exposed over DBus." +"Always use relative mouse mode instead of flipping\n" +"dependent on cursor visibility\n" +"Can help with games where the player's camera faces the floor" msgstr "" +"Çevirmek yerine her zaman göreli fare modunu kullanın\n" +"imleç görünürlüğüne bağlıdır\n" +"Oyuncunun kamerasının yere baktığı oyunlarda yardımcı olabilir" -#: lutris/sysoptions.py:306 -msgid "Reset PulseAudio" -msgstr "PulseAudio'yu sıfırla" - -#: lutris/sysoptions.py:310 -msgid "Restart PulseAudio before launching the game." -msgstr "PulseAudio'yu yeniden başlattıktan sonra oyunu çalıştırın." +#: lutris/sysoptions.py:244 +msgid "Output Resolution" +msgstr "Çıktı Çözünürlüğü" -#: lutris/sysoptions.py:315 -msgid "Reduce PulseAudio latency" +#: lutris/sysoptions.py:250 +msgid "" +"Set the resolution used by gamescope.\n" +"Resizing the gamescope window will update these settings.\n" +"\n" +"Custom Resolutions: (width)x(height)" msgstr "" +"gamescope tarafından kullanılan çözünürlüğü ayarlayın.\n" +"gamescope penceresini yeniden boyutlandırmak bu ayarları güncelleyecektir.\n" +"\n" +"Özel Çözünürlükler: (genişlik)x(yükseklik)" -#: lutris/sysoptions.py:319 +#: lutris/sysoptions.py:260 +msgid "Game Resolution" +msgstr "Oyun Çözünürlüğü" + +#: lutris/sysoptions.py:264 msgid "" -"Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " -"on some games" +"Set the maximum resolution used by the game.\n" +"\n" +"Custom Resolutions: (width)x(height)" msgstr "" +"Oyun tarafından kullanılan maksimum çözünürlüğü ayarlayın.\n" +"\n" +"Özel Çözünürlükler: (genişlik)x(yükseklik)" -#: lutris/sysoptions.py:325 -msgid "Switch to US keyboard layout" -msgstr "US klavye düzenine geç" +#: lutris/sysoptions.py:269 +msgid "Window Mode" +msgstr "Pencere Modu" -#: lutris/sysoptions.py:328 -msgid "Switch to US keyboard QWERTY layout while game is running" -msgstr "" +#: lutris/sysoptions.py:273 +msgid "Windowed" +msgstr "Pencereli" -#: lutris/sysoptions.py:335 -msgid "Optimus launcher (NVIDIA Optimus laptops)" -msgstr "" +#: lutris/sysoptions.py:274 +msgid "Borderless" +msgstr "Çerçevesiz" -#: lutris/sysoptions.py:337 +#: lutris/sysoptions.py:279 msgid "" -"If you have installed the primus or bumblebee packages, select what launcher " -"will run the game with the command, activating your NVIDIA graphic chip for " -"high 3D performance. primusrun normally has better performance, butoptirun/" -"virtualgl works better for more games.Primus VK provide vulkan support under " -"bumblebee." +"Run gamescope in fullscreen, windowed or borderless mode\n" +"Toggle fullscreen : Super + F" msgstr "" +"Gamescope'u tam ekran, pencereli veya kenarlıksız modda çalıştırın\n" +"Tam ekranı değiştir : Super + F" -#: lutris/sysoptions.py:349 -msgid "Vulkan ICD loader" -msgstr "" +#: lutris/sysoptions.py:284 +msgid "FSR Level" +msgstr "FSR Seviyesi" -#: lutris/sysoptions.py:351 +#: lutris/sysoptions.py:290 msgid "" -"The ICD loader is a library that is placed between a Vulkan application and " -"any number of Vulkan drivers, in order to support multiple drivers and the " -"instance-level functionality that works across these drivers." +"Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" +"Upscaler sharpness from 0 (max) to 20 (min)." msgstr "" +"Yükseltme için AMD FidelityFX™ Super Resolution 1.0 kullanın.\n" +"0 (maks) ile 20 (min) arasında yükseltici keskinliği." -#: lutris/sysoptions.py:359 -msgid "FPS counter (MangoHud)" +#: lutris/sysoptions.py:296 +msgid "Framerate Limiter" +msgstr "Kare Hızı Sınırlayıcı" + +#: lutris/sysoptions.py:301 +msgid "Set a frame-rate limit for gamescope specified in frames per second." msgstr "" +"Gamescope için saniye başına kare olarak belirtilen bir kare hızı sınırı ayarl" +"ayın." -#: lutris/sysoptions.py:362 +#: lutris/sysoptions.py:306 +msgid "Custom Settings" +msgstr "Özel Ayarlar" + +#: lutris/sysoptions.py:312 msgid "" -"Display the game's FPS + other information. Requires MangoHud to be " -"installed." +"Set additional flags for gamescope (if available).\n" +"See 'gamescope --help' for a full list of options." msgstr "" +"gamescope için ek bayraklar ayarlayın (varsa).\n" +"Seçeneklerin tam listesi için 'gamescope --help' bölümüne bakın." + +#: lutris/sysoptions.py:319 +msgid "Restrict number of cores used" +msgstr "Kullanılan çekirdek sayısını kısıtlama" + +#: lutris/sysoptions.py:321 +msgid "Restrict the game to a maximum number of CPU cores." +msgstr "Oyunu maksimum sayıda CPU çekirdeği ile kısıtlayın." + +#: lutris/sysoptions.py:327 +msgid "Restrict number of cores to" +msgstr "Çekirdek sayısını şu şekilde kısıtlayın" -#: lutris/sysoptions.py:371 -msgid "Limit the game's FPS to desired number" +#: lutris/sysoptions.py:330 +msgid "" +"Maximum number of CPU cores to be used, if 'Restrict number of cores used' " +"is turned on." msgstr "" +"'Kullanılan çekirdek sayısını kısıtla' " +"açıksa, kullanılacak maksimum CPU çekirdeği sayısı." -#: lutris/sysoptions.py:378 +#: lutris/sysoptions.py:338 msgid "Enable Feral GameMode" -msgstr "" +msgstr "Feral OyunModu'nu etkinleştir" -#: lutris/sysoptions.py:379 +#: lutris/sysoptions.py:339 msgid "Request a set of optimisations be temporarily applied to the host OS" msgstr "" +"Bir dizi optimizasyonun geçici olarak ana işletim sistemine uygulanmasını tale" +"p edin" -#: lutris/sysoptions.py:386 -msgid "Enable NVIDIA Prime Render Offload" -msgstr "" +#: lutris/sysoptions.py:345 +msgid "Reduce PulseAudio latency" +msgstr "PulseAudio gecikme süresini azaltın" -#: lutris/sysoptions.py:387 +#: lutris/sysoptions.py:349 msgid "" -"If you have the latest NVIDIA driver and the properly patched xorg-server " -"(see https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/" -"primerenderoffload.html), you can launch a game on your NVIDIA GPU by " -"toggling this switch. This will apply __NV_PRIME_RENDER_OFFLOAD=1 and " -"__GLX_VENDOR_LIBRARY_NAME=nvidia environment variables." +"Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality " +"on some games" msgstr "" +"Bazı oyunlarda " +"ses kalitesini iyileştirmek için PULSE_LATENCY_MSEC=60 ortam değişkenini ayarl" +"ayın" -#: lutris/sysoptions.py:398 -msgid "Use discrete graphics" -msgstr "" +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 +msgid "Input" +msgstr "Girdi" -#: lutris/sysoptions.py:400 -msgid "" -"If you have open source graphic drivers (Mesa), selecting this option will " -"run the game with the 'DRI_PRIME=1' environment variable, activating your " -"discrete graphic chip for high 3D performance." -msgstr "" +#: lutris/sysoptions.py:355 +msgid "Switch to US keyboard layout" +msgstr "US klavye düzenine geç" -#: lutris/sysoptions.py:408 -msgid "SDL 1.2 Fullscreen Monitor" -msgstr "SDL 1.2 Tam ekran Monitör" +#: lutris/sysoptions.py:359 +msgid "Switch to US keyboard QWERTY layout while game is running" +msgstr "Oyun çalışıyorken US QWERY düzenine geç" -#: lutris/sysoptions.py:412 -msgid "" -"Hint SDL 1.2 games to use a specific monitor when going fullscreen by " -"setting the SDL_VIDEO_FULLSCREEN environment variable" -msgstr "" -"SDL 1.2 oyunlarında tam ekrana geçerken belirli bir monitörün kullanılmasına ilişkin ipucu" -"SDL_VIDEO_FULLSCREEN ortam değişkenini ayarla" +#: lutris/sysoptions.py:365 +msgid "AntiMicroX Profile" +msgstr "AntiMicroX Profili" -#: lutris/sysoptions.py:419 -msgid "Turn off monitors except" -msgstr "Haricindeki monitörleri kapat" +#: lutris/sysoptions.py:367 +msgid "Path to an AntiMicroX profile file" +msgstr "AntiMicroX profil dosyasının yolu" -#: lutris/sysoptions.py:424 +#: lutris/sysoptions.py:373 +msgid "SDL2 gamepad mapping" +msgstr "SDL2 oyun kumandası yapılandırması" + +#: lutris/sysoptions.py:376 msgid "" -"Only keep the selected screen active while the game is running. \n" -"This is useful if you have a dual-screen setup, and are \n" -"having display issues when running a game in fullscreen." +"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom " +"gamecontrollerdb.txt file containing mappings." msgstr "" -"Seçilen ekranı yalnızca oyun çalışırken aktif tut. \n" -"Bu, çift ekranlı bir kurulumunuz varsa kullanışlıdır ve \n" -"bir oyunu tam ekranda çalıştırırken görüntü sorunları yaşar." - -#: lutris/sysoptions.py:432 -msgid "Switch resolution to" -msgstr "Çözünürlüğü şuna değiştir" +"SDL_GAMECONTROLLERCONFIG yapılandırması özel bir gamecontrollerdb'ye eşleme di" +"zesi veya yolu." +"eşlemeleri içeren txt dosyası." -#: lutris/sysoptions.py:436 -msgid "Switch to this screen resolution while the game is running." -msgstr "Oyun çalışırken bu ekran çözünürlüğüne geç." +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 +msgid "Text based games" +msgstr "Metin tabanlı oyunlar" -#: lutris/sysoptions.py:440 +#: lutris/sysoptions.py:382 msgid "CLI mode" msgstr "CLI modu" -#: lutris/sysoptions.py:444 +#: lutris/sysoptions.py:387 msgid "" "Enable a terminal for text-based games. Only useful for ASCII based games. " "May cause issues with graphical games." msgstr "" -"Metin tabanlı oyunlar için bir terminali etkinleştirin. Sadece ASCII tabanlı oyunlar için kullanışlıdır. " +"Metin tabanlı oyunlar için bir terminali etkinleştirin. Sadece ASCII tabanlı o" +"yunlar için kullanışlıdır. " "Grafik oyunlarla ilgili sorunlara neden olabilir." -#: lutris/sysoptions.py:449 +#: lutris/sysoptions.py:394 msgid "Text based games emulator" -msgstr "Yazı tabanlı oyunların emülatörü" +msgstr "Metin tabanlı oyunlar emülator" -#: lutris/sysoptions.py:454 +#: lutris/sysoptions.py:400 msgid "" "The terminal emulator used with the CLI mode. Choose from the list of " "detected terminal apps or enter the terminal's command or path." @@ -5509,77 +7985,75 @@ msgstr "" "CLI modu ile kullanılan terminal öykünücüsü. Algılanan terminal uygulamaları " "listesinden seçim yapın veya terminalin komutunu veya yolunu girin." -#: lutris/sysoptions.py:461 +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 +#: lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 +#: lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 +#: lutris/sysoptions.py:492 +msgid "Game execution" +msgstr "Oyunu yürütülmesi" + +#: lutris/sysoptions.py:410 +msgid "Environment variables loaded at run time" +msgstr "Çalışma zamanında yüklenen ortam değişkenleri" + +#: lutris/sysoptions.py:416 msgid "Locale" -msgstr "Yerel" +msgstr "Yerel ayar" -#: lutris/sysoptions.py:467 +#: lutris/sysoptions.py:420 msgid "" "Can be used to force certain locale for an app. Fixes encoding issues in " "legacy software." msgstr "" -"Bir uygulama için belirli bir yerel ayarı zorlamak için kullanılabilir. " -"Eski yazılımdaki kodlama sorunlarını giderir." - -#: lutris/sysoptions.py:473 -msgid "Environment variables loaded at run time" -msgstr "Çalışma zamanında yüklenen ortam değişkenleri" - -#: lutris/sysoptions.py:478 -msgid "AntiMicroX Profile" -msgstr "AntiMicroX Profil" - -#: lutris/sysoptions.py:480 -msgid "Path to an AntiMicroX profile file" -msgstr "AntiMicroX profil dosyasının yolu" +"Bir uygulama için belirli bir yerel ayarı zorlamak için kullanılabilir. eski y" +"azılımındaki kodlama sorunlarını giderir." -#: lutris/sysoptions.py:485 +#: lutris/sysoptions.py:426 msgid "Command prefix" msgstr "Komut öneki" -#: lutris/sysoptions.py:487 +#: lutris/sysoptions.py:428 msgid "" "Command line instructions to add in front of the game's execution command." -msgstr "" -"Oyunun yürütme komutunun önüne eklenecek komut satırı talimatları." +msgstr "Oyunun yürütme komutunun önüne eklenecek komut satırı talimatları." -#: lutris/sysoptions.py:493 +#: lutris/sysoptions.py:434 msgid "Manual script" -msgstr "Elle komut" +msgstr "Elle betik" -#: lutris/sysoptions.py:495 +#: lutris/sysoptions.py:436 msgid "Script to execute from the game's contextual menu" msgstr "Oyunun bağlamsal menüsünden yürütülecek komut" -#: lutris/sysoptions.py:500 +#: lutris/sysoptions.py:442 msgid "Pre-launch script" -msgstr "Başlatma öncesi komut" +msgstr "Çalıştırmadan önceki betik" -#: lutris/sysoptions.py:502 +#: lutris/sysoptions.py:444 msgid "Script to execute before the game starts" msgstr "Oyun başlamadan önce çalıştırılacak komut" -#: lutris/sysoptions.py:507 +#: lutris/sysoptions.py:450 msgid "Wait for pre-launch script completion" msgstr "Başlatma öncesi komutun tamamlanmasını bekleyin" -#: lutris/sysoptions.py:510 +#: lutris/sysoptions.py:454 msgid "Run the game only once the pre-launch script has exited" msgstr "Oyunu yalnızca başlama öncesi komut çıktıktan sonra çalıştır" -#: lutris/sysoptions.py:515 +#: lutris/sysoptions.py:460 msgid "Post-exit script" -msgstr "Çıkış sonrası komut" +msgstr "Post-exit betiği" -#: lutris/sysoptions.py:517 +#: lutris/sysoptions.py:462 msgid "Script to execute when the game exits" -msgstr "Oyun çıktığında çalıştırılacak komut" +msgstr "Oyun varken batiği çalıştır*" -#: lutris/sysoptions.py:522 +#: lutris/sysoptions.py:468 msgid "Include processes" -msgstr "Süreçleri dahil et" +msgstr "İşlemleri ekle" -#: lutris/sysoptions.py:524 +#: lutris/sysoptions.py:471 msgid "" "What processes to include in process monitoring. This is to override the " "built-in exclude list.\n" @@ -5591,11 +8065,11 @@ msgstr "" "Boşlukla ayrılmış liste, boşluklar da dahil olmak üzere işlemler tırnak içine " "alınabilir." -#: lutris/sysoptions.py:532 +#: lutris/sysoptions.py:481 msgid "Exclude processes" -msgstr "Süreçleri hariç tut" +msgstr "İşlemleri çıkar" -#: lutris/sysoptions.py:534 +#: lutris/sysoptions.py:484 msgid "" "What processes to exclude in process monitoring. For example background " "processes that stick around after the game has been closed.\n" @@ -5603,207 +8077,240 @@ msgid "" "marks." msgstr "" "Süreç izlemede hangi süreçlerin hariç tutulacağı. Örneğin, oyun kapatıldıktan " -"sonra etrafta kalan arka plan işlemleri.\n" -"Boşlukla ayrılmış liste, boşluklar da dahil olmak üzere işlemler tırnak içine" -"alınabilir." +"sonra da devam eden arka plan " +"işlemleri.\n" +"Boşluk ayrılmış liste, boşluk içeren işlemler tırnak " +"işaretleri içine alınabilir." -#: lutris/sysoptions.py:543 +#: lutris/sysoptions.py:495 msgid "Killswitch file" -msgstr "Anahtar dosyasını kapat" +msgstr "Killswitch dosyası" -#: lutris/sysoptions.py:545 +#: lutris/sysoptions.py:498 msgid "" "Path to a file which will stop the game when deleted \n" "(usually /dev/input/js0 to stop the game on joystick unplugging)" -msgstr "Silindiğinde oyunu durduracak bir dosyanın yolu \n" -"(joystick'in fişini çekerken oyunu durdurmak için genellikle / dev /input / js0 kullanılır)" - -#: lutris/sysoptions.py:552 -msgid "SDL2 gamepad mapping" -msgstr "SDL2 oyun kumandası yapılandırması" +msgstr "" +"Silindiğinde oyunu durduracak bir dosyanın yolu \n" +"(joystick'in fişini çekerken oyunu durdurmak için genellikle / dev /input / js" +"0 kullanılır)" -#: lutris/sysoptions.py:554 -msgid "" -"SDL_GAMECONTROLLERCONFIG mapping string or path to a custom gamecontrollerdb." -"txt file containing mappings." -msgstr "SDL_GAME DENETLEYİCİ yapılandırması özel bir gamecontrollerdb'ye eşleme dizesi veya yolu." -"eşlemeleri içeren txt dosyası." +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 +msgid "Xephyr (Deprecated, use Gamescope)" +msgstr "Xephyr (Kullanımdan kalktı, Gamescope kullan)" -#: lutris/sysoptions.py:559 +#: lutris/sysoptions.py:506 msgid "Use Xephyr" -msgstr "Xephyr kullan" +msgstr "Kullan Xephyr" -#: lutris/sysoptions.py:563 +#: lutris/sysoptions.py:510 msgid "8BPP (256 colors)" msgstr "8BPP (256 renk)" -#: lutris/sysoptions.py:564 +#: lutris/sysoptions.py:511 msgid "16BPP (65536 colors)" msgstr "16BPP (65536 renk)" -#: lutris/sysoptions.py:565 +#: lutris/sysoptions.py:512 msgid "24BPP (16M colors)" msgstr "24BPP (16M renk)" -#: lutris/sysoptions.py:569 +#: lutris/sysoptions.py:517 msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" -msgstr "8BPP ve 16BPP renk modlarını desteklemek için programı Xephyr'de çalıştır" +msgstr "" +"8BPP ve 16BPP renk modlarını desteklemek için programı Xephyr'de çalıştır" -#: lutris/sysoptions.py:574 +#: lutris/sysoptions.py:523 msgid "Xephyr resolution" msgstr "Xephyr çözünürlüğü" -#: lutris/sysoptions.py:576 +#: lutris/sysoptions.py:526 msgid "Screen resolution of the Xephyr server" -msgstr "Zephyr sunucusunun ekran çözünürlüğü" +msgstr "Xephyr server ekran çözünürlüğü" -#: lutris/sysoptions.py:581 +#: lutris/sysoptions.py:532 msgid "Xephyr Fullscreen" msgstr "Xephyr Tam ekran" -#: lutris/sysoptions.py:584 +#: lutris/sysoptions.py:536 msgid "Open Xephyr in fullscreen (at the desktop resolution)" -msgstr "Zephyr'i tam ekranda aç (masaüstü çözünürlüğünde)" +msgstr "Xephyr'i tam ekranda aç (Ekran çözünürlüğüne göre)" + +#: lutris/util/flatpak.py:28 +msgid "Flatpak is not installed" +msgstr "Flatpak yüklenmedi" + +#: lutris/util/linux.py:547 +msgid "No terminal emulator could be detected." +msgstr "Terminal emülatörü bulunamadı." + +#: lutris/util/portals.py:83 +#, python-format +msgid "" +"'%s' could not be moved to the trash. You will need to delete it yourself." +msgstr "'%s' çöp kutusuna taşınmamış olabilir. Onu kendin silmelisin. " + +#: lutris/util/portals.py:88 +#, python-format +msgid "" +"The items could not be moved to the trash. You will need to delete them " +"yourself:\n" +"%s" +msgstr "" +"Öğeler çöp kutusuna taşınamadı. Bunları " +"kendiniz silmeniz gerekecektir:\n" +"%s" + +#: lutris/util/strings.py:17 +msgid "Never played" +msgstr "Hiç oynamadı" -#: lutris/util/strings.py:133 -msgid "1 hour" -msgstr "1 saat" +#. This function works out how many hours are meant by some +#. number of some unit. +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hour" +msgstr "saat" -#: lutris/util/strings.py:135 +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hours" +msgstr "saat" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minute" +msgstr "dakika" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minutes" +msgstr "dakika" + +#: lutris/util/strings.py:219 lutris/util/strings.py:304 +msgid "Less than a minute" +msgstr "Bir dakikadan az" + +#: lutris/util/strings.py:277 +msgid "day" +msgstr "gün" + +#: lutris/util/strings.py:277 +msgid "days" +msgstr "gün" + +#: lutris/util/strings.py:278 +msgid "week" +msgstr "hafta" + +#: lutris/util/strings.py:278 +msgid "weeks" +msgstr "hafta" + +#: lutris/util/strings.py:279 +msgid "month" +msgstr "ay" + +#: lutris/util/strings.py:279 +msgid "months" +msgstr "ay" + +#: lutris/util/strings.py:280 +msgid "year" +msgstr "yıl" + +#: lutris/util/strings.py:280 +msgid "years" +msgstr "yıl" + +#: lutris/util/strings.py:310 +#, python-format +msgid "'%s' is not a valid playtime." +msgstr "'%s' *" + +#: lutris/util/strings.py:395 +msgid "in the future" +msgstr "gelecek*" + +#: lutris/util/strings.py:397 +msgid "just now" +msgstr "hemen şimdi" + +#: lutris/util/strings.py:406 +#, python-format +msgid "%d days" +msgstr "%d gün" + +#: lutris/util/strings.py:410 #, python-format msgid "%d hours" msgstr "%d saat" -#: lutris/util/strings.py:141 +#: lutris/util/strings.py:415 +#, python-format +msgid "%d minutes" +msgstr "%d dakika" + +#: lutris/util/strings.py:417 msgid "1 minute" msgstr "1 dakika" -#: lutris/util/strings.py:143 +#: lutris/util/strings.py:421 #, python-format -msgid "%d minutes" -msgstr "%d dakika" +msgid "%d seconds" +msgstr "%d saniye" -#: lutris/util/system.py:21 +#: lutris/util/strings.py:423 +msgid "1 second" +msgstr "1 saniye" + +#: lutris/util/strings.py:425 +msgid "ago" +msgstr "önce" + +#: lutris/util/system.py:25 msgid "Documents" -msgstr "Belgeler" +msgstr "Dökümanlar" -#: lutris/util/system.py:22 +#: lutris/util/system.py:26 msgid "Downloads" msgstr "İndirilenler" -#: lutris/util/system.py:23 +#: lutris/util/system.py:27 msgid "Desktop" msgstr "Masaüstü" -#: lutris/util/system.py:24 lutris/util/system.py:26 +#: lutris/util/system.py:28 lutris/util/system.py:30 msgid "Pictures" msgstr "Resimler" -#: lutris/util/system.py:25 +#: lutris/util/system.py:29 msgid "Videos" msgstr "Videolar" -#: lutris/util/system.py:27 +#: lutris/util/system.py:31 msgid "Projects" msgstr "Projeler" -#: lutris/util/ubisoft/client.py:102 +#: lutris/util/ubisoft/client.py:95 #, python-format msgid "Ubisoft authentication has been lost: %s" -msgstr "Ubisoft kimlik doğrulaması kayboldu: %s" - -#: lutris/util/wine/dll_manager.py:63 -msgid "Manual" -msgstr "Elle" - -#: lutris/util/wine/wine.py:360 lutris/util/wine/wine.py:398 -#: lutris/util/wine/wine.py:418 -msgid "Launch anyway and do not show this message again." -msgstr "Yine de başlat ve bu mesajı bir daha gösterme." - -#: lutris/util/wine/wine.py:362 lutris/util/wine/wine.py:400 -#: lutris/util/wine/wine.py:420 -msgid "Enable anyway and do not show this message again." -msgstr "Yine de etkinleştir ve bu mesajı bir daha gösterme." - -#: lutris/util/wine/wine.py:367 -msgid "Vulkan is not installed or is not supported by your system" -msgstr "Vulkan yüklenmedi ya da sisteminiz desteklemiyor" - -#: lutris/util/wine/wine.py:369 -msgid "" -"If you have compatible hardware, please follow the installation procedures " -"as described in\n" -"How-to:-" -"DXVK (https://github.com/lutris/docs/blob/master/HowToDXVK.md)" -msgstr "" -"Uyumlu donanımınız varsa, lütfen aşağıdaki bölümde açıklandığı gibi kurulum " -"prosedürlerini izleyin\n" -"How-to:-" -"DXVK (https://github.com/lutris/docs/blob/master/HowToDXVK.md)" - -#: lutris/util/wine/wine.py:381 -msgid "" -"Your limits are not set correctly. Please increase them as described here: " -"How-to:-" -"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" -msgstr "" -"Sınırlarınız doğru ayarlanmamış. Lütfen bunları burada açıklandığı gibi artırın: " -"How-to:-" -"Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" - -#: lutris/util/wine/wine.py:390 -msgid "" -"Your kernel is not patched for fsync. Please get a patched kernel to use " -"fsync." -msgstr "" -"Çekirdeğiniz fsync için yamalı değil. Lütfen fsync kullanmak için yamalı bir çekirdek kullanın " -"fsync." - -#: lutris/util/wine/wine.py:404 lutris/util/wine/wine.py:424 -msgid "Incompatible Wine version detected" -msgstr "Uyumsuz Wine sürümü algılandı" - -#: lutris/util/wine/wine.py:406 -msgid "" -"The Wine build you have selected does not support Esync.\n" -"Please switch to an Esync-capable version." -msgstr "" -"Seçtiğiniz Wine yapısı Esync'i desteklemiyor.\n" -"Lütfen Esync özellikli bir sürüme geçin." +msgstr "Ubisoft authentication kaybedildi: %s" -#: lutris/util/wine/wine.py:426 +#: lutris/util/wine/dll_manager.py:102 +#, python-format msgid "" -"The Wine build you have selected does not support Fsync.\n" -"Please switch to an Fsync-capable version." +"The '%s' runtime component is not installed; visit the Updates tab in the " +"Preferences dialog to install it." msgstr "" -"Seçtiğiniz Wine yapısı Fsync'i desteklemiyor.\n" -"Lütfen Fsync özellikli bir sürüme geçin." - -#~ msgid "Open Source Gaming Platform" -#~ msgstr "Açık Kaynak Oyun Platformu" - -#~ msgid "Personnal Game Archives sources" -#~ msgstr "Kişisel Oyun Arşivi kaynakları" +"'%s' çalışma zamanı komponenti yüklenmedi; Güncellemeler sekmesini ziyaret " +"edinTercih diyalogundan indirin." -#~ msgid "" -#~ "Remove all data from game folder\n" -#~ "( {path})" -#~ msgstr "" -#~ "Oyuna ait all data dosyalarını tamamen sil\n" -#~ "( {path})" - -#~ msgid "description" -#~ msgstr "açıklama" +#: lutris/util/wine/dll_manager.py:113 +msgid "Manual" +msgstr "Elle" -#~ msgid "Remove ALL versions?" -#~ msgstr "Tüm sürümler silinsin mi ?" +#: lutris/util/wine/proton.py:98 +#, python-format +msgid "Proton version '%s' is missing its wine executable and can't be used." +msgstr "Proton sürümü '%s' eksik bu wine çalıştırılabilir ve kullanılamaz" -#~ msgid "" -#~ "This will remove ALL versions of %s.\n" -#~ "\n" -#~ "Use the Manage Versions button if you want to remove just one version." -#~ msgstr "" -#~ "Bu tüm ALL %s sürümlerini silecektir.\n" -#~ "\n" -#~ "Sürümleri Yönet tuşuna basarak sadece bir sürümü silebilirsiniz" +#: lutris/util/wine/wine.py:173 +msgid "The Wine version must be specified." +msgstr "Spesifik Wine sürümü olmalı" \ No newline at end of file diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000000..fa02e3f77b --- /dev/null +++ b/po/vi.po @@ -0,0 +1,7303 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the lutris package. +# Loc Huynh , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: lutris\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-13 21:52+0700\n" +"PO-Revision-Date: 2025-12-13 22:57+0700\n" +"Last-Translator: Loc Huynh \n" +"Language-Team: Vietnamese\n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.8\n" + +#: share/applications/net.lutris.Lutris.desktop:3 share/metainfo/net.lutris.Lutris.metainfo.xml:13 share/lutris/ui/lutris-window.ui:25 lutris/gui/application.py:86 lutris/gui/config/accounts_box.py:26 lutris/gui/widgets/status_icon.py:102 lutris/services/lutris.py:49 lutris/sysoptions.py:80 +#: lutris/sysoptions.py:90 lutris/sysoptions.py:102 +msgid "Lutris" +msgstr "Lutris" + +#: share/applications/net.lutris.Lutris.desktop:5 +msgid "Video Game Preservation Platform" +msgstr "Nền tảng bảo quản trò chơi điện tử" + +#: share/applications/net.lutris.Lutris.desktop:7 +msgid "gaming;wine;emulator;" +msgstr "chơi game;wine;trình giả lập;" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:8 share/metainfo/net.lutris.Lutris.metainfo.xml:10 +msgid "Lutris Team" +msgstr "Đội Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:14 share/lutris/ui/about-dialog.ui:18 +msgid "Video game preservation platform" +msgstr "Nền tảng bảo quản trò chơi video" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:17 +msgid "Main window" +msgstr "Cửa sổ chính" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:21 +msgid "Lutris helps you install and play video games from all eras and from most gaming systems. By leveraging and combining existing emulators, engine re-implementations and compatibility layers, it gives you a central interface to launch all your games." +msgstr "" +"Lutris giúp bạn cài đặt và chơi trò chơi điện tử từ mọi thời đại và từ hầu hết các hệ thống chơi game. Bằng cách tận dụng và kết hợp các trình mô phỏng hiện có, triển khai lại công cụ và các lớp tương thích, nó cung cấp cho bạn một giao diện trung tâm để khởi chạy tất cả các trò chơi của bạn." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:34 +msgid "Lutris downloads the latest GE-Proton build for Wine if any Wine version is installed" +msgstr "Lutris tải xuống bản dựng GE-Proton mới nhất cho Wine nếu cài đặt bất kỳ phiên bản Wine nào" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:35 +msgid "Use dark theme by default" +msgstr "Sử dụng chủ đề tối theo mặc định" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:36 +msgid "Display cover-art rather than banners by default" +msgstr "Hiển thị ảnh bìa thay vì banner theo mặc định" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:37 +msgid "Add 'Uncategorized' view to sidebar" +msgstr "Thêm chế độ xem 'Chưa được phân loại' vào sidebar" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:38 +msgid "Preference options that do not work on Wayland will be hidden when on Wayland" +msgstr "Các tùy chọn ưu tiên không hoạt động trên Wayland sẽ bị ẩn khi ở Wayland" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:39 +msgid "Game searches can now use fancy tags like 'installed:yes' or 'source:gog', with explanatory tool-tip" +msgstr "Giờ đây, tìm kiếm trò chơi có thể sử dụng các thẻ ưa thích như 'đã cài đặt: có' hoặc 'nguồn:gog', với mẹo công cụ giải thích" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:40 +msgid "A new filter button on the search box can build many of these fancy tags for you" +msgstr "Nút bộ lọc mới trên hộp tìm kiếm có thể tạo nhiều thẻ ưa thích này cho bạn" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:41 +msgid "Runner searches can use 'installed:yes' as well, but no other fancy searches or anything" +msgstr "Các tìm kiếm của runner cũng có thể sử dụng 'đã cài đặt: có', nhưng không có tìm kiếm ưa thích nào khác hoặc bất cứ điều gì" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:42 +msgid "Updated the Flathub and Amazon source to new APIs, restoring integration" +msgstr "Đã cập nhật nguồn Flathub và Amazon lên các API mới, khôi phục tích hợp" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:43 +msgid "Itch.io source integration will load a collection named 'Lutris' if present" +msgstr "Itch.io tích hợp nguồn sẽ tải bộ sưu tập có tên 'Lutris' nếu có" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:44 +msgid "GOG and Itch.io sources can now offer Linux and Windows installers for the same game" +msgstr "Các nguồn GOG và Itch.io hiện có thể cung cấp trình cài đặt Linux và Windows cho cùng một trò chơi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:45 +msgid "Added support for the 'foot' terminal" +msgstr "Đã thêm hỗ trợ cho thiết bị đầu cuối 'chân'" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:46 +msgid "Support for DirectX 8 in DXVK v2.4" +msgstr "Hỗ trợ DirectX 8 trong DXVK v2.4" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:47 +msgid "Support for Ayatana Application Indicators" +msgstr "Hỗ trợ các chỉ số ứng dụng Ayatana" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:48 +msgid "Additional options for Ruffle runner" +msgstr "Tùy chọn bổ sung cho runner Ruffle" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:49 +msgid "Updated download links for the Atari800 and MicroM8 runners" +msgstr "Đã cập nhật liên kết tải xuống cho runner Atari800 và MicroM8" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:50 +msgid "No longer re-download cached installation files even when some are missing" +msgstr "Không còn tải xuống lại các tệp cài đặt đã lưu trong bộ nhớ đệm ngay cả khi thiếu một số tệp" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:51 +msgid "Lutris log is included in the 'System' tab of the Preferences window" +msgstr "Nhật ký Lutris được bao gồm trong tab 'Hệ thống' của cửa sổ Tùy chọn" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:52 +msgid "Improved error reporting, with the Lutris log included in the error details" +msgstr "Cải thiện tính năng báo cáo lỗi, với nhật ký Lutris được đưa vào chi tiết lỗi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:53 +msgid "Add AppArmor profile for Ubuntu versions >= 23.10" +msgstr "Thêm hồ sơ AppArmor cho các phiên bản Ubuntu >= 23.10" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:54 +msgid "Add Duckstation runner" +msgstr "Thêm runner Duckstation" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:61 +msgid "Fix critical bug preventing completion of installs if the script specifies a wine version" +msgstr "Sửa lỗi nghiêm trọng ngăn cản quá trình cài đặt hoàn tất nếu tập lệnh chỉ định phiên bản Wine vang" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:62 +msgid "Fix critical bug preventing Steam library sync" +msgstr "Sửa lỗi nghiêm trọng ngăn chặn đồng bộ hóa thư viện Steam" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:63 +msgid "Fix critical bug preventing game or runner uninstall in Flatpak" +msgstr "Sửa lỗi nghiêm trọng ngăn chặn việc gỡ cài đặt trò chơi hoặc trình chạy trong Flatpak" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:64 +msgid "Support for library sync to lutris.net, this allows to sync games, play" +msgstr "Hỗ trợ đồng bộ thư viện với lutris.net, điều này cho phép đồng bộ hóa trò chơi, chơi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:65 +msgid "time and categories to multiple devices." +msgstr "thời gian và danh mục cho nhiều thiết bị." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:66 +msgid "Remove \"Lutris\" service view; with library sync the \"Games\" view replaces it." +msgstr "Xóa chế độ xem dịch vụ \"Lutris\"; với đồng bộ hóa thư viện, chế độ xem \"Trò chơi\" sẽ thay thế nó." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:67 +msgid "Torturous and sadistic options for multi-GPUs that were half broken and understood by no one have been replaced by a simple GPU selector." +msgstr "Các tùy chọn khủng khiếp và tàn bạo dành cho nhiều GPU đã bị hỏng một nửa và không ai hiểu được đã được thay thế bằng một bộ chọn GPU đơn giản." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:68 +msgid "EXPERIMENTAL support for umu, which allows running games with Proton and" +msgstr "Hỗ trợ THỬ NGHIỆM cho umu, cho phép chạy trò chơi với Proton và" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:69 +msgid "Pressure Vessel. Using Proton in Lutris without umu is no longer possible." +msgstr "Bình áp lực. Không thể sử dụng Proton trong Lutris mà không có umu nữa." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:70 +msgid "Better and sensible sorting for games (sorting by playtime or last played no longer needs to be reversed)" +msgstr "Sắp xếp trò chơi tốt hơn và hợp lý hơn (sắp xếp theo thời gian chơi hoặc lần chơi cuối cùng không còn cần phải đảo ngược)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:71 +msgid "Support the \"Categories\" command when you select multiple games" +msgstr "Hỗ trợ lệnh \"Danh mục\" khi bạn chọn nhiều trò chơi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:72 +msgid "Notification bar when your Lutris is no longer supported" +msgstr "Thanh thông báo khi Lutris của bạn không còn được hỗ trợ" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:73 +msgid "Improved error dialog." +msgstr "Hộp thoại báo lỗi được cải thiện." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:74 +msgid "Add Vita3k runner (thanks @ItsAllAboutTheCode)" +msgstr "Thêm runner Vita3k (cảm ơn @ItsAllAboutTheCode)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:75 +msgid "Add Supermodel runner" +msgstr "Thêm runner Supermodel" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:76 +msgid "WUA files are now supported in Cemu" +msgstr "Các tệp WUA hiện được hỗ trợ trong Cemu" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:77 +msgid "\"Show Hidden Games\" now displays the hidden games in a separate view, and re-hides them as soon as you leave it." +msgstr "\"Hiển thị trò chơi ẩn\" hiện hiển thị các trò chơi ẩn ở một chế độ xem riêng biệt và ẩn lại chúng ngay khi bạn thoát khỏi nó." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:78 +msgid "Support transparent PNG files for custom banner and cover-art" +msgstr "Hỗ trợ các tệp PNG trong suốt cho banner và ảnh bìa tùy chỉnh" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:79 +msgid "Images are now downloaded for manually added games." +msgstr "Hình ảnh hiện đã được tải xuống cho các trò chơi được thêm thủ công." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:80 +msgid "Deprecate 'exe', 'main_file' or 'iso' placed at the root of the script," +msgstr "Không dùng 'exe', 'main_file' hoặc 'iso' được đặt ở thư mục gốc của tập lệnh," + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:81 +msgid "all lutris.net installers have been updated accordingly." +msgstr "tất cả trình cài đặt lutris.net đã được cập nhật tương ứng." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:82 +msgid "Deprecate libstrangle and xgamma support." +msgstr "Ngừng hỗ trợ libstrangle và xgamma." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:83 +msgid "Deprecate DXVK state cache feature (it was never used and is no longer relevant to DXVK 2)" +msgstr "Không dùng nữa tính năng bộ đệm trạng thái DXVK (nó chưa bao giờ được sử dụng và không còn phù hợp với DXVK 2)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:90 +msgid "Fix bug that prevented installers to complete" +msgstr "Sửa lỗi khiến trình cài đặt không thể hoàn tất" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:91 +msgid "Better handling of Steam configurations for the Steam account picker" +msgstr "Xử lý cấu hình Steam tốt hơn cho bộ chọn tài khoản Steam" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:92 +msgid "Load game library in a background thread" +msgstr "Tải thư viện trò chơi trong một chuỗi nền" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:99 +msgid "Fix some crashes happening when using Wayland and a high DPI gaming mouse" +msgstr "Khắc phục một số sự cố xảy ra khi sử dụng Wayland và chuột chơi game có độ phân giải cao" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:100 +msgid "Fix crash when opening the system preferences tab for a game" +msgstr "Khắc phục sự cố khi mở tab tùy chọn hệ thống cho trò chơi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:101 +msgid "Reduced the locales list to a predefined one (let us know if you need yours added)" +msgstr "Đã giảm danh sách ngôn ngữ thành danh sách được xác định trước (hãy cho chúng tôi biết nếu bạn cần thêm danh sách của mình)" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:102 +msgid "Fix Lutris not expanding \"~\" in paths" +msgstr "Sửa lỗi Lutris không mở rộng \"~\" trong đường dẫn" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:103 +msgid "Download runtime components from the main window," +msgstr "Tải xuống các thành phần runtime từ cửa sổ chính," + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:104 +msgid "the \"updating runtime\" dialog appearing before Lutris opens has been removed" +msgstr "hộp thoại \"cập nhật runtime\" xuất hiện trước khi Lutris mở đã bị xóa" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:105 +msgid "Add the ability to open a location in your file browser from file picker widgets" +msgstr "Thêm khả năng mở một vị trí trong trình duyệt tệp của bạn từ các tiện ích chọn tệp" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:106 +msgid "Add the ability to select, remove, or stop multiple games in the Lutris window" +msgstr "Thêm khả năng chọn, xóa hoặc dừng nhiều trò chơi trong cửa sổ Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:107 +msgid "Redesigned 'Uninstall Game' dialog now completely removes games by default" +msgstr "Hộp thoại 'Gỡ cài đặt trò chơi' được thiết kế lại giờ đây sẽ xóa hoàn toàn trò chơi theo mặc định" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:108 +msgid "Fix the export / import feature" +msgstr "Sửa lỗi tính năng xuất/nhập" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:109 +msgid "Show an animation when a game is launched" +msgstr "Hiển thị hình ảnh động khi trò chơi được khởi chạy" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:110 +msgid "Add the ability to disable Wine auto-updates at the expense of losing support" +msgstr "Thêm khả năng vô hiệu hóa tính năng tự động cập nhật Wine do mất hỗ trợ" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:111 +msgid "Add playtime editing in the game preferences" +msgstr "Thêm chỉnh sửa thời gian chơi trong tùy chọn trò chơi" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:112 +msgid "Move game files, runners to the trash instead of deleting them they are uninstalled" +msgstr "Di chuyển các tập tin trò chơi, runner vào thùng rác thay vì xóa chúng là gỡ cài đặt" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:113 +msgid "Add \"Updates\" tab in Preferences control and check for updates and correct missing media" +msgstr "Thêm tab \"Cập nhật\" trong điều khiển Tùy chọn và kiểm tra các bản cập nhật cũng như sửa phương tiện bị thiếu" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:114 +msgid "in the 'Games' view." +msgstr "trong chế độ xem 'Trò chơi'." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:115 +msgid "Add \"Storage\" tab in Preferences to control game and installer cache location" +msgstr "Thêm tab \"Bộ nhớ\" trong Tùy chọn để kiểm soát vị trí bộ nhớ đệm của trò chơi và trình cài đặt" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:116 +msgid "Expand \"System\" tab in Preferences with more system information but less brown." +msgstr "Mở rộng tab \"Hệ thống\" trong Tùy chọn với nhiều thông tin hệ thống hơn nhưng ít màu nâu hơn." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:117 +msgid "Add \"Run Task Manager\" command for Wine games" +msgstr "Thêm lệnh \"Chạy Trình quản lý tác vụ\" cho trò chơi Wine" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:118 +msgid "Add two new, smaller banner sizes for itch.io games." +msgstr "Thêm hai kích thước banner mới, nhỏ hơn cho trò chơi itch.io." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:119 +msgid "Ignore Wine virtual desktop setting when using Wine-GE/Proton to avoid crash" +msgstr "Bỏ qua cài đặt máy tính để bàn ảo Wine khi sử dụng Wine-GE/Proton để tránh sự cố" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:120 +msgid "Ignore MangoHUD setting when launching Steam to avoid crash" +msgstr "Bỏ qua cài đặt MangoHUD khi khởi chạy Steam để tránh bị treo" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:121 +msgid "Sync Steam playtimes with the Lutris library" +msgstr "Đồng bộ hóa thời gian chơi Steam với thư viện Lutris" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:128 +msgid "Add Steam account switcher to handle multiple Steam accounts" +msgstr "Thêm trình chuyển đổi tài khoản Steam để xử lý nhiều tài khoản Steam" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:129 +msgid "on the same device." +msgstr "trên cùng một thiết bị." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:130 +msgid "Add user defined tags / categories" +msgstr "Thêm thẻ/danh mục do người dùng xác định" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:131 +msgid "Group every API calls for runtime updates in a single one" +msgstr "Nhóm mọi lệnh gọi API để cập nhật runtime thành một nhóm duy nhất" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:132 +msgid "Download appropriate DXVK and VKD3D versions based on" +msgstr "Tải xuống các phiên bản DXVK và VKD3D thích hợp dựa trên" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:133 +msgid "the available GPU PCI IDs" +msgstr "iD GPU GPU có sẵn" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:134 +msgid "EA App integration. Your Origin games and saves can be manually imported" +msgstr "Tích hợp ứng dụng EA. Các trò chơi Origin và bản lưu của bạn có thể được nhập thủ công" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:135 +msgid "from your Origin prefix." +msgstr "từ prefix Origin của bạn." + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:136 +msgid "Add integration with ScummVM local library" +msgstr "Thêm tích hợp với thư viện cục bộ ScummVM" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:137 +msgid "Download Wine-GE updates when Lutris starts" +msgstr "Tải xuống bản cập nhật Wine-GE khi Lutris khởi động" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:138 +msgid "Group GOG and Amazon download in a single progress bar" +msgstr "Nhóm tải xuống GOG và Amazon trong một thanh tiến trình duy nhất" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:139 +msgid "Fix blank login window on online services such as GOG or EGS" +msgstr "Sửa cửa sổ đăng nhập trống trên các dịch vụ trực tuyến như GOG hoặc EGS" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:140 +msgid "Add a sort name field" +msgstr "Thêm trường tên sắp xếp" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:141 +msgid "Yuzu and xemu now use an AppImage" +msgstr "Yuzu và xemu hiện sử dụng AppImage" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:142 +msgid "Experimental support for Flatpak provided runners" +msgstr "Hỗ trợ thử nghiệm cho các runner được cung cấp bởi Flatpak" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:143 +msgid "Header-bar search for configuration options" +msgstr "Tìm kiếm trên thanh tiêu đề cho các tùy chọn cấu hình" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:144 +msgid "Support for Gamescope 3.12" +msgstr "Hỗ trợ cho Gamescope 3.12" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:145 +msgid "Missing games show an additional badge" +msgstr "Trò chơi bị thiếu hiển thị huy hiệu bổ sung" + +#: share/metainfo/net.lutris.Lutris.metainfo.xml:146 +msgid "Add missing dependency on python3-gi-cairo for Debian packages" +msgstr "Thêm phần phụ thuộc bị thiếu vào python3-gi-cairo cho các gói Debian" + +#: share/lutris/ui/about-dialog.ui:8 share/lutris/ui/lutris-window.ui:765 +msgid "About Lutris" +msgstr "Giới thiệu về Lutris" + +#: share/lutris/ui/about-dialog.ui:21 +msgid "" +"This program is free software: you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation, either version 3 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program. If not, see .\n" +msgstr "" +"Chương trình này là phần mềm miễn phí: bạn có thể phân phối lại và/hoặc sửa đổi nó\n" +"nó theo các điều khoản của Giấy phép Công cộng GNU được xuất bản bởi\n" +"Tổ chức Phần mềm Tự do, phiên bản 3 của Giấy phép, hoặc\n" +"(theo lựa chọn của bạn) bất kỳ phiên bản mới hơn.\n" +"\n" +"Chương trình này được phân phối với hy vọng rằng nó sẽ hữu ích,\n" +"nhưng KHÔNG CÓ BẤT KỲ ĐẢM BẢO NÀO; thậm chí không có sự bảo đảm ngụ ý của\n" +"Khả năng bán được hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ. Xem\n" +"Giấy phép Công cộng GNU để biết thêm chi tiết.\n" +"\n" +"Bạn hẳn đã nhận được một bản sao Giấy phép Công cộng GNU\n" +"cùng với chương trình này. Nếu không, hãy xem .\n" + +#: share/lutris/ui/about-dialog.ui:34 lutris/settings.py:17 +msgid "The Lutris team" +msgstr "Nhóm Lutris" + +#: share/lutris/ui/dialog-lutris-login.ui:8 +msgid "Connect to lutris.net" +msgstr "Kết nối với lutris.net" + +#: share/lutris/ui/dialog-lutris-login.ui:26 +msgid "Forgot password?" +msgstr "Quên mật khẩu?" + +#: share/lutris/ui/dialog-lutris-login.ui:43 lutris/gui/dialogs/issue.py:51 +msgid "C_ancel" +msgstr "Hủy bỏ" + +#: share/lutris/ui/dialog-lutris-login.ui:57 +msgid "_Connect" +msgstr "_Kết nối" + +#: share/lutris/ui/dialog-lutris-login.ui:96 +msgid "Password" +msgstr "Mật khẩu" + +#: share/lutris/ui/dialog-lutris-login.ui:110 +msgid "Username" +msgstr "Tên người dùng" + +#: share/lutris/ui/log-window.ui:36 +msgid "Search..." +msgstr "Tìm kiếm..." + +#: share/lutris/ui/log-window.ui:48 +msgid "Decrease text size" +msgstr "Giảm kích thước văn bản" + +#: share/lutris/ui/log-window.ui:64 +msgid "Increase text size" +msgstr "Tăng kích thước văn bản" + +#: share/lutris/ui/lutris-window.ui:112 +msgid "Login to Lutris to sync your game library" +msgstr "Đăng nhập vào Lutris để đồng bộ hóa thư viện trò chơi của bạn" + +#: share/lutris/ui/lutris-window.ui:149 +msgid "Lutris %s is no longer supported. Download %s here!" +msgstr "Lutris %s không còn được hỗ trợ. Tải xuống %s tại đây!" + +#: share/lutris/ui/lutris-window.ui:282 +msgid "" +"Enter the name of a game to search for, or use search terms:\n" +"\n" +"installed:true\t\t\tOnly installed games.\n" +"hidden:true\t\t\tOnly hidden games.\n" +"favorite:true\t\t\tOnly favorite games.\n" +"categorized:true\t\tOnly games in a category.\n" +"category:x\t\t\tOnly games in category x.\n" +"source:steam\t\t\tOnly Steam games\n" +"runner:wine\t\t\tOnly Wine games\n" +"platform:windows\tOnly Windows games\n" +"playtime:>2 hours\tOnly games played for more than 2 hours.\n" +"lastplayed:<2 days\tOnly games played in the last 2 days.\n" +"directory:game/dir\tOnly games at the path." +msgstr "" +"Nhập tên trò chơi để tìm kiếm hoặc sử dụng cụm từ tìm kiếm:\n" +"\n" +"đã cài đặt:true Chỉ những trò chơi đã cài đặt.\n" +"ẩn:true Chỉ các trò chơi ẩn.\n" +"yêu thích:true Chỉ những trò chơi yêu thích.\n" +"được phân loại:true Chỉ các trò chơi trong một danh mục.\n" +"danh mục:x Chỉ các trò chơi trong danh mục x.\n" +"nguồn:steam Chỉ các trò chơi trên Steam\n" +"runner:Wine Chỉ trò chơi về Wine\n" +"nền tảng:windows Chỉ các trò chơi Windows\n" +"thời gian chơi:>2 giờ Chỉ những trò chơi được chơi hơn 2 giờ.\n" +"chơi lần cuối:<2 ngày Chỉ các trò chơi được chơi trong 2 ngày qua.\n" +"thư mục:game/dir Chỉ các trò chơi trên đường dẫn." + +#: share/lutris/ui/lutris-window.ui:298 lutris/gui/lutriswindow.py:817 +msgid "Search games" +msgstr "Tìm kiếm trò chơi" + +#: share/lutris/ui/lutris-window.ui:346 +msgid "Add Game" +msgstr "Thêm trò chơi" + +#: share/lutris/ui/lutris-window.ui:378 +msgid "Toggle View" +msgstr "Chuyển đổi chế độ xem" + +#: share/lutris/ui/lutris-window.ui:476 +msgid "Zoom " +msgstr "Zoom " + +#: share/lutris/ui/lutris-window.ui:518 +msgid "Sort Installed First" +msgstr "Sắp xếp cài đặt đầu tiên" + +#: share/lutris/ui/lutris-window.ui:532 +msgid "Reverse order" +msgstr "Đảo ngược thứ tự" + +#: share/lutris/ui/lutris-window.ui:558 lutris/gui/config/edit_category_games.py:35 lutris/gui/config/edit_saved_search.py:47 lutris/gui/config/game_common.py:176 lutris/gui/views/list.py:64 lutris/gui/views/list.py:199 +msgid "Name" +msgstr "Tên" + +#: share/lutris/ui/lutris-window.ui:573 lutris/gui/views/list.py:65 +msgid "Year" +msgstr "Năm" + +#: share/lutris/ui/lutris-window.ui:588 lutris/gui/views/list.py:68 +msgid "Last Played" +msgstr "Chơi lần cuối" + +#: share/lutris/ui/lutris-window.ui:603 lutris/gui/views/list.py:70 +msgid "Installed At" +msgstr "Được cài đặt tại" + +#: share/lutris/ui/lutris-window.ui:618 lutris/gui/views/list.py:69 +msgid "Play Time" +msgstr "Thời gian chơi" + +#: share/lutris/ui/lutris-window.ui:647 +msgid "_Installed Games Only" +msgstr "_Chỉ các trò chơi đã cài đặt" + +#: share/lutris/ui/lutris-window.ui:662 +msgid "Show Side _Panel" +msgstr "Hiển thị bên _Bảng điều khiển" + +#: share/lutris/ui/lutris-window.ui:677 +msgid "Show _Hidden Games" +msgstr "Hiển thị _Trò chơi ẩn" + +#: share/lutris/ui/lutris-window.ui:698 +msgid "Preferences" +msgstr "Tùy chọn" + +#: share/lutris/ui/lutris-window.ui:723 +msgid "Discord" +msgstr "Bất hòa" + +#: share/lutris/ui/lutris-window.ui:737 +msgid "Lutris forums" +msgstr "Diễn đàn Lutris" + +#: share/lutris/ui/lutris-window.ui:751 +msgid "Make a donation" +msgstr "Hãy quyên góp" + +#: share/lutris/ui/uninstall-dialog.ui:53 +msgid "Uninstalling games" +msgstr "Gỡ cài đặt trò chơi" + +#: share/lutris/ui/uninstall-dialog.ui:92 +msgid "Delete All Files\t" +msgstr "Xóa tất cả các tập tin\t" + +#: share/lutris/ui/uninstall-dialog.ui:108 +msgid "Remove All Games from Library" +msgstr "Xóa tất cả trò chơi khỏi Thư viện" + +#: share/lutris/ui/uninstall-dialog.ui:135 +msgid "Remove Games" +msgstr "Xóa trò chơi" + +#: share/lutris/ui/uninstall-dialog.ui:138 lutris/gui/addgameswindow.py:92 lutris/gui/addgameswindow.py:540 lutris/gui/addgameswindow.py:543 lutris/gui/dialogs/__init__.py:172 lutris/gui/dialogs/runner_install.py:275 lutris/gui/installerwindow.py:103 lutris/gui/installerwindow.py:1087 +#: lutris/gui/widgets/download_collection_progress_box.py:153 lutris/gui/widgets/download_progress_box.py:116 +msgid "Cancel" +msgstr "Hủy bỏ" + +#: share/lutris/ui/uninstall-dialog.ui:147 lutris/game_actions.py:198 lutris/game_actions.py:254 +msgid "Remove" +msgstr "Di dời" + +#: lutris/api.py:44 +msgid "never" +msgstr "không bao giờ" + +#: lutris/cache.py:84 +#, python-format +msgid "The cache path '%s' does not exist, but its parent does so it will be created when needed." +msgstr "Đường dẫn bộ đệm '%s' không tồn tại, nhưng cấp độ gốc của nó tồn tại nên nó sẽ được tạo khi cần." + +#: lutris/cache.py:88 +#, python-format +msgid "The cache path %s does not exist, nor does its parent, so it won't be created." +msgstr "Đường dẫn bộ nhớ đệm %s không tồn tại và đường dẫn gốc của nó cũng không tồn tại nên nó sẽ không được tạo." + +#: lutris/exceptions.py:36 +msgid "The directory {} could not be found" +msgstr "Không thể tìm thấy thư mục {}" + +#: lutris/exceptions.py:50 +msgid "A bios file is required to run this game" +msgstr "Cần có file bios để chạy trò chơi này" + +#: lutris/exceptions.py:63 +#, python-brace-format +msgid "" +"The following {arch} libraries are required but are not installed on your system:\n" +"{libs}" +msgstr "" +"Các thư viện {arch} sau đây là bắt buộc nhưng chưa được cài đặt trên hệ thống của bạn:\n" +"{libs}" + +#: lutris/exceptions.py:87 lutris/exceptions.py:99 +msgid "The file {} could not be found" +msgstr "Không thể tìm thấy tệp {}" + +#: lutris/exceptions.py:101 +msgid "This game has no executable set. The install process didn't finish properly." +msgstr "Trò chơi này không có bộ thực thi. Quá trình cài đặt không kết thúc đúng cách." + +#: lutris/exceptions.py:116 +msgid "Your ESYNC limits are not set correctly." +msgstr "Giới hạn ESYNC của bạn không được đặt chính xác." + +#: lutris/exceptions.py:126 +msgid "Your kernel is not patched for fsync. Please get a patched kernel to use fsync." +msgstr "Hạt nhân của bạn chưa được vá cho fsync. Vui lòng lấy kernel đã vá để sử dụng fsync." + +#: lutris/game_actions.py:190 lutris/game_actions.py:228 lutris/gui/widgets/game_bar.py:217 +msgid "Stop" +msgstr "Dừng lại" + +#: lutris/game_actions.py:192 lutris/game_actions.py:233 lutris/gui/config/edit_game_categories.py:18 lutris/gui/config/edit_saved_search.py:72 lutris/gui/widgets/sidebar.py:400 +msgid "Categories" +msgstr "Thể loại" + +#: lutris/game_actions.py:193 lutris/game_actions.py:235 +msgid "Add to favorites" +msgstr "Thêm vào mục yêu thích" + +#: lutris/game_actions.py:194 lutris/game_actions.py:236 +msgid "Remove from favorites" +msgstr "Xóa khỏi mục yêu thích" + +#: lutris/game_actions.py:195 lutris/game_actions.py:237 +msgid "Hide game from library" +msgstr "Ẩn trò chơi khỏi thư viện" + +#: lutris/game_actions.py:196 lutris/game_actions.py:238 +msgid "Unhide game from library" +msgstr "Hiện trò chơi khỏi thư viện" + +#. Local services don't show an install dialog, they can be launched directly +#: lutris/game_actions.py:227 lutris/gui/widgets/game_bar.py:210 lutris/gui/widgets/game_bar.py:227 +msgid "Play" +msgstr "Chơi" + +#: lutris/game_actions.py:229 +msgid "Execute script" +msgstr "Thực thi tập lệnh" + +#: lutris/game_actions.py:230 +msgid "Show logs" +msgstr "Hiển thị nhật ký" + +#: lutris/game_actions.py:232 lutris/gui/widgets/sidebar.py:235 +msgid "Configure" +msgstr "Cấu hình" + +#: lutris/game_actions.py:234 +msgid "Browse files" +msgstr "Duyệt tập tin" + +#: lutris/game_actions.py:240 lutris/game_actions.py:467 lutris/gui/dialogs/runner_install.py:284 lutris/gui/installer/script_box.py:62 lutris/gui/widgets/game_bar.py:221 +msgid "Install" +msgstr "Cài đặt" + +#: lutris/game_actions.py:241 +msgid "Install another version" +msgstr "Cài đặt phiên bản khác" + +#: lutris/game_actions.py:242 +msgid "Install DLCs" +msgstr "Cài đặt DLC" + +#: lutris/game_actions.py:243 +msgid "Install updates" +msgstr "Cài đặt bản cập nhật" + +#: lutris/game_actions.py:244 lutris/game_actions.py:468 lutris/gui/widgets/game_bar.py:197 +msgid "Locate installed game" +msgstr "Xác định vị trí trò chơi đã cài đặt" + +#: lutris/game_actions.py:245 lutris/gui/installerwindow.py:461 +msgid "Create desktop shortcut" +msgstr "Tạo lối tắt trên màn hình" + +#: lutris/game_actions.py:246 +msgid "Delete desktop shortcut" +msgstr "Xóa lối tắt trên màn hình" + +#: lutris/game_actions.py:247 lutris/gui/installerwindow.py:468 +msgid "Create application menu shortcut" +msgstr "Tạo lối tắt menu ứng dụng" + +#: lutris/game_actions.py:248 +msgid "Delete application menu shortcut" +msgstr "Xóa phím tắt menu ứng dụng" + +#: lutris/game_actions.py:249 lutris/gui/installerwindow.py:476 +msgid "Create Steam shortcut" +msgstr "Tạo lối tắt Steam" + +#: lutris/game_actions.py:250 +msgid "Delete Steam shortcut" +msgstr "Xóa phím tắt Steam" + +#: lutris/game_actions.py:251 lutris/game_actions.py:469 +msgid "View on Lutris.net" +msgstr "Xem trên Lutris.net" + +#: lutris/game_actions.py:252 +msgid "Duplicate" +msgstr "Nhân bản" + +#: lutris/game_actions.py:336 +msgid "This game has no installation directory" +msgstr "Trò chơi này không có thư mục cài đặt" + +#: lutris/game_actions.py:340 +#, python-format +msgid "" +"Can't open %s \n" +"The folder doesn't exist." +msgstr "" +"Không mở được %s \n" +"Thư mục không tồn tại." + +#: lutris/game_actions.py:390 +#, python-format +msgid "" +"Do you wish to duplicate %s?\n" +"The configuration will be duplicated, but the games files will not be duplicated.\n" +"Please enter the new name for the copy:" +msgstr "" +"Bạn có muốn sao chép %s không?\n" +"Cấu hình sẽ bị trùng lặp nhưng các tệp trò chơi sẽ không bị trùng lặp.\n" +"Vui lòng nhập tên mới cho bản sao:" + +#: lutris/game_actions.py:395 +msgid "Duplicate game?" +msgstr "Trò chơi trùng lặp?" + +#. use primary configuration +#: lutris/game_actions.py:446 +msgid "Select shortcut target" +msgstr "Chọn mục tiêu phím tắt" + +#: lutris/game.py:321 lutris/game.py:508 +msgid "Invalid game configuration: Missing runner" +msgstr "Cấu hình trò chơi không hợp lệ: Thiếu runner" + +#: lutris/game.py:387 +msgid "No updates found" +msgstr "Không tìm thấy bản cập nhật nào" + +#: lutris/game.py:406 +msgid "No DLC found" +msgstr "Không tìm thấy DLC" + +#: lutris/game.py:440 +msgid "Uninstall the game before deleting" +msgstr "Gỡ cài đặt trò chơi trước khi xóa" + +#: lutris/game.py:506 +msgid "Tried to launch a game that isn't installed." +msgstr "Đã thử khởi chạy một trò chơi chưa được cài đặt." + +#: lutris/game.py:540 +msgid "Unable to find Xephyr, install it or disable the Xephyr option" +msgstr "Không tìm thấy Xephyr, cài đặt hoặc tắt tùy chọn Xephyr" + +#: lutris/game.py:556 +msgid "Unable to find Antimicrox, install it or disable the Antimicrox option" +msgstr "Không thể tìm thấy Antimicrox, cài đặt nó hoặc tắt tùy chọn Antimicrox" + +#: lutris/game.py:593 +#, python-format +msgid "" +"The selected terminal application could not be launched:\n" +"%s" +msgstr "" +"Không thể khởi chạy ứng dụng đầu cuối đã chọn:\n" +"%s" + +#: lutris/game.py:896 +msgid "Error lauching the game:\n" +msgstr "Lỗi khi khởi chạy trò chơi:\n" + +#: lutris/game.py:1002 +#, python-format +msgid "" +"Error: Missing shared library.\n" +"\n" +"%s" +msgstr "" +"Lỗi: Thiếu thư viện chia sẻ.\n" +"\n" +"%s" + +#: lutris/game.py:1008 +msgid "Error: A different Wine version is already using the same Wine prefix." +msgstr "Lỗi: Một phiên bản Wine khác đang sử dụng cùng một prefix Wine." + +#: lutris/game.py:1026 +#, python-format +msgid "Lutris can't move '%s' to a location inside of itself, '%s'." +msgstr "Lutris không thể di chuyển '%s' đến một vị trí bên trong chính nó, '%s'." + +#: lutris/gui/addgameswindow.py:24 +msgid "Search the Lutris website for installers" +msgstr "Tìm kiếm trình cài đặt trên trang web Lutris" + +#: lutris/gui/addgameswindow.py:25 +msgid "Query our website for community installers" +msgstr "Truy vấn trang web của chúng tôi để tìm người cài đặt cộng đồng" + +#: lutris/gui/addgameswindow.py:31 +msgid "Install a Windows game from an executable" +msgstr "Cài đặt trò chơi Windows từ tệp thực thi" + +#: lutris/gui/addgameswindow.py:32 +msgid "Launch a Windows executable (.exe) installer" +msgstr "Khởi chạy trình cài đặt Windows thực thi (.exe)" + +#: lutris/gui/addgameswindow.py:38 +msgid "Install from a local install script" +msgstr "Cài đặt từ tập lệnh cài đặt cục bộ" + +#: lutris/gui/addgameswindow.py:39 +msgid "Run a YAML install script" +msgstr "Chạy tập lệnh cài đặt YAML" + +#: lutris/gui/addgameswindow.py:45 +msgid "Import ROMs" +msgstr "Nhập ROM" + +#: lutris/gui/addgameswindow.py:46 +msgid "Import ROMs referenced in TOSEC, No-intro or Redump" +msgstr "Nhập các ROM được tham chiếu trong TOSEC, No-intro hoặc Redump" + +#: lutris/gui/addgameswindow.py:52 +msgid "Add locally installed game" +msgstr "Thêm trò chơi được cài đặt cục bộ" + +#: lutris/gui/addgameswindow.py:53 +msgid "Manually configure a game available locally" +msgstr "Định cấu hình thủ công một trò chơi có sẵn tại địa phương" + +#: lutris/gui/addgameswindow.py:59 +msgid "Add games to Lutris" +msgstr "Thêm trò chơi vào Lutris" + +#. Header bar buttons +#: lutris/gui/addgameswindow.py:80 lutris/gui/installerwindow.py:96 +msgid "Back" +msgstr "Mặt sau" + +#. Continue Button +#: lutris/gui/addgameswindow.py:88 lutris/gui/addgameswindow.py:525 lutris/gui/installerwindow.py:106 lutris/gui/installerwindow.py:1035 +msgid "_Continue" +msgstr "_Tiếp tục" + +#: lutris/gui/addgameswindow.py:111 lutris/gui/config/storage_box.py:72 lutris/gui/config/widget_generator.py:655 +msgid "Select folder" +msgstr "Chọn thư mục" + +#: lutris/gui/addgameswindow.py:115 +msgid "Identifier" +msgstr "Mã định danh" + +#: lutris/gui/addgameswindow.py:125 +msgid "Select script" +msgstr "Chọn tập lệnh" + +#: lutris/gui/addgameswindow.py:128 +msgid "Select ROMs" +msgstr "Chọn ROM" + +#: lutris/gui/addgameswindow.py:204 +msgid "" +"Lutris will search Lutris.net for games matching the terms you enter, and any that it finds will appear here.\n" +"\n" +"When you click on a game that it found, the installer window will appear to perform the installation." +msgstr "" +"Lutris sẽ tìm kiếm Lutris.net các trò chơi phù hợp với cụm từ bạn nhập và bất kỳ trò chơi nào tìm thấy sẽ xuất hiện ở đây.\n" +"\n" +"Khi bạn nhấp vào trò chơi mà nó tìm thấy, cửa sổ trình cài đặt sẽ xuất hiện để thực hiện cài đặt." + +#: lutris/gui/addgameswindow.py:225 +msgid "Search Lutris.net" +msgstr "Tìm kiếm Lutris.net" + +#: lutris/gui/addgameswindow.py:256 +msgid "No results" +msgstr "Không có kết quả" + +#: lutris/gui/addgameswindow.py:258 +#, python-format +msgid "Showing %s results" +msgstr "Đang hiển thị kết quả %s" + +#: lutris/gui/addgameswindow.py:260 +#, python-format +msgid "%s results, only displaying first %s" +msgstr "%s kết quả, chỉ hiển thị %s đầu tiên" + +#: lutris/gui/addgameswindow.py:289 +msgid "Game name" +msgstr "Tên trò chơi" + +#: lutris/gui/addgameswindow.py:305 +msgid "" +"Enter the name of the game you will install.\n" +"\n" +"When you click 'Install' below, the installer window will appear and guide you through a simple installation.\n" +"\n" +"It will prompt you for a setup executable, and will use Wine to install it.\n" +"\n" +"If you know the Lutris identifier for the game, you can provide it for improved Lutris integration, such as Lutris provided banners." +msgstr "" +"Nhập tên game bạn sẽ cài đặt.\n" +"\n" +"Khi bạn nhấp vào 'Cài đặt' bên dưới, cửa sổ trình cài đặt sẽ xuất hiện và hướng dẫn bạn thực hiện cài đặt đơn giản.\n" +"\n" +"Nó sẽ nhắc bạn thực thi thiết lập và sẽ sử dụng Wine để cài đặt nó.\n" +"\n" +"Nếu bạn biết mã định danh Lutris cho trò chơi, bạn có thể cung cấp mã đó để tích hợp Lutris được cải thiện, chẳng hạn như các banner do Lutris cung cấp." + +#: lutris/gui/addgameswindow.py:314 +msgid "Installer preset:" +msgstr "Trình cài đặt sẵn:" + +#: lutris/gui/addgameswindow.py:317 +msgid "Windows 11 64-bit" +msgstr "Windows 11 64-bit" + +#: lutris/gui/addgameswindow.py:318 +msgid "Windows 10 64-bit (Default)" +msgstr "Windows 10 64-bit (Mặc định)" + +#: lutris/gui/addgameswindow.py:319 +msgid "Windows 7 64-bit" +msgstr "Windows 7 64-bit" + +#: lutris/gui/addgameswindow.py:320 +msgid "Windows XP 32-bit" +msgstr "Windows XP 32-bit" + +#: lutris/gui/addgameswindow.py:321 +msgid "Windows XP + 3DFX 32-bit" +msgstr "Windows XP + 3DFX 32-bit" + +#: lutris/gui/addgameswindow.py:322 +msgid "Windows 98 32-bit" +msgstr "Windows 98 32-bit" + +#: lutris/gui/addgameswindow.py:323 +msgid "Windows 98 + 3DFX 32-bit" +msgstr "Windows 98 + 3DFX 32-bit" + +#: lutris/gui/addgameswindow.py:334 +msgid "Locale:" +msgstr "Ngôn ngữ:" + +#: lutris/gui/addgameswindow.py:359 +msgid "Select setup file" +msgstr "Chọn tệp thiết lập" + +#: lutris/gui/addgameswindow.py:361 lutris/gui/addgameswindow.py:443 lutris/gui/addgameswindow.py:484 lutris/gui/installerwindow.py:1070 +msgid "_Install" +msgstr "_Cài đặt" + +#: lutris/gui/addgameswindow.py:377 +msgid "You must provide a name for the game you are installing." +msgstr "Bạn phải cung cấp tên cho trò chơi bạn đang cài đặt." + +#: lutris/gui/addgameswindow.py:397 +msgid "Setup file" +msgstr "Tập tin cài đặt" + +#: lutris/gui/addgameswindow.py:403 +msgid "Select the setup file" +msgstr "Chọn tập tin thiết lập" + +#: lutris/gui/addgameswindow.py:424 +msgid "Script file" +msgstr "Tập lệnh" + +#: lutris/gui/addgameswindow.py:430 +msgid "" +"Lutris install scripts are YAML files that guide Lutris through the installation process.\n" +"\n" +"They can be obtained on Lutris.net, or written by hand.\n" +"\n" +"When you click 'Install' below, the installer window will appear and load the script, and it will guide the process from there." +msgstr "" +"Tập lệnh cài đặt Lutris là các tệp YAML hướng dẫn Lutris trong quá trình cài đặt.\n" +"\n" +"Chúng có thể được lấy trên Lutris.net hoặc được viết bằng tay.\n" +"\n" +"Khi bạn nhấp vào 'Cài đặt' bên dưới, cửa sổ trình cài đặt sẽ xuất hiện và tải tập lệnh, đồng thời nó sẽ hướng dẫn quy trình từ đó." + +#: lutris/gui/addgameswindow.py:441 +msgid "Select a Lutris installer" +msgstr "Chọn trình cài đặt Lutris" + +#: lutris/gui/addgameswindow.py:448 +msgid "You must select a script file to install." +msgstr "Bạn phải chọn một tập lệnh để cài đặt." + +#: lutris/gui/addgameswindow.py:450 +#, python-format +msgid "No file exists at '%s'." +msgstr "Không có tệp nào tồn tại tại '%s'." + +#: lutris/gui/addgameswindow.py:465 lutris/runners/atari800.py:37 lutris/runners/duckstation.py:27 lutris/runners/jzintv.py:21 lutris/runners/libretro.py:76 lutris/runners/mame.py:80 lutris/runners/mednafen.py:59 lutris/runners/mupen64plus.py:21 lutris/runners/o2em.py:47 +#: lutris/runners/openmsx.py:20 lutris/runners/osmose.py:20 lutris/runners/snes9x.py:29 lutris/runners/vice.py:37 lutris/runners/yuzu.py:23 +msgid "ROM file" +msgstr "Tập tin ROM" + +#: lutris/gui/addgameswindow.py:471 +msgid "" +"Lutris will identify ROMs via its MD5 hash and download game information from Lutris.net.\n" +"\n" +"The ROM data used for this comes from TOSEC, No-Intro and Redump projects.\n" +"\n" +"When you click 'Install' below, the process of installing the games will begin." +msgstr "" +"Lutris sẽ xác định các ROM thông qua hàm băm MD5 và tải xuống thông tin trò chơi từ Lutris.net.\n" +"\n" +"Dữ liệu ROM được sử dụng cho việc này đến từ các dự án TOSEC, No-Intro và Redump.\n" +"\n" +"Khi bạn nhấp vào 'Cài đặt' bên dưới, quá trình cài đặt trò chơi sẽ bắt đầu." + +#: lutris/gui/addgameswindow.py:482 +msgid "Select ROMs" +msgstr "Chọn ROM" + +#: lutris/gui/addgameswindow.py:493 +msgid "You must select ROMs to install." +msgstr "Bạn phải chọn ROM để cài đặt." + +#: lutris/gui/application.py:102 +msgid "Do not run Lutris as root." +msgstr "Không chạy Lutris với quyền root." + +#: lutris/gui/application.py:113 +msgid "Your Linux distribution is too old. Lutris won't function properly." +msgstr "Bản phân phối Linux của bạn quá cũ. Lutris sẽ không hoạt động bình thường." + +#: lutris/gui/application.py:119 +msgid "" +"Run a game directly by adding the parameter lutris:rungame/game-identifier.\n" +"If several games share the same identifier you can use the numerical ID (displayed when running lutris --list-games) and add lutris:rungameid/numerical-id.\n" +"To install a game, add lutris:install/game-identifier." +msgstr "" +"Chạy trò chơi trực tiếp bằng cách thêm tham số lutris:rungame/game-identifier.\n" +"Nếu một số trò chơi có cùng mã định danh, bạn có thể sử dụng ID số (được hiển thị khi chạy lutris --list-games) và thêm lutris:rungameid/numerical-id.\n" +"Để cài đặt trò chơi, hãy thêm lutris:install/game-identifier." + +#: lutris/gui/application.py:133 +msgid "Print the version of Lutris and exit" +msgstr "In phiên bản Lutris và thoát" + +#: lutris/gui/application.py:141 +msgid "Show debug messages" +msgstr "Hiển thị thông báo gỡ lỗi" + +#: lutris/gui/application.py:149 +msgid "Install a game from a yml file" +msgstr "Cài đặt trò chơi từ tệp yml" + +#: lutris/gui/application.py:157 +msgid "Force updates" +msgstr "Buộc cập nhật" + +#: lutris/gui/application.py:165 +msgid "Generate a bash script to run a game without the client" +msgstr "Tạo tập lệnh bash để chạy trò chơi mà không cần ứng dụng khách" + +#: lutris/gui/application.py:173 +msgid "Execute a program with the Lutris Runtime" +msgstr "Thực thi chương trình với Lutris Runtime" + +#: lutris/gui/application.py:181 +msgid "List all games in database" +msgstr "Liệt kê tất cả các trò chơi trong cơ sở dữ liệu" + +#: lutris/gui/application.py:189 +msgid "Only list installed games" +msgstr "Chỉ liệt kê các trò chơi đã cài đặt" + +#: lutris/gui/application.py:197 +msgid "List available Steam games" +msgstr "Danh sách các trò chơi Steam hiện có" + +#: lutris/gui/application.py:205 +msgid "List all known Steam library folders" +msgstr "Liệt kê tất cả các thư mục thư viện Steam đã biết" + +#: lutris/gui/application.py:213 +msgid "List all known runners" +msgstr "Liệt kê tất cả các runner đã biết" + +#: lutris/gui/application.py:221 +msgid "List all known Wine versions" +msgstr "Liệt kê tất cả các phiên bản Wine đã biết" + +#: lutris/gui/application.py:229 +msgid "List all games for all services in database" +msgstr "Liệt kê tất cả các trò chơi cho tất cả các dịch vụ trong cơ sở dữ liệu" + +#: lutris/gui/application.py:237 +msgid "List all games for provided service in database" +msgstr "Liệt kê tất cả các trò chơi cho dịch vụ được cung cấp trong cơ sở dữ liệu" + +#: lutris/gui/application.py:245 +msgid "Install a Runner" +msgstr "Cài đặt một runner" + +#: lutris/gui/application.py:253 +msgid "Uninstall a Runner" +msgstr "Gỡ cài đặt runner" + +#: lutris/gui/application.py:261 +msgid "Export a game" +msgstr "Xuất trò chơi" + +#: lutris/gui/application.py:269 lutris/gui/dialogs/game_import.py:23 +msgid "Import a game" +msgstr "Nhập trò chơi" + +#: lutris/gui/application.py:278 +msgid "Show statistics about a game saves" +msgstr "Hiển thị số liệu thống kê về lượt lưu trò chơi" + +#: lutris/gui/application.py:286 +msgid "Upload saves" +msgstr "Tải lên lưu" + +#: lutris/gui/application.py:294 +msgid "Verify status of save syncing" +msgstr "Xác minh trạng thái lưu đồng bộ hóa" + +#: lutris/gui/application.py:303 +msgid "Destination path for export" +msgstr "Đường dẫn đích để xuất" + +#: lutris/gui/application.py:311 +msgid "Display the list of games in JSON format" +msgstr "Hiển thị danh sách trò chơi ở định dạng JSON" + +#: lutris/gui/application.py:319 +msgid "Reinstall game" +msgstr "Cài đặt lại trò chơi" + +#: lutris/gui/application.py:322 +msgid "Submit an issue" +msgstr "Gửi một vấn đề" + +#: lutris/gui/application.py:328 +msgid "URI to open" +msgstr "URI để mở" + +#: lutris/gui/application.py:413 +msgid "No installer available." +msgstr "Không có trình cài đặt có sẵn." + +#: lutris/gui/application.py:628 +#, python-format +msgid "%s is not a valid URI" +msgstr "%s không phải là URI hợp lệ" + +#: lutris/gui/application.py:651 +#, python-format +msgid "Failed to download %s" +msgstr "Không tải xuống được %s" + +#: lutris/gui/application.py:660 +#, python-brace-format +msgid "download {url} to {file} started" +msgstr "đã bắt đầu tải xuống {url} về {file}" + +#: lutris/gui/application.py:671 +#, python-format +msgid "No such file: %s" +msgstr "Không có tập tin như vậy: %s" + +#: lutris/gui/config/accounts_box.py:39 +msgid "Sync Again" +msgstr "Đồng bộ hóa lại" + +#: lutris/gui/config/accounts_box.py:49 +msgid "Steam accounts" +msgstr "Tài khoản Steam" + +#: lutris/gui/config/accounts_box.py:52 +msgid "Select which Steam account is used for Lutris integration and creating Steam shortcuts." +msgstr "Chọn tài khoản Steam nào được sử dụng để tích hợp Lutris và tạo lối tắt Steam." + +#: lutris/gui/config/accounts_box.py:89 +#, python-format +msgid "Connected as %s" +msgstr "Đã kết nối dưới dạng %s" + +#: lutris/gui/config/accounts_box.py:91 +msgid "Not connected" +msgstr "Không được kết nối" + +#: lutris/gui/config/accounts_box.py:96 +msgid "Logout" +msgstr "Đăng xuất" + +#: lutris/gui/config/accounts_box.py:99 +msgid "Login" +msgstr "Đăng nhập" + +#: lutris/gui/config/accounts_box.py:112 +msgid "Keep your game library synced with Lutris.net" +msgstr "Luôn đồng bộ hóa thư viện trò chơi của bạn với Lutris.net" + +#: lutris/gui/config/accounts_box.py:125 +msgid "" +"This will send play time, last played, runner, platform \n" +"and store information to the lutris website so you can \n" +"sync this data on multiple devices" +msgstr "" +"Điều này sẽ gửi thời gian chơi, lần chơi cuối cùng, runner, nền tảng \n" +"và lưu trữ thông tin vào trang web lutris để bạn có thể \n" +"đồng bộ hóa dữ liệu này trên nhiều thiết bị" + +#: lutris/gui/config/accounts_box.py:153 +msgid "No Steam account found" +msgstr "Không tìm thấy tài khoản Steam" + +#: lutris/gui/config/accounts_box.py:180 +msgid "Syncing library..." +msgstr "Đang đồng bộ hóa thư viện..." + +#: lutris/gui/config/accounts_box.py:189 +#, python-format +msgid "Last synced %s." +msgstr "Được đồng bộ hóa lần cuối %s." + +#: lutris/gui/config/accounts_box.py:201 +msgid "Synchronize library?" +msgstr "Đồng bộ hóa thư viện?" + +#: lutris/gui/config/accounts_box.py:202 +msgid "Enable library sync and run a full sync with lutris.net?" +msgstr "Bật đồng bộ hóa thư viện và chạy đồng bộ hóa hoàn toàn với lutris.net?" + +#: lutris/gui/config/add_game_dialog.py:11 +msgid "Add a new game" +msgstr "Thêm một trò chơi mới" + +#: lutris/gui/config/boxes.py:211 +msgid "If modified, these options supersede the same options from the base runner configuration." +msgstr "Nếu được sửa đổi, các tùy chọn này sẽ thay thế các tùy chọn tương tự từ cấu hình trình chạy cơ sở." + +#: lutris/gui/config/boxes.py:237 +msgid "If modified, these options supersede the same options from the base runner configuration, which themselves supersede the global preferences." +msgstr "Nếu được sửa đổi, các tùy chọn này sẽ thay thế các tùy chọn tương tự từ cấu hình chạy cơ sở, bản thân các tùy chọn này sẽ thay thế các tùy chọn chung." + +#: lutris/gui/config/boxes.py:244 +msgid "If modified, these options supersede the same options from the global preferences." +msgstr "Nếu được sửa đổi, các tùy chọn này sẽ thay thế các tùy chọn tương tự từ tùy chọn chung." + +#: lutris/gui/config/boxes.py:293 +msgid "Reset option to global or default config" +msgstr "Đặt lại tùy chọn về cấu hình chung hoặc mặc định" + +#: lutris/gui/config/boxes.py:323 +msgid "(Italic indicates that this option is modified in a lower configuration level.)" +msgstr "(Chữ nghiêng cho biết rằng tùy chọn này được sửa đổi ở cấp cấu hình thấp hơn.)" + +#: lutris/gui/config/boxes.py:336 +#, python-format +msgid "No options match '%s'" +msgstr "Không có tùy chọn nào khớp với '%s'" + +#. type:ignore[attr-defined] +#: lutris/gui/config/boxes.py:338 +msgid "Only advanced options available" +msgstr "Chỉ có các tùy chọn nâng cao" + +#: lutris/gui/config/boxes.py:340 +msgid "No options available" +msgstr "Không có tùy chọn nào" + +#: lutris/gui/config/edit_category_games.py:18 lutris/gui/config/edit_game.py:10 lutris/gui/config/edit_saved_search.py:315 lutris/gui/config/runner.py:18 +#, python-format +msgid "Configure %s" +msgstr "Định cấu hình %s" + +#: lutris/gui/config/edit_category_games.py:69 +#, python-format +msgid "Do you want to delete the category '%s'?" +msgstr "Bạn có muốn xóa danh mục '%s' không?" + +#: lutris/gui/config/edit_category_games.py:71 +msgid "This will permanently destroy the category, but the games themselves will not be deleted." +msgstr "Điều này sẽ phá hủy vĩnh viễn danh mục này nhưng bản thân các trò chơi sẽ không bị xóa." + +#: lutris/gui/config/edit_category_games.py:113 +#, python-format +msgid "'%s' is a reserved category name." +msgstr "'%s' là tên danh mục dành riêng." + +#: lutris/gui/config/edit_category_games.py:118 +#, python-format +msgid "Merge the category '%s' into '%s'?" +msgstr "Hợp nhất danh mục '%s' thành '%s'?" + +#: lutris/gui/config/edit_category_games.py:120 +#, python-format +msgid "If you rename this category, it will be combined with '%s'. Do you want to merge them?" +msgstr "Nếu bạn đổi tên danh mục này, nó sẽ được kết hợp với '%s'. Bạn có muốn hợp nhất chúng?" + +#: lutris/gui/config/edit_game_categories.py:78 +#, python-format +msgid "%d games" +msgstr "%d trò chơi" + +#: lutris/gui/config/edit_game_categories.py:117 +msgid "Add Category" +msgstr "Thêm danh mục" + +#: lutris/gui/config/edit_game_categories.py:119 +msgid "Adds the category to the list." +msgstr "Thêm danh mục vào danh sách." + +#: lutris/gui/config/edit_game_categories.py:154 +msgid "You are updating the categories on 1 game. Are you sure you want to change it?" +msgstr "Bạn đang cập nhật danh mục trên 1 trò chơi. Bạn có chắc chắn muốn thay đổi nó không?" + +#: lutris/gui/config/edit_game_categories.py:157 +#, python-format +msgid "You are updating the categories on %d games. Are you sure you want to change them?" +msgstr "Bạn đang cập nhật các danh mục trên trò chơi %d. Bạn có chắc chắn muốn thay đổi chúng không?" + +#: lutris/gui/config/edit_game_categories.py:163 +msgid "Changing Categories" +msgstr "Thay đổi danh mục" + +#: lutris/gui/config/edit_saved_search.py:19 +msgid "New Saved Search" +msgstr "Tìm kiếm đã lưu mới" + +#: lutris/gui/config/edit_saved_search.py:53 +msgid "Search" +msgstr "Tìm kiếm" + +#: lutris/gui/config/edit_saved_search.py:130 +msgid "Installed" +msgstr "Đã cài đặt" + +#: lutris/gui/config/edit_saved_search.py:131 +msgid "Favorite" +msgstr "Yêu thích" + +#: lutris/gui/config/edit_saved_search.py:132 lutris/gui/widgets/sidebar.py:493 +msgid "Hidden" +msgstr "Ẩn giấu" + +#: lutris/gui/config/edit_saved_search.py:133 +msgid "Categorized" +msgstr "Phân loại" + +#: lutris/gui/config/edit_saved_search.py:170 lutris/gui/config/edit_saved_search.py:223 +msgid "-" +msgstr "-" + +#: lutris/gui/config/edit_saved_search.py:171 +msgid "Yes" +msgstr "Đúng" + +#: lutris/gui/config/edit_saved_search.py:172 +msgid "No" +msgstr "KHÔNG" + +#: lutris/gui/config/edit_saved_search.py:184 +msgid "Source" +msgstr "Nguồn" + +#: lutris/gui/config/edit_saved_search.py:191 lutris/gui/config/game_common.py:275 lutris/gui/views/list.py:66 +msgid "Runner" +msgstr "Runner" + +#: lutris/gui/config/edit_saved_search.py:198 lutris/gui/views/list.py:67 lutris/runners/dolphin.py:34 lutris/runners/scummvm.py:259 +msgid "Platform" +msgstr "Nền tảng" + +#: lutris/gui/config/edit_saved_search.py:292 +#, python-format +msgid "'%s' is already a saved search." +msgstr "'%s' đã là tìm kiếm được lưu." + +#: lutris/gui/config/edit_saved_search.py:336 +#, python-format +msgid "Do you want to delete the saved search '%s'?" +msgstr "Bạn có muốn xóa tìm kiếm đã lưu '%s' không?" + +#: lutris/gui/config/edit_saved_search.py:338 +msgid "This will permanently destroy the saved search, but the games themselves will not be deleted." +msgstr "Điều này sẽ hủy vĩnh viễn tìm kiếm đã lưu nhưng bản thân trò chơi sẽ không bị xóa." + +#: lutris/gui/config/game_common.py:35 +msgid "Select a runner in the Game Info tab" +msgstr "Chọn runner trong tab Thông tin trò chơi" + +#: lutris/gui/config/game_common.py:143 lutris/gui/config/runner.py:27 +#, python-format +msgid "Search %s options" +msgstr "Tùy chọn tìm kiếm %s" + +#: lutris/gui/config/game_common.py:145 lutris/gui/config/game_common.py:504 +msgid "Search options" +msgstr "Tùy chọn tìm kiếm" + +#: lutris/gui/config/game_common.py:172 +msgid "Game info" +msgstr "Thông tin trò chơi" + +#: lutris/gui/config/game_common.py:187 +msgid "Sort name" +msgstr "Sắp xếp tên" + +#: lutris/gui/config/game_common.py:203 +#, python-format +msgid "" +"Identifier\n" +"(Internal ID: %s)" +msgstr "" +"Mã định danh\n" +"(ID nội bộ: %s)" + +#: lutris/gui/config/game_common.py:212 lutris/gui/config/game_common.py:403 +msgid "Change" +msgstr "Thay đổi" + +#: lutris/gui/config/game_common.py:223 +msgid "Directory" +msgstr "Thư mục" + +#: lutris/gui/config/game_common.py:229 +msgid "Move" +msgstr "Di chuyển" + +#: lutris/gui/config/game_common.py:249 +msgid "The default launch option will be used for this game" +msgstr "Tùy chọn khởi chạy mặc định sẽ được sử dụng cho trò chơi này" + +#: lutris/gui/config/game_common.py:251 +#, python-format +msgid "The '%s' launch option will be used for this game" +msgstr "Tùy chọn khởi chạy '%s' sẽ được sử dụng cho trò chơi này" + +#: lutris/gui/config/game_common.py:258 +msgid "Reset" +msgstr "Cài lại" + +#: lutris/gui/config/game_common.py:289 +msgid "Set custom cover art" +msgstr "Đặt ảnh bìa tùy chỉnh" + +#: lutris/gui/config/game_common.py:289 +msgid "Remove custom cover art" +msgstr "Xóa ảnh bìa tùy chỉnh" + +#: lutris/gui/config/game_common.py:290 +msgid "Set custom banner" +msgstr "Đặt banner tùy chỉnh" + +#: lutris/gui/config/game_common.py:290 +msgid "Remove custom banner" +msgstr "Xóa banner tùy chỉnh" + +#: lutris/gui/config/game_common.py:291 +msgid "Set custom icon" +msgstr "Đặt biểu tượng tùy chỉnh" + +#: lutris/gui/config/game_common.py:291 +msgid "Remove custom icon" +msgstr "Xóa biểu tượng tùy chỉnh" + +#: lutris/gui/config/game_common.py:324 +msgid "Release year" +msgstr "Năm phát hành" + +#: lutris/gui/config/game_common.py:337 +msgid "Playtime" +msgstr "Giờ chơi" + +#: lutris/gui/config/game_common.py:383 +msgid "Select a runner from the list" +msgstr "Chọn một runner từ danh sách" + +#: lutris/gui/config/game_common.py:391 +msgid "Apply" +msgstr "Áp dụng" + +#: lutris/gui/config/game_common.py:446 lutris/gui/config/game_common.py:455 lutris/gui/config/game_common.py:461 +msgid "Game options" +msgstr "Tùy chọn trò chơi" + +#: lutris/gui/config/game_common.py:466 lutris/gui/config/game_common.py:469 +msgid "Runner options" +msgstr "Tùy chọn runner" + +#: lutris/gui/config/game_common.py:473 +msgid "System options" +msgstr "Tùy chọn hệ thống" + +#: lutris/gui/config/game_common.py:510 +msgid "Show advanced options" +msgstr "Hiển thị tùy chọn nâng cao" + +#: lutris/gui/config/game_common.py:512 +msgid "Advanced" +msgstr "Trình độ cao" + +#: lutris/gui/config/game_common.py:566 +msgid "Are you sure you want to change the runner for this game ? This will reset the full configuration for this game and is not reversible." +msgstr "Bạn có chắc chắn muốn thay đổi runner cho trò chơi này không? Thao tác này sẽ đặt lại cấu hình đầy đủ cho trò chơi này và không thể đảo ngược." + +#: lutris/gui/config/game_common.py:570 +msgid "Confirm runner change" +msgstr "Xác nhận thay đổi runner" + +#: lutris/gui/config/game_common.py:622 +msgid "Runner not provided" +msgstr "Runner không được cung cấp" + +#: lutris/gui/config/game_common.py:625 +msgid "Please fill in the name" +msgstr "Vui lòng điền tên" + +#: lutris/gui/config/game_common.py:628 +msgid "Steam AppID not provided" +msgstr "Steam AppID không được cung cấp" + +#: lutris/gui/config/game_common.py:654 +msgid "The following fields have invalid values: " +msgstr "Các trường sau có giá trị không hợp lệ: " + +#: lutris/gui/config/game_common.py:661 +msgid "Current configuration is not valid, ignoring save request" +msgstr "Cấu hình hiện tại không hợp lệ, bỏ qua yêu cầu lưu" + +#: lutris/gui/config/game_common.py:705 +msgid "Please choose a custom image" +msgstr "Vui lòng chọn một hình ảnh tùy chỉnh" + +#: lutris/gui/config/game_common.py:713 +msgid "Images" +msgstr "Hình ảnh" + +#: lutris/gui/config/preferences_box.py:22 +msgid "Minimize client when a game is launched" +msgstr "Giảm thiểu ứng dụng khách khi trò chơi được khởi chạy" + +#: lutris/gui/config/preferences_box.py:24 +msgid "Minimize the Lutris window while playing a game; it will return when the game exits." +msgstr "Thu nhỏ cửa sổ Lutris khi chơi trò chơi; nó sẽ quay trở lại khi trò chơi kết thúc." + +#: lutris/gui/config/preferences_box.py:28 +msgid "Hide text under icons" +msgstr "Ẩn văn bản dưới biểu tượng" + +#: lutris/gui/config/preferences_box.py:30 +msgid "Removes the names from the Lutris window when in grid view, but not list view." +msgstr "Xóa tên khỏi cửa sổ Lutris khi ở chế độ xem lưới, nhưng không xóa tên khỏi chế độ xem danh sách." + +#: lutris/gui/config/preferences_box.py:34 +msgid "Hide badges on icons (Ctrl+p to toggle)" +msgstr "Ẩn huy hiệu trên biểu tượng (Ctrl+p để chuyển đổi)" + +#: lutris/gui/config/preferences_box.py:37 +msgid "Removes the platform and missing-game badges from icons in the Lutris window." +msgstr "Xóa nền tảng và huy hiệu trò chơi bị thiếu khỏi các biểu tượng trong cửa sổ Lutris." + +#: lutris/gui/config/preferences_box.py:41 +msgid "Show Tray Icon" +msgstr "Hiển thị biểu tượng khay" + +#: lutris/gui/config/preferences_box.py:45 +msgid "Adds a Lutris icon to the tray, and prevents Lutris from exiting when the Lutris window is closed. You can still exit using the menu of the tray icon." +msgstr "Thêm biểu tượng Lutris vào khay và ngăn Lutris thoát ra khi cửa sổ Lutris đóng. Bạn vẫn có thể thoát bằng menu của biểu tượng khay." + +#: lutris/gui/config/preferences_box.py:51 +msgid "Enable Discord Rich Presence for Available Games" +msgstr "Kích hoạt sự hiện diện phong phú của Discord cho các trò chơi có sẵn" + +#: lutris/gui/config/preferences_box.py:57 +msgid "Theme" +msgstr "Chủ đề" + +#: lutris/gui/config/preferences_box.py:59 +msgid "System Default" +msgstr "Mặc định hệ thống" + +#: lutris/gui/config/preferences_box.py:60 +msgid "Light" +msgstr "Ánh sáng" + +#: lutris/gui/config/preferences_box.py:61 +msgid "Dark" +msgstr "Tối tăm" + +#: lutris/gui/config/preferences_box.py:64 +msgid "Overrides Lutris's appearance to be light or dark." +msgstr "Ghi đè vẻ ngoài của Lutris thành sáng hay tối." + +#: lutris/gui/config/preferences_box.py:72 +msgid "Interface options" +msgstr "Tùy chọn giao diện" + +#: lutris/gui/config/preferences_dialog.py:23 +msgid "Lutris settings" +msgstr "Cài đặt Lutris" + +#: lutris/gui/config/preferences_dialog.py:35 +msgid "Interface" +msgstr "Giao diện" + +#: lutris/gui/config/preferences_dialog.py:36 lutris/gui/widgets/sidebar.py:403 +msgid "Runners" +msgstr "Runners" + +#: lutris/gui/config/preferences_dialog.py:37 lutris/gui/widgets/sidebar.py:402 +msgid "Sources" +msgstr "Nguồn" + +#: lutris/gui/config/preferences_dialog.py:38 +msgid "Accounts" +msgstr "Tài khoản" + +#: lutris/gui/config/preferences_dialog.py:39 +msgid "Updates" +msgstr "Cập nhật" + +#: lutris/gui/config/preferences_dialog.py:40 lutris/sysoptions.py:28 +msgid "System" +msgstr "Hệ thống" + +#: lutris/gui/config/preferences_dialog.py:41 +msgid "Storage" +msgstr "Kho" + +#: lutris/gui/config/preferences_dialog.py:42 +msgid "Global options" +msgstr "Tùy chọn toàn cầu" + +#: lutris/gui/config/preferences_dialog.py:111 +msgid "Search global options" +msgstr "Tìm kiếm tùy chọn toàn cầu" + +#: lutris/gui/config/runner_box.py:89 lutris/gui/widgets/sidebar.py:254 +#, python-format +msgid "Manage %s versions" +msgstr "Quản lý các phiên bản %s" + +#: lutris/gui/config/runner_box.py:109 +#, python-format +msgid "Do you want to uninstall %s?" +msgstr "Bạn có muốn gỡ cài đặt %s không?" + +#: lutris/gui/config/runner_box.py:110 +#, python-format +msgid "This will remove %s and all associated data." +msgstr "Thao tác này sẽ xóa %s và tất cả dữ liệu liên quan." + +#: lutris/gui/config/runners_box.py:22 +msgid "Add, remove or configure runners" +msgstr "Thêm, xóa hoặc định cấu hình runner" + +#: lutris/gui/config/runners_box.py:25 +msgid "Runners are programs such as emulators, engines or translation layers capable of running games." +msgstr "Runners là các chương trình như trình giả lập, công cụ hoặc lớp dịch thuật có khả năng chạy trò chơi." + +#: lutris/gui/config/runners_box.py:28 +msgid "No runners matched the search" +msgstr "Không có runner nào phù hợp với tìm kiếm" + +#. pretty sure there will always be many runners, so assume plural +#: lutris/gui/config/runners_box.py:47 +#, python-format +msgid "Search %s runners" +msgstr "Tìm kiếm runner %s" + +#: lutris/gui/config/services_box.py:18 +msgid "Enable integrations with game sources" +msgstr "Cho phép tích hợp với các nguồn trò chơi" + +#: lutris/gui/config/services_box.py:21 +msgid "Access your game libraries from various sources. Changes require a restart to take effect." +msgstr "Truy cập thư viện trò chơi của bạn từ nhiều nguồn khác nhau. Những thay đổi yêu cầu khởi động lại để có hiệu lực." + +#: lutris/gui/config/storage_box.py:24 +msgid "Paths" +msgstr "Đường dẫn" + +#: lutris/gui/config/storage_box.py:36 +msgid "Game library" +msgstr "Thư viện trò chơi" + +#: lutris/gui/config/storage_box.py:40 lutris/sysoptions.py:87 +msgid "The default folder where you install your games." +msgstr "Thư mục mặc định nơi bạn cài đặt trò chơi của mình." + +#: lutris/gui/config/storage_box.py:43 +msgid "Installer cache" +msgstr "Bộ nhớ đệm của trình cài đặt" + +#: lutris/gui/config/storage_box.py:48 +msgid "" +"If provided, files downloaded during game installs will be kept there\n" +"\n" +"Otherwise, all downloaded files are discarded." +msgstr "" +"Nếu được cung cấp, các tệp được tải xuống trong quá trình cài đặt trò chơi sẽ được lưu giữ ở đó\n" +"\n" +"Nếu không, tất cả các tệp đã tải xuống sẽ bị loại bỏ." + +#: lutris/gui/config/storage_box.py:53 +msgid "Emulator BIOS files location" +msgstr "Vị trí tệp BIOS giả lập" + +#: lutris/gui/config/storage_box.py:57 +msgid "The folder Lutris will search in for emulator BIOS files if needed" +msgstr "Thư mục Lutris sẽ tìm kiếm các tập tin BIOS giả lập nếu cần" + +#: lutris/gui/config/storage_box.py:119 +#, python-format +msgid "Folder is too large (%s)" +msgstr "Thư mục quá lớn (%s)" + +#: lutris/gui/config/storage_box.py:121 +msgid "Too many files in folder" +msgstr "Quá nhiều tập tin trong thư mục" + +#: lutris/gui/config/storage_box.py:123 +msgid "Folder is too deep" +msgstr "Thư mục quá sâu" + +#: lutris/gui/config/sysinfo_box.py:18 +msgid "Vulkan support" +msgstr "Hỗ trợ Vulkan" + +#: lutris/gui/config/sysinfo_box.py:22 +msgid "Esync support" +msgstr "Hỗ trợ đồng bộ hóa" + +#: lutris/gui/config/sysinfo_box.py:26 +msgid "Fsync support" +msgstr "Hỗ trợ Fsync" + +#: lutris/gui/config/sysinfo_box.py:30 +msgid "Wine installed" +msgstr "Đã cài đặt Wine" + +#: lutris/gui/config/sysinfo_box.py:33 lutris/sysoptions.py:206 lutris/sysoptions.py:215 lutris/sysoptions.py:226 lutris/sysoptions.py:241 lutris/sysoptions.py:257 lutris/sysoptions.py:267 lutris/sysoptions.py:282 lutris/sysoptions.py:294 lutris/sysoptions.py:304 +msgid "Gamescope" +msgstr "Gamescope" + +#: lutris/gui/config/sysinfo_box.py:34 +msgid "Mangohud" +msgstr "Mangohud" + +#: lutris/gui/config/sysinfo_box.py:35 +msgid "Gamemode" +msgstr "Gamemode" + +#: lutris/gui/config/sysinfo_box.py:36 lutris/gui/installer/file_box.py:100 lutris/runners/steam.py:30 lutris/services/steam.py:74 +msgid "Steam" +msgstr "Steam" + +#: lutris/gui/config/sysinfo_box.py:37 +msgid "In Flatpak" +msgstr "Ở Flatpak" + +#: lutris/gui/config/sysinfo_box.py:42 +msgid "System information" +msgstr "Thông tin hệ thống" + +#: lutris/gui/config/sysinfo_box.py:51 +msgid "Copy system info to Clipboard" +msgstr "Sao chép thông tin hệ thống vào Clipboard" + +#: lutris/gui/config/sysinfo_box.py:56 +msgid "Lutris logs" +msgstr "Nhật ký Lutris" + +#: lutris/gui/config/sysinfo_box.py:65 +msgid "Copy logs to Clipboard" +msgstr "Sao chép nhật ký vào Clipboard" + +#: lutris/gui/config/sysinfo_box.py:133 +msgid "YES" +msgstr "YES" + +#: lutris/gui/config/sysinfo_box.py:134 +msgid "NO" +msgstr "NO" + +#: lutris/gui/config/updates_box.py:20 +msgid "Runtime updates" +msgstr "Cập nhật runtime" + +#: lutris/gui/config/updates_box.py:21 +msgid "Runtime components include DXVK, VKD3D and Winetricks." +msgstr "Các thành phần runtime bao gồm DXVK, VKD3D và Winetricks." + +#: lutris/gui/config/updates_box.py:22 +msgid "Check for Updates" +msgstr "Kiểm tra cập nhật" + +#: lutris/gui/config/updates_box.py:26 +msgid "Automatically Update the Lutris runtime" +msgstr "Tự động cập nhật runtime Lutris" + +#: lutris/gui/config/updates_box.py:31 +msgid "Media updates" +msgstr "Cập nhật phương tiện truyền thông" + +#: lutris/gui/config/updates_box.py:32 +msgid "Download Missing Media" +msgstr "Tải xuống phương tiện bị thiếu" + +#: lutris/gui/config/updates_box.py:56 +msgid "Checking for missing media..." +msgstr "Đang kiểm tra phương tiện bị thiếu..." + +#: lutris/gui/config/updates_box.py:63 +msgid "Nothing to update" +msgstr "Không có gì để cập nhật" + +#: lutris/gui/config/updates_box.py:65 +msgid "Updated: " +msgstr "Đã cập nhật: " + +#: lutris/gui/config/updates_box.py:67 +msgid "banner" +msgstr "banner" + +#: lutris/gui/config/updates_box.py:68 +msgid "icon" +msgstr "icon" + +#: lutris/gui/config/updates_box.py:69 +msgid "cover" +msgstr "che phủ" + +#: lutris/gui/config/updates_box.py:70 +msgid "banners" +msgstr "banner" + +#: lutris/gui/config/updates_box.py:71 +msgid "icons" +msgstr "biểu tượng" + +#: lutris/gui/config/updates_box.py:72 +msgid "covers" +msgstr "bao gồm" + +#: lutris/gui/config/updates_box.py:81 +msgid "No new media found." +msgstr "Không tìm thấy phương tiện truyền thông mới." + +#: lutris/gui/config/updates_box.py:110 +#, python-format +msgid "%s has been updated." +msgstr "%s đã được cập nhật." + +#: lutris/gui/config/updates_box.py:112 +#, python-format +msgid "%s have been updated." +msgstr "%s đã được cập nhật." + +#: lutris/gui/config/updates_box.py:119 +msgid "Checking for updates..." +msgstr "Đang kiểm tra cập nhật..." + +#: lutris/gui/config/updates_box.py:121 +msgid "Updates are already being downloaded and installed." +msgstr "Các bản cập nhật đã được tải xuống và cài đặt." + +#: lutris/gui/config/updates_box.py:123 +msgid "No updates are required at this time." +msgstr "Không có cập nhật được yêu cầu tại thời điểm này." + +#: lutris/gui/config/widget_generator.py:215 +msgid "Default: " +msgstr "Mặc định: " + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/wine.py:560 +msgid "Enabled" +msgstr "Đã bật" + +#: lutris/gui/config/widget_generator.py:377 lutris/runners/easyrpg.py:371 lutris/runners/mednafen.py:78 lutris/runners/wine.py:559 +msgid "Disabled" +msgstr "Tàn tật" + +#: lutris/gui/config/widget_generator.py:424 +#, python-format +msgid "%s (default)" +msgstr "%s (mặc định)" + +#: lutris/gui/config/widget_generator.py:488 +#, python-format +msgid "The setting '%s' is no longer available. You should select another choice." +msgstr "Cài đặt '%s' không còn khả dụng. Bạn nên chọn một lựa chọn khác." + +#: lutris/gui/config/widget_generator.py:534 lutris/gui/widgets/common.py:52 +msgid "Select file" +msgstr "Chọn tập tin" + +#: lutris/gui/config/widget_generator.py:567 +msgid "Select files" +msgstr "Chọn tập tin" + +#: lutris/gui/config/widget_generator.py:570 +msgid "_Add" +msgstr "_Thêm vào" + +#: lutris/gui/config/widget_generator.py:571 lutris/gui/dialogs/__init__.py:446 lutris/gui/dialogs/__init__.py:472 lutris/gui/dialogs/issue.py:74 lutris/gui/widgets/common.py:170 lutris/gui/widgets/download_collection_progress_box.py:56 lutris/gui/widgets/download_progress_box.py:64 +msgid "_Cancel" +msgstr "_Hủy bỏ" + +#: lutris/gui/config/widget_generator.py:606 +msgid "Add Files" +msgstr "Thêm tập tin" + +#: lutris/gui/config/widget_generator.py:626 +msgid "Files" +msgstr "Tập tin" + +#: lutris/gui/dialogs/cache.py:12 +msgid "Download cache configuration" +msgstr "Tải xuống cấu hình bộ đệm" + +#: lutris/gui/dialogs/cache.py:35 +msgid "Cache path" +msgstr "Đường dẫn bộ đệm" + +#: lutris/gui/dialogs/cache.py:38 +msgid "Set the folder for the cache path" +msgstr "Đặt thư mục cho đường dẫn bộ đệm" + +#: lutris/gui/dialogs/cache.py:52 +msgid "" +"If provided, this location will be used by installers to cache downloaded files locally for future re-use. \n" +"If left empty, the installer files are discarded after the install completion." +msgstr "" +"Nếu được cung cấp, vị trí này sẽ được người cài đặt sử dụng để lưu trữ cục bộ các tệp đã tải xuống để sử dụng lại trong tương lai. \n" +"Nếu để trống, các tập tin cài đặt sẽ bị loại bỏ sau khi cài đặt hoàn tất." + +#: lutris/gui/dialogs/delegates.py:41 +#, python-format +msgid "The required runner '%s' is not installed." +msgstr "Trình chạy bắt buộc '%s' chưa được cài đặt." + +#: lutris/gui/dialogs/delegates.py:207 +msgid "Select game to launch" +msgstr "Chọn trò chơi để khởi chạy" + +#: lutris/gui/dialogs/download.py:14 +msgid "Downloading file" +msgstr "Đang tải xuống tập tin" + +#: lutris/gui/dialogs/download.py:17 lutris/runtime.py:128 +#, python-format +msgid "Downloading %s" +msgstr "Đang tải xuống %s" + +#: lutris/gui/dialogs/game_import.py:96 +msgid "Launch" +msgstr "Viceng" + +#: lutris/gui/dialogs/game_import.py:129 +msgid "Calculating checksum..." +msgstr "Đang tính tổng kiểm tra..." + +#: lutris/gui/dialogs/game_import.py:138 +msgid "Looking up checksum on Lutris.net..." +msgstr "Tra cứu tổng kiểm tra trên Lutris.net..." + +#: lutris/gui/dialogs/game_import.py:141 +msgid "This ROM could not be identified." +msgstr "ROM này không thể được xác định." + +#: lutris/gui/dialogs/game_import.py:150 +msgid "Looking for installed game..." +msgstr "Đang tìm kiếm trò chơi đã cài đặt..." + +#: lutris/gui/dialogs/game_import.py:199 +#, python-format +msgid "Failed to import a ROM: %s" +msgstr "Không thể nhập ROM: %s" + +#: lutris/gui/dialogs/game_import.py:220 +msgid "Game already installed in Lutris" +msgstr "Trò chơi đã được cài đặt trong Lutris" + +#: lutris/gui/dialogs/game_import.py:242 +#, python-format +msgid "The platform '%s' is unknown to Lutris." +msgstr "Lutris chưa biết đến nền tảng '%s'." + +#: lutris/gui/dialogs/game_import.py:252 +#, python-format +msgid "Lutris does not have a default installer for the '%s' platform." +msgstr "Lutris không có trình cài đặt mặc định cho nền tảng '%s'." + +#: lutris/gui/dialogs/__init__.py:175 +msgid "Save" +msgstr "Cứu" + +#: lutris/gui/dialogs/__init__.py:303 +msgid "Lutris has encountered an error" +msgstr "Lutris đã gặp lỗi" + +#: lutris/gui/dialogs/__init__.py:331 lutris/gui/installerwindow.py:962 +msgid "Copy Details to Clipboard" +msgstr "Sao chép chi tiết vào Clipboard" + +#: lutris/gui/dialogs/__init__.py:351 +msgid "" +"You can get support from GitHub or Discord. Make sure to provide the error details;\n" +"use the 'Copy Details to Clipboard' button to get them." +msgstr "" +"Bạn có thể nhận hỗ trợ từ GitHub hoặc Discord. Đảm bảo cung cấp chi tiết lỗi;\n" +"sử dụng nút 'Sao chép chi tiết vào Clipboard' để lấy chúng." + +#: lutris/gui/dialogs/__init__.py:360 +msgid "Error details" +msgstr "Chi tiết lỗi" + +#: lutris/gui/dialogs/__init__.py:445 lutris/gui/dialogs/__init__.py:471 lutris/gui/dialogs/issue.py:73 lutris/gui/widgets/common.py:170 +msgid "_OK" +msgstr "_ĐƯỢC RỒI" + +#: lutris/gui/dialogs/__init__.py:462 +msgid "Please choose a file" +msgstr "Vui lòng chọn một tập tin" + +#: lutris/gui/dialogs/__init__.py:486 +#, python-format +msgid "%s is already installed" +msgstr "%s đã được cài đặt" + +#: lutris/gui/dialogs/__init__.py:496 +msgid "Launch game" +msgstr "Khởi động trò chơi" + +#: lutris/gui/dialogs/__init__.py:500 +msgid "Install the game again" +msgstr "Cài đặt lại trò chơi" + +#: lutris/gui/dialogs/__init__.py:539 +msgid "Do not ask again for this game." +msgstr "Đừng hỏi lại trò chơi này." + +#: lutris/gui/dialogs/__init__.py:594 +msgid "Login failed" +msgstr "Đăng nhập không thành công" + +#: lutris/gui/dialogs/__init__.py:604 +msgid "Install script for {}" +msgstr "Cài đặt tập lệnh cho {}" + +#: lutris/gui/dialogs/__init__.py:628 +msgid "Humble Bundle Cookie Authentication" +msgstr "Xác thực cookie gói khiêm tốn" + +#: lutris/gui/dialogs/__init__.py:640 +msgid "" +"Humble Bundle Authentication via cookie import\n" +"\n" +"In Firefox\n" +"- Install the following extension: https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/\n" +"- Open a tab to humblebundle.com and make sure you are logged in.\n" +"- Click the cookie icon in the top right corner, next to the settings menu\n" +"- Check 'Prefix HttpOnly cookies' and click 'humblebundle.com'\n" +"- Open the generated file and paste the contents below. Click OK to finish.\n" +"- You can delete the cookies file generated by Firefox\n" +"- Optionally, open a support ticket to ask Humble Bundle to fix their configuration." +msgstr "" +"Xác thực gói khiêm tốn thông qua nhập cookie\n" +"\n" +"Trong Firefox\n" +"- Cài đặt tiện ích mở rộng sau: https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/\n" +"- Mở tab tới humblebundle.com và đảm bảo bạn đã đăng nhập.\n" +"- Nhấp vào biểu tượng cookie ở góc trên bên phải, bên cạnh menu cài đặt\n" +"- Kiểm tra 'Cookie HttpOnly prefix' và nhấp vào 'humblebundle.com'\n" +"- Mở file đã tạo và dán nội dung bên dưới. Nhấn OK để hoàn tất.\n" +"- Bạn có thể xóa file cookie do Firefox tạo ra\n" +"- Tùy chọn mở phiếu hỗ trợ để yêu cầu Humble Bundle sửa cấu hình của họ." + +#: lutris/gui/dialogs/__init__.py:733 +#, python-format +msgid "The key '%s' could not be found." +msgstr "Không thể tìm thấy khóa '%s'." + +#: lutris/gui/dialogs/issue.py:24 +msgid "Submit an issue" +msgstr "Gửi vấn đề" + +#: lutris/gui/dialogs/issue.py:30 +msgid "Describe the problem you're having in the text box below. This information will be sent the Lutris team along with your system information. You can also save this information locally if you are offline." +msgstr "Mô tả sự cố bạn đang gặp phải trong hộp văn bản bên dưới. Thông tin này sẽ được gửi đến nhóm Lutris cùng với thông tin hệ thống của bạn. Bạn cũng có thể lưu thông tin này cục bộ nếu bạn ngoại tuyến." + +#: lutris/gui/dialogs/issue.py:54 +msgid "_Save" +msgstr "_Cứu" + +#: lutris/gui/dialogs/issue.py:70 +msgid "Select a location to save the issue" +msgstr "Chọn vị trí để lưu vấn đề" + +#: lutris/gui/dialogs/issue.py:90 +#, python-format +msgid "Issue saved in %s" +msgstr "Sự cố đã được lưu trong %s" + +#: lutris/gui/dialogs/log.py:23 +msgid "Log for {}" +msgstr "Đăng nhập {}" + +#: lutris/gui/dialogs/move_game.py:28 +#, python-format +msgid "Moving %s to %s..." +msgstr "Đang di chuyển %s tới %s..." + +#: lutris/gui/dialogs/move_game.py:57 +msgid "Do you want to change the game location anyway? No files can be moved, and the game configuration may need to be adjusted." +msgstr "Bạn có muốn thay đổi vị trí trò chơi không? Không thể di chuyển tệp nào và có thể cần phải điều chỉnh cấu hình trò chơi." + +#: lutris/gui/dialogs/runner_install.py:59 +#, python-format +msgid "Showing games using %s" +msgstr "Hiển thị trò chơi bằng %s" + +#: lutris/gui/dialogs/runner_install.py:115 +#, python-format +msgid "Waiting for response from %s" +msgstr "Đang chờ phản hồi từ %s" + +#: lutris/gui/dialogs/runner_install.py:176 +#, python-format +msgid "Unable to get runner versions: %s" +msgstr "Không thể tải phiên bản runner: %s" + +#: lutris/gui/dialogs/runner_install.py:182 +msgid "Unable to get runner versions from lutris.net" +msgstr "Không thể tải phiên bản chạy từ lutris.net" + +#: lutris/gui/dialogs/runner_install.py:189 +#, python-format +msgid "%s version management" +msgstr "%s quản lý phiên bản" + +#: lutris/gui/dialogs/runner_install.py:241 +#, python-format +msgid "View %d game" +msgid_plural "View %d games" +msgstr[0] "Xem %d trò chơi" + +#: lutris/gui/dialogs/runner_install.py:280 lutris/gui/dialogs/uninstall_dialog.py:223 +msgid "Uninstall" +msgstr "Gỡ cài đặt" + +#: lutris/gui/dialogs/runner_install.py:294 +msgid "Wine version usage" +msgstr "Sử dụng phiên bản Wine vang" + +#: lutris/gui/dialogs/runner_install.py:365 +#, python-format +msgid "Version %s is not longer available" +msgstr "Phiên bản %s không còn tồn tại" + +#: lutris/gui/dialogs/runner_install.py:390 +msgid "Downloading…" +msgstr "Đang tải xuống…" + +#: lutris/gui/dialogs/runner_install.py:393 +msgid "Extracting…" +msgstr "Đang trích xuất…" + +#: lutris/gui/dialogs/runner_install.py:423 +msgid "Failed to retrieve the runner archive" +msgstr "Không thể truy xuất kho lưu trữ của runner" + +#: lutris/gui/dialogs/uninstall_dialog.py:128 +#, python-format +msgid "Uninstall %s" +msgstr "Gỡ cài đặt %s" + +#: lutris/gui/dialogs/uninstall_dialog.py:130 +#, python-format +msgid "Remove %s" +msgstr "Xóa %s" + +#: lutris/gui/dialogs/uninstall_dialog.py:132 +#, python-format +msgid "Uninstall %d games" +msgstr "Gỡ cài đặt trò chơi %d" + +#: lutris/gui/dialogs/uninstall_dialog.py:134 +#, python-format +msgid "Remove %d games" +msgstr "Xóa trò chơi %d" + +#: lutris/gui/dialogs/uninstall_dialog.py:136 +#, python-format +msgid "Uninstall %d games and remove %d games" +msgstr "Gỡ cài đặt trò chơi %d và xóa trò chơi %d" + +#: lutris/gui/dialogs/uninstall_dialog.py:149 +msgid "After you uninstall these games, you won't be able play them in Lutris." +msgstr "Sau khi gỡ cài đặt những trò chơi này, bạn sẽ không thể chơi chúng trong Lutris." + +#: lutris/gui/dialogs/uninstall_dialog.py:152 +msgid "Uninstalled games that you remove from the library will no longer appear in the 'Games' view, but those that remain will retain their playtime data." +msgstr "Các trò chơi đã gỡ cài đặt mà bạn xóa khỏi thư viện sẽ không còn xuất hiện trong chế độ xem 'Trò chơi' nữa nhưng những trò chơi còn lại sẽ giữ lại dữ liệu thời gian chơi của chúng." + +#: lutris/gui/dialogs/uninstall_dialog.py:157 +msgid "After you remove these games, they will no longer appear in the 'Games' view." +msgstr "Sau khi bạn xóa những trò chơi này, chúng sẽ không còn xuất hiện trong chế độ xem 'Trò chơi' nữa." + +#: lutris/gui/dialogs/uninstall_dialog.py:162 +msgid "Some of the game directories cannot be removed because they are shared with other games that you are not removing." +msgstr "Không thể xóa một số thư mục trò chơi vì chúng được chia sẻ với các trò chơi khác mà bạn không xóa." + +#: lutris/gui/dialogs/uninstall_dialog.py:168 +msgid "Some of the game directories cannot be removed because they are protected." +msgstr "Một số thư mục trò chơi không thể xóa được vì chúng được bảo vệ." + +#: lutris/gui/dialogs/uninstall_dialog.py:265 +#, python-format +msgid "" +"Please confirm.\n" +"Everything under %s\n" +"will be moved to the trash." +msgstr "" +"Vui lòng xác nhận.\n" +"Mọi thứ trong %s\n" +"sẽ được chuyển vào thùng rác." + +#: lutris/gui/dialogs/uninstall_dialog.py:269 +#, python-format +msgid "" +"Please confirm.\n" +"All the files for %d games will be moved to the trash." +msgstr "" +"Vui lòng xác nhận.\n" +"Tất cả các tệp cho trò chơi %d sẽ được chuyển vào thùng rác." + +#: lutris/gui/dialogs/uninstall_dialog.py:277 +msgid "Permanently delete files?" +msgstr "Xóa vĩnh viễn các tập tin?" + +#: lutris/gui/dialogs/uninstall_dialog.py:360 +msgid "Remove from Library" +msgstr "Xóa khỏi Thư viện" + +#: lutris/gui/dialogs/uninstall_dialog.py:366 +msgid "Delete Files" +msgstr "Xóa tập tin" + +#: lutris/gui/dialogs/webconnect_dialog.py:149 +msgid "Loading..." +msgstr "Đang tải..." + +#: lutris/gui/installer/file_box.py:84 +#, python-brace-format +msgid "Steam game {appid}" +msgstr "Trò chơi Steam {appid}" + +#: lutris/gui/installer/file_box.py:96 +msgid "Download" +msgstr "Tải xuống" + +#: lutris/gui/installer/file_box.py:98 +msgid "Use Cache" +msgstr "Sử dụng bộ đệm" + +#: lutris/gui/installer/file_box.py:102 +msgid "Select File" +msgstr "Chọn tệp" + +#: lutris/gui/installer/file_box.py:159 +msgid "Cache file for future installations" +msgstr "Tệp bộ đệm để cài đặt trong tương lai" + +#: lutris/gui/installer/file_box.py:178 +msgid "Source:" +msgstr "Nguồn:" + +#: lutris/gui/installerwindow.py:128 +msgid "Configure download cache" +msgstr "Định cấu hình bộ đệm tải xuống" + +#: lutris/gui/installerwindow.py:130 +msgid "Change where Lutris downloads game installer files." +msgstr "Thay đổi nơi Lutris tải tập tin cài đặt trò chơi." + +#: lutris/gui/installerwindow.py:133 +msgid "View installer source" +msgstr "Xem nguồn trình cài đặt" + +#: lutris/gui/installerwindow.py:241 +msgid "Remove game files" +msgstr "Xóa tập tin trò chơi" + +#: lutris/gui/installerwindow.py:256 +msgid "Are you sure you want to cancel the installation?" +msgstr "Bạn có chắc chắn muốn hủy cài đặt không?" + +#: lutris/gui/installerwindow.py:257 +msgid "Cancel installation?" +msgstr "Hủy cài đặt?" + +#: lutris/gui/installerwindow.py:332 +msgid "" +"Waiting for Lutris component installation\n" +"Installations can fail if Lutris components are not installed first." +msgstr "" +"Đang chờ cài đặt thành phần Lutris\n" +"Quá trình cài đặt có thể không thành công nếu các thành phần Lutris không được cài đặt trước." + +#: lutris/gui/installerwindow.py:389 +#, python-format +msgid "Install %s" +msgstr "Cài đặt %s" + +#: lutris/gui/installerwindow.py:411 +#, python-format +msgid "This game requires %s. Do you want to install it?" +msgstr "Trò chơi này yêu cầu %s. Bạn có muốn cài đặt nó không?" + +#: lutris/gui/installerwindow.py:412 +msgid "Missing dependency" +msgstr "Thiếu phần phụ thuộc" + +#: lutris/gui/installerwindow.py:420 +msgid "Installing {}" +msgstr "Đang cài đặt {}" + +#: lutris/gui/installerwindow.py:426 +msgid "No installer available" +msgstr "Không có trình cài đặt nào" + +#: lutris/gui/installerwindow.py:432 +#, python-format +msgid "Missing field \"%s\" in install script" +msgstr "Thiếu trường \"%s\" trong tập lệnh cài đặt" + +#: lutris/gui/installerwindow.py:435 +#, python-format +msgid "Improperly formatted file \"%s\"" +msgstr "Tệp được định dạng không đúng \"%s\"" + +#: lutris/gui/installerwindow.py:485 +msgid "Select installation directory" +msgstr "Chọn thư mục cài đặt" + +#: lutris/gui/installerwindow.py:495 +msgid "Preparing Lutris for installation" +msgstr "Chuẩn bị Lutris để cài đặt" + +#: lutris/gui/installerwindow.py:589 +msgid "" +"This game has extra content\n" +"Select which one you want and they will be available in the 'extras' folder where the game is installed." +msgstr "" +"Trò chơi này có nội dung bổ sung\n" +"Chọn cái bạn muốn và chúng sẽ có sẵn trong thư mục 'bổ sung' nơi trò chơi được cài đặt." + +#: lutris/gui/installerwindow.py:685 +msgid "Please review the files needed for the installation then click 'Install'" +msgstr "Vui lòng xem lại các tập tin cần thiết cho quá trình cài đặt rồi nhấp vào 'Cài đặt'" + +#: lutris/gui/installerwindow.py:693 +msgid "Downloading game data" +msgstr "Đang tải dữ liệu trò chơi" + +#: lutris/gui/installerwindow.py:710 +#, python-format +msgid "Unable to get files: %s" +msgstr "Không thể lấy tập tin: %s" + +#: lutris/gui/installerwindow.py:724 +msgid "Installing game data" +msgstr "Cài đặt dữ liệu trò chơi" + +#. Lutris flatplak doesn't autodetect files on CD-ROM properly +#. and selecting this option doesn't let the user click "Back" +#. so the only option is to cancel the install. +#: lutris/gui/installerwindow.py:866 +msgid "Autodetect" +msgstr "Tự động phát hiện" + +#: lutris/gui/installerwindow.py:871 +msgid "Browse…" +msgstr "Duyệt…" + +#: lutris/gui/installerwindow.py:878 +msgid "Eject" +msgstr "Đẩy ra" + +#: lutris/gui/installerwindow.py:890 +msgid "Select the folder where the disc is mounted" +msgstr "Chọn thư mục chứa đĩa" + +#: lutris/gui/installerwindow.py:944 +msgid "An unexpected error has occurred while installing this game. Please share the details below with the Lutris team on GitHub or Discord." +msgstr "Đã xảy ra lỗi không mong muốn khi cài đặt trò chơi này. Vui lòng chia sẻ thông tin chi tiết bên dưới với nhóm Lutris trên GitHub hoặc Discord." + +#: lutris/gui/installerwindow.py:1003 +msgid "_Launch" +msgstr "_Viceng" + +#: lutris/gui/installerwindow.py:1083 +msgid "_Abort" +msgstr "_Hủy bỏ" + +#: lutris/gui/installerwindow.py:1084 +msgid "Abort and revert the installation" +msgstr "Hủy bỏ và hoàn nguyên cài đặt" + +#: lutris/gui/installerwindow.py:1087 +msgid "_Close" +msgstr "_Đóng" + +#: lutris/gui/lutriswindow.py:737 +#, python-format +msgid "Connect your %s account to access your games" +msgstr "Kết nối tài khoản %s của bạn để truy cập trò chơi của bạn" + +#: lutris/gui/lutriswindow.py:744 +#, python-format +msgid "Add a game matching '%s' to your favorites to see it here." +msgstr "Thêm trò chơi phù hợp với '%s' vào mục yêu thích của bạn để xem tại đây." + +#: lutris/gui/lutriswindow.py:746 +#, python-format +msgid "No hidden games matching '%s' found." +msgstr "Không tìm thấy trò chơi ẩn nào khớp với '%s'." + +#: lutris/gui/lutriswindow.py:749 +#, python-format +msgid "No installed games matching '%s' found. Press Ctrl+I to show uninstalled games." +msgstr "Không tìm thấy trò chơi đã cài đặt nào khớp với '%s'. Nhấn Ctrl+I để hiển thị các trò chơi đã gỡ cài đặt." + +#: lutris/gui/lutriswindow.py:752 +#, python-format +msgid "No games matching '%s' found " +msgstr "Không tìm thấy trò chơi nào phù hợp với '%s' " + +#: lutris/gui/lutriswindow.py:755 +msgid "Add games to your favorites to see them here." +msgstr "Thêm trò chơi vào mục yêu thích của bạn để xem chúng ở đây." + +#: lutris/gui/lutriswindow.py:757 +msgid "No games are hidden." +msgstr "Không có trò chơi nào bị ẩn." + +#: lutris/gui/lutriswindow.py:759 +msgid "No installed games found. Press Ctrl+I to show uninstalled games." +msgstr "Không tìm thấy trò chơi đã cài đặt nào. Nhấn Ctrl+I để hiển thị các trò chơi đã gỡ cài đặt." + +#: lutris/gui/lutriswindow.py:768 +msgid "No games found" +msgstr "Không tìm thấy trò chơi nào" + +#: lutris/gui/lutriswindow.py:813 +#, python-format +msgid "Search %s games" +msgstr "Tìm kiếm trò chơi %s" + +#: lutris/gui/lutriswindow.py:815 +msgid "Search 1 game" +msgstr "Tìm kiếm 1 trò chơi" + +#: lutris/gui/lutriswindow.py:1069 +msgid "Unsupported Lutris Version" +msgstr "Phiên bản Lutris không được hỗ trợ" + +#: lutris/gui/lutriswindow.py:1071 +msgid "This version of Lutris will no longer receive support on Github and Discord, and may not interoperate properly with Lutris.net. Do you want to use it anyway?" +msgstr "Phiên bản Lutris này sẽ không còn nhận được hỗ trợ trên Github và Discord nữa và có thể không tương tác đúng cách với Lutris.net. Bạn có muốn sử dụng nó không?" + +#: lutris/gui/lutriswindow.py:1282 +msgid "Show Hidden Games" +msgstr "Hiển thị trò chơi ẩn" + +#: lutris/gui/lutriswindow.py:1284 +msgid "Rehide Hidden Games" +msgstr "Ẩn lại các trò chơi ẩn" + +#: lutris/gui/lutriswindow.py:1483 +msgid "Your limits are not set correctly. Please increase them as described here: How-to:-Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "Giới hạn của bạn không được đặt chính xác. Vui lòng tăng chúng như được mô tả ở đây: Cách thực hiện:-Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/gui/widgets/cellrenderers.py:376 lutris/gui/widgets/sidebar.py:501 +msgid "Missing" +msgstr "Mất tích" + +#: lutris/gui/widgets/common.py:87 +msgid "Select a folder" +msgstr "Chọn một thư mục" + +#: lutris/gui/widgets/common.py:89 +msgid "Select a file" +msgstr "Chọn một tập tin" + +#: lutris/gui/widgets/common.py:95 +msgid "Open in file browser" +msgstr "Mở trong trình duyệt tập tin" + +#: lutris/gui/widgets/common.py:246 +msgid "" +"Warning! The selected path is located on a drive formatted by Windows.\n" +"Games and programs installed on Windows drives don't work." +msgstr "" +"Cảnh báo! Đường dẫn đã chọn nằm trên ổ đĩa được định dạng bởi Windows.\n" +"Trò chơi và chương trình được cài đặt trên ổ đĩa Windows không hoạt động." + +#: lutris/gui/widgets/common.py:255 +msgid "Warning! The selected path contains files. Installation will not work properly." +msgstr "Cảnh báo! Đường dẫn đã chọn chứa các tệp. Cài đặt sẽ không hoạt động đúng." + +#: lutris/gui/widgets/common.py:263 +msgid "Warning The destination folder is not writable by the current user." +msgstr "Cảnh báo Người dùng hiện tại không thể ghi thư mục đích." + +#: lutris/gui/widgets/common.py:381 +msgid "Add" +msgstr "Thêm vào" + +#: lutris/gui/widgets/common.py:385 +msgid "Delete" +msgstr "Xóa bỏ" + +#: lutris/gui/widgets/download_collection_progress_box.py:145 lutris/gui/widgets/download_progress_box.py:109 +msgid "Retry" +msgstr "Thử lại" + +#: lutris/gui/widgets/download_collection_progress_box.py:172 lutris/gui/widgets/download_progress_box.py:136 +msgid "Download interrupted" +msgstr "Tải xuống bị gián đoạn" + +#: lutris/gui/widgets/download_collection_progress_box.py:191 lutris/gui/widgets/download_progress_box.py:144 +#, python-brace-format +msgid "{downloaded} / {size} ({speed:0.2f}MB/s), {time} remaining" +msgstr "{downloaded} / {size} ({speed:0.2f}MB/s), còn lại {time}" + +#: lutris/gui/widgets/game_bar.py:174 +#, python-format +msgid "" +"Platform:\n" +"%s" +msgstr "" +"Nền tảng:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:183 +#, python-format +msgid "" +"Time played:\n" +"%s" +msgstr "" +"Thời gian chơi:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:192 +#, python-format +msgid "" +"Last played:\n" +"%s" +msgstr "" +"Chơi lần cuối:\n" +"%s" + +#: lutris/gui/widgets/game_bar.py:214 +msgid "Launching" +msgstr "Ra mắt" + +#: lutris/gui/widgets/sidebar.py:156 lutris/gui/widgets/sidebar.py:189 lutris/gui/widgets/sidebar.py:234 +msgid "Run" +msgstr "Chạy" + +#: lutris/gui/widgets/sidebar.py:157 lutris/gui/widgets/sidebar.py:190 +msgid "Reload" +msgstr "Tải lại" + +#: lutris/gui/widgets/sidebar.py:191 +msgid "Disconnect" +msgstr "Ngắt kết nối" + +#: lutris/gui/widgets/sidebar.py:192 +msgid "Connect" +msgstr "Kết nối" + +#: lutris/gui/widgets/sidebar.py:231 +msgid "Manage Versions" +msgstr "Quản lý phiên bản" + +#: lutris/gui/widgets/sidebar.py:277 lutris/gui/widgets/sidebar.py:317 +msgid "Edit Games" +msgstr "Chỉnh sửa trò chơi" + +#: lutris/gui/widgets/sidebar.py:399 +msgid "Library" +msgstr "Thư viện" + +#: lutris/gui/widgets/sidebar.py:401 +msgid "Saved Searches" +msgstr "Tìm kiếm đã lưu" + +#: lutris/gui/widgets/sidebar.py:404 +msgid "Platforms" +msgstr "Nền tảng" + +#: lutris/gui/widgets/sidebar.py:458 lutris/util/system.py:32 +msgid "Games" +msgstr "Trò chơi" + +#: lutris/gui/widgets/sidebar.py:467 +msgid "Recent" +msgstr "Gần đây" + +#: lutris/gui/widgets/sidebar.py:476 +msgid "Favorites" +msgstr "Yêu thích" + +#: lutris/gui/widgets/sidebar.py:485 +msgid "Uncategorized" +msgstr "Chưa được phân loại" + +#: lutris/gui/widgets/sidebar.py:509 +msgid "Running" +msgstr "Đang chạy" + +#: lutris/gui/widgets/status_icon.py:89 lutris/gui/widgets/status_icon.py:113 +msgid "Show Lutris" +msgstr "Hiển thị Lutris" + +#: lutris/gui/widgets/status_icon.py:94 +msgid "Quit" +msgstr "Từ bỏ" + +#: lutris/gui/widgets/status_icon.py:111 +msgid "Hide Lutris" +msgstr "Ẩn Lutris" + +#: lutris/installer/commands.py:61 +#, python-format +msgid "Invalid runner provided %s" +msgstr "Runner được cung cấp không hợp lệ %s" + +#: lutris/installer/commands.py:77 +#, python-brace-format +msgid "One of {params} parameter is mandatory for the {cmd} command" +msgstr "Một trong các tham số {params} là bắt buộc đối với lệnh {cmd}" + +#: lutris/installer/commands.py:78 lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:190 +msgid " or " +msgstr " hoặc " + +#: lutris/installer/commands.py:85 +#, python-brace-format +msgid "The {param} parameter is mandatory for the {cmd} command" +msgstr "Tham số {param} là bắt buộc đối với lệnh {cmd}" + +#: lutris/installer/commands.py:95 +#, python-format +msgid "Invalid file '%s'. Can't make it executable" +msgstr "Tệp không hợp lệ '%s'. Không thể làm cho nó có thể thực thi được" + +#: lutris/installer/commands.py:108 +msgid "Parameters file and command can't be used at the same time for the execute command" +msgstr "Không thể sử dụng tệp tham số và lệnh cùng lúc cho lệnh thực thi" + +#: lutris/installer/commands.py:142 +msgid "No parameters supplied to execute command." +msgstr "Không có tham số nào được cung cấp để thực thi lệnh." + +#: lutris/installer/commands.py:158 +#, python-format +msgid "Unable to find executable %s" +msgstr "Không thể tìm thấy tệp thực thi %s" + +#: lutris/installer/commands.py:192 +#, python-format +msgid "%s does not exist" +msgstr "%s không tồn tại" + +#: lutris/installer/commands.py:198 lutris/runtime.py:129 +#, python-format +msgid "Extracting %s" +msgstr "Đang trích xuất %s" + +#: lutris/installer/commands.py:232 +msgid "" +"Insert or mount game disc and click Autodetect or\n" +"use Browse if the disc is mounted on a non standard location." +msgstr "" +"Đưa hoặc gắn đĩa trò chơi vào và nhấp vào Tự động phát hiện hoặc\n" +"sử dụng Duyệt nếu đĩa được gắn ở vị trí không chuẩn." + +#: lutris/installer/commands.py:238 +#, python-format +msgid "" +"\n" +"\n" +"Lutris is looking for a mounted disk drive or image \n" +"containing the following file or folder:\n" +"%s" +msgstr "" +"\n" +"\n" +"Lutris đang tìm kiếm ổ đĩa hoặc hình ảnh được gắn \n" +"chứa tệp hoặc thư mục sau:\n" +"%s" + +#: lutris/installer/commands.py:261 +#, python-format +msgid "The required file '%s' could not be located." +msgstr "Không thể tìm thấy tệp được yêu cầu '%s'." + +#: lutris/installer/commands.py:282 +#, python-format +msgid "Source does not exist: %s" +msgstr "Nguồn không tồn tại: %s" + +#: lutris/installer/commands.py:308 +#, python-format +msgid "Invalid source for 'move' operation: %s" +msgstr "Nguồn không hợp lệ cho thao tác 'di chuyển': %s" + +#: lutris/installer/commands.py:327 +#, python-brace-format +msgid "" +"Can't move {src} \n" +"to destination {dst}" +msgstr "" +"Không thể di chuyển {src} \n" +"đến đích {dst}" + +#: lutris/installer/commands.py:334 +#, python-format +msgid "Rename error, source path does not exist: %s" +msgstr "Lỗi đổi tên, đường dẫn nguồn không tồn tại: %s" + +#: lutris/installer/commands.py:341 +#, python-format +msgid "Rename error, destination already exists: %s" +msgstr "Lỗi đổi tên, đích đã tồn tại: %s" + +#: lutris/installer/commands.py:357 +msgid "Missing parameter src" +msgstr "Thiếu tham số src" + +#: lutris/installer/commands.py:360 +msgid "Wrong value for 'src' param" +msgstr "Giá trị sai cho thông số 'src'" + +#: lutris/installer/commands.py:364 +msgid "Wrong value for 'dst' param" +msgstr "Giá trị sai cho thông số 'dst'" + +#: lutris/installer/commands.py:439 +#, python-format +msgid "Command exited with code %s" +msgstr "Lệnh đã thoát với mã %s" + +#: lutris/installer/commands.py:458 +#, python-format +msgid "Wrong value for write_file mode: '%s'" +msgstr "Giá trị sai cho chế độ write_file: '%s'" + +#: lutris/installer/commands.py:651 +msgid "install_or_extract only works with wine!" +msgstr "install_or_extract chỉ hoạt động với Wine vang!" + +#: lutris/installer/errors.py:49 +#, python-format +msgid "This game requires %s." +msgstr "Trò chơi này yêu cầu %s." + +#: lutris/installer/installer_file.py:48 +#, python-format +msgid "missing field `url` for file `%s`" +msgstr "thiếu trường `url` cho tệp `%s`" + +#: lutris/installer/installer_file.py:67 +#, python-format +msgid "missing field `filename` in file `%s`" +msgstr "thiếu trường `tên tệp` trong tệp `%s`" + +#: lutris/installer/installer_file.py:162 +#, python-brace-format +msgid "{file} on {host}" +msgstr "{file} trên {host}" + +#: lutris/installer/installer_file.py:254 +msgid "Invalid checksum, expected format (type:hash) " +msgstr "Tổng kiểm tra không hợp lệ, định dạng mong đợi (loại: hàm băm) " + +#: lutris/installer/installer_file.py:261 +msgid " checksum mismatch " +msgstr " tổng kiểm tra không khớp " + +#: lutris/installer/installer.py:38 +#, python-format +msgid "The script was missing the '%s' key, which is required." +msgstr "Tập lệnh thiếu khóa '%s', đây là khóa bắt buộc." + +#: lutris/installer/installer.py:218 +msgid "Game config key must be a string" +msgstr "Khóa cấu hình trò chơi phải là một chuỗi" + +#: lutris/installer/installer.py:266 +msgid "Invalid 'game' section" +msgstr "Phần 'trò chơi' không hợp lệ" + +#: lutris/installer/interpreter.py:85 +msgid "This installer doesn't have a 'script' section" +msgstr "Trình cài đặt này không có phần 'script'" + +#: lutris/installer/interpreter.py:91 +msgid "" +"Invalid script: \n" +"{}" +msgstr "" +"Tập lệnh không hợp lệ: \n" +"{}" + +#: lutris/installer/interpreter.py:167 lutris/installer/interpreter.py:170 +#, python-format +msgid "This installer requires %s on your system" +msgstr "Trình cài đặt này yêu cầu %s trên hệ thống của bạn" + +#: lutris/installer/interpreter.py:183 +msgid "You need to install {} before" +msgstr "Bạn cần cài đặt {} trước" + +#: lutris/installer/interpreter.py:232 +msgid "Lutris does not have the necessary permissions to install to path:" +msgstr "Lutris không có quyền cần thiết để cài đặt vào đường dẫn:" + +#: lutris/installer/interpreter.py:237 +#, python-format +msgid "Path %s not found, unable to create game folder. Is the disk mounted?" +msgstr "Không tìm thấy đường dẫn %s, không thể tạo thư mục trò chơi. Đĩa đã được gắn chưa?" + +#: lutris/installer/interpreter.py:312 +msgid "Installer commands are not formatted correctly" +msgstr "Các lệnh của trình cài đặt không được định dạng chính xác" + +#: lutris/installer/interpreter.py:364 +#, python-format +msgid "The command \"%s\" does not exist." +msgstr "Lệnh \"%s\" không tồn tại." + +#: lutris/installer/interpreter.py:374 +#, python-format +msgid "" +"The executable at path %s can't be found, please check the destination folder.\n" +"Some parts of the installation process may have not completed successfully." +msgstr "" +"Không thể tìm thấy tệp thực thi tại đường dẫn %s, vui lòng kiểm tra thư mục đích.\n" +"Một số phần của quá trình cài đặt có thể chưa hoàn tất thành công." + +#: lutris/installer/interpreter.py:381 +msgid "Installation completed!" +msgstr "Cài đặt hoàn tất!" + +#: lutris/installer/steam_installer.py:43 +#, python-format +msgid "Malformed steam path: %s" +msgstr "Đường dẫn hơi nước không đúng định dạng: %s" + +#: lutris/runners/atari800.py:16 +msgid "Desktop resolution" +msgstr "Độ phân giải máy tính để bàn" + +#: lutris/runners/atari800.py:21 +msgid "Atari800" +msgstr "Atari800" + +#: lutris/runners/atari800.py:22 +msgid "Atari 8bit computers" +msgstr "Máy tính Atari 8bit" + +#: lutris/runners/atari800.py:25 +msgid "Atari 400, 800 and XL emulator" +msgstr "Trình giả lập Atari 400, 800 và XL" + +#: lutris/runners/atari800.py:39 +msgid "" +"The game data, commonly called a ROM image. \n" +"Supported formats: ATR, XFD, DCM, ATR.GZ, XFD.GZ and PRO." +msgstr "" +"Dữ liệu trò chơi, thường được gọi là hình ảnh ROM. \n" +"Các định dạng được hỗ trợ: ATR, XFD, DCM, ATR.GZ, XFD.GZ và PRO." + +#: lutris/runners/atari800.py:50 +msgid "BIOS location" +msgstr "Vị trí BIOS" + +#: lutris/runners/atari800.py:52 +msgid "" +"A folder containing the Atari 800 BIOS files.\n" +"They are provided by Lutris so you shouldn't have to change this." +msgstr "" +"Một thư mục chứa các tệp BIOS Atari 800.\n" +"Chúng được cung cấp bởi Lutris nên bạn không cần phải thay đổi điều này." + +#: lutris/runners/atari800.py:61 +msgid "Emulate Atari 800" +msgstr "Giả lập Atari 800" + +#: lutris/runners/atari800.py:62 +msgid "Emulate Atari 800 XL" +msgstr "Giả lập Atari 800 XL" + +#: lutris/runners/atari800.py:63 +msgid "Emulate Atari 320 XE (Compy Shop)" +msgstr "Giả lập Atari 320 XE (Compy Shop)" + +#: lutris/runners/atari800.py:64 +msgid "Emulate Atari 320 XE (Rambo)" +msgstr "Giả lập Atari 320 XE (Rambo)" + +#: lutris/runners/atari800.py:65 +msgid "Emulate Atari 5200" +msgstr "Giả lập Atari 5200" + +#: lutris/runners/atari800.py:68 lutris/runners/mame.py:85 lutris/runners/vice.py:86 +msgid "Machine" +msgstr "Máy móc" + +#: lutris/runners/atari800.py:74 lutris/runners/atari800.py:82 lutris/runners/dosbox.py:65 lutris/runners/duckstation.py:36 lutris/runners/duckstation.py:44 lutris/runners/easyrpg.py:295 lutris/runners/easyrpg.py:303 lutris/runners/easyrpg.py:319 lutris/runners/easyrpg.py:337 +#: lutris/runners/easyrpg.py:345 lutris/runners/easyrpg.py:353 lutris/runners/easyrpg.py:367 lutris/runners/fsuae.py:249 lutris/runners/fsuae.py:256 lutris/runners/fsuae.py:264 lutris/runners/fsuae.py:277 lutris/runners/hatari.py:64 lutris/runners/hatari.py:71 lutris/runners/hatari.py:79 +#: lutris/runners/hatari.py:94 lutris/runners/jzintv.py:42 lutris/runners/jzintv.py:46 lutris/runners/mame.py:166 lutris/runners/mame.py:173 lutris/runners/mame.py:190 lutris/runners/mame.py:204 lutris/runners/mednafen.py:71 lutris/runners/mednafen.py:75 lutris/runners/mednafen.py:89 +#: lutris/runners/o2em.py:79 lutris/runners/o2em.py:86 lutris/runners/pico8.py:38 lutris/runners/pico8.py:45 lutris/runners/redream.py:24 lutris/runners/redream.py:28 lutris/runners/scummvm.py:111 lutris/runners/scummvm.py:118 lutris/runners/scummvm.py:126 lutris/runners/scummvm.py:139 +#: lutris/runners/scummvm.py:162 lutris/runners/scummvm.py:182 lutris/runners/scummvm.py:197 lutris/runners/scummvm.py:221 lutris/runners/scummvm.py:239 lutris/runners/snes9x.py:35 lutris/runners/snes9x.py:39 lutris/runners/vice.py:51 lutris/runners/vice.py:58 lutris/runners/vice.py:65 +#: lutris/runners/vice.py:72 lutris/runners/wine.py:291 lutris/runners/wine.py:306 lutris/runners/wine.py:319 lutris/runners/wine.py:330 lutris/runners/wine.py:342 lutris/runners/wine.py:354 lutris/runners/wine.py:364 lutris/runners/wine.py:375 lutris/runners/wine.py:386 +#: lutris/runners/wine.py:399 +msgid "Graphics" +msgstr "Đồ họa" + +#: lutris/runners/atari800.py:75 lutris/runners/cemu.py:38 lutris/runners/duckstation.py:35 lutris/runners/easyrpg.py:296 lutris/runners/hatari.py:65 lutris/runners/jzintv.py:42 lutris/runners/libretro.py:95 lutris/runners/mame.py:167 lutris/runners/mednafen.py:71 +#: lutris/runners/mupen64plus.py:29 lutris/runners/o2em.py:80 lutris/runners/osmose.py:33 lutris/runners/pcsx2.py:31 lutris/runners/pico8.py:39 lutris/runners/redream.py:24 lutris/runners/reicast.py:40 lutris/runners/scummvm.py:112 lutris/runners/snes9x.py:35 lutris/runners/vice.py:52 +#: lutris/runners/vita3k.py:41 lutris/runners/xemu.py:26 lutris/runners/yuzu.py:42 lutris/sysoptions.py:272 +msgid "Fullscreen" +msgstr "Toàn màn hình" + +#: lutris/runners/atari800.py:83 +msgid "Fullscreen resolution" +msgstr "Độ phân giải toàn màn hình" + +#: lutris/runners/atari800.py:93 +msgid "Could not download Atari 800 BIOS archive" +msgstr "Không thể tải xuống kho lưu trữ BIOS Atari 800" + +#: lutris/runners/cemu.py:12 +msgid "Cemu" +msgstr "Cemu" + +#: lutris/runners/cemu.py:13 +msgid "Wii U" +msgstr "Wii U" + +#: lutris/runners/cemu.py:14 +msgid "Wii U emulator" +msgstr "Trình giả lập Wii U" + +#: lutris/runners/cemu.py:22 lutris/runners/easyrpg.py:24 +msgid "Game directory" +msgstr "Thư mục trò chơi" + +#: lutris/runners/cemu.py:24 +msgid "The directory in which the game lives. If installed into Cemu, this will be in the mlc directory, such as mlc/usr/title/00050000/101c9500." +msgstr "Thư mục chứa trò chơi. Nếu được cài đặt vào Cemu, nó sẽ nằm trong thư mục mlc, chẳng hạn như mlc/usr/title/00050000/101c9500." + +#: lutris/runners/cemu.py:31 +msgid "Compressed ROM" +msgstr "ROM nén" + +#: lutris/runners/cemu.py:32 +msgid "A game compressed into a single file (WUA format), only use if not using game directory" +msgstr "Trò chơi được nén thành một tệp duy nhất (định dạng WUA), chỉ sử dụng nếu không sử dụng thư mục trò chơi" + +#: lutris/runners/cemu.py:44 +msgid "Custom mlc folder location" +msgstr "Vị trí thư mục mlc tùy chỉnh" + +#: lutris/runners/cemu.py:49 +msgid "Render in upside down mode" +msgstr "Kết xuất ở chế độ lộn ngược" + +#: lutris/runners/cemu.py:56 +msgid "NSight debugging options" +msgstr "Tùy chọn gỡ lỗi Night" + +#: lutris/runners/cemu.py:63 +msgid "Intel legacy graphics mode" +msgstr "Chế độ đồ họa kế thừa của Intel" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 +msgid "Nintendo GameCube" +msgstr "Nintendo GameCube" + +#: lutris/runners/dolphin.py:11 lutris/runners/dolphin.py:35 +msgid "Nintendo Wii" +msgstr "Nintendo Wii" + +#: lutris/runners/dolphin.py:15 +msgid "GameCube and Wii emulator" +msgstr "Trình giả lập GameCube và Wii" + +#: lutris/runners/dolphin.py:16 lutris/services/dolphin.py:29 +msgid "Dolphin" +msgstr "Dolphin" + +#: lutris/runners/dolphin.py:29 lutris/runners/pcsx2.py:22 lutris/runners/xemu.py:19 +msgid "ISO file" +msgstr "Tập tin ISO" + +#: lutris/runners/dolphin.py:42 +msgid "Batch" +msgstr "Lô" + +#: lutris/runners/dolphin.py:45 +msgid "Exit Dolphin with emulator." +msgstr "Thoát khỏi Dolphin bằng trình giả lập." + +#: lutris/runners/dolphin.py:52 +msgid "Custom Global User Directory" +msgstr "Thư mục người dùng toàn cầu tùy chỉnh" + +#: lutris/runners/dosbox.py:16 +msgid "DOSBox" +msgstr "DOSBox" + +#: lutris/runners/dosbox.py:17 +msgid "MS-DOS emulator" +msgstr "Trình giả lập MS-DOS" + +#: lutris/runners/dosbox.py:18 +msgid "MS-DOS" +msgstr "MS-DOS" + +#: lutris/runners/dosbox.py:26 +msgid "Main file" +msgstr "Tập tin chính" + +#: lutris/runners/dosbox.py:28 +msgid "" +"The CONF, EXE, COM or BAT file to launch.\n" +"If the executable is managed in the config file, this should be the config file, instead specifying it in 'Configuration file'." +msgstr "" +"Tệp CONF, EXE, COM hoặc BAT sẽ khởi chạy.\n" +"Nếu tệp thực thi được quản lý trong tệp cấu hình thì đây phải là tệp cấu hình, thay vào đó hãy chỉ định tệp đó trong 'Tệp cấu hình'." + +#: lutris/runners/dosbox.py:36 +msgid "Configuration file" +msgstr "Tệp cấu hình" + +#: lutris/runners/dosbox.py:38 +msgid "" +"Start DOSBox with the options specified in this file. \n" +"It can have a section in which you can put commands to execute on startup. Read DOSBox's documentation for more information." +msgstr "" +"Khởi động DOSBox với các tùy chọn được chỉ định trong tệp này. \n" +"Nó có thể có một phần trong đó bạn có thể đặt các lệnh để thực thi khi khởi động. Đọc tài liệu của DOSBox để biết thêm thông tin." + +#: lutris/runners/dosbox.py:47 +msgid "Command line arguments" +msgstr "Đối số dòng lệnh" + +#: lutris/runners/dosbox.py:48 +msgid "Command line arguments used when launching DOSBox" +msgstr "Đối số dòng lệnh được sử dụng khi khởi chạy DOSBox" + +#: lutris/runners/dosbox.py:54 lutris/runners/flatpak.py:69 lutris/runners/linux.py:39 lutris/runners/wine.py:223 +msgid "Working directory" +msgstr "Thư mục làm việc" + +#: lutris/runners/dosbox.py:57 lutris/runners/linux.py:41 lutris/runners/wine.py:225 +msgid "" +"The location where the game is run from.\n" +"By default, Lutris uses the directory of the executable." +msgstr "" +"Vị trí nơi trò chơi được chạy.\n" +"Theo mặc định, Lutris sử dụng thư mục của tệp thực thi." + +#: lutris/runners/dosbox.py:66 +msgid "Open game in fullscreen" +msgstr "Mở trò chơi ở chế độ toàn màn hình" + +#: lutris/runners/dosbox.py:69 +msgid "Tells DOSBox to launch the game in fullscreen." +msgstr "Yêu cầu DOSBox khởi chạy trò chơi ở chế độ toàn màn hình." + +#: lutris/runners/dosbox.py:73 +msgid "Exit DOSBox with the game" +msgstr "Thoát DOSBox cùng với trò chơi" + +#: lutris/runners/dosbox.py:76 +msgid "Shut down DOSBox when the game is quit." +msgstr "Tắt DOSBox khi thoát trò chơi." + +#: lutris/runners/duckstation.py:13 +msgid "DuckStation" +msgstr "DuckStation" + +#: lutris/runners/duckstation.py:14 +msgid "PlayStation 1 Emulator" +msgstr "Trình giả lập PlayStation 1" + +#: lutris/runners/duckstation.py:15 lutris/runners/mednafen.py:31 +msgid "Sony PlayStation" +msgstr "Sony PlayStation" + +#: lutris/runners/duckstation.py:37 +msgid "Enters fullscreen mode immediately after starting." +msgstr "Vào chế độ toàn màn hình ngay sau khi bắt đầu." + +#: lutris/runners/duckstation.py:43 +msgid "No Fullscreen" +msgstr "Không có toàn màn hình" + +#: lutris/runners/duckstation.py:45 +msgid "Prevents fullscreen mode from triggering if enabled." +msgstr "Ngăn chế độ toàn màn hình kích hoạt nếu được bật." + +#: lutris/runners/duckstation.py:51 +msgid "Batch Mode" +msgstr "Chế độ hàng loạt" + +#: lutris/runners/duckstation.py:52 lutris/runners/duckstation.py:61 lutris/runners/duckstation.py:69 +msgid "Boot" +msgstr "Khởi động" + +#: lutris/runners/duckstation.py:53 +msgid "Enables batch mode (exits after powering off)." +msgstr "Bật chế độ hàng loạt (thoát sau khi tắt nguồn)." + +#: lutris/runners/duckstation.py:60 +msgid "Force Fastboot" +msgstr "Buộc Fastboot" + +#: lutris/runners/duckstation.py:62 +msgid "Force fast boot." +msgstr "Buộc khởi động nhanh." + +#: lutris/runners/duckstation.py:68 +msgid "Force Slowboot" +msgstr "Buộc khởi động chậm" + +#: lutris/runners/duckstation.py:70 +msgid "Force slow boot." +msgstr "Buộc khởi động chậm." + +#: lutris/runners/duckstation.py:76 +msgid "No Controllers" +msgstr "Không có bộ điều khiển" + +#: lutris/runners/duckstation.py:77 lutris/runners/o2em.py:64 lutris/runners/o2em.py:72 +msgid "Controllers" +msgstr "Bộ điều khiển" + +#: lutris/runners/duckstation.py:79 +msgid "Prevents the emulator from polling for controllers. Try this option if you're having difficulties starting the emulator." +msgstr "Ngăn trình mô phỏng bỏ phiếu cho bộ điều khiển. Hãy thử tùy chọn này nếu bạn gặp khó khăn khi khởi động trình mô phỏng." + +#: lutris/runners/duckstation.py:87 +msgid "Custom configuration file" +msgstr "Tập tin cấu hình tùy chỉnh" + +#: lutris/runners/duckstation.py:89 +msgid "Loads a custom settings configuration from the specified filename. Default settings applied if file not found." +msgstr "Tải cấu hình cài đặt tùy chỉnh từ tên tệp được chỉ định. Cài đặt mặc định được áp dụng nếu không tìm thấy tệp." + +#: lutris/runners/easyrpg.py:12 +msgid "EasyRPG Player" +msgstr "Người chơi EasyRPG" + +#: lutris/runners/easyrpg.py:13 +msgid "Runs RPG Maker 2000/2003 games" +msgstr "Chạy game RPG Maker 2000/2003" + +#: lutris/runners/easyrpg.py:14 lutris/runners/flatpak.py:22 lutris/runners/linux.py:17 lutris/runners/linux.py:19 lutris/runners/scummvm.py:56 lutris/runners/steam.py:31 lutris/runners/zdoom.py:15 +msgid "Linux" +msgstr "Linux" + +#: lutris/runners/easyrpg.py:25 +msgid "Select the directory of the game. (required)" +msgstr "Chọn thư mục của trò chơi. (bắt buộc)" + +#: lutris/runners/easyrpg.py:31 +msgid "Encoding" +msgstr "Mã hóa" + +#: lutris/runners/easyrpg.py:33 +msgid "Instead of auto detecting the encoding or using the one in RPG_RT.ini, the specified encoding is used." +msgstr "Thay vì tự động phát hiện mã hóa hoặc sử dụng mã hóa trong RPG_RT.ini, mã hóa đã chỉ định sẽ được sử dụng." + +#: lutris/runners/easyrpg.py:36 lutris/runners/easyrpg.py:61 lutris/runners/easyrpg.py:220 lutris/runners/easyrpg.py:239 lutris/runners/fsuae.py:123 lutris/runners/mame.py:193 lutris/runners/scummvm.py:186 lutris/runners/scummvm.py:201 lutris/runners/scummvm.py:225 lutris/runners/wine.py:243 +#: lutris/runners/wine.py:538 lutris/sysoptions.py:50 +msgid "Auto" +msgstr "Tự động" + +#: lutris/runners/easyrpg.py:37 +msgid "Auto (ignore RPG_RT.ini)" +msgstr "Tự động (bỏ qua RPG_RT.ini)" + +#: lutris/runners/easyrpg.py:38 +msgid "Western European" +msgstr "Tây Âu" + +#: lutris/runners/easyrpg.py:39 +msgid "Central/Eastern European" +msgstr "Trung/Đông Âu" + +#: lutris/runners/easyrpg.py:40 lutris/runners/redream.py:50 lutris/sysoptions.py:39 +msgid "Japanese" +msgstr "Tiếng Nhật" + +#: lutris/runners/easyrpg.py:41 +msgid "Cyrillic" +msgstr "Chữ cái Cyrillic" + +#: lutris/runners/easyrpg.py:42 lutris/sysoptions.py:40 +msgid "Korean" +msgstr "Tiếng Hàn" + +#: lutris/runners/easyrpg.py:43 +msgid "Chinese (Simplified)" +msgstr "Tiếng Trung (Giản thể)" + +#: lutris/runners/easyrpg.py:44 +msgid "Chinese (Traditional)" +msgstr "Tiếng Trung (Phồn thể)" + +#: lutris/runners/easyrpg.py:45 lutris/sysoptions.py:37 +msgid "Greek" +msgstr "Tiếng Hy Lạp" + +#: lutris/runners/easyrpg.py:46 lutris/sysoptions.py:45 +msgid "Turkish" +msgstr "Tiếng Thổ Nhĩ Kỳ" + +#: lutris/runners/easyrpg.py:47 +msgid "Hebrew" +msgstr "Tiếng Do Thái" + +#: lutris/runners/easyrpg.py:48 +msgid "Arabic" +msgstr "Tiếng Ả Rập" + +#: lutris/runners/easyrpg.py:49 +msgid "Baltic" +msgstr "Vùng Baltic" + +#: lutris/runners/easyrpg.py:50 +msgid "Thai" +msgstr "Tiếng Thái" + +#: lutris/runners/easyrpg.py:58 lutris/runners/easyrpg.py:211 lutris/runners/easyrpg.py:231 lutris/runners/easyrpg.py:249 +msgid "Engine" +msgstr "Động cơ" + +#: lutris/runners/easyrpg.py:59 +msgid "Disable auto detection of the simulated engine." +msgstr "Tắt tính năng tự động phát hiện động cơ mô phỏng." + +#: lutris/runners/easyrpg.py:62 +msgid "RPG Maker 2000 engine (v1.00 - v1.10)" +msgstr "Công cụ RPG Maker 2000 (v1.00 - v1.10)" + +#: lutris/runners/easyrpg.py:63 +msgid "RPG Maker 2000 engine (v1.50 - v1.51)" +msgstr "Công cụ RPG Maker 2000 (v1.50 - v1.51)" + +#: lutris/runners/easyrpg.py:64 +msgid "RPG Maker 2000 (English release) engine" +msgstr "Công cụ RPG Maker 2000 (bản phát hành tiếng Anh)" + +#: lutris/runners/easyrpg.py:65 +msgid "RPG Maker 2003 engine (v1.00 - v1.04)" +msgstr "Công cụ RPG Maker 2003 (v1.00 - v1.04)" + +#: lutris/runners/easyrpg.py:66 +msgid "RPG Maker 2003 engine (v1.05 - v1.09a)" +msgstr "Công cụ RPG Maker 2003 (v1.05 - v1.09a)" + +#: lutris/runners/easyrpg.py:67 +msgid "RPG Maker 2003 (English release) engine" +msgstr "Công cụ RPG Maker 2003 (bản phát hành tiếng Anh)" + +#: lutris/runners/easyrpg.py:75 +msgid "Patches" +msgstr "Bản vá" + +#: lutris/runners/easyrpg.py:77 +msgid "" +"Instead of autodetecting patches used by this game, force emulation of certain patches.\n" +"\n" +"Available patches:\n" +"common-this: \"This Event\" in common eventsdynrpg: DynRPG patch by Cherrykey-patch: Key Patch by Inelukimaniac: Maniac Patch by BingShanpic-unlock: Pictures are not blocked by messagesrpg2k3-cmds: Support all RPG Maker 2003 event commands in any " +"version of the engine\n" +"\n" +"You can provide multiple patches or use 'none' to disable all engine patches." +msgstr "" +"Thay vì tự động phát hiện các bản vá được trò chơi này sử dụng, hãy bắt buộc mô phỏng một số bản vá nhất định.\n" +"\n" +"Các bản vá có sẵn:\n" +"common-this: \"Sự kiện này\" trong các sự kiện phổ biếndynrpg: Bản vá DynRPG của Cherrykey-patch: Key Patch của Inelukimaniac: Maniac Patch của BingShanpic-unlock: Hình ảnh không bị chặn bởi tin nhắnrpg2k3-cmds: Hỗ trợ tất cả các lệnh sự kiện RPG " +"Maker 2003 trong mọi phiên bản của RPG Maker 2003 động cơ\n" +"\n" +"Bạn có thể cung cấp nhiều bản vá hoặc sử dụng 'không' để tắt tất cả các bản vá động cơ." + +#: lutris/runners/easyrpg.py:92 lutris/runners/scummvm.py:276 +msgid "Language" +msgstr "Ngôn ngữ" + +#: lutris/runners/easyrpg.py:93 +msgid "Load the game translation in the language/LANG directory." +msgstr "Tải bản dịch trò chơi vào thư mục ngôn ngữ/LANG." + +#: lutris/runners/easyrpg.py:98 lutris/runners/zdoom.py:46 +msgid "Save path" +msgstr "Lưu đường dẫn" + +#: lutris/runners/easyrpg.py:101 +msgid "Instead of storing save files in the game directory they are stored in the specified path. The directory must exist." +msgstr "Thay vì lưu trữ các tệp lưu trong thư mục trò chơi, chúng được lưu trữ trong đường dẫn đã chỉ định. Thư mục phải tồn tại." + +#: lutris/runners/easyrpg.py:108 +msgid "New game" +msgstr "Trò chơi mới" + +#: lutris/runners/easyrpg.py:109 +msgid "Skip the title scene and start a new game directly." +msgstr "Bỏ qua cảnh tiêu đề và bắt đầu trò chơi mới trực tiếp." + +#: lutris/runners/easyrpg.py:115 +msgid "Load game ID" +msgstr "Tải ID trò chơi" + +#: lutris/runners/easyrpg.py:116 +msgid "" +"Skip the title scene and load SaveXX.lsd.\n" +"Set to 0 to disable." +msgstr "" +"Bỏ qua cảnh tiêu đề và tải SaveXX.lsd.\n" +"Đặt thành 0 để tắt." + +#: lutris/runners/easyrpg.py:125 +msgid "Record input" +msgstr "Ghi lại đầu vào" + +#: lutris/runners/easyrpg.py:126 +msgid "Records all button input to the specified log file." +msgstr "Ghi lại tất cả các nút đầu vào vào tệp nhật ký được chỉ định." + +#: lutris/runners/easyrpg.py:132 +msgid "Replay input" +msgstr "Phát lại đầu vào" + +#: lutris/runners/easyrpg.py:134 +msgid "" +"Replays button input from the specified log file, as generated by 'Record input'.\n" +"If the RNG seed and the state of the save file directory is also the same as it was when the log was recorded, this should reproduce an identical run to the one recorded." +msgstr "" +"Phát lại đầu vào nút từ tệp nhật ký được chỉ định, như được tạo bởi 'Đầu vào bản ghi'.\n" +"Nếu hạt giống RNG và trạng thái của thư mục tệp lưu cũng giống như khi nhật ký được ghi, điều này sẽ tái tạo một lần chạy giống hệt với lần chạy được ghi." + +#: lutris/runners/easyrpg.py:143 lutris/runners/easyrpg.py:152 lutris/runners/easyrpg.py:161 lutris/runners/easyrpg.py:176 lutris/runners/easyrpg.py:188 lutris/runners/easyrpg.py:200 +msgid "Debug" +msgstr "Gỡ lỗi" + +#: lutris/runners/easyrpg.py:144 +msgid "Test play" +msgstr "Chơi thử" + +#: lutris/runners/easyrpg.py:145 +msgid "Enable TestPlay (debug) mode." +msgstr "Kích hoạt chế độ TestPlay (gỡ lỗi)." + +#: lutris/runners/easyrpg.py:153 +msgid "Hide title" +msgstr "Ẩn tiêu đề" + +#: lutris/runners/easyrpg.py:154 +msgid "Hide the title background image and center the command menu." +msgstr "Ẩn hình nền tiêu đề và căn giữa menu lệnh." + +#: lutris/runners/easyrpg.py:162 +msgid "Start map ID" +msgstr "ID bản đồ bắt đầu" + +#: lutris/runners/easyrpg.py:164 +msgid "" +"Overwrite the map used for new games and use MapXXXX.lmu instead.\n" +"Set to 0 to disable.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Ghi đè bản đồ được sử dụng cho các trò chơi mới và thay vào đó hãy sử dụng MapXXXX.lmu.\n" +"Đặt thành 0 để tắt.\n" +"\n" +"Không tương thích với 'Tải ID trò chơi'." + +#: lutris/runners/easyrpg.py:177 +msgid "Start position" +msgstr "Vị trí bắt đầu" + +#: lutris/runners/easyrpg.py:179 +msgid "" +"Overwrite the party start position and move the party to the specified position.\n" +"Provide two numbers separated by a space.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Ghi đè vị trí bắt đầu của nhóm và di chuyển nhóm đến vị trí đã chỉ định.\n" +"Cung cấp hai số cách nhau bởi một khoảng trắng.\n" +"\n" +"Không tương thích với 'Tải ID trò chơi'." + +#: lutris/runners/easyrpg.py:189 +msgid "Start party" +msgstr "Bắt đầu bữa tiệc" + +#: lutris/runners/easyrpg.py:191 +msgid "" +"Overwrite the starting party members with the actors with the specified IDs.\n" +"Provide one to four numbers separated by spaces.\n" +"\n" +"Incompatible with 'Load game ID'." +msgstr "" +"Ghi đè các thành viên trong nhóm bắt đầu bằng các diễn viên có ID được chỉ định.\n" +"Cung cấp từ một đến bốn số cách nhau bằng dấu cách.\n" +"\n" +"Không tương thích với 'Tải ID trò chơi'." + +#: lutris/runners/easyrpg.py:201 +msgid "Battle test" +msgstr "Trận chiến thử nghiệm" + +#: lutris/runners/easyrpg.py:202 +msgid "Start a battle test with the specified monster party." +msgstr "Bắt đầu thử thách chiến đấu với nhóm quái vật được chỉ định." + +#: lutris/runners/easyrpg.py:212 +msgid "AutoBattle algorithm" +msgstr "Thuật toán AutoBattle" + +#: lutris/runners/easyrpg.py:214 +msgid "" +"Which AutoBattle algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +"ATTACK: Like RPG_RT+ but only physical attacks, no skills." +msgstr "" +"Nên sử dụng thuật toán AutoBattle nào.\n" +"\n" +"RPG_RT: Thuật toán tương thích RPG_RT mặc định, bao gồm cả lỗi RPG_RT.\n" +"RPG_RT+: Thuật toán tương thích RPG_RT mặc định, có sửa lỗi.\n" +"ATTACK: Giống RPG_RT+ nhưng chỉ tấn công vật lý, không có kỹ năng." + +#: lutris/runners/easyrpg.py:221 lutris/runners/easyrpg.py:240 +msgid "RPG_RT" +msgstr "RPG_RT" + +#: lutris/runners/easyrpg.py:222 lutris/runners/easyrpg.py:241 +msgid "RPG_RT+" +msgstr "RPG_RT+" + +#: lutris/runners/easyrpg.py:223 +msgid "ATTACK" +msgstr "ATTACK" + +#: lutris/runners/easyrpg.py:232 +msgid "EnemyAI algorithm" +msgstr "Thuật toán AI của kẻ thù" + +#: lutris/runners/easyrpg.py:234 +msgid "" +"Which EnemyAI algorithm to use.\n" +"\n" +"RPG_RT: The default RPG_RT compatible algorithm, including RPG_RT bugs.\n" +"RPG_RT+: The default RPG_RT compatible algorithm, with bug-fixes.\n" +msgstr "" +"Thuật toán EnemyAI nào sẽ được sử dụng.\n" +"\n" +"RPG_RT: Thuật toán tương thích RPG_RT mặc định, bao gồm cả lỗi RPG_RT.\n" +"RPG_RT+: Thuật toán tương thích RPG_RT mặc định, có sửa lỗi.\n" + +#: lutris/runners/easyrpg.py:250 +msgid "RNG seed" +msgstr "Hạt giống RNG" + +#: lutris/runners/easyrpg.py:251 +msgid "" +"Seeds the random number generator.\n" +"Use -1 to disable." +msgstr "" +"Tạo hạt giống cho trình tạo số ngẫu nhiên.\n" +"Sử dụng -1 để vô hiệu hóa." + +#: lutris/runners/easyrpg.py:259 lutris/runners/easyrpg.py:267 lutris/runners/easyrpg.py:277 lutris/runners/easyrpg.py:288 lutris/runners/redream.py:72 lutris/runners/scummvm.py:299 lutris/runners/scummvm.py:307 lutris/runners/scummvm.py:314 lutris/runners/scummvm.py:336 +#: lutris/runners/scummvm.py:349 lutris/runners/scummvm.py:370 lutris/runners/scummvm.py:378 lutris/runners/scummvm.py:386 lutris/runners/scummvm.py:394 lutris/runners/scummvm.py:401 lutris/runners/scummvm.py:409 lutris/runners/scummvm.py:418 lutris/runners/scummvm.py:430 +#: lutris/sysoptions.py:342 +msgid "Audio" +msgstr "Âm thanh" + +#: lutris/runners/easyrpg.py:260 +msgid "Enable audio" +msgstr "Bật âm thanh" + +#: lutris/runners/easyrpg.py:261 +msgid "Switch off to disable audio." +msgstr "Tắt để tắt âm thanh." + +#: lutris/runners/easyrpg.py:268 +msgid "BGM volume" +msgstr "Âm lượng nhạc nền" + +#: lutris/runners/easyrpg.py:269 +msgid "Volume of the background music." +msgstr "Âm lượng của nhạc nền." + +#: lutris/runners/easyrpg.py:278 lutris/runners/scummvm.py:379 +msgid "SFX volume" +msgstr "Khối lượng SFX" + +#: lutris/runners/easyrpg.py:279 +msgid "Volume of the sound effects." +msgstr "Âm lượng của hiệu ứng âm thanh." + +#: lutris/runners/easyrpg.py:289 lutris/runners/scummvm.py:403 +msgid "Soundfont" +msgstr "Phông chữ âm thanh" + +#: lutris/runners/easyrpg.py:290 +msgid "Soundfont in sf2 format to use when playing MIDI files." +msgstr "Soundfont ở định dạng sf2 để sử dụng khi phát tệp MIDI." + +#: lutris/runners/easyrpg.py:297 +msgid "Start in fullscreen mode." +msgstr "Bắt đầu ở chế độ toàn màn hình." + +#: lutris/runners/easyrpg.py:305 +msgid "Game resolution" +msgstr "Độ phân giải trò chơi" + +#: lutris/runners/easyrpg.py:307 +msgid "" +"Force a different game resolution.\n" +"\n" +"This is experimental and can cause glitches or break games!" +msgstr "" +"Buộc một độ phân giải trò chơi khác.\n" +"\n" +"Đây là thử nghiệm và có thể gây trục trặc hoặc làm hỏng trò chơi!" + +#: lutris/runners/easyrpg.py:310 +msgid "320×240 (4:3, Original)" +msgstr "320×240 (4:3, Bản gốc)" + +#: lutris/runners/easyrpg.py:311 +msgid "416×240 (16:9, Widescreen)" +msgstr "416×240 (16:9, Màn hình rộng)" + +#: lutris/runners/easyrpg.py:312 +msgid "560×240 (21:9, Ultrawide)" +msgstr "560×240 (21:9, Siêu rộng)" + +#: lutris/runners/easyrpg.py:320 +msgid "Scaling" +msgstr "Chia tỷ lệ" + +#: lutris/runners/easyrpg.py:322 +msgid "" +"How the video output is scaled.\n" +"\n" +"Nearest: Scale to screen size (causes scaling artifacts)\n" +"Integer: Scale to multiple of the game resolution\n" +"Bilinear: Like Nearest, but output is blurred to avoid artifacts\n" +msgstr "" +"Cách thu nhỏ đầu ra video.\n" +"\n" +"Gần nhất: Chia tỷ lệ theo kích thước màn hình (gây ra hiện tượng sai tỷ lệ)\n" +"Số nguyên: Chia tỷ lệ thành bội số của độ phân giải trò chơi\n" +"Song tuyến: Giống như Gần nhất, nhưng đầu ra bị mờ để tránh tạo tác\n" + +#: lutris/runners/easyrpg.py:328 +msgid "Nearest" +msgstr "Gần nhất" + +#: lutris/runners/easyrpg.py:329 +msgid "Integer" +msgstr "Số nguyên" + +#: lutris/runners/easyrpg.py:330 +msgid "Bilinear" +msgstr "Song tuyến tính" + +#: lutris/runners/easyrpg.py:338 lutris/runners/redream.py:30 lutris/runners/scummvm.py:229 +msgid "Stretch" +msgstr "Kéo dài" + +#: lutris/runners/easyrpg.py:339 +msgid "Ignore the aspect ratio and stretch video output to the entire width of the screen." +msgstr "Bỏ qua tỷ lệ khung hình và kéo dài đầu ra video ra toàn bộ chiều rộng của màn hình." + +#: lutris/runners/easyrpg.py:346 +msgid "Enable VSync" +msgstr "Bật VSync" + +#: lutris/runners/easyrpg.py:347 +msgid "Switch off to disable VSync and use the FPS limit." +msgstr "Tắt để tắt VSync và sử dụng giới hạn FPS." + +#: lutris/runners/easyrpg.py:354 +msgid "FPS limit" +msgstr "Giới hạn FPS" + +#: lutris/runners/easyrpg.py:356 +msgid "" +"Set a custom frames per second limit.\n" +"If unspecified, the default is 60 FPS.\n" +"Set to 0 to disable the frame limiter." +msgstr "" +"Đặt giới hạn khung hình tùy chỉnh mỗi giây.\n" +"Nếu không xác định thì mặc định là 60 FPS.\n" +"Đặt thành 0 để tắt giới hạn khung." + +#: lutris/runners/easyrpg.py:368 lutris/runners/wine.py:562 +msgid "Show FPS" +msgstr "Hiển thị FPS" + +#: lutris/runners/easyrpg.py:369 +msgid "Enable frames per second counter." +msgstr "Kích hoạt bộ đếm khung hình trên giây." + +#: lutris/runners/easyrpg.py:372 +msgid "Fullscreen & title bar" +msgstr "Toàn màn hình & thanh tiêu đề" + +#: lutris/runners/easyrpg.py:373 +msgid "Fullscreen, title bar & window" +msgstr "Toàn màn hình, thanh tiêu đề và cửa sổ" + +#: lutris/runners/easyrpg.py:380 lutris/runners/easyrpg.py:388 lutris/runners/easyrpg.py:395 lutris/runners/easyrpg.py:402 +msgid "Runtime Package" +msgstr "Gói runtime" + +#: lutris/runners/easyrpg.py:381 +msgid "Enable RTP" +msgstr "Kích hoạt RTP" + +#: lutris/runners/easyrpg.py:382 +msgid "Switch off to disable support for the Runtime Package (RTP)." +msgstr "Tắt để tắt hỗ trợ cho Gói runtime (RTP)." + +#: lutris/runners/easyrpg.py:389 +msgid "RPG2000 RTP location" +msgstr "Vị trí RPG2000 RTP" + +#: lutris/runners/easyrpg.py:390 +msgid "Full path to a directory containing an extracted RPG Maker 2000 Run-Time-Package (RTP)." +msgstr "Đường dẫn đầy đủ đến thư mục chứa RPG Maker 2000 Run-Time-Package (RTP) được trích xuất." + +#: lutris/runners/easyrpg.py:396 +msgid "RPG2003 RTP location" +msgstr "Vị trí RTP RPG2003" + +#: lutris/runners/easyrpg.py:397 +msgid "Full path to a directory containing an extracted RPG Maker 2003 Run-Time-Package (RTP)." +msgstr "Đường dẫn đầy đủ đến thư mục chứa RPG Maker 2003 Run-Time-Package (RTP) được trích xuất." + +#: lutris/runners/easyrpg.py:403 +msgid "Fallback RTP location" +msgstr "Vị trí RTP dự phòng" + +#: lutris/runners/easyrpg.py:404 +msgid "Full path to a directory containing a combined RTP." +msgstr "Đường dẫn đầy đủ tới thư mục chứa RTP kết hợp." + +#: lutris/runners/easyrpg.py:517 +msgid "No game directory provided" +msgstr "Không có thư mục trò chơi nào được cung cấp" + +#: lutris/runners/flatpak.py:21 +msgid "Runs Flatpak applications" +msgstr "Chạy các ứng dụng Flatpak" + +#: lutris/runners/flatpak.py:24 +msgid "Flatpak" +msgstr "Flatpak" + +#: lutris/runners/flatpak.py:33 lutris/runners/steam.py:37 +msgid "Application ID" +msgstr "ID ứng dụng" + +#: lutris/runners/flatpak.py:34 +msgid "The application's unique three-part identifier (tld.domain.app)." +msgstr "Mã định danh ba phần duy nhất của ứng dụng (tld.domain.app)." + +#: lutris/runners/flatpak.py:39 +msgid "Architecture" +msgstr "Ngành kiến ​​​​trúc" + +#: lutris/runners/flatpak.py:41 +msgid "The architecture to run. See flatpak --supported-arches for architectures supported by the host." +msgstr "Kiến trúc để chạy. Xem Flatpak --supported-arches để biết các kiến ​​trúc được máy chủ hỗ trợ." + +#: lutris/runners/flatpak.py:45 +msgid "Branch" +msgstr "Chi nhánh" + +#: lutris/runners/flatpak.py:45 +msgid "The branch to use." +msgstr "Chi nhánh để sử dụng." + +#: lutris/runners/flatpak.py:49 +msgid "Install type" +msgstr "Kiểu cài đặt" + +#: lutris/runners/flatpak.py:50 +msgid "Can be system or user." +msgstr "Có thể là hệ thống hoặc người dùng." + +#: lutris/runners/flatpak.py:56 +msgid "Args" +msgstr "Args" + +#: lutris/runners/flatpak.py:57 +msgid "Arguments to be passed to the application." +msgstr "Các đối số được chuyển đến ứng dụng." + +#: lutris/runners/flatpak.py:62 +msgid "Command" +msgstr "Yêu cầu" + +#: lutris/runners/flatpak.py:63 +msgid "The command to run instead of the one listed in the application metadata." +msgstr "Lệnh chạy thay vì lệnh được liệt kê trong siêu dữ liệu ứng dụng." + +#: lutris/runners/flatpak.py:71 +msgid "The directory to run the command in. Note that this must be a directory inside the sandbox." +msgstr "Thư mục để chạy lệnh. Lưu ý rằng đây phải là thư mục bên trong hộp cát." + +#: lutris/runners/flatpak.py:77 lutris/sysoptions.py:409 +msgid "Environment variables" +msgstr "Biến môi trường" + +#: lutris/runners/flatpak.py:79 +msgid "Set an environment variable in the application. This overrides to the Context section from the application metadata." +msgstr "Đặt biến môi trường trong ứng dụng. Phần này sẽ ghi đè vào phần Ngữ cảnh từ siêu dữ liệu của ứng dụng." + +#: lutris/runners/flatpak.py:92 +msgid "The Flatpak executable could not be found." +msgstr "Không thể tìm thấy tệp thực thi Flatpak." + +#: lutris/runners/flatpak.py:98 +msgid "" +"Flatpak installation is not handled by Lutris.\n" +"Install Flatpak with the package provided by your distribution." +msgstr "" +"Việc cài đặt Flatpak không được Lutris xử lý.\n" +"Cài đặt Flatpak với gói do nhà phân phối của bạn cung cấp." + +#: lutris/runners/flatpak.py:140 +msgid "No application specified." +msgstr "Không có ứng dụng được chỉ định." + +#: lutris/runners/flatpak.py:144 +msgid "Application ID is not specified in correct format.Must be something like: tld.domain.app" +msgstr "ID ứng dụng không được chỉ định ở định dạng đúng. Phải có dạng như: tld.domain.app" + +#: lutris/runners/flatpak.py:148 +msgid "Application ID field must not contain options or arguments." +msgstr "Trường ID ứng dụng không được chứa các tùy chọn hoặc đối số." + +#: lutris/runners/fsuae.py:12 +msgid "Amiga 500" +msgstr "Amiga 500" + +#: lutris/runners/fsuae.py:19 +msgid "Amiga 500+" +msgstr "Amiga 500+" + +#: lutris/runners/fsuae.py:20 +msgid "Amiga 600" +msgstr "Amiga 600" + +#: lutris/runners/fsuae.py:21 +msgid "Amiga 1200" +msgstr "Amiga 1200" + +#: lutris/runners/fsuae.py:22 +msgid "Amiga 3000" +msgstr "Amiga 3000" + +#: lutris/runners/fsuae.py:24 +msgid "Amiga 4000" +msgstr "Amiga 4000" + +#: lutris/runners/fsuae.py:27 +msgid "Amiga 1000" +msgstr "Amiga 1000" + +#: lutris/runners/fsuae.py:29 +msgid "Amiga CD32" +msgstr "Amiga CD32" + +#: lutris/runners/fsuae.py:34 +msgid "Commodore CDTV" +msgstr "CDTV hàng hóa" + +#: lutris/runners/fsuae.py:91 +msgid "FS-UAE" +msgstr "FS-UAE" + +#: lutris/runners/fsuae.py:92 +msgid "Amiga emulator" +msgstr "Trình giả lập Amiga" + +#: lutris/runners/fsuae.py:109 +msgid "68000" +msgstr "68000" + +#: lutris/runners/fsuae.py:110 +msgid "68010" +msgstr "68010" + +#: lutris/runners/fsuae.py:111 +msgid "68020 with 24-bit addressing" +msgstr "68020 với địa chỉ 24 bit" + +#: lutris/runners/fsuae.py:112 +msgid "68020" +msgstr "68020" + +#: lutris/runners/fsuae.py:113 +msgid "68030 without internal MMU" +msgstr "68030 không có MMU nội bộ" + +#: lutris/runners/fsuae.py:114 +msgid "68030" +msgstr "68030" + +#: lutris/runners/fsuae.py:115 +msgid "68040 without internal FPU and MMU" +msgstr "68040 không có FPU và MMU nội bộ" + +#: lutris/runners/fsuae.py:116 +msgid "68040 without internal FPU" +msgstr "68040 không có FPU nội bộ" + +#: lutris/runners/fsuae.py:117 +msgid "68040 without internal MMU" +msgstr "68040 không có MMU nội bộ" + +#: lutris/runners/fsuae.py:118 +msgid "68040" +msgstr "68040" + +#: lutris/runners/fsuae.py:119 +msgid "68060 without internal FPU and MMU" +msgstr "68060 không có FPU và MMU nội bộ" + +#: lutris/runners/fsuae.py:120 +msgid "68060 without internal FPU" +msgstr "68060 không có FPU nội bộ" + +#: lutris/runners/fsuae.py:121 +msgid "68060 without internal MMU" +msgstr "68060 không có MMU nội bộ" + +#: lutris/runners/fsuae.py:122 +msgid "68060" +msgstr "68060" + +#: lutris/runners/fsuae.py:126 lutris/runners/fsuae.py:133 lutris/runners/fsuae.py:167 +msgid "0" +msgstr "0" + +#: lutris/runners/fsuae.py:127 lutris/runners/fsuae.py:134 lutris/runners/fsuae.py:168 +msgid "1 MB" +msgstr "1 MB" + +#: lutris/runners/fsuae.py:128 lutris/runners/fsuae.py:135 lutris/runners/fsuae.py:169 +msgid "2 MB" +msgstr "2 MB" + +#: lutris/runners/fsuae.py:129 lutris/runners/fsuae.py:136 lutris/runners/fsuae.py:170 +msgid "4 MB" +msgstr "4 MB" + +#: lutris/runners/fsuae.py:130 lutris/runners/fsuae.py:137 lutris/runners/fsuae.py:171 +msgid "8 MB" +msgstr "8 MB" + +#: lutris/runners/fsuae.py:138 lutris/runners/fsuae.py:172 +msgid "16 MB" +msgstr "16 MB" + +#: lutris/runners/fsuae.py:139 lutris/runners/fsuae.py:173 +msgid "32 MB" +msgstr "32 MB" + +#: lutris/runners/fsuae.py:140 lutris/runners/fsuae.py:174 +msgid "64 MB" +msgstr "64 MB" + +#: lutris/runners/fsuae.py:141 lutris/runners/fsuae.py:175 +msgid "128 MB" +msgstr "128 MB" + +#: lutris/runners/fsuae.py:142 lutris/runners/fsuae.py:176 +msgid "256 MB" +msgstr "256 MB" + +#: lutris/runners/fsuae.py:143 +msgid "384 MB" +msgstr "384 MB" + +#: lutris/runners/fsuae.py:144 +msgid "512 MB" +msgstr "512 MB" + +#: lutris/runners/fsuae.py:145 +msgid "768 MB" +msgstr "768 MB" + +#: lutris/runners/fsuae.py:146 +msgid "1 GB" +msgstr "1 GB" + +#: lutris/runners/fsuae.py:179 +msgid "Turbo" +msgstr "Tăng áp" + +#: lutris/runners/fsuae.py:190 +msgid "Boot disk" +msgstr "Đĩa khởi động" + +#: lutris/runners/fsuae.py:193 +msgid "" +"The main floppy disk file with the game data. \n" +"FS-UAE supports floppy images in multiple file formats: ADF, IPF, DMS are the most common. ADZ (compressed ADF) and ADFs in zip files are a also supported.\n" +"Files ending in .hdf will be mounted as hard drives and ISOs can be used for Amiga CD32 and CDTV models." +msgstr "" +"Tệp đĩa mềm chính chứa dữ liệu trò chơi. \n" +"FS-UAE hỗ trợ hình ảnh đĩa mềm ở nhiều định dạng tệp: ADF, IPF, DMS là phổ biến nhất. ADZ (ADF nén) và ADF trong tệp zip cũng được hỗ trợ.\n" +"Các tệp có đuôi .hdf sẽ được gắn dưới dạng ổ cứng và ISO có thể được sử dụng cho các mẫu Amiga CD32 và CDTV." + +#: lutris/runners/fsuae.py:203 lutris/runners/fsuae.py:211 lutris/runners/fsuae.py:325 lutris/runners/fsuae.py:335 +msgid "Media" +msgstr "Phương tiện truyền thông" + +#: lutris/runners/fsuae.py:205 +msgid "Additional floppies" +msgstr "Đĩa mềm bổ sung" + +#: lutris/runners/fsuae.py:207 +msgid "The additional floppy disk image(s)." +msgstr "(Các) hình ảnh đĩa mềm bổ sung." + +#: lutris/runners/fsuae.py:212 +msgid "CD-ROM image" +msgstr "Hình ảnh CD-ROM" + +#: lutris/runners/fsuae.py:214 +msgid "CD-ROM image to use on non CD32/CDTV models" +msgstr "Hình ảnh CD-ROM để sử dụng trên các mẫu không phải CD32/CDTV" + +#: lutris/runners/fsuae.py:221 +msgid "Amiga model" +msgstr "Người mẫu Amiga" + +#: lutris/runners/fsuae.py:225 +msgid "Specify the Amiga model you want to emulate." +msgstr "Chỉ định mô hình Amiga bạn muốn mô phỏng." + +#: lutris/runners/fsuae.py:229 lutris/runners/fsuae.py:242 +msgid "Kickstart" +msgstr "Khởi động" + +#: lutris/runners/fsuae.py:230 +msgid "Kickstart ROMs location" +msgstr "Vị trí ROM Kickstart" + +#: lutris/runners/fsuae.py:233 +msgid "Choose the folder containing original Amiga Kickstart ROMs. Refer to FS-UAE documentation to find how to acquire them. Without these, FS-UAE uses a bundled replacement ROM which is less compatible with Amiga software." +msgstr "Chọn thư mục chứa ROM Amiga Kickstart gốc. Hãy tham khảo tài liệu của FS-UAE để tìm cách lấy chúng. Nếu không có những thứ này, FS-UAE sẽ sử dụng ROM thay thế đi kèm ít tương thích hơn với phần mềm Amiga." + +#: lutris/runners/fsuae.py:243 +msgid "Extended Kickstart location" +msgstr "Vị trí Kickstart mở rộng" + +#: lutris/runners/fsuae.py:245 +msgid "Location of extended Kickstart used for CD32" +msgstr "Vị trí Kickstart mở rộng sử dụng cho CD32" + +#: lutris/runners/fsuae.py:250 +msgid "Fullscreen (F12 + F to switch)" +msgstr "Toàn màn hình (F12 + F để chuyển đổi)" + +#: lutris/runners/fsuae.py:257 lutris/runners/o2em.py:87 +msgid "Scanlines display style" +msgstr "Kiểu hiển thị đường quét" + +#: lutris/runners/fsuae.py:260 lutris/runners/o2em.py:89 +msgid "Activates a display filter adding scanlines to imitate the displays of yesteryear." +msgstr "Kích hoạt bộ lọc hiển thị, thêm dòng quét để bắt chước cách hiển thị của năm qua." + +#: lutris/runners/fsuae.py:265 +msgid "Graphics Card" +msgstr "Card đồ họa" + +#: lutris/runners/fsuae.py:271 +msgid "Use this option to enable a graphics card. This option is none by default, in which case only chipset graphics (OCS/ECS/AGA) support is available." +msgstr "Sử dụng tùy chọn này để kích hoạt card đồ họa. Theo mặc định, tùy chọn này không có, trong trường hợp đó chỉ có hỗ trợ đồ họa chipset (OCS/ECS/AGA)." + +#: lutris/runners/fsuae.py:278 +msgid "Graphics Card RAM" +msgstr "RAM card đồ họa" + +#: lutris/runners/fsuae.py:284 +msgid "Override the amount of graphics memory on the graphics card. The 0 MB option is not really valid, but exists for user interface reasons." +msgstr "Ghi đè dung lượng bộ nhớ đồ họa trên card đồ họa. Tùy chọn 0 MB không thực sự hợp lệ nhưng tồn tại vì lý do giao diện người dùng." + +#: lutris/runners/fsuae.py:290 lutris/sysoptions.py:316 lutris/sysoptions.py:324 lutris/sysoptions.py:333 +msgid "CPU" +msgstr "CPU" + +#: lutris/runners/fsuae.py:296 +msgid "Use this option to override the CPU model in the emulated Amiga. All Amiga models imply a default CPU model, so you only need to use this option if you want to use another CPU." +msgstr "Sử dụng tùy chọn này để ghi đè kiểu CPU trong Amiga được mô phỏng. Tất cả các mẫu Amiga đều ngụ ý một mẫu CPU mặc định, vì vậy bạn chỉ cần sử dụng tùy chọn này nếu muốn sử dụng CPU khác." + +#: lutris/runners/fsuae.py:303 +msgid "Fast Memory" +msgstr "Bộ nhớ nhanh" + +#: lutris/runners/fsuae.py:308 +msgid "Specify how much Fast Memory the Amiga model should have." +msgstr "Chỉ định bao nhiêu Bộ nhớ nhanh mà mô hình Amiga nên có." + +#: lutris/runners/fsuae.py:312 +msgid "Zorro III RAM" +msgstr "RAM Zorro III" + +#: lutris/runners/fsuae.py:318 +msgid "Override the amount of Zorro III Fast memory, specified in KB. Must be a multiple of 1024. The default value depends on [amiga_model]. Requires a processor with 32-bit address bus, (use for example the A1200/020 model)." +msgstr "Ghi đè dung lượng bộ nhớ nhanh Zorro III, được chỉ định bằng KB. Phải là bội số của 1024. Giá trị mặc định phụ thuộc vào [amiga_model]. Yêu cầu bộ xử lý có bus địa chỉ 32 bit, (ví dụ: sử dụng kiểu A1200/020)." + +#: lutris/runners/fsuae.py:326 +msgid "Floppy Drive Volume" +msgstr "Dung lượng ổ đĩa mềm" + +#: lutris/runners/fsuae.py:331 +msgid "Set volume to 0 to disable floppy drive clicks when the drive is empty. Max volume is 100." +msgstr "Đặt âm lượng thành 0 để tắt thao tác bấm vào ổ đĩa mềm khi ổ đĩa trống. Âm lượng tối đa là 100." + +#: lutris/runners/fsuae.py:336 +msgid "Floppy Drive Speed" +msgstr "Tốc độ ổ đĩa mềm" + +#: lutris/runners/fsuae.py:342 +msgid "Set the speed of the emulated floppy drives, in percent. For example, you can specify 800 to get an 8x increase in speed. Use 0 to specify turbo mode. Turbo mode means that all floppy operations complete immediately. The default is 100 for most models." +msgstr "Đặt tốc độ của ổ đĩa mềm được mô phỏng theo phần trăm. Ví dụ: bạn có thể chỉ định 800 để tăng tốc độ lên 8 lần. Sử dụng 0 để chỉ định chế độ turbo. Chế độ Turbo có nghĩa là mọi thao tác trên đĩa mềm sẽ hoàn tất ngay lập tức. Mặc định là 100 cho hầu hết các kiểu máy." + +#: lutris/runners/fsuae.py:350 +msgid "JIT Compiler" +msgstr "Trình biên dịch JIT" + +#: lutris/runners/fsuae.py:357 +msgid "Feral GameMode" +msgstr "Chế độ trò chơi hoang dã" + +#: lutris/runners/fsuae.py:361 +msgid "Automatically uses Feral GameMode daemon if available. Set to true to disable the feature." +msgstr "Tự động sử dụng daemon Feral GameMode nếu có. Đặt thành true để tắt tính năng này." + +#: lutris/runners/fsuae.py:365 +msgid "CPU governor warning" +msgstr "Cảnh báo bộ điều khiển CPU" + +#: lutris/runners/fsuae.py:370 +msgid "Warn if running with a CPU governor other than performance. Set to true to disable the warning." +msgstr "Cảnh báo nếu chạy với bộ điều chỉnh CPU không phải hiệu năng. Đặt thành true để tắt cảnh báo." + +#: lutris/runners/fsuae.py:375 +msgid "UAE bsdsocket.library" +msgstr "Bsdsocket.library của UAE" + +#: lutris/runners/hatari.py:14 +msgid "Hatari" +msgstr "Hatari" + +#: lutris/runners/hatari.py:15 +msgid "Atari ST computers emulator" +msgstr "Trình giả lập máy tính Atari ST" + +#: lutris/runners/hatari.py:16 lutris/runners/scummvm.py:212 +msgid "Atari ST" +msgstr "Atari ST" + +#: lutris/runners/hatari.py:26 +msgid "Floppy Disk A" +msgstr "Đĩa mềm A" + +#: lutris/runners/hatari.py:28 lutris/runners/hatari.py:39 +msgid "Hatari supports floppy disk images in the following formats: ST, DIM, MSA, STX, IPF, RAW and CRT. The last three require the caps library (capslib). ZIP is supported, you don't need to uncompress the file." +msgstr "Hatari hỗ trợ hình ảnh đĩa mềm ở các định dạng sau: ST, DIM, MSA, STX, IPF, RAW và CRT. Ba cái cuối cùng yêu cầu thư viện mũ (capslib). Hỗ trợ ZIP, bạn không cần giải nén file." + +#: lutris/runners/hatari.py:37 +msgid "Floppy Disk B" +msgstr "Đĩa mềm B" + +#: lutris/runners/hatari.py:47 lutris/runners/redream.py:74 lutris/runners/zdoom.py:66 +msgid "None" +msgstr "Không có" + +#: lutris/runners/hatari.py:47 +msgid "Keyboard" +msgstr "Bàn phím" + +#: lutris/runners/hatari.py:47 lutris/runners/o2em.py:41 lutris/runners/scummvm.py:269 +msgid "Joystick" +msgstr "Cần điều khiển" + +#: lutris/runners/hatari.py:53 +msgid "Bios file (TOS)" +msgstr "Tệp tiểu sử (TOS)" + +#: lutris/runners/hatari.py:55 +msgid "" +"TOS is the operating system of the Atari ST and is necessary to run applications with the best fidelity, minimizing risks of issues.\n" +"TOS 1.02 is recommended for games." +msgstr "" +"TOS là hệ điều hành của Atari ST và cần thiết để chạy các ứng dụng với độ trung thực tốt nhất, giảm thiểu rủi ro về sự cố.\n" +"TOS 1.02 được khuyến nghị cho trò chơi." + +#: lutris/runners/hatari.py:72 +msgid "Scale up display by 2 (Atari ST/STE)" +msgstr "Tăng tỷ lệ hiển thị lên 2 (Atari ST/STE)" + +#: lutris/runners/hatari.py:74 +msgid "Double the screen size in windowed mode." +msgstr "Nhân đôi kích thước màn hình ở chế độ cửa sổ." + +#: lutris/runners/hatari.py:80 +msgid "Add borders to display" +msgstr "Thêm đường viền để hiển thị" + +#: lutris/runners/hatari.py:83 +msgid "Useful for some games and demos using the overscan technique. The Atari ST displayed borders around the screen because it was not powerful enough to display graphics in fullscreen. But people from the demo scene were able to remove them and some games made use of this technique." +msgstr "Hữu ích cho một số trò chơi và bản trình diễn sử dụng kỹ thuật quét quá mức. Atari ST hiển thị viền xung quanh màn hình vì nó không đủ mạnh để hiển thị đồ họa ở chế độ toàn màn hình. Nhưng những người trong cảnh demo đã có thể loại bỏ chúng và một số trò chơi đã sử dụng kỹ thuật này." + +#: lutris/runners/hatari.py:95 +msgid "Display status bar" +msgstr "Hiển thị thanh trạng thái" + +#: lutris/runners/hatari.py:98 +msgid "Displays a status bar with some useful information, like green leds lighting up when the floppy disks are read." +msgstr "Hiển thị thanh trạng thái với một số thông tin hữu ích, chẳng hạn như đèn LED màu xanh lá cây sáng lên khi đọc đĩa mềm." + +#: lutris/runners/hatari.py:106 lutris/runners/hatari.py:114 +msgid "Joysticks" +msgstr "Cần điều khiển" + +#: lutris/runners/hatari.py:107 +msgid "Joystick 0" +msgstr "Cần điều khiển 0" + +#: lutris/runners/hatari.py:115 +msgid "Joystick 1" +msgstr "Cần điều khiển 1" + +#: lutris/runners/hatari.py:126 +msgid "Do you want to select an Atari ST BIOS file?" +msgstr "Bạn có muốn chọn tệp Atari ST BIOS không?" + +#: lutris/runners/hatari.py:127 +msgid "Use BIOS file?" +msgstr "Sử dụng tập tin BIOS?" + +#: lutris/runners/hatari.py:128 +msgid "Select a BIOS file" +msgstr "Chọn một tập tin BIOS" + +#: lutris/runners/jzintv.py:13 +msgid "jzIntv" +msgstr "jzIntv" + +#: lutris/runners/jzintv.py:14 +msgid "Intellivision Emulator" +msgstr "Trình giả lập thông minh" + +#: lutris/runners/jzintv.py:15 +msgid "Intellivision" +msgstr "Trí tuệ" + +#: lutris/runners/jzintv.py:24 +msgid "" +"The game data, commonly called a ROM image. \n" +"Supported formats: ROM, BIN+CFG, INT, ITV \n" +"The file extension must be lower-case." +msgstr "" +"Dữ liệu trò chơi, thường được gọi là hình ảnh ROM. \n" +"Các định dạng được hỗ trợ: ROM, BIN+CFG, INT, ITV \n" +"Phần mở rộng của tập tin phải là chữ thường." + +#: lutris/runners/jzintv.py:34 +msgid "Bios location" +msgstr "Vị trí tiểu sử" + +#: lutris/runners/jzintv.py:36 +msgid "" +"Choose the folder containing the Intellivision BIOS files (exec.bin and grom.bin).\n" +"These files contain code from the original hardware necessary to the emulation." +msgstr "" +"Chọn thư mục chứa các tệp BIOS Intellivision (exec.bin và grom.bin).\n" +"Các tệp này chứa mã từ phần cứng ban đầu cần thiết cho quá trình mô phỏng." + +#: lutris/runners/jzintv.py:47 +msgid "Resolution" +msgstr "Nghị quyết" + +#: lutris/runners/libretro.py:69 +msgid "Libretro" +msgstr "Viết tự do" + +#: lutris/runners/libretro.py:70 +msgid "Multi-system emulator" +msgstr "Trình mô phỏng đa hệ thống" + +#: lutris/runners/libretro.py:80 +msgid "Core" +msgstr "Cốt lõi" + +#: lutris/runners/libretro.py:89 lutris/runners/zdoom.py:76 +msgid "Config file" +msgstr "Tập tin cấu hình" + +#: lutris/runners/libretro.py:101 +msgid "Verbose logging" +msgstr "Ghi nhật ký dài dòng" + +#: lutris/runners/libretro.py:150 +msgid "The installer does not specify the libretro 'core' version." +msgstr "Trình cài đặt không chỉ định phiên bản 'lõi' libretro." + +#: lutris/runners/libretro.py:246 +msgid "The emulator files BIOS location must be configured in the Preferences dialog." +msgstr "Vị trí BIOS của tệp trình mô phỏng phải được định cấu hình trong hộp thoại Tùy chọn." + +#: lutris/runners/libretro.py:292 +msgid "No core has been selected for this game" +msgstr "Không có lõi nào được chọn cho trò chơi này" + +#: lutris/runners/libretro.py:298 +msgid "No game file specified" +msgstr "Không có tệp trò chơi nào được chỉ định" + +#: lutris/runners/linux.py:18 +msgid "Runs native games" +msgstr "Chạy các trò chơi gốc" + +#: lutris/runners/linux.py:27 lutris/runners/wine.py:210 +msgid "Executable" +msgstr "Có thể thực thi" + +#: lutris/runners/linux.py:28 +msgid "The game's main executable file" +msgstr "Tệp thực thi chính của trò chơi" + +#: lutris/runners/linux.py:33 lutris/runners/mame.py:126 lutris/runners/scummvm.py:66 lutris/runners/steam.py:49 lutris/runners/steam.py:86 lutris/runners/wine.py:216 lutris/runners/zdoom.py:28 +msgid "Arguments" +msgstr "Đối số" + +#: lutris/runners/linux.py:34 lutris/runners/mame.py:127 lutris/runners/scummvm.py:67 +msgid "Command line arguments used when launching the game" +msgstr "Đối số dòng lệnh được sử dụng khi khởi chạy trò chơi" + +#: lutris/runners/linux.py:47 +msgid "Preload library" +msgstr "Thư viện tải trước" + +#: lutris/runners/linux.py:49 +msgid "A library to load before running the game's executable." +msgstr "Một thư viện để tải trước khi chạy tệp thực thi của trò chơi." + +#: lutris/runners/linux.py:54 +msgid "Add directory to LD_LIBRARY_PATH" +msgstr "Thêm thư mục vào LD_LIBRARY_PATH" + +#: lutris/runners/linux.py:57 +msgid "A directory where libraries should be searched for first, before the standard set of directories; this is useful when debugging a new library or using a nonstandard library for special purposes." +msgstr "Một thư mục trong đó các thư viện nên được tìm kiếm đầu tiên, trước bộ thư mục tiêu chuẩn; điều này hữu ích khi gỡ lỗi một thư viện mới hoặc sử dụng thư viện không chuẩn cho các mục đích đặc biệt." + +#: lutris/runners/linux.py:139 +msgid "The runner could not find a command or exe to use for this configuration." +msgstr "Runner không thể tìm thấy lệnh hoặc exe để sử dụng cho cấu hình này." + +#: lutris/runners/linux.py:162 +#, python-format +msgid "The file %s is not executable" +msgstr "Tệp %s không thể thực thi được" + +#: lutris/runners/mame.py:66 lutris/services/mame.py:13 +msgid "MAME" +msgstr "MAME" + +#: lutris/runners/mame.py:67 +msgid "Arcade game emulator" +msgstr "Trình giả lập trò chơi điện tử" + +#: lutris/runners/mame.py:87 lutris/runners/mednafen.py:67 +msgid "The emulated machine." +msgstr "Máy mô phỏng." + +#: lutris/runners/mame.py:92 +msgid "Storage type" +msgstr "Loại lưu trữ" + +#: lutris/runners/mame.py:94 +msgid "Floppy disk" +msgstr "Đĩa mềm" + +#: lutris/runners/mame.py:95 +msgid "Floppy drive 1" +msgstr "Ổ đĩa mềm 1" + +#: lutris/runners/mame.py:96 +msgid "Floppy drive 2" +msgstr "Ổ đĩa mềm 2" + +#: lutris/runners/mame.py:97 +msgid "Floppy drive 3" +msgstr "Ổ đĩa mềm 3" + +#: lutris/runners/mame.py:98 +msgid "Floppy drive 4" +msgstr "Ổ đĩa mềm 4" + +#: lutris/runners/mame.py:99 +msgid "Cassette (tape)" +msgstr "Băng cassette)" + +#: lutris/runners/mame.py:100 +msgid "Cassette 1 (tape)" +msgstr "Băng 1 (băng)" + +#: lutris/runners/mame.py:101 +msgid "Cassette 2 (tape)" +msgstr "Băng 2 (băng)" + +#: lutris/runners/mame.py:102 +msgid "Cartridge" +msgstr "Hộp mực" + +#: lutris/runners/mame.py:103 +msgid "Cartridge 1" +msgstr "Hộp mực 1" + +#: lutris/runners/mame.py:104 +msgid "Cartridge 2" +msgstr "Hộp mực 2" + +#: lutris/runners/mame.py:105 +msgid "Cartridge 3" +msgstr "Hộp mực 3" + +#: lutris/runners/mame.py:106 +msgid "Cartridge 4" +msgstr "Hộp mực 4" + +#: lutris/runners/mame.py:107 +msgid "Snapshot" +msgstr "Ảnh chụp nhanh" + +#: lutris/runners/mame.py:108 +msgid "Hard Disk" +msgstr "Đĩa cứng" + +#: lutris/runners/mame.py:109 +msgid "Hard Disk 1" +msgstr "Đĩa cứng 1" + +#: lutris/runners/mame.py:110 +msgid "Hard Disk 2" +msgstr "Đĩa cứng 2" + +#: lutris/runners/mame.py:111 +msgid "CD-ROM" +msgstr "CD-ROM" + +#: lutris/runners/mame.py:112 +msgid "CD-ROM 1" +msgstr "CD-ROM 1" + +#: lutris/runners/mame.py:113 +msgid "CD-ROM 2" +msgstr "CD-ROM 2" + +#: lutris/runners/mame.py:114 +msgid "Snapshot (dump)" +msgstr "Ảnh chụp nhanh (đổ)" + +#: lutris/runners/mame.py:115 +msgid "Quickload" +msgstr "Tải nhanh" + +#: lutris/runners/mame.py:116 +msgid "Memory Card" +msgstr "Thẻ nhớ" + +#: lutris/runners/mame.py:117 +msgid "Cylinder" +msgstr "Xi lanh" + +#: lutris/runners/mame.py:118 +msgid "Punch Tape 1" +msgstr "Băng đục lỗ 1" + +#: lutris/runners/mame.py:119 +msgid "Punch Tape 2" +msgstr "Băng đấm 2" + +#: lutris/runners/mame.py:120 +msgid "Print Out" +msgstr "In ra" + +#: lutris/runners/mame.py:138 lutris/runners/mame.py:145 +msgid "Autoboot" +msgstr "Tự động khởi động" + +#: lutris/runners/mame.py:139 +msgid "Autoboot command" +msgstr "Lệnh tự động khởi động" + +#: lutris/runners/mame.py:140 +msgid "Autotype this command when the system has started, an enter keypress is automatically added." +msgstr "Tự động gõ lệnh này khi hệ thống đã khởi động, phím enter sẽ tự động được thêm vào." + +#: lutris/runners/mame.py:146 +msgid "Delay before entering autoboot command" +msgstr "Trì hoãn trước khi vào lệnh autoboot" + +#: lutris/runners/mame.py:156 +msgid "ROM/BIOS path" +msgstr "Đường dẫn ROM/BIOS" + +#: lutris/runners/mame.py:158 +msgid "" +"Choose the folder containing ROMs and BIOS files.\n" +"These files contain code from the original hardware necessary to the emulation." +msgstr "" +"Chọn thư mục chứa file ROM và BIOS.\n" +"Các tệp này chứa mã từ phần cứng ban đầu cần thiết cho quá trình mô phỏng." + +#: lutris/runners/mame.py:174 +msgid "CRT effect ()" +msgstr "Hiệu ứng CRT ()" + +#: lutris/runners/mame.py:175 +msgid "Applies a CRT effect to the screen.Requires OpenGL renderer." +msgstr "Áp dụng hiệu ứng CRT cho màn hình.Yêu cầu trình kết xuất OpenGL." + +#: lutris/runners/mame.py:181 lutris/runners/scummvm.py:464 lutris/runners/scummvm.py:472 +msgid "Debugging" +msgstr "Gỡ lỗi" + +#: lutris/runners/mame.py:182 +msgid "Verbose" +msgstr "Dài dòng" + +#: lutris/runners/mame.py:183 +msgid "display additional diagnostic information." +msgstr "hiển thị thông tin chẩn đoán bổ sung." + +#: lutris/runners/mame.py:191 +msgid "Video backend" +msgstr "Phần phụ trợ video" + +#: lutris/runners/mame.py:197 lutris/runners/scummvm.py:187 lutris/runners/vice.py:74 +msgid "Software" +msgstr "Phần mềm" + +#: lutris/runners/mame.py:205 +msgid "Wait for VSync" +msgstr "Đợi VSync" + +#: lutris/runners/mame.py:206 +msgid "Enable waiting for the start of vblank before flipping screens; reduces tearing effects." +msgstr "Cho phép chờ bắt đầu vblank trước khi lật màn hình; làm giảm tác dụng xé rách." + +#: lutris/runners/mame.py:213 +msgid "Menu mode key" +msgstr "Phím chế độ menu" + +#: lutris/runners/mame.py:215 +msgid "Scroll Lock" +msgstr "Khóa cuộn" + +#: lutris/runners/mame.py:216 +msgid "Num Lock" +msgstr "Khóa số" + +#: lutris/runners/mame.py:217 +msgid "Caps Lock" +msgstr "Khóa mũ" + +#: lutris/runners/mame.py:218 +msgid "Menu" +msgstr "Thực đơn" + +#: lutris/runners/mame.py:219 +msgid "Right Control" +msgstr "Kiểm soát bên phải" + +#: lutris/runners/mame.py:220 +msgid "Left Control" +msgstr "Điều khiển bên trái" + +#: lutris/runners/mame.py:221 +msgid "Right Alt" +msgstr "Alt phải" + +#: lutris/runners/mame.py:222 +msgid "Left Alt" +msgstr "Alt trái" + +#: lutris/runners/mame.py:223 +msgid "Right Super" +msgstr "Đúng siêu" + +#: lutris/runners/mame.py:224 +msgid "Left Super" +msgstr "Siêu trái" + +#: lutris/runners/mame.py:228 +msgid "Key to switch between Full Keyboard Mode and Partial Keyboard Mode (default: Scroll Lock)" +msgstr "Phím chuyển đổi giữa Chế độ bàn phím đầy đủ và Chế độ bàn phím một phần (mặc định: Scroll Lock)" + +#: lutris/runners/mame.py:241 lutris/runners/mame.py:288 +msgid "Arcade" +msgstr "Trò chơi điện tử" + +#: lutris/runners/mame.py:241 lutris/runners/mame.py:287 +msgid "Nintendo Game & Watch" +msgstr "Trò chơi & Đồng hồ Nintendo" + +#: lutris/runners/mame.py:337 +#, python-format +msgid "No device is set for machine %s" +msgstr "Chưa có thiết bị nào được đặt cho máy %s" + +#: lutris/runners/mame.py:347 +#, python-format +msgid "The path '%s' is not set. please set it in the options." +msgstr "Đường dẫn '%s' chưa được đặt. vui lòng đặt nó trong các tùy chọn." + +#: lutris/runners/mednafen.py:18 +msgid "Mednafen" +msgstr "Mednafen" + +#: lutris/runners/mednafen.py:19 +msgid "Multi-system emulator: NES, PC Engine, PSX…" +msgstr "Trình giả lập đa hệ thống: NES, PC Engine, PSX…" + +#: lutris/runners/mednafen.py:21 +msgid "Nintendo Game Boy (Color)" +msgstr "Nintendo Game Boy (Màu)" + +#: lutris/runners/mednafen.py:22 +msgid "Nintendo Game Boy Advance" +msgstr "Nintendo Game Boy Advance" + +#: lutris/runners/mednafen.py:23 +msgid "Sega Game Gear" +msgstr "Thiết bị trò chơi Sega" + +#: lutris/runners/mednafen.py:24 +msgid "Sega Genesis/Mega Drive" +msgstr "Sega Genesis/Mega Drive" + +#: lutris/runners/mednafen.py:25 +msgid "Atari Lynx" +msgstr "Atari Lynx" + +#: lutris/runners/mednafen.py:26 lutris/runners/osmose.py:14 +msgid "Sega Master System" +msgstr "Hệ thống Sega Master" + +#: lutris/runners/mednafen.py:27 +msgid "SNK Neo Geo Pocket (Color)" +msgstr "Túi SNK Neo Geo (Màu)" + +#: lutris/runners/mednafen.py:28 +msgid "Nintendo NES" +msgstr "Nintendo NES" + +#: lutris/runners/mednafen.py:29 +msgid "NEC PC Engine TurboGrafx-16" +msgstr "Động cơ PC NEC TurboGrafx-16" + +#: lutris/runners/mednafen.py:30 +msgid "NEC PC-FX" +msgstr "NEC PC-FX" + +#: lutris/runners/mednafen.py:32 +msgid "Sega Saturn" +msgstr "Sega Saturn" + +#: lutris/runners/mednafen.py:33 lutris/runners/snes9x.py:20 +msgid "Nintendo SNES" +msgstr "Nintendo SNES" + +#: lutris/runners/mednafen.py:34 +msgid "Bandai WonderSwan" +msgstr "Bandai WonderSwan" + +#: lutris/runners/mednafen.py:35 +msgid "Nintendo Virtual Boy" +msgstr "Cậu bé ảo Nintendo" + +#: lutris/runners/mednafen.py:38 +msgid "Game Boy (Color)" +msgstr "Game Boy (Màu sắc)" + +#: lutris/runners/mednafen.py:39 +msgid "Game Boy Advance" +msgstr "Game Boy Advance" + +#: lutris/runners/mednafen.py:40 +msgid "Game Gear" +msgstr "Thiết bị trò chơi" + +#: lutris/runners/mednafen.py:41 +msgid "Genesis/Mega Drive" +msgstr "Genesis/Mega Drive" + +#: lutris/runners/mednafen.py:42 +msgid "Lynx" +msgstr "Lynx" + +#: lutris/runners/mednafen.py:43 +msgid "Master System" +msgstr "Hệ thống tổng thể" + +#: lutris/runners/mednafen.py:44 +msgid "Neo Geo Pocket (Color)" +msgstr "Túi Neo Geo (Màu)" + +#: lutris/runners/mednafen.py:45 +msgid "NES" +msgstr "NES" + +#: lutris/runners/mednafen.py:46 +msgid "PC Engine" +msgstr "Động cơ PC" + +#: lutris/runners/mednafen.py:47 +msgid "PC-FX" +msgstr "PC-FX" + +#: lutris/runners/mednafen.py:48 +msgid "PlayStation" +msgstr "PlayStation" + +#: lutris/runners/mednafen.py:49 +msgid "Saturn" +msgstr "Saturn" + +#: lutris/runners/mednafen.py:50 +msgid "SNES" +msgstr "SNES" + +#: lutris/runners/mednafen.py:51 +msgid "WonderSwan" +msgstr "WonderSwan" + +#: lutris/runners/mednafen.py:52 +msgid "Virtual Boy" +msgstr "Cậu bé ảo" + +#: lutris/runners/mednafen.py:60 +msgid "" +"The game data, commonly called a ROM image. \n" +"Mednafen supports GZIP and ZIP compressed ROMs." +msgstr "" +"Dữ liệu trò chơi, thường được gọi là hình ảnh ROM. \n" +"Mednafen hỗ trợ ROM nén GZIP và ZIP." + +#: lutris/runners/mednafen.py:65 +msgid "Machine type" +msgstr "Loại máy" + +#: lutris/runners/mednafen.py:76 +msgid "Aspect ratio" +msgstr "Tỷ lệ khung hình" + +#: lutris/runners/mednafen.py:79 +msgid "Stretched" +msgstr "Kéo dài" + +#: lutris/runners/mednafen.py:80 lutris/runners/vice.py:66 +msgid "Preserve aspect ratio" +msgstr "Giữ nguyên tỷ lệ khung hình" + +#: lutris/runners/mednafen.py:81 +msgid "Integer scale" +msgstr "Thang số nguyên" + +#: lutris/runners/mednafen.py:82 +msgid "Multiple of 2 scale" +msgstr "Tỉ lệ bội số của 2" + +#: lutris/runners/mednafen.py:90 +msgid "Video scaler" +msgstr "Bộ chia tỷ lệ video" + +#: lutris/runners/mednafen.py:114 +msgid "Sound device" +msgstr "Thiết bị âm thanh" + +#: lutris/runners/mednafen.py:116 +msgid "Mednafen default" +msgstr "Mednafen mặc định" + +#: lutris/runners/mednafen.py:117 +msgid "ALSA default" +msgstr "ALSA mặc định" + +#: lutris/runners/mednafen.py:127 +msgid "Use default Mednafen controller configuration" +msgstr "Sử dụng cấu hình bộ điều khiển Mednafen mặc định" + +#: lutris/runners/mupen64plus.py:13 +msgid "Mupen64Plus" +msgstr "Mupen64Plus" + +#: lutris/runners/mupen64plus.py:14 +msgid "Nintendo 64 emulator" +msgstr "Trình giả lập Nintendo 64" + +#: lutris/runners/mupen64plus.py:15 +msgid "Nintendo 64" +msgstr "Nintendo 64" + +#: lutris/runners/mupen64plus.py:22 lutris/runners/o2em.py:49 lutris/runners/openmsx.py:21 lutris/runners/ryujinx.py:26 lutris/runners/snes9x.py:30 lutris/runners/yuzu.py:24 +msgid "The game data, commonly called a ROM image." +msgstr "Dữ liệu trò chơi, thường được gọi là hình ảnh ROM." + +#: lutris/runners/mupen64plus.py:32 +msgid "Hide OSD" +msgstr "Ẩn OSD" + +#: lutris/runners/o2em.py:13 +msgid "O2EM" +msgstr "O2EM" + +#: lutris/runners/o2em.py:14 +msgid "Magnavox Odyssey² Emulator" +msgstr "Trình giả lập Magnavox Odyssey²" + +#: lutris/runners/o2em.py:16 lutris/runners/o2em.py:32 +msgid "Magnavox Odyssey²" +msgstr "Magnavox Odyssey²" + +#: lutris/runners/o2em.py:17 lutris/runners/o2em.py:33 +msgid "Phillips C52" +msgstr "Phillips C52" + +#: lutris/runners/o2em.py:18 lutris/runners/o2em.py:34 +msgid "Phillips Videopac+" +msgstr "Phillips Videopac+" + +#: lutris/runners/o2em.py:19 lutris/runners/o2em.py:35 +msgid "Brandt Jopac" +msgstr "Brandt Jopac" + +#: lutris/runners/o2em.py:38 lutris/runners/wine.py:519 +msgid "Disable" +msgstr "Vô hiệu hóa" + +#: lutris/runners/o2em.py:39 +msgid "Arrow Keys and Right Shift" +msgstr "Phím mũi tên và Shift phải" + +#: lutris/runners/o2em.py:40 +msgid "W,S,A,D,SPACE" +msgstr "W, S, A, D, KHÔNG GIAN" + +#: lutris/runners/o2em.py:57 +msgid "BIOS" +msgstr "BIOS" + +#: lutris/runners/o2em.py:65 +msgid "First controller" +msgstr "Bộ điều khiển đầu tiên" + +#: lutris/runners/o2em.py:73 +msgid "Second controller" +msgstr "Bộ điều khiển thứ hai" + +#: lutris/runners/openmsx.py:12 +msgid "openMSX" +msgstr "openMSX" + +#: lutris/runners/openmsx.py:13 +msgid "MSX computer emulator" +msgstr "Trình giả lập máy tính MSX" + +#: lutris/runners/openmsx.py:14 +msgid "MSX, MSX2, MSX2+, MSX turboR" +msgstr "MSX, MSX2, MSX2+, MSX turboR" + +#: lutris/runners/osmose.py:12 +msgid "Osmose" +msgstr "Thẩm thấu" + +#: lutris/runners/osmose.py:13 +msgid "Sega Master System Emulator" +msgstr "Trình giả lập hệ thống Sega Master" + +#: lutris/runners/osmose.py:23 +msgid "" +"The game data, commonly called a ROM image.\n" +"Supported formats: SMS and GG files. ZIP compressed ROMs are supported." +msgstr "" +"Dữ liệu trò chơi, thường được gọi là hình ảnh ROM.\n" +"Các định dạng được hỗ trợ: tệp SMS và GG. ROM nén ZIP được hỗ trợ." + +#: lutris/runners/pcsx2.py:12 +msgid "PCSX2" +msgstr "PCSX2" + +#: lutris/runners/pcsx2.py:13 +msgid "PlayStation 2 emulator" +msgstr "Trình giả lập PlayStation 2" + +#: lutris/runners/pcsx2.py:14 +msgid "Sony PlayStation 2" +msgstr "Sony PlayStation 2" + +#: lutris/runners/pcsx2.py:34 +msgid "Fullboot" +msgstr "Khởi động đầy đủ" + +#: lutris/runners/pcsx2.py:35 lutris/runners/rpcs3.py:26 +msgid "No GUI" +msgstr "Không có GUI" + +#: lutris/runners/pico8.py:21 +msgid "Runs PICO-8 fantasy console cartridges" +msgstr "Chạy hộp mực bảng điều khiển tưởng tượng PICO-8" + +#: lutris/runners/pico8.py:23 lutris/runners/pico8.py:24 +msgid "PICO-8" +msgstr "PICO-8" + +#: lutris/runners/pico8.py:29 +msgid "Cartridge file/URL/ID" +msgstr "Tệp hộp mực/URL/ID" + +#: lutris/runners/pico8.py:30 +msgid "You can put a .p8.png file path, URL, or BBS cartridge ID here." +msgstr "Bạn có thể đặt đường dẫn tệp .p8.png, URL hoặc ID hộp mực BBS tại đây." + +#: lutris/runners/pico8.py:41 +msgid "Launch in fullscreen." +msgstr "Khởi chạy ở chế độ toàn màn hình." + +#: lutris/runners/pico8.py:46 lutris/runners/web.py:47 +msgid "Window size" +msgstr "Kích thước cửa sổ" + +#: lutris/runners/pico8.py:49 +msgid "The initial size of the game window." +msgstr "Kích thước ban đầu của cửa sổ trò chơi." + +#: lutris/runners/pico8.py:54 +msgid "Start in splore mode" +msgstr "Bắt đầu ở chế độ splore" + +#: lutris/runners/pico8.py:60 +msgid "Extra arguments" +msgstr "Đối số bổ sung" + +#: lutris/runners/pico8.py:62 +msgid "Extra arguments to the executable" +msgstr "Đối số bổ sung cho tệp thực thi" + +#: lutris/runners/pico8.py:68 +msgid "Engine (web only)" +msgstr "Công cụ (chỉ trên web)" + +#: lutris/runners/pico8.py:70 +msgid "Name of engine (will be downloaded) or local file path" +msgstr "Tên của công cụ (sẽ được tải xuống) hoặc đường dẫn tệp cục bộ" + +#: lutris/runners/redream.py:10 +msgid "Redream" +msgstr "Redream" + +#: lutris/runners/redream.py:11 lutris/runners/reicast.py:17 +msgid "Sega Dreamcast emulator" +msgstr "Trình giả lập Sega Dreamcast" + +#: lutris/runners/redream.py:12 lutris/runners/reicast.py:18 +msgid "Sega Dreamcast" +msgstr "Sega Dreamcast" + +#: lutris/runners/redream.py:19 lutris/runners/reicast.py:28 +msgid "Disc image file" +msgstr "Tập tin ảnh đĩa" + +#: lutris/runners/redream.py:20 +msgid "" +"Game data file\n" +"Supported formats: GDI, CDI, CHD" +msgstr "" +"Tệp dữ liệu trò chơi\n" +"Các định dạng được hỗ trợ: GDI, CDI, CHD" + +#: lutris/runners/redream.py:29 +msgid "Aspect Ratio" +msgstr "Tỷ lệ khung hình" + +#: lutris/runners/redream.py:30 +msgid "4:3" +msgstr "4:3" + +#: lutris/runners/redream.py:36 +msgid "Region" +msgstr "Vùng đất" + +#: lutris/runners/redream.py:37 +msgid "USA" +msgstr "USA" + +#: lutris/runners/redream.py:37 +msgid "Europe" +msgstr "Châu Âu" + +#: lutris/runners/redream.py:37 +msgid "Japan" +msgstr "Nhật Bản" + +#: lutris/runners/redream.py:43 +msgid "System Language" +msgstr "Ngôn ngữ hệ thống" + +#: lutris/runners/redream.py:45 lutris/sysoptions.py:32 +msgid "English" +msgstr "Tiếng Anh" + +#: lutris/runners/redream.py:46 lutris/sysoptions.py:36 +msgid "German" +msgstr "Tiếng Đức" + +#: lutris/runners/redream.py:47 lutris/sysoptions.py:34 +msgid "French" +msgstr "Người Pháp" + +#: lutris/runners/redream.py:48 lutris/sysoptions.py:44 +msgid "Spanish" +msgstr "Tiếng Tây Ban Nha" + +#: lutris/runners/redream.py:49 lutris/sysoptions.py:38 +msgid "Italian" +msgstr "Người Ý" + +#: lutris/runners/redream.py:59 +msgid "NTSC" +msgstr "NTSC" + +#: lutris/runners/redream.py:60 +msgid "PAL" +msgstr "PAL" + +#: lutris/runners/redream.py:61 +msgid "PAL-M (Brazil)" +msgstr "PAL-M (Brazil)" + +#: lutris/runners/redream.py:62 +msgid "PAL-N (Argentina, Paraguay, Uruguay)" +msgstr "PAL-N (Argentina, Paraguay, Uruguay)" + +#: lutris/runners/redream.py:69 +msgid "Time Sync" +msgstr "Đồng bộ hóa thời gian" + +#: lutris/runners/redream.py:71 +msgid "Audio and video" +msgstr "Âm thanh và video" + +#: lutris/runners/redream.py:73 +msgid "Video" +msgstr "Băng hình" + +#: lutris/runners/redream.py:82 +msgid "Internal Video Resolution Scale" +msgstr "Thang đo độ phân giải video nội bộ" + +#: lutris/runners/redream.py:95 +msgid "Only available in premium version." +msgstr "Chỉ có sẵn trong phiên bản cao cấp." + +#: lutris/runners/redream.py:102 +msgid "Do you want to select a premium license file?" +msgstr "Bạn có muốn chọn một tập tin giấy phép cao cấp?" + +#: lutris/runners/redream.py:103 lutris/runners/redream.py:104 +msgid "Use premium version?" +msgstr "Sử dụng phiên bản cao cấp?" + +#: lutris/runners/reicast.py:16 +msgid "Reicast" +msgstr "Phát lại" + +#: lutris/runners/reicast.py:29 +msgid "" +"The game data.\n" +"Supported formats: ISO, CDI" +msgstr "" +"Dữ liệu trò chơi.\n" +"Các định dạng được hỗ trợ: ISO, CDI" + +#: lutris/runners/reicast.py:46 lutris/runners/reicast.py:54 lutris/runners/reicast.py:62 lutris/runners/reicast.py:70 +msgid "Gamepads" +msgstr "Tay cầm chơi game" + +#: lutris/runners/reicast.py:47 +msgid "Gamepad 1" +msgstr "Tay cầm chơi game 1" + +#: lutris/runners/reicast.py:55 +msgid "Gamepad 2" +msgstr "Tay cầm chơi game 2" + +#: lutris/runners/reicast.py:63 +msgid "Gamepad 3" +msgstr "Tay cầm chơi game 3" + +#: lutris/runners/reicast.py:71 +msgid "Gamepad 4" +msgstr "Tay cầm chơi game 4" + +#: lutris/runners/rpcs3.py:12 +msgid "RPCS3" +msgstr "RPCS3" + +#: lutris/runners/rpcs3.py:13 +msgid "PlayStation 3 emulator" +msgstr "Trình giả lập PlayStation 3" + +#: lutris/runners/rpcs3.py:14 +msgid "Sony PlayStation 3" +msgstr "Sony PlayStation 3" + +#: lutris/runners/rpcs3.py:23 +msgid "Path to EBOOT.BIN" +msgstr "Đường dẫn tới EBOOT.BIN" + +#: lutris/runners/runner.py:160 +msgid "Custom executable for the runner" +msgstr "Thực thi tùy chỉnh cho runner" + +#: lutris/runners/runner.py:167 +msgid "Side Panel" +msgstr "Bảng điều khiển bên" + +#: lutris/runners/runner.py:170 +msgid "Visible in Side Panel" +msgstr "Hiển thị trong Bảng điều khiển bên" + +#: lutris/runners/runner.py:174 +msgid "Show this runner in the side panel if it is installed or available through Flatpak." +msgstr "Hiển thị trình chạy này trong bảng điều khiển bên nếu nó được cài đặt hoặc có sẵn thông qua Flatpak." + +#: lutris/runners/runner.py:189 lutris/runners/runner.py:198 lutris/runners/vice.py:115 lutris/util/system.py:261 +#, python-format +msgid "The executable '%s' could not be found." +msgstr "Không thể tìm thấy tệp thực thi '%s'." + +#: lutris/runners/runner.py:453 +msgid "" +"The required runner is not installed.\n" +"Do you wish to install it now?" +msgstr "" +"Runner cần thiết chưa được cài đặt.\n" +"Bạn có muốn cài đặt nó ngay bây giờ không?" + +#: lutris/runners/runner.py:454 +msgid "Required runner unavailable" +msgstr "Runner bắt buộc không có sẵn" + +#: lutris/runners/runner.py:509 +msgid "Failed to retrieve {} ({}) information" +msgstr "Không truy xuất được thông tin {} ({})" + +#: lutris/runners/runner.py:514 +#, python-format +msgid "The '%s' version of the '%s' runner can't be downloaded." +msgstr "Không thể tải xuống phiên bản '%s' của trình chạy '%s'." + +#: lutris/runners/runner.py:517 +#, python-format +msgid "The the '%s' runner can't be downloaded." +msgstr "Không thể tải xuống trình chạy '%s'." + +#: lutris/runners/runner.py:546 +msgid "Failed to extract {}" +msgstr "Không thể giải nén {}" + +#: lutris/runners/runner.py:551 +msgid "Failed to extract {}: {}" +msgstr "Không thể giải nén {}: {}" + +#: lutris/runners/ryujinx.py:13 +msgid "Ryujinx" +msgstr "Ryujinx" + +#: lutris/runners/ryujinx.py:14 lutris/runners/yuzu.py:14 +msgid "Nintendo Switch" +msgstr "Nintendo Switch" + +#: lutris/runners/ryujinx.py:15 lutris/runners/yuzu.py:15 +msgid "Nintendo Switch emulator" +msgstr "Trình giả lập Nintendo Switch" + +#: lutris/runners/ryujinx.py:25 +msgid "NSP file" +msgstr "Tập tin NSP" + +#: lutris/runners/ryujinx.py:32 lutris/runners/yuzu.py:30 +msgid "Encryption keys" +msgstr "Khóa mã hóa" + +#: lutris/runners/ryujinx.py:34 lutris/runners/yuzu.py:32 +msgid "File containing the encryption keys." +msgstr "Tệp chứa các khóa mã hóa." + +#: lutris/runners/ryujinx.py:38 lutris/runners/yuzu.py:36 +msgid "Title keys" +msgstr "Phím tiêu đề" + +#: lutris/runners/ryujinx.py:40 lutris/runners/yuzu.py:38 +msgid "File containing the title keys." +msgstr "Tệp chứa các phím tiêu đề." + +#: lutris/runners/scummvm.py:32 +msgid "Warning Scalers may not work with OpenGL rendering." +msgstr "Cảnh báo Bộ chia tỷ lệ có thể không hoạt động với kết xuất OpenGL." + +#: lutris/runners/scummvm.py:45 +#, python-format +msgid "Warning The '%s' scaler does not work with a scale factor of %s." +msgstr "Cảnh báo Bộ chia tỷ lệ '%s' không hoạt động với hệ số tỷ lệ %s." + +#: lutris/runners/scummvm.py:54 +msgid "Engine for point-and-click games." +msgstr "Công cụ dành cho trò chơi trỏ và nhấp chuột." + +#: lutris/runners/scummvm.py:55 lutris/services/scummvm.py:29 +msgid "ScummVM" +msgstr "ScummVM" + +#: lutris/runners/scummvm.py:61 +msgid "Game identifier" +msgstr "Mã nhận dạng trò chơi" + +#: lutris/runners/scummvm.py:62 +msgid "Game files location" +msgstr "Vị trí tập tin trò chơi" + +#: lutris/runners/scummvm.py:119 +msgid "Enable subtitles" +msgstr "Bật phụ đề" + +#: lutris/runners/scummvm.py:127 +msgid "Aspect ratio correction" +msgstr "Chỉnh sửa tỷ lệ khung hình" + +#: lutris/runners/scummvm.py:131 +msgid "Most games supported by ScummVM were made for VGA display modes using rectangular pixels. Activating this option for these games will preserve the 4:3 aspect ratio they were made for." +msgstr "Hầu hết các trò chơi được ScummVM hỗ trợ đều được tạo cho chế độ hiển thị VGA sử dụng pixel hình chữ nhật. Kích hoạt tùy chọn này cho các trò chơi này sẽ duy trì tỷ lệ khung hình 4:3 mà chúng được tạo ra." + +#: lutris/runners/scummvm.py:140 +msgid "Graphic scaler" +msgstr "Bộ chia tỷ lệ đồ họa" + +#: lutris/runners/scummvm.py:157 +msgid "The algorithm used to scale up the game's base resolution, resulting in different visual styles. " +msgstr "Thuật toán được sử dụng để tăng độ phân giải cơ bản của trò chơi, tạo ra các phong cách hình ảnh khác nhau. " + +#: lutris/runners/scummvm.py:163 +msgid "Scale factor" +msgstr "Hệ số tỷ lệ" + +#: lutris/runners/scummvm.py:174 +msgid "Changes the resolution of the game. For example, a 2x scale will take a 320x200 resolution game and scale it up to 640x400. " +msgstr "Thay đổi độ phân giải của trò chơi. Ví dụ: tỷ lệ 2x sẽ lấy trò chơi có độ phân giải 320x200 và chia tỷ lệ lên tới 640x400. " + +#: lutris/runners/scummvm.py:183 +msgid "Renderer" +msgstr "Trình kết xuất" + +#: lutris/runners/scummvm.py:188 +msgid "OpenGL" +msgstr "OpenGL" + +#: lutris/runners/scummvm.py:189 +msgid "OpenGL (with shaders)" +msgstr "OpenGL (có trình shader)" + +#: lutris/runners/scummvm.py:193 +msgid "Changes the rendering method used for 3D games." +msgstr "Thay đổi phương thức hiển thị được sử dụng cho trò chơi 3D." + +#: lutris/runners/scummvm.py:198 +msgid "Render mode" +msgstr "Chế độ kết xuất" + +#: lutris/runners/scummvm.py:202 +msgid "Hercules (Green)" +msgstr "Hercules (Xanh)" + +#: lutris/runners/scummvm.py:203 +msgid "Hercules (Amber)" +msgstr "Hercules (Hổ phách)" + +#: lutris/runners/scummvm.py:204 +msgid "CGA" +msgstr "CGA" + +#: lutris/runners/scummvm.py:205 +msgid "EGA" +msgstr "EGA" + +#: lutris/runners/scummvm.py:206 +msgid "VGA" +msgstr "VGA" + +#: lutris/runners/scummvm.py:207 +msgid "Amiga" +msgstr "Amiga" + +#: lutris/runners/scummvm.py:208 +msgid "FM Towns" +msgstr "Thị trấn FM" + +#: lutris/runners/scummvm.py:209 +msgid "PC-9821" +msgstr "PC-9821" + +#: lutris/runners/scummvm.py:210 +msgid "PC-9801" +msgstr "PC-9801" + +#: lutris/runners/scummvm.py:211 +msgid "Apple IIgs" +msgstr "Táo IIgs" + +#: lutris/runners/scummvm.py:213 +msgid "Macintosh" +msgstr "Macintosh" + +#: lutris/runners/scummvm.py:217 +msgid "Changes the graphics hardware the game will target, if the game supports this." +msgstr "Thay đổi phần cứng đồ họa mà trò chơi sẽ nhắm tới nếu trò chơi hỗ trợ điều này." + +#: lutris/runners/scummvm.py:222 +msgid "Stretch mode" +msgstr "Chế độ kéo dài" + +#: lutris/runners/scummvm.py:226 +msgid "Center" +msgstr "Trung tâm" + +#: lutris/runners/scummvm.py:227 +msgid "Pixel Perfect" +msgstr "Pixel hoàn hảo" + +#: lutris/runners/scummvm.py:228 +msgid "Even Pixels" +msgstr "Pixel chẵn" + +#: lutris/runners/scummvm.py:230 +msgid "Fit" +msgstr "Phù hợp" + +#: lutris/runners/scummvm.py:231 +msgid "Fit (force aspect ratio)" +msgstr "Phù hợp (tỷ lệ khung hình lực)" + +#: lutris/runners/scummvm.py:235 +msgid "Changes how the game is placed when the window is resized." +msgstr "Thay đổi cách đặt trò chơi khi cửa sổ được thay đổi kích thước." + +#: lutris/runners/scummvm.py:240 +msgid "Filtering" +msgstr "Lọc" + +#: lutris/runners/scummvm.py:243 +msgid "Uses bilinear interpolation instead of nearest neighbor resampling for the aspect ratio correction and stretch mode." +msgstr "Sử dụng phép nội suy song tuyến tính thay vì lấy mẫu lại hàng xóm gần nhất để điều chỉnh tỷ lệ khung hình và chế độ kéo dài." + +#: lutris/runners/scummvm.py:251 +msgid "Data directory" +msgstr "Thư mục dữ liệu" + +#: lutris/runners/scummvm.py:253 +msgid "Defaults to share/scummvm if unspecified." +msgstr "Mặc định là chia sẻ/scummvm nếu không được chỉ định." + +#: lutris/runners/scummvm.py:261 +msgid "Specifes platform of game. Allowed values: 2gs, 3do, acorn, amiga, atari, c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" +msgstr "Chỉ định nền tảng của trò chơi. Giá trị được phép: 2gs, 3do, acorn, amiga, atari, c64, fmtowns, nes, mac, pc pc98, pce, segacd, wii, windows" + +#: lutris/runners/scummvm.py:270 +msgid "Enables joystick input (default: 0 = first joystick)" +msgstr "Cho phép nhập bằng cần điều khiển (mặc định: 0 = cần điều khiển đầu tiên)" + +#: lutris/runners/scummvm.py:277 +msgid "Selects language (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" +msgstr "Chọn ngôn ngữ (en, de, fr, it, pt, es, jp, zh, kr, se, gb, hb, ru, cz)" + +#: lutris/runners/scummvm.py:283 +msgid "Engine speed" +msgstr "Tốc độ động cơ" + +#: lutris/runners/scummvm.py:285 +msgid "Sets frames per second limit (0 - 100) for Grim Fandango or Escape from Monkey Island (default: 60)." +msgstr "Đặt giới hạn khung hình trên giây (0 - 100) cho Grim Fandango hoặc Escape from Monkey Island (mặc định: 60)." + +#: lutris/runners/scummvm.py:292 +msgid "Talk speed" +msgstr "Tốc độ nói chuyện" + +#: lutris/runners/scummvm.py:293 +msgid "Sets talk speed for games (default: 60)" +msgstr "Đặt tốc độ nói chuyện cho trò chơi (mặc định: 60)" + +#: lutris/runners/scummvm.py:300 +msgid "Music tempo" +msgstr "Nhịp độ âm nhạc" + +#: lutris/runners/scummvm.py:301 +msgid "Sets music tempo (in percent, 50-200) for SCUMM games (default: 100)" +msgstr "Đặt nhịp độ âm nhạc (tính bằng phần trăm, 50-200) cho trò chơi SCUMM (mặc định: 100)" + +#: lutris/runners/scummvm.py:308 +msgid "Digital iMuse tempo" +msgstr "Nhịp độ iMuse kỹ thuật số" + +#: lutris/runners/scummvm.py:309 +msgid "Sets internal Digital iMuse tempo (10 - 100) per second (default: 10)" +msgstr "Đặt nhịp độ iMuse kỹ thuật số nội bộ (10 - 100) mỗi giây (mặc định: 10)" + +#: lutris/runners/scummvm.py:315 +msgid "Music driver" +msgstr "Trình điều khiển âm nhạc" + +#: lutris/runners/scummvm.py:331 +msgid "Specifies the device ScummVM uses to output audio." +msgstr "Chỉ định thiết bị mà ScummVM sử dụng để xuất âm thanh." + +#: lutris/runners/scummvm.py:337 +msgid "Output rate" +msgstr "Tỷ lệ đầu ra" + +#: lutris/runners/scummvm.py:344 +msgid "Selects output sample rate in Hz." +msgstr "Chọn tốc độ mẫu đầu ra tính bằng Hz." + +#: lutris/runners/scummvm.py:350 +msgid "OPL driver" +msgstr "Trình điều khiển OPL" + +#: lutris/runners/scummvm.py:363 +msgid "Chooses which emulator is used by ScummVM when the AdLib emulator is chosen as the Preferred device." +msgstr "Chọn trình mô phỏng nào được ScummVM sử dụng khi trình mô phỏng AdLib được chọn làm thiết bị Ưu tiên." + +#: lutris/runners/scummvm.py:371 +msgid "Music volume" +msgstr "Âm lượng nhạc" + +#: lutris/runners/scummvm.py:372 +msgid "Sets the music volume, 0-255 (default: 192)" +msgstr "Đặt âm lượng nhạc, 0-255 (mặc định: 192)" + +#: lutris/runners/scummvm.py:380 +msgid "Sets the sfx volume, 0-255 (default: 192)" +msgstr "Đặt âm lượng sfx, 0-255 (mặc định: 192)" + +#: lutris/runners/scummvm.py:387 +msgid "Speech volume" +msgstr "Âm lượng giọng nói" + +#: lutris/runners/scummvm.py:388 +msgid "Sets the speech volume, 0-255 (default: 192)" +msgstr "Đặt âm lượng giọng nói, 0-255 (mặc định: 192)" + +#: lutris/runners/scummvm.py:395 +msgid "MIDI gain" +msgstr "Tăng MIDI" + +#: lutris/runners/scummvm.py:396 +msgid "Sets the gain for MIDI playback. 0-1000 (default: 100)" +msgstr "Đặt mức tăng cho phát lại MIDI. 0-1000 (mặc định: 100)" + +#: lutris/runners/scummvm.py:404 +msgid "Specifies the path to a soundfont file." +msgstr "Chỉ định đường dẫn đến tệp soundfont." + +#: lutris/runners/scummvm.py:410 +msgid "Mixed AdLib/MIDI mode" +msgstr "Chế độ AdLib/MIDI hỗn hợp" + +#: lutris/runners/scummvm.py:413 +msgid "Combines MIDI music with AdLib sound effects." +msgstr "Kết hợp nhạc MIDI với hiệu ứng âm thanh AdLib." + +#: lutris/runners/scummvm.py:419 +msgid "True Roland MT-32" +msgstr "Roland MT-32 đích thực" + +#: lutris/runners/scummvm.py:423 +msgid "Tells ScummVM that the MIDI device is an actual Roland MT-32, LAPC-I, CM-64, CM-32L, CM-500 or other MT-32 device." +msgstr "Nói với ScummVM rằng thiết bị MIDI là thiết bị Roland MT-32, LAPC-I, CM-64, CM-32L, CM-500 thực tế hoặc thiết bị MT-32 khác." + +#: lutris/runners/scummvm.py:431 +msgid "Enable Roland GS" +msgstr "Kích hoạt Roland GS" + +#: lutris/runners/scummvm.py:435 +msgid "Tells ScummVM that the MIDI device is a GS device that has an MT-32 map, such as an SC-55, SC-88 or SC-8820." +msgstr "Cho ScummVM biết rằng thiết bị MIDI là thiết bị GS có bản đồ MT-32, chẳng hạn như SC-55, SC-88 hoặc SC-8820." + +#: lutris/runners/scummvm.py:443 +msgid "Use alternate intro" +msgstr "Sử dụng phần giới thiệu thay thế" + +#: lutris/runners/scummvm.py:444 +msgid "Uses alternative intro for CD versions" +msgstr "Sử dụng phần giới thiệu thay thế cho phiên bản CD" + +#: lutris/runners/scummvm.py:450 +msgid "Copy protection" +msgstr "Bảo vệ bản sao" + +#: lutris/runners/scummvm.py:451 +msgid "Enables copy protection" +msgstr "Cho phép bảo vệ bản sao" + +#: lutris/runners/scummvm.py:457 +msgid "Demo mode" +msgstr "Chế độ demo" + +#: lutris/runners/scummvm.py:458 +msgid "Starts demo mode of Maniac Mansion or The 7th Guest" +msgstr "Bắt đầu chế độ demo của Maniac Mansion hoặc The 7th Guest" + +#: lutris/runners/scummvm.py:465 +msgid "Debug level" +msgstr "Mức độ gỡ lỗi" + +#: lutris/runners/scummvm.py:466 +msgid "Sets debug verbosity level" +msgstr "Đặt mức độ chi tiết của việc gỡ lỗi" + +#: lutris/runners/scummvm.py:473 +msgid "Debug flags" +msgstr "Cờ gỡ lỗi" + +#: lutris/runners/scummvm.py:474 +msgid "Enables engine specific debug flags" +msgstr "Cho phép cờ gỡ lỗi cụ thể của công cụ" + +#: lutris/runners/snes9x.py:18 +msgid "Super Nintendo emulator" +msgstr "Trình giả lập Super Nintendo" + +#: lutris/runners/snes9x.py:19 +msgid "Snes9x" +msgstr "Snes9x" + +#: lutris/runners/snes9x.py:40 +msgid "Maintain aspect ratio (4:3)" +msgstr "Duy trì tỷ lệ khung hình (4:3)" + +#: lutris/runners/snes9x.py:43 +msgid "Super Nintendo games were made for 4:3 screens with rectangular pixels, but modern screens have square pixels, which results in a vertically squeezed image. This option corrects this by displaying rectangular pixels." +msgstr "Các trò chơi Super Nintendo được thiết kế cho màn hình 4:3 với các pixel hình chữ nhật, nhưng màn hình hiện đại có các pixel vuông, dẫn đến hình ảnh bị nén theo chiều dọc. Tùy chọn này khắc phục điều này bằng cách hiển thị các pixel hình chữ nhật." + +#: lutris/runners/snes9x.py:53 +msgid "Sound driver" +msgstr "Trình điều khiển âm thanh" + +#: lutris/runners/steam.py:29 +msgid "Runs Steam for Linux games" +msgstr "Chạy trò chơi Steam cho Linux" + +#: lutris/runners/steam.py:40 +msgid "" +"The application ID can be retrieved from the game's page at steampowered.com. Example: 235320 is the app ID for Original War in: \n" +"http://store.steampowered.com/app/235320/" +msgstr "" +"ID ứng dụng có thể được lấy từ trang của trò chơi tại steampowered.com. Ví dụ: 235320 là ID ứng dụng cho Original War trong: \n" +"http://store.steampowered.com/app/235320/" + +#: lutris/runners/steam.py:51 +msgid "" +"Command line arguments used when launching the game.\n" +"Ignored when Steam Big Picture mode is enabled." +msgstr "" +"Đối số dòng lệnh được sử dụng khi khởi chạy trò chơi.\n" +"Bị bỏ qua khi chế độ Steam Big Picture được bật." + +#: lutris/runners/steam.py:56 +msgid "DRM free mode (Do not launch Steam)" +msgstr "Chế độ không có DRM (Không khởi chạy Steam)" + +#: lutris/runners/steam.py:60 +msgid "Run the game directly without Steam, requires the game binary path to be set" +msgstr "Chạy trò chơi trực tiếp mà không cần Steam, yêu cầu phải đặt đường dẫn nhị phân của trò chơi" + +#: lutris/runners/steam.py:65 +msgid "Game binary path" +msgstr "Đường dẫn nhị phân trò chơi" + +#: lutris/runners/steam.py:67 +msgid "Path to the game executable (Required by DRM free mode)" +msgstr "Đường dẫn đến trò chơi thực thi (Bắt buộc bởi chế độ không có DRM)" + +#: lutris/runners/steam.py:73 +msgid "Start Steam in Big Picture mode" +msgstr "Khởi động Steam ở chế độ Hình ảnh lớn" + +#: lutris/runners/steam.py:77 +msgid "" +"Launches Steam in Big Picture mode.\n" +"Only works if Steam is not running or already running in Big Picture mode.\n" +"Useful when playing with a Steam Controller." +msgstr "" +"Khởi chạy Steam ở chế độ Hình ảnh lớn.\n" +"Chỉ hoạt động nếu Steam không chạy hoặc đã chạy ở chế độ Hình ảnh lớn.\n" +"Hữu ích khi chơi bằng Steam Controller." + +#: lutris/runners/steam.py:88 +msgid "Extra command line arguments used when launching Steam" +msgstr "Đối số dòng lệnh bổ sung được sử dụng khi khởi chạy Steam" + +#: lutris/runners/steam.py:170 +msgid "Steam for Linux installation is not handled by Lutris." +msgstr "Việc cài đặt Steam cho Linux không được Lutris xử lý." + +#: lutris/runners/steam.py:172 +msgid "" +"Steam for Linux installation is not handled by Lutris.\n" +"Please go to http://steampowered.com or install Steam with the package provided by your distribution." +msgstr "" +"Việc cài đặt Steam cho Linux không được Lutris xử lý.\n" +"Vui lòng truy cập http://steampowered.com hoặc cài đặt Steam bằng gói do nhà phân phối của bạn cung cấp." + +#: lutris/runners/steam.py:186 +msgid "Could not find Steam path, is Steam installed?" +msgstr "Không tìm thấy đường dẫn Steam, Steam đã được cài đặt chưa?" + +#: lutris/runners/vice.py:14 +msgid "Commodore Emulator" +msgstr "Trình giả lập Commodore" + +#: lutris/runners/vice.py:15 +msgid "Vice" +msgstr "Vice" + +#: lutris/runners/vice.py:18 +msgid "Commodore 64" +msgstr "Hàng hóa 64" + +#: lutris/runners/vice.py:19 +msgid "Commodore 128" +msgstr "Hàng hóa 128" + +#: lutris/runners/vice.py:20 +msgid "Commodore VIC20" +msgstr "Hàng hóa VIC20" + +#: lutris/runners/vice.py:21 +msgid "Commodore PET" +msgstr "Hàng hóa PET" + +#: lutris/runners/vice.py:22 +msgid "Commodore Plus/4" +msgstr "Hàng hóa Plus/4" + +#: lutris/runners/vice.py:23 +msgid "Commodore CBM II" +msgstr "Đô đốc CBM II" + +#: lutris/runners/vice.py:39 +msgid "" +"The game data, commonly called a ROM image.\n" +"Supported formats: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, D4M, T46, P00 and CRT." +msgstr "" +"Dữ liệu trò chơi, thường được gọi là hình ảnh ROM.\n" +"Các định dạng được hỗ trợ: X64, D64, G64, P64, D67, D71, D81, D80, D82, D1M, D2M, D4M, T46, P00 và CRT." + +#: lutris/runners/vice.py:47 +msgid "Use joysticks" +msgstr "Sử dụng cần điều khiển" + +#: lutris/runners/vice.py:59 +msgid "Scale up display by 2" +msgstr "Tăng tỷ lệ hiển thị lên 2" + +#: lutris/runners/vice.py:73 +msgid "Graphics renderer" +msgstr "Trình kết xuất đồ họa" + +#: lutris/runners/vice.py:80 +msgid "Enable sound emulation of disk drives" +msgstr "Kích hoạt mô phỏng âm thanh của ổ đĩa" + +#: lutris/runners/vice.py:190 +msgid "No rom provided" +msgstr "Không có rom nào được cung cấp" + +#: lutris/runners/vita3k.py:12 lutris/runners/vita3k.py:98 +msgid "The Vita App has no Title ID set" +msgstr "Ứng dụng Vita chưa được đặt ID tiêu đề" + +#: lutris/runners/vita3k.py:18 +msgid "Vita3K" +msgstr "Vita3K" + +#: lutris/runners/vita3k.py:19 +msgid "Sony PlayStation Vita" +msgstr "Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:20 +msgid "Sony PlayStation Vita emulator" +msgstr "Trình giả lập Sony PlayStation Vita" + +#: lutris/runners/vita3k.py:29 +msgid "Title ID of Installed Application" +msgstr "ID tiêu đề của ứng dụng đã cài đặt" + +#: lutris/runners/vita3k.py:32 +msgid "Title ID of installed application. Eg.\"PCSG00042\". User installed apps are located in ux0:/app/<title-id>." +msgstr "ID tiêu đề của ứng dụng đã cài đặt. Ví dụ: \"PCSG00042\". Các ứng dụng do người dùng cài đặt nằm trong ux0:/app/<title-id>." + +#: lutris/runners/vita3k.py:44 +msgid "Start the emulator in fullscreen mode." +msgstr "Khởi động trình mô phỏng ở chế độ toàn màn hình." + +#: lutris/runners/vita3k.py:49 +msgid "Config location" +msgstr "Vị trí cấu hình" + +#: lutris/runners/vita3k.py:52 +msgid "Get a configuration file from a given location. If a filename is given, it must end with \".yml\", otherwise it will be assumed to be a directory." +msgstr "Nhận tệp cấu hình từ một vị trí nhất định. Nếu tên tệp được cung cấp thì nó phải kết thúc bằng \".yml\", nếu không nó sẽ được coi là một thư mục." + +#: lutris/runners/vita3k.py:58 +msgid "Load configuration file" +msgstr "Tải tập tin cấu hình" + +#: lutris/runners/vita3k.py:61 +msgid "If trues, informs the emualtor to load the config file from the \"Config location\" option." +msgstr "Nếu đúng, hãy thông báo cho trình mô phỏng tải tệp cấu hình từ tùy chọn \"Vị trí cấu hình\"." + +#: lutris/runners/web.py:19 lutris/runners/web.py:21 +msgid "Web" +msgstr "Web" + +#: lutris/runners/web.py:20 +msgid "Runs web based games" +msgstr "Chạy các trò chơi dựa trên web" + +#: lutris/runners/web.py:26 +msgid "Full URL or HTML file path" +msgstr "Đường dẫn tệp URL hoặc HTML đầy đủ" + +#: lutris/runners/web.py:27 +msgid "The full address of the game's web page or path to a HTML file." +msgstr "Địa chỉ đầy đủ của trang web trò chơi hoặc đường dẫn tới tệp HTML." + +#: lutris/runners/web.py:33 +msgid "Open in fullscreen" +msgstr "Mở ở chế độ toàn màn hình" + +#: lutris/runners/web.py:36 +msgid "Launch the game in fullscreen." +msgstr "Khởi động trò chơi ở chế độ toàn màn hình." + +#: lutris/runners/web.py:40 +msgid "Open window maximized" +msgstr "Mở cửa sổ tối đa" + +#: lutris/runners/web.py:43 +msgid "Maximizes the window when game starts." +msgstr "Tối đa hóa cửa sổ khi trò chơi bắt đầu." + +#: lutris/runners/web.py:58 +msgid "The initial size of the game window when not opened." +msgstr "Kích thước ban đầu của cửa sổ trò chơi khi chưa mở." + +#: lutris/runners/web.py:62 +msgid "Disable window resizing (disables fullscreen and maximize)" +msgstr "Vô hiệu hóa việc thay đổi kích thước cửa sổ (vô hiệu hóa toàn màn hình và tối đa hóa)" + +#: lutris/runners/web.py:65 +msgid "You can't resize this window." +msgstr "Bạn không thể thay đổi kích thước cửa sổ này." + +#: lutris/runners/web.py:69 +msgid "Borderless window" +msgstr "Cửa sổ không viền" + +#: lutris/runners/web.py:72 +msgid "The window has no borders/frame." +msgstr "Cửa sổ không có viền/khung." + +#: lutris/runners/web.py:76 +msgid "Disable menu bar and default shortcuts" +msgstr "Tắt thanh menu và phím tắt mặc định" + +#: lutris/runners/web.py:79 +msgid "This also disables default keyboard shortcuts, like copy/paste and fullscreen toggling." +msgstr "Điều này cũng vô hiệu hóa các phím tắt mặc định, như sao chép/dán và chuyển đổi toàn màn hình." + +#: lutris/runners/web.py:83 +msgid "Disable page scrolling and hide scrollbars" +msgstr "Vô hiệu hóa cuộn trang và ẩn thanh cuộn" + +#: lutris/runners/web.py:86 +msgid "Disables scrolling on the page." +msgstr "Vô hiệu hóa cuộn trên trang." + +#: lutris/runners/web.py:90 +msgid "Hide mouse cursor" +msgstr "Ẩn con trỏ chuột" + +#: lutris/runners/web.py:93 +msgid "Prevents the mouse cursor from showing when hovering above the window." +msgstr "Ngăn không cho con trỏ chuột hiển thị khi di chuột phía trên cửa sổ." + +#: lutris/runners/web.py:97 +msgid "Open links in game window" +msgstr "Mở liên kết trong cửa sổ trò chơi" + +#: lutris/runners/web.py:101 +msgid "Enable this option if you want clicked links to open inside the game window. By default all links open in your default web browser." +msgstr "Bật tùy chọn này nếu bạn muốn mở các liên kết được nhấp vào bên trong cửa sổ trò chơi. Theo mặc định, tất cả các liên kết đều mở trong trình duyệt web mặc định của bạn." + +#: lutris/runners/web.py:107 +msgid "Remove default margin & padding" +msgstr "Xóa lề và phần đệm mặc định" + +#: lutris/runners/web.py:110 +msgid "Sets margin and padding to zero on <html> and <body> elements." +msgstr "Sets margin and padding to zero on <html>and <body>elements." + +#: lutris/runners/web.py:114 +msgid "Enable Adobe Flash Player" +msgstr "Kích hoạt Adobe Flash Player" + +#: lutris/runners/web.py:117 +msgid "Enable Adobe Flash Player." +msgstr "Kích hoạt Adobe Flash Player." + +#: lutris/runners/web.py:121 +msgid "Custom User-Agent" +msgstr "Tác nhân người dùng tùy chỉnh" + +#: lutris/runners/web.py:124 +msgid "Overrides the default User-Agent header used by the runner." +msgstr "Ghi đè tiêu đề Tác nhân người dùng mặc định được runner sử dụng." + +#: lutris/runners/web.py:129 +msgid "Debug with Developer Tools" +msgstr "Gỡ lỗi bằng Công cụ dành cho nhà phát triển" + +#: lutris/runners/web.py:132 +msgid "Let's you debug the page." +msgstr "Hãy để bạn gỡ lỗi trang." + +#: lutris/runners/web.py:137 +msgid "Open in web browser (old behavior)" +msgstr "Mở trong trình duyệt web (hành vi cũ)" + +#: lutris/runners/web.py:140 +msgid "Launch the game in a web browser." +msgstr "Khởi chạy trò chơi trong trình duyệt web." + +#: lutris/runners/web.py:144 +msgid "Custom web browser executable" +msgstr "Trình duyệt web tùy chỉnh có thể thực thi được" + +#: lutris/runners/web.py:147 +msgid "" +"Select the executable of a browser on your system.\n" +"If left blank, Lutris will launch your default browser (xdg-open)." +msgstr "" +"Chọn tệp thực thi của trình duyệt trên hệ thống của bạn.\n" +"Nếu để trống, Lutris sẽ khởi chạy trình duyệt mặc định của bạn (xdg-open)." + +#: lutris/runners/web.py:153 +msgid "Web browser arguments" +msgstr "Đối số trình duyệt web" + +#: lutris/runners/web.py:157 +msgid "" +"Command line arguments to pass to the executable.\n" +"$GAME or $URL inserts the game url.\n" +"\n" +"For Chrome/Chromium app mode use: --app=\"$GAME\"" +msgstr "" +"Đối số dòng lệnh để chuyển đến tệp thực thi.\n" +"$GAME hoặc $URL chèn url trò chơi.\n" +"\n" +"Đối với chế độ ứng dụng Chrome/Chromium, hãy sử dụng: --app=\"$GAME\"" + +#: lutris/runners/web.py:176 +msgid "" +"The web address is empty, \n" +"verify the game's configuration." +msgstr "" +"Địa chỉ web trống, \n" +"xác minh cấu hình của trò chơi." + +#: lutris/runners/web.py:183 +#, python-format +msgid "" +"The file %s does not exist, \n" +"verify the game's configuration." +msgstr "" +"Tệp %s không tồn tại, \n" +"xác minh cấu hình của trò chơi." + +#: lutris/runners/wine.py:79 lutris/runners/wine.py:777 +msgid "Proton is not compatible with 32-bit prefixes." +msgstr "Proton không tương thích với prefix 32 bit." + +#: lutris/runners/wine.py:93 +msgid "Warning Some Wine configuration options cannot be applied, if no prefix can be found." +msgstr "Cảnh báo Một số tùy chọn cấu hình Wine không thể được áp dụng nếu không tìm thấy prefix." + +#: lutris/runners/wine.py:100 +#, python-format +msgid "" +"Warning Your NVIDIA driver is outdated.\n" +"You are currently running driver %s which does not fully support all features for Vulkan and DXVK games." +msgstr "" +"Cảnh báo Trình điều khiển NVIDIA của bạn đã lỗi thời.\n" +"Bạn hiện đang chạy trình điều khiển %s, trình điều khiển này không hỗ trợ đầy đủ mọi tính năng cho trò chơi Vulkan và DXVK." + +#: lutris/runners/wine.py:113 +#, python-format +msgid "Error Vulkan is not installed or is not supported by your system, %s is not available." +msgstr "Lỗi Vulkan chưa được cài đặt hoặc không được hệ thống của bạn hỗ trợ, %s không khả dụng." + +#: lutris/runners/wine.py:128 +#, python-format +msgid "Warning Lutris has detected that Vulkan API version %s is installed, but to use the latest DXVK version, %s is required." +msgstr "Cảnh báo Lutris đã phát hiện rằng phiên bản API Vulkan %s đã được cài đặt, nhưng để sử dụng phiên bản DXVK mới nhất, cần phải có %s." + +#: lutris/runners/wine.py:136 +#, python-format +msgid "Warning Lutris has detected that the best device available ('%s') supports Vulkan API %s, but to use the latest DXVK version, %s is required." +msgstr "Cảnh báo Lutris đã phát hiện thấy thiết bị tốt nhất hiện có ('%s') hỗ trợ API Vulkan %s, nhưng để sử dụng phiên bản DXVK mới nhất, %s là bắt buộc." + +#: lutris/runners/wine.py:152 +msgid "" +"Warning Your limits are not set correctly. Please increase them as described here:\n" +"How-to-Esync (https://github.com/lutris/docs/blob/master/HowToEsync.md)" +msgstr "" +"Cảnh báo Giới hạn của bạn không được đặt chính xác. Vui lòng tăng chúng như được mô tả ở đây:\n" +"Cách đồng bộ hóa (https://github.com/lutris/docs/blob/master/HowToEsync.md)" + +#: lutris/runners/wine.py:163 +msgid "Warning Your kernel is not patched for fsync." +msgstr "Cảnh báo Hạt nhân của bạn chưa được vá lỗi fsync." + +#: lutris/runners/wine.py:168 +msgid "Wine virtual desktop is no longer supported" +msgstr "Máy tính để bàn ảo Wine không còn được hỗ trợ" + +#: lutris/runners/wine.py:174 +msgid "Virtual desktops cannot be enabled in Proton or GE Wine versions." +msgstr "Không thể bật máy tính để bàn ảo trong phiên bản Proton hoặc GE Wine." + +#: lutris/runners/wine.py:179 +msgid "Custom (select executable below)" +msgstr "Tùy chỉnh (chọn tệp thực thi bên dưới)" + +#: lutris/runners/wine.py:181 +msgid "WineHQ Devel ({})" +msgstr "WineHQ Devel ({})" + +#: lutris/runners/wine.py:182 +msgid "WineHQ Staging ({})" +msgstr "Giai đoạn WineHQ ({})" + +#: lutris/runners/wine.py:183 +msgid "Wine Development ({})" +msgstr "Phát triển Wine vang ({})" + +#: lutris/runners/wine.py:184 +msgid "System ({})" +msgstr "Hệ thống ({})" + +#: lutris/runners/wine.py:189 +msgid "GE-Proton (Latest)" +msgstr "GE-Proton (Mới nhất)" + +#: lutris/runners/wine.py:200 +msgid "Runs Windows games" +msgstr "Chạy trò chơi Windows" + +#: lutris/runners/wine.py:201 +msgid "Wine" +msgstr "Wine" + +#: lutris/runners/wine.py:202 +msgid "Windows" +msgstr "Windows" + +#: lutris/runners/wine.py:211 +msgid "The game's main EXE file" +msgstr "Tệp EXE chính của trò chơi" + +#: lutris/runners/wine.py:217 +msgid "Windows command line arguments used when launching the game" +msgstr "Đối số dòng lệnh Windows được sử dụng khi khởi chạy trò chơi" + +#: lutris/runners/wine.py:231 +msgid "Wine prefix" +msgstr "Prefix Wine" + +#: lutris/runners/wine.py:234 +msgid "" +"The prefix used by Wine.\n" +"It's a directory containing a set of files and folders making up a confined Windows environment." +msgstr "" +"Prefix được Wine sử dụng.\n" +"Đó là một thư mục chứa một tập hợp các tệp và thư mục tạo nên một môi trường Windows hạn chế." + +#: lutris/runners/wine.py:242 +msgid "Prefix architecture" +msgstr "Kiến trúc prefix" + +#: lutris/runners/wine.py:243 +msgid "32-bit" +msgstr "32-bit" + +#: lutris/runners/wine.py:243 +msgid "64-bit" +msgstr "64-bit" + +#: lutris/runners/wine.py:245 +msgid "The architecture of the Windows environment" +msgstr "Kiến trúc của môi trường Windows" + +#: lutris/runners/wine.py:250 +msgid "Integrate system files in the prefix" +msgstr "Tích hợp các tập tin hệ thống trong prefix" + +#: lutris/runners/wine.py:254 +msgid "Place 'Documents', 'Pictures', and similar files in your home folder, instead of keeping them in the game's prefix. This includes some saved games." +msgstr "Đặt 'Tài liệu', 'Hình ảnh' và các tệp tương tự vào thư mục chính của bạn thay vì giữ chúng trong prefix của trò chơi. Điều này bao gồm một số trò chơi đã lưu." + +#: lutris/runners/wine.py:263 +msgid "Wine version" +msgstr "Phiên bản Wine vang" + +#: lutris/runners/wine.py:269 +msgid "" +"The version of Wine used to launch the game.\n" +"Using the last version is generally recommended, but some games work better on older versions." +msgstr "" +"Phiên bản Wine dùng để khởi động trò chơi.\n" +"Thường nên sử dụng phiên bản cuối cùng nhưng một số trò chơi hoạt động tốt hơn trên các phiên bản cũ hơn." + +#: lutris/runners/wine.py:276 +msgid "Custom Wine executable" +msgstr "Thực thi Wine tùy chỉnh" + +#: lutris/runners/wine.py:279 +msgid "The Wine executable to be used if you have selected \"Custom\" as the Wine version." +msgstr "Tệp thực thi Wine sẽ được sử dụng nếu bạn đã chọn \"Tùy chỉnh\" làm phiên bản Wine." + +#: lutris/runners/wine.py:283 +msgid "Use system winetricks" +msgstr "Sử dụng winetricks hệ thống" + +#: lutris/runners/wine.py:287 +msgid "Switch on to use /usr/bin/winetricks for winetricks." +msgstr "Bật để sử dụng /usr/bin/winetricks cho winetricks." + +#: lutris/runners/wine.py:292 +msgid "Enable DXVK" +msgstr "Kích hoạt DXVK" + +#: lutris/runners/wine.py:296 +msgid "DXVK" +msgstr "DXVK" + +#: lutris/runners/wine.py:299 +msgid "Use DXVK to increase compatibility and performance in Direct3D 11, 10 and 9 applications by translating their calls to Vulkan." +msgstr "Sử dụng DXVK để tăng khả năng tương thích và hiệu suất trong các ứng dụng Direct3D 11, 10 và 9 bằng cách dịch các lệnh gọi của chúng sang Vulkan." + +#: lutris/runners/wine.py:307 +msgid "DXVK version" +msgstr "Phiên bản DXVK" + +#: lutris/runners/wine.py:320 +msgid "Enable VKD3D" +msgstr "Kích hoạt VKD3D" + +#: lutris/runners/wine.py:323 +msgid "VKD3D" +msgstr "VKD3D" + +#: lutris/runners/wine.py:326 +msgid "Use VKD3D to enable support for Direct3D 12 applications by translating their calls to Vulkan." +msgstr "Sử dụng VKD3D để bật hỗ trợ cho các ứng dụng Direct3D 12 bằng cách dịch các lệnh gọi của chúng sang Vulkan." + +#: lutris/runners/wine.py:331 +msgid "VKD3D version" +msgstr "Phiên bản VK3D" + +#: lutris/runners/wine.py:343 +msgid "Enable D3D Extras" +msgstr "Bật tính năng bổ sung D3D" + +#: lutris/runners/wine.py:348 +msgid "Replace Wine's D3DX and D3DCOMPILER libraries with alternative ones. Needed for proper functionality of DXVK with some games." +msgstr "Thay thế thư viện D3DX và D3DCOMPILER của Wine bằng các thư viện thay thế. Cần thiết cho chức năng thích hợp của DXVK với một số trò chơi." + +#: lutris/runners/wine.py:355 +msgid "D3D Extras version" +msgstr "Phiên bản bổ sung D3D" + +#: lutris/runners/wine.py:365 +msgid "Enable DXVK-NVAPI / DLSS" +msgstr "Kích hoạt DXVK-NVAPI/DLSS" + +#: lutris/runners/wine.py:367 +msgid "DXVK-NVAPI / DLSS" +msgstr "DXVK-NVAPI / DLSS" + +#: lutris/runners/wine.py:371 +msgid "Enable emulation of Nvidia's NVAPI and add DLSS support, if available." +msgstr "Bật mô phỏng NVAPI của Nvidia và thêm hỗ trợ DLSS, nếu có." + +#: lutris/runners/wine.py:376 +msgid "DXVK NVAPI version" +msgstr "Phiên bản NVAPI DXVK" + +#: lutris/runners/wine.py:387 +msgid "Enable dgvoodoo2" +msgstr "Kích hoạt dgvoodoo2" + +#: lutris/runners/wine.py:392 +msgid "dgvoodoo2 is an alternative translation layer for rendering old games that utilize D3D1-7 and Glide APIs. As it translates to D3D11, it's recommended to use it in combination with DXVK. Only 32-bit apps are supported." +msgstr "dgvoodoo2 là lớp dịch thay thế để hiển thị các trò chơi cũ sử dụng API D3D1-7 và Glide. Vì nó dịch sang D3D11 nên nên sử dụng kết hợp với DXVK. Chỉ hỗ trợ các ứng dụng 32-bit." + +#: lutris/runners/wine.py:400 +msgid "dgvoodoo2 version" +msgstr "phiên bản dgvoodoo2" + +#: lutris/runners/wine.py:409 +msgid "Enable Esync" +msgstr "Bật Esync" + +#: lutris/runners/wine.py:415 +msgid "Enable eventfd-based synchronization (esync). This will increase performance in applications that take advantage of multi-core processors." +msgstr "Bật đồng bộ hóa dựa trên sự kiện (esync). Điều này sẽ tăng hiệu suất trong các ứng dụng tận dụng bộ xử lý đa lõi." + +#: lutris/runners/wine.py:422 +msgid "Enable Fsync" +msgstr "Bật Fsync" + +#: lutris/runners/wine.py:428 +msgid "Enable futex-based synchronization (fsync). This will increase performance in applications that take advantage of multi-core processors. Requires kernel 5.16 or above." +msgstr "Kích hoạt đồng bộ hóa dựa trên futex (fsync). Điều này sẽ tăng hiệu suất trong các ứng dụng tận dụng bộ xử lý đa lõi. Yêu cầu kernel 5.16 trở lên." + +#: lutris/runners/wine.py:436 +msgid "Enable AMD FidelityFX Super Resolution (FSR)" +msgstr "Kích hoạt độ phân giải siêu cao AMD FidelityFX (FSR)" + +#: lutris/runners/wine.py:440 +msgid "" +"Use FSR to upscale the game window to native resolution.\n" +"Requires Lutris Wine FShack >= 6.13 and setting the game to a lower resolution.\n" +"Does not work with games running in borderless window mode or that perform their own upscaling." +msgstr "" +"Sử dụng FSR để nâng cấp cửa sổ trò chơi lên độ phân giải gốc.\n" +"Yêu cầu Lutris Wine FShack >= 6.13 và cài đặt game ở độ phân giải thấp hơn.\n" +"Không hoạt động với các trò chơi chạy ở chế độ cửa sổ không viền hoặc thực hiện nâng cấp riêng." + +#: lutris/runners/wine.py:447 +msgid "Enable BattlEye Anti-Cheat" +msgstr "Kích hoạt tính năng chống gian lận BattlEye" + +#: lutris/runners/wine.py:451 +msgid "" +"Enable support for BattlEye Anti-Cheat in supported games\n" +"Requires Lutris Wine 6.21-2 and newer or any other compatible Wine build.\n" +msgstr "" +"Bật hỗ trợ BattlEye Anti-Cheat trong các trò chơi được hỗ trợ\n" +"Yêu cầu Lutris Wine 6.21-2 trở lên hoặc bất kỳ bản dựng Wine tương thích nào khác.\n" + +#: lutris/runners/wine.py:457 +msgid "Enable Easy Anti-Cheat" +msgstr "Kích hoạt tính năng chống gian lận dễ dàng" + +#: lutris/runners/wine.py:461 +msgid "" +"Enable support for Easy Anti-Cheat in supported games\n" +"Requires Lutris Wine 7.2 and newer or any other compatible Wine build.\n" +msgstr "" +"Bật hỗ trợ Easy Anti-Cheat trong các trò chơi được hỗ trợ\n" +"Yêu cầu Lutris Wine 7.2 trở lên hoặc bất kỳ bản dựng Wine tương thích nào khác.\n" + +#: lutris/runners/wine.py:467 lutris/runners/wine.py:482 +msgid "Virtual Desktop" +msgstr "Máy tính để bàn ảo" + +#: lutris/runners/wine.py:468 +msgid "Windowed (virtual desktop)" +msgstr "Có cửa sổ (máy tính để bàn ảo)" + +#: lutris/runners/wine.py:475 +msgid "" +"Run the whole Windows desktop in a window.\n" +"Otherwise, run it fullscreen.\n" +"This corresponds to Wine's Virtual Desktop option." +msgstr "" +"Chạy toàn bộ máy tính để bàn Windows trong một cửa sổ.\n" +"Nếu không, hãy chạy toàn màn hình.\n" +"Điều này tương ứng với tùy chọn Virtual Desktop của Wine." + +#: lutris/runners/wine.py:483 +msgid "Virtual desktop resolution" +msgstr "Độ phân giải máy tính để bàn ảo" + +#: lutris/runners/wine.py:489 +msgid "The size of the virtual desktop in pixels." +msgstr "Kích thước của màn hình ảo tính bằng pixel." + +#: lutris/runners/wine.py:493 lutris/runners/wine.py:505 lutris/runners/wine.py:506 +msgid "DPI" +msgstr "DPI" + +#: lutris/runners/wine.py:494 +msgid "Enable DPI Scaling" +msgstr "Kích hoạt tính năng chia tỷ lệ DPI" + +#: lutris/runners/wine.py:499 +msgid "" +"Enables the Windows application's DPI scaling.\n" +"Otherwise, the Screen Resolution option in 'Wine configuration' controls this." +msgstr "" +"Cho phép chia tỷ lệ dpi của ứng dụng Windows.\n" +"Mặt khác, tùy chọn Độ phân giải màn hình trong 'Cấu hình Wine' sẽ kiểm soát điều này." + +#: lutris/runners/wine.py:511 +msgid "The DPI to be used if 'Enable DPI Scaling' is turned on." +msgstr "DPI sẽ được sử dụng nếu 'Bật chia tỷ lệ DPI' được bật." + +#: lutris/runners/wine.py:515 +msgid "Mouse Warp Override" +msgstr "Ghi đè chuột dọc" + +#: lutris/runners/wine.py:518 +msgid "Enable" +msgstr "Cho phép" + +#: lutris/runners/wine.py:520 +msgid "Force" +msgstr "Lực lượng" + +#: lutris/runners/wine.py:525 +msgid "" +"Override the default mouse pointer warping behavior\n" +"Enable: (Wine default) warp the pointer when the mouse is exclusively acquired \n" +"Disable: never warp the mouse pointer \n" +"Force: always warp the pointer" +msgstr "" +"Ghi đè hành vi cong vênh của con trỏ chuột mặc định\n" +"Bật: (Mặc định Wine vang) làm cong con trỏ khi chỉ thu được chuột \n" +"Tắt: không bao giờ làm cong con trỏ chuột \n" +"Bắt buộc: luôn làm cong con trỏ" + +#: lutris/runners/wine.py:534 +msgid "Audio driver" +msgstr "Trình điều khiển âm thanh" + +#: lutris/runners/wine.py:545 +msgid "" +"Which audio backend to use.\n" +"By default, Wine automatically picks the right one for your system." +msgstr "" +"Nên sử dụng phụ trợ âm thanh nào.\n" +"Theo mặc định, Wine sẽ tự động chọn đúng loại cho hệ thống của bạn." + +#: lutris/runners/wine.py:551 +msgid "DLL overrides" +msgstr "Ghi đè DLL" + +#: lutris/runners/wine.py:552 +msgid "Sets WINEDLLOVERRIDES when launching the game." +msgstr "Đặt WINEDLLOVERRIDES khi khởi chạy trò chơi." + +#: lutris/runners/wine.py:556 +msgid "Output debugging info" +msgstr "Thông tin gỡ lỗi đầu ra" + +#: lutris/runners/wine.py:561 +msgid "Inherit from environment" +msgstr "Kế thừa từ môi trường" + +#: lutris/runners/wine.py:563 +msgid "Full (CAUTION: Will cause MASSIVE slowdown)" +msgstr "Đầy đủ (THẬN TRỌNG: Sẽ gây ra sự chậm lại KHỔNG LỒ)" + +#: lutris/runners/wine.py:566 +msgid "Output debugging information in the game log (might affect performance)" +msgstr "Xuất thông tin gỡ lỗi vào nhật ký trò chơi (có thể ảnh hưởng đến hiệu suất)" + +#: lutris/runners/wine.py:570 +msgid "Show crash dialogs" +msgstr "Hiển thị hộp thoại sự cố" + +#: lutris/runners/wine.py:578 +msgid "Autoconfigure joypads" +msgstr "Tự động cấu hình joypad" + +#: lutris/runners/wine.py:581 +msgid "Automatically disables one of Wine's detected joypad to avoid having 2 controllers detected" +msgstr "Tự động tắt một trong các joypad được phát hiện của Wine để tránh phát hiện 2 bộ điều khiển" + +#: lutris/runners/wine.py:615 +msgid "Run EXE inside Wine prefix" +msgstr "Chạy EXE bên trong prefix Wine" + +#: lutris/runners/wine.py:616 +msgid "Open Bash terminal" +msgstr "Mở thiết bị đầu cuối Bash" + +#: lutris/runners/wine.py:617 +msgid "Open Wine console" +msgstr "Mở bảng điều khiển Wine" + +#: lutris/runners/wine.py:619 +msgid "Wine configuration" +msgstr "Cấu hình Wine" + +#: lutris/runners/wine.py:620 +msgid "Wine registry" +msgstr "Đăng ký Wine" + +#: lutris/runners/wine.py:621 +msgid "Wine Control Panel" +msgstr "Bảng điều khiển Wine" + +#: lutris/runners/wine.py:622 +msgid "Wine Task Manager" +msgstr "Trình quản lý tác vụ Wine" + +#: lutris/runners/wine.py:624 +msgid "Winetricks" +msgstr "Winetricks" + +#: lutris/runners/wine.py:752 lutris/runners/wine.py:758 +#, python-format +msgid "The Wine executable at '%s' is missing." +msgstr "Tệp thực thi Wine tại '%s' bị thiếu." + +#: lutris/runners/wine.py:816 +#, python-format +msgid "The required game '%s' could not be found." +msgstr "Không thể tìm thấy trò chơi được yêu cầu '%s'." + +#: lutris/runners/wine.py:849 +msgid "The runner configuration does not specify a Wine version." +msgstr "Cấu hình runner không chỉ định phiên bản Wine." + +#: lutris/runners/wine.py:887 +msgid "Select an EXE or MSI file" +msgstr "Chọn tệp EXE hoặc MSI" + +#: lutris/runners/xemu.py:9 +msgid "xemu" +msgstr "xemu" + +#: lutris/runners/xemu.py:10 +msgid "Xbox" +msgstr "Xbox" + +#: lutris/runners/xemu.py:11 +msgid "Xbox emulator" +msgstr "Trình giả lập Xbox" + +#: lutris/runners/xemu.py:20 +msgid "DVD image in iso format" +msgstr "Hình ảnh DVD ở định dạng iso" + +#: lutris/runners/yuzu.py:13 +msgid "Yuzu" +msgstr "Yuzu" + +#. http://zdoom.org/wiki/Command_line_parameters +#: lutris/runners/zdoom.py:13 +msgid "GZDoom Game Engine" +msgstr "Công cụ trò chơi GZDoom" + +#: lutris/runners/zdoom.py:14 +msgid "GZDoom" +msgstr "GZDoom" + +#: lutris/runners/zdoom.py:22 +msgid "WAD file" +msgstr "Tập tin WAD" + +#: lutris/runners/zdoom.py:23 +msgid "The game data, commonly called a WAD file." +msgstr "Dữ liệu trò chơi, thường được gọi là tệp WAD." + +#: lutris/runners/zdoom.py:29 +msgid "Command line arguments used when launching the game." +msgstr "Đối số dòng lệnh được sử dụng khi khởi chạy trò chơi." + +#: lutris/runners/zdoom.py:34 +msgid "PWAD files" +msgstr "Tập tin PWAD" + +#: lutris/runners/zdoom.py:35 +msgid "Used to load one or more PWAD files which generally contain user-created levels." +msgstr "Được sử dụng để tải một hoặc nhiều tệp PWAD thường chứa các cấp độ do người dùng tạo." + +#: lutris/runners/zdoom.py:40 +msgid "Warp to map" +msgstr "Warp để lập bản đồ" + +#: lutris/runners/zdoom.py:41 +msgid "Starts the game on the given map." +msgstr "Bắt đầu trò chơi trên bản đồ nhất định." + +#: lutris/runners/zdoom.py:48 +msgid "User-specified path where save files should be located." +msgstr "Đường dẫn do người dùng chỉ định nơi lưu tệp." + +#: lutris/runners/zdoom.py:52 +msgid "Pixel Doubling" +msgstr "Nhân đôi pixel" + +#: lutris/runners/zdoom.py:53 +msgid "Pixel Quadrupling" +msgstr "Tăng gấp bốn lần pixel" + +#: lutris/runners/zdoom.py:56 +msgid "Disable Startup Screens" +msgstr "Tắt màn hình khởi động" + +#: lutris/runners/zdoom.py:62 +msgid "Skill" +msgstr "Kỹ năng" + +#: lutris/runners/zdoom.py:67 +msgid "I'm Too Young To Die (1)" +msgstr "Tôi còn quá trẻ để chết (1)" + +#: lutris/runners/zdoom.py:68 +msgid "Hey, Not Too Rough (2)" +msgstr "Này, đừng quá thô bạo (2)" + +#: lutris/runners/zdoom.py:69 +msgid "Hurt Me Plenty (3)" +msgstr "Làm tổn thương tôi rất nhiều (3)" + +#: lutris/runners/zdoom.py:70 +msgid "Ultra-Violence (4)" +msgstr "Cực kỳ bạo lực (4)" + +#: lutris/runners/zdoom.py:71 +msgid "Nightmare! (5)" +msgstr "Cơn ác mộng! (5)" + +#: lutris/runners/zdoom.py:79 +msgid "Used to load a user-created configuration file. If specified, the file must contain the wad directory list or launch will fail." +msgstr "Được sử dụng để tải tệp cấu hình do người dùng tạo. Nếu được chỉ định, tệp phải chứa danh sách thư mục wad nếu không quá trình khởi chạy sẽ không thành công." + +#: lutris/runtime.py:127 +#, python-format +msgid "Updating %s" +msgstr "Đang cập nhật %s" + +#: lutris/runtime.py:130 +#, python-format +msgid "Updated %s" +msgstr "Đã cập nhật %s" + +#: lutris/services/amazon.py:69 +msgid "Amazon" +msgstr "Amazon" + +#: lutris/services/amazon.py:179 +msgid "No Amazon user data available, please log in again" +msgstr "Không có dữ liệu người dùng Amazon, vui lòng đăng nhập lại" + +#: lutris/services/amazon.py:244 +msgid "Unable to register device, please log in again" +msgstr "Không thể đăng ký thiết bị, vui lòng đăng nhập lại" + +#: lutris/services/amazon.py:259 +msgid "Invalid token info found, please log in again" +msgstr "Tìm thấy thông tin mã thông báo không hợp lệ, vui lòng đăng nhập lại" + +#: lutris/services/amazon.py:293 +msgid "Unable to refresh token, please log in again" +msgstr "Không thể làm mới mã thông báo, vui lòng đăng nhập lại" + +#: lutris/services/amazon.py:465 +msgid "Unable to get game manifest info" +msgstr "Không thể lấy thông tin bản kê khai trò chơi" + +#: lutris/services/amazon.py:486 +msgid "Unable to get game manifest" +msgstr "Không thể tải bản kê khai trò chơi" + +#: lutris/services/amazon.py:501 +msgid "Unknown compression algorithm found in manifest" +msgstr "Đã tìm thấy thuật toán nén không xác định trong tệp kê khai" + +#: lutris/services/amazon.py:526 +#, python-format +msgid "Unable to get the patches of game '%s'" +msgstr "Không thể tải bản vá của trò chơi '%s'" + +#: lutris/services/amazon.py:603 +msgid "Unable to get fuel.json file." +msgstr "Không thể tải tệp Fuel.json." + +#: lutris/services/amazon.py:614 +msgid "Invalid response from Amazon APIs" +msgstr "Phản hồi không hợp lệ từ API của Amazon" + +#: lutris/services/amazon.py:648 lutris/services/gog.py:548 +msgid "Couldn't load the downloads for this game" +msgstr "Không thể tải nội dung tải xuống của trò chơi này" + +#: lutris/services/amazon.py:696 +msgid "Amazon Prime Gaming" +msgstr "Trò chơi Amazon Prime" + +#: lutris/services/base.py:450 +#, python-format +msgid "" +"This service requires a game launcher. The following steps will install it.\n" +"Once the client is installed, you can login to %s." +msgstr "" +"Dịch vụ này yêu cầu trình khởi chạy trò chơi. Các bước sau đây sẽ cài đặt nó.\n" +"Sau khi máy khách được cài đặt, bạn có thể đăng nhập vào %s." + +#: lutris/services/battlenet.py:105 +msgid "Battle.net" +msgstr "Battle.net" + +#: lutris/services/ea_app.py:141 +msgid "EA App" +msgstr "Ứng dụng EA" + +#: lutris/services/egs.py:142 +msgid "Epic Games Store" +msgstr "Cửa hàng trò chơi sử thi" + +#: lutris/services/flathub.py:56 +msgid "Flathub" +msgstr "Flathub" + +#: lutris/services/flathub.py:84 +msgid "No flatpak or flatpak-spawn found" +msgstr "Không tìm thấy Flatpak hoặc Flatpak-spawn" + +#: lutris/services/flathub.py:106 +msgid "Flathub is not configured on the system. Visit https://flatpak.org/setup/ for instructions." +msgstr "Flathub chưa được cấu hình trên hệ thống. Hãy truy cập https://flatpak.org/setup/ để được hướng dẫn." + +#: lutris/services/gog.py:79 +msgid "GOG" +msgstr "GOG" + +#: lutris/services/gog.py:482 +msgid "Couldn't load the download links for this game" +msgstr "Không thể tải liên kết tải xuống trò chơi này" + +#: lutris/services/gog.py:539 +msgid "Unable to determine correct file to launch installer" +msgstr "Không thể xác định đúng tệp để khởi chạy trình cài đặt" + +#: lutris/services/humblebundle.py:65 +msgid "Humble Bundle" +msgstr "Gói khiêm tốn" + +#: lutris/services/humblebundle.py:85 +msgid "Workaround for Humble Bundle authentication" +msgstr "Giải pháp xác thực Humble Bundle" + +#: lutris/services/humblebundle.py:87 +msgid "" +"Humble Bundle is restricting API calls from software like Lutris and GameHub.\n" +"Authentication to the service will likely fail.\n" +"There is a workaround involving copying cookies from Firefox, do you want to do this instead?" +msgstr "" +"Humble Bundle đang hạn chế các lệnh gọi API từ phần mềm như Lutris và GameHub.\n" +"Xác thực dịch vụ có thể sẽ thất bại.\n" +"Có một cách giải quyết liên quan đến việc sao chép cookie từ Firefox, thay vào đó bạn có muốn thực hiện việc này không?" + +#: lutris/services/humblebundle.py:238 +msgid "The download URL for the game could not be determined." +msgstr "Không thể xác định URL tải xuống của trò chơi." + +#: lutris/services/humblebundle.py:240 +msgid "No game found on Humble Bundle" +msgstr "Không tìm thấy trò chơi nào trên Humble Bundle" + +#. According to their branding, "itch.io" is supposed to be all lowercase +#: lutris/services/itchio.py:84 +msgid "itch.io" +msgstr "itch.io" + +#: lutris/services/itchio.py:129 +msgid "" +"Lutris needs an API key to connect to itch.io. You can obtain one\n" +"from the itch.io API keys page.\n" +"\n" +"You should give Lutris its own API key instead of sharing them." +msgstr "" +"Lutris cần khóa API để kết nối với itch.io. Bạn có thể có được một\n" +"từ itch.io trang khóa API.\n" +"\n" +"Bạn nên cung cấp cho Lutris khóa API riêng thay vì chia sẻ chúng." + +#: lutris/services/itchio.py:138 +msgid "Itch.io API key" +msgstr "Itch.io Khóa API" + +#: lutris/services/lutris.py:132 +#, python-format +msgid "Lutris has no installers for %s. Try using a different service instead." +msgstr "Lutris không có trình cài đặt cho %s. Thay vào đó hãy thử sử dụng một dịch vụ khác." + +#: lutris/services/steamfamily.py:33 +msgid "Steam Family" +msgstr "Gia đình Steam" + +#: lutris/services/steamfamily.py:34 +msgid "Use for displaying every game in the Steam family" +msgstr "Sử dụng để hiển thị mọi trò chơi trong gia đình Steam" + +#: lutris/services/steam.py:98 +msgid "Failed to load games. Check that your profile is set to public during the sync." +msgstr "Không thể tải trò chơi. Kiểm tra xem hồ sơ của bạn có được đặt ở chế độ công khai trong quá trình đồng bộ hóa hay không." + +#: lutris/services/steamwindows.py:24 +msgid "Steam for Windows" +msgstr "Steam cho Windows" + +#: lutris/services/steamwindows.py:25 +msgid "Use only for the rare games or mods requiring the Windows version of Steam" +msgstr "Chỉ sử dụng cho các trò chơi hoặc mod hiếm yêu cầu phiên bản Steam của Windows" + +#: lutris/services/ubisoft.py:79 +msgid "Ubisoft Connect" +msgstr "Kết nối Ubisoft" + +#: lutris/services/xdg.py:44 +msgid "Local" +msgstr "Địa phương" + +#: lutris/settings.py:16 +msgid "(c) 2009 Lutris Team" +msgstr "(c) Đội Lutris 2009" + +#: lutris/startup.py:138 +#, python-format +msgid "Failed to open database file in %s. Try renaming this file and relaunch Lutris" +msgstr "Không mở được tệp cơ sở dữ liệu trong %s. Hãy thử đổi tên tệp này và khởi chạy lại Lutris" + +#: lutris/sysoptions.py:19 +msgid "Keep current" +msgstr "Giữ hiện tại" + +#: lutris/sysoptions.py:29 +msgid "Chinese" +msgstr "Tiếng Trung" + +#: lutris/sysoptions.py:30 +msgid "Croatian" +msgstr "Tiếng Croatia" + +#: lutris/sysoptions.py:31 +msgid "Dutch" +msgstr "Tiếng Hà Lan" + +#: lutris/sysoptions.py:33 +msgid "Finnish" +msgstr "Tiếng Phần Lan" + +#: lutris/sysoptions.py:35 +msgid "Georgian" +msgstr "Tiếng Gruzia" + +#: lutris/sysoptions.py:41 +msgid "Portuguese (Brazilian)" +msgstr "Tiếng Bồ Đào Nha (Brazil)" + +#: lutris/sysoptions.py:42 +msgid "Polish" +msgstr "Đánh bóng" + +#: lutris/sysoptions.py:43 +msgid "Russian" +msgstr "Tiếng Nga" + +#: lutris/sysoptions.py:60 lutris/sysoptions.py:69 lutris/sysoptions.py:509 +msgid "Off" +msgstr "Tắt" + +#: lutris/sysoptions.py:61 +msgid "Primary" +msgstr "Sơ đẳng" + +#: lutris/sysoptions.py:83 +msgid "Default installation folder" +msgstr "Thư mục cài đặt mặc định" + +#: lutris/sysoptions.py:93 +msgid "Disable Lutris Runtime" +msgstr "Tắt runtime Lutris" + +#: lutris/sysoptions.py:96 +msgid "The Lutris Runtime loads some libraries before running the game, which can cause some incompatibilities in some cases. Check this option to disable it." +msgstr "Lutris Runtime tải một số thư viện trước khi chạy trò chơi, điều này có thể gây ra một số trường hợp không tương thích. Kiểm tra tùy chọn này để vô hiệu hóa nó." + +#: lutris/sysoptions.py:105 +msgid "Prefer system libraries" +msgstr "Ưu tiên thư viện hệ thống" + +#: lutris/sysoptions.py:107 +msgid "When the runtime is enabled, prioritize the system libraries over the provided ones." +msgstr "Khi runtime được bật, hãy ưu tiên các thư viện hệ thống hơn những thư viện được cung cấp." + +#: lutris/sysoptions.py:110 lutris/sysoptions.py:120 lutris/sysoptions.py:129 lutris/sysoptions.py:143 lutris/sysoptions.py:154 lutris/sysoptions.py:164 lutris/sysoptions.py:179 lutris/sysoptions.py:195 +msgid "Display" +msgstr "Trưng bày" + +#: lutris/sysoptions.py:113 +msgid "GPU" +msgstr "GPU" + +#: lutris/sysoptions.py:117 +msgid "GPU to use to run games" +msgstr "GPU để sử dụng để chạy trò chơi" + +#: lutris/sysoptions.py:123 +msgid "FPS counter (MangoHud)" +msgstr "Bộ đếm FPS (MangoHud)" + +#: lutris/sysoptions.py:126 +msgid "Display the game's FPS + other information. Requires MangoHud to be installed." +msgstr "Hiển thị FPS của trò chơi + thông tin khác. Yêu cầu cài đặt MangoHud." + +#: lutris/sysoptions.py:132 +msgid "Restore resolution on game exit" +msgstr "Khôi phục độ phân giải khi thoát trò chơi" + +#: lutris/sysoptions.py:137 +msgid "" +"Some games don't restore your screen resolution when \n" +"closed or when they crash. This is when this option comes \n" +"into play to save your bacon." +msgstr "" +"Một số trò chơi không khôi phục độ phân giải màn hình của bạn khi \n" +"đóng cửa hoặc khi chúng gặp sự cố. Đây là lúc tùy chọn này xuất hiện \n" +"vào chơi để cứu thịt xông khói của bạn." + +#: lutris/sysoptions.py:145 +msgid "Disable desktop effects" +msgstr "Vô hiệu hóa hiệu ứng máy tính để bàn" + +#: lutris/sysoptions.py:151 +msgid "Disable desktop effects while game is running, reducing stuttering and increasing performance" +msgstr "Vô hiệu hóa các hiệu ứng trên màn hình khi trò chơi đang chạy, giảm tình trạng giật hình và tăng hiệu suất" + +#: lutris/sysoptions.py:156 +msgid "Prevent sleep" +msgstr "Ngăn ngừa giấc ngủ" + +#: lutris/sysoptions.py:161 +msgid "Prevents the computer from suspending when a game is running." +msgstr "Ngăn chặn máy tính bị treo khi trò chơi đang chạy." + +#: lutris/sysoptions.py:167 +msgid "SDL 1.2 Fullscreen Monitor" +msgstr "Màn hình toàn màn hình SDL 1.2" + +#: lutris/sysoptions.py:173 +msgid "Hint SDL 1.2 games to use a specific monitor when going fullscreen by setting the SDL_VIDEO_FULLSCREEN environment variable" +msgstr "Gợi ý các trò chơi SDL 1.2 sử dụng một màn hình cụ thể khi chuyển sang chế độ toàn màn hình bằng cách đặt biến môi trường SDL_VIDEO_FULLSCREEN" + +#: lutris/sysoptions.py:182 +msgid "Turn off monitors except" +msgstr "Tắt màn hình ngoại trừ" + +#: lutris/sysoptions.py:188 +msgid "" +"Only keep the selected screen active while the game is running. \n" +"This is useful if you have a dual-screen setup, and are \n" +"having display issues when running a game in fullscreen." +msgstr "" +"Chỉ giữ cho màn hình đã chọn hoạt động trong khi trò chơi đang chạy. \n" +"Điều này hữu ích nếu bạn có thiết lập màn hình kép và đang \n" +"gặp vấn đề về hiển thị khi chạy trò chơi ở chế độ toàn màn hình." + +#: lutris/sysoptions.py:198 +msgid "Switch resolution to" +msgstr "Chuyển độ phân giải sang" + +#: lutris/sysoptions.py:203 +msgid "Switch to this screen resolution while the game is running." +msgstr "Chuyển sang độ phân giải màn hình này trong khi trò chơi đang chạy." + +#: lutris/sysoptions.py:209 +msgid "Enable Gamescope" +msgstr "Kích hoạt Gamescope" + +#: lutris/sysoptions.py:212 +msgid "" +"Use gamescope to draw the game window isolated from your desktop.\n" +"Toggle fullscreen: Super + F" +msgstr "" +"Sử dụng gamescope để vẽ cửa sổ trò chơi tách biệt khỏi màn hình của bạn.\n" +"Chuyển đổi toàn màn hình: Super + F" + +#: lutris/sysoptions.py:218 +msgid "Enable HDR (Experimental)" +msgstr "Bật HDR (Thử nghiệm)" + +#: lutris/sysoptions.py:223 +msgid "" +"Enable HDR for games that support it.\n" +"Requires Plasma 6 and VK_hdr_layer." +msgstr "" +"Bật HDR cho các trò chơi hỗ trợ nó.\n" +"Yêu cầu Plasma 6 và VK_hdr_layer." + +#: lutris/sysoptions.py:229 +msgid "Relative Mouse Mode" +msgstr "Chế độ chuột tương đối" + +#: lutris/sysoptions.py:235 +msgid "" +"Always use relative mouse mode instead of flipping\n" +"dependent on cursor visibility\n" +"Can help with games where the player's camera faces the floor" +msgstr "" +"Luôn sử dụng chế độ chuột tương đối thay vì lật\n" +"phụ thuộc vào khả năng hiển thị của con trỏ\n" +"Có thể trợ giúp với các trò chơi trong đó máy ảnh của người chơi hướng xuống sàn" + +#: lutris/sysoptions.py:244 +msgid "Output Resolution" +msgstr "Độ phân giải đầu ra" + +#: lutris/sysoptions.py:250 +msgid "" +"Set the resolution used by gamescope.\n" +"Resizing the gamescope window will update these settings.\n" +"\n" +"Custom Resolutions: (width)x(height)" +msgstr "" +"Đặt độ phân giải được sử dụng bởi gamescope.\n" +"Thay đổi kích thước cửa sổ gamescope sẽ cập nhật các cài đặt này.\n" +"\n" +"Độ phân giải tùy chỉnh: (chiều rộng)x(chiều cao)" + +#: lutris/sysoptions.py:260 +msgid "Game Resolution" +msgstr "Độ phân giải trò chơi" + +#: lutris/sysoptions.py:264 +msgid "" +"Set the maximum resolution used by the game.\n" +"\n" +"Custom Resolutions: (width)x(height)" +msgstr "" +"Đặt độ phân giải tối đa mà trò chơi sử dụng.\n" +"\n" +"Độ phân giải tùy chỉnh: (chiều rộng)x(chiều cao)" + +#: lutris/sysoptions.py:269 +msgid "Window Mode" +msgstr "Chế độ cửa sổ" + +#: lutris/sysoptions.py:273 +msgid "Windowed" +msgstr "Có cửa sổ" + +#: lutris/sysoptions.py:274 +msgid "Borderless" +msgstr "Không biên giới" + +#: lutris/sysoptions.py:279 +msgid "" +"Run gamescope in fullscreen, windowed or borderless mode\n" +"Toggle fullscreen : Super + F" +msgstr "" +"Chạy gamescope ở chế độ toàn màn hình, cửa sổ hoặc không viền\n" +"Chuyển đổi toàn màn hình: Super + F" + +#: lutris/sysoptions.py:284 +msgid "FSR Level" +msgstr "Cấp độ FSR" + +#: lutris/sysoptions.py:290 +msgid "" +"Use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" +"Upscaler sharpness from 0 (max) to 20 (min)." +msgstr "" +"Sử dụng AMD FidelityFX™ Super Độ phân giải 1.0 để nâng cấp.\n" +"Độ sắc nét nâng cấp từ 0 (tối đa) đến 20 (phút)." + +#: lutris/sysoptions.py:296 +msgid "Framerate Limiter" +msgstr "Giới hạn tốc độ khung hình" + +#: lutris/sysoptions.py:301 +msgid "Set a frame-rate limit for gamescope specified in frames per second." +msgstr "Đặt giới hạn tốc độ khung hình cho gamescope được chỉ định bằng khung hình trên giây." + +#: lutris/sysoptions.py:306 +msgid "Custom Settings" +msgstr "Cài đặt tùy chỉnh" + +#: lutris/sysoptions.py:312 +msgid "" +"Set additional flags for gamescope (if available).\n" +"See 'gamescope --help' for a full list of options." +msgstr "" +"Đặt cờ bổ sung cho gamescope (nếu có).\n" +"Xem 'gamescope --help' để biết danh sách đầy đủ các tùy chọn." + +#: lutris/sysoptions.py:319 +msgid "Restrict number of cores used" +msgstr "Hạn chế số lượng lõi được sử dụng" + +#: lutris/sysoptions.py:321 +msgid "Restrict the game to a maximum number of CPU cores." +msgstr "Giới hạn trò chơi ở số lượng lõi CPU tối đa." + +#: lutris/sysoptions.py:327 +msgid "Restrict number of cores to" +msgstr "Hạn chế số lượng lõi để" + +#: lutris/sysoptions.py:330 +msgid "Maximum number of CPU cores to be used, if 'Restrict number of cores used' is turned on." +msgstr "Số lõi CPU tối đa sẽ được sử dụng nếu 'Hạn chế số lõi được sử dụng' được bật." + +#: lutris/sysoptions.py:338 +msgid "Enable Feral GameMode" +msgstr "Kích hoạt chế độ trò chơi hoang dã" + +#: lutris/sysoptions.py:339 +msgid "Request a set of optimisations be temporarily applied to the host OS" +msgstr "Yêu cầu tạm thời áp dụng một bộ tối ưu hóa cho hệ điều hành máy chủ" + +#: lutris/sysoptions.py:345 +msgid "Reduce PulseAudio latency" +msgstr "Giảm độ trễ PulseAudio" + +#: lutris/sysoptions.py:349 +msgid "Set the environment variable PULSE_LATENCY_MSEC=60 to improve audio quality on some games" +msgstr "Đặt biến môi trường PULSE_LATENCY_MSEC=60 để cải thiện chất lượng âm thanh trên một số trò chơi" + +#: lutris/sysoptions.py:352 lutris/sysoptions.py:362 lutris/sysoptions.py:370 +msgid "Input" +msgstr "Đầu vào" + +#: lutris/sysoptions.py:355 +msgid "Switch to US keyboard layout" +msgstr "Chuyển sang bố cục bàn phím kiểu Mỹ" + +#: lutris/sysoptions.py:359 +msgid "Switch to US keyboard QWERTY layout while game is running" +msgstr "Chuyển sang bố cục bàn phím QWERTY của Hoa Kỳ trong khi trò chơi đang chạy" + +#: lutris/sysoptions.py:365 +msgid "AntiMicroX Profile" +msgstr "Hồ sơ AntiMicroX" + +#: lutris/sysoptions.py:367 +msgid "Path to an AntiMicroX profile file" +msgstr "Đường dẫn đến tệp hồ sơ AntiMicroX" + +#: lutris/sysoptions.py:373 +msgid "SDL2 gamepad mapping" +msgstr "Ánh xạ gamepad SDL2" + +#: lutris/sysoptions.py:376 +msgid "SDL_GAMECONTROLLERCONFIG mapping string or path to a custom gamecontrollerdb.txt file containing mappings." +msgstr "Chuỗi ánh xạ SDL_GAMEControlLERCONFIG hoặc đường dẫn đến tệp gamecontrollerdb.txt tùy chỉnh có chứa ánh xạ." + +#: lutris/sysoptions.py:380 lutris/sysoptions.py:392 +msgid "Text based games" +msgstr "Trò chơi dựa trên văn bản" + +#: lutris/sysoptions.py:382 +msgid "CLI mode" +msgstr "Chế độ CLI" + +#: lutris/sysoptions.py:387 +msgid "Enable a terminal for text-based games. Only useful for ASCII based games. May cause issues with graphical games." +msgstr "Kích hoạt thiết bị đầu cuối cho trò chơi dựa trên văn bản. Chỉ hữu ích cho các trò chơi dựa trên ASCII. Có thể gây ra sự cố với trò chơi đồ họa." + +#: lutris/sysoptions.py:394 +msgid "Text based games emulator" +msgstr "Trình mô phỏng trò chơi dựa trên văn bản" + +#: lutris/sysoptions.py:400 +msgid "The terminal emulator used with the CLI mode. Choose from the list of detected terminal apps or enter the terminal's command or path." +msgstr "Trình mô phỏng thiết bị đầu cuối được sử dụng với chế độ CLI. Chọn từ danh sách các ứng dụng thiết bị đầu cuối được phát hiện hoặc nhập lệnh hoặc đường dẫn của thiết bị đầu cuối." + +#: lutris/sysoptions.py:406 lutris/sysoptions.py:413 lutris/sysoptions.py:423 lutris/sysoptions.py:431 lutris/sysoptions.py:439 lutris/sysoptions.py:447 lutris/sysoptions.py:457 lutris/sysoptions.py:465 lutris/sysoptions.py:478 lutris/sysoptions.py:492 +msgid "Game execution" +msgstr "Thực hiện trò chơi" + +#: lutris/sysoptions.py:410 +msgid "Environment variables loaded at run time" +msgstr "Các biến môi trường được tải trong runtime" + +#: lutris/sysoptions.py:416 +msgid "Locale" +msgstr "Ngôn ngữ" + +#: lutris/sysoptions.py:420 +msgid "Can be used to force certain locale for an app. Fixes encoding issues in legacy software." +msgstr "Có thể được sử dụng để buộc ngôn ngữ nhất định cho một ứng dụng. Khắc phục sự cố mã hóa trong phần mềm cũ." + +#: lutris/sysoptions.py:426 +msgid "Command prefix" +msgstr "Prefix lệnh" + +#: lutris/sysoptions.py:428 +msgid "Command line instructions to add in front of the game's execution command." +msgstr "Hướng dẫn dòng lệnh để thêm vào trước lệnh thực thi trò chơi." + +#: lutris/sysoptions.py:434 +msgid "Manual script" +msgstr "Tập lệnh thủ công" + +#: lutris/sysoptions.py:436 +msgid "Script to execute from the game's contextual menu" +msgstr "Tập lệnh để thực thi từ menu ngữ cảnh của trò chơi" + +#: lutris/sysoptions.py:442 +msgid "Pre-launch script" +msgstr "Kịch bản trước khi ra mắt" + +#: lutris/sysoptions.py:444 +msgid "Script to execute before the game starts" +msgstr "Script thực thi trước khi trận đấu bắt đầu" + +#: lutris/sysoptions.py:450 +msgid "Wait for pre-launch script completion" +msgstr "Đợi hoàn thành tập lệnh trước khi ra mắt" + +#: lutris/sysoptions.py:454 +msgid "Run the game only once the pre-launch script has exited" +msgstr "Chỉ chạy trò chơi khi tập lệnh trước khi ra mắt đã thoát" + +#: lutris/sysoptions.py:460 +msgid "Post-exit script" +msgstr "Kịch bản sau thoát" + +#: lutris/sysoptions.py:462 +msgid "Script to execute when the game exits" +msgstr "Tập lệnh thực thi khi trò chơi thoát" + +#: lutris/sysoptions.py:468 +msgid "Include processes" +msgstr "Bao gồm các quy trình" + +#: lutris/sysoptions.py:471 +msgid "" +"What processes to include in process monitoring. This is to override the built-in exclude list.\n" +"Space-separated list, processes including spaces can be wrapped in quotation marks." +msgstr "" +"Những quy trình nào cần đưa vào giám sát quy trình. Điều này là để ghi đè danh sách loại trừ tích hợp.\n" +"Danh sách được phân tách bằng dấu cách, các quy trình bao gồm dấu cách có thể được gói trong dấu ngoặc kép." + +#: lutris/sysoptions.py:481 +msgid "Exclude processes" +msgstr "Loại trừ các quy trình" + +#: lutris/sysoptions.py:484 +msgid "" +"What processes to exclude in process monitoring. For example background processes that stick around after the game has been closed.\n" +"Space-separated list, processes including spaces can be wrapped in quotation marks." +msgstr "" +"Những quy trình nào cần loại trừ trong quá trình giám sát quy trình. Ví dụ: các quy trình nền vẫn tồn tại sau khi trò chơi đã bị đóng.\n" +"Danh sách được phân tách bằng dấu cách, các quy trình bao gồm dấu cách có thể được gói trong dấu ngoặc kép." + +#: lutris/sysoptions.py:495 +msgid "Killswitch file" +msgstr "Tập tin Killswitch" + +#: lutris/sysoptions.py:498 +msgid "" +"Path to a file which will stop the game when deleted \n" +"(usually /dev/input/js0 to stop the game on joystick unplugging)" +msgstr "" +"Đường dẫn tới file sẽ dừng trò chơi khi bị xóa \n" +"(thường là /dev/input/js0 để dừng trò chơi khi rút cần điều khiển)" + +#: lutris/sysoptions.py:504 lutris/sysoptions.py:520 lutris/sysoptions.py:529 +msgid "Xephyr (Deprecated, use Gamescope)" +msgstr "Xephyr (Không dùng nữa, sử dụng Gamescope)" + +#: lutris/sysoptions.py:506 +msgid "Use Xephyr" +msgstr "Sử dụng Xephyr" + +#: lutris/sysoptions.py:510 +msgid "8BPP (256 colors)" +msgstr "8BPP (256 màu)" + +#: lutris/sysoptions.py:511 +msgid "16BPP (65536 colors)" +msgstr "16BPP (65536 màu)" + +#: lutris/sysoptions.py:512 +msgid "24BPP (16M colors)" +msgstr "24BPP (16 triệu màu)" + +#: lutris/sysoptions.py:517 +msgid "Run program in Xephyr to support 8BPP and 16BPP color modes" +msgstr "Chạy chương trình trong Xephyr để hỗ trợ chế độ màu 8BPP và 16BPP" + +#: lutris/sysoptions.py:523 +msgid "Xephyr resolution" +msgstr "Độ phân giải Xephyr" + +#: lutris/sysoptions.py:526 +msgid "Screen resolution of the Xephyr server" +msgstr "Độ phân giải màn hình của máy chủ Xephyr" + +#: lutris/sysoptions.py:532 +msgid "Xephyr Fullscreen" +msgstr "Xephyr toàn màn hình" + +#: lutris/sysoptions.py:536 +msgid "Open Xephyr in fullscreen (at the desktop resolution)" +msgstr "Mở Xephyr ở chế độ toàn màn hình (ở độ phân giải của máy tính để bàn)" + +#: lutris/util/flatpak.py:28 +msgid "Flatpak is not installed" +msgstr "Flatpak chưa được cài đặt" + +#: lutris/util/linux.py:547 +msgid "No terminal emulator could be detected." +msgstr "Không thể phát hiện trình mô phỏng thiết bị đầu cuối." + +#: lutris/util/portals.py:83 +#, python-format +msgid "'%s' could not be moved to the trash. You will need to delete it yourself." +msgstr "Không thể chuyển '%s' vào thùng rác. Bạn sẽ cần phải tự xóa nó." + +#: lutris/util/portals.py:88 +#, python-format +msgid "" +"The items could not be moved to the trash. You will need to delete them yourself:\n" +"%s" +msgstr "" +"Không thể chuyển các mục này vào thùng rác. Bạn sẽ cần phải tự xóa chúng:\n" +"%s" + +#: lutris/util/strings.py:17 +msgid "Never played" +msgstr "Chưa bao giờ chơi" + +#. This function works out how many hours are meant by some +#. number of some unit. +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hour" +msgstr "giờ" + +#: lutris/util/strings.py:210 lutris/util/strings.py:275 +msgid "hours" +msgstr "giờ" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minute" +msgstr "phút" + +#: lutris/util/strings.py:212 lutris/util/strings.py:276 +msgid "minutes" +msgstr "phút" + +#: lutris/util/strings.py:219 lutris/util/strings.py:304 +msgid "Less than a minute" +msgstr "Chưa đầy một phút" + +#: lutris/util/strings.py:277 +msgid "day" +msgstr "ngày" + +#: lutris/util/strings.py:277 +msgid "days" +msgstr "ngày" + +#: lutris/util/strings.py:278 +msgid "week" +msgstr "tuần" + +#: lutris/util/strings.py:278 +msgid "weeks" +msgstr "tuần" + +#: lutris/util/strings.py:279 +msgid "month" +msgstr "tháng" + +#: lutris/util/strings.py:279 +msgid "months" +msgstr "tháng" + +#: lutris/util/strings.py:280 +msgid "year" +msgstr "năm" + +#: lutris/util/strings.py:280 +msgid "years" +msgstr "năm" + +#: lutris/util/strings.py:310 +#, python-format +msgid "'%s' is not a valid playtime." +msgstr "'%s' không phải là thời gian phát hợp lệ." + +#: lutris/util/strings.py:395 +msgid "in the future" +msgstr "trong tương lai" + +#: lutris/util/strings.py:397 +msgid "just now" +msgstr "ngay bây giờ" + +#: lutris/util/strings.py:406 +#, python-format +msgid "%d days" +msgstr "%d ngày" + +#: lutris/util/strings.py:410 +#, python-format +msgid "%d hours" +msgstr "%d giờ" + +#: lutris/util/strings.py:415 +#, python-format +msgid "%d minutes" +msgstr "%d phút" + +#: lutris/util/strings.py:417 +msgid "1 minute" +msgstr "1 phút" + +#: lutris/util/strings.py:421 +#, python-format +msgid "%d seconds" +msgstr "%d giây" + +#: lutris/util/strings.py:423 +msgid "1 second" +msgstr "1 giây" + +#: lutris/util/strings.py:425 +msgid "ago" +msgstr "trước kia" + +#: lutris/util/system.py:25 +msgid "Documents" +msgstr "Tài liệu" + +#: lutris/util/system.py:26 +msgid "Downloads" +msgstr "Tải xuống" + +#: lutris/util/system.py:27 +msgid "Desktop" +msgstr "Máy tính để bàn" + +#: lutris/util/system.py:28 lutris/util/system.py:30 +msgid "Pictures" +msgstr "Hình ảnh" + +#: lutris/util/system.py:29 +msgid "Videos" +msgstr "Video" + +#: lutris/util/system.py:31 +msgid "Projects" +msgstr "Dự án" + +#: lutris/util/ubisoft/client.py:95 +#, python-format +msgid "Ubisoft authentication has been lost: %s" +msgstr "Xác thực Ubisoft đã bị mất: %s" + +#: lutris/util/wine/dll_manager.py:102 +#, python-format +msgid "The '%s' runtime component is not installed; visit the Updates tab in the Preferences dialog to install it." +msgstr "Thành phần runtime '%s' chưa được cài đặt; truy cập tab Cập nhật trong hộp thoại Tùy chọn để cài đặt nó." + +#: lutris/util/wine/dll_manager.py:113 +msgid "Manual" +msgstr "Thủ công" + +#: lutris/util/wine/proton.py:100 +#, python-format +msgid "Proton version '%s' is missing its wine executable and can't be used." +msgstr "Phiên bản proton '%s' thiếu khả năng thực thi Wine và không thể sử dụng được." + +#: lutris/util/wine/wine.py:176 +msgid "The Wine version must be specified." +msgstr "Phiên bản Wine phải được chỉ định." diff --git a/pyproject.toml b/pyproject.toml index df293a63af..a5f54a4b71 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.mypy] -python_version = "3.8" +python_version = "3.12" packages = [ "lutris", "tests", @@ -18,7 +18,6 @@ disable_error_code = [ allow_redefinition = true follow_imports = "silent" ignore_missing_imports = true -implicit_optional = true [tool.mypy-baseline] # --baseline-path: the file where the baseline should be stored @@ -35,3 +34,8 @@ hide_stats = false no_colors = false # --ignore: regexes for error messages to ignore ignore = [] + +[tool.pyright] + +typeCheckingMode = "basic" +reportMissingImports = false diff --git a/ruff.toml b/ruff.toml index 8bb882a7c1..eb310ee0b2 100644 --- a/ruff.toml +++ b/ruff.toml @@ -5,7 +5,6 @@ select = ["A", "ARG", "B", "E", "F", "I", "W", "PERF", "RUF"] ignore = [ # Ignores that is not worth/too hard to fix "RUF001", # String contains ambiguous `!` (FULLWIDTH EXCLAMATION MARK). Did you mean `!` (EXCLAMATION MARK)? - used ,mostly on tests - "B028", # No explicit `stacklevel` keyword argument found - not sure why this is needed "E402", # Module level import not at top of file - gtk stuff # Ignores that should be fixed and removed diff --git a/share/applications/net.lutris.Lutris.desktop b/share/applications/net.lutris.Lutris.desktop index 1c8ecff316..d895b7943a 100644 --- a/share/applications/net.lutris.Lutris.desktop +++ b/share/applications/net.lutris.Lutris.desktop @@ -1,8 +1,8 @@ [Desktop Entry] Name=Lutris -StartupWMClass=Lutris +StartupWMClass=net.lutris.Lutris Comment=Video Game Preservation Platform -Categories=Game; +Categories=Game;PackageManager; Keywords=gaming;wine;emulator; Exec=lutris %U Icon=net.lutris.Lutris diff --git a/share/lutris/json/melonds.json b/share/lutris/json/melonds.json index f528fc136f..df01e2abd7 100644 --- a/share/lutris/json/melonds.json +++ b/share/lutris/json/melonds.json @@ -2,9 +2,10 @@ "human_name": "melonDS", "description": "Nintendo DS emulator", "platforms": ["Nintendo DS"], - "runner_executable": "melonds/melonDS", + "runner_executable": "melonds/melonDS-x86_64.AppImage", + "runnable_alone": true, "flatpak_id": "net.kuribo64.melonDS", - "download_url": "https://melonds.kuribo64.net/downloads/melonDS_0.9.5_linux_x64.zip", + "download_url": "https://melonds.kuribo64.net/downloads/melonDS-appimage-x86_64.zip", "game_options": [ { "option": "main_file", @@ -13,5 +14,11 @@ "help": "A DS ROM", "default_path": "game_path" } + ], + "system_options_override": [ + { + "option": "disable_runtime", + "default": true + } ] } diff --git a/share/lutris/ui/log-window.ui b/share/lutris/ui/log-window.ui index 72ffd92b3f..777eeca8d0 100644 --- a/share/lutris/ui/log-window.ui +++ b/share/lutris/ui/log-window.ui @@ -36,6 +36,45 @@ Search... + + + True + horizontal + 6 + + + True + True + Decrease text size + + + True + zoom-out-symbolic + + + + + 0 + + + + + True + True + Increase text size + + + True + zoom-in-symbolic + + + + + 1 + + + + gtk-save @@ -46,7 +85,7 @@ True - 1 + end diff --git a/share/lutris/ui/lutris-window.ui b/share/lutris/ui/lutris-window.ui index fff4434448..8296edc36b 100644 --- a/share/lutris/ui/lutris-window.ui +++ b/share/lutris/ui/lutris-window.ui @@ -105,48 +105,18 @@ True False - 6 - - - True - False - Login to <a href="https://lutris.net/">Lutris.net</a> to view your game library - True - - - False - True - 0 - - True False - <a href="">Login</a> + <a href="">Login</a> to Lutris to sync your game library True False True - end - 1 - - - - - True - False - <a href="">Turn on Library Sync</a> - True - - - - False - True - end - 2 + 0