Compare commits

..

78 commits

Author SHA1 Message Date
lizzie
5dbc9dac2c needs libscienternal 2026-03-08 23:08:18 +00:00
lizzie
73e3f387cc try fix musl 2 2026-03-08 23:07:56 +00:00
lizzie
ad8d6de8bc native ps4 audio sink 2026-03-08 23:07:07 +00:00
lizzie
8275903b65 fix invalid esc symbosl on logs 2026-03-08 23:07:07 +00:00
lizzie
387c543121 init audio 2026-03-08 23:07:07 +00:00
lizzie
0b77edc8b6 fix virtual buffers 2026-03-08 23:07:07 +00:00
lizzie
e962499d4d fix openssl 2026-03-08 23:07:07 +00:00
lizzie
79e0f98a0c disable stdio buffering 2026-03-08 23:07:07 +00:00
lizzie
1eb481975f FX 2026-03-08 23:07:07 +00:00
lizzie
0d4a402bbe let it rip 2026-03-08 23:07:07 +00:00
lizzie
95b05d1dca leave pending param package stuff 2026-03-08 23:07:07 +00:00
lizzie
d5af8b5072 restore protection 2026-03-08 23:07:07 +00:00
lizzie
c6df1670a5 immediately terminate in OO, use 2MB swap handler 2026-03-08 23:07:07 +00:00
lizzie
1eb9404421 use btver2 2026-03-08 23:07:07 +00:00
lizzie
53c55ecc49 reduce fiber sizes 2026-03-08 23:07:07 +00:00
lizzie
b041c6824f fix yuzu cpp 2026-03-08 23:07:07 +00:00
lizzie
75588f6406 use dmem for swap buffers, restore full jit sizes 2026-03-08 23:07:07 +00:00
lizzie
58499f5fc1 force ankerl + fixup for OO with prelude commits 2026-03-08 23:07:07 +00:00
lizzie
745a12b3d1 add hash 2026-03-08 23:07:07 +00:00
lizzie
1b429c4bbf fix 2026-03-08 23:07:07 +00:00
lizzie
33d140fa7b fixup shit 2026-03-08 23:07:04 +00:00
lizzie
83173a21e5 SDL2 PS4 patch 2026-03-08 23:06:54 +00:00
lizzie
cdb0e97239 use newer sdl2, make bigger stack 2026-03-08 23:06:54 +00:00
lizzie
d23fa2142d mark codeblocks as noexcept 2026-03-08 23:06:54 +00:00
lizzie
b35a34e41c fix ps4/orbis 2026-03-08 23:06:54 +00:00
lizzie
921c8d9406 fix2 2026-03-08 23:06:54 +00:00
lizzie
d365a3050a make a bit more mergeable 2026-03-08 23:06:54 +00:00
lizzie
fa0d0a9ba0 Use updated SDL2 2026-03-08 23:06:54 +00:00
lizzie
3936f0e3b7 revert input system to main 2026-03-08 23:06:54 +00:00
lizzie
834fa15ab7 stub add proper iostream init 2026-03-08 23:06:54 +00:00
lizzie
597080d4ff ps4 icon 2026-03-08 23:06:54 +00:00
lizzie
691e3786d6 update loicense 2026-03-08 23:06:54 +00:00
lizzie
610003387c restore stupid lock, make ps4sup library 2026-03-08 23:06:53 +00:00
lizzie
86a99ace4c bs fix 2026-03-08 23:06:53 +00:00
lizzie
cfffaf6d41 fix eboot 2026-03-08 23:06:53 +00:00
lizzie
e29aad3f04 temp fix for dpad 2026-03-08 23:06:53 +00:00
lizzie
654117245b add emutls.c 2026-03-08 23:06:53 +00:00
lizzie
99a67199e3 reduce arm codeisze, force 16x4 pages again 2026-03-08 23:06:53 +00:00
lizzie
d1f10e9394 extra buffer precautions to not exhaust DMem, format better + perf history nerf 2026-03-08 23:06:53 +00:00
lizzie
9df314c914 more inline pt2 2026-03-08 23:06:53 +00:00
lizzie
cfd11d8a5e fix atexit impl 2026-03-08 23:06:53 +00:00
lizzie
46a00cc978 fibers that don't immediately crash?!!?!?!!? 2026-03-08 23:06:53 +00:00
lizzie
7a08f340dc add fallback buffer back 2026-03-08 23:06:53 +00:00
lizzie
23d7c6aacf force running services on host 2026-03-08 23:06:53 +00:00
lizzie
42a29d09d2 fix alloc failures 2026-03-08 23:06:53 +00:00
lizzie
9fd522ccbe fix sdl2 2026-03-08 23:06:53 +00:00
lizzie
cf2d3a15bc fix for crashes on TLS due to openorbis being W E I R D 2026-03-08 23:06:53 +00:00
lizzie
c9c3762c8e opengl bullshit 2026-03-08 23:06:53 +00:00
lizzie
14984625b7 proper memswap mechanism 2026-03-08 23:06:53 +00:00
lizzie
733c596a14 more stupid stuff 2026-03-08 23:06:53 +00:00
lizzie
9e0ac816ae fixes 4 stuff 2026-03-08 23:06:53 +00:00
lizzie
bc49a8ca0b swap handling 2026-03-08 23:06:53 +00:00
lizzie
1c4f568d56 license 2026-03-08 23:06:53 +00:00
lizzie
7f2e42ad40 add sce_module so it loads on real hw 2026-03-08 23:06:53 +00:00
lizzie
5bc13df3eb fixes for mbedtls 2026-03-08 23:06:53 +00:00
lizzie
39b8107b5c adapt to new master 2026-03-08 23:06:53 +00:00
lizzie
81b953affc evil haxx 2026-03-08 23:06:53 +00:00
lizzie
98ac8ab13c extra ps4 defs 2026-03-08 23:06:51 +00:00
lizzie
6765e7cd17 make virtual buffer become an optional 2026-03-08 23:06:27 +00:00
lizzie
5d1e74533c force NO fastmem 2026-03-08 23:06:27 +00:00
lizzie
9051fcb33b more memory shit 2026-03-08 23:06:27 +00:00
lizzie
9f2447357b MAP_SYSTEM 2026-03-08 23:06:27 +00:00
lizzie
98a7a81396 (likely) fixes for virtual dmem? 2026-03-08 23:06:27 +00:00
lizzie
c5ac1f9cc2 disable fastmem 2026-03-08 23:06:27 +00:00
lizzie
692dd09dda try to fix the paths 2026-03-08 23:06:27 +00:00
lizzie
a58b1e975e sysconf stub cuz crash(?) + some stderrp stuff 2026-03-08 23:06:27 +00:00
lizzie
b02e0ccc76 the orb 2026-03-08 23:06:27 +00:00
lizzie
c840015ba2 fself + pkg stuffs 2026-03-08 23:06:27 +00:00
lizzie
f1d1e09c4c make .pkg and .self 2026-03-08 23:06:27 +00:00
lizzie
564aac846a exclude more stuff from vulkan 2026-03-08 23:06:27 +00:00
lizzie
86ffa7932e exclude from vulkan surface selection 2026-03-08 23:06:27 +00:00
lizzie
1ebc3ba89d buildable toolchain script + fixes for ffmpeg 2026-03-08 23:06:27 +00:00
lizzie
8f810a2f1b merge 2026-03-08 23:06:27 +00:00
lizzie
75ae6de81e merge 2026-03-08 23:06:27 +00:00
lizzie
d97c3b25a0 fix 2026-03-08 23:06:27 +00:00
lizzie
4e9764f42a toolchain-fix 2026-03-08 23:06:27 +00:00
lizzie
77feee7a7b fuck you 2026-03-08 23:06:27 +00:00
lizzie
a4035ce2d8 no conversion fixs 2026-03-08 23:06:27 +00:00
484 changed files with 40520 additions and 55190 deletions

View file

@ -115,7 +115,7 @@ for file in $FILES; do
*.cmake|*.sh|*CMakeLists.txt)
begin="#"
;;
*.kt*|*.cpp|*.h|*.qml)
*.kt*|*.cpp|*.h)
begin="//"
;;
*)
@ -193,7 +193,7 @@ if [ "$UPDATE" = "true" ]; then
begin="#"
shell=true
;;
*)
*.kt*|*.cpp|*.h)
begin="//"
shell="false"
;;

View file

@ -32,7 +32,7 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_SIZEOF_VOID_P 8)
EOF
[ -z ${NPROC+x} ] && NPROC=$(nproc || 1)
NPROC=$(nproc || 1)
# Normally a platform has a package manager
# PS4 does not, atleast not in the normal sense

View file

@ -197,7 +197,7 @@ option(YUZU_USE_BUNDLED_SIRIT "Download bundled sirit" ${BUNDLED_SIRIT_DEFAULT})
# FreeBSD 15+ has libusb, versions below should disable it
cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "WIN32 OR PLATFORM_LINUX OR PLATFORM_FREEBSD OR APPLE" OFF)
cmake_dependent_option(ENABLE_OPENGL "Enable OpenGL" ON "NOT (WIN32 AND ARCHITECTURE_arm64) AND NOT APPLE" OFF)
cmake_dependent_option(ENABLE_OPENGL "Enable OpenGL" ON "NOT WIN32 OR NOT ARCHITECTURE_arm64" OFF)
mark_as_advanced(FORCE ENABLE_OPENGL)
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)

3238
dist/languages/ar.ts vendored

File diff suppressed because it is too large Load diff

3127
dist/languages/ca.ts vendored

File diff suppressed because it is too large Load diff

2747
dist/languages/cs.ts vendored

File diff suppressed because it is too large Load diff

2745
dist/languages/da.ts vendored

File diff suppressed because it is too large Load diff

3391
dist/languages/de.ts vendored

File diff suppressed because it is too large Load diff

2751
dist/languages/el.ts vendored

File diff suppressed because it is too large Load diff

3895
dist/languages/es.ts vendored

File diff suppressed because it is too large Load diff

3189
dist/languages/fi.ts vendored

File diff suppressed because it is too large Load diff

2816
dist/languages/fr.ts vendored

File diff suppressed because it is too large Load diff

3105
dist/languages/hu.ts vendored

File diff suppressed because it is too large Load diff

3095
dist/languages/id.ts vendored

File diff suppressed because it is too large Load diff

3255
dist/languages/it.ts vendored

File diff suppressed because it is too large Load diff

3172
dist/languages/ja_JP.ts vendored

File diff suppressed because it is too large Load diff

3117
dist/languages/ko_KR.ts vendored

File diff suppressed because it is too large Load diff

4132
dist/languages/nb.ts vendored

File diff suppressed because it is too large Load diff

2748
dist/languages/nl.ts vendored

File diff suppressed because it is too large Load diff

2764
dist/languages/pl.ts vendored

File diff suppressed because it is too large Load diff

3412
dist/languages/pt_BR.ts vendored

File diff suppressed because it is too large Load diff

3105
dist/languages/pt_PT.ts vendored

File diff suppressed because it is too large Load diff

3815
dist/languages/ru_RU.ts vendored

File diff suppressed because it is too large Load diff

2773
dist/languages/sv.ts vendored

File diff suppressed because it is too large Load diff

3102
dist/languages/tr_TR.ts vendored

File diff suppressed because it is too large Load diff

3199
dist/languages/uk.ts vendored

File diff suppressed because it is too large Load diff

3117
dist/languages/vi.ts vendored

File diff suppressed because it is too large Load diff

3117
dist/languages/vi_VN.ts vendored

File diff suppressed because it is too large Load diff

3175
dist/languages/zh_CN.ts vendored

File diff suppressed because it is too large Load diff

3108
dist/languages/zh_TW.ts vendored

File diff suppressed because it is too large Load diff

View file

@ -70,8 +70,8 @@ These options control executables and build flavors.
The following options are desktop only.
- `ENABLE_LIBUSB` (ON) Enable the use of the libusb input backend (HIGHLY RECOMMENDED)
- `ENABLE_OPENGL` (ON) Enable the OpenGL graphics backend
- `ENABLE_LIBUSB` (ON) Enable the use of the libusb input frontend (HIGHLY RECOMMENDED)
- `ENABLE_OPENGL` (ON) Enable the OpenGL graphics frontend
- Unavailable on Windows/ARM64
- You probably shouldn't turn this off.

View file

@ -1,6 +1,6 @@
# Setting a Custom Date/Time in Eden
Use this guide whenever you want to modify the Date or Time that Eden reports to games. This can be useful for modifying RNG elements, skipping wait times in games, etc.
Use this guide whenever you want to modify the Date or Time that Eden reports to games. This can be useful for modifying RNG elements, skipping wait times in games, etc.
**Click [Here](https://evilperson1337.notion.site/Setting-a-Custom-Date-Time-in-Eden-2b357c2edaf680acb8d4e63ccc126564) for a version of this guide with images & visual elements.**
@ -16,5 +16,5 @@ Use this guide whenever you want to modify the Date or Time that Eden reports to
1. Navigate to *Emulation → Configure*.
2. Click on the **System** item on the left-hand side navigation, then check the *Custom RTC Date* box.
3. The Date/Time option now becomes editable. Set it to the value you want and hit **OK**.
4. GREAT SCOTT! We have time traveled! You can of course go forward or backward in time (as long as it is not before the year 1970) and your game should update accordingly (e.g. certain *Super Mario Odyssey* moons that take time for flowers to grow will now be fully grown.).
3. The Date/Time option now becomes editable. Set it to the value you want and hit **OK**.
4. GREAT SCOTT! We have time traveled! You can of course go forward or backward in time (as long as it is not before the year 1970) and your game should update accordingly (e.g. certain *Super Mario Odyssey* moons that take time for flowers to grow will now be fully grown.).

View file

@ -16,15 +16,6 @@ The CPU must support FMA for an optimal gameplay experience. The GPU needs to su
If your GPU doesn't support or is just behind by a minor version, see Mesa environment variables below (*nix only).
## Releases and versions
- Stable releases/Versioned releases: Has a version number and it's the versions we expect 3rd party repositories to host (package managers and such), these are, well, stable, have low amount of regressions (wrt. to master and nightlies) and generally focus on "keeping things without regressions", recommended for the average user.
- RC releases: Release candidate, generally "less stable but still stable" versions.
- Full release: "The stablest possible you could get".
- Nightly: Builds done around 2PM UTC (if there are any changes), generally stable, but not recommended for the average user. These contain daily updates and may contain critical fixes for some games.
- Master: Unstable builds, can lead from a game working exceptionally fine to absolute crashing in some systems because someone forgot to check if NixOS or Solaris worked. These contain straight from the oven fixes, please don't use them unless you plan to contribute something! They're very experimental! Still 95% of the time it will work just fine.
- PR builds: Highly experimental builds, testers may grab from these. The average user should treat them the same as master builds, except sometimes they straight up don't build/work.
## User configuration
### Configuration directories

View file

@ -7,7 +7,6 @@ There are two main applications, an SDL2 based app (`eden-cli`) and a Qt based a
- `-g <path>`: Alternate way to specify what to load, overrides. However let it be noted that arguments that use `-` will be treated as options/ignored, if your game, for some reason, starts with `-`, in order to safely handle it you may need to specify it as an argument.
- `-f`: Use fullscreen.
- `-u <number>`: Select the index of the user to load as.
- `-input-profile <name>`: Specifies input profile name to use (for player #0 only).
- `-qlaunch`: Launch QLaunch.
- `-setup`: Launch setup applet.
@ -21,4 +20,3 @@ There are two main applications, an SDL2 based app (`eden-cli`) and a Qt based a
- `--program/-p`: Specify the program arguments to pass (optional).
- `--user/-u`: Specify the user index.
- `--version/-v`: Display version and quit.
- `--input-profile/-i`: Specifies input profile name to use (for player #0 only).

View file

@ -0,0 +1,49 @@
# Configuring Controller Profiles
Use this guide for when you want to configure specific controller settings to be reused.
**Click [Here](https://evilperson1337.notion.site/Configuring-Controller-Profiles-2be57c2edaf680eabc3ac8c333ec75c4) for a version of this guide with images & visual elements.**
---
### Pre-Requisites
- Eden Set Up and Configured
---
### Steps
1. Launch Eden and wait for it to load.
2. Navigate to *Emulation > Configure…*
3. Select **Controls** from the left-hand menu and configure your controller for the way you want it to be in game.
4. Select **New** and enter a name for the profile in the box that appears. Press **OK** to save the profile settings.
5. Select **OK** to close the settings menu.
## Setting Controller Profiles By Game
Use this guide when you want to set up specific controller profiles for specific games. This can be useful for certain games like *Captain Toad Treasure Tracker* where a blue dot appears in the middle of the screen when you have docked mode enabled, but not handheld mode.
**Click [Here](https://evilperson1337.notion.site/Setting-Controller-Profiles-By-Game-2b057c2edaf681658a57f0c199cb6083) for a version of this guide with images & visual elements.**
---
### Pre-Requisites
- Eden Emulator set up and fully configured
- Controller Profile Created
- See [*Configuring Controller Profiles*](./ControllerProfiles.md) for instructions on how to do this if needed.
---
### Steps
1. *Right-Click* the game you want to apply the profile to in the main window and select **Properties.**
2. Navigate to the **Input Profiles** tab in the window that appears. Drop down on *Player 1 profile* (or whatever player profile you want to apply it to) and select the profile you want.
<aside>
***NOTE***: You may have to resize the window to see all tabs, or press the arrows by the tabs to see **Input Profiles**.
</aside>
1. Click **OK** to apply the profile mapping.
2. Launch the game and confirm that the profile is applied, regardless of what the global configuration is.

View file

@ -1,65 +0,0 @@
# User Handbook - Controllers
Most of the controls should work out of the box. If not, please use a joystick calibrator to ensure it's not an issue with your own controller, for example:
- https://github.com/dkosmari/calibrate-joystick
## Using external controllers on the Steamdeck
In desktop mode ignore your pro controller/xbox contoller external controller and use **Steam Virtual Gamepad 0 as Player 1**. If you have multiple external controllers set **Player 2 to Steam Virtual Gamepad 1**. Steam app must not be closed on desktop mode.
Here's the annoying part of it. When waking up the steam deck from sleep try not to touch any button on the Steamdeck and turn on your external controller. Then open the Eden.AppImage. If you're lucky you can get your external controller to be position 0 and also Steam Virtual Gamepad 0 in desktop mode. If not that is ok too unless you need to configure player 1 to have gyro. You might need to repeat this to get your external controller as Steam Virtual Gamepad 0 so you can config Player 1 having gyro. You might be able to config player 1 to have gyro with the Steamdeck itself. Or you can also config player 1, 2, 3, etc, to have gyro somehow. Make sure they are all using Virtual Gamepads though.
Turn off controller then go to gaming mode. Try not to touch any buttons on the physical Steamdeck. When in gaming mode turn on the external controller. If lucky it will be assigned as Steam Virtual Gamepad 0. If not just use steam Gamemode feature to rearrange controller positions order.
Basically the Steamdeck or the external controller is fighting for position 0 and it depends on what is touched first after waking from sleep.
## Configuring Controller Profiles
Use this guide for when you want to configure specific controller settings to be reused.
**Click [Here](https://evilperson1337.notion.site/Configuring-Controller-Profiles-2be57c2edaf680eabc3ac8c333ec75c4) for a version of this guide with images & visual elements.**
---
#### Pre-Requisites
- Eden Set Up and Configured
---
#### Steps
1. Launch Eden and wait for it to load.
2. Navigate to *Emulation > Configure…*
3. Select **Controls** from the left-hand menu and configure your controller for the way you want it to be in game.
4. Select **New** and enter a name for the profile in the box that appears. Press **OK** to save the profile settings.
5. Select **OK** to close the settings menu.
### Setting Controller Profiles By Game
Use this guide when you want to set up specific controller profiles for specific games. This can be useful for certain games like *Captain Toad Treasure Tracker* where a blue dot appears in the middle of the screen when you have docked mode enabled, but not handheld mode.
**Click [Here](https://evilperson1337.notion.site/Setting-Controller-Profiles-By-Game-2b057c2edaf681658a57f0c199cb6083) for a version of this guide with images & visual elements.**
---
#### Pre-Requisites
- Eden Emulator set up and fully configured
- Controller Profile Created
- See [*Configuring Controller Profiles*](./ControllerProfiles.md) for instructions on how to do this if needed.
---
#### Steps
1. *Right-Click* the game you want to apply the profile to in the main window and select **Properties.**
2. Navigate to the **Input Profiles** tab in the window that appears. Drop down on *Player 1 profile* (or whatever player profile you want to apply it to) and select the profile you want.
<aside>
***NOTE***: You may have to resize the window to see all tabs, or press the arrows by the tabs to see **Input Profiles**.
</aside>
1. Click **OK** to apply the profile mapping.
2. Launch the game and confirm that the profile is applied, regardless of what the global configuration is.

View file

@ -11,12 +11,10 @@ A copy of this handbook is [available online](https://git.eden-emu.dev/eden-emu/
- **[The Basics](Basics.md)**
- **[Quickstart](./QuickStart.md)**
- **[Settings](./Settings.md)**
- **[Controllers](./Controllers.md)**
- **[Controller profiles](./Controllers.md#configuring-controller-profiles)**
- **[Audio](Audio.md)**
- **[Graphics](Graphics.md)**
- **[Installing Mods](./Mods.md)**
- **[Run On macOS](./RunOnMacOS.md)**
- **[Audio](Audio.md)**
- **[Graphics](Graphics.md)**
- **[Data, Savefiles and Storage](Storage.md)**
- **[Orphaned Profiles](Orphaned.md)**
- **[Troubleshooting](./Troubleshoot.md)**
@ -25,6 +23,7 @@ A copy of this handbook is [available online](https://git.eden-emu.dev/eden-emu/
- **[Importing Saves](./ImportingSaves.md)**
- **[Installing Atmosphere Mods](./InstallingAtmosphereMods.md)**
- **[Installing Updates & DLCs](./InstallingUpdatesDLC.md)**
- **[Controller Profiles](./ControllerProfiles.md)**
- **[Alter Date & Time](./AlterDateTime.md)**
## 3rd-party Integration
@ -36,7 +35,6 @@ A copy of this handbook is [available online](https://git.eden-emu.dev/eden-emu/
- **[Obtainium](./ThirdParty.md#configuring-obtainium)**
- **[ES-DE](./ThirdParty.md#configuring-es-de)**
- **[Mirrors](./ThirdParty.md#mirrors)**
- **[GameMode](./ThirdParty.md#configuring-gamemode)**
## Advanced

View file

@ -1,12 +1,4 @@
# User Handbook - Run on macOS
Current macOS support is still experimental and very reliant on MoltenVK developments, plans have shifted to properly provide support for KosmicKrisp and similar new GPU endeavours, but macOS users still are bound to MoltenVK itself.
Users of macOS may wish to use [Asahi Linux](https://wiki.gentoo.org/wiki/Project:Asahi/Guide) for the rising KosmicKrisp support.
As of writing, neither macOS nor Asahi has support for NCE; additionally Asahi has extraneous paging bugs with fastmem.
## Allowing Eden to Run on MacOS
# Allowing Eden to Run on MacOS
Use this guide when you need to allow Eden to run on a Mac system, but are being blocked by Apple Security policy.
@ -14,19 +6,19 @@ Use this guide when you need to allow Eden to run on a Mac system, but are being
---
#### Pre-Requisites
### Pre-Requisites
- Permissions to modify settings in MacOS
---
### Why am I Seeing This?
## Why am I Seeing This?
Recent versions of MacOS (Catalina & newer) introduced the **Gatekeeper** security functionality, requiring software to be signed by Apple or a trusted (aka - paying) developer. If the signature isnt on the list of trusted ones, it will stop the program from executing and display the message above.
---
### Steps
## Steps
1. Open the *System Settings* panel.
2. Navigate to *Privacy & Security*.

View file

@ -50,4 +50,5 @@ See also [an extended breakdown of some options](./Graphics.md).
## Controls
See [controllers](./Controllers.md).
Most of the controls should work out of the box. If not, please use a joystick calibrator to ensure it's not an issue with your own controller, for example:
- https://github.com/dkosmari/calibrate-joystick

View file

@ -1,99 +1,39 @@
# Testing
# User Handbook - Testing
While this is mainly aimed for testers - normal users can benefit from these guidelines to make their life easier when trying to outline and/or report an issue.
## Getting logs
In order to get more information, you can find logs in the following location:
## How to Test a PR Against the Based Master When Issues Arise
When you're testing a pull request (PR) and encounter unexpected behavior, it's important to determine whether the issue was introduced by the PR or if it already exists in the base code. To do this, compare the behavior against the based master branch.
Even before an issue occurs, it is best practice to keep the same settings and delete the shader cache. Using an already made shader cache can make the PR look like it is having a regression in some rare cases.
Try not to test PRs which are for documentation or extremely trivial changes (like a PR that changes the app icon), unless you really want to; generally avoid any PRs marked `[docs]`.
If a PR specifies it is for a given platform (i.e `linux`) then just test on Linux. If it says `NCE` then test on Android and Linux ARM64 (Raspberry Pi and such). macOS fixes may also affect Asahi, test that if you can too.
You may also build artifacts yourself, be aware that the resulting builds are NOT the same as those from CI, because of package versioning and build environment differences. One famous example is FFmpeg randomly breaking on many Arch distros due to packaging differences.
## Quickstart
Think of the source code as a "tree", with the "trunk" of that tree being our `master` branch, any other branches are PRs or separate development branches, only our stable releases pull from `master` - all other branches are considered unstable and aren't recommended to pull from unless you're testing multiple branches at once.
Here's some terminology you may want to familiarize yourself with:
- PR: Pull request, a change in the codebase; from which the author of said change (the programmer) requests a pull of that branch into master (make it so the new code makes it into a release basically).
- Bisect: Bilinear method of searching regressions, some regressions may be sporadic and can't be bisected, but the overwhelming majority are.
- WIP: Work-in-progress.
- Regression: A new bug/glitch caused by new code, i.e "Zelda broke in android after commit xyz".
- Master: The "root" branch, this is where all merged code goes to, traditionally called `main`, `trunk` or just `master`, it contains all the code that eventually make it to stable releases.
- `HEAD`: Latest commit in a given branch, `HEAD` of `master` is the latest commit on branch `master`.
- `origin`: The default "remote", basically the URL from where git is located at, for most of the time that location is https://git.eden-emu.dev/eden-emu/eden.
## Testing checklist
For regressions/bugs from PRs or commits:
- [ ] Occurs in master?
- If it occurs on master:
- [ ] Occurs on previous stable release? (before this particular PR).
- If it occurs on previous stable release:
- [ ] Occurs on previous-previous stable release?
- And so on and so forth... some bugs come from way before Eden was even conceived.
- Otherwise, try bisecting between the previous stable release AND the latest `HEAD` of master
- [ ] Occurs in given commit?
- [ ] Occurs in PR?
- If it occurs on PR:
- [ ] Bisected PR? (if it has commits)
- [ ] Found bisected commit?
If an issue sporadically appears, try to do multiple runs, try if possible, to count the number of times it has failed and the number of times it has "worked just fine"; say it worked 3 times but failed 1. then there is a 1/4th chance every run that the issue is replicated - so every bisect step would require 4 runs to ensure there is atleast a chance of triggering the bug.
## What to do when something seems off
### What to Do When Something Seems Off
If you notice something odd during testing:
- Reproduce the issue using the based master branch.
- Observe whether the same behavior occurs.
From there onwards there can be two possible outcomes:
### Two Possible Outcomes
- If the issue exists in the based master: This means the problem was already present before the PR. The PR most likely did not introduce the regression.
- If the issue does not exist in the based master: This suggests the PR most likely introduced the regression and needs further investigation.
## Reporting Your Findings
### Report your findings
When you report your results:
- Clearly state whether the behavior was observed in the based master.
- Indicate whether the result is good (expected behavior) or bad (unexpected or broken behavior). Without mentioning if your post/report/log is good or bad it may confuse the developer of the PR.
For example:
1. "Bad result for PR: Tested on based master - issue not present. Likely regression introduced."
2. "Good result for PR: Tested on based master - issue already present. Not a regression."
This approach helps maintain clarity and accountability in the testing process and ensures regressions are caught and addressed efficiently.
If the behavior seems normal for a certain game/feature then it may not be always required to check against the based master.
- Indicate whether the result is good (expected behavior) or bad (unexpected or broken behavior). Without mentioning if your post/report/log is good or bad it may confuse the Developer of the PR.
- Example:
```
1. "Tested on based master — issue not present. Bad result for PR, likely regression introduced."
2. "Tested on based master — issue already present. Good result for PR, not a regression."
```
This approach helps maintain clarity and accountability in the testing process and ensures regressions are caught and addressed efficiently. If the behavior seems normal for a certain game/feature then it may not be always required to check against the based master.
If a master build for the PR' based master does not exist. It will be helpful to just test past and future builds nearby. That would help with gathering more information about the problem.
**Always include [debugging info](../Debug.md) as needed**.
## Bisecting
One happy reminder, when testing, *know how to bisect!*
Say you're trying to find an issue between 1st of Jan and 8th of Jan, you can search by dividing "in half" the time between each commit:
- Check for 4th of Jan
- If 4th of Jan is "working" then the issue must be in the future
- So then check 6th of Jan
- If 6th of Jan isn't working then the issue must be in the past
- So then check 5th of Jan
- If 5th of Jan worked, then the issue starts at 6th of Jan
The faulty commit then, is 6th of Jan. This is called bisection https://git-scm.com/docs/git-bisect
## Notes
- PR's marked with **WIP** do NOT need to be tested unless explicitly asked (check the git in case)
- Sometimes license checks may fail, hover over the build icon to see if builds did succeed, as the CI will push builds even if license checks fail.
- All open PRs can be viewed [here](https://git.eden-emu.dev/eden-emu/eden/pulls/).
- If site is down use one of the [mirrors](./user/ThirdParty.md#mirrors).
**Always include [debugging info](../Debug.md) as needed**.

View file

@ -4,6 +4,7 @@ The Eden emulator by itself lacks some functionality - or otherwise requires ext
While most of the links mentioned in this guide are relatively "safe"; we urge users to use their due diligence and appropriatedly verify the integrity of all files downloaded and ensure they're not compromised.
- [Nightly Eden builds](https://github.com/pflyly/eden-nightly)
- [NixOS Eden Flake](https://github.com/Grantimatter/eden-flake)
- [ES-DE Frontend Support](https://github.com/GlazedBelmont/es-de-android-custom-systems)
@ -65,9 +66,3 @@ Note: Even though the site isn't Codeberg, it uses the same Forgejo/Gitea backen
```xml
<command label="Eden (Standalone)">%EMULATOR_EDEN% %ACTION%=android.nfc.action.TECH_DISCOVERED %DATA%=%ROMPROVIDER%</command>
```
## Configuring GameMode
There is a checkbox to enable gamemode automatically. The `libgamemode.so` library must be findable on the standard `LD_LIBRARY_PATH` otherwise it will not properly be enabled. If for whatever reason it doesn't work, see [Arch wiki: GameMode](https://wiki.archlinux.org/title/GameMode) for more info.
You may launch the emulator directly via the wrapper `gamemode <program>`, and things should work out of the box.

View file

@ -36,7 +36,7 @@
"0002-fix-zstd.patch"
],
"options": [
"HTTPLIB_REQUIRE_OPENSSL OFF"
"HTTPLIB_REQUIRE_OPENSSL ON"
]
},
"cpp-jwt": {
@ -144,7 +144,7 @@
"package": "SDL2",
"name": "SDL2",
"repo": "crueter-ci/SDL2",
"version": "2.32.10-3c28e8ecc0",
"version": "2.32.10-cf5dabd6ea",
"min_version": "2.26.4"
},
"catch2": {

View file

@ -242,6 +242,7 @@ if (YUZU_CMD)
endif()
if (ENABLE_QT)
add_definitions(-DYUZU_QT_WIDGETS)
add_subdirectory(qt_common)
add_subdirectory(yuzu)
endif()

View file

@ -73,11 +73,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
android:theme="@style/Theme.Yuzu.Main"
android:label="@string/preferences_settings"/>
<activity
android:name="org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreenActivity"
android:theme="@style/Theme.Yuzu.Main"
android:label="@string/preferences_settings"/>
<activity
android:name="org.yuzu.yuzu_emu.activities.EmulationActivity"
android:theme="@style/Theme.Yuzu.Main"

View file

@ -40,21 +40,11 @@ class AddonAdapter(val addonViewModel: AddonViewModel) :
}
}
val canDelete = model.isRemovable
binding.deleteCard.isEnabled = canDelete
binding.buttonDelete.isEnabled = canDelete
binding.deleteCard.alpha = if (canDelete) 1f else 0.38f
if (canDelete) {
val deleteAction = {
addonViewModel.setAddonToDelete(model)
}
binding.deleteCard.setOnClickListener { deleteAction() }
binding.buttonDelete.setOnClickListener { deleteAction() }
} else {
binding.deleteCard.setOnClickListener(null)
binding.buttonDelete.setOnClickListener(null)
val deleteAction = {
addonViewModel.setAddonToDelete(model)
}
binding.deleteCard.setOnClickListener { deleteAction() }
binding.buttonDelete.setOnClickListener { deleteAction() }
}
}
}

View file

@ -1,6 +1,3 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@ -9,10 +6,10 @@ package org.yuzu.yuzu_emu.adapters
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.Toast
import androidx.core.os.bundleOf
import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.FragmentActivity
import androidx.navigation.findNavController
import org.yuzu.yuzu_emu.HomeNavigationDirections
import org.yuzu.yuzu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication
@ -70,13 +67,8 @@ class AppletAdapter(val activity: FragmentActivity, applets: List<Applet>) :
title = YuzuApplication.appContext.getString(applet.titleId),
path = appletPath
)
binding.root.findNavController().navigate(
R.id.action_global_emulationActivity,
bundleOf(
"game" to appletGame,
"custom" to false
)
)
val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)
binding.root.findNavController().navigate(action)
}
}
}

View file

@ -27,20 +27,6 @@ class GpuUnswizzleSetting(
override val isSaveable = true
override val isRuntimeModifiable = true
override val isSwitchable = true
override val pairedSettingKey: String = ""
override var global: Boolean
get() {
return BooleanSetting.GPU_UNSWIZZLE_ENABLED.global &&
IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.global &&
IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.global &&
IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.global
}
set(value) {
BooleanSetting.GPU_UNSWIZZLE_ENABLED.global = value
IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.global = value
IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.global = value
IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.global = value
}
override fun getValueAsString(needsGlobal: Boolean): String = "combined"
override fun reset() {
BooleanSetting.GPU_UNSWIZZLE_ENABLED.reset()
@ -86,4 +72,4 @@ class GpuUnswizzleSetting(
IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.setInt(value)
fun reset() = setting.reset()
}
}

View file

@ -989,7 +989,6 @@ abstract class SettingsItem(
override val isRuntimeModifiable: Boolean = false
override val defaultValue: Boolean = true
override val isSwitchable: Boolean = true
override val pairedSettingKey: String = ""
override var global: Boolean
get() {
return BooleanSetting.FASTMEM.global &&

View file

@ -111,10 +111,18 @@ class SettingsActivity : AppCompatActivity() {
if (navHostFragment.childFragmentManager.backStackEntryCount > 0) {
navHostFragment.navController.popBackStack()
} else {
finish()
finishWithFragmentLikeAnimation()
}
}
private fun finishWithFragmentLikeAnimation() {
finish()
overridePendingTransition(
androidx.navigation.ui.R.anim.nav_default_pop_enter_anim,
androidx.navigation.ui.R.anim.nav_default_pop_exit_anim
)
}
override fun onStart() {
super.onStart()
if (!DirectoryInitialization.areDirectoriesReady) {
@ -170,7 +178,7 @@ class SettingsActivity : AppCompatActivity() {
getString(R.string.settings_reset),
Toast.LENGTH_LONG
).show()
finish()
finishWithFragmentLikeAnimation()
}
private fun setInsets() {

View file

@ -1,152 +0,0 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.features.settings.ui
import android.content.Context
import android.os.Bundle
import android.view.View
import android.view.ViewGroup.MarginLayoutParams
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity
import androidx.core.os.bundleOf
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.navArgs
import com.google.android.material.color.MaterialColors
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication
import org.yuzu.yuzu_emu.databinding.ActivitySettingsBinding
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
import org.yuzu.yuzu_emu.utils.InsetsHelper
import org.yuzu.yuzu_emu.utils.ThemeHelper
enum class SettingsSubscreen {
PROFILE_MANAGER,
DRIVER_MANAGER,
DRIVER_FETCHER,
FREEDRENO_SETTINGS,
APPLET_LAUNCHER,
INSTALLABLE,
GAME_FOLDERS,
ABOUT,
LICENSES,
GAME_INFO,
ADDONS,
}
class SettingsSubscreenActivity : AppCompatActivity() {
private lateinit var binding: ActivitySettingsBinding
private val args by navArgs<SettingsSubscreenActivityArgs>()
override fun attachBaseContext(base: Context) {
super.attachBaseContext(YuzuApplication.applyLanguage(base))
}
override fun onCreate(savedInstanceState: Bundle?) {
ThemeHelper.setTheme(this)
super.onCreate(savedInstanceState)
binding = ActivitySettingsBinding.inflate(layoutInflater)
setContentView(binding.root)
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.fragment_container) as NavHostFragment
if (savedInstanceState == null) {
val navController = navHostFragment.navController
val navGraph = navController.navInflater.inflate(
R.navigation.settings_subscreen_navigation
)
navGraph.setStartDestination(resolveStartDestination())
navController.setGraph(navGraph, createStartDestinationArgs())
}
WindowCompat.setDecorFitsSystemWindows(window, false)
if (InsetsHelper.getSystemGestureType(applicationContext) !=
InsetsHelper.GESTURE_NAVIGATION
) {
binding.navigationBarShade.setBackgroundColor(
ThemeHelper.getColorWithOpacity(
MaterialColors.getColor(
binding.navigationBarShade,
com.google.android.material.R.attr.colorSurface
),
ThemeHelper.SYSTEM_BAR_ALPHA
)
)
}
onBackPressedDispatcher.addCallback(
this,
object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() = navigateBack()
}
)
setInsets()
}
override fun onStart() {
super.onStart()
if (!DirectoryInitialization.areDirectoriesReady) {
DirectoryInitialization.start()
}
}
fun navigateBack() {
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.fragment_container) as NavHostFragment
if (!navHostFragment.navController.popBackStack()) {
finish()
}
}
private fun resolveStartDestination(): Int =
when (args.destination) {
SettingsSubscreen.PROFILE_MANAGER -> R.id.profileManagerFragment
SettingsSubscreen.DRIVER_MANAGER -> R.id.driverManagerFragment
SettingsSubscreen.DRIVER_FETCHER -> R.id.driverFetcherFragment
SettingsSubscreen.FREEDRENO_SETTINGS -> R.id.freedrenoSettingsFragment
SettingsSubscreen.APPLET_LAUNCHER -> R.id.appletLauncherFragment
SettingsSubscreen.INSTALLABLE -> R.id.installableFragment
SettingsSubscreen.GAME_FOLDERS -> R.id.gameFoldersFragment
SettingsSubscreen.ABOUT -> R.id.aboutFragment
SettingsSubscreen.LICENSES -> R.id.licensesFragment
SettingsSubscreen.GAME_INFO -> R.id.gameInfoFragment
SettingsSubscreen.ADDONS -> R.id.addonsFragment
}
private fun createStartDestinationArgs(): Bundle =
when (args.destination) {
SettingsSubscreen.DRIVER_MANAGER,
SettingsSubscreen.FREEDRENO_SETTINGS -> bundleOf("game" to args.game)
SettingsSubscreen.GAME_INFO,
SettingsSubscreen.ADDONS -> bundleOf(
"game" to requireNotNull(args.game) {
"Game is required for ${args.destination}"
}
)
else -> Bundle()
}
private fun setInsets() {
ViewCompat.setOnApplyWindowInsetsListener(
binding.navigationBarShade
) { _: View, windowInsets: WindowInsetsCompat ->
val barInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
val mlpNavShade = binding.navigationBarShade.layoutParams as MarginLayoutParams
mlpNavShade.height = barInsets.bottom
binding.navigationBarShade.layoutParams = mlpNavShade
windowInsets
}
}
}

View file

@ -21,10 +21,9 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import com.google.android.material.transition.MaterialSharedAxis
import org.yuzu.yuzu_emu.HomeNavigationDirections
import org.yuzu.yuzu_emu.BuildConfig
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.databinding.FragmentAboutBinding
import org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreen
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
import org.yuzu.yuzu_emu.NativeLibrary
@ -55,7 +54,7 @@ class AboutFragment : Fragment() {
super.onViewCreated(view, savedInstanceState)
homeViewModel.setStatusBarShadeVisibility(visible = false)
binding.toolbarAbout.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
binding.imageLogo.setOnLongClickListener {
@ -73,11 +72,8 @@ class AboutFragment : Fragment() {
)
}
binding.buttonLicenses.setOnClickListener {
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.LICENSES,
null
)
binding.root.findNavController().navigate(action)
exitTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
binding.root.findNavController().navigate(R.id.action_aboutFragment_to_licensesFragment)
}
val buildName = getString(R.string.app_name_suffixed)

View file

@ -15,6 +15,7 @@ import androidx.core.view.updatePadding
import androidx.documentfile.provider.DocumentFile
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.transition.MaterialSharedAxis
@ -60,7 +61,7 @@ class AddonsFragment : Fragment() {
homeViewModel.setStatusBarShadeVisibility(false)
binding.toolbarAddons.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
binding.toolbarAddons.title = getString(R.string.addons_game, args.game.title)

View file

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.fragments
@ -12,6 +12,7 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.transition.MaterialSharedAxis
import org.yuzu.yuzu_emu.R
@ -49,7 +50,7 @@ class AppletLauncherFragment : Fragment() {
homeViewModel.setStatusBarShadeVisibility(visible = false)
binding.toolbarApplets.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
val applets = listOf(

View file

@ -1,6 +1,3 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@ -8,18 +5,15 @@ package org.yuzu.yuzu_emu.fragments
import android.app.Dialog
import android.content.DialogInterface
import android.net.Uri
import android.os.Bundle
import androidx.activity.result.contract.ActivityResultContracts
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.activityViewModels
import androidx.preference.PreferenceManager
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import org.yuzu.yuzu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication
import org.yuzu.yuzu_emu.model.AddonViewModel
import org.yuzu.yuzu_emu.utils.InstallableActions
import org.yuzu.yuzu_emu.ui.main.MainActivity
class ContentTypeSelectionDialogFragment : DialogFragment() {
private val addonViewModel: AddonViewModel by activityViewModels()
@ -29,52 +23,6 @@ class ContentTypeSelectionDialogFragment : DialogFragment() {
private var selectedItem = 0
private val installGameUpdateLauncher =
registerForActivityResult(ActivityResultContracts.OpenMultipleDocuments()) { documents ->
if (documents.isEmpty()) {
return@registerForActivityResult
}
val game = addonViewModel.game
if (game == null) {
installContent(documents)
return@registerForActivityResult
}
ProgressDialogFragment.newInstance(
requireActivity(),
R.string.verifying_content,
false
) { _, _ ->
var updatesMatchProgram = true
for (document in documents) {
val valid = NativeLibrary.doesUpdateMatchProgram(
game.programId,
document.toString()
)
if (!valid) {
updatesMatchProgram = false
break
}
}
requireActivity().runOnUiThread {
if (updatesMatchProgram) {
installContent(documents)
} else {
MessageDialogFragment.newInstance(
requireActivity(),
titleId = R.string.content_install_notice,
descriptionId = R.string.content_install_notice_description,
positiveAction = { installContent(documents) },
negativeAction = {}
).show(parentFragmentManager, MessageDialogFragment.TAG)
}
}
return@newInstance Any()
}.show(parentFragmentManager, ProgressDialogFragment.TAG)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val launchOptions =
arrayOf(getString(R.string.updates_and_dlc), getString(R.string.mods_and_cheats))
@ -83,11 +31,12 @@ class ContentTypeSelectionDialogFragment : DialogFragment() {
selectedItem = savedInstanceState.getInt(SELECTED_ITEM)
}
val mainActivity = requireActivity() as MainActivity
return MaterialAlertDialogBuilder(requireContext())
.setTitle(R.string.select_content_type)
.setPositiveButton(android.R.string.ok) { _: DialogInterface, _: Int ->
when (selectedItem) {
0 -> installGameUpdateLauncher.launch(arrayOf("*/*"))
0 -> mainActivity.installGameUpdate.launch(arrayOf("*/*"))
else -> {
if (!preferences.getBoolean(MOD_NOTICE_SEEN, false)) {
preferences.edit().putBoolean(MOD_NOTICE_SEEN, true).apply()
@ -98,7 +47,7 @@ class ContentTypeSelectionDialogFragment : DialogFragment() {
}
}
}
.setSingleChoiceItems(launchOptions, selectedItem) { _: DialogInterface, i: Int ->
.setSingleChoiceItems(launchOptions, 0) { _: DialogInterface, i: Int ->
selectedItem = i
}
.setNegativeButton(android.R.string.cancel, null)
@ -116,13 +65,4 @@ class ContentTypeSelectionDialogFragment : DialogFragment() {
private const val SELECTED_ITEM = "SelectedItem"
private const val MOD_NOTICE_SEEN = "ModNoticeSeen"
}
private fun installContent(documents: List<Uri>) {
InstallableActions.installContent(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
addonViewModel = addonViewModel,
documents = documents
)
}
}

View file

@ -13,6 +13,7 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
import androidx.core.view.updatePadding
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
@ -141,7 +142,7 @@ class DriverFetcherFragment : Fragment() {
super.onViewCreated(view, savedInstanceState)
homeViewModel.setStatusBarShadeVisibility(visible = false)
binding.toolbarDrivers.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
binding.listDrivers.layoutManager = LinearLayoutManager(context)

View file

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.fragments
@ -19,7 +19,6 @@ import androidx.navigation.fragment.navArgs
import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.transition.MaterialSharedAxis
import org.yuzu.yuzu_emu.HomeNavigationDirections
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@ -28,7 +27,6 @@ import org.yuzu.yuzu_emu.adapters.DriverAdapter
import org.yuzu.yuzu_emu.databinding.FragmentDriverManagerBinding
import org.yuzu.yuzu_emu.features.settings.model.Settings
import org.yuzu.yuzu_emu.features.settings.model.StringSetting
import org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreen
import org.yuzu.yuzu_emu.model.Driver.Companion.toDriver
import org.yuzu.yuzu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
@ -107,7 +105,7 @@ class DriverManagerFragment : Fragment() {
}
binding.toolbarDrivers.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
binding.buttonInstall.setOnClickListener {
@ -115,11 +113,9 @@ class DriverManagerFragment : Fragment() {
}
binding.buttonFetch.setOnClickListener {
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.DRIVER_FETCHER,
null
binding.root.findNavController().navigate(
R.id.action_driverManagerFragment_to_driverFetcherFragment
)
binding.root.findNavController().navigate(action)
}
binding.listDrivers.apply {

View file

@ -4,21 +4,20 @@
package org.yuzu.yuzu_emu.fragments
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.transition.MaterialSharedAxis
import kotlinx.coroutines.launch
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.adapters.FolderAdapter
import org.yuzu.yuzu_emu.databinding.FragmentFoldersBinding
@ -26,6 +25,7 @@ import org.yuzu.yuzu_emu.model.DirectoryType
import org.yuzu.yuzu_emu.model.GameDir
import org.yuzu.yuzu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.ui.main.MainActivity
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
import org.yuzu.yuzu_emu.utils.collect
@ -36,20 +36,6 @@ class GameFoldersFragment : Fragment() {
private val homeViewModel: HomeViewModel by activityViewModels()
private val gamesViewModel: GamesViewModel by activityViewModels()
private val getGamesDirectory =
registerForActivityResult(ActivityResultContracts.OpenDocumentTree()) { result ->
if (result != null) {
processGamesDir(result)
}
}
private val getExternalContentDirectory =
registerForActivityResult(ActivityResultContracts.OpenDocumentTree()) { result ->
if (result != null) {
processExternalContentDir(result)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enterTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
@ -73,7 +59,7 @@ class GameFoldersFragment : Fragment() {
homeViewModel.setStatusBarShadeVisibility(visible = false)
binding.toolbarFolders.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
binding.listFolders.apply {
@ -88,6 +74,7 @@ class GameFoldersFragment : Fragment() {
(binding.listFolders.adapter as FolderAdapter).submitList(it)
}
val mainActivity = requireActivity() as MainActivity
binding.buttonAdd.setOnClickListener {
// Show a model to choose between Game and External Content
val options = arrayOf(
@ -100,10 +87,10 @@ class GameFoldersFragment : Fragment() {
.setItems(options) { _, which ->
when (which) {
0 -> { // Game Folder
getGamesDirectory.launch(Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).data)
mainActivity.getGamesDirectory.launch(Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).data)
}
1 -> { // External Content Folder
getExternalContentDirectory.launch(null)
mainActivity.getExternalContentDirectory.launch(null)
}
}
}
@ -118,50 +105,6 @@ class GameFoldersFragment : Fragment() {
gamesViewModel.onCloseGameFoldersFragment()
}
private fun processGamesDir(result: Uri) {
requireContext().contentResolver.takePersistableUriPermission(
result,
Intent.FLAG_GRANT_READ_URI_PERMISSION
)
val uriString = result.toString()
val folder = gamesViewModel.folders.value.firstOrNull { it.uriString == uriString }
if (folder != null) {
Toast.makeText(
requireContext().applicationContext,
R.string.folder_already_added,
Toast.LENGTH_SHORT
).show()
return
}
AddGameFolderDialogFragment.newInstance(uriString, calledFromGameFragment = false)
.show(parentFragmentManager, AddGameFolderDialogFragment.TAG)
}
private fun processExternalContentDir(result: Uri) {
requireContext().contentResolver.takePersistableUriPermission(
result,
Intent.FLAG_GRANT_READ_URI_PERMISSION
)
val uriString = result.toString()
val folder = gamesViewModel.folders.value.firstOrNull {
it.uriString == uriString && it.type == DirectoryType.EXTERNAL_CONTENT
}
if (folder != null) {
Toast.makeText(
requireContext().applicationContext,
R.string.folder_already_added,
Toast.LENGTH_SHORT
).show()
return
}
val externalContentDir = GameDir(uriString, deepScan = false, DirectoryType.EXTERNAL_CONTENT)
gamesViewModel.addFolder(externalContentDir, savedFromGameFragment = false)
}
private fun setInsets() =
ViewCompat.setOnApplyWindowInsetsListener(
binding.root

View file

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.fragments
@ -18,6 +18,7 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.navigation.fragment.navArgs
import com.google.android.material.transition.MaterialSharedAxis
import org.yuzu.yuzu_emu.NativeLibrary
@ -63,7 +64,7 @@ class GameInfoFragment : Fragment() {
binding.apply {
toolbarInfo.title = args.game.title
toolbarInfo.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
view.findNavController().popBackStack()
}
val pathString = Uri.parse(args.game.path).path ?: ""

View file

@ -35,7 +35,6 @@ import org.yuzu.yuzu_emu.adapters.GamePropertiesAdapter
import org.yuzu.yuzu_emu.databinding.FragmentGamePropertiesBinding
import org.yuzu.yuzu_emu.features.DocumentProvider
import org.yuzu.yuzu_emu.features.settings.model.Settings
import org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreen
import org.yuzu.yuzu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.model.GameProperty
import org.yuzu.yuzu_emu.model.GamesViewModel
@ -251,10 +250,8 @@ class GamePropertiesFragment : Fragment() {
R.string.info_description,
R.drawable.ic_info_outline,
action = {
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.GAME_INFO,
args.game
)
val action = GamePropertiesFragmentDirections
.actionPerGamePropertiesFragmentToGameInfoFragment(args.game)
binding.root.findNavController().navigate(action)
}
)
@ -320,11 +317,8 @@ class GamePropertiesFragment : Fragment() {
R.string.add_ons_description,
R.drawable.ic_edit,
action = {
val action =
HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.ADDONS,
args.game
)
val action = GamePropertiesFragmentDirections
.actionPerGamePropertiesFragmentToAddonsFragment(args.game)
binding.root.findNavController().navigate(action)
}
)
@ -339,11 +333,8 @@ class GamePropertiesFragment : Fragment() {
R.drawable.ic_build,
detailsFlow = driverViewModel.selectedDriverTitle,
action = {
val action =
HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.DRIVER_MANAGER,
args.game
)
val action = GamePropertiesFragmentDirections
.actionPerGamePropertiesFragmentToDriverManagerFragment(args.game)
binding.root.findNavController().navigate(action)
}
)
@ -356,11 +347,8 @@ class GamePropertiesFragment : Fragment() {
R.string.freedreno_per_game_description,
R.drawable.ic_graphics,
action = {
val action =
HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.FREEDRENO_SETTINGS,
args.game
)
val action = GamePropertiesFragmentDirections
.actionPerGamePropertiesFragmentToFreedrenoSettingsFragment(args.game)
binding.root.findNavController().navigate(action)
}
)

View file

@ -36,7 +36,6 @@ import org.yuzu.yuzu_emu.databinding.FragmentHomeSettingsBinding
import org.yuzu.yuzu_emu.features.DocumentProvider
import org.yuzu.yuzu_emu.features.fetcher.SpacingItemDecoration
import org.yuzu.yuzu_emu.features.settings.model.Settings
import org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreen
import org.yuzu.yuzu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.model.HomeSetting
import org.yuzu.yuzu_emu.model.HomeViewModel
@ -127,11 +126,8 @@ class HomeSettingsFragment : Fragment() {
R.string.profile_manager_description,
R.drawable.ic_account_circle,
{
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.PROFILE_MANAGER,
null
)
binding.root.findNavController().navigate(action)
binding.root.findNavController()
.navigate(R.id.action_homeSettingsFragment_to_profileManagerFragment)
}
)
)
@ -141,10 +137,8 @@ class HomeSettingsFragment : Fragment() {
R.string.install_gpu_driver_description,
R.drawable.ic_build,
{
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.DRIVER_MANAGER,
null
)
val action = HomeSettingsFragmentDirections
.actionHomeSettingsFragmentToDriverManagerFragment(null)
binding.root.findNavController().navigate(action)
},
{ true },
@ -160,12 +154,7 @@ class HomeSettingsFragment : Fragment() {
R.string.gpu_driver_settings,
R.drawable.ic_graphics,
{
val action =
HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.FREEDRENO_SETTINGS,
null
)
binding.root.findNavController().navigate(action)
binding.root.findNavController().navigate(R.id.freedrenoSettingsFragment)
}
)
)
@ -186,11 +175,8 @@ class HomeSettingsFragment : Fragment() {
R.string.applets_description,
R.drawable.ic_applet,
{
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.APPLET_LAUNCHER,
null
)
binding.root.findNavController().navigate(action)
binding.root.findNavController()
.navigate(R.id.action_homeSettingsFragment_to_appletLauncherFragment)
},
{ NativeLibrary.isFirmwareAvailable() },
R.string.applets_error_firmware,
@ -203,11 +189,8 @@ class HomeSettingsFragment : Fragment() {
R.string.manage_yuzu_data_description,
R.drawable.ic_install,
{
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.INSTALLABLE,
null
)
binding.root.findNavController().navigate(action)
binding.root.findNavController()
.navigate(R.id.action_homeSettingsFragment_to_installableFragment)
}
)
)
@ -217,11 +200,8 @@ class HomeSettingsFragment : Fragment() {
R.string.select_games_folder_description,
R.drawable.ic_add,
{
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.GAME_FOLDERS,
null
)
binding.root.findNavController().navigate(action)
binding.root.findNavController()
.navigate(R.id.action_homeSettingsFragment_to_gameFoldersFragment)
}
)
)
@ -304,11 +284,9 @@ class HomeSettingsFragment : Fragment() {
R.string.about_description,
R.drawable.ic_info_outline,
{
val action = HomeNavigationDirections.actionGlobalSettingsSubscreenActivity(
SettingsSubscreen.ABOUT,
null
)
binding.root.findNavController().navigate(action)
exitTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
parentFragmentManager.primaryNavigationFragment?.findNavController()
?.navigate(R.id.action_homeSettingsFragment_to_aboutFragment)
}
)
)

View file

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.fragments
@ -14,23 +14,23 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.transition.MaterialSharedAxis
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.yuzu.yuzu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication
import org.yuzu.yuzu_emu.adapters.InstallableAdapter
import org.yuzu.yuzu_emu.databinding.FragmentInstallablesBinding
import org.yuzu.yuzu_emu.model.AddonViewModel
import org.yuzu.yuzu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.model.Installable
import org.yuzu.yuzu_emu.model.TaskState
import org.yuzu.yuzu_emu.ui.main.MainActivity
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
import org.yuzu.yuzu_emu.utils.FileUtil
import org.yuzu.yuzu_emu.utils.InstallableActions
import org.yuzu.yuzu_emu.utils.NativeConfig
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
import org.yuzu.yuzu_emu.utils.collect
@ -45,9 +45,6 @@ class InstallableFragment : Fragment() {
private val binding get() = _binding!!
private val homeViewModel: HomeViewModel by activityViewModels()
private val gamesViewModel: GamesViewModel by activityViewModels()
private val addonViewModel: AddonViewModel by activityViewModels()
private val driverViewModel: DriverViewModel by activityViewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -68,10 +65,12 @@ class InstallableFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val mainActivity = requireActivity() as MainActivity
homeViewModel.setStatusBarShadeVisibility(visible = false)
binding.toolbarInstallables.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
homeViewModel.openImportSaves.collect(viewLifecycleOwner) {
@ -85,8 +84,8 @@ class InstallableFragment : Fragment() {
Installable(
R.string.user_data,
R.string.user_data_description,
install = { importUserDataLauncher.launch(arrayOf("application/zip")) },
export = { exportUserDataLauncher.launch("export.zip") }
install = { mainActivity.importUserData.launch(arrayOf("application/zip")) },
export = { mainActivity.exportUserData.launch("export.zip") }
),
Installable(
R.string.manage_save_data,
@ -128,33 +127,27 @@ class InstallableFragment : Fragment() {
Installable(
R.string.install_game_content,
R.string.install_game_content_description,
install = { installGameUpdateLauncher.launch(arrayOf("*/*")) }
install = { mainActivity.installGameUpdate.launch(arrayOf("*/*")) }
),
Installable(
R.string.install_firmware,
R.string.install_firmware_description,
install = { getFirmwareLauncher.launch(arrayOf("application/zip")) }
install = { mainActivity.getFirmware.launch(arrayOf("application/zip")) }
),
Installable(
R.string.uninstall_firmware,
R.string.uninstall_firmware_description,
install = {
InstallableActions.uninstallFirmware(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
homeViewModel = homeViewModel
)
}
install = { mainActivity.uninstallFirmware() }
),
Installable(
R.string.install_prod_keys,
R.string.install_prod_keys_description,
install = { getProdKeyLauncher.launch(arrayOf("*/*")) }
install = { mainActivity.getProdKey.launch(arrayOf("*/*")) }
),
Installable(
R.string.install_amiibo_keys,
R.string.install_amiibo_keys_description,
install = { getAmiiboKeyLauncher.launch(arrayOf("*/*")) }
install = { mainActivity.getAmiiboKey.launch(arrayOf("*/*")) }
)
)
@ -187,132 +180,6 @@ class InstallableFragment : Fragment() {
windowInsets
}
private val getProdKeyLauncher =
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
if (result != null) {
InstallableActions.processKey(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
gamesViewModel = gamesViewModel,
result = result,
extension = "keys"
)
}
}
private val getAmiiboKeyLauncher =
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
if (result != null) {
InstallableActions.processKey(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
gamesViewModel = gamesViewModel,
result = result,
extension = "bin"
)
}
}
private val getFirmwareLauncher =
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
if (result != null) {
InstallableActions.processFirmware(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
homeViewModel = homeViewModel,
result = result
)
}
}
private val installGameUpdateLauncher =
registerForActivityResult(ActivityResultContracts.OpenMultipleDocuments()) { documents ->
if (documents.isEmpty()) {
return@registerForActivityResult
}
if (addonViewModel.game == null) {
InstallableActions.installContent(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
addonViewModel = addonViewModel,
documents = documents
)
return@registerForActivityResult
}
ProgressDialogFragment.newInstance(
requireActivity(),
R.string.verifying_content,
false
) { _, _ ->
var updatesMatchProgram = true
for (document in documents) {
val valid = NativeLibrary.doesUpdateMatchProgram(
addonViewModel.game!!.programId,
document.toString()
)
if (!valid) {
updatesMatchProgram = false
break
}
}
if (updatesMatchProgram) {
requireActivity().runOnUiThread {
InstallableActions.installContent(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
addonViewModel = addonViewModel,
documents = documents
)
}
} else {
requireActivity().runOnUiThread {
MessageDialogFragment.newInstance(
requireActivity(),
titleId = R.string.content_install_notice,
descriptionId = R.string.content_install_notice_description,
positiveAction = {
InstallableActions.installContent(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
addonViewModel = addonViewModel,
documents = documents
)
},
negativeAction = {}
).show(parentFragmentManager, MessageDialogFragment.TAG)
}
}
return@newInstance Any()
}.show(parentFragmentManager, ProgressDialogFragment.TAG)
}
private val importUserDataLauncher =
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
if (result != null) {
InstallableActions.importUserData(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
gamesViewModel = gamesViewModel,
driverViewModel = driverViewModel,
result = result
)
}
}
private val exportUserDataLauncher =
registerForActivityResult(ActivityResultContracts.CreateDocument("application/zip")) { result ->
if (result != null) {
InstallableActions.exportUserData(
activity = requireActivity(),
fragmentManager = parentFragmentManager,
result = result
)
}
}
private val importSaves =
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
if (result == null) {

View file

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.fragments
@ -13,6 +13,7 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.transition.MaterialSharedAxis
import org.yuzu.yuzu_emu.R
@ -47,7 +48,7 @@ class LicensesFragment : Fragment() {
homeViewModel.setStatusBarShadeVisibility(visible = false)
binding.toolbarLicenses.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
binding.root.findNavController().popBackStack()
}
val licenses = listOf(

View file

@ -51,7 +51,7 @@ class ProfileManagerFragment : Fragment() {
homeViewModel.setStatusBarShadeVisibility(visible = false)
binding.toolbarProfiles.setNavigationOnClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
findNavController().popBackStack()
}
setupRecyclerView()

View file

@ -16,17 +16,5 @@ data class Patch(
val type: Int,
val programId: String,
val titleId: String,
val numericVersion: Long = 0,
val source: Int = 0
) {
companion object {
const val SOURCE_UNKNOWN = 0
const val SOURCE_NAND = 1
const val SOURCE_SDMC = 2
const val SOURCE_EXTERNAL = 3
const val SOURCE_PACKED = 4
}
val isRemovable: Boolean
get() = source != SOURCE_EXTERNAL && source != SOURCE_PACKED
}
val numericVersion: Long = 0
)

View file

@ -26,6 +26,7 @@ import androidx.preference.PreferenceManager
import com.google.android.material.color.MaterialColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import java.io.File
import java.io.FilenameFilter
import org.yuzu.yuzu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.databinding.ActivityMainBinding
@ -38,10 +39,16 @@ import org.yuzu.yuzu_emu.model.AddonViewModel
import org.yuzu.yuzu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.model.InstallResult
import android.os.Build
import org.yuzu.yuzu_emu.model.TaskState
import org.yuzu.yuzu_emu.model.TaskViewModel
import org.yuzu.yuzu_emu.utils.*
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
import java.io.BufferedInputStream
import java.io.BufferedOutputStream
import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream
import androidx.core.content.edit
import org.yuzu.yuzu_emu.activities.EmulationActivity
import kotlin.text.compareTo
@ -446,13 +453,35 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
}
fun processKey(result: Uri, extension: String = "keys") {
InstallableActions.processKey(
activity = this,
fragmentManager = supportFragmentManager,
gamesViewModel = gamesViewModel,
result = result,
extension = extension
contentResolver.takePersistableUriPermission(
result,
Intent.FLAG_GRANT_READ_URI_PERMISSION
)
val resultCode: Int = NativeLibrary.installKeys(result.toString(), extension)
if (resultCode == 0) {
// TODO(crueter): It may be worth it to switch some of these Toasts to snackbars,
// since most of it is foreground-only anyways.
Toast.makeText(
applicationContext,
R.string.keys_install_success,
Toast.LENGTH_SHORT
).show()
gamesViewModel.reloadGames(true)
return
}
val resultString: String =
resources.getStringArray(R.array.installKeysResults)[resultCode]
MessageDialogFragment.newInstance(
titleId = R.string.keys_failed,
descriptionString = resultString,
helpLinkId = R.string.keys_missing_help
).show(supportFragmentManager, MessageDialogFragment.TAG)
}
val getFirmware = registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
@ -462,21 +491,75 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
}
fun processFirmware(result: Uri, onComplete: (() -> Unit)? = null) {
InstallableActions.processFirmware(
activity = this,
fragmentManager = supportFragmentManager,
homeViewModel = homeViewModel,
result = result,
onComplete = onComplete
)
val filterNCA = FilenameFilter { _, dirName -> dirName.endsWith(".nca") }
val firmwarePath =
File(NativeConfig.getNandDir() + "/system/Contents/registered/")
val cacheFirmwareDir = File("${cacheDir.path}/registered/")
ProgressDialogFragment.newInstance(
this,
R.string.firmware_installing
) { progressCallback, _ ->
var messageToShow: Any
try {
FileUtil.unzipToInternalStorage(
result.toString(),
cacheFirmwareDir,
progressCallback
)
val unfilteredNumOfFiles = cacheFirmwareDir.list()?.size ?: -1
val filteredNumOfFiles = cacheFirmwareDir.list(filterNCA)?.size ?: -2
messageToShow = if (unfilteredNumOfFiles != filteredNumOfFiles) {
MessageDialogFragment.newInstance(
this,
titleId = R.string.firmware_installed_failure,
descriptionId = R.string.firmware_installed_failure_description
)
} else {
firmwarePath.deleteRecursively()
cacheFirmwareDir.copyRecursively(firmwarePath, true)
NativeLibrary.initializeSystem(true)
homeViewModel.setCheckKeys(true)
getString(R.string.save_file_imported_success)
}
} catch (e: Exception) {
Log.error("[MainActivity] Firmware install failed - ${e.message}")
messageToShow = getString(R.string.fatal_error)
} finally {
cacheFirmwareDir.deleteRecursively()
}
messageToShow
}.apply {
onDialogComplete = onComplete
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
}
fun uninstallFirmware() {
InstallableActions.uninstallFirmware(
activity = this,
fragmentManager = supportFragmentManager,
homeViewModel = homeViewModel
)
val firmwarePath =
File(NativeConfig.getNandDir() + "/system/Contents/registered/")
ProgressDialogFragment.newInstance(
this,
R.string.firmware_uninstalling
) { progressCallback, _ ->
var messageToShow: Any
try {
// Ensure the firmware directory exists before attempting to delete
if (firmwarePath.exists()) {
firmwarePath.deleteRecursively()
// Optionally reinitialize the system or perform other necessary steps
NativeLibrary.initializeSystem(true)
homeViewModel.setCheckKeys(true)
messageToShow = getString(R.string.firmware_uninstalled_success)
} else {
messageToShow = getString(R.string.firmware_uninstalled_failure)
}
} catch (e: Exception) {
Log.error("[MainActivity] Firmware uninstall failed - ${e.message}")
messageToShow = getString(R.string.fatal_error)
}
messageToShow
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
}
val installGameUpdate = registerForActivityResult(
@ -523,12 +606,101 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
}
private fun installContent(documents: List<Uri>) {
InstallableActions.installContent(
activity = this,
fragmentManager = supportFragmentManager,
addonViewModel = addonViewModel,
documents = documents
)
ProgressDialogFragment.newInstance(
this@MainActivity,
R.string.installing_game_content
) { progressCallback, messageCallback ->
var installSuccess = 0
var installOverwrite = 0
var errorBaseGame = 0
var error = 0
documents.forEach {
messageCallback.invoke(FileUtil.getFilename(it))
when (
InstallResult.from(
NativeLibrary.installFileToNand(
it.toString(),
progressCallback
)
)
) {
InstallResult.Success -> {
installSuccess += 1
}
InstallResult.Overwrite -> {
installOverwrite += 1
}
InstallResult.BaseInstallAttempted -> {
errorBaseGame += 1
}
InstallResult.Failure -> {
error += 1
}
}
}
addonViewModel.refreshAddons(force = true)
val separator = System.lineSeparator() ?: "\n"
val installResult = StringBuilder()
if (installSuccess > 0) {
installResult.append(
getString(
R.string.install_game_content_success_install,
installSuccess
)
)
installResult.append(separator)
}
if (installOverwrite > 0) {
installResult.append(
getString(
R.string.install_game_content_success_overwrite,
installOverwrite
)
)
installResult.append(separator)
}
val errorTotal: Int = errorBaseGame + error
if (errorTotal > 0) {
installResult.append(separator)
installResult.append(
getString(
R.string.install_game_content_failed_count,
errorTotal
)
)
installResult.append(separator)
if (errorBaseGame > 0) {
installResult.append(separator)
installResult.append(
getString(R.string.install_game_content_failure_base)
)
installResult.append(separator)
}
if (error > 0) {
installResult.append(
getString(R.string.install_game_content_failure_description)
)
installResult.append(separator)
}
return@newInstance MessageDialogFragment.newInstance(
this,
titleId = R.string.install_game_content_failure,
descriptionString = installResult.toString().trim(),
helpLinkId = R.string.install_game_content_help_link
)
} else {
return@newInstance MessageDialogFragment.newInstance(
this,
titleId = R.string.install_game_content_success,
descriptionString = installResult.toString().trim()
)
}
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
}
val exportUserData = registerForActivityResult(
@ -537,11 +709,25 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
if (result == null) {
return@registerForActivityResult
}
InstallableActions.exportUserData(
activity = this,
fragmentManager = supportFragmentManager,
result = result
)
ProgressDialogFragment.newInstance(
this,
R.string.exporting_user_data,
true
) { progressCallback, _ ->
val zipResult = FileUtil.zipFromInternalStorage(
File(DirectoryInitialization.userDirectory!!),
DirectoryInitialization.userDirectory!!,
BufferedOutputStream(contentResolver.openOutputStream(result)),
progressCallback,
compression = false
)
return@newInstance when (zipResult) {
TaskState.Completed -> getString(R.string.user_data_export_success)
TaskState.Failed -> R.string.export_failed
TaskState.Cancelled -> R.string.user_data_export_cancelled
}
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
}
val importUserData =
@ -549,12 +735,58 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
if (result == null) {
return@registerForActivityResult
}
InstallableActions.importUserData(
activity = this,
fragmentManager = supportFragmentManager,
gamesViewModel = gamesViewModel,
driverViewModel = driverViewModel,
result = result
)
ProgressDialogFragment.newInstance(
this,
R.string.importing_user_data
) { progressCallback, _ ->
val checkStream =
ZipInputStream(BufferedInputStream(contentResolver.openInputStream(result)))
var isYuzuBackup = false
checkStream.use { stream ->
var ze: ZipEntry? = null
while (stream.nextEntry?.also { ze = it } != null) {
val itemName = ze!!.name.trim()
if (itemName == "/config/config.ini" || itemName == "config/config.ini") {
isYuzuBackup = true
return@use
}
}
}
if (!isYuzuBackup) {
return@newInstance MessageDialogFragment.newInstance(
this,
titleId = R.string.invalid_yuzu_backup,
descriptionId = R.string.user_data_import_failed_description
)
}
// Clear existing user data
NativeConfig.unloadGlobalConfig()
File(DirectoryInitialization.userDirectory!!).deleteRecursively()
// Copy archive to internal storage
try {
FileUtil.unzipToInternalStorage(
result.toString(),
File(DirectoryInitialization.userDirectory!!),
progressCallback
)
} catch (e: Exception) {
return@newInstance MessageDialogFragment.newInstance(
this,
titleId = R.string.import_failed,
descriptionId = R.string.user_data_import_failed_description
)
}
// Reinitialize relevant data
NativeLibrary.initializeSystem(true)
NativeConfig.initializeGlobalConfig()
gamesViewModel.reloadGames(false)
driverViewModel.reloadDriverData()
return@newInstance getString(R.string.user_data_import_success)
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
}
}

View file

@ -1,327 +0,0 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.utils
import android.content.Intent
import android.net.Uri
import android.widget.Toast
import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentManager
import org.yuzu.yuzu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
import org.yuzu.yuzu_emu.fragments.ProgressDialogFragment
import org.yuzu.yuzu_emu.model.AddonViewModel
import org.yuzu.yuzu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.model.InstallResult
import org.yuzu.yuzu_emu.model.TaskState
import java.io.BufferedInputStream
import java.io.BufferedOutputStream
import java.io.File
import java.io.FilenameFilter
import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream
object InstallableActions {
fun processKey(
activity: FragmentActivity,
fragmentManager: FragmentManager,
gamesViewModel: GamesViewModel,
result: Uri,
extension: String = "keys"
) {
activity.contentResolver.takePersistableUriPermission(
result,
Intent.FLAG_GRANT_READ_URI_PERMISSION
)
val resultCode = NativeLibrary.installKeys(result.toString(), extension)
if (resultCode == 0) {
Toast.makeText(
activity.applicationContext,
R.string.keys_install_success,
Toast.LENGTH_SHORT
).show()
gamesViewModel.reloadGames(true)
return
}
val resultString = activity.resources.getStringArray(R.array.installKeysResults)[resultCode]
MessageDialogFragment.newInstance(
titleId = R.string.keys_failed,
descriptionString = resultString,
helpLinkId = R.string.keys_missing_help
).show(fragmentManager, MessageDialogFragment.TAG)
}
fun processFirmware(
activity: FragmentActivity,
fragmentManager: FragmentManager,
homeViewModel: HomeViewModel,
result: Uri,
onComplete: (() -> Unit)? = null
) {
val filterNCA = FilenameFilter { _, dirName -> dirName.endsWith(".nca") }
val firmwarePath = File(NativeConfig.getNandDir() + "/system/Contents/registered/")
val cacheFirmwareDir = File("${activity.cacheDir.path}/registered/")
ProgressDialogFragment.newInstance(
activity,
R.string.firmware_installing
) { progressCallback, _ ->
var messageToShow: Any
try {
FileUtil.unzipToInternalStorage(
result.toString(),
cacheFirmwareDir,
progressCallback
)
val unfilteredNumOfFiles = cacheFirmwareDir.list()?.size ?: -1
val filteredNumOfFiles = cacheFirmwareDir.list(filterNCA)?.size ?: -2
messageToShow = if (unfilteredNumOfFiles != filteredNumOfFiles) {
MessageDialogFragment.newInstance(
activity,
titleId = R.string.firmware_installed_failure,
descriptionId = R.string.firmware_installed_failure_description
)
} else {
firmwarePath.deleteRecursively()
cacheFirmwareDir.copyRecursively(firmwarePath, overwrite = true)
NativeLibrary.initializeSystem(true)
homeViewModel.setCheckKeys(true)
activity.getString(R.string.save_file_imported_success)
}
} catch (_: Exception) {
messageToShow = activity.getString(R.string.fatal_error)
} finally {
cacheFirmwareDir.deleteRecursively()
}
messageToShow
}.apply {
onDialogComplete = onComplete
}.show(fragmentManager, ProgressDialogFragment.TAG)
}
fun uninstallFirmware(
activity: FragmentActivity,
fragmentManager: FragmentManager,
homeViewModel: HomeViewModel
) {
val firmwarePath = File(NativeConfig.getNandDir() + "/system/Contents/registered/")
ProgressDialogFragment.newInstance(
activity,
R.string.firmware_uninstalling
) { _, _ ->
val messageToShow: Any = try {
if (firmwarePath.exists()) {
firmwarePath.deleteRecursively()
NativeLibrary.initializeSystem(true)
homeViewModel.setCheckKeys(true)
activity.getString(R.string.firmware_uninstalled_success)
} else {
activity.getString(R.string.firmware_uninstalled_failure)
}
} catch (_: Exception) {
activity.getString(R.string.fatal_error)
}
messageToShow
}.show(fragmentManager, ProgressDialogFragment.TAG)
}
fun installContent(
activity: FragmentActivity,
fragmentManager: FragmentManager,
addonViewModel: AddonViewModel,
documents: List<Uri>
) {
ProgressDialogFragment.newInstance(
activity,
R.string.installing_game_content
) { progressCallback, messageCallback ->
var installSuccess = 0
var installOverwrite = 0
var errorBaseGame = 0
var error = 0
documents.forEach {
messageCallback.invoke(FileUtil.getFilename(it))
when (
InstallResult.from(
NativeLibrary.installFileToNand(
it.toString(),
progressCallback
)
)
) {
InstallResult.Success -> installSuccess += 1
InstallResult.Overwrite -> installOverwrite += 1
InstallResult.BaseInstallAttempted -> errorBaseGame += 1
InstallResult.Failure -> error += 1
}
}
addonViewModel.refreshAddons(force = true)
val separator = System.lineSeparator() ?: "\n"
val installResult = StringBuilder()
if (installSuccess > 0) {
installResult.append(
activity.getString(
R.string.install_game_content_success_install,
installSuccess
)
)
installResult.append(separator)
}
if (installOverwrite > 0) {
installResult.append(
activity.getString(
R.string.install_game_content_success_overwrite,
installOverwrite
)
)
installResult.append(separator)
}
val errorTotal = errorBaseGame + error
if (errorTotal > 0) {
installResult.append(separator)
installResult.append(
activity.getString(
R.string.install_game_content_failed_count,
errorTotal
)
)
installResult.append(separator)
if (errorBaseGame > 0) {
installResult.append(separator)
installResult.append(activity.getString(R.string.install_game_content_failure_base))
installResult.append(separator)
}
if (error > 0) {
installResult.append(
activity.getString(R.string.install_game_content_failure_description)
)
installResult.append(separator)
}
return@newInstance MessageDialogFragment.newInstance(
activity,
titleId = R.string.install_game_content_failure,
descriptionString = installResult.toString().trim(),
helpLinkId = R.string.install_game_content_help_link
)
} else {
return@newInstance MessageDialogFragment.newInstance(
activity,
titleId = R.string.install_game_content_success,
descriptionString = installResult.toString().trim()
)
}
}.show(fragmentManager, ProgressDialogFragment.TAG)
}
fun exportUserData(
activity: FragmentActivity,
fragmentManager: FragmentManager,
result: Uri
) {
val userDirectory = DirectoryInitialization.userDirectory
if (userDirectory == null) {
Toast.makeText(
activity.applicationContext,
R.string.fatal_error,
Toast.LENGTH_SHORT
).show()
return
}
ProgressDialogFragment.newInstance(
activity,
R.string.exporting_user_data,
true
) { progressCallback, _ ->
val zipResult = FileUtil.zipFromInternalStorage(
File(userDirectory),
userDirectory,
BufferedOutputStream(activity.contentResolver.openOutputStream(result)),
progressCallback,
compression = false
)
return@newInstance when (zipResult) {
TaskState.Completed -> activity.getString(R.string.user_data_export_success)
TaskState.Failed -> R.string.export_failed
TaskState.Cancelled -> R.string.user_data_export_cancelled
}
}.show(fragmentManager, ProgressDialogFragment.TAG)
}
fun importUserData(
activity: FragmentActivity,
fragmentManager: FragmentManager,
gamesViewModel: GamesViewModel,
driverViewModel: DriverViewModel,
result: Uri
) {
val userDirectory = DirectoryInitialization.userDirectory
if (userDirectory == null) {
Toast.makeText(
activity.applicationContext,
R.string.fatal_error,
Toast.LENGTH_SHORT
).show()
return
}
ProgressDialogFragment.newInstance(
activity,
R.string.importing_user_data
) { progressCallback, _ ->
val checkStream = ZipInputStream(
BufferedInputStream(activity.contentResolver.openInputStream(result))
)
var isYuzuBackup = false
checkStream.use { stream ->
var ze: ZipEntry? = null
while (stream.nextEntry?.also { ze = it } != null) {
val itemName = ze!!.name.trim()
if (itemName == "/config/config.ini" || itemName == "config/config.ini") {
isYuzuBackup = true
return@use
}
}
}
if (!isYuzuBackup) {
return@newInstance MessageDialogFragment.newInstance(
activity,
titleId = R.string.invalid_yuzu_backup,
descriptionId = R.string.user_data_import_failed_description
)
}
NativeConfig.unloadGlobalConfig()
File(userDirectory).deleteRecursively()
try {
FileUtil.unzipToInternalStorage(
result.toString(),
File(userDirectory),
progressCallback
)
} catch (_: Exception) {
return@newInstance MessageDialogFragment.newInstance(
activity,
titleId = R.string.import_failed,
descriptionId = R.string.user_data_import_failed_description
)
}
NativeLibrary.initializeSystem(true)
NativeConfig.initializeGlobalConfig()
gamesViewModel.reloadGames(false)
driverViewModel.reloadDriverData()
return@newInstance activity.getString(R.string.user_data_import_success)
}.show(fragmentManager, ProgressDialogFragment.TAG)
}
}

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#include <common/fs/path_util.h>
#include <common/logging.h>
#include <common/logging/log.h>
#include <common/settings.h>
#include <input_common/main.h>
#include "android_config.h"

View file

@ -7,7 +7,7 @@
#include <android/native_window_jni.h>
#include "common/android/id_cache.h"
#include "common/logging.h"
#include "common/logging/log.h"
#include "input_common/drivers/android.h"
#include "input_common/drivers/touch_screen.h"
#include "input_common/drivers/virtual_amiibo.h"

View file

@ -42,7 +42,8 @@
#include "common/detached_tasks.h"
#include "common/dynamic_library.h"
#include "common/fs/path_util.h"
#include "common/logging.h"
#include "common/logging/backend.h"
#include "common/logging/log.h"
#include "common/scm_rev.h"
#include "common/scope_exit.h"
#include "common/settings.h"
@ -1406,7 +1407,7 @@ jobjectArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getPatchesForFile(JNIEnv* env
Common::Android::ToJString(env, patch.version), static_cast<jint>(patch.type),
Common::Android::ToJString(env, std::to_string(patch.program_id)),
Common::Android::ToJString(env, std::to_string(patch.title_id)),
static_cast<jlong>(patch.numeric_version), static_cast<jint>(patch.source));
static_cast<jlong>(patch.numeric_version));
env->SetObjectArrayElement(jpatchArray, i, jpatch);
++i;
}

View file

@ -10,7 +10,7 @@
#include "common/android/android_common.h"
#include "common/android/id_cache.h"
#include "common/fs/path_util.h"
#include "common/logging.h"
#include "common/logging/log.h"
#include "common/settings.h"
#include "frontend_common/config.h"
#include "frontend_common/settings_generator.h"

View file

@ -23,7 +23,7 @@
#include <jni.h>
#include "common/android/android_common.h"
#include "common/logging.h"
#include "common/logging/log.h"
#include "native.h"
namespace {

View file

@ -1,11 +1,8 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <common/android/android_common.h>
#include <common/logging.h>
#include <common/logging/log.h>
#include <jni.h>
extern "C" {

View file

@ -10,11 +10,12 @@
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_about"
style="@style/Widget.Eden.TransparentTopAppBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:touchscreenBlocksFocus="false">
android:touchscreenBlocksFocus="false"
android:background="@android:color/transparent"
app:elevation="0dp">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar_about"
@ -40,41 +41,15 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="24dp"
android:paddingStart="24dp"
android:paddingTop="0dp"
android:paddingEnd="24dp">
android:padding="24dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/image_logo"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="32dp"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/image_logo"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginBottom="8dp"
android:src="@drawable/ic_yuzu" />
<com.google.android.material.textview.MaterialTextView
style="@style/TextAppearance.Material3.TitleMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textAlignment="center" />
<com.google.android.material.textview.MaterialTextView
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/about_app_description"
android:textAlignment="center" />
</LinearLayout>
android:src="@drawable/ic_yuzu" />
<LinearLayout
android:layout_width="0dp"
@ -82,6 +57,39 @@
android:layout_weight="1"
android:orientation="vertical">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="16dp"
app:cardBackgroundColor="?attr/colorSurface"
app:strokeColor="?attr/colorOutline"
app:strokeWidth="1dp"
app:cardElevation="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="24dp"
android:paddingVertical="20dp">
<com.google.android.material.textview.MaterialTextView
style="@style/TextAppearance.Material3.TitleMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/about"
android:textAlignment="viewStart" />
<com.google.android.material.textview.MaterialTextView
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="@string/about_app_description"
android:textAlignment="viewStart" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:id="@+id/button_contributors"
android:layout_width="match_parent"
@ -197,7 +205,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="24dp"
android:gravity="start"
android:orientation="horizontal">

View file

@ -10,11 +10,12 @@
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_about"
style="@style/Widget.Eden.TransparentTopAppBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:touchscreenBlocksFocus="false">
android:touchscreenBlocksFocus="false"
android:background="@android:color/transparent"
app:elevation="0dp">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar_about"
@ -42,35 +43,48 @@
android:orientation="vertical"
android:paddingBottom="24dp">
<LinearLayout
<ImageView
android:id="@+id/image_logo"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_marginVertical="24dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/ic_yuzu" />
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/image_logo"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_marginBottom="8dp"
android:src="@drawable/ic_yuzu" />
<com.google.android.material.textview.MaterialTextView
style="@style/TextAppearance.Material3.TitleMedium"
android:layout_width="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="16dp"
app:cardBackgroundColor="@android:color/transparent"
app:cardCornerRadius="16dp"
app:cardElevation="0dp"
app:strokeColor="?attr/colorOutline"
app:strokeWidth="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textAlignment="center" />
android:paddingVertical="20dp"
android:paddingHorizontal="20dp"
android:orientation="vertical">
<com.google.android.material.textview.MaterialTextView
style="@style/SynthwaveText.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textAlignment="center"
android:text="@string/about_app_description" />
<com.google.android.material.textview.MaterialTextView
style="@style/TextAppearance.Material3.TitleMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="viewStart"
android:text="@string/about" />
</LinearLayout>
<com.google.android.material.textview.MaterialTextView
style="@style/SynthwaveText.Body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:textAlignment="viewStart"
android:text="@string/about_app_description" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:id="@+id/button_contributors"
@ -192,7 +206,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:layout_marginTop="12dp"
android:layout_marginTop="24dp"
android:layout_marginBottom="16dp"
android:layout_marginHorizontal="40dp">
@ -206,9 +220,7 @@
app:icon="@drawable/ic_discord"
app:iconSize="24dp"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:strokeColor="?attr/colorOutline"
app:strokeWidth="1dp" />
app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton
style="@style/EdenButton.Secondary"
@ -220,9 +232,7 @@
app:icon="@drawable/ic_stoat"
app:iconSize="24dp"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:strokeColor="?attr/colorOutline"
app:strokeWidth="1dp" />
app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton
style="@style/EdenButton.Secondary"
@ -234,9 +244,7 @@
app:icon="@drawable/ic_x"
app:iconSize="24dp"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:strokeColor="?attr/colorOutline"
app:strokeWidth="1dp" />
app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton
style="@style/EdenButton.Secondary"
@ -248,9 +256,7 @@
app:icon="@drawable/ic_website"
app:iconSize="24dp"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:strokeColor="?attr/colorOutline"
app:strokeWidth="1dp" />
app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button_github"
@ -262,9 +268,7 @@
app:icon="@drawable/ic_github"
app:iconSize="24dp"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:strokeColor="?attr/colorOutline"
app:strokeWidth="1dp" />
app:iconPadding="0dp" />
</LinearLayout>

View file

@ -40,6 +40,10 @@
<action
android:id="@+id/action_global_settingsActivity"
app:destination="@id/settingsActivity" />
app:destination="@id/settingsActivity"
app:enterAnim="@anim/nav_default_enter_anim"
app:exitAnim="@anim/nav_default_exit_anim"
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
</navigation>

View file

@ -20,7 +20,26 @@
<fragment
android:id="@+id/homeSettingsFragment"
android:name="org.yuzu.yuzu_emu.fragments.HomeSettingsFragment"
android:label="HomeSettingsFragment" />
android:label="HomeSettingsFragment" >
<action
android:id="@+id/action_homeSettingsFragment_to_aboutFragment"
app:destination="@id/aboutFragment" />
<action
android:id="@+id/action_homeSettingsFragment_to_installableFragment"
app:destination="@id/installableFragment" />
<action
android:id="@+id/action_homeSettingsFragment_to_driverManagerFragment"
app:destination="@id/driverManagerFragment" />
<action
android:id="@+id/action_homeSettingsFragment_to_appletLauncherFragment"
app:destination="@id/appletLauncherFragment" />
<action
android:id="@+id/action_homeSettingsFragment_to_gameFoldersFragment"
app:destination="@id/gameFoldersFragment" />
<action
android:id="@+id/action_homeSettingsFragment_to_profileManagerFragment"
app:destination="@id/profileManagerFragment" />
</fragment>
<fragment
android:id="@+id/firstTimeSetupFragment"
@ -36,7 +55,11 @@
<fragment
android:id="@+id/aboutFragment"
android:name="org.yuzu.yuzu_emu.fragments.AboutFragment"
android:label="AboutFragment" />
android:label="AboutFragment" >
<action
android:id="@+id/action_aboutFragment_to_licensesFragment"
app:destination="@id/licensesFragment" />
</fragment>
<fragment
android:id="@+id/licensesFragment"
@ -78,23 +101,11 @@
<action
android:id="@+id/action_global_settingsActivity"
app:destination="@id/settingsActivity" />
<activity
android:id="@+id/settingsSubscreenActivity"
android:name="org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreenActivity"
android:label="SettingsSubscreenActivity">
<argument
android:name="destination"
app:argType="org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreen" />
<argument
android:name="game"
app:argType="org.yuzu.yuzu_emu.model.Game"
app:nullable="true"
android:defaultValue="@null" />
</activity>
<action
android:id="@+id/action_global_settingsSubscreenActivity"
app:destination="@id/settingsSubscreenActivity" />
app:destination="@id/settingsActivity"
app:enterAnim="@anim/nav_default_enter_anim"
app:exitAnim="@anim/nav_default_exit_anim"
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
<fragment
android:id="@+id/installableFragment"
android:name="org.yuzu.yuzu_emu.fragments.InstallableFragment"
@ -108,6 +119,9 @@
app:argType="org.yuzu.yuzu_emu.model.Game"
app:nullable="true"
android:defaultValue="@null" />
<action
android:id="@+id/action_driverManagerFragment_to_driverFetcherFragment"
app:destination="@id/driverFetcherFragment" />
</fragment>
<fragment
android:id="@+id/appletLauncherFragment"

View file

@ -1,139 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/settings_subscreen_navigation"
app:startDestination="@id/profileManagerFragment">
<fragment
android:id="@+id/profileManagerFragment"
android:name="org.yuzu.yuzu_emu.fragments.ProfileManagerFragment"
android:label="ProfileManagerFragment">
<action
android:id="@+id/action_profileManagerFragment_to_newUserDialog"
app:destination="@id/newUserDialogFragment" />
</fragment>
<fragment
android:id="@+id/newUserDialogFragment"
android:name="org.yuzu.yuzu_emu.fragments.EditUserDialogFragment"
android:label="NewUserDialogFragment" />
<fragment
android:id="@+id/driverManagerFragment"
android:name="org.yuzu.yuzu_emu.fragments.DriverManagerFragment"
android:label="DriverManagerFragment">
<argument
android:name="game"
app:argType="org.yuzu.yuzu_emu.model.Game"
app:nullable="true"
android:defaultValue="@null" />
</fragment>
<fragment
android:id="@+id/driverFetcherFragment"
android:name="org.yuzu.yuzu_emu.fragments.DriverFetcherFragment"
android:label="fragment_driver_fetcher"
tools:layout="@layout/fragment_driver_fetcher" />
<fragment
android:id="@+id/freedrenoSettingsFragment"
android:name="org.yuzu.yuzu_emu.fragments.FreedrenoSettingsFragment"
android:label="@string/freedreno_settings_title">
<argument
android:name="game"
app:argType="org.yuzu.yuzu_emu.model.Game"
app:nullable="true"
android:defaultValue="@null" />
</fragment>
<fragment
android:id="@+id/appletLauncherFragment"
android:name="org.yuzu.yuzu_emu.fragments.AppletLauncherFragment"
android:label="AppletLauncherFragment">
<action
android:id="@+id/action_appletLauncherFragment_to_cabinetLauncherDialogFragment"
app:destination="@id/cabinetLauncherDialogFragment" />
</fragment>
<dialog
android:id="@+id/cabinetLauncherDialogFragment"
android:name="org.yuzu.yuzu_emu.fragments.CabinetLauncherDialogFragment"
android:label="CabinetLauncherDialogFragment" />
<fragment
android:id="@+id/aboutFragment"
android:name="org.yuzu.yuzu_emu.fragments.AboutFragment"
android:label="AboutFragment" />
<fragment
android:id="@+id/licensesFragment"
android:name="org.yuzu.yuzu_emu.fragments.LicensesFragment"
android:label="LicensesFragment" />
<fragment
android:id="@+id/gameInfoFragment"
android:name="org.yuzu.yuzu_emu.fragments.GameInfoFragment"
android:label="GameInfoFragment">
<argument
android:name="game"
app:argType="org.yuzu.yuzu_emu.model.Game" />
</fragment>
<fragment
android:id="@+id/addonsFragment"
android:name="org.yuzu.yuzu_emu.fragments.AddonsFragment"
android:label="AddonsFragment">
<argument
android:name="game"
app:argType="org.yuzu.yuzu_emu.model.Game" />
</fragment>
<fragment
android:id="@+id/installableFragment"
android:name="org.yuzu.yuzu_emu.fragments.InstallableFragment"
android:label="InstallableFragment" />
<fragment
android:id="@+id/gameFoldersFragment"
android:name="org.yuzu.yuzu_emu.fragments.GameFoldersFragment"
android:label="GameFoldersFragment" />
<activity
android:id="@+id/emulationActivity"
android:name="org.yuzu.yuzu_emu.activities.EmulationActivity"
android:label="EmulationActivity">
<argument
android:name="game"
app:argType="org.yuzu.yuzu_emu.model.Game"
app:nullable="true"
android:defaultValue="@null" />
<argument
android:name="custom"
app:argType="boolean"
android:defaultValue="false" />
</activity>
<action
android:id="@+id/action_global_emulationActivity"
app:destination="@id/emulationActivity"
app:launchSingleTop="true" />
<activity
android:id="@+id/settingsSubscreenActivity"
android:name="org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreenActivity"
android:label="SettingsSubscreenActivity">
<argument
android:name="destination"
app:argType="org.yuzu.yuzu_emu.features.settings.ui.SettingsSubscreen" />
<argument
android:name="game"
app:argType="org.yuzu.yuzu_emu.model.Game"
app:nullable="true"
android:defaultValue="@null" />
</activity>
<action
android:id="@+id/action_global_settingsSubscreenActivity"
app:destination="@id/settingsSubscreenActivity" />
</navigation>

View file

@ -31,8 +31,6 @@
<string name="enable_input_overlay_auto_hide">تمكين إخفاء الطبقة تلقائيًا</string>
<string name="hide_overlay_on_controller_input">إخفاء الطبقة عند إدخال ذراع التحكم</string>
<string name="hide_overlay_on_controller_input_description">إخفاء تلقائي لطبقة عناصر التحكم باللمس عند استخدام ذراع تحكم فعلية. تظهر الطبقة مرة أخرى عند فصل ذراع التحكم.</string>
<string name="invert_confirm_back_controller_buttons">عكس أزرار التأكيد/الرجوع في وحدة التحكم</string>
<string name="invert_confirm_back_controller_buttons_description">قم بتبديل طريقة عمل زري التأكيد والرجوع في نظام Android لتتوافق مع أنماط Switch و Xbox أثناء استخدام واجهة المستخدم الخاصة بالتطبيق.</string>
<string name="input_overlay_options">طبقة الإدخال</string>
<string name="input_overlay_options_description">ضبط ذراع التحكم على الشاشة</string>
@ -317,9 +315,6 @@
<string name="share_log">مشاركة سجلات التصحيح</string>
<string name="share_log_description">مشاركة ملف سجل Eden لتصحيح الأخطاء</string>
<string name="share_log_missing">لم يتم العثور على ملف السجل</string>
<string name="share_gpu_log">مشاركة سجلات وحدة معالجة الرسومات</string>
<string name="share_gpu_log_description">شارك ملف سجل وحدة معالجة الرسومات الخاص بـ Eden لتصحيح مشكلات الرسومات</string>
<string name="share_gpu_log_missing">لم يتم العثور على ملف سجل وحدة معالجة الرسومات</string>
<string name="install_game_content">تثبيت محتوى اللعبة</string>
<string name="install_game_content_description">تثبيت تحديثات اللعبة أو المحتوى القابل للتنزيل</string>
<string name="installing_game_content">جارٍ تثبيت المحتوى...</string>
@ -381,9 +376,9 @@
<string name="qlaunch_description">تشغيل التطبيقات من شاشة النظام الرئيسية</string>
<string name="applets">مشغل التطبيقات الصغيرة</string>
<string name="applets_description">تشغيل تطبيقات الصغيرة للنظام باستخدام الفيرموير المثبت</string>
<string name="applets_error_firmware">الفيرموير غير مثبت</string>
<string name="applets_error_firmware">الفيرموير غير مثبت أو إصدار غير صالح</string>
<string name="applets_error_applet">التطبيق الصغير غير متوفر</string>
<string name="applets_error_description"><![CDATA[يرجى التأكد من <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> ملف و <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">الفيرموير</a> تم تثبيتها وحاول مرة أخرى.]]></string>
<string name="applets_error_description"><![CDATA[يرجى التأكد من أن ملف <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> الخاص بك و <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">الفيرموير</a> مثبتة وحاول مرة أخرى.<br>بالإضافة إلى ذلك، تأكد من أن الفيرموير الخاص بك هو من الإصدار 19.0.1 أو أقدم.]]></string>
<string name="album_applet">الألبوم</string>
<string name="album_applet_description">عرض الصور المخزنة في مجلد لقطات شاشة المستخدم باستخدام عارض صور النظام</string>
<string name="mii_edit_applet">تعديل Mii</string>
@ -401,7 +396,7 @@
<string name="copied_to_clipboard">نسخ إلى الحافظة</string>
<string name="about_app_description">محاكي Switch مفتوح المصدر</string>
<string name="contributors">المساهمين</string>
<string name="contributors_description">الأشخاص الذين جعلوا تطبيق Eden لنظام Android ممكنًا</string>
<string name="contributors_description">المساهمون الذين جعلوا تطبيق Eden لنظام Android ممكناً</string>
<string name="licenses_description">المشاريع التي تجعل Eden لأجهزة Android ممكنة</string>
<string name="build">البناء</string>
<string name="user_data">بيانات المستخدم</string>
@ -417,11 +412,7 @@
<string name="frame_limit_enable">الحد من السرعة</string>
<string name="frame_limit_enable_description">يحدد سرعة المحاكاة بنسبة مئوية محددة من السرعة العادية.</string>
<string name="frame_limit_slider">نسبة الحد الأقصى للسرعة</string>
<string name="frame_limit_slider_description">يحدد النسبة المئوية للحد من سرعة المحاكاة. %100 هي السرعة الطبيعية. القيم الأعلى أو الأقل ستزيد أو تقلل من الحد الأقصى للسرعة.</string>
<string name="turbo_speed_limit">سرعة تيربو</string>
<string name="turbo_speed_limit_description">عند تمكين وضع التيربو، سيتم تشغيل المحاكاة بهذه السرعة.</string>
<string name="slow_speed_limit">سرعة بطيئة</string>
<string name="slow_speed_limit_description">عند تمكين الوضع البطيء، سيتم تشغيل المحاكاة بهذه السرعة.</string>
<string name="frame_limit_slider_description">يحدد النسبة المئوية للحد من سرعة المحاكاة. 100٪ هي السرعة العادية. القيم الأعلى أو الأقل ستزيد أو تقلل من الحد الأقصى للسرعة.</string>
<string name="cpu_backend">خلفية وحدة المعالجة المركزية</string>
<string name="cpu_accuracy">دقة وحدة المعالجة المركزية</string>
<string name="value_with_units">%1$s%2$s</string>
@ -440,7 +431,7 @@
<!-- CPU -->
<string name="fast_cpu_time">رفع تردد المعالج</string>
<string name="fast_cpu_time_description">يجبر وحدة المعالجة المركزية المحاكاة على العمل بتردد أعلى، مما يقلل بعض محددات معدل الإطارات. استخدم وضع التعزيز (1700 ميجاهرتز) لتشغيلها عند أعلى تردد أصلي لجهاز Switch، أو وضع السرعة (2000 ميجاهرتز) لتشغيلها بتردد مضاعف.</string>
<string name="fast_cpu_time_description">يُجبر هذا الخيار المعالج المُحاكى على العمل بتردد أعلى، مما يُقلل من بعض مُحددات معدل الإطارات. استخدم وضع Boost (1700 ميجاهرتز) للتشغيل بأعلى تردد أصلي لجهاز Switch، أو وضع Fast (2000 ميجاهرتز) للتشغيل بتردد مُضاعف.</string>
<string name="custom_cpu_ticks">تخصيص دورات المعالج</string>
<string name="custom_cpu_ticks_description">قم بتعيين قيمة مخصصة لدورات المعالج. القيم الأعلى يمكن أن تزيد من الأداء، ولكنها قد تتسبب أيضًا في تجميد اللعبة. يوصى باستخدام نطاق 77-21000.</string>
<string name="cpu_ticks">دورات</string>
@ -473,8 +464,6 @@
<string name="renderer_accuracy_description">يتحكم في وضع محاكاة وحدة معالجة الرسومات. تعمل معظم الألعاب بشكل جيد مع وضعي سريع أو متوازن، لكن الوضع الدقيق لا يزال مطلوبًا لبعض الألعاب. تميل الجسيمات إلى العرض بشكل صحيح فقط عند استخدام الوضع الدقيق.</string>
<string name="dma_accuracy">دقة DMA</string>
<string name="dma_accuracy_description">يتحكم في دقة DMA. يمكن أن تؤدي الدقة الآمنة إلى حل المشكلات في بعض الألعاب، ولكنها قد تؤثر أيضًا على الأداء في بعض الحالات. إذا لم تكن متأكدًا، فاترك هذا الخيار على الإعداد الافتراضي.</string>
<string name="frame_pacing_mode">وضع توقيت الإطارات</string>
<string name="frame_pacing_mode_description">يتحكم في كيفية إدارة المحاكي لسرعة الإطارات لتقليل التقطع وجعل معدل الإطارات أكثر سلاسة واتساقًا.</string>
<string name="anisotropic_filtering">تصفية متباينة الخواص</string>
<string name="anisotropic_filtering_description">يحسن جودة الأنسجة عند عرضها بزوايا مائلة</string>
<string name="vram_usage_mode">وضع استخدام ذاكرة VRAM</string>
@ -492,10 +481,7 @@
<string name="renderer_force_max_clock_description">يجبر وحدة معالجة الرسومات على العمل بأقصى سرعة ممكنة (سيظل يتم تطبيق القيود الحرارية).</string>
<string name="renderer_reactive_flushing">استخدم التنظيف التفاعلي</string>
<string name="renderer_reactive_flushing_description">يحسن دقة العرض في بعض الألعاب على حساب الأداء.</string>
<string name="enable_buffer_history">تمكين سجل التخزين المؤقت</string>
<string name="enable_buffer_history_description">يُتيح هذا الخيار الوصول إلى حالات التخزين المؤقت السابقة. وقد يُحسّن جودة العرض وثبات الأداء في بعض الألعاب.</string>
<string name="use_optimized_vertex_buffers">مخازن الرؤوس المُحسّنة</string>
<string name="use_optimized_vertex_buffers_description">يُتيح ربطًا مُحسَّنًا لمخازن الرؤوس لتحسين الأداء. يتطلب برامج تشغيل Turnip من Mesa 26.0 أو أحدث. قد يتعطل على برامج التشغيل الأقدم.</string>
<string name="hacks">اختراقات</string>
@ -504,20 +490,15 @@
<string name="skip_cpu_inner_invalidation">تخطي إبطال صلاحية وحدة المعالجة المركزية الداخلية</string>
<string name="skip_cpu_inner_invalidation_description">يتخطى بعض عمليات إبطال ذاكرة التخزين المؤقتة من جانب وحدة المعالجة المركزية أثناء تحديثات الذاكرة، مما يقلل من استخدام وحدة المعالجة المركزية ويحسن أداءها. قد يتسبب ذلك في حدوث أعطال أو تعطل في بعض الألعاب.</string>
<string name="fix_bloom_effects">إصلاح تأثيرات التوهج</string>
<string name="fix_bloom_effects_description">يقلل من ضبابية التوهج في LA/EOW (Adreno 700)، ويزيل التوهج في Burnout. تحذير: قد يسبب ظهور خلل رسومي في ألعاب أخرى.</string>
<string name="fix_bloom_effects_description">يقلل من ضبابية التوهج في وضع LA/EOW (مخصص ل Adreno 700)، ويزيل التوهج في وضع الإحتراق</string>
<string name="renderer_asynchronous_shaders">استخدم تظليل غير متزامن</string>
<string name="renderer_asynchronous_shaders_description">يقوم بتجميع التظليل بشكل غير متزامن. قد يقلل ذلك من التقطعات ولكنه قد يؤدي أيضًا إلى حدوث أخطاء.</string>
<string name="gpu_unswizzle_settings">إعدادات إلغاء ترتيب بيانات وحدة معالجة الرسومات</string>
<string name="gpu_unswizzle_settings_description">قم بضبط معلمات فكّ تشابك النسيج المستندة إلى وحدة معالجة الرسومات أو تعطيلها تمامًا. اضبط هذه الإعدادات لتحقيق التوازن بين الأداء وجودة تحميل النسيج.</string>
<string name="gpu_unswizzle_enable">تفعيل إلغاء ترتيب بيانات وحدة معالجة الرسومات</string>
<string name="gpu_unswizzle_disabled">تعطيل</string>
<string name="gpu_unswizzle_texture_size">الحد الأقصى لحجم النسيج في وحدة معالجة الرسومات بعد إعادة ترتيب البيانات</string>
<string name="gpu_unswizzle_texture_size_description">يُحدد هذا الخيار الحد الأقصى لحجم (ميغابايت) معالجة الصور باستخدام وحدة معالجة الرسومات. مع أن وحدة معالجة الرسومات أسرع في معالجة الصور المتوسطة والكبيرة، إلا أن وحدة المعالجة المركزية قد تكون أكثر كفاءة في معالجة الصور الصغيرة جدًا. اضبط هذا الخيار لتحقيق التوازن الأمثل بين سرعة معالجة الرسومات واستهلاك وحدة المعالجة المركزية.</string>
<string name="gpu_unswizzle_stream_size">حجم تدفق إلغاء ترتيب بيانات وحدة معالجة الرسومات</string>
<string name="gpu_unswizzle_stream_size_description">يحدد هذا الخيار حد البيانات لكل إطار لمعالجة الصور الكبيرة. القيم الأعلى تُسرّع تحميل الصور على حساب زيادة زمن استجابة الإطارات؛ أما القيم الأقل فتُقلل من الحمل الزائد على وحدة معالجة الرسومات، ولكنها قد تتسبب في ظهور الصور بشكل مفاجئ.</string>
<string name="gpu_unswizzle_chunk_size">حجم كتلة إلغاء ترتيب بيانات وحدة معالجة الرسومات</string>
<string name="gpu_unswizzle_chunk_size_description">يُحدد هذا الخيار عدد شرائح العمق التي تتم معالجتها لكل دفعة من الصور ثلاثية الأبعاد (3D). زيادة هذا العدد تُحسّن كفاءة الإنتاجية على وحدات معالجة الرسومات القوية، ولكنها قد تُسبب تقطعًا أو انقطاعًا في عمل برنامج التشغيل على الأجهزة ذات المواصفات الأقل قوة.</string>
<string name="gpu_unswizzle_default_button">افتراضي</string>
<string name="extensions">إضافات</string>
@ -562,24 +543,6 @@
<string name="flush_by_line">تفريغ سجلات التصحيح حسب السطر</string>
<string name="flush_by_line_description">يفرغ سجلات التصحيح عند كتابة كل سطر، مما يجعل التصحيح أسهل في حالات التوقف أو التجميد.</string>
<!-- GPU Logging strings -->
<string name="gpu_logging_header">تسجيل وحدة معالجة الرسومات</string>
<string name="gpu_logging_enabled">تمكين تسجيل وحدة معالجة الرسومات</string>
<string name="gpu_logging_enabled_description">تسجيل عمليات وحدة معالجة الرسومات في ملف eden_gpu.log لتصحيح أخطاء برامج تشغيل Adreno</string>
<string name="gpu_log_level">مستوى السجل</string>
<string name="gpu_log_level_description">مستوى التفاصيل لسجلات وحدة معالجة الرسومات (كلما زاد المستوى، زادت التفاصيل وزادت التكاليف الإضافية)</string>
<string name="gpu_log_vulkan_calls">تسجيل استدعاءات واجهة برمجة تطبيقات Vulkan</string>
<string name="gpu_log_vulkan_calls_description">تتبع جميع استدعاءات واجهة برمجة تطبيقات Vulkan في المخزن المؤقت الحلقي</string>
<string name="gpu_log_shader_dumps">تفريغ التظليل</string>
<string name="gpu_log_shader_dumps_description">حفظ تظليل SPIR-V المجمع في ملفات</string>
<string name="gpu_log_memory_tracking">تتبع ذاكرة وحدة معالجة الرسومات</string>
<string name="gpu_log_memory_tracking_description">مراقبة تخصيصات ذاكرة وحدة معالجة الرسومات وإلغاء تخصيصها</string>
<string name="gpu_log_driver_debug">معلومات تصحيح أخطاء برنامج التشغيل</string>
<string name="gpu_log_driver_debug_description">التقاط معلومات تصحيح الأخطاء الخاصة ببرنامج التشغيل (مسارات Turnip، وما إلى ذلك).</string>
<string name="gpu_log_ring_buffer_size">حجم المخزن المؤقت الحلقي</string>
<string name="gpu_log_ring_buffer_size_description">عدد استدعاءات Vulkan الأخيرة المراد تتبعها (الافتراضي: 512)</string>
<string name="gpu_log_ring_buffer_size_hint">من 64 إلى 4096 مدخلاً</string>
<string name="general">عام</string>
<!-- Audio settings strings -->
@ -668,7 +631,7 @@
<string name="loading">جارٍ التحميل…</string>
<string name="shutting_down">جارٍ إيقاف التشغيل...</string>
<string name="reset_setting_confirmation">هل تريد إعادة تعيين هذا الإعداد إلى قيمته الافتراضية؟</string>
<string name="reset_to_default">إعادة التعيين إلى الإعدادات الافتراضية</string>
<string name="reset_to_default">إعادة التعيين إلى الوضع الافتراضي</string>
<string name="reset_to_default_description">إعادة تعيين جميع الإعدادات المتقدمة</string>
<string name="reset_all_settings">إعادة تعيين جميع الإعدادات؟</string>
<string name="reset_all_settings_description">سيتم إعادة تعيين جميع الإعدادات المتقدمة إلى ضبطها الافتراضي. لا يمكن التراجع عن هذا الإجراء.</string>
@ -734,8 +697,6 @@
<string name="preferences_graphics">الرسومات</string>
<string name="preferences_graphics_description">مستوى الدقة، الدقة، ذاكرة التخزين المؤقتة للتظليل</string>
<string name="quick_settings">الإعدادات السريعة</string>
<string name="enable_quick_settings">تمكين الإعدادات السريعة</string>
<string name="enable_quick_settings_description">السماح بالوصول إلى قائمة الإعدادات السريعة عن طريق التمرير و زر القائمة</string>
<string name="preferences_audio">الصوت</string>
<string name="preferences_audio_description">محرك الإخراج، مستوى الصوت</string>
<string name="preferences_controls">ذراع التحكم</string>
@ -768,7 +729,7 @@
<!-- Game properties -->
<string name="info">معلومات</string>
<string name="info_description">معرف العنوان، المطور، الإصدار</string>
<string name="per_game_settings">الإعدادات الخاصة للعبة</string>
<string name="per_game_settings">إعدادات خاصة للعبة</string>
<string name="per_game_settings_description">تعديل الإعدادات الخاصة بهذه اللعبة</string>
<string name="launch_options">تشغيل الإعدادات</string>
<string name="path">المسار</string>
@ -999,13 +960,6 @@
<string name="dma_accuracy_unsafe">غير آمن</string>
<string name="dma_accuracy_safe">آمن</string>
<!-- Frame Pacing Mode -->
<string name="frame_pacing_mode_target_Auto">تلقائي</string>
<string name="frame_pacing_mode_target_30">30 إطارًا في الثانية</string>
<string name="frame_pacing_mode_target_60">60 إطارًا في الثانية</string>
<string name="frame_pacing_mode_target_90">90 إطارًا في الثانية</string>
<string name="frame_pacing_mode_target_120">120 إطارًا في الثانية</string>
<!-- ASTC Recompression Method Choices -->
<string name="astc_recompression_uncompressed">غير مضغوط</string>
<!-- ASTC Recompression Method Choices -->
@ -1088,24 +1042,18 @@
<string name="use_black_backgrounds">خلفيات سوداء</string>
<string name="use_black_backgrounds_description">عند استخدام السمة الداكنة، قم بتطبيق خلفيات سوداء.</string>
<!-- Buttons -->
<string name="enable_folder_button">مجلد</string>
<string name="enable_folder_button_description">عرض زر إضافة مجلدات الألعاب</string>
<string name="enable_qlaunch_button">القائمة الرئيسية</string>
<string name="enable_qlaunch_button_description">عرض زر تشغيل القائمة الرئيسية</string>
<!-- App Language -->
<string name="app_language">لغة التطبيق</string>
<string name="app_language_description">تغيير لغة واجهة التطبيق</string>
<string name="app_language_system">اتبع النظام</string>
<!-- Static Themes -->
<string name="static_theme_color">لون السمة</string>
<string name="eden_theme">إيدن</string>
<string name="eden_theme">Eden (افتراضي)</string>
<string name="violet">بنفسجي</string>
<string name="blue">أزرق</string>
<string name="cyan">سماوي</string>
<string name="red">أحمر</string>
<string name="green">أخضر (افتراضي)</string>
<string name="green">أخضر</string>
<string name="yellow">أصفر</string>
<string name="orange">برتقالي</string>
<string name="pink">وردي</string>
@ -1137,39 +1085,7 @@
<string name="enable_overlay">تمكين التطبيق الصغير للطبقة</string>
<string name="enable_overlay_description">تمكين التطبيق الصغير المدمج في Horizon. اضغط مع الاستمرار على زر الشاشة الرئيسية لمدة 1 ثانية لإظهاره.</string>
<!-- Profile Management -->
<string name="profile_manager">مدير الملف الشخصي</string>
<string name="profile_manager_description">إدارة ملفات تعريف المستخدمين</string>
<string name="profile_add_user">إضافة مستخدم</string>
<string name="profile_new_user">مستخدم جديد</string>
<string name="profile_edit_user">تعديل المستخدم</string>
<string name="profile_edit">تعديل</string>
<string name="profile_delete">حذف</string>
<string name="profile_username">اسم المستخدم</string>
<string name="profile_uuid">معرف المستخدم (UUID)</string>
<string name="profile_uuid_description">هذا هو المعرف الفريد لملف تعريف المستخدم هذا. لا يمكن تغييره بعد إنشائه.</string>
<string name="profile_generate">إنشاء</string>
<string name="profile_avatar">صورة المستخدم</string>
<string name="profile_select_image">اختر صورة</string>
<string name="profile_firmware_avatars">صور رمزية للفيرموير</string>
<string name="profile_firmware_avatars_unavailable">الصور الرمزية للفيرموير غير متوفرة. يرجى تثبيت الفيرموير لاستخدام هذه الميزة.</string>
<string name="profile_revert_image">العودة إلى الإعدادات الافتراضية</string>
<string name="profile_current_user">المستخدم الحالي</string>
<string name="profile_max_users_title">تم الوصول إلى الحد الأقصى للمستخدمين</string>
<string name="profile_max_users_message">لا يمكنك إنشاء أكثر من 8 ملفات تعريف مستخدم. يرجى حذف ملف تعريف موجود لإنشاء ملف تعريف جديد.</string>
<string name="profile_delete_confirm_title">حذف ملف التعريف؟</string>
<string name="profile_delete_confirm_message">هل تريد حذفها حقًا %1$s؟ سيتم حذف جميع البيانات المحفوظة لهذا المستخدم.</string>
<string name="profile_delete_current_user_message">هل تريد حذف هذا المستخدم %1$s؟ هذا هو المستخدم المحدد حالياً. سيتم تحديد أول مستخدم متاح بدلاً منه.</string>
<string name="profile_create_failed">فشل إنشاء ملف تعريف المستخدم</string>
<string name="profile_update_failed">فشل تحديث ملف تعريف المستخدم</string>
<string name="profile_image_load_error">فشل تحميل الصورة: %1$s</string>
<string name="profile_image_save_error">فشل حفظ الصورة: %1$s</string>
<string name="error">خطأ</string>
<!-- Licenses screen strings -->
<string name="licenses">التراخيص</string>
<string name="license_fidelityfx_fsr_description">تحسين الجودة بدرجة عالية من AMD</string>
<string name="external_content">محتوى خارجي</string>
<string name="add_folders">إضافة مجلد</string>
</resources>
</resources>

View file

@ -272,7 +272,9 @@
<string name="qlaunch_description">ئەپەکان لە شاشەی سەرەکی سیستەم دەستپێبکە</string>
<string name="applets">دەستپێکەری ئەپلێت</string>
<string name="applets_description">ئەپلێتی سیستەم دەستپێبکە بە بەکارهێنانی پتەوواڵای دامەزراو</string>
<string name="applets_error_firmware">فریموێر نەنێردراوە یان وەشانێکی نادروستە</string>
<string name="applets_error_applet">ئەپلێت بەردەست نییە</string>
<string name="applets_error_description"><![CDATA[تکایە دڵنیابە لەوەی فایلی <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> و <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">فریموێر</a>ەکەت نێردراوە و هەوڵ بدەرەوە.<br>هەروەها دڵنیابە لەوەی فریموێرەکەت وەشانی ١٩.٠.١ یان کەمتر بێت.]]></string>
<string name="album_applet">ئەلبوم</string>
<string name="album_applet_description">وێنەکان لە فۆڵدەری وێنەی بەکارهێنەر ببینە</string>
<string name="mii_edit_applet">دەستکاریی Mii</string>
@ -290,6 +292,7 @@
<string name="copied_to_clipboard">کۆپی کرا بۆ تەختەی نووسین</string>
<string name="about_app_description">ئیمۆلیتەرێکی سەرچاوە-کراوەی سویچ</string>
<string name="contributors">بەشداربووان</string>
<string name="contributors_description">دروستکراوە لەگەڵ \u2764 لەلایەن تیمەکەی یوزو</string>
<string name="licenses_description">ئەو پڕۆژانەی کە یوزوی بۆ ئەندرۆید ڕەخساند</string>
<string name="build">بونیات</string>
<!-- General settings strings -->
@ -354,6 +357,8 @@
<string name="renderer_force_max_clock_description">GPU ناچار دەکات بە زۆرترین کاتژمێر کاربکات (هێشتا سنووردارکردنی گەرمی جێبەجێ دەکرێت).</string>
<string name="renderer_reactive_flushing">بەکارهێنانی بەرپێچدەرەوە</string>
<string name="renderer_reactive_flushing_description">وردی ڕێندەرکردن لە هەندێک یاریدا باشتر دەکات لەسەر تێچووی کارایی.</string>
<string name="skip_cpu_inner_invalidation">بازنەکردنی ناوەکی CPU</string>
<string name="skip_cpu_inner_invalidation_description">هەندێک لە بازنەکردنەکانی هەڵگر لە کاتی نوێکردنەوەی بیرگە دەنێرێت، کەمکردنەوەی بەکارهێنانی CPU و باشترکردنی کارایی. لەوانەیە لە هەندێک یاری کێشە درووست بکات.</string>
<string name="renderer_asynchronous_shaders">بەکارهێنانی سێبەری ناهاوسەنگ</string>
@ -629,6 +634,7 @@
<string name="blue">شین</string>
<string name="cyan">سایان</string>
<string name="red">سوور</string>
<string name="green">سەوز</string>
<string name="yellow">زەرد</string>
<string name="orange">پرتەقاڵی</string>
<string name="pink">پەمەیی</string>

View file

@ -29,6 +29,7 @@
<string name="enable_input_overlay_auto_hide">Zapnout automatické skrývání</string>
<string name="hide_overlay_on_controller_input">Skrýt při použití ovladače</string>
<string name="hide_overlay_on_controller_input_description">Automaticky skryje dotykové prvky, pokud použijete fyzický ovladač. Po jeho odpojení se prvky znovu objeví.</string>
<string name="input_overlay_options">Dotykové ovládání</string>
<string name="input_overlay_options_description">Nastavení ovládacích prvků na obrazovce</string>
<string name="edit_overlay_layout">Upravit rozvržení</string>
@ -367,7 +368,9 @@
<string name="qlaunch_description">Spusťte aplikace ze systémové domovské obrazovky</string>
<string name="applets">Spouštěč appletů</string>
<string name="applets_description">Spusťte systémové applety prostřednictvím nainstalovaného firmwaru</string>
<string name="applets_error_firmware">Firmware není nainstalován nebo je jeho verze neplatná</string>
<string name="applets_error_applet">Applet není dostupný</string>
<string name="applets_error_description"><![CDATA[Ujistěte se, že máte nainstalovaný soubor <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> a <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a>, a zkuste to znovu.<br>Dále se ujistěte, že verze vašeho firmware je 19.0.1 nebo starší.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Podívejte se na obrázky uložené v uživatelské složce se snímky obrazovky pomocí systémového prohlížeče fotografií</string>
<string name="mii_edit_applet">Editor Mii</string>
@ -385,6 +388,7 @@
<string name="copied_to_clipboard">Zkopírováno do schránky</string>
<string name="about_app_description">Open-source emulátor konzole Switch</string>
<string name="contributors">Přispěvatelé</string>
<string name="contributors_description">Lidé, díky kterým Eden pro Android vznikl</string>
<string name="licenses_description">Eden pro Android bylo možné zrealizovat díky těmto projektům</string>
<string name="build">Číslo sestavení</string>
<string name="user_data">Uživatelská data</string>
@ -452,8 +456,6 @@
<string name="renderer_accuracy_description">Určuje režim emulovaného GPU. Většina her běží bez problémů v rychlém, nebo vyváženém režimu, ale některé stále vyžadují přesný režim. Částicové efekty se většinou zobrazují korektně pouze v přesném režimu. </string>
<string name="dma_accuracy">Přesnost DMA</string>
<string name="dma_accuracy_description">Ovládá přesnost DMA. Bezpečná přesnost může vyřešit problémy v některých hrách, ale v některých případech může také ovlivnit výkon. Pokud si nejste jisti, použijte výchozí nastavení.</string>
<string name="frame_pacing_mode">Režim Framepacingu</string>
<string name="frame_pacing_mode_description">Řídí způsob jakým emulátor spravuje časování snímku aby snížil trhání a zlepšení plynulost a stabilitu snímkové frekvence.</string>
<string name="anisotropic_filtering">Anizotropní filtrování</string>
<string name="anisotropic_filtering_description">Zlepšuje kvalitu textur při pohledu pod úhlem</string>
<string name="vram_usage_mode">Režim využití VRAM</string>
@ -471,8 +473,8 @@
<string name="renderer_force_max_clock_description">Vynutí běh GPU na maximální možné frekvenci (teplotní limity stále platí).</string>
<string name="renderer_reactive_flushing">Reaktivní flushing</string>
<string name="renderer_reactive_flushing_description">Zlepšuje přesnost vykreslování v některých hrách na úkor výkonu.</string>
<string name="enable_buffer_history">Zapnout historii bufferu</string>
<string name="enable_buffer_history_description">Umožňuje přístup k předchozím stavům bufferu. Tato volba může u některých her zvýšit kvalitu vykreslování a zlepšit stabilitu výkonu.</string>
<string name="hacks">Hacky</string>
<string name="fast_gpu_time">Rychlé časování GPU</string>
@ -766,6 +768,7 @@
<string name="blue">Modrá</string>
<string name="cyan">Tyrkysová</string>
<string name="red">Červená</string>
<string name="green">Zelená</string>
<string name="yellow">Žlutá</string>
<string name="orange">Oranžová</string>
<string name="pink">Růžová</string>

View file

@ -29,6 +29,7 @@
<string name="enable_input_overlay_auto_hide">Automatisches Ausblenden des Overlays aktivieren</string>
<string name="hide_overlay_on_controller_input">Overlay bei Controller-Eingabe ausblenden</string>
<string name="hide_overlay_on_controller_input_description">Blende die Touch-Bedienelemente automatisch aus wenn ein physischer Controller benutzt wird. Das Overlay wird wieder eingeblendet, wenn die Verbindung zum Controller getrennt wird.</string>
<string name="input_overlay_options">Eingabe-Overlay</string>
<string name="input_overlay_options_description">Bedienelemente auf dem Bildschirm konfigurieren</string>
<string name="edit_overlay_layout">Overlay-Layout bearbeiten</string>
@ -324,7 +325,7 @@ Wirklich fortfahren?</string>
<string name="install_game_content_help_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-installed-updates</string>
<string name="custom_driver_not_supported">Benutzerdefinierte Treiber werden nicht unterstützt</string>
<string name="custom_driver_not_supported_description">Das Laden von benutzerdefinierten Treibern wird für dieses Gerät momentan nicht unterstützt.\nSchau später einfach nochmal nach, ob die Unterstützung hinzugefügt wurde!</string>
<string name="manage_yuzu_data">Eden-Daten verwalten</string>
<string name="manage_yuzu_data">Eden-Daten Verwalten</string>
<string name="manage_yuzu_data_description">Importieren/Exportieren Sie Firmware, Schlüssel, Benutzerdaten und mehr!</string>
<string name="game_folders">Spiele-Ordner</string>
<string name="deep_scan">Tiefer Scan</string>
@ -364,7 +365,9 @@ Wirklich fortfahren?</string>
<string name="qlaunch_description">Anwendungen vom Systemstartbildschirm aus starten</string>
<string name="applets">Applet-Launcher</string>
<string name="applets_description">System-Applets mit Firmware starten</string>
<string name="applets_error_firmware">Firmware nicht installiert oder ungültige Version</string>
<string name="applets_error_applet">Applet nicht verfügbar</string>
<string name="applets_error_description"><![CDATA[Bitte stellen Sie sicher, dass Ihre <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>-Datei und <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">Firmware</a> installiert sind, und versuchen Sie es erneut.<br>Stellen Sie außerdem sicher, dass Ihre Firmware Version 19.0.1 oder älter ist.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Bilder im Screenshot-Ordner anzeigen</string>
<string name="mii_edit_applet">Mii-Editor</string>
@ -382,6 +385,7 @@ Wirklich fortfahren?</string>
<string name="copied_to_clipboard">In die Zwischenablage kopiert</string>
<string name="about_app_description">Ein quelloffener Switch-Emulator</string>
<string name="contributors">Beitragende</string>
<string name="contributors_description">Gemacht mit \u2764 vom Eden Team</string>
<string name="licenses_description">Projekte, die Eden für Android möglich machen </string>
<string name="build">Build</string>
<string name="user_data">Nutzerdaten</string>
@ -398,8 +402,6 @@ Wirklich fortfahren?</string>
<string name="frame_limit_enable_description">Limitiert die Geschwindigkeit auf einen von dir festgelegten Prozentsatz.</string>
<string name="frame_limit_slider">Geschwindkeitsbegrenzung in Prozent</string>
<string name="frame_limit_slider_description">Gibt die prozentuale Geschwindigkeit der Emulation an. 100% sind normal. Werte darüber oder drunter werden die Geschwindigkeit entsprechend verändern.</string>
<string name="turbo_speed_limit">Turbo Geschwindigkeit</string>
<string name="slow_speed_limit">Langsame Geschwindigkeit</string>
<string name="cpu_backend">CPU-Backend</string>
<string name="cpu_accuracy">CPU-Genauigkeit</string>
<string name="value_with_units">%1$s%2$s</string>
@ -469,6 +471,8 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
<string name="renderer_force_max_clock_description">Erzwingt maximale GPU-Taktfrequenz. (thermische Einschränkungen werden weiterhin angewendet).</string>
<string name="renderer_reactive_flushing">Reaktives Flushing</string>
<string name="renderer_reactive_flushing_description">Verbessert die Genauigkeit in einigen Spielen.</string>
<string name="hacks">Hacks</string>
<string name="fast_gpu_time">Schnelle GPU-Zeit</string>
@ -1023,10 +1027,12 @@ Wirklich fortfahren?</string>
<string name="app_language_system">System folgen</string>
<!-- Static Themes -->
<string name="static_theme_color">Designfarbe</string>
<string name="eden_theme">Eden (Standard)</string>
<string name="violet">Violett </string>
<string name="blue">Blau</string>
<string name="cyan">Cyan</string>
<string name="red">Rot</string>
<string name="green">Grün</string>
<string name="yellow">Gelb</string>
<string name="orange">Orange</string>
<string name="pink">Rosa</string>

View file

@ -16,30 +16,11 @@
<string name="value_too_high">El valor debe ser como máximo%1$d</string>
<string name="invalid_value">Valor inválido</string>
<string name="using_per_game_config">Usando configuración por cada juego</string>
<!-- Input Overlay -->
<string name="show_input_overlay">Mostrar superposición de entrada</string>
<string name="show_input_overlay_description">Mostrar controles táctiles superpuestos durante la emulación</string>
<string name="overlay_snap_to_grid">Ajustar a la cuadrícula</string>
<string name="overlay_snap_to_grid_description">Al editar ajustar los controles de superposición a la cuadrícula</string>
<string name="overlay_grid_size">Tamaño de la cuadrícula</string>
<string name="overlay_grid_size_description">Tamaño de las celdas de la cuadrícula en píxeles</string>
<string name="input_overlay_behavior">Comportamiento</string>
<string name="overlay_auto_hide">Ocultar automáticamente la superposición</string>
<string name="overlay_auto_hide_description">Ocultar automáticamente la superposición de controles táctiles después del tiempo de inactividad especificado.</string>
<string name="enable_input_overlay_auto_hide">Habilitar ocultar automáticamente la superposición</string>
<string name="hide_overlay_on_controller_input">Ocultar superposición al usar el mando</string>
<string name="hide_overlay_on_controller_input_description">Automáticamente ocultar los controles táctiles superpuestos cuando un mando físico es usado. Los controles superpuestos reaparecen cuando el mando es desconectado.</string>
<string name="invert_confirm_back_controller_buttons">Invertir los botones Confirmar/Atrás del mando</string>
<string name="invert_confirm_back_controller_buttons_description">Intercambia los botones Confirmar y Atrás de Android para que coincidan con los estilos de Switch y Xbox mientras usas la interfaz de usuario de la aplicación.</string>
<string name="input_overlay_options">Superposición de entrada</string>
<string name="input_overlay_options_description">Configurar controles en pantalla</string>
<string name="edit_overlay_layout">Editar el diseño de la superposición</string>
<string name="edit_overlay_layout_description">Ajustar la posición y escala de los controles en pantalla</string>
<!-- Stats Overlay settings -->
<string name="process_ram">Proceso de RAM: %1$d MB</string>
<string name="shaders_prefix">Compilando</string>
@ -83,8 +64,6 @@
<string name="soc_overlay_options">Superposición del dispositivo</string>
<string name="soc_overlay_options_description">Configurar qué información se muestra en la superposición del dispositivo</string>
<string name="show_build_id">Mostrar ID de Compilación</string>
<string name="show_driver_version">Mostrar la versión del controlador</string>
<string name="show_device_model">Mostrar modelo del dispositivo</string>
<string name="show_gpu_model">Mostrar modelo de la GPU</string>
<string name="show_soc_model">Mostrar modelo del SoC</string>
@ -98,10 +77,6 @@
<string name="use_sync_core_description">Sincroniza la velocidad del núcleo con el porcentaje máximo de velocidad para mejorar el rendimiento sin alterar la velocidad real del juego.</string>
<string name="cpuopt_unsafe_host_mmu">Habilitar emulación de MMU del anfitrión</string>
<string name="cpuopt_unsafe_host_mmu_description">Esta optimización acelera el acceso a la memoria del programa invitado. Al habilitarla, las lecturas y escrituras de la memoria del invitado se realizan directamente en la memoria y utilizan la MMU del anfitrión. Al deshabilitarla, todos los accesos a la memoria utilizan el software de emulación de la MMU.</string>
<string name="debug_knobs">Perillas de depuración</string>
<string name="debug_knobs_description">Solo para uso de desarrolladores.</string>
<string name="debug_knobs_hint">De 0 a 65535</string>
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">Emulación NVDEC</string>
<string name="nvdec_emulation_description">Seleccione cómo se maneja la decodificación de vídeo (NVDEC) durante las escenas y las introducciones.</string>
@ -159,7 +134,6 @@
<string name="multiplayer_chat">Chat</string>
<string name="multiplayer_more_options">Más opciones</string>
<string name="chat">Chat</string>
<string name="clear">Limpiar</string>
<string name="type_message">Escribe un mensaje…</string>
<string name="send_message">Enviar mensaje</string>
<string name="multiplayer_moderation">Moderación</string>
@ -191,7 +165,7 @@
<string name="multiplayer_token_error">Debe tener 48 caracteres, solo letras minúsculas a-z</string>
<string name="multiplayer_port_error">Debe ser entre 1 y 65535</string>
<string name="cancel">Cancelar</string>
<string name="ok">Aceptar</string>
<string name="ok">De acuerdo</string>
<string name="refresh">Refrescar</string>
<string name="room_list">Lista de salas</string>
<string name="multiplayer_public_visibility">Pública</string>
@ -225,14 +199,8 @@
<string name="folder">Carpeta</string>
<string name="dont_show_again">No mostrar de nuevo</string>
<string name="add_directory_success">Nuevo directorio de juegos agregado exitosamente</string>
<string name="enable_update_checks">Buscar actualizaciones</string>
<string name="enable_update_checks_description">Comprobar actualizaciones al iniciar, y opcionalmente, descargar e instalar la nueva actualización.</string>
<string name="update_available">Actualización disponible</string>
<string name="update_available_description">Hay una nueva versión disponible: %1$s \n\n¿Quieres descargarla\?</string>
<string name="downloading_update">Descargando actualización</string>
<string name="update_download_failed">Fallo al descargar la actualización</string>
<string name="update_installed_successfully">Actualización instalada con éxito</string>
<string name="update_install_failed">Fallo al instalar la actualización: %1$s</string>
<string name="home_search">Buscar</string>
<string name="home_settings">Ajustes</string>
<string name="empty_gamelist">No se encontraron archivos o aún no se ha seleccionado ningún directorio de juego.</string>
@ -245,52 +213,29 @@
<string name="search_settings">Buscar ajustes</string>
<string name="install_prod_keys">Instalar prod.keys</string>
<string name="install_prod_keys_description">Requerido para descifrar juegos minoristas</string>
<string name="install_prod_keys_warning">¿Omitir añadir las claves\?</string>
<string name="install_prod_keys_warning">¿Omitir agregar claves?</string>
<string name="install_prod_keys_warning_description">Se requieren claves válidas para emular juegos minoristas. Solo las aplicaciones homebrew funcionarán si continúas.</string>
<string name="install_prod_keys_warning_help">https://yuzu-mirror.github.io/help/quickstart/#guide-introduction</string>
<string name="install_firmware_warning">¿Omitir añadir el firmware\?</string>
<string name="emulator_data">Configurar datos del emulador</string>
<string name="emulator_data_description">Las claves son obligatorias para que el emulador funcione y el firmware está recomendado y requerido para usar el applet QLaunch</string>
<string name="permissions">Conceder permisos</string>
<string name="permissions_description">Otorga permisos opcionales para utilizar funciones específicas del emulador</string>
<string name="install_firmware_warning_description">Muchos juegos requieren el acceso al firmware para funcionar correctamente.</string>
<string name="install_firmware_warning">¿Omitir la adición del firmware?</string>
<string name="install_firmware_warning_description">Muchos juegos requieren acceso al firmware para funcionar correctamente.</string>
<string name="install_firmware_warning_help">https://yuzu-mirror.github.io/help/quickstart/#guide-introduction</string>
<string name="notifications">Notificaciones</string>
<string name="notifications_description">Otorga el permiso de notificación con el botón de abajo.</string>
<string name="permission_denied">Permiso denegado</string>
<string name="permission_denied_description">Se ha denegado este permiso demasiadas veces y ahora debes otorgarlo de forma manual en la configuración del sistema.</string>
<string name="about">Acerca de</string>
<string name="about_description">Versión de la compilación, créditos y más</string>
<string name="system_information">Información del sistema</string>
<string name="system_information_description">Ver información detallada del dispositivo</string>
<string name="device_manufacturer">Fabricante</string>
<string name="device_model">Modelo</string>
<string name="product">Producto</string>
<string name="android_version">Versión de android</string>
<string name="android_security_patch">Parche de seguridad</string>
<string name="build_id">ID de la compilación</string>
<string name="general_information">Información general</string>
<string name="hardware">Hardware</string>
<string name="supported_abis">ABIs soportadas</string>
<string name="cpu_info">Información de la CPU</string>
<string name="gpu_information">Información de la GPU</string>
<string name="vulkan_driver_version">Versión del controlador de Vulkan</string>
<string name="error_getting_emulator_info">Error al obtener la información del emulador</string>
<string name="memory_info">Información de la memoria</string>
<string name="total_memory">Memoria total</string>
<string name="soc">SOC:</string>
<string name="about_description">Versión, créditos y más</string>
<string name="warning_help">Ayuda</string>
<string name="warning">Advertencia</string>
<string name="warning_skip">Omitir</string>
<string name="warning_skip">Siguiente</string>
<string name="warning_cancel">Cancelar</string>
<string name="install_amiibo_keys">Instalar claves de Amiibo</string>
<string name="install_amiibo_keys_description">Necesario para usar Amiibos en el juego</string>
<string name="gpu_driver_fetcher">Obtenedor de controladores de la GPU</string>
<string name="gpu_driver_manager">Gestor de controladores de la GPU</string>
<string name="install_gpu_driver_description">Instale los controladores alternativos para obtener un posible mejor rendimiento o precisión</string>
<string name="advanced_settings">Ajustes avanzados</string>
<string name="settings_description">Configurar los ajustes del emulador</string>
<string name="gpu_driver_fetcher">Obtenedor de controladores GPU</string>
<string name="gpu_driver_manager">Explorador de drivers de GPU</string>
<string name="install_gpu_driver_description">Instale drivers alternativos para obtener un rendimiento o una precisión potencialmente mejores</string>
<string name="advanced_settings">Opciones avanzadas</string>
<string name="settings_description">Configurar las opciones del emulador</string>
<string name="search_recently_played">Jugado recientemente</string>
<string name="search_recently_added">Añadido recientemente</string>
<string name="open_user_folder">Abrir la carpeta de Eden</string>
@ -311,28 +256,25 @@
<string name="install_firmware">Instalar firmware</string>
<string name="install_firmware_description">El firmware debe estar en un archivo ZIP y es necesario para ejecutar algunos juegos</string>
<string name="firmware_installing">Instalando firmware</string>
<string name="firmware_installed_failure">Error en la instalación del firmware</string>
<string name="firmware_installed_failure">Error en la instalación de firmware</string>
<string name="firmware_installed_failure_description">Asegúrese de que los archivos nca del firmware estén en la raíz del zip e inténtelo de nuevo.</string>
<string name="firmware_uninstalled_failure">Error al desinstalar el firmware</string>
<string name="share_log">Compartir registros de depuración</string>
<string name="share_log_description">Comparta el archivo de registro de Eden para depurar problemas</string>
<string name="share_log_missing">No se encontró ningún archivo de registro</string>
<string name="share_gpu_log">Compartir registros de la GPU</string>
<string name="share_gpu_log_description">Comparte el archivo de registros de la GPU de Eden para depurar problemas gráficos</string>
<string name="share_gpu_log_missing">No se encontró ningún archivo de registro de la GPU</string>
<string name="install_game_content">Instalar contenido del juego</string>
<string name="install_game_content_description">Instalar actualizaciones o contenidos descargables</string>
<string name="install_game_content">Instalar contenido de juego</string>
<string name="install_game_content_description">Instalar actualizaciones o DLC</string>
<string name="installing_game_content">Instalando contenido...</string>
<string name="install_game_content_failure">Error instalando archivo(s) en la NAND</string>
<string name="install_game_content_failure">Error instalando archivo(s) a la NAND</string>
<string name="install_game_content_failure_description">Asegúrese de que el/los contenido(s) son válidos y que el archivo prod.keys esté instalado.</string>
<string name="install_game_content_failure_base">La instalación de los juegos base no está permitida para así evitar posibles conflictos.</string>
<string name="install_game_content_failed_count">%1$d error(es) de instalación</string>
<string name="install_game_content_success">Contenido(s) de juego instalado/s con éxito</string>
<string name="install_game_content_success_install">%1$d instalado correctamente</string>
<string name="install_game_content_success_overwrite">%1$d sobreescrito correctamente</string>
<string name="install_game_content_success_install">%1$d instalado con éxito</string>
<string name="install_game_content_success_overwrite">%1$d sobreescrito con éxito</string>
<string name="install_game_content_help_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-installed-updates</string>
<string name="custom_driver_not_supported">Controladores personalizados no soportados</string>
<string name="custom_driver_not_supported_description">La carga de controladores personalizados no está disponible para este dispositivo.\n¡Compruebe más adelante si se añadió el soporte a esta opción!</string>
<string name="custom_driver_not_supported">Drivers personalizados no soportados</string>
<string name="custom_driver_not_supported_description">la carga de drivers personalizados no está disponible para este dispositivo..\n¡Comprueba esta opción en el futuro para ver si soporte se a anadido!</string>
<string name="manage_yuzu_data">Administrar datos de Eden</string>
<string name="manage_yuzu_data_description">Importa/exporta el firmware, las claves, los datos de usuario, ¡y más!</string>
<string name="game_folders">Carpetas de juegos</string>
@ -359,34 +301,34 @@
<string name="keys_missing_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-decryption-keys</string>
<string name="uninstall_firmware">Desinstalar firmware</string>
<string name="uninstall_firmware_description">Desinstalar el firmware lo eliminará del dispositivo y puede afectar a la compatibilidad de los juegos.</string>
<string name="uninstall_firmware_description">Desinstalar el firmware lo eliminará del dispositivo y puede afectar la compatibilidad de juegos.</string>
<string name="firmware_uninstalling">Desinstalando firmware...</string>
<string name="firmware_uninstalled_success">Firmware desinstalado correctamente</string>
<string name="keys_failed">Error al instalar las claves</string>
<string name="keys_failed">Error al instalar claves</string>
<string name="keys_install_success">Claves instaladas correctamente</string>
<string name="error_keys_copy_failed">No se pudieron copiar una o más claves.</string>
<string name="error_keys_invalid_filename">Verifique que su archivo de claves tenga extensión .keys e inténtelo de nuevo.</string>
<string name="error_keys_invalid_filename">Verifique que su archivo de claves tenga extensión .keys e intente nuevamente.</string>
<string name="error_keys_failed_init">Error al inicializar las claves. Verifique que sus herramientas de volcado estén actualizadas y vuelva a volcar las claves.</string>
<!-- Applet launcher strings -->
<string name="qlaunch_applet">Qlaunch</string>
<string name="qlaunch_description">Iniciar aplicaciones desde la pantalla de inicio del sistema</string>
<string name="applets">Lanzador de Applet</string>
<string name="applets">Ejecutador de applet</string>
<string name="applets_description">Ejecutar applets de sistema usando el firmware instalado</string>
<string name="applets_error_firmware">El firmware no está instalado</string>
<string name="applets_error_firmware">Firmware no instalado o versión inválida</string>
<string name="applets_error_applet">Applet no disponible</string>
<string name="applets_error_description"><![CDATA[Por favor, asegúrese de que su archivo <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> y el <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> están instalados e inténtelo de nuevo.]]></string>
<string name="applets_error_description"><![CDATA[Por favor, asegúrate de que tu archivo <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> y <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> estén instalados e inténtalo de nuevo.<br>Además, asegúrate de que tu firmware sea de la versión 19.0.1 o anterior.]]></string>
<string name="album_applet">Álbum</string>
<string name="album_applet_description">Ver las imágenes que están en la carpeta screenshots del usuario con el visor de fotos del sistema</string>
<string name="album_applet_description">Ver las imágenes que están en la carpeta \"screenshots\" del usuario con el visor de fotos del sistema</string>
<string name="mii_edit_applet">Editor de Mii</string>
<string name="mii_edit_applet_description">Ver y editar los Miis con el editor del sistema</string>
<string name="mii_edit_applet_description">Mira y edita Mii con el editor del sistema</string>
<string name="cabinet_applet">Cabinet</string>
<string name="cabinet_applet_description">Edita y borra los datos guardado del amiibo</string>
<string name="cabinet_launcher">Ejecutador de Cabinet</string>
<string name="cabinet_nickname_and_owner">Configuración del apodo y propietario</string>
<string name="cabinet_game_data_eraser">Eliminador de datos de juego</string>
<string name="cabinet_game_data_eraser">Borrador de datos de juego</string>
<string name="cabinet_restorer">Restaurador</string>
<string name="cabinet_formatter">Formateador</string>
@ -394,15 +336,15 @@
<string name="gaia_is_not_real">Gaia no es real</string>
<string name="copied_to_clipboard">Copiado al portapapeles</string>
<string name="about_app_description">Un emulador de Switch de código abierto</string>
<string name="contributors">Colaboradores</string>
<string name="contributors_description">Gente que hizo posible Eden para Android</string>
<string name="licenses_description">Proyectos que hacen que Eden para Android sea posible</string>
<string name="build">Compilación</string>
<string name="contributors">Contribuidores</string>
<string name="contributors_description">Hecho con \u2764 del equipo Eden</string>
<string name="licenses_description">Proyectos que hacen que Eden para Android sea una realidad</string>
<string name="build">Versión</string>
<string name="user_data">Datos de usuario</string>
<string name="user_data_description">Importar/exportar todos los datos de la app.\n\nCuando se importa datos de usuario, todos los datos de usuario existentes serán eliminados!\n\nImportando datos de Citron puede causar problemas. Es recomendado manualmente importar todos los datos necesarios.</string>
<string name="exporting_user_data">Exportando datos de usuario...</string>
<string name="importing_user_data">Importando datos de usuario...</string>
<string name="invalid_yuzu_backup">Copia de seguridad de Eden inválida</string>
<string name="invalid_yuzu_backup">Backup de válido</string>
<string name="user_data_export_success">Datos de usuario exportados con éxito</string>
<string name="user_data_import_success">Datos de usuario importados con éxito</string>
<string name="user_data_export_cancelled">Exportación cancelada</string>
@ -412,29 +354,22 @@
<string name="frame_limit_enable_description">Limita la velocidad de emulación a un porcentaje específico de la velocidad normal.</string>
<string name="frame_limit_slider">Limitar porcentaje de velocidad</string>
<string name="frame_limit_slider_description">Especifica el porcentaje para limitar la velocidad de emulación. 100% es la velocidad normal. Valores más altos o bajos incrementarán o disminuirán el límite de velocidad.</string>
<string name="turbo_speed_limit">Velocidad turbo</string>
<string name="turbo_speed_limit_description">Cuando el modo turbo esté activado, la emulación se ejecutará a esta velocidad.</string>
<string name="slow_speed_limit">Velocidad lenta</string>
<string name="slow_speed_limit_description">Cuando el modo lento esté activado, la emulación se ejecutará a esta velocidad.</string>
<string name="cpu_backend">Motor de la CPU</string>
<string name="cpu_accuracy">Precisión de la CPU</string>
<string name="cpu_backend">Motor de CPU</string>
<string name="cpu_accuracy">Precisión de CPU</string>
<string name="value_with_units">%1$s%2$s</string>
<!-- System settings strings -->
<string name="device_name">Nombre del dispositivo</string>
<string name="use_docked_mode">Modo sobremesa</string>
<string name="use_docked_mode_description">Incrementa la resolución al coste de reducir el rendimiento. El modo portátil es usado cuando está desactivado, reduciendo la resolución y mejorando así el rendimiento.</string>
<string name="use_docked_mode">Modo Sobremesa</string>
<string name="use_docked_mode_description">Incrementa la resolución al coste de reducir el rendimiento. El Modo Portátil es usado cuando está desactivado, reduciendo la resolución y mejorando así el rendimiento.</string>
<string name="emulated_region">Región emulada</string>
<string name="emulated_language">Idioma emulado</string>
<string name="select_rtc_date">Seleccionar fecha RTC</string>
<string name="select_rtc_time">Seleccionar tiempo RTC</string>
<string name="use_custom_rtc">RTC personalizado</string>
<string name="use_custom_rtc_description">Le permite tener un reloj personalizado en tiempo real diferente de la hora de su sistema.</string>
<string name="use_custom_rtc_description">Te permite tener un reloj personalizado en tiempo real diferente del tiempo del propio sistema.</string>
<string name="set_custom_rtc">Configurar RTC personalizado</string>
<!-- CPU -->
<string name="fast_cpu_time">Overclock de la CPU</string>
<string name="fast_cpu_time_description">Fuerza a la CPU emulada a ejecutarser a una velocidad de reloj más alta, lo cual reduce ciertos limitadores de fotogramas por segundo. Usa Boost (1700 MHz) para ejecutar a la velocidad de reloj nativa más alta de la Switch, o Fast (2000 MHz) para ejecutar a una velocidad doble de reloj.</string>
<string name="custom_cpu_ticks">Ticks de CPU personalizados</string>
<string name="custom_cpu_ticks_description">Establezca un valor personalizado de los ciclos de la CPU. Los valores más altos pueden aumentar el rendimiento, pero también pueden hacer que el juego se congele. Se recomienda un rango de 7721000.</string>
<string name="cpu_ticks">Ciclos</string>
@ -444,138 +379,78 @@
<string name="generate">Generar</string>
<!-- Network settings strings -->
<string name="web_token">Identificador web</string>
<string name="web_token_description">El identificador web se usa para crear salas públicas. Es una cadena de 48 caracteres que solo contiene letras minúsculas a-z.</string>
<string name="web_token">Token web</string>
<string name="web_token_description">Token web utilizado para crear salas públicas. Es una cadena de 48 caracteres que solo contiene letras minúsculas a-z.</string>
<string name="web_username">Nombre de usuario web</string>
<string name="web_username_description">Nombre de usuario que se mostrará en las salas multijugador. Debe tener entre 420 caracteres y contener solo caracteres alfanuméricos, guiones, puntos, barra bajas y espacios.</string>
<string name="web_username_description">Nombre de usuario que se mostrará en las salas multijugador. Debe tener entre 420 caracteres y contener solo caracteres alfanuméricos, guiones, puntos, guiones bajos y espacios.</string>
<string name="network">Red</string>
<!-- Graphics settings strings -->
<string name="renderer_resolution">Resolución (Portátil/Sobremesa)</string>
<string name="renderer_vsync">Modo de sincronización vertical</string>
<string name="renderer_vsync">Modo VSync</string>
<string name="renderer_scaling_filter">Filtro de adaptación de ventana</string>
<string name="fsr_sharpness">Nitidez FSR</string>
<string name="fsr_sharpness_description">Ajusta la intensidad del filtro de enfoque al usar el contraste dinámico de FSR.</string>
<string name="renderer_anti_aliasing">Método de suavizado de bordes</string>
<string name="renderer_optimize_spirv_output">Optimizar la salida de SPIRV</string>
<string name="renderer_optimize_spirv_output_description">Optimiza los sombreadores compilados para mejorar la eficiencia de la GPU.</string>
<string name="renderer_anti_aliasing">Método anti-aliasing</string>
<string name="renderer_optimize_spirv_output_description">Optimiza el sombreador compilado para mejorar la eficiencia de la GPU.</string>
<string name="advanced">Avanzado</string>
<string name="renderer_accuracy">Modo de la GPU</string>
<string name="renderer_accuracy_description">Controla el modo de la emulación de la GPU. La mayoría de los juegos se renderizan correctamente en los modos Rápido o Equilibrado, pero algunos requieren Preciso. Las partículas tienden a renderizarse correctamente solo con el modo Preciso.</string>
<string name="dma_accuracy">Precisión de DMA</string>
<string name="dma_accuracy_description">Controla la precisión de DMA. La precisión segura puede solucionar problemas en algunos juegos, pero también puede afectar al rendimiento en algunos casos. Si no está seguro, déjelo en Predeterminado.</string>
<string name="frame_pacing_mode">Modo de ritmo de fotogramas</string>
<string name="frame_pacing_mode_description">Controla cómo el emulador gestiona el ritmo de los fotogramas para reducir los tirones y hacer que la velocidad de los fotogramas sea más suave y consistente.</string>
<string name="anisotropic_filtering">Filtrado anisotrópico</string>
<string name="anisotropic_filtering_description">Mejora la calidad de las texturas al ser observadas desde ángulos oblicuos</string>
<string name="vram_usage_mode">Modo de uso de VRAM</string>
<string name="vram_usage_mode_description">Controla con qué agresividad el emulador asigna y libera la memoria de la GPU.</string>
<string name="vram_usage_mode_description">Controlar asignación de memoria GPU</string>
<string name="accelerate_astc">Método de decodificación ASTC</string>
<string name="accelerate_astc_description">Elija cómo se descodifican las texturas comprimidas ASTC para el renderizado: CPU (lento, seguro), GPU (rápido, recomendado) o CPU Async (sin tirones, puede causar problemas)</string>
<string name="accelerate_astc_description">Elige cómo se decodifican las texturas comprimidas ASTC para el renderizado: CPU (lento, seguro), GPU (rápido, recomendado) o CPU Async (sin tartamudeos, puede causar problemas)</string>
<string name="astc_recompression">Método de recompresión ASTC</string>
<string name="astc_recompression_description">Elija cómo se recomprimen las texturas ASTC para mejorar la compatibilidad y el rendimiento. Habilitar esta opción ahorra VRAM pero puede reducir la calidad de las texturas.</string>
<string name="astc_recompression_description">Elige cómo se recomprimen las texturas ASTC para mejorar la compatibilidad y el rendimiento. Habilitar esta opción ahorra VRAM pero puede reducir la calidad de las texturas.</string>
<string name="sync_memory_operations">Sincronizar operaciones de memoria</string>
<string name="sync_memory_operations_description">Garantiza la consistencia de los datos entre las operaciones de computación y memoria. Esta opción debería solucionar problemas en algunos juegos, pero también puede reducir el rendimiento en algunos casos. Los juegos de Unreal Engine 4 a menudo ven los cambios más significativos de los mismos.</string>
<string name="use_disk_shader_cache">Caché de sombreadores en el disco</string>
<string name="use_disk_shader_cache_description">Reduce los tirones almacenando y cargando los sombreadores generados.</string>
<string name="use_disk_shader_cache">Caché de shaders en disco</string>
<string name="use_disk_shader_cache_description">Reduce los parones almacenando y cargando shaders generados.</string>
<string name="renderer_force_max_clock">Forzar velocidad al máximo (solo Adreno)</string>
<string name="renderer_force_max_clock_description">Fuerza a la GPU a ejecutarse a la velocidad máxima de reloj posible (se seguirán aplicando restricciones térmicas).</string>
<string name="renderer_reactive_flushing">Usar limpieza reactiva</string>
<string name="renderer_reactive_flushing_description">Mejora la precisión de renderizado en algunos juegos, pero reduce el rendimiento.</string>
<string name="enable_buffer_history">Activar el historial del búfer</string>
<string name="enable_buffer_history_description">Permite el acceso al estado del búfer anterior. Esta opción puede mejorar la calidad de renderizado y la consistencia en el rendimiento de algunos juegos.</string>
<string name="use_optimized_vertex_buffers">Búferes de vértices optimizados</string>
<string name="use_optimized_vertex_buffers_description">Permite la vinculación optimizada del búfer de vértices para un mejor rendimiento. Requiere controladores de Mesa 26.0+ Turnip. Se producirán fallos en controladores más antiguos.</string>
<string name="hacks">Hacks</string>
<string name="fast_gpu_time">Tiempo rápido de la GPU</string>
<string name="fast_gpu_time_description">Fuerza a la mayoría de los juegos a ejecutarse a su resolución nativa más alta. Usa 256 para un máximo rendimiento y 512 para una fidelidad gráfica óptima.</string>
<string name="skip_cpu_inner_invalidation">Omitir invalidación interna de la CPU</string>
<string name="skip_cpu_inner_invalidation_description">Omite ciertas invalidaciones de caché de la CPU durante las actualizaciones de memoria, lo que reduce el uso de la CPU y mejora su rendimiento. Esto puede causar fallos o bloqueos en algunos juegos.</string>
<string name="fix_bloom_effects">Arreglar los efectos de resplandor</string>
<string name="fix_bloom_effects_description">Reduce el efecto de resplandor en LA/EOW (Adreno 700), elimina el resplandor en Burnout. Advertencia: puede causar artefactos gráficos en otros juegos.</string>
<string name="renderer_asynchronous_shaders">Usar sombreadores asíncronos</string>
<string name="renderer_asynchronous_shaders_description">Compila los sombreadores de forma asíncrona. Esto puede reducir los tirones, pero también puede introducir errores gráficos.</string>
<string name="gpu_unswizzle_settings">Ajustes de desentrelazado de la GPU</string>
<string name="gpu_unswizzle_settings_description">Configura los parámetros de desentrelazado de texturas basadas en la GPU o desactívelos por completo. Modifique estos ajustes para equilibrar el rendimiento y la calidad de las texturas cargadas.</string>
<string name="gpu_unswizzle_enable">Activar desentrelazado de la GPU</string>
<string name="gpu_unswizzle_disabled">Desactivado</string>
<string name="gpu_unswizzle_texture_size">Tamaño máximo de textura de desentrelazado de la GPU</string>
<string name="gpu_unswizzle_texture_size_description">Establece el tamaño máximo (en MB) para el desentrelazado de texturas basada en GPU. Aunque la GPU es más rápida para texturas medianas y grandes, la CPU puede ser más eficiente para texturas muy pequeñas. Ajuste este valor para encontrar el equilibrio entre la aceleración de la GPU y la sobrecarga de la CPU.</string>
<string name="gpu_unswizzle_stream_size">Tamaño del flujo de desentrelazado de la GPU</string>
<string name="gpu_unswizzle_stream_size_description">Establece el límite de datos por fotograma para desentrelazar texturas grandes. Los valores altos aceleran la carga de texturas, a coste de una mayor latencia por fotograma; los valores bajos reducen la carga de la GPU, pero pueden causar parpadeos visibles en las texturas.</string>
<string name="gpu_unswizzle_chunk_size">Tamaño del trozo de desentrelazado de la GPU</string>
<string name="gpu_unswizzle_chunk_size_description">Determina la cantidad de cortes de profundidad procesados en un solo envío de texturas 3D. Aumentar este valor puede mejorar el rendimiento en una GPU de gama alta, pero puede causar tirones y problemas en los tiempos de respuesta en hardware más modesto.</string>
<string name="gpu_unswizzle_default_button">Por defecto</string>
<string name="extensions">Extensiones</string>
<string name="renderer_asynchronous_shaders">Usar shaders asíncronos</string>
<string name="renderer_asynchronous_shaders_description">Compila los shaders de forma asíncrona. Esto puede reducir los tirones, pero también puede introducir errores gráficos.</string>
<string name="dyna_state">Estado dinámico extendido</string>
<string name="dyna_state_description">Controla la cantidad de funciones que se pueden usar en el Estado Dinámico Extendido. Un número mayor permite más funciones y puede aumentar el rendimiento, pero puede causar problemas con algunos controladores y proveedores.</string>
<string name="disabled">Desactivado</string>
<string name="vertex_input_dynamic_state">Estado dinámico de entrada de vértices</string>
<string name="vertex_input_dynamic_state_description">Activa la función de estado dinámico de entrada de vértices para una mejor calidad y rendimiento.</string>
<string name="provoking_vertex">Vértice provocante</string>
<string name="provoking_vertex_description">Mejora la iluminación y el manejo de vértices en ciertos juegos. Solo es compatible con las GPU Vulkan 1.0+.</string>
<string name="descriptor_indexing">Indexación del descriptor</string>
<string name="descriptor_indexing_description">Mejora la textura y el manejo del búfer, así como la capa de traducción Maxwell. Compatible con algunas GPU Vulkan 1.1 y todas las GPU Vulkan 1.2+.</string>
<string name="sample_shading_fraction">Muestreo de sombreado</string>
<string name="sample_shading_fraction_description">Permite que el sombreador de fragmentos se ejecute por muestra en un fragmento multimuestreado, en lugar de una sola vez por fragmento. Mejora la calidad de los gráficos a coste de algo de rendimiento.</string>
<string name="display">Pantalla</string>
<string name="renderer_screen_layout">Orientación</string>
<string name="renderer_aspect_ratio">Relación de aspecto</string>
<string name="vertical_alignment">Alineación vertical</string>
<string name="picture_in_picture">Picture in Picture</string>
<string name="picture_in_picture_description">Minimizar la ventana cuando esté en segundo plano</string>
<string name="picture_in_picture_description">Minimizar ventana cuando esté en segundo plano</string>
<string name="warning_resolution">Escalar la resolución a 2x o más puede causar problemas y ralentizar significativamente su dispositivo.</string>
<string name="warning_resolution">Escalar la resolución a 2x o más puede causar problemas y ralentizar significativamente tu dispositivo.</string>
<!-- Debug settings strings -->
<string name="cpu">CPU</string>
<string name="use_auto_stub">Usar Auto Stub</string>
<string name="use_auto_stub_description">Rellena automáticamente servicios y funciones ausentes. Puede mejorar la compatibilidad pero puede causar cierres inesperados.</string>
<string name="use_auto_stub_description">Rellena automáticamente servicios y funciones faltantes. Puede mejorar compatibilidad pero causar cierres inesperados.</string>
<string name="gpu">GPU</string>
<string name="renderer_api">API</string>
<string name="renderer_debug">Depuración de gráficos</string>
<string name="renderer_debug_description">Configura la API gráfica a un modo de depuración lento.</string>
<string name="patch_old_qcom_drivers">Parcheado de textura BCn</string>
<string name="patch_old_qcom_drivers_description">Anular la detección automática del formato de textura BCn en las GPU Adreno. Normalmente se detectan automáticamente según la versión de Android (activado en la API 28+). </string>
<string name="fastmem">Fastmem</string>
<string name="log">Registro</string>
<string name="flush_by_line">Vaciar los registros de depuración por línea</string>
<string name="flush_by_line">Vaciar registros de depuración por línea</string>
<string name="flush_by_line_description">Vacía los registros de depuración en cada línea escrita, facilitando la depuración en casos de bloqueos o congelamientos.</string>
<!-- GPU Logging strings -->
<string name="gpu_logging_header">Registros de la GPU</string>
<string name="gpu_logging_enabled">Activar los registros de la GPU</string>
<string name="gpu_logging_enabled_description">Registra las operaciones de la GPU en eden_gpu.log para la depuración de los controladores de Adreno</string>
<string name="gpu_log_level">Nivel de registros</string>
<string name="gpu_log_level_description">Nivel de detalle de los registros de la GPU (más alto = más detalles, más sobrecarga)</string>
<string name="gpu_log_vulkan_calls">Registros de llamadas del API de Vulkan</string>
<string name="gpu_log_vulkan_calls_description">Rastrear todas las llamadas del API de Vulkan en el búfer circular</string>
<string name="gpu_log_shader_dumps">Volcar sombreadores</string>
<string name="gpu_log_shader_dumps_description">Guardar sombreadores compilados de SPIR-V en archivos</string>
<string name="gpu_log_memory_tracking">Rastrear memoria de la GPU</string>
<string name="gpu_log_memory_tracking_description">Monitorizar las asignaciones y desasignaciones de memoria de la GPU</string>
<string name="gpu_log_driver_debug">Información de depuración del controlador</string>
<string name="gpu_log_driver_debug_description">Capturar la información de depuración específica del controlador (Turnip breadcrumbs, etc.)</string>
<string name="gpu_log_ring_buffer_size">Tamaño del búfer circular</string>
<string name="gpu_log_ring_buffer_size_description">Número de llamadas recientes de Vulkan para rastrear (por defecto: 512)</string>
<string name="gpu_log_ring_buffer_size_hint">64 a 4096 entradas</string>
<string name="general">General</string>
<!-- Audio settings strings -->
<string name="audio_output_engine">Motor de salida</string>
<string name="audio_volume">Volumen</string>
@ -596,7 +471,7 @@
<string name="left_stick">Palanca izquierda</string>
<string name="control_stick">Palanca de control</string>
<string name="right_stick">Palanca derecha</string>
<string name="c_stick">Palanca-C</string>
<string name="c_stick">C-Stick</string>
<string name="pressed">Presionado</string>
<string name="range">Rango</string>
<string name="deadzone">Zona muerta</string>
@ -615,18 +490,18 @@
<string name="qualified_button">%1$s%2$s%3$sBotón %4$s</string>
<string name="qualified_axis">Eje %1$s%2$s</string>
<string name="unused">Sin usar</string>
<string name="input_mapping_filter">Filtro de asignación de entrada</string>
<string name="input_mapping_filter_description">Seleccione un dispositivo para filtrar las entradas de asignación</string>
<string name="auto_map">Asignar automáticamente el mando</string>
<string name="auto_map_description">Seleccione un dispositivo para intentar la asignación automática</string>
<string name="attempted_auto_map">Intento de asignación automática con %1$s</string>
<string name="input_mapping_filter">Filtro de mapeo de entrada</string>
<string name="input_mapping_filter_description">Selecciona un dispositivo para filtrar las entradas de mapeo</string>
<string name="auto_map">Mapear automáticamente un mando</string>
<string name="auto_map_description">Selecciona un dispositivo para intentar el mapeo automático</string>
<string name="attempted_auto_map">Intento de mapeo automático con %1$s</string>
<string name="controller_type">Tipo de mando</string>
<string name="pro_controller">Mando Pro</string>
<string name="pro_controller">Controlador Pro</string>
<string name="handheld">Portátil</string>
<string name="dual_joycons">Joycons duales</string>
<string name="left_joycon">Joycon izquierdo</string>
<string name="right_joycon">Joycon derecho</string>
<string name="gamecube_controller">Mando de GameCube</string>
<string name="gamecube_controller">Controlador de GameCube</string>
<string name="invert_axis">Invertir ejes</string>
<string name="invert_button">Invertir botón</string>
<string name="toggle_button">Alternar botón</string>
@ -637,19 +512,19 @@
<string name="use_system_vibrator">Usar vibración del sistema</string>
<string name="input_overlay">Superposición de entrada</string>
<string name="vibration">Vibración</string>
<string name="vibration_strength">Intensidad de la vibración</string>
<string name="vibration_strength">Intensidad de vibración</string>
<string name="profile">Perfil</string>
<string name="create_new_profile">Crear nuevo perfil</string>
<string name="enter_profile_name">Introduzca el nombre del perfil</string>
<string name="enter_profile_name">Introduce el nombre del perfil</string>
<string name="profile_name_already_exists">El nombre de perfil ya existe</string>
<string name="invalid_profile_name">Nombre de perfil inválido</string>
<string name="use_global_input_configuration">Utilizar la configuración global de entrada</string>
<string name="player_num_profile">Perfil del jugador %d</string>
<string name="delete_input_profile">Eliminar perfil de entrada</string>
<string name="delete_input_profile_description">¿Está seguro de que desea eliminar este perfil\? Esta acción es irreversible.</string>
<string name="stick_map_description">Mueva una palanca hacia la izquierda y luego hacia arriba o presione un botón</string>
<string name="button_map_description">Pulse un botón o mueva un gatillo/palanca</string>
<string name="map_dpad_direction">Asignar a cruceta %1$s</string>
<string name="delete_input_profile_description">¿Estás seguro de que deseas eliminar este perfil\? Esta acción es irreversible.</string>
<string name="stick_map_description">Mueve un palo hacia la izquierda y luego hacia arriba o presiona un botón</string>
<string name="button_map_description">Pulsa un botón o mueve un gatillo/joystick.</string>
<string name="map_dpad_direction">Mapea a D-Pad%1$s</string>
<string name="map_control">Asignar a %1$s</string>
<string name="failed_to_load_profile">Error al cargar el perfil</string>
<string name="failed_to_save_profile">Error al guardar el perfil</string>
@ -658,7 +533,6 @@
<!-- Miscellaneous -->
<string name="slider_default">Predeterminado</string>
<string name="default_string">Predeterminado</string>
<string name="loading">Cargando...</string>
<string name="shutting_down">Saliendo...</string>
<string name="reset_setting_confirmation">¿Desea restablecer esta configuración a su valor predeterminado?</string>
@ -671,7 +545,7 @@
<string name="learn_more">Saber más</string>
<string name="auto">Auto</string>
<string name="submit">Enviar</string>
<string name="string_null">Nulo</string>
<string name="string_null">Null</string>
<string name="string_import">Importar</string>
<string name="export">Exportar</string>
<string name="export_failed">La exportación falló</string>
@ -695,11 +569,10 @@
<!-- GPU driver installation -->
<string name="select_gpu_driver_default">Predeterminado</string>
<string name="select_gpu_driver_error">Seleccionado controlador inválido</string>
<string name="driver_already_installed">Controlador ya instalado</string>
<string name="installed_label">%1$s (Instalado)</string>
<string name="system_gpu_driver">Controlador de la GPU del sistema</string>
<string name="installing_driver">Instalando controlador...</string>
<string name="select_gpu_driver_error">Driver no válido seleccionado</string>
<string name="driver_already_installed">Driver ya instalado</string>
<string name="system_gpu_driver">Driver GPU del sistema</string>
<string name="installing_driver">Instalando driver...</string>
<!-- GPU driver fetcher -->
<string name="show_releases">Mostrar versiones</string>
@ -711,54 +584,28 @@
<string name="empty_response_body">Respuesta vacía</string>
<string name="successfully_installed">%1$s instalado correctamente</string>
<string name="driver_failed_title">Error al instalar el controlador</string>
<string name="failed_install_driver">Error al instalar el controlador %1$s, ¿su sistema lo soporta\?</string>
<string name="driver_empty">El controlador descargado está vacío, compruebe su conexión a Internet</string>
<string name="failed_install_driver">Error al instalar el controlador %1$s, ¿tu sistema lo soporta?</string>
<string name="driver_empty">El controlador descargado está vacío, comprueba tu conexión a Internet</string>
<string name="downloading">Descargando…</string>
<string name="installing">Instalando…</string>
<string name="latest">Última</string>
<string name="recommended_driver">Controlador recomendado:</string>
<string name="gpu_model">Modelo de la GPU</string>
<string name="unsupported_gpu">GPU no soportada</string>
<string name="unsupported_gpu_warning">Su GPU no soporta la inyección de controladores. No se recomienda configurar controladores personalizados.</string>
<string name="unsupported_gpu_warning">Tu GPU no soporta la inyección de controladores. No se recomienda configurar controladores personalizados.</string>
<!-- Preferences Screen -->
<string name="preferences_settings">Ajustes</string>
<string name="preferences_system">Sistema</string>
<string name="preferences_system_description">Modo sobremesa, región, idioma</string>
<string name="preferences_system_description">Modo en Dock, región, idioma</string>
<string name="preferences_graphics">Gráficos</string>
<string name="preferences_graphics_description">Nivel de precisión, resolución, caché de shaders</string>
<string name="quick_settings">Ajustes rápidos</string>
<string name="enable_quick_settings">Activar ajustes rápidos</string>
<string name="enable_quick_settings_description">Permite el acceso al menú de los ajustes rápidos mediante deslizamiento y el botón de menú</string>
<string name="preferences_audio">Audio</string>
<string name="preferences_audio_description">Motor de salida, volumen</string>
<string name="preferences_controls">Controles</string>
<string name="preferences_controls_description">Asignar entradas del mando</string>
<string name="preferences_player">Jugador %d</string>
<string name="preferences_debug">Depuración</string>
<string name="preferences_debug_description">Depuración de CPU/GPU, API gráfica, fastmem</string>
<string name="preferences_custom_paths">Rutas personalizadas</string>
<string name="preferences_custom_paths_description">Directorio de los datos de guardado</string>
<!-- Custom Paths settings -->
<string name="custom_save_directory">Directorio de los datos de guardado</string>
<string name="custom_save_directory_description">Establecer una ruta personalizada para el almacenamiento de los datos de guardado</string>
<string name="reset_to_nand">Restaurar valores predeterminados</string>
<string name="migrate_save_data">Migrar datos de guardado</string>
<string name="migrate_save_data_question">¿Desea migrar los datos de guardado existentes a la nueva ubicación\?</string>
<string name="save_migration_complete">Datos de guardado migrados con éxito</string>
<string name="save_migration_failed">Fallo al migrar los datos de guardado</string>
<string name="save_directory_set">Directorio de guardado establecido</string>
<string name="destination_has_saves"> El destino ya contiene datos. ¿Desea sobrescribirlos\?</string>
<string name="all_files_permission_required">El permiso para acceder a todos los archivos es obligatorio para establecer rutas personalizadas</string>
<string name="grant_permission">Conceder permiso</string>
<string name="custom_nand_directory">Directorio NAND</string>
<string name="custom_nand_directory_description">Establecer una ruta personalizada para el almacenamiento NAND</string>
<string name="custom_sdmc_directory">Directorio de la tarjeta SD</string>
<string name="custom_sdmc_directory_description">Establecer una ruta personalizada para el almacenamiento de la tarjeta SD virtual</string>
<string name="path_set">Ruta establecida con éxito</string>
<string name="skip_migration">Saltar</string>
<string name="preferences_debug_description">CPU/GPU debug, API gráfica, fastMEM</string>
<!-- Game properties -->
<string name="info">Información</string>
<string name="info_description">ID de programa, desarrollador, versión</string>
@ -766,13 +613,12 @@
<string name="per_game_settings_description">Editar opciones específicas para este juego</string>
<string name="launch_options">Ejecutar configuración</string>
<string name="path">Ruta</string>
<string name="program_id">ID del programa</string>
<string name="program_id">ID de programa</string>
<string name="developer">Desarrollador</string>
<string name="version">Versión</string>
<string name="copy_details">Copiar detalles</string>
<string name="add_ons">Extras/Add-ons</string>
<string name="add_ons_description">Activa/desactiva mods, actualizaciones y contenidos descargables</string>
<string name="playtime">Tiempo jugado:</string>
<string name="add_ons_description">Activa/desactiva mods, actualizaciones y DLC</string>
<string name="reset_playtime">Borrar tiempo de juego</string>
<string name="reset_playtime_description">Restablecer el tiempo de juego actual a 0 segundos</string>
<string name="reset_playtime_warning_description">Esto borrará los datos de tiempo de juego actual. ¿Estás seguro\?</string>
@ -780,19 +626,14 @@
<string name="edit_playtime">Editar tiempo de juego</string>
<string name="hours">Horas</string>
<string name="minutes">Minutos</string>
<string name="hours_abbr">h</string>
<string name="minutes_abbr">m</string>
<string name="seconds_abbr">s</string>
<string name="hours_must_be_between_0_and_9999">Las horas deben estar entre 0 y 9999</string>
<string name="minutes_must_be_between_0_and_59">Los minutos deben estar entre 0 y 59</string>
<string name="seconds_must_be_between_0_and_59">Los segundos deben estar entre 0 y 59</string>
<string name="playtime_updated_successfully">Tiempo de juego actualizado exitosamente</string>
<string name="clear_shader_cache">Limpiar la caché de sombreadores</string>
<string name="clear_shader_cache_description">Elimina todos los sombreadores construidos mientras se juega al juego</string>
<string name="clear_shader_cache_warning_description">Experimentará más tirones mientras se regenera la caché de los sombreadores</string>
<string name="cleared_shaders_successfully">Sombreadores limpiados con éxito</string>
<string name="driver_shader_wipe_dialog_title">Sombreadores limpiados</string>
<string name="driver_shader_wipe_dialog_message">Eden ha limpiado automáticamente todos los sombreadores guardados para mantener la canalización de Vulkan válida. Esto es esencial al cambiar o actualizar los controladores de la GPU para prevenir errores y fallos gráficos. Es posible que experimente algunas interrupciones durante la reconstrucción de los sombreadores.</string>
<string name="clear_shader_cache">Limpiar la caché de shaders</string>
<string name="clear_shader_cache_description">Elimina todos los shaders construidos mientras se jugaba al juego</string>
<string name="clear_shader_cache_warning_description">Experimentarás más parones mientras que la caché de shaders se regenera</string>
<string name="cleared_shaders_successfully">Shaders limpiados con éxito</string>
<string name="addons_game">Addons: %1$s</string>
<string name="save_data">Datos de guardado</string>
<string name="save_data_description">Controla los datos de guardado de este juego</string>
@ -801,11 +642,11 @@
<string name="delete_save_data_warning_description">Ésto elimina de manera permanente todos los datos de guardado de este juego. ¿Seguro que quieres continuar?</string>
<string name="save_data_deleted_successfully">Datos de guardado eliminados con éxito</string>
<string name="select_content_type">Tipo de contenido</string>
<string name="updates_and_dlc">Actualizaciones y contenido descargable</string>
<string name="updates_and_dlc">Actualizaciones y DLC</string>
<string name="mods_and_cheats">Mods y trucos</string>
<string name="addon_notice">Aviso importante de addons</string>
<!-- \"cheats/" "romfs/" and \"exefs/ should not be translated -->
<string name="addon_notice_description">Para instalar mods y trucos, debe seleccionar una carpeta que contenga los directorios cheats/, romfs/, o exefs/ . ¡No podemos confirmar si éstos serán compatibles con su juego, así que tenga cuidado!</string>
<string name="addon_notice_description">Para instalar mods y trucos, debes seleccionar una carpeta que contiene los directorios cheats/, romfs/, o exefs/ . ¡No podemos confirmar si éstos serán compatibles con tu juego, así que ten cuidado!</string>
<string name="invalid_directory">Directorio no válido</string>
<!-- \"cheats/" "romfs/" and \"exefs/ should not be translated -->
<string name="invalid_directory_description">Por favor, asegúrese de que el directorio que ha selecionado incluye las carpetas cheats/, romfs/, o exefs/ e inténtelo de nuevo.</string>
@ -816,7 +657,6 @@
<string name="confirm_uninstall">Confirmar desinstalación</string>
<string name="confirm_uninstall_description">¿De verdad quieres desinstalar este addon?</string>
<string name="verify_integrity">Verificar integridad</string>
<string name="verifying">Verificando...</string>
<string name="verify_success">¡La verificación de integridad ha sido un éxito!</string>
<string name="verify_failure">¡Verificación de integridad fallida!</string>
<string name="verify_failure_description">Los contenidos del archivo pueden estar corruptos</string>
@ -833,7 +673,7 @@
<string name="loader_error_encrypted_roms_description"><![CDATA[Siga las guías para volver a volcar sus <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-physical-titles-game-cards\">tarjetas de juego</a> o <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-digital-titles-eshop\">títulos digitales</a>.]]></string>
<string name="loader_error_encrypted_keys_description"><![CDATA[Por favor, compruebe que su archivo <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean descifrados.]]></string>
<string name="loader_error_video_core">Ocurrió un error al inicializar el núcleo de video, posiblemente debido a una incompatibilidad con el driver seleccionado</string>
<string name="loader_error_video_core_description">Esto suele deberse a un controlador de la GPU incompatible. La instalación de un controlador de la GPU personalizado puede resolver este problema.</string>
<string name="loader_error_video_core_description">Esto suele deberse a un driver de GPU incompatible. La instalación de un controlador de GPU personalizado puede resolver este problema.</string>
<string name="loader_error_file_not_found">Archivo ROM no existe</string>
<string name="loader_requires_firmware">El juego requiere firmware</string>
@ -866,10 +706,10 @@
<!-- Driver strings -->
<string name="driver_not_found">Controlador requerido no instalado: %s</string>
<string name="invalid_driver_file">Archivo del controlador inválido: %s</string>
<string name="invalid_driver_file">Archivo de controlador no válido: %s</string>
<string name="network_unavailable">No hay conexión de red disponible. Por favor, compruebe su conexión a Internet e inténtelo de nuevo.</string>
<string name="driver_missing_title">Se requiere un controlador de la GPU</string>
<string name="driver_missing_message">La configuración del juego requiere el controlador de la GPU \"%s\" que no está instalado en su dispositivo\".\n¿Lo quiere descargar e instalar ahora\?</string>
<string name="driver_missing_title">Se requiere controlador de GPU</string>
<string name="driver_missing_message">La configuración del juego requiere el driver de GPU \"%s\" que no está instalado en su dispositivo\".\n¿Quieres descargarlo e instalarlo ahora\?</string>
<string name="driver_download_cancelled">Descarga del controlador cancelada. El juego no se puede iniciar sin el controlador requerido.</string>
<string name="download">Descargar</string>
@ -880,34 +720,22 @@
<string name="emulation_rel_stick_center">Centro relativo del stick</string>
<string name="emulation_dpad_slide">Deslizamiento de la cruceta</string>
<string name="emulation_haptics">Toques hápticos</string>
<string name="emulation_show_overlay">Mostrar mando</string>
<string name="emulation_hide_overlay">Ocultar mando</string>
<string name="emulation_show_overlay">Mostrar controlador</string>
<string name="emulation_hide_overlay">Ocultar controlador</string>
<string name="emulation_toggle_all">Alternar todo</string>
<string name="emulation_control_adjust">Ajustar superposición</string>
<string name="emulation_control_adjust">Ajustar overlay</string>
<string name="emulation_control_scale">Escala</string>
<string name="emulation_control_opacity">Opacidad</string>
<string name="emulation_touch_overlay_reset">Reiniciar superposición</string>
<string name="emulation_touch_overlay_edit">Editar superposición</string>
<string name="emulation_snap_to_grid">Ajustar a la cuadrícula</string>
<string name="emulation_touch_overlay_reset">Reiniciar overlay</string>
<string name="emulation_touch_overlay_edit">Editar overlay</string>
<string name="emulation_pause">Pausar emulación</string>
<string name="emulation_unpause">Despausar emulación</string>
<string name="emulation_input_overlay">Opciones de overlay</string>
<string name="load_amiibo">Cargar Amiibo</string>
<string name="touchscreen">Pantalla táctil</string>
<string name="lock_drawer">Bloquear menú cajón</string>
<string name="unlock_drawer">Desbloquear menú cajón</string>
<string name="reset">Reiniciar</string>
<!-- Amiibo -->
<string name="amiibo_title">Amiibo</string>
<string name="amiibo_removed_message">El amiibo actual fue borrado</string>
<string name="amiibo_wrong_state">El juego actual no está buscando amiibos</string>
<string name="amiibo_not_valid">El archivo seleccionado no es un amiibo válido</string>
<string name="amiibo_in_use">El archivo seleccionado ya se encuentra en uso.</string>
<string name="amiibo_unknown_error">Ha ocurrido un error desconocido</string>
<string name="amiibo_load_success">Amiibo cargado</string>
<!-- Software keyboard -->
<string name="software_keyboard">Teclado de software</string>
@ -915,18 +743,18 @@
<string name="abort_button">Abortar</string>
<string name="continue_button">Continuar</string>
<string name="system_archive_not_found">Archivo del sistema no encontrado</string>
<string name="system_archive_not_found_message">%sestá ausente. Por favor vacíe los archivos del sistema.\nContinuar con la emulación podría provocar fallos.</string>
<string name="system_archive_not_found_message">%sfalta. Por favor vacíe los archivos del sistema.\nContinuar con la emulación podría provocar fallos.</string>
<string name="system_archive_general">Un archivo del sistema</string>
<string name="save_load_error">Error de guardado/carga</string>
<string name="save_load_error">Error de Guardado/Carga</string>
<string name="fatal_error">Error fatal</string>
<string name="fatal_error_message">Se ha producido un error fatal. Consulta el registro para obtener más información.\nContinuar con la emulación podría provocar fallos.</string>
<string name="device_memory_inadequate">RAM del dispositivo: %1$s\nRecomendada: %2$s</string>
<string name="device_memory_inadequate">RAM de dispositivo: %1$s\nRecomendado: %2$s</string>
<string name="memory_formatted">%1$s %2$s</string>
<string name="no_game_present">¡No hay ningún juego ejecutable presente!</string>
<!-- Region Names -->
<string name="region_japan">Japón</string>
<string name="region_usa">EE. UU.</string>
<string name="region_usa">EEUU</string>
<string name="region_europe">Europa</string>
<string name="region_australia">Australia</string>
<string name="region_china">China</string>
@ -939,35 +767,9 @@
<string name="memory_8gb">8GB (Inseguro)</string>
<!--CPU clock speeds-->
<string name="clock_boost">Impulsado (1700MHz)</string>
<string name="clock_boost">Boost (1700MHz)</string>
<string name="clock_fast">Rápido (2000MHz)</string>
<!-- GPU overclock factors -->
<string name="off">Desactivado</string>
<string name="fast_gpu_medium">Medio (256)</string>
<string name="fast_gpu_high">Alto (512)</string>
<!-- GPU swizzle texture size -->
<string name="gpu_texturesizeswizzle_verysmall">Muy pequeño (16 MB)</string>
<string name="gpu_texturesizeswizzle_small">Pequeño (32 MB)</string>
<string name="gpu_texturesizeswizzle_normal">Normal (128 MB)</string>
<string name="gpu_texturesizeswizzle_large">Grande (256 MB)</string>
<string name="gpu_texturesizeswizzle_verylarge">Muy grande (512 MB)</string>
<!-- GPU swizzle streams -->
<string name="gpu_swizzle_verylow">Muy bajo (4 MB)</string>
<string name="gpu_swizzle_low">Bajo (8 MB)</string>
<string name="gpu_swizzle_normal">Normal (16 MB)</string>
<string name="gpu_swizzle_medium">Medio (32 MB)</string>
<string name="gpu_swizzle_high">Alto (64 MB)</string>
<!-- GPU swizzle chunks -->
<string name="gpu_swizzlechunk_verylow">Muy bajo (32)</string>
<string name="gpu_swizzlechunk_low">Bajo (64)</string>
<string name="gpu_swizzlechunk_normal">Normal (128)</string>
<string name="gpu_swizzlechunk_medium">Medio (256)</string>
<string name="gpu_swizzlechunk_high">Alto (512)</string>
<!-- Temperature Units -->
<string name="temperature_celsius">Celsius</string>
<string name="temperature_fahrenheit">Fahrenheit</string>
@ -983,23 +785,11 @@
<string name="renderer_none">Ninguno</string>
<!-- Renderer Accuracy -->
<string name="renderer_accuracy_low">Rápido</string>
<string name="renderer_accuracy_medium">Equilibrado</string>
<string name="renderer_accuracy_high">Preciso</string>
<!-- DMA Accuracy -->
<string name="dma_accuracy_default">Predeterminado</string>
<string name="dma_accuracy_unsafe">Inseguro</string>
<string name="dma_accuracy_safe">Seguro</string>
<!-- Frame Pacing Mode -->
<string name="frame_pacing_mode_target_Auto">Automático</string>
<string name="frame_pacing_mode_target_30">30 FPS</string>
<string name="frame_pacing_mode_target_60">60 FPS</string>
<string name="frame_pacing_mode_target_90">90 FPS</string>
<string name="frame_pacing_mode_target_120">120 FPS</string>
<!-- ASTC Recompression Method Choices -->
<string name="astc_recompression_uncompressed">Sin compresión</string>
<!-- ASTC Recompression Method Choices -->
@ -1015,7 +805,7 @@
<!-- Anti-Aliasing -->
<string name="anti_aliasing_none">Ninguno</string>
<!-- Screen Layouts -->
<string name="screen_layout_auto">Automático</string>
<string name="screen_layout_auto">Auto</string>
<string name="screen_layout_sensor_landscape">Sensor paisaje</string>
<string name="screen_layout_landscape">Paisaje</string>
<string name="screen_layout_reverse_landscape">Paisaje inverso</string>
@ -1031,28 +821,6 @@
<string name="cpu_accuracy_paranoid">Paranoico</string>
<string name="cpu_accuracy_debugging">Depuración</string>
<!-- Freedreno Settings -->
<string name="freedreno_settings_title">Ajustes de Freedreno</string>
<string name="gpu_driver_settings">Ajustes del controlador de la GPU</string>
<string name="freedreno_presets">Preajustes rápidos</string>
<string name="freedreno_current_settings">Ajustes actuales</string>
<string name="freedreno_debug">Ajustes avanzados</string>
<string name="freedreno_var_name">Nombre de la variable (p.e., TU_DEBUG)</string>
<string name="freedreno_var_value">Valor de la variable</string>
<string name="freedreno_add_variable">Añadir variable</string>
<string name="freedreno_clear_all">Limpiar todas</string>
<string name="freedreno_saved">Configuración de Freedreno guardada</string>
<string name="freedreno_cleared_all">Todas las variables de Freedreno fueron limpiadas</string>
<string name="freedreno_variable_added">Variable %1$s añadida</string>
<string name="freedreno_preset_applied">Preajuste \'%1$s\' aplicado</string>
<string name="freedreno_error_empty_name">El nombre de la variable no puede estar vacío</string>
<string name="freedreno_error_setting_variable">Fallo al establecer la variable</string>
<string name="freedreno_info_title">Acerca de la configuración de Freedreno</string>
<string name="freedreno_info_description">Configurar las opciones de depuración, perfil y optimizaciones de rendimiento del controlador de la GPU Freedreno/Turnip. Los cambos se guardan automáticamente. Mire https://docs.mesa3d.org/drivers/freedreno.html para una documentación detallada.</string>
<string name="freedreno_per_game_title">Ajustes de Freedreno</string>
<string name="freedreno_per_game_description">Configurar ajustes del controlador de la GPU para este juego</string>
<string name="freedreno_per_game_saved">Configuración de Freedreno guardada</string>
<!-- Gamepad Buttons -->
<string name="gamepad_d_pad">Cruceta</string>
<string name="gamepad_left_stick">Palanca izquierda</string>
@ -1061,7 +829,7 @@
<string name="gamepad_screenshot">Captura de pantalla</string>
<!-- Disk shader cache -->
<string name="building_shaders">Construyendo sombreadores</string>
<string name="building_shaders">Construyendo shaders</string>
<!-- App options -->
<string name="change_app_theme">Cambiar tema</string>
@ -1072,34 +840,22 @@
<!-- Theme Modes -->
<string name="change_theme_mode">Cambiar modo del tema</string>
<string name="theme_mode_follow_system">Igual al del sistema</string>
<string name="theme_mode_follow_system">Igual al sistema</string>
<string name="theme_mode_light">Claro</string>
<string name="theme_mode_dark">Oscuro</string>
<string name="multiplier_none">Nada</string>
<!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Fondos oscuros</string>
<string name="use_black_backgrounds_description">Cuando utilice el modo oscuro, aplique fondos negros.</string>
<!-- Buttons -->
<string name="enable_folder_button">Carpeta</string>
<string name="enable_folder_button_description">Mostrar el botón para añadir carpetas de juegos</string>
<string name="enable_qlaunch_button">QLaunch</string>
<string name="enable_qlaunch_button_description">Mostrar el botón para ejecutar QLaunch</string>
<!-- App Language -->
<string name="app_language">Idioma de la aplicación</string>
<string name="app_language_description">Cambiar el idioma de la interfaz de la aplicación</string>
<string name="app_language_system">Igual al del sistema</string>
<!-- Static Themes -->
<string name="static_theme_color">Color del tema</string>
<string name="eden_theme">Eden</string>
<string name="violet">Violeta</string>
<string name="eden_theme">Eden (Predeterminado)</string>
<string name="violet">Violeta (Predeterminado)</string>
<string name="blue">Azul</string>
<string name="cyan">Cian</string>
<string name="red">Rojo</string>
<string name="green">Verde (Predeterminado)</string>
<string name="green">Verde</string>
<string name="yellow">Amarillo</string>
<string name="orange">Naranja</string>
<string name="pink">Rosa</string>
@ -1108,8 +864,8 @@
<!-- Picture-In-Picture -->
<string name="pause">Pausar</string>
<string name="play">Jugar</string>
<string name="mute">Silenciar</string>
<string name="unmute">Desilenciar</string>
<string name="mute">Mutear</string>
<string name="unmute">Desmutear</string>
<!-- Emulation vertical alignment -->
<string name="top">Arriba</string>
@ -1118,8 +874,6 @@
<!-- Applet Modes -->
<string name="applets_menu">Applets</string>
<string name="applets_menu_description">Cambiar la interfaz y ajustes del applet</string>
<string name="applet_hle">Frontend personalizado</string>
<string name="applet_lle">Applet real</string>
@ -1128,42 +882,7 @@
<string name="airplane_mode">Modo avión</string>
<string name="airplane_mode_description">Pasa el modo avión al sistema operativo Switch</string>
<string name="enable_overlay">Habilitar el Applet de superposición</string>
<string name="enable_overlay_description">Activa el applet integrado superpuesto de Horizon. Mantenga pulsado el botón de inicio durante 1 segundo para que aparezca.</string>
<!-- Profile Management -->
<string name="profile_manager">Gestor de perfiles</string>
<string name="profile_manager_description">Gestionar perfiles de usuario</string>
<string name="profile_add_user">Añadir usuario</string>
<string name="profile_new_user">Nuevo usuario</string>
<string name="profile_edit_user">Editar usuario</string>
<string name="profile_edit">Editar</string>
<string name="profile_delete">Borrar</string>
<string name="profile_username">Nombre de usuario</string>
<string name="profile_uuid">ID de usuario (UUID)</string>
<string name="profile_uuid_description">Este es el identificador único de este perfil de usuario. No se puede cambiar después de su creación.</string>
<string name="profile_generate">Generar</string>
<string name="profile_avatar">Avatar del usuario</string>
<string name="profile_select_image">Seleccionar imagen</string>
<string name="profile_firmware_avatars">Avatares del firmware</string>
<string name="profile_firmware_avatars_unavailable">No están disponibles los avatares del firmware. Por favor instale el firmware para usar esta función.</string>
<string name="profile_revert_image">Volver a los valores predeterminados</string>
<string name="profile_current_user">Usuario actual</string>
<string name="profile_max_users_title">Alcanzado el máximo de usuarios</string>
<string name="profile_max_users_message">No es posible crear más de 8 perfiles de usuario. Por favor borra un perfil existente para crear uno nuevo.</string>
<string name="profile_delete_confirm_title">¿Borrar el perfil\?</string>
<string name="profile_delete_confirm_message">¿Está seguro que quiere borrar %1$s\? Todos los datos de guardado del usuario se borraran.</string>
<string name="profile_delete_current_user_message">¿Está seguro que quiere borrar %1$s\? Este es el usuario seleccionado actualmente. Se seleccionará el primer usuario disponible.</string>
<string name="profile_create_failed">Fallo al crear el perfil del usuario</string>
<string name="profile_update_failed">Fallo al actualizar el perfil del usuario</string>
<string name="profile_image_load_error">Fallo al cargar la imagen: %1$s</string>
<string name="profile_image_save_error">Fallo al guardar la imagen: %1$s</string>
<string name="error">Error</string>
<!-- Licenses screen strings -->
<string name="licenses">Licencias</string>
<string name="license_fidelityfx_fsr_description">Upscaling de alta calidad de AMD</string>
<string name="external_content">Contenido externo</string>
<string name="add_folders">Añadir carpeta</string>
</resources>
</resources>

View file

@ -16,30 +16,11 @@
<string name="value_too_high">La valeur ne doit pas dépasser %1$d</string>
<string name="invalid_value">Valeur invalide</string>
<string name="using_per_game_config">Configuration par jeu activée</string>
<!-- Input Overlay -->
<string name="show_input_overlay">Activer l\'affichage des entrées</string>
<string name="show_input_overlay_description">Afficher les commandes tactiles pendant l\'émulation</string>
<string name="overlay_snap_to_grid">Aimanter à la grille</string>
<string name="overlay_snap_to_grid_description">Aimanter les commandes tactiles à une grille lors des modifications</string>
<string name="overlay_grid_size">Taille de la grille</string>
<string name="overlay_grid_size_description">Taille des cellules de la grille en pixels</string>
<string name="input_overlay_behavior">Comportement</string>
<string name="overlay_auto_hide">Masquage automatique de l\'overlay</string>
<string name="overlay_auto_hide_description">Masquer automatiquement l\'overlay des contrôles tactiles après le temps d\'inactivité spécifié.</string>
<string name="enable_input_overlay_auto_hide">Activer le masquage automatique de l\'overlay</string>
<string name="hide_overlay_on_controller_input">Masquer la superposition lors de lutilisation de la manette</string>
<string name="hide_overlay_on_controller_input_description">Masque automatiquement la superposition des commandes tactiles lorsqu\'une manette physique est utilisée. La superposition réapparaît lorsque la manette est déconnectée. </string>
<string name="invert_confirm_back_controller_buttons">Inverser les boutons Confirmer/Retour</string>
<string name="invert_confirm_back_controller_buttons_description">Échange le comportement des boutons Confirmer et Retour sur Android pour correspondre aux styles Switch et Xbox lors de lutilisation de linterface de lapplication.</string>
<string name="input_overlay_options">Overlay des entrées</string>
<string name="input_overlay_options_description">Configurer les contrôles à l\'écran</string>
<string name="edit_overlay_layout">Modifier la disposition des superpositions</string>
<string name="edit_overlay_layout_description">Ajuster la position et la taille des commandes superposées à l\'écran</string>
<!-- Stats Overlay settings -->
<string name="process_ram">RAM processus: %1$d Mo</string>
<string name="shaders_prefix">Compilation</string>
@ -83,8 +64,6 @@
<string name="soc_overlay_options">Overlay de l\'appareil</string>
<string name="soc_overlay_options_description">Configurer les informations affichées dans l\'overlay de l\'appareil</string>
<string name="show_build_id">Afficher l\'ID de build</string>
<string name="show_driver_version">Afficher la version du pilote</string>
<string name="show_device_model">Afficher le modèle de l\'appareil</string>
<string name="show_gpu_model">Afficher le modèle du GPU</string>
<string name="show_soc_model">Afficher le modèle du SoC</string>
@ -252,7 +231,6 @@
<string name="emulator_data">Configurer les données de l\'émulateur</string>
<string name="emulator_data_description">Des clés sont nécessaires pour que l\'émulateur fonctionne et le micrologiciel est recommandé et requis pour utiliser l\'applet QLaunch.</string>
<string name="permissions">Accorder des autorisations</string>
<string name="permissions_description">Accorder des autorisations facultatives afin d\'utiliser certaines fonctionnalités de lémulateur</string>
<string name="install_firmware_warning_description">De nombreux jeux nécessitent un accès au firmware pour fonctionner correctement.</string>
<string name="install_firmware_warning_help">https://yuzu-mirror.github.io/help/quickstart/#guide-introduction</string>
<string name="notifications">Notifications</string>
@ -261,22 +239,6 @@
<string name="permission_denied_description">Vous avez refusé cette permission trop de fois et vous devez maintenant l\'accorder manuellement dans les paramètres système.</string>
<string name="about">À propos</string>
<string name="about_description">Numéro de build, crédits et plus encore</string>
<string name="system_information">Informations système</string>
<string name="system_information_description">Afficher des informations détaillées à propos de l\'appareil</string>
<string name="device_manufacturer">Fabricant</string>
<string name="device_model">Modèle</string>
<string name="product">Produit</string>
<string name="android_version">Version Android</string>
<string name="android_security_patch">Correctif de sécurité</string>
<string name="build_id">ID de build</string>
<string name="general_information">Informations générales</string>
<string name="hardware">Matériel</string>
<string name="supported_abis">Architectures supportées</string>
<string name="cpu_info">Informations sur le processeur central</string>
<string name="gpu_information">Informations sur le processeur graphique</string>
<string name="vulkan_driver_version">Version du pilote Vulkan</string>
<string name="memory_info">Informations sur la mémoire</string>
<string name="total_memory">Capacité totale de mémoire</string>
<string name="warning_help">Aide</string>
<string name="warning">Avertissement</string>
<string name="warning_skip">Sauter</string>
@ -369,7 +331,9 @@
<string name="qlaunch_description">Lancer des applications depuis l\'écran d\'accueil du système</string>
<string name="applets">Lanceur d\'applets</string>
<string name="applets_description">Lancer des applets système en utilisant le firmware installé</string>
<string name="applets_error_firmware">Firmware non installé ou version invalide</string>
<string name="applets_error_applet">Applet non disponible</string>
<string name="applets_error_description"><![CDATA[Veuillez vérifier que votre fichier <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> et <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> sont installés et réessayez.<br>Assurez-vous également que votre firmware est en version 19.0.1 ou antérieure.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Afficher les images stockées dans le dossier de captures d\'écran de l\'utilisateur avec le visualiseur de photos système.</string>
<string name="mii_edit_applet">Éditeur Mii</string>
@ -387,6 +351,7 @@
<string name="copied_to_clipboard">Copié dans le presse-papier</string>
<string name="about_app_description">Un émulateur Switch open source</string>
<string name="contributors">Contributeurs</string>
<string name="contributors_description">Fait avec \u2764 de l\'équipe Eden</string>
<string name="licenses_description">Des projets qui rendent possible Eden pour Android</string>
<string name="build">Build</string>
<string name="user_data">Données utilisateur</string>
@ -463,6 +428,8 @@
<string name="renderer_force_max_clock_description">Forcer le GPU à fonctionner à ses fréquences maximales possibles (les contraintes thermiques seront toujours appliquées).</string>
<string name="renderer_reactive_flushing">Utiliser le vidage réactif</string>
<string name="renderer_reactive_flushing_description">Améliore la précision du rendu dans certains jeux au détriment des performances.</string>
<string name="skip_cpu_inner_invalidation">Ignorer l\'invalidation interne du CPU</string>
<string name="skip_cpu_inner_invalidation_description">Ignore certaines invalidations de cache côté CPU lors des mises à jour mémoire, réduisant l\'utilisation du CPU et améliorant ses performances. Peut causer des bugs ou plantages sur certains jeux.</string>
<string name="renderer_asynchronous_shaders">Utiliser les shaders asynchrones</string>
@ -914,10 +881,12 @@
<string name="app_language_system">Suivre le système</string>
<!-- Static Themes -->
<string name="static_theme_color">Couleur du thème</string>
<string name="eden_theme">Eden (Par défaut)</string>
<string name="violet">Violet (Par défaut)</string>
<string name="blue">Bleu</string>
<string name="cyan">Cyan</string>
<string name="red">Rouge</string>
<string name="green">Vert</string>
<string name="yellow">Jaune</string>
<string name="orange">Orange</string>
<string name="pink">Rose</string>

View file

@ -291,7 +291,10 @@
<string name="qlaunch_description">הפעלת יישומים ממסך הבית של המערכת</string>
<string name="applets">משגר Applet</string>
<string name="applets_description">מערכת שיגור Applet משתמשת בתוכנה המותקנת</string>
<string name="applets_error_firmware">קושחה לא מותקנת או גרסה לא תקינה</string>
<string name="applets_error_applet">Applet לא זמין</string>
<string name="applets_error_description"><![CDATA[אנא ודא שקובץ ה-<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> שלך
וה-<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">קושחה</a> מותקנים ונסה שוב.<br>כמו כן, ודא שהקושחה שלך בגרסה 19.0.1 או ישנה יותר.]]></string>
<string name="album_applet">אלבום</string>
<string name="album_applet_description">צפה בתמונות השמורות בתיקיית צילומי המסך של המשתמש בעזרת מציג התמונות של המערכת</string>
<string name="mii_edit_applet">עורך Mii</string>
@ -309,6 +312,7 @@
<string name="copied_to_clipboard">הועתק ללוח</string>
<string name="about_app_description">אמולטור Switch עם קוד פתוח</string>
<string name="contributors">תורמים</string>
<string name="contributors_description">נוצר עם \u2764 מקבוצת Eden</string>
<string name="licenses_description">פרוייקטים שהופכים את Eden ל Android אפשרי</string>
<string name="build">גרסה</string>
<string name="user_data">נתוני משתמש</string>
@ -384,6 +388,8 @@
<string name="renderer_force_max_clock_description">מכריח לדחוף את מהירויות המעבד הגרפי למקסימום (הגבלות חום ימשיכו לתפקד).</string>
<string name="renderer_reactive_flushing">השתמש בהבהוב תגובתי</string>
<string name="renderer_reactive_flushing_description">משפר את הדיוק של האמולציה במשחקים מסויימים במחיר של ביצועים.</string>
<string name="skip_cpu_inner_invalidation">דלג על איפוס מטמון פנימי של המעבד</string>
<string name="skip_cpu_inner_invalidation_description">מדלג על איפוסי מטמון מסוימים במהלך עדכוני זיכרון, מפחית שימוש במעבד ומשפר ביצועים. עלול לגרום לתקלות או קריסות בחלק מהמשחקים.</string>
<string name="renderer_asynchronous_shaders">השתמש בשיידרים אסינכרונים</string>
@ -676,6 +682,7 @@
<string name="blue">כחול</string>
<string name="cyan">טורקיז</string>
<string name="red">אדום</string>
<string name="green">ירוק</string>
<string name="yellow">צהוב</string>
<string name="orange">כתום</string>
<string name="pink">ורוד</string>

View file

@ -281,7 +281,9 @@
<string name="qlaunch_description">Alkalmazások indítása a rendszer kezdőképernyőjéről</string>
<string name="applets">Applet indító</string>
<string name="applets_description">Rendszer appletek indítása a telepített firmware-rel</string>
<string name="applets_error_firmware">A firmware nincs telepítve vagy érvénytelen verzió</string>
<string name="applets_error_applet">Applet nem elérhető</string>
<string name="applets_error_description"><![CDATA[Kérjük, ellenőrizze, hogy a <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> fájl és <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> telepítve van-e, majd próbálja újra.<br>Győződjön meg arról is, hogy a firmware verziója 19.0.1 vagy régebbi.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Képernyőképek megtekintése a rendszer fényképnézegetőjével</string>
<string name="mii_edit_applet">Mii szerkesztés</string>
@ -299,6 +301,7 @@
<string name="copied_to_clipboard">Másolva a vágólapra</string>
<string name="about_app_description">Egy nyílt forráskódú Switch emulátor</string>
<string name="contributors">Hozzájárulók</string>
<string name="contributors_description">\u2764 által készítve a Eden csapattól</string>
<string name="licenses_description">Projektek, amik nélkül a Eden nem jöhetett volna létre Androidra</string>
<string name="user_data">Felhasználói adatok</string>
<string name="exporting_user_data">Felhasználói adatok exportálása...</string>
@ -373,6 +376,8 @@
<string name="renderer_force_max_clock_description">Kényszeríti a GPU-t a lehető legnagyobb órajelen működésre (a hőmérséklet korlátozások továbbra is érvényben maradnak).</string>
<string name="renderer_reactive_flushing">Reaktív ürítés használata</string>
<string name="renderer_reactive_flushing_description">Javítja a renderelési pontosságot néhány játékban a teljesítmény rovására.</string>
<string name="skip_cpu_inner_invalidation">CPU belső érvénytelenítés kihagyása</string>
<string name="skip_cpu_inner_invalidation_description">Kihagy néhány CPU-oldali gyorsítótár-érvénytelenítést memóriafrissítések közben, csökkentve a CPU használatát és javítva a teljesítményt. Néhány játékban hibákat vagy összeomlást okozhat.</string>
<string name="renderer_asynchronous_shaders">Aszinkron árnyékolók használata</string>
@ -767,6 +772,7 @@
<string name="blue">Kék</string>
<string name="cyan">Cián</string>
<string name="red">Piros</string>
<string name="green">Zöld</string>
<string name="yellow">Sárga</string>
<string name="orange">Narancs</string>
<string name="pink">Rózsaszín</string>

View file

@ -311,7 +311,9 @@
<string name="qlaunch_description">Luncurkan aplikasi dari layar beranda sistem</string>
<string name="applets">Luncurkan applet</string>
<string name="applets_description">Meluncurkan sistem applet menggunakan firmware yang diinstal</string>
<string name="applets_error_firmware">Firmware tidak terinstal atau versi tidak valid</string>
<string name="applets_error_applet">Applet tidak tersedia</string>
<string name="applets_error_description"><![CDATA[Pastikan file <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> dan <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> Anda terinstal dan coba lagi.<br>Pastikan juga firmware Anda versi 19.0.1 atau lebih lama.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Lihat gambar yang disimpan di folder tangkapan layar pengguna dengan penampil foto sistem.</string>
<string name="mii_edit_applet">Ubah Mii</string>
@ -329,6 +331,7 @@
<string name="copied_to_clipboard">Salin ke papan klip</string>
<string name="about_app_description">Emulator Switch Open-Source</string>
<string name="contributors">Kontributor</string>
<string name="contributors_description">Dibuat dengan \u2764 dari tim Eden</string>
<string name="licenses_description">Proyek yang memungkinkan Eden untuk Android</string>
<string name="build">Versi</string>
<string name="user_data">Data pengguna</string>
@ -405,6 +408,8 @@
<string name="renderer_force_max_clock_description">Memaksa GPU untuk berjalan pada kecepatan maksimum yang mungkin (batasan termal masih akan diterapkan).</string>
<string name="renderer_reactive_flushing">Gunakan reactive flushing</string>
<string name="renderer_reactive_flushing_description">Meningkatkan akurasi rendering dalam beberapa permainan dengan mengorbankan performa.</string>
<string name="skip_cpu_inner_invalidation">Lewati Pembatalan Internal CPU</string>
<string name="skip_cpu_inner_invalidation_description">Melewati beberapa pembatalan cache sisi CPU selama pembaruan memori, mengurangi penggunaan CPU dan meningkatkan kinerjanya. Mungkin menyebabkan gangguan atau crash pada beberapa game.</string>
<string name="renderer_asynchronous_shaders">Gunakan shader asinkron</string>
@ -812,10 +817,12 @@
<!-- Static Themes -->
<string name="static_theme_color">Warna Tema</string>
<string name="eden_theme">Eden (Bawaan)</string>
<string name="violet">Ungu (Bawaan)</string>
<string name="blue">Biru</string>
<string name="cyan">Sian</string>
<string name="red">Merah</string>
<string name="green">Hijau</string>
<string name="yellow">Kuning</string>
<string name="orange">Oranye</string>
<string name="pink">Merah Muda</string>

View file

@ -318,7 +318,9 @@
<string name="qlaunch_description">Avvia applicazioni dalla schermata principale del sistema</string>
<string name="applets">Avvia applet</string>
<string name="applets_description">Avvia applet di sistema usando il firmware installato</string>
<string name="applets_error_firmware">Firmware non installato o versione non valida</string>
<string name="applets_error_applet">Applet non disponibile</string>
<string name="applets_error_description"><![CDATA[Assicurati che il tuo file <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> e <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> siano installati e riprova.<br>Inoltre, assicurati che il tuo firmware sia versione 19.0.1 o precedente.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Visualizza le immagini salvate nella cartella screenshots dell\'utente con il visualizzatore immagini di sistema</string>
<string name="mii_edit_applet">Modifica Mii</string>
@ -336,6 +338,7 @@
<string name="copied_to_clipboard">Copiato negli appunti</string>
<string name="about_app_description">Un emulatore della Switch open-source.</string>
<string name="contributors">Collaboratori</string>
<string name="contributors_description">Realizzato con \u2764 dal team Eden</string>
<string name="licenses_description">Progetti che rendono Eden per Android possibile</string>
<string name="build">Compilazione</string>
<string name="user_data">Dati Utente</string>
@ -412,6 +415,8 @@
<string name="renderer_force_max_clock_description">Forza la GPU a girare col massimo clock possibile (i vincoli alla temperatura saranno comunque applicati)</string>
<string name="renderer_reactive_flushing">Abilita il Reactive Flushing</string>
<string name="renderer_reactive_flushing_description">Migliora l\'accuratezza della grafica in alcuni giochi, al costo delle performance.</string>
<string name="skip_cpu_inner_invalidation">Salta invalidamento interno CPU</string>
<string name="skip_cpu_inner_invalidation_description">Salta alcuni invalidamenti della cache lato CPU durante gli aggiornamenti di memoria, riducendo l\'uso della CPU e migliorandone le prestazioni. Potrebbe causare glitch o crash in alcuni giochi.</string>
<string name="renderer_asynchronous_shaders">Usa shaders asincrone</string>
@ -857,10 +862,12 @@
<!-- Static Themes -->
<string name="static_theme_color">Colore tema</string>
<string name="eden_theme">Eden (Default)</string>
<string name="violet">Viola (Predefinito)</string>
<string name="blue">Blu</string>
<string name="cyan">Ciano</string>
<string name="red">Rosso</string>
<string name="green">Verde</string>
<string name="yellow">Giallo</string>
<string name="orange">Arancione</string>
<string name="pink">Rosa</string>

View file

@ -283,7 +283,9 @@
<string name="qlaunch_description">システムホーム画面からアプリを起動</string>
<string name="applets">アプレットランチャー</string>
<string name="applets_description">インストール済みファームウェアでシステムアプレットを起動</string>
<string name="applets_error_firmware">ファームウェアがインストールされていないか無効なバージョンです</string>
<string name="applets_error_applet">アプレット利用不可</string>
<string name="applets_error_description"><![CDATA[<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>ファイルと <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">ファームウェア</a>がインストールされていることを確認し、再度お試しください。<br>また、ファームウェアが19.0.1以下のバージョンであることを確認してください。]]></string>
<string name="album_applet">アルバム</string>
<string name="album_applet_description">システムフォトビューアでスクリーンショットを表示</string>
<string name="mii_edit_applet">Mii編集</string>
@ -301,6 +303,7 @@
<string name="copied_to_clipboard">クリップボードにコピーしました</string>
<string name="about_app_description">オープンソースのSwitchエミュレータ</string>
<string name="contributors">貢献者</string>
<string name="contributors_description">Edenチームの\u2764で作られた</string>
<string name="licenses_description">Eden for Androidの作成を可能にしたプロジェクト</string>
<string name="build">ビルド</string>
<string name="user_data">ユーザデータ</string>
@ -371,6 +374,8 @@
<string name="renderer_force_max_clock_description">GPUを最大限可能な周波数で動作させます (過熱制限は引き続き適用されます)。</string>
<string name="renderer_reactive_flushing">即時書き込み</string>
<string name="renderer_reactive_flushing_description">一部のゲームにおいて、パフォーマンスを犠牲にしながらも、レンダリング精度を向上させます。</string>
<string name="skip_cpu_inner_invalidation">CPU内部無効化をスキップ</string>
<string name="skip_cpu_inner_invalidation_description">メモリ更新時のCPU側キャッシュ無効化をスキップし、CPU使用率を減らして性能を向上させます。一部のゲームで不具合やクラッシュが発生する可能性があります。</string>
<string name="renderer_asynchronous_shaders">非同期シェーダー</string>
@ -672,6 +677,7 @@
<string name="blue"></string>
<string name="cyan">シアン</string>
<string name="red"></string>
<string name="green"></string>
<string name="yellow"></string>
<string name="orange">オレンジ</string>
<string name="pink">ピンク</string>

View file

@ -280,7 +280,9 @@
<string name="qlaunch_description">시스템 홈 화면에서 애플리케이션 실행</string>
<string name="applets">애플릿 런처</string>
<string name="applets_description">설치된 펌웨어를 사용해 시스템 애플릿을 실행합니다.</string>
<string name="applets_error_firmware">펌웨어가 설치되지 않았거나 유효하지 않은 버전입니다</string>
<string name="applets_error_applet">애플릿을 사용할 수 없음</string>
<string name="applets_error_description"><![CDATA[<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 파일과 <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">펌웨어</a>가 설치되어 있는지 확인하고 다시 시도하세요.<br>또한 펌웨어 버전이 19.0.1 이하인지 확인하세요.]]></string>
<string name="album_applet">앨범</string>
<string name="album_applet_description">시스템 사진 뷰어로 유저 스크린샷 폴더에 저장된 이미지를 확인합니다. </string>
<string name="mii_edit_applet">Mii 편집</string>
@ -298,6 +300,7 @@
<string name="copied_to_clipboard">클립보드에 복사되었습니다.</string>
<string name="about_app_description">오픈 소스 Switch 에뮬레이터</string>
<string name="contributors">기여자</string>
<string name="contributors_description">Eden 팀의 \u2764로 제작</string>
<string name="licenses_description">Android용 Eden를 가능하게 하는 프로젝트</string>
<string name="build">빌드</string>
<string name="user_data">유저 데이터</string>
@ -371,6 +374,8 @@
<string name="renderer_force_max_clock_description">GPU가 가능한 최대 클럭으로 실행되도록 강제합니다 (열 제약 조건은 여전히 적용됩니다).</string>
<string name="renderer_reactive_flushing">반응형 플러싱 사용</string>
<string name="renderer_reactive_flushing_description">일부 게임에서 성능 저하를 감수하고 렌더링 정확도를 향상합니다.</string>
<string name="skip_cpu_inner_invalidation">CPU 내부 무효화 건너뛰기</string>
<string name="skip_cpu_inner_invalidation_description">메모리 업데이트 시 일부 CPU 측 캐시 무효화를 건너뛰어 CPU 사용량을 줄이고 성능을 향상시킵니다. 일부 게임에서 오류 또는 충돌을 일으킬 수 있습니다.</string>
<string name="renderer_asynchronous_shaders">비동기 셰이더 사용</string>
@ -729,6 +734,7 @@
<string name="blue">파란색</string>
<string name="cyan">시안</string>
<string name="red">빨간색</string>
<string name="green">초록색</string>
<string name="yellow">노란색</string>
<string name="orange">주황색</string>
<string name="pink">분홍색</string>

View file

@ -272,7 +272,9 @@
<string name="qlaunch_description">Start applikasjoner fra systemets hjemmeskjerm</string>
<string name="applets">Applet-lanserer</string>
<string name="applets_description">Start systemapplets</string>
<string name="applets_error_firmware">Firmware er ikke installert eller ugyldig versjon</string>
<string name="applets_error_applet">Applet utilgjengelig</string>
<string name="applets_error_description"><![CDATA[Kontroller at <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>-filen din og <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> er installert og prøv igjen.<br>Kontroller også at firmwaren din er versjon 19.0.1 eller eldre.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Vis bilder i systemets fotovisning</string>
<string name="mii_edit_applet">Mii-redigering</string>
@ -290,6 +292,7 @@
<string name="copied_to_clipboard">Kopiert til utklippstavlen</string>
<string name="about_app_description">En Switch-emulator med åpen kildekode</string>
<string name="contributors">Bidragsytere</string>
<string name="contributors_description">Laget med \u2764 fra Eden-teamet</string>
<string name="licenses_description">Prosjekter som gjør Eden for Android mulig</string>
<string name="build">Bygg</string>
<!-- General settings strings -->
@ -354,6 +357,8 @@
<string name="renderer_force_max_clock_description">Tvinger GPU-en til å kjøre med maksimal klokkefrekvens (termiske begrensninger vil fortsatt gjelde).</string>
<string name="renderer_reactive_flushing">Bruk reaktiv spyling</string>
<string name="renderer_reactive_flushing_description">Forbedrer gjengivelsesnøyaktigheten i enkelte spill på bekostning av ytelsen.</string>
<string name="skip_cpu_inner_invalidation">Hopp over CPU intern invalidering</string>
<string name="skip_cpu_inner_invalidation_description">Hopper over enkelte CPU-side cache-invalideringer under minneoppdateringer, reduserer CPU-bruk og forbedrer ytelsen. Kan forårsake feil eller krasj i noen spill.</string>
<string name="renderer_asynchronous_shaders">Bruk asynkrone shaders</string>
@ -642,6 +647,7 @@
<string name="blue">Blå</string>
<string name="cyan">Cyan</string>
<string name="red">Rød</string>
<string name="green">Grønn</string>
<string name="yellow">Gul</string>
<string name="orange">Oransje</string>
<string name="pink">Rosa</string>

View file

@ -29,6 +29,7 @@
<string name="enable_input_overlay_auto_hide">Włącz automatyczne ukrywanie nakładki</string>
<string name="hide_overlay_on_controller_input">Ukrywaj nakładkę przy użyciu kontrolera</string>
<string name="hide_overlay_on_controller_input_description">Automatycznie ukrywaj nakładkę sterowania dotykowego, gdy używany jest fizyczny kontroler. Nakładka pojawi się ponownie po odłączeniu kontrolera.</string>
<string name="input_overlay_options">Nakładka sterowania</string>
<string name="input_overlay_options_description">Skonfiguruj sterowanie na ekranie</string>
<string name="edit_overlay_layout">Edytuj układ nakładki</string>
@ -367,7 +368,9 @@
<string name="qlaunch_description">Uruchamianie aplikacji z ekranu głównego systemu</string>
<string name="applets">Aplety</string>
<string name="applets_description">Uruchamia aplety systemowe.</string>
<string name="applets_error_firmware">Firmware nie zainstalowany lub nieprawidłowa wersja</string>
<string name="applets_error_applet">Aplet niedostępny</string>
<string name="applets_error_description"><![CDATA[Upewnij się, że plik <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> i <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> są zainstalowane i spróbuj ponownie.<br>Upewnij się również, że firmware jest w wersji 19.0.1 lub starszej.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Przeglądaj zrzuty ekranu.</string>
<string name="mii_edit_applet">Edytor Mii</string>
@ -385,6 +388,7 @@
<string name="copied_to_clipboard">Skopiowano do schowka</string>
<string name="about_app_description">Otwarto-źródłowy emulator konsoli Switch</string>
<string name="contributors">Współtwórcy</string>
<string name="contributors_description">Stworzone z \u2764 przez zespół Eden</string>
<string name="licenses_description">Projekty dzięki którym Eden mógł zostać stworzony</string>
<string name="build">Wersja</string>
<string name="user_data">Dane użytkownika</string>
@ -469,6 +473,8 @@
<string name="renderer_force_max_clock_description">Wymusza uruchomienie maksymalnego taktowania układu graficznego (zabezpieczenia termiczne będą dalej aktywne).</string>
<string name="renderer_reactive_flushing">Użyj spłukiwania reaktywnego - reactive flushing</string>
<string name="renderer_reactive_flushing_description">Poprawia jakość renderowania w kilku grach, kosztem wydajności.</string>
<string name="hacks">Hacki</string>
<string name="fast_gpu_time">Szybki czas GPU</string>
@ -979,10 +985,12 @@
<string name="app_language_system">Zgodnie z systemem</string>
<!-- Static Themes -->
<string name="static_theme_color">Kolor motywu</string>
<string name="eden_theme">Eden (Domyślnie)</string>
<string name="violet">Fioletowy (Domyślny)</string>
<string name="blue">Niebieski</string>
<string name="cyan">Cyjan</string>
<string name="red">Czerwony</string>
<string name="green">Zielony</string>
<string name="yellow">Żółty</string>
<string name="orange">Pomarańczowy</string>
<string name="pink">Różowy</string>

View file

@ -26,6 +26,7 @@
<string name="enable_input_overlay_auto_hide">Ativar Esconder Sobreposição Automaticamente</string>
<string name="hide_overlay_on_controller_input">Ocultar Sobreposição ao Usar Controle</string>
<string name="hide_overlay_on_controller_input_description">Oculta automaticamente a sobreposição de controles touch quando um controle físico é usado. A sobreposição reaparece quando o controle é desconectado.</string>
<string name="input_overlay_options">Controles na Tela</string>
<string name="input_overlay_options_description">Ajustar a disposição dos controles na tela</string>
<string name="edit_overlay_layout">Editar Layout da Sobreposição</string>
@ -359,7 +360,9 @@
<string name="qlaunch_description">Iniciar aplicativos a partir da tela inicial do sistema</string>
<string name="applets">Launcher de Miniaplicativos</string>
<string name="applets_description">Execute miniaplicativos do sistema usando o firmware instalado</string>
<string name="applets_error_firmware">Firmware não instalado ou versão inválida</string>
<string name="applets_error_applet">Miniaplicativo indisponível</string>
<string name="applets_error_description"><![CDATA[Certifique-se de que seu arquivo <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> e <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> estejam instalados e tente novamente.<br>Além disso, verifique se seu firmware é a versão 19.0.1 ou mais antiga.]]></string>
<string name="album_applet">Álbum</string>
<string name="album_applet_description">Visualize imagens armazenadas na pasta de capturas de telas do usuário com o visualizador de imagens do sistema</string>
<string name="mii_edit_applet">Editor de Mii</string>
@ -377,6 +380,7 @@
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
<string name="about_app_description">Um emulador de Switch de código aberto</string>
<string name="contributors">Colaboradores</string>
<string name="contributors_description">Feito com \u2764 da equipe do Eden</string>
<string name="licenses_description">Projetos que tornam o Eden para Android possível</string>
<string name="build">Versão da Compilação</string>
<string name="user_data">Dados do usuário</string>
@ -457,6 +461,8 @@
<string name="renderer_force_max_clock_description">Força a GPU a rodar na velocidade máxima (restrições térmicas serão aplicadas)</string>
<string name="renderer_reactive_flushing">Usar flushing reativo</string>
<string name="renderer_reactive_flushing_description">Melhora a precisão da renderização em alguns jogos ao custo de desempenho.</string>
<string name="hacks">Hacks</string>
<string name="skip_cpu_inner_invalidation">Ignorar Invalidação Interna da CPU</string>
@ -924,10 +930,12 @@
<string name="app_language_system">Padrão do Sistema</string>
<!-- Static Themes -->
<string name="static_theme_color">Cor do tema</string>
<string name="eden_theme">Eden (Padrão)</string>
<string name="violet">Roxo</string>
<string name="blue">Azul</string>
<string name="cyan">Ciano</string>
<string name="red">Vermelho</string>
<string name="green">Verde</string>
<string name="yellow">Amarelo</string>
<string name="orange">Laranja</string>
<string name="pink">Rosa</string>

View file

@ -284,7 +284,9 @@
<string name="qlaunch_description">Iniciar aplicações a partir do ecrã inicial do sistema</string>
<string name="applets">Launcher de miniaplicativos</string>
<string name="applets_description">Inicie miniaplicativos do sistema usando o firmware instalado</string>
<string name="applets_error_firmware">Firmware não instalado ou versão inválida</string>
<string name="applets_error_applet">Miniaplicativo não disponível</string>
<string name="applets_error_description"><![CDATA[Certifique-se de que o seu ficheiro <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> e <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> estão instalados e tente novamente.<br>Além disso, verifique se o seu firmware é a versão 19.0.1 ou mais antiga.]]></string>
<string name="album_applet">Álbum</string>
<string name="album_applet_description">Visualize imagens armazenadas na pasta de capturas de telas do usuário com o visualizador de imagens do sistema</string>
<string name="mii_edit_applet">Editor de Mii</string>
@ -302,6 +304,7 @@
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
<string name="about_app_description">Um emulador Switch de código aberto</string>
<string name="contributors">Contribuidores</string>
<string name="contributors_description">Feito com \u2764 da equipa do Eden</string>
<string name="licenses_description">Projetos que tornam o Eden para Android possível</string>
<string name="build">Versão</string>
<string name="user_data">Dado de utilizados</string>
@ -377,6 +380,8 @@
<string name="renderer_force_max_clock_description">Força o GPU a correr à velocidade máxima (restrições térmicas serão aplicadas)</string>
<string name="renderer_reactive_flushing">Usar flushing reativo</string>
<string name="renderer_reactive_flushing_description">Melhora a precisão da renderização em alguns jogos ao custo de desempenho.</string>
<string name="skip_cpu_inner_invalidation">Ignorar invalidação interna da CPU</string>
<string name="skip_cpu_inner_invalidation_description">Ignora algumas invalidações de cache do lado da CPU durante atualizações de memória, reduzindo a utilização da CPU e melhorando o desempenho. Pode causar falhas ou crashes em alguns jogos.</string>
<string name="renderer_asynchronous_shaders">Usa shaders assíncronos </string>
@ -782,6 +787,7 @@ uma tentativa de mapeamento automático</string>
<string name="blue">Azul</string>
<string name="cyan">Ciano</string>
<string name="red">Vermelho</string>
<string name="green">Verde</string>
<string name="yellow">Amarelo</string>
<string name="orange">Laranja</string>
<string name="pink">Rosa</string>

View file

@ -31,8 +31,6 @@
<string name="enable_input_overlay_auto_hide">Включить авто-скрытие оверлея</string>
<string name="hide_overlay_on_controller_input">Убрать оверлей на контроллере</string>
<string name="hide_overlay_on_controller_input_description">Автоматически убирает оверлей контроллера когда используется физический котроллер. Оверлей появляется когда контроллер отсоединен.</string>
<string name="invert_confirm_back_controller_buttons">Инвертировать кнопки контроллера Подтвердить/Обратно</string>
<string name="invert_confirm_back_controller_buttons_description">Измените кнопки управления подтверждения и возврата Android, чтобы они соответствовали Switch и Xbox при использовании пользовательского интерфейса приложения</string>
<string name="input_overlay_options">Оверлей ввода</string>
<string name="input_overlay_options_description">Настройка экранного управления</string>
@ -83,8 +81,6 @@
<string name="soc_overlay_options">Оверлей устройства</string>
<string name="soc_overlay_options_description">Настроить, какая информация отображается в оверлее устройства</string>
<string name="show_build_id">Показать ID сборки</string>
<string name="show_driver_version">Показать версию драйвера</string>
<string name="show_device_model">Показать модель устройства</string>
<string name="show_gpu_model">Показать модель ГПУ</string>
<string name="show_soc_model">Показать модель SoC</string>
@ -228,7 +224,7 @@
<string name="enable_update_checks">Проверить обновления</string>
<string name="enable_update_checks_description">Выполнять проверку обновлений при запуске с возможностью их автоматической загрузки и установки.</string>
<string name="update_available">Обновление доступно</string>
<string name="update_available_description">Новая версия приложения доступна: %1$s\n\nНе хотите ли вы скачать его\?</string>
<string name="update_available_description">Новая версия приложения доступна:%1$s\n\nНе хотите ли вы скачать его\?</string>
<string name="downloading_update">Загрузка обновления</string>
<string name="update_download_failed">Не удалось загрузить обновление</string>
<string name="update_installed_successfully">Обновление успешно установлено</string>
@ -287,7 +283,7 @@
<string name="install_amiibo_keys">Установить ключи Amiibo</string>
<string name="install_amiibo_keys_description">Необходимо для использования Amiibo в играх</string>
<string name="gpu_driver_fetcher">Получение драйверов ГПУ</string>
<string name="gpu_driver_manager">Менеджер драйверов ГПУ</string>
<string name="gpu_driver_manager">Менеджер драйверов ГП</string>
<string name="install_gpu_driver_description">Установите альтернативные драйверы для потенциально лучшей производительности и/или точности</string>
<string name="advanced_settings">Расширенные настройки</string>
<string name="settings_description">Настройка параметров эмулятора</string>
@ -317,9 +313,6 @@
<string name="share_log">Поделиться журналом отладки</string>
<string name="share_log_description">Поделиться журналом отладки Eden для устранения проблем</string>
<string name="share_log_missing">Файл журнала не найден</string>
<string name="share_gpu_log">Поделиться журналом ГПУ</string>
<string name="share_gpu_log_description">Поделиться журналом ГПУ Eden для отладки графики</string>
<string name="share_gpu_log_missing">Журнал ГПУ не найден</string>
<string name="install_game_content">Установить игровой контент</string>
<string name="install_game_content_description">Установить обновления игры или дополнений</string>
<string name="installing_game_content">Установка контента...</string>
@ -377,9 +370,9 @@
<string name="qlaunch_description">Запуск приложений с домашнего экрана системы</string>
<string name="applets">Запуск апплета</string>
<string name="applets_description">Запуск системных апплетов на установленной прошивке</string>
<string name="applets_error_firmware">Прошивка не установлена</string>
<string name="applets_error_firmware">Прошивка не установлена или неверная версия</string>
<string name="applets_error_applet">Апплет недоступен</string>
<string name="applets_error_description"><![CDATA[Убедитесь, что файлы <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> и <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">прошивка</a> установлены, и попробуйте снова.]]></string>
<string name="applets_error_description"><![CDATA[Убедитесь, что файлы <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> и <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">прошивка</a> установлены, и попробуйте снова.<br>Также убедитесь, что ваша прошивка версии 19.0.1 или ниже.]]></string>
<string name="album_applet">Альбом</string>
<string name="album_applet_description">Просмотрите изображения, сохраненные в папке скриншотов пользователя, с помощью системного просмотрщика фотографий.</string>
<string name="mii_edit_applet">Mii редактор</string>
@ -397,6 +390,7 @@
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
<string name="about_app_description">Эмулятор Switch с открытым исходным кодом</string>
<string name="contributors">Контрибьюторы</string>
<string name="contributors_description">Сделано с \u2764 от команды Eden</string>
<string name="licenses_description">Проекты, которые сделали Eden для Android возможным</string>
<string name="build">Сборка</string>
<string name="user_data">Данные пользователя</string>
@ -413,10 +407,6 @@
<string name="frame_limit_enable_description">Ограничивает скорость эмуляции указанным процентом от нормальной скорости.</string>
<string name="frame_limit_slider">Ограничение процента cкорости</string>
<string name="frame_limit_slider_description">Указывает процент ограничения скорости эмуляции. 100% - это нормальная скорость. Значения больше или меньше увеличивают или уменьшают ограничение скорости.</string>
<string name="turbo_speed_limit">Турбо-режим</string>
<string name="turbo_speed_limit_description">Когда турбо-режим включён, эмуляция будет работать на этой скорости.</string>
<string name="slow_speed_limit">Замедленный режим</string>
<string name="slow_speed_limit_description">Когда замедленный режим включён, эмуляция будет работать на этой скорости.</string>
<string name="cpu_backend">Бэкэнд ЦП</string>
<string name="cpu_accuracy">Точность ЦП</string>
<string name="value_with_units">%1$s%2$s</string>
@ -464,12 +454,10 @@
<string name="advanced">Расширенные</string>
<string name="renderer_accuracy">Режим ГПУ</string>
<string name="renderer_accuracy">Режим ГП</string>
<string name="renderer_accuracy_description">Управляет режимом эмуляции графического процессора. Большинство игр нормально отображаются в режимах «Быстрый» или «Сбалансированный», но для некоторых требуется режим «Точный». Частицы обычно корректно отображаются только в режиме «Точный».</string>
<string name="dma_accuracy">Точность DMA</string>
<string name="dma_accuracy_description">Управляет точностью DMA. Безопасная точность может исправить проблемы в некоторых играх, но в некоторых случаях также может повлиять на производительность. Если не уверены, оставьте значение По умолчанию.</string>
<string name="frame_pacing_mode">Режим синхронизации кадров</string>
<string name="frame_pacing_mode_description">Управляет синхронизацией кадров в эмуляторе для уменьшения рывков и обеспечения более плавной и стабильной частоты кадров.</string>
<string name="anisotropic_filtering">Анизотропная фильтрация</string>
<string name="anisotropic_filtering_description">Улучшает качество текстур под углом</string>
<string name="vram_usage_mode">Режим VRAM</string>
@ -484,35 +472,25 @@
<string name="use_disk_shader_cache">Кэш шейдеров на диске</string>
<string name="use_disk_shader_cache_description">Уменьшение зависаний за счет хранения и загрузки сгенерированных шейдеров.</string>
<string name="renderer_force_max_clock">Принудительно заставить максимальную тактовую частоту (только для Adreno)</string>
<string name="renderer_force_max_clock_description">Заставляет ГПУ работать на максимально возможных тактовых частотах (тепловые ограничения все равно будут применяться).</string>
<string name="renderer_force_max_clock_description">Заставляет ГП работать на максимально возможных тактовых частотах (тепловые ограничения все равно будут применяться).</string>
<string name="renderer_reactive_flushing">Реактивная очистка</string>
<string name="renderer_reactive_flushing_description">Повышение точности рендеринга в некоторых играх за счет снижения производительности.</string>
<string name="enable_buffer_history">Включить историю буфера</string>
<string name="enable_buffer_history_description">Позволяет обращаться к предыдущим состояниям буфера. Эта опция может повысить качество рендеринга и стабильность производительности в некоторых играх.</string>
<string name="use_optimized_vertex_buffers">Оптимизированные вершинные буферы</string>
<string name="use_optimized_vertex_buffers_description">Активирует оптимизированную привязку вершинных буферов для улучшения производительности. Требуются Mesa Turnip драйвера версией не ниже 26.0, на более старых драйверах будут происходить сбои и краши</string>
<string name="hacks">Хаки</string>
<string name="fast_gpu_time">Быстрое время ГПУ</string>
<string name="fast_gpu_time">Быстрое время ГП</string>
<string name="fast_gpu_time_description">Принудительно запускает большинство игр в их максимальном нативном разрешении. Используйте значение 256 для максимальной производительности и 512 для максимального качества графики.</string>
<string name="skip_cpu_inner_invalidation">Пропустить внутреннюю инвалидацию ЦП</string>
<string name="skip_cpu_inner_invalidation_description">Пропускает некоторые инвалидации кэша на стороне ЦП при обновлениях памяти, уменьшая нагрузку на процессор и повышая производительность. Может вызывать сбои в некоторых играх.</string>
<string name="fix_bloom_effects">Исправить эффекты размытия</string>
<string name="fix_bloom_effects_description">Частично убирает размытие в LA/EOW (Adreno 700), полностью отключает его в Burnout. Внимание: может вызывать графические артефакты в других играх.</string>
<string name="renderer_asynchronous_shaders">Использовать асинхронные шейдеры</string>
<string name="renderer_asynchronous_shaders_description">Компилирует шейдеры асинхронно. Это может уменьшить подтормаживания, но также может вызвать графические артефакты.</string>
<string name="gpu_unswizzle_settings">Настройки распаковки текстур (Unswizzle)</string>
<string name="gpu_unswizzle_settings_description">Настройте параметры распаковки текстур на стороне ГПУ либо полностью отключите эту функцию. Изменение этих параметров позволяет найти баланс между производительностью и качеством загрузки текстур.</string>
<string name="gpu_unswizzle_enable">Включить распаковку текстур (Unswizzle)</string>
<string name="gpu_unswizzle_disabled">Отключено</string>
<string name="gpu_unswizzle_texture_size">Макс. размер текстуры Unswizzle</string>
<string name="gpu_unswizzle_texture_size_description">Задает максимальный размер (в МБ) текстур для преобразования формата (unswizzle) на ГПУ. Хотя ГПУ быстрее работает со средними и большими текстурами, ЦП может быть эффективнее для очень маленьких. Настройте это значение, чтобы найти баланс между ускорением на ГПУ и нагрузкой на ЦП.</string>
<string name="gpu_unswizzle_texture_size_description">Задает максимальный размер (в МБ) текстур для преобразования формата (unswizzle) на ГП. Хотя ГП быстрее работает со средними и большими текстурами, ЦП может быть эффективнее для очень маленьких. Настройте это значение, чтобы найти баланс между ускорением на ГП и нагрузкой на ЦП.</string>
<string name="gpu_unswizzle_stream_size">Размер потока Unswizzle</string>
<string name="gpu_unswizzle_stream_size_description">Задает лимит данных на кадр для преобразования крупных текстур (unswizzle). Высокие значения ускоряют загрузку текстур ценой увеличения задержки кадра; низкие значения снижают нагрузку на ГПУ, но могут вызывать заметную постепенную подгрузку текстур.</string>
<string name="gpu_unswizzle_stream_size_description">Задает лимит данных на кадр для преобразования крупных текстур (unswizzle). Высокие значения ускоряют загрузку текстур ценой увеличения задержки кадра; низкие значения снижают нагрузку на ГП, но могут вызывать заметную постепенную подгрузку текстур.</string>
<string name="gpu_unswizzle_chunk_size">Размер блока Unswizzle</string>
<string name="gpu_unswizzle_chunk_size_description">Задает количество слоёв глубины, обрабатываемых за одну пачку для 3D-текстур. Увеличение этого значения улучшает пропускную способность на мощных ГПУ, но может вызывать подтормаживания или таймауты драйвера на слабом железе.</string>
<string name="gpu_unswizzle_default_button">По умолчанию</string>
<string name="gpu_unswizzle_chunk_size_description">Задает количество слоёв глубины, обрабатываемых за одну пачку для 3D-текстур. Увеличение этого значения улучшает пропускную способность на мощных ГП, но может вызывать подтормаживания или таймауты драйвера на слабом железе.</string>
<string name="extensions">Расширения</string>
@ -550,31 +528,13 @@
<string name="renderer_debug">Отладка графики</string>
<string name="renderer_debug_description">Переводит графический API в режим медленной отладки.</string>
<string name="patch_old_qcom_drivers">Исправление текстур BCn</string>
<string name="patch_old_qcom_drivers_description">Переопределить автоматическое определение формата BCn-текстур на ГПУ Adreno. Обычно определяется автоматически на основе версии Android (включено начиная с API 28+).</string>
<string name="patch_old_qcom_drivers_description">Переопределить автоматическое определение формата BCn-текстур на ГП Adreno. Обычно определяется автоматически на основе версии Android (включено начиная с API 28+).</string>
<string name="fastmem">Fastmem</string>
<string name="log">Логирование</string>
<string name="flush_by_line">Сбрасывать логи отладки построчно</string>
<string name="flush_by_line_description">Сбрасывает логи отладки после каждой написанной строки, упрощая отладку в случае сбоев или зависаний.</string>
<!-- GPU Logging strings -->
<string name="gpu_logging_header">Ведение журнала ГПУ</string>
<string name="gpu_logging_enabled">Включить ведение журнала ГПУ</string>
<string name="gpu_logging_enabled_description">Записывать операции ГПУ в файл eden_gpu.log для отладки драйверов Adreno</string>
<string name="gpu_log_level">Уровень журналирования</string>
<string name="gpu_log_level_description">Уровень детализации логов ГПУ (больше значение = больше деталей, выше нагрузка)</string>
<string name="gpu_log_vulkan_calls">Записывать вызовы Vulkan API</string>
<string name="gpu_log_vulkan_calls_description">Отслеживать все вызовы Vulkan API в кольцевом буфере</string>
<string name="gpu_log_shader_dumps">Выгрузить шейдеры</string>
<string name="gpu_log_shader_dumps_description">Сохранять скомпилированные SPIR-V шейдеры в файлы</string>
<string name="gpu_log_memory_tracking">Отслеживать память ГПУ</string>
<string name="gpu_log_memory_tracking_description">Мониторить выделение и освобождение памяти ГПУ</string>
<string name="gpu_log_driver_debug">Отладочная информация драйвера</string>
<string name="gpu_log_driver_debug_description">Собирать специфичную для драйвера отладочную информацию (Turnip breadcrumbs и т.д.)</string>
<string name="gpu_log_ring_buffer_size">Размер кольцевого буфера</string>
<string name="gpu_log_ring_buffer_size_description">Количество последних вызовов Vulkan для отслеживания (по умолчанию: 512)</string>
<string name="gpu_log_ring_buffer_size_hint">От 64 до 4096 записей</string>
<string name="general">Общие</string>
<!-- Audio settings strings -->
@ -699,7 +659,7 @@
<string name="select_gpu_driver_error">Выбран неподходящий драйвер</string>
<string name="driver_already_installed">Драйвер уже установлен</string>
<string name="installed_label">%1$s (Установлено)</string>
<string name="system_gpu_driver">Системный драйвер ГПУ</string>
<string name="system_gpu_driver">Системный драйвер ГП</string>
<string name="installing_driver">Установка драйвера...</string>
<!-- GPU driver fetcher -->
@ -729,15 +689,13 @@
<string name="preferences_graphics">Графика</string>
<string name="preferences_graphics_description">Уровень точности, разрешение, кэш шейдеров</string>
<string name="quick_settings">Быстрые настройки</string>
<string name="enable_quick_settings">Включить быстрые настройки</string>
<string name="enable_quick_settings_description">Разрешить открывать меню быстрых настроек свайпом и кнопкой меню</string>
<string name="preferences_audio">Аудио</string>
<string name="preferences_audio_description">Движок вывода, громкость</string>
<string name="preferences_controls">Управление</string>
<string name="preferences_controls_description">Маппинг контроллера</string>
<string name="preferences_player">Игрок %d</string>
<string name="preferences_debug">Отладка</string>
<string name="preferences_debug_description">Отладка ЦП/ГПУ, графический API, fastmem</string>
<string name="preferences_debug_description">Отладка ЦП/ГП, графический API, fastmem</string>
<string name="preferences_custom_paths">Пользовательские пути</string>
<string name="preferences_custom_paths_description">Папка сохранений</string>
@ -834,7 +792,7 @@
<string name="loader_error_encrypted_roms_description"><![CDATA[Пожалуйста, следуйте инструкциям по пересохранению <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-physical-titles-game-cards\">игровых картриджей</a> или <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-digital-titles-eshop\">установленных игр</a>.]]></string>
<string name="loader_error_encrypted_keys_description"><![CDATA[Пожалуйста, убедитесь, что ваш файл <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> установлен, чтобы игры можно было расшифровать.]]></string>
<string name="loader_error_video_core">Произошла ошибка при инициализации видеоядра.</string>
<string name="loader_error_video_core_description">Обычно это вызвано несовместимым драйвером ГПУ. Установка пользовательского драйвера ГПУ может решить эту проблему.</string>
<string name="loader_error_video_core_description">Обычно это вызвано несовместимым драйвером ГП. Установка пользовательского драйвера ГП может решить эту проблему.</string>
<string name="loader_error_file_not_found">Файл ROM не существует</string>
<string name="loader_requires_firmware">Игре требуется прошивка</string>
@ -847,7 +805,7 @@
<string name="custom_settings_failed_message">Не удалось применить пользовательские настройки для %1$s: %2$s</string>
<string name="launch_with_default_settings">Запустить с настройками по умолчанию</string>
<string name="launch_cancelled">Запуск отменен</string>
<string name="custom_settings_failure_reasons">Не удалось применить запрошенные настройки. Это может быть связано с отсутствием драйверов ГПУ или проблемами конфигурации.</string>
<string name="custom_settings_failure_reasons">Не удалось применить запрошенные настройки. Это может быть связано с отсутствием драйверов GPU или проблемами конфигурации.</string>
<string name="custom_settings_applied">Пользовательские настройки применены</string>
<string name="launching_game">Запуск %1$s...</string>
<string name="failed_to_initialize_game">Не удалось инициализировать игру</string>
@ -869,8 +827,8 @@
<string name="driver_not_found">Необходимый драйвер не установлен: %s</string>
<string name="invalid_driver_file">Неверный файл драйвера: %s</string>
<string name="network_unavailable">Сетевое соединение недоступно. Проверьте подключение к интернету и попробуйте снова.</string>
<string name="driver_missing_title">Требуется драйвер ГПУ</string>
<string name="driver_missing_message">Эта конфигурация игры требует драйвер ГПУ \"%s\" который не установлен на вашем устройстве. \n\nХотите скачать и установить его сейчас\?</string>
<string name="driver_missing_title">Требуется драйвер GPU</string>
<string name="driver_missing_message">Эта конфигурация игры требует драйвер GPU \"%s\" который не установлен на вашем устройстве. \n\nХотите скачать и установить его сейчас\?</string>
<string name="driver_download_cancelled">Загрузка драйвера отменена. Игра не может быть запущена без необходимого драйвера.</string>
<string name="download">Скачать</string>
@ -994,13 +952,6 @@
<string name="dma_accuracy_unsafe">Небезопасно</string>
<string name="dma_accuracy_safe">Безопасный</string>
<!-- Frame Pacing Mode -->
<string name="frame_pacing_mode_target_Auto">Авто</string>
<string name="frame_pacing_mode_target_30">30 FPS</string>
<string name="frame_pacing_mode_target_60">60 FPS</string>
<string name="frame_pacing_mode_target_90">90 FPS</string>
<string name="frame_pacing_mode_target_120">120 FPS</string>
<!-- ASTC Recompression Method Choices -->
<string name="astc_recompression_uncompressed">Без сжатия</string>
<!-- ASTC Recompression Method Choices -->
@ -1083,23 +1034,18 @@
<string name="use_black_backgrounds">Чёрный фон</string>
<string name="use_black_backgrounds_description">При использовании темной темы применяйте черный фон.</string>
<!-- Buttons -->
<string name="enable_folder_button">Папка</string>
<string name="enable_folder_button_description">Показать кнопку для добавления папок с играми</string>
<string name="enable_qlaunch_button">QLaunch</string>
<string name="enable_qlaunch_button_description">Показать кнопку для запуска QLaunch</string>
<!-- App Language -->
<string name="app_language">Язык приложения</string>
<string name="app_language_description">Поменять язык интерфейса приложения</string>
<string name="app_language_system">Следовать системе</string>
<!-- Static Themes -->
<string name="static_theme_color">Цвет темы</string>
<string name="eden_theme">Eden (По умолчанию)</string>
<string name="violet">Фиолетовый </string>
<string name="blue">Синий</string>
<string name="cyan">Циановый</string>
<string name="red">Красный</string>
<string name="green">Зелёный (По умолчанию)</string>
<string name="green">Зелёный</string>
<string name="yellow">Жёлтый</string>
<string name="orange">Оранжевый</string>
<string name="pink">Розовый</string>
@ -1131,39 +1077,7 @@
<string name="enable_overlay">Включить апплет-оверлей</string>
<string name="enable_overlay_description">Активирует встроенный в Horizon оверлейный апплет. Для его отображения нажмите и удерживайте кнопку «HOME» в течение одной секунды.</string>
<!-- Profile Management -->
<string name="profile_manager">Менеджер профилей</string>
<string name="profile_manager_description">Управление пользовательскими профилями</string>
<string name="profile_add_user">Добавить пользователя</string>
<string name="profile_new_user">Новый пользователь</string>
<string name="profile_edit_user">Редактировать пользователя</string>
<string name="profile_edit">Редактировать</string>
<string name="profile_delete">Удалить</string>
<string name="profile_username">Имя пользователя</string>
<string name="profile_uuid">ID пользователя (UUID)</string>
<string name="profile_uuid_description">Это уникальный идентификатор данного профиля пользователя. Его нельзя изменить после создания.</string>
<string name="profile_generate">Сгенерировать</string>
<string name="profile_avatar">Аватар пользователя</string>
<string name="profile_select_image">Выбрать изображение</string>
<string name="profile_firmware_avatars">Встроенные аватары</string>
<string name="profile_firmware_avatars_unavailable">Встроенные аватары профиля недоступны. Требуется установка прошивки.</string>
<string name="profile_revert_image">Восстановить по умолчанию</string>
<string name="profile_current_user">Текущий пользователь</string>
<string name="profile_max_users_title">Достигнут лимит пользователей</string>
<string name="profile_max_users_message">Вы не можете создать более 8 профилей пользователей. Удалите один из существующих профилей, чтобы создать новый.</string>
<string name="profile_delete_confirm_title">Удалить профиль\?</string>
<string name="profile_delete_confirm_message">Вы уверены, что хотите удалить %1$s\? Все сохранения этого пользователя будут удалены.</string>
<string name="profile_delete_current_user_message">Вы уверены, что хотите удалить %1$s\? Это текущий выбранный пользователь. После удаления будет автоматически выбран первый доступный пользователь.</string>
<string name="profile_create_failed">Не удалось создать профиль пользователя</string>
<string name="profile_update_failed">Не удалось обновить профиль пользователя</string>
<string name="profile_image_load_error">Не удалось загрузить изображение: %1$s</string>
<string name="profile_image_save_error">Не удалось сохранить изображение: %1$s</string>
<string name="error">Ошибка</string>
<!-- Licenses screen strings -->
<string name="licenses">Лицензии</string>
<string name="license_fidelityfx_fsr_description">Высококачественное масштабирование от AMD</string>
<string name="external_content">Дополнительный контент</string>
<string name="add_folders">Добавить папку</string>
</resources>
</resources>

View file

@ -283,7 +283,9 @@
<string name="qlaunch_description">Покрените апликације са почетног екрана система</string>
<string name="applets">Апплет бацач</string>
<string name="applets_description">Покрените системске аплете помоћу инсталираног фирмвера</string>
<string name="applets_error_firmware">Фирмвер није инсталиран или је неважећа верзија</string>
<string name="applets_error_applet">Апплет није доступан</string>
<string name="applets_error_description">prod.keys</string>
<string name="album_applet">Албум</string>
<string name="album_applet_description">Погледајте слике сачуване у фасцикли заслона корисника са системом Гледач фотографија</string>
<string name="mii_edit_applet">Хиљаде Едит</string>
@ -301,6 +303,7 @@
<string name="copied_to_clipboard">Копирано у међуспремник</string>
<string name="about_app_description">Емулатор прекидача отвореног кода</string>
<string name="contributors">Сарадници</string>
<string name="contributors_description">Сарадници који су омогућили ЕДЕН за Андроид</string>
<string name="licenses_description">Пројекти који омогућавају ЕДЕН за Андроид</string>
<string name="build">Градити</string>
<string name="user_data">Кориснички подаци</string>
@ -376,6 +379,8 @@
<string name="renderer_force_max_clock_description">Снагује ГПУ да се покреће максималним могућим сатовима (топлотна ограничења ће се и даље примењивати).</string>
<string name="renderer_reactive_flushing">Користите реактивно испирање</string>
<string name="renderer_reactive_flushing_description">Побољшава тачност приказивања у неким играма по цени перформанси.</string>
<string name="skip_cpu_inner_invalidation">Preskoči unutrašnje poništavanje CPU-a</string>
<string name="skip_cpu_inner_invalidation_description">Preskače određena poništavanja keša na strani CPU-a tokom ažuriranja memorije, smanjujući opterećenje procesora i poboljšavajući performanse. Može izazvati greške u nekim igrama.</string>
<string name="renderer_asynchronous_shaders">Користите асинхроне схадера</string>
@ -779,6 +784,7 @@
<string name="blue">Плава</string>
<string name="cyan">Цијан</string>
<string name="red">Црвено</string>
<string name="green">Зеленило</string>
<string name="yellow">Жути</string>
<string name="orange">Наранџаста</string>
<string name="pink">Ружичаст</string>

View file

@ -31,8 +31,6 @@
<string name="enable_input_overlay_auto_hide">Увімкнути автоматичне приховування оверлею</string>
<string name="hide_overlay_on_controller_input">Приховувати оверлей при введенні з контролера</string>
<string name="hide_overlay_on_controller_input_description">Автоматично приховувати керування із сенсорного екрана при використанні фізичного контролера. Оверлей знову з’явиться при від’єднанні контролера.</string>
<string name="invert_confirm_back_controller_buttons">Інвертувати кнопки контролера «Підтвердити»/«Назад»</string>
<string name="invert_confirm_back_controller_buttons_description">Поміняти в Android місцями дії кнопок «Підтвердити» та «Назад», щоб пасувати стилям Switch та Xbox під час користування інтерфейсом застосунку.</string>
<string name="input_overlay_options">Оверлей введення</string>
<string name="input_overlay_options_description">Налаштувати наекранне керування</string>
@ -317,9 +315,6 @@
<string name="share_log">Поділитися логами</string>
<string name="share_log_description">Поділіться лог-файлом для діагностики та допомоги з проблемою.</string>
<string name="share_log_missing">Файл логу не знайдено</string>
<string name="share_gpu_log">Поділитися журналом ГП</string>
<string name="share_gpu_log_description">Поділитися файлом журналу ГП Edenа для зневадження графічних помилок</string>
<string name="share_gpu_log_missing">Файл журналу ГП не виявлено</string>
<string name="install_game_content">Встановити вміст гри</string>
<string name="install_game_content_description">Встановити оновлення або DLC</string>
<string name="installing_game_content">Встановлення вмісту…</string>
@ -377,9 +372,9 @@
<string name="qlaunch_description">Запуск додатків з домашнього екрану системи</string>
<string name="applets">Аплети</string>
<string name="applets_description">Запуск системних аплетів за допомогою прошивки.</string>
<string name="applets_error_firmware">Прошивку не встановлено</string>
<string name="applets_error_firmware">Прошивка не встановлена або недійсна версія</string>
<string name="applets_error_applet">Аплет недоступний</string>
<string name="applets_error_description"><![CDATA[Переконайтеся, що файл <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">прошивка</a> встановлені та спробуйте ще раз.]]></string>
<string name="applets_error_description"><![CDATA[Переконайтеся, що ваш файл <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> та <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">прошивка</a> встановлені, і спробуйте ще раз.<br>Також переконайтеся, що ваша прошивка має версію 19.0.1 або старішу.]]></string>
<string name="album_applet">Альбом</string>
<string name="album_applet_description">Перегляд зображень у папці скріншотів.</string>
<string name="mii_edit_applet">Редактор Mii</string>
@ -397,7 +392,7 @@
<string name="copied_to_clipboard">Скопійовано в буфер обміну</string>
<string name="about_app_description">Емулятор Switch із відкритим вихідним кодом</string>
<string name="contributors">Автори проєкту</string>
<string name="contributors_description">Люди, які зробили Eden на Android можливим</string>
<string name="contributors_description">Зроблено з \u2764 командою Eden</string>
<string name="licenses_description">Проєкти, які зробили запуск Eden на Android можливим</string>
<string name="build">Збірка</string>
<string name="user_data">Дані користувача</string>
@ -414,10 +409,6 @@
<string name="frame_limit_enable_description">Обмежує швидкість емуляції у відсотках від нормальної.</string>
<string name="frame_limit_slider">Відсоток обмеження</string>
<string name="frame_limit_slider_description">Вказує відсоток обмеження швидкості. 100% — звичайна швидкість.</string>
<string name="turbo_speed_limit">Прискорення</string>
<string name="turbo_speed_limit_description">Коли увімкнено «Прискорення», емуляція відбувається з цією швидкістю.</string>
<string name="slow_speed_limit">Сповільнення</string>
<string name="slow_speed_limit_description">Коли увімкнено «Сповільнення», емуляція відбувається з цією швидкістю.</string>
<string name="cpu_backend">Режим CPU</string>
<string name="cpu_accuracy">Точність CPU</string>
<string name="value_with_units">%1$s%2$s</string>
@ -469,8 +460,6 @@
<string name="renderer_accuracy_description">Керує режимом емуляції ГП. Більшість ігор добре візуалізуються з режимами «Швидко» або «Збалансовано», але деякі ігри можуть потребувати режиму «Точно». Частинки зазвичай правильно візуалізуються лише з режимом «Точно».</string>
<string name="dma_accuracy">Точність DMA</string>
<string name="dma_accuracy_description">Керує точністю DMA. Безпечна точність може виправити проблеми в деяких іграх, але в деяких випадках також може вплинути на продуктивність. Якщо не впевнені, залиште це значення за замовчуванням.</string>
<string name="frame_pacing_mode">Режим виведення кадрів</string>
<string name="frame_pacing_mode_description">Керує тим, як емулятор виконує виведення кадрів, щоб зменшити затримки й забезпечити плавнішу й стабільнішу частоту кадрів.</string>
<string name="anisotropic_filtering">Анізотропне фільтрування</string>
<string name="anisotropic_filtering_description">Покращує якість текстур під кутом.</string>
<string name="vram_usage_mode">Режим використання VRAM</string>
@ -488,10 +477,7 @@
<string name="renderer_force_max_clock_description">Змушує GPU працювати на максимальній тактовій частоті.</string>
<string name="renderer_reactive_flushing">Реактивне очищення</string>
<string name="renderer_reactive_flushing_description">Покращує точність рендерингу в деяких іграх.</string>
<string name="enable_buffer_history">Увімкнути історію буфера</string>
<string name="enable_buffer_history_description">Вмикає доступ до попередніх станів буфера. Цей параметр може покращити якість візуалізації та стабільну продуктивність у деяких іграх.</string>
<string name="use_optimized_vertex_buffers">Оптимізовані буфери вершин</string>
<string name="use_optimized_vertex_buffers_description">Застосовує оптимізований буфер вершин, щоб покращити продуктивність. Потребує драйверів Mesa 26.0+ Turnip. На старіших драйверах виникатиме збій.</string>
<string name="hacks">Обхідні рішення</string>
@ -500,20 +486,15 @@
<string name="skip_cpu_inner_invalidation">Пропустити внутрішнє інвалідування CPU</string>
<string name="skip_cpu_inner_invalidation_description">Пропускає деякі інвалідації кешу на стороні CPU під час оновлення пам\'яті, зменшуючи навантаження на процесор і покращуючи продуктивність. Може спричинити збої в деяких іграх.</string>
<string name="fix_bloom_effects">Виправити ефекти світіння</string>
<string name="fix_bloom_effects_description">Зменшує розмиття світіння в LA/EOW (Adreno 700), прибирає світіння в Burnout. Увага: може спричинити графічні артефакти в інших іграх.</string>
<string name="fix_bloom_effects_description">Зменшує розмиття світіння в LA/EOW (Adreno 700), прибирає світіння в Burnout</string>
<string name="renderer_asynchronous_shaders">Асинхронні шейдери</string>
<string name="renderer_asynchronous_shaders_description">Компілює шейдери асинхронно. Це може зменшити затримки, але також може спричинити графічні баги.</string>
<string name="gpu_unswizzle_settings">Налаштування розпакування за допомогою ГП</string>
<string name="gpu_unswizzle_settings_description">Налаштуйте розпакування текстур за допомогою ГП або повністю вимкнути його. Відкоригуйте ці налаштування, щоб урівноважити продуктивність і якість завантаження текстур.</string>
<string name="gpu_unswizzle_enable">Увімкнути розпакування за допомогою ГП</string>
<string name="gpu_unswizzle_disabled">Вимкнено</string>
<string name="gpu_unswizzle_texture_size">Максимальний розмір текстур для розпакування ГП за допомогою ГП</string>
<string name="gpu_unswizzle_texture_size_description">Встановлює максимальний розмір (МБ) для розпакування текстур за допомогою ГП. ГП швидше справляється з текстурами середніх і великих розмірів, а ЦП ефективніший для дуже маленьких. Налаштуйте, щоб збалансувати ГП-прискоренням і навантаженням на ЦП.</string>
<string name="gpu_unswizzle_stream_size">Розмір потоку розпакування за допомогою ГП</string>
<string name="gpu_unswizzle_stream_size_description">Встановлює обмеження даних на кадр для розпакування великих текстур. Вищі значення пришвидшують завантаження текстур за рахунок більших кадрових затримок; менші значення зменшують перевантаження ГП але може спричинити помітні появи текстур.</string>
<string name="gpu_unswizzle_chunk_size">Розмір блоків розпакування за допомогою ГП</string>
<string name="gpu_unswizzle_texture_size">Максимальний розмір текстур для відновлення перевпорядковування за допомогою ГП</string>
<string name="gpu_unswizzle_texture_size_description">Встановлює максимальний розмір (МБ) для відновлення перевпорядкованих текстур за допомогою ГП. ГП швидше справляється з текстурами середніх і великих розмірів, а ЦП ефективніший для дуже маленьких. Налаштуйте, щоб збалансувати ГП-прискоренням і навантаженням на ЦП.</string>
<string name="gpu_unswizzle_stream_size">Розмір потоку відновлення перевпорядковування за допомогою ГП</string>
<string name="gpu_unswizzle_stream_size_description">Встановлює обмеження даних на кадр для відновлення перевпорядкування великих текстур. Вищі значення пришвидшують завантаження текстур за рахунок більших кадрових затримок; менші значення зменшують перевантаження ГП але може спричинити помітні появи текстур.</string>
<string name="gpu_unswizzle_chunk_size">Розмір блоків відновлення перевпорядковування за допомогою ГП</string>
<string name="gpu_unswizzle_chunk_size_description">Визначає кількість зрізів глибини, оброблених за партію 3D-текстур. Збільшення здатне покращити пропускну здатність на потужних ГП, але може призвести до затримок або затримок драйвера зі слабшим устаткуванням.</string>
<string name="gpu_unswizzle_default_button">Стандартно</string>
<string name="extensions">Розширення</string>
@ -554,28 +535,10 @@
<string name="patch_old_qcom_drivers_description">Перехоплення автоматичного виявлення текстур у форматі BCn для ГП Adreno. Зазвичай автовиявлення залежить від версії Android (увімкнено на API 28+).</string>
<string name="fastmem">Швидка пам\'ять</string>
<string name="log">Журналювання</string>
<string name="log">Логування</string>
<string name="flush_by_line">Скидати логи налагодження по рядках</string>
<string name="flush_by_line_description">Скидає логи налагодження після кожного написаного рядка, полегшуючи налагодження у випадках збоїв або зависань.</string>
<!-- GPU Logging strings -->
<string name="gpu_logging_header">Журналювання ГП</string>
<string name="gpu_logging_enabled">Увімкнути журналювання ГП</string>
<string name="gpu_logging_enabled_description">Журналювати операції ГП до eden_gpu.log для зневадження драйверів Adreno</string>
<string name="gpu_log_level">Рівень журналювання</string>
<string name="gpu_log_level_description">Рівень подробиць у журналі ГП (вищий = більше подробиць, більший вплив на швидкодію)</string>
<string name="gpu_log_vulkan_calls">Записувати виклики API Vulkan</string>
<string name="gpu_log_vulkan_calls_description">Відстежувати всі виклики API Vulkan у кільцевому буфері</string>
<string name="gpu_log_shader_dumps">Зберігати шейдери</string>
<string name="gpu_log_shader_dumps_description">Зберігати до файлів скомпільовані шейдери SPIR-V</string>
<string name="gpu_log_memory_tracking">Відстежувати пам’ять ГП</string>
<string name="gpu_log_memory_tracking_description">Відстежувати використання і звільнення пам’яті ГП</string>
<string name="gpu_log_driver_debug">Зневаджувальна інформація драйверів</string>
<string name="gpu_log_driver_debug_description">Збирати зневаджувальну інформацію щодо драйверів (breadcrumbs Turnip тощо)</string>
<string name="gpu_log_ring_buffer_size">Розмір кільцевого буфера</string>
<string name="gpu_log_ring_buffer_size_description">Кількість останніх викликів Vulkan для відстеження (стандартно: 512)</string>
<string name="gpu_log_ring_buffer_size_hint">Від 64 до 4096 записів</string>
<string name="general">Загальні</string>
<!-- Audio settings strings -->
@ -691,7 +654,7 @@
<string name="import_complete">Імпорт завершено </string>
<string name="use_global_setting">Використовувати глобальне налаштування</string>
<string name="operation_completed_successfully">Операція завершилася успішно</string>
<string name="confirm">Підтвердити</string>
<string name="confirm">Підтвердити </string>
<string name="load">Завантажити</string>
<string name="save">Зберегти</string>
@ -730,8 +693,6 @@
<string name="preferences_graphics">Графіка</string>
<string name="preferences_graphics_description">Рівень точності, роздільна здатність, кеш шейдерів</string>
<string name="quick_settings">Швидкі налаштування</string>
<string name="enable_quick_settings">Увімкнути швидкі налаштування</string>
<string name="enable_quick_settings_description">Дозволяє отримувати доступ до меню швидких налаштувань за допомогою жесту і кнопку меню</string>
<string name="preferences_audio">Аудіо</string>
<string name="preferences_audio_description">Аудіорушій, гучність</string>
<string name="preferences_controls">Керування</string>
@ -995,13 +956,6 @@
<string name="dma_accuracy_unsafe">Небезпечно</string>
<string name="dma_accuracy_safe">Безпечно</string>
<!-- Frame Pacing Mode -->
<string name="frame_pacing_mode_target_Auto">Автоматично</string>
<string name="frame_pacing_mode_target_30">30 к/с</string>
<string name="frame_pacing_mode_target_60">60 к/с</string>
<string name="frame_pacing_mode_target_90">90 к/с</string>
<string name="frame_pacing_mode_target_120">120 к/с</string>
<!-- ASTC Recompression Method Choices -->
<string name="astc_recompression_uncompressed">Без стиснення</string>
<!-- ASTC Recompression Method Choices -->
@ -1084,24 +1038,18 @@
<string name="use_black_backgrounds">Чорний фон</string>
<string name="use_black_backgrounds_description">Використовувати чорний фон у темній темі.</string>
<!-- Buttons -->
<string name="enable_folder_button">Тека</string>
<string name="enable_folder_button_description">Показувати кнопку додавання тек з іграми</string>
<string name="enable_qlaunch_button">QLaunch</string>
<string name="enable_qlaunch_button_description">Показувати кнопку запуску QLaunch</string>
<!-- App Language -->
<string name="app_language">Мова застосунку</string>
<string name="app_language_description">Змінити мову інтерфейсу застосунку</string>
<string name="app_language_system">Як у системі</string>
<!-- Static Themes -->
<string name="static_theme_color">Колір теми</string>
<string name="eden_theme">Eden</string>
<string name="violet">Фіолетовий</string>
<string name="eden_theme">Eden (стандартно)</string>
<string name="violet">Фіолетовий (Типовий)</string>
<string name="blue">Синій</string>
<string name="cyan">Блакитний</string>
<string name="red">Червоний</string>
<string name="green">Зелений (стандартний)</string>
<string name="green">Зелений</string>
<string name="yellow">Жовтий</string>
<string name="orange">Помаранчевий</string>
<string name="pink">Рожевий</string>
@ -1133,39 +1081,7 @@
<string name="enable_overlay">Увімкнути аплет оверлея</string>
<string name="enable_overlay_description">Вмикає вбудований аплет-оверлей Horizon. Натисніть і утримуйте 1 секунду кнопку «Домівка», щоб показати його.</string>
<!-- Profile Management -->
<string name="profile_manager">Керування профілями</string>
<string name="profile_manager_description">Керувати профілями користувачів</string>
<string name="profile_add_user">Додати користувача</string>
<string name="profile_new_user">Новий користувач</string>
<string name="profile_edit_user">Редагувати користувача</string>
<string name="profile_edit">Редагувати</string>
<string name="profile_delete">Видалити</string>
<string name="profile_username">Ім’я користувача</string>
<string name="profile_uuid">ID користувача (UUID)</string>
<string name="profile_uuid_description">Це унікальний ідентифікатор цього профілю. Після створення його неможливо змінити.</string>
<string name="profile_generate">Згенерувати</string>
<string name="profile_avatar">Аватар користувача</string>
<string name="profile_select_image">Вибрати зображення</string>
<string name="profile_firmware_avatars">Аватари прошивки</string>
<string name="profile_firmware_avatars_unavailable">Аватари прошивки недоступні. Встановіть прошивку, щоб користуватися цією функцією.</string>
<string name="profile_revert_image">Повернути стандартне</string>
<string name="profile_current_user">Поточний користувач</string>
<string name="profile_max_users_title">Досягнуто максимуму користувачів</string>
<string name="profile_max_users_message">Ви не можете створити більше 8-ми профілів користувачів. Видаліть наявний профіль, щоб створити новий.</string>
<string name="profile_delete_confirm_title">Видалити профіль\?</string>
<string name="profile_delete_confirm_message">Ви впевнені, що хочете видалити %1$s\? Усі незбережені дані цього користувача будуть видалені.</string>
<string name="profile_delete_current_user_message">Ви впевнені, що хочете видалити %1$s\? Це наразі вибраний користувач. Натомість буде вибрано першого доступного користувача.</string>
<string name="profile_create_failed">Не вдалося створити профіль користувача</string>
<string name="profile_update_failed">Не вдалося оновити профіль користувача</string>
<string name="profile_image_load_error">Не вдалося завантажити зображення: %1$s</string>
<string name="profile_image_save_error">Не вдалося зберегти зображення: %1$s</string>
<string name="error">Помилка</string>
<!-- Licenses screen strings -->
<string name="licenses">Ліцензії</string>
<string name="license_fidelityfx_fsr_description">Високоякісне масштабування від AMD</string>
<string name="external_content">Зовнішній вміст</string>
<string name="add_folders">Додати теку</string>
</resources>
</resources>

View file

@ -270,7 +270,9 @@
<string name="qlaunch_description">Khởi chạy ứng dụng từ màn hình chính hệ thống</string>
<string name="applets">Trình khởi chạy applet</string>
<string name="applets_description">Khởi chạy applet hệ thống</string>
<string name="applets_error_firmware">Firmware chưa cài đặt hoặc phiên bản không hợp lệ</string>
<string name="applets_error_applet">Applet không khả dụng</string>
<string name="applets_error_description"><![CDATA[Hãy đảm bảo file <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> và <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a> đã được cài đặt và thử lại.<br>Đồng thời đảm bảo firmware của bạn là phiên bản 19.0.1 hoặc cũ hơn.]]></string>
<string name="album_applet">Album</string>
<string name="album_applet_description">Xem ảnh trong thư mục chụp màn hình</string>
<string name="mii_edit_applet">Chỉnh sửa Mii</string>
@ -288,6 +290,7 @@
<string name="copied_to_clipboard">Đã sao chép vào bộ nhớ tạm</string>
<string name="about_app_description">Một giả lập Switch mã nguồn mở</string>
<string name="contributors">Người đóng góp</string>
<string name="contributors_description">Được làm với \u2764 từ nhóm Eden</string>
<string name="licenses_description">Các dự án làm cho Eden trên Android trở thành điều có thể</string>
<string name="build">Dựng</string>
<!-- General settings strings -->
@ -352,6 +355,8 @@
<string name="renderer_force_max_clock_description">Buộc GPU hoạt động ở xung nhịp tối đa có thể (ràng buộc nhiệt độ vẫn sẽ được áp dụng).</string>
<string name="renderer_reactive_flushing">Bật xả tương ứng</string>
<string name="renderer_reactive_flushing_description">Cải thiện độ chính xác hiển thị trong một số trò chơi nhưng đồng thời giảm hiệu suất chơi.</string>
<string name="skip_cpu_inner_invalidation">Bỏ qua vô hiệu hóa bên trong CPU</string>
<string name="skip_cpu_inner_invalidation_description">Bỏ qua một số lần vô hiệu hóa bộ nhớ đệm phía CPU trong khi cập nhật bộ nhớ, giảm mức sử dụng CPU và cải thiện hiệu suất. Có thể gây ra lỗi hoặc treo máy trong một số trò chơi.</string>
<string name="renderer_asynchronous_shaders">Dùng các shader bất đồng bộ</string>
@ -638,6 +643,7 @@
<string name="blue">Xanh dương</string>
<string name="cyan">Xanh lơ</string>
<string name="red">Đỏ</string>
<string name="green">Xanh lá</string>
<string name="yellow">Vàng</string>
<string name="orange">Cam</string>
<string name="pink">Hồng</string>

View file

@ -31,8 +31,6 @@
<string name="enable_input_overlay_auto_hide">开启自动隐藏虚拟按键</string>
<string name="hide_overlay_on_controller_input">使用控制器时自动隐藏虚拟输入</string>
<string name="hide_overlay_on_controller_input_description">在使用控制器自动隐藏虚拟输入,当控制器断开会自动再现。</string>
<string name="invert_confirm_back_controller_buttons">反转 确认/返回 手柄按钮</string>
<string name="invert_confirm_back_controller_buttons_description">在使用应用界面时,将安卓确认和返回按钮的作切换到 Switch 和 Xbox 的样式。</string>
<string name="input_overlay_options">虚拟按键输入</string>
<string name="input_overlay_options_description">配置虚拟按键</string>
@ -317,9 +315,6 @@
<string name="share_log">分享调试日志</string>
<string name="share_log_description">分享 Eden 日志文件以便调试</string>
<string name="share_log_missing">未找到日志文件</string>
<string name="share_gpu_log">分享 GPU 日志</string>
<string name="share_gpu_log_description">分享 Eden 的 GPU 日志来调试图形问题</string>
<string name="share_gpu_log_missing">找不到 GPU 日志文件</string>
<string name="install_game_content">安装游戏附加内容</string>
<string name="install_game_content_description">安装游戏更新及 DLC</string>
<string name="installing_game_content">安装中...</string>
@ -371,9 +366,9 @@
<string name="qlaunch_description">从系统主页启动应用</string>
<string name="applets">小程序启动器</string>
<string name="applets_description">从已安装的系统固件中启动系统小程序</string>
<string name="applets_error_firmware">未安装固件</string>
<string name="applets_error_firmware">固件未安装或版本无效</string>
<string name="applets_error_applet">小程序不可用</string>
<string name="applets_error_description"><![CDATA[请确保您的<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>文件和 <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">固件</a>已安装并重试。]]></string>
<string name="applets_error_description"><![CDATA[请确保您的<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>文件和 <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">固件</a>已安装并重试。<br>同时请确保固件版本为19.0.1或更早。]]></string>
<string name="album_applet">相册</string>
<string name="album_applet_description">查看存储在用户屏幕截图文件夹中的图像</string>
<string name="mii_edit_applet">Mii edit</string>
@ -391,6 +386,7 @@
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="about_app_description">一款开源的 Switch 模拟器</string>
<string name="contributors">贡献者</string>
<string name="contributors_description">Eden 团队的用 \u2764 制作</string>
<string name="licenses_description">Android 版 Eden 离不开这些项目的支持</string>
<string name="build">构建版本</string>
<string name="user_data">用户数据</string>
@ -407,10 +403,6 @@
<string name="frame_limit_enable_description">将运行速度限制为正常速度的指定百分比。</string>
<string name="frame_limit_slider">限制速度百分比</string>
<string name="frame_limit_slider_description">指定限制运行速度的百分比。100% 为正常速度。更高或更低的值将增加或降低速度限制上限。</string>
<string name="turbo_speed_limit">加速模式</string>
<string name="turbo_speed_limit_description">当开启 加速模式 时,模拟器将以此速度百分比运行。</string>
<string name="slow_speed_limit">减速模式</string>
<string name="slow_speed_limit_description">当开启 减速模式 时,模拟器将以此速度百分比运行。</string>
<string name="cpu_backend">CPU 后端</string>
<string name="cpu_accuracy">CPU 精度</string>
<string name="value_with_units">%1$s%2$s</string>
@ -462,8 +454,6 @@
<string name="renderer_accuracy_description">控制 GPU 模拟的精确度。大部分游戏在性能或平衡模式下可以正常渲染,但部分游戏需要设置为精确。粒子效果通常只有在精确模式下才能正确显示。</string>
<string name="dma_accuracy">DMA 精度</string>
<string name="dma_accuracy_description">控制 DMA 精度。安全精度可以修复某些游戏中的问题,但在某些情况下也可能影响性能。如果不确定,请保留为“默认”。</string>
<string name="frame_pacing_mode">帧同步模式</string>
<string name="frame_pacing_mode_description">控制模拟器如何管理帧同步,以减少卡顿,使帧率表现更加平稳顺滑。</string>
<string name="anisotropic_filtering">各向异性过滤</string>
<string name="anisotropic_filtering_description">提高斜角的纹理质量</string>
<string name="vram_usage_mode">显存使用模式</string>
@ -481,10 +471,7 @@
<string name="renderer_force_max_clock_description">强制 GPU 以最大时钟运行 (仍被温控限制)。</string>
<string name="renderer_reactive_flushing">启用反应性刷新</string>
<string name="renderer_reactive_flushing_description">牺牲性能,提高某些游戏的渲染精度。</string>
<string name="enable_buffer_history">启用缓冲区历史</string>
<string name="enable_buffer_history_description">允许访问之前的缓冲状态。\n这个选项可能会提升某些游戏的渲染质量和性能一致性。</string>
<string name="use_optimized_vertex_buffers">优化顶点缓冲区</string>
<string name="use_optimized_vertex_buffers_description">实现优化顶点缓冲区绑定以提升性能。需要 Mesa 26.0+ Turnip 驱动。老驱动会崩溃。</string>
<string name="hacks">Hacks</string>
@ -493,20 +480,15 @@
<string name="skip_cpu_inner_invalidation">跳过CPU内部无效化</string>
<string name="skip_cpu_inner_invalidation_description">在内存更新期间跳过某些CPU端缓存无效化减少CPU使用率并提高其性能。可能会导致某些游戏出现故障或崩溃。</string>
<string name="fix_bloom_effects">修复泛光效果</string>
<string name="fix_bloom_effects_description">减少《塞尔达传说:智慧的再现》(LA/EOW) 在 Adreno 700 系列 GPU 上的模糊感,并移除《横冲直撞》(Burnout) 中的模糊特效。警告:可能会导致其他游戏出现画面花屏或异常</string>
<string name="fix_bloom_effects_description">降低了 LA/EOW在 Adreno 700 系列 GPU 上)的泛光模糊;去除了《火爆狂飙》中的泛光特效</string>
<string name="renderer_asynchronous_shaders">使用异步着色器</string>
<string name="renderer_asynchronous_shaders_description">异步编译着色器。这可能会减少卡顿,但也可能会导致图形错误。</string>
<string name="gpu_unswizzle_settings">GPU 还原设置</string>
<string name="gpu_unswizzle_settings_description">配置基于 GPU 的纹理还原参数,或将其完全禁用。调整这些设置以平衡性能与纹理加载质量。</string>
<string name="gpu_unswizzle_enable">启用 GPU 还原</string>
<string name="gpu_unswizzle_disabled">禁用</string>
<string name="gpu_unswizzle_texture_size">GPU 还原最大纹理尺寸</string>
<string name="gpu_unswizzle_texture_size_description">设置基于 GPU 的纹理还原的最大尺寸单位MiB。\n虽然 GPU 在处理中型和大型纹理时速度更快但对于非常小的纹理CPU 的效率可能更高。\n调整此设置以便在 GPU 加速和 CPU 开销之间找到最佳平衡点。</string>
<string name="gpu_unswizzle_stream_size">GPU 还原流大小</string>
<string name="gpu_unswizzle_stream_size_description">设置每帧还原大型纹理的数据限制。较高的数值可以加快纹理加载速度,但代价是增加帧延迟(影响响应速度/平滑度);较低的数值可以减少 GPU 开销但可能会导致明显的纹理突然出现Pop-in现象。</string>
<string name="gpu_unswizzle_chunk_size">GPU 还原块大小</string>
<string name="gpu_unswizzle_chunk_size_description">定义了 3D 纹理在单个批次Batch中处理的深度切片Depth Slices数量。增加此数值可以提升强力 GPU 的吞吐效率但在性能较弱的硬件上可能会引起卡顿或驱动程序超时Driver Timeouts</string>
<string name="gpu_unswizzle_default_button">默认</string>
<string name="extensions">扩展</string>
@ -551,24 +533,6 @@
<string name="flush_by_line">按行刷新调试日志</string>
<string name="flush_by_line_description">在每行写入时刷新调试日志,使在崩溃或冻结时调试更容易。</string>
<!-- GPU Logging strings -->
<string name="gpu_logging_header">GPU 日志</string>
<string name="gpu_logging_enabled">启用 GPU 日志</string>
<string name="gpu_logging_enabled_description">将 GPU 操作记录至 eden_gpu.log 以供调试 Adreno 驱动</string>
<string name="gpu_log_level">日志等级</string>
<string name="gpu_log_level_description">GPU 日志的详细级别(数值越高 = 细节越多,开销越大)</string>
<string name="gpu_log_vulkan_calls">记录 Vulkan API 调用</string>
<string name="gpu_log_vulkan_calls_description">在环形缓冲区中跟踪所有 Vulkan API 调用</string>
<string name="gpu_log_shader_dumps">转储着色器</string>
<string name="gpu_log_shader_dumps_description">保存已编译的着色器 SPIR-V 到文件中</string>
<string name="gpu_log_memory_tracking">追踪 GPU 内存</string>
<string name="gpu_log_memory_tracking_description">监控 GPU 内存的分配和释放</string>
<string name="gpu_log_driver_debug">驱动调试信息</string>
<string name="gpu_log_driver_debug_description">捕获驱动级调试信息 (Turnip breadcrumbs, 等)</string>
<string name="gpu_log_ring_buffer_size">环形缓存大小</string>
<string name="gpu_log_ring_buffer_size_description">要跟踪的最近 Vulkan 调用次数(默认值: 512)</string>
<string name="gpu_log_ring_buffer_size_hint">64 到 4096 条</string>
<string name="general">常规</string>
<!-- Audio settings strings -->
@ -723,8 +687,6 @@
<string name="preferences_graphics">图形</string>
<string name="preferences_graphics_description">精度等级、分辨率及着色器缓存</string>
<string name="quick_settings">快速设置</string>
<string name="enable_quick_settings">启用快速设置</string>
<string name="enable_quick_settings_description">允许通过滑动和菜单按钮访问快速设置菜单</string>
<string name="preferences_audio">声音</string>
<string name="preferences_audio_description">输出引擎及音量</string>
<string name="preferences_controls">控制</string>
@ -988,13 +950,6 @@
<string name="dma_accuracy_unsafe">不安全</string>
<string name="dma_accuracy_safe">安全</string>
<!-- Frame Pacing Mode -->
<string name="frame_pacing_mode_target_Auto">自动</string>
<string name="frame_pacing_mode_target_30">30 FPS</string>
<string name="frame_pacing_mode_target_60">60 FPS</string>
<string name="frame_pacing_mode_target_90">90 FPS</string>
<string name="frame_pacing_mode_target_120">120 FPS</string>
<!-- ASTC Recompression Method Choices -->
<string name="astc_recompression_uncompressed">不压缩</string>
<!-- ASTC Recompression Method Choices -->
@ -1077,23 +1032,18 @@
<string name="use_black_backgrounds">使用黑色背景</string>
<string name="use_black_backgrounds_description">使用深色主题时,套用黑色背景。</string>
<!-- Buttons -->
<string name="enable_folder_button">文件夹</string>
<string name="enable_folder_button_description">显示添加游戏文件夹的按钮</string>
<string name="enable_qlaunch_button">QLaunch</string>
<string name="enable_qlaunch_button_description">显示启动 QLaunch 的按钮</string>
<!-- App Language -->
<string name="app_language">App 语言</string>
<string name="app_language_description">更改 app 界面的语言</string>
<string name="app_language_system">跟随系统</string>
<!-- Static Themes -->
<string name="static_theme_color">主题颜色</string>
<string name="eden_theme">Eden</string>
<string name="eden_theme">Eden (默认)</string>
<string name="violet">紫色(默认)</string>
<string name="blue">蓝色</string>
<string name="cyan">青色</string>
<string name="red">红色</string>
<string name="green">绿色</string>
<string name="yellow">黄色</string>
<string name="orange">橙色</string>
<string name="pink">粉色</string>
@ -1125,39 +1075,7 @@
<string name="enable_overlay">开启覆盖层小程序</string>
<string name="enable_overlay_description">开启 Horizon 内置的覆盖层小程序。请按住 home 键 1 秒来显示它。</string>
<!-- Profile Management -->
<string name="profile_manager">用户配置管理</string>
<string name="profile_manager_description">管理用户文档</string>
<string name="profile_add_user">添加用户</string>
<string name="profile_new_user">新的用户 </string>
<string name="profile_edit_user">编辑用户</string>
<string name="profile_edit">编辑</string>
<string name="profile_delete">删除</string>
<string name="profile_username">用户名</string>
<string name="profile_uuid">用户 ID (UUID)</string>
<string name="profile_uuid_description">这是该用户配置文件的唯一标识符。它在创造后无法改变。</string>
<string name="profile_generate">生成</string>
<string name="profile_avatar">用户头像</string>
<string name="profile_select_image">选择图像</string>
<string name="profile_firmware_avatars">固件自带头像</string>
<string name="profile_firmware_avatars_unavailable">固件头像不可用。请安装固件以使用此功能。</string>
<string name="profile_revert_image">恢复默认</string>
<string name="profile_current_user">当前用户</string>
<string name="profile_max_users_title">达到的最大用户数</string>
<string name="profile_max_users_message">你不能创建超过 8 个用户资料。请删除已有的个人资料以创建新的。</string>
<string name="profile_delete_confirm_title">删除自定义设置?</string>
<string name="profile_delete_confirm_message">你确定要删除 %1$s 吗?该用户的所有存档数据将被删除。</string>
<string name="profile_delete_current_user_message">你确定要删除 %1$s 吗?这是当前被选中的用户。将选择第一个可用用户。</string>
<string name="profile_create_failed">用户配置文件创建失败</string>
<string name="profile_update_failed">用户配置文件更新失败</string>
<string name="profile_image_load_error">加载失败图片:%1$s</string>
<string name="profile_image_save_error">保存失败图片:%1$s</string>
<string name="error">错误</string>
<!-- Licenses screen strings -->
<string name="licenses">许可证</string>
<string name="license_fidelityfx_fsr_description">来自 AMD 的高品质画质升级技术</string>
<string name="external_content">外部内容</string>
<string name="add_folders">添加文件夹</string>
</resources>
</resources>

View file

@ -16,8 +16,6 @@
<string name="value_too_high">範圍最大必須為%1$d</string>
<string name="invalid_value">無效的範圍</string>
<string name="using_per_game_config">使用自定義組態中</string>
<!-- Input Overlay -->
<string name="show_input_overlay">顯示虛擬按鍵</string>
<string name="show_input_overlay_description">在遊玩時顯示虛擬按鍵</string>
@ -31,11 +29,9 @@
<string name="enable_input_overlay_auto_hide">啟用自動隱藏虛擬按鍵</string>
<string name="hide_overlay_on_controller_input">使用控制器時自動隱藏虛擬按鍵</string>
<string name="hide_overlay_on_controller_input_description">在使用控制器時自動隱藏畫面上的虛擬按鍵,會在控制器斷開連接後重新出現</string>
<string name="invert_confirm_back_controller_buttons">反轉手把的 確認/返回 按鈕</string>
<string name="invert_confirm_back_controller_buttons_description">使用Eden時將手把的確認及返回鍵反轉以符合Switch與Xbox的操作方式</string>
<string name="input_overlay_options">虛擬按鍵設定</string>
<string name="input_overlay_options_description">調整虛擬按鍵的位置與顯示設定</string>
<string name="input_overlay_options_description">虛擬按鍵設定</string>
<string name="edit_overlay_layout">編輯虛擬按鍵</string>
<string name="edit_overlay_layout_description">調整虛擬按鍵的位置和大小</string>
@ -83,11 +79,9 @@
<string name="soc_overlay_options">裝置浮層</string>
<string name="soc_overlay_options_description">設定裝置浮層中顯示的資訊</string>
<string name="show_build_id">顯示Eden的組建版本</string>
<string name="show_driver_version">顯示圖形驅動程式的版本</string>
<string name="show_device_model">顯示裝置型號</string>
<string name="show_gpu_model">顯示GPU型號</string>
<string name="show_soc_model">顯示CPU型號</string>
<string name="show_soc_model">顯示SoC型號</string>
<string name="show_fw_version">顯示韌體版本</string>
<!-- Eden\'s Veil -->
@ -120,7 +114,7 @@
<string name="multiplayer_public_room">瀏覽公開房間</string>
<string name="multiplayer_username">使用者名稱</string>
<string name="multiplayer_ip_address">IP位址</string>
<string name="multiplayer_ip_port"></string>
<string name="multiplayer_ip_port"></string>
<string name="multiplayer_create_room_success">房間建立成功</string>
<string name="multiplayer_join_room_success">成功加入房間</string>
<string name="multiplayer_exit_room">退出房間</string>
@ -368,7 +362,9 @@
<string name="qlaunch_description">從系統主畫面啟動應用程式</string>
<string name="applets">小程式啟動器</string>
<string name="applets_description">使用已安裝的韌體啟動系統小程式</string>
<string name="applets_error_firmware">韌體未安裝或版本無效</string>
<string name="applets_error_applet">無法使用小程式</string>
<string name="applets_error_description"><![CDATA[請確認您的<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>檔案和 <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">韌體</a>已安裝並重試。<br>同時請確認您的韌體版本為19.0.1或更早。]]></string>
<string name="album_applet">相簿</string>
<string name="album_applet_description">使用系統相片檢視器查看儲存在使用者螢幕截圖資料夾中的影像</string>
<string name="mii_edit_applet">Mii 編輯</string>
@ -386,8 +382,9 @@
<string name="copied_to_clipboard">已複製到剪貼簿</string>
<string name="about_app_description">一個開放原始碼的 Switch 模擬器</string>
<string name="contributors">參與者</string>
<string name="contributors_description">由 Eden 團隊用 \u2764 製作</string>
<string name="licenses_description">這些專案使 Eden Android 版成為可能</string>
<string name="build">組建版本</string>
<string name="build">組建</string>
<string name="user_data">使用者資料</string>
<string name="user_data_description">導入/導出所有應用程式資料。\n\n導入使用者資料時現有的使用者資料將被取代\n\n直接從 Citron 導入資料可能會出現問題,建議手動導入所有所需資料。</string>
<string name="exporting_user_data">正在導出使用者資料…</string>
@ -462,6 +459,8 @@
<string name="renderer_force_max_clock_description">強制 GPU 以可能的最大時脈執行 (熱溫限制仍會被套用)。</string>
<string name="renderer_reactive_flushing">使用重新啟用排清</string>
<string name="renderer_reactive_flushing_description">犧牲效能,以改善部分遊戲的轉譯準確度。</string>
<string name="skip_cpu_inner_invalidation">跳過CPU內部失效處理</string>
<string name="skip_cpu_inner_invalidation_description">在記憶體更新期間跳過某些CPU端快取的失效處理減少CPU使用率並提高其性能。可能會導致某些遊戲出現故障或崩潰。</string>
<string name="renderer_asynchronous_shaders">使用非同步著色器</string>
@ -533,7 +532,7 @@
<string name="button_sl_right">右 SL</string>
<string name="button_sr_right">右 SR</string>
<string name="invalid">無效</string>
<string name="not_set"></string>
<string name="not_set">未設定</string>
<string name="unknown">未知</string>
<string name="qualified_hat">%1$s%2$s%3$s方向鍵 %4$s</string>
<string name="qualified_button_stick_axis">%1$s%2$s%3$s軸 %4$s</string>
@ -927,10 +926,12 @@
<string name="app_language_system">跟隨系統</string>
<!-- Static Themes -->
<string name="static_theme_color">主題色彩</string>
<string name="eden_theme">Eden預設</string>
<string name="violet">紫色</string>
<string name="blue">藍色</string>
<string name="cyan">青色</string>
<string name="red">紅色</string>
<string name="green">綠色</string>
<string name="yellow">黃色</string>
<string name="orange">橘色</string>
<string name="pink">粉紅色</string>

View file

@ -400,7 +400,7 @@
<string name="copied_to_clipboard">Copied to clipboard</string>
<string name="about_app_description">An open-source Switch emulator</string>
<string name="contributors">Contributors</string>
<string name="contributors_description">People who made Eden for Android possible</string>
<string name="contributors_description">Contributors who made Eden for Android possible</string>
<string name="contributors_link" translatable="false">https://git.eden-emu.dev/eden-emu/eden/activity/contributors</string>
<string name="licenses_description">Projects that make Eden for Android possible</string>
<string name="build">Build</string>

Some files were not shown because too many files have changed in this diff Show more