Compare commits

..

91 Commits

Author SHA1 Message Date
crueter bddb51bf1a Oopsies
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-06-11 02:57:50 -04:00
crueter 308c7ebb7a [ci] Fix update-deps workflow
me when spaces

Signed-off-by: crueter <crueter@eden-emu.dev>
2026-06-11 02:57:37 -04:00
lizzie 5219b9f3d2 [deps] update sirit 1.0.4 -> 1.0.5 (#4079)
should fix CI sourcepack issues

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4079
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-10 20:52:35 +02:00
Eden CI eaad33adcd [dist, android] Update translations from Transifex for Jun 09 (#4073)
Automatic translation update for Jun 09

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4073
2026-06-09 23:32:44 +02:00
crueter 3e31831cb0 [externals] UCRT64 support (#4035)
Testing which deps can't cross MSVCRT/UCRT barriers

- openssl
- Qt

FFmpeg and Sirit are fine--likely don't use the C99 APIs that MSVCRT is missing?

Closes #4022

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4035
2026-06-09 21:41:50 +02:00
lizzie 5ba3ae32dc [hle/sockets] fix crash when socket() isn't initialized but send()/recv() are called (#3729)
the correct behaviour would be for the hle service NOT to crash

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3729
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-06 03:54:55 +02:00
crueter 2912f64145 [cmake] Don't scan for CXX modules (#4063)
Added a bunch of "Scanning ... for CXX dependencies" steps to the build.
We don't use modules and probably won't for a very long time, so we
don't need this.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4063
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-06 02:19:29 +02:00
BoiledElectricity 470d43df6d [hid_core] fix bounds-check aruid index in GetControllerFromNpadIdType (#4064)
GetIndexFromAruid returns AruidIndexMax as the “not found” value, but both
GetControllerFromNpadIdType overloads were using that value to index
controller_data without checking it first.

when a game routes through DisconnectNpad before its applet resource is
registered, we can end up indexing past the end of controller_data. That seems
to be what was crashing some games on launch, especially on macOS and Android,
where the out-of-bounds read is less likely to just slide by unnoticed.

So yeah, AruidIndexMax is a sentinel, not a real controller_data index, so we
should not treat it like one.

  Fixes: https://github.com/eden-emulator/Issue-Reports/issues/438
  Fixes: https://github.com/eden-emulator/Issue-Reports/issues/439

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4064
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-05 19:26:21 +02:00
bdm110 fb6330645a [file_sys] Avoid crash on empty NACP language entries (#4062)
This fixes an Android game library scan crash when reading XCI title metadata with empty or incomplete NACP language entries.

Previously, NACP::GetLanguageEntry() could fall back to:

language_entries.at(static_cast<u8>(Language::AmericanEnglish))

When language_entries was empty, this threw std::out_of_range and aborted the Android scan thread.

The new fallback preserves the existing lookup order:
1. preferred language entry with non-empty application name
2. any entry with non-empty application name
3. first available entry
4. static empty LanguageEntry if no entries exist

Tested locally with a Mainline RelWithDebInfo APK on Odin3 Android 15 using a large external TF-card ROM directory. The previous build crashed during fresh ROM scan; the patched build completes scanning normally.

Related my issue:
https://github.com/eden-emulator/Issue-Reports/issues/500

Co-authored-by: bdm110 <bdm110@prontmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4062
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-05 17:20:24 +02:00
Yang Liu 48219f348c [dynarmic, loongarch64] Add minimal toy implementation enough to execute LSLS (#4054)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4054
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-05 02:32:06 +02:00
crueter 661346503b [net] Add support for future macOS PGO shenanigans (#4050)
Rudimentary tests showed that using PGO on macOS *does* have an
appreciable impact on performance. So we're probably going to introduce
it soon.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4050
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-05 02:24:26 +02:00
lizzie a4e9b08fe7 [docs] clang-cl with MSVC, misc docs updates (#4034)
- vtable bounce is all gone
- factual corrections to HosKernel.md

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4034
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-04 19:39:21 +02:00
lizzie ce9c7c196d [cmake] fix OpenSSL not using <openssl/cert.h> when applicable because it tries to use the system one instead of being explicitly linked (#4053)
should fix hiccups with self-built OpenSSL

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4053
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-04 19:39:09 +02:00
crueter efc7472330 [cmake] Bump minimum version to 3.31 (#4055)
Ubuntu 24.04 can't hurt us anymore.

Some other deps may have their versions raised, but there's not much of
an incentive so we'll keep it as is for now.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4055
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-04 15:28:39 +02:00
Duncan Ogilvie aadcc24aac [core/debugger] Protocol-compliant vCont support (#3896)
(gdb) set scheduler-locking on
(gdb) continue

As discussed in #3848, follow-up to implement vCont support according to spec.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3896
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-04 05:49:23 +02:00
lizzie 89199f4d27 [*] basic in-house cpp linting (#4039)
- add `#pragma once` to remainder files
- "correcter" defines (ANDROID), see https://groups.google.com/g/android-ndk/c/cf9_f1SLXls
- extra miscelly fixups

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4039
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-04 05:49:07 +02:00
lizzie 978d9d935d [vk/vma] force ANV to have HOST_CACHED stream buffers (#3792)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3792
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-04 05:48:41 +02:00
lizzie ad9af25027 [dynarmic] fix pre-SSE4.1 having errors on CMHI/CMLO, fix extra nuisances and add INTERP testcase (#4025)
does a bit of code dedup
fixes pre-SSE4.1 having horrific CMHI/CMLO

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4025
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-03 22:53:21 +02:00
lizzie f729dbb3c3 [common] use abi::__cxa_demangle for demangling using the system's glibcxx/libc++ (#3894)
most stdlibc++ already provide this functionality out of the box, very consistently and well implemented (usually)

my main irk is that the llvm itanium demangle is totally unescesary when there is a perfectly stable, tested and well documented equivalent functionality in the standard stdc++ provided in most UNIX oses

its mostly to reduce binary size by a very thin margin, but he stdc++ is more than capable of doing he same behaviour we use a dpeendency for

for mingw or such howeger,, demangling becomies trickier so we have to exclude windows entirely because well windows likes to do things differently dont they

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3894
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-03 22:53:09 +02:00
xbzk ec2b9b0400 [vk, renderdoc] fixed zero-sized streambuffer bug on old heap-absent GPUs (#4052)
This fix a bug in which eden crashes when renderdoc is attached to vulkan.
that kept me away from renderdoc for around a year now.

the bug:

in video_core\renderer_vulkan\vk_staging_buffer_pool.cpp
in GetStreamBufferSize(...)
if device.HasDebuggingToolAttached()
but heap is empty/unavailable <-- Case in my old nvidia kepler gpu

the original method returns size 0, right?
the change honors same original behavior, while covers my case properly, returning MAX_STREAM_BUFFER_SIZE.

addl some log tip and some minimal doc. fully safe. let it rip.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4052
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-03 05:02:13 +02:00
lizzie 5027aecf77 [vk] handle mali/adreno5xx driver bug returning VK_INCOMPLETE on graphics pipeline creation (#3383)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3383
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-02 21:57:23 +02:00
crueter f39e985434 [cmake] Link to UniformTypeIdentifiers framework on macOS (#4046)
Needed for local LLVM builds

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4046
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-02 21:40:51 +02:00
Eden CI f8f5a9b1a2 [dist, android] Update translations from Transifex for Jun 02 (#4051)
Automatic translation update for Jun 02

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4051
2026-06-02 16:25:06 +02:00
crueter a8047d3b12 [cmake] Fix OpenSSL flaky build by using a CMake script (#4047)
Something weird is happening with the CI that causes frequent build errors. For reasons I am not entirely certain of, Ninja fails to properly spawn a POSIX shell instance during the Make phase.

More investigation is in order, but for now fix it with the grand power of shelling out to CMake script

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4047
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-02 07:02:31 +02:00
crueter cc8451f764 [desktop] Rework game list to use MVP architecture (#4042)
Closes #3480

moves the game list model/worker/private stuff to qt_common for later
use in QML

- `qt_common/game_list/model.{cpp,h}` is the model
- `yuzu/game/game_{grid,tree}.*` are the views
- `yuzu/game/game_list.cpp` is the presenter

This was done very lazily in a manner that "works" while largely
maintaining existing structure as much as possible. Most of it is
copy-paste, with some bonus reworks/cleanups thrown in.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4042
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-02 04:08:24 +02:00
crueter 27189f39d2 [desktop] Prefer extracred folder name over zip name for non-Atmosphere zip mods (#4043)
e.g. Serfrost's Defogger will now be named "Serfrosts Defogger" by
default, instead of "serfrosts_base_defogger_v2-4"

Note that for atmosphere mods it still uses the zip folder name, since otherwise their default name will just be the game's Title ID.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4043
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-02 04:08:09 +02:00
crueter 683e6249c3 [cmake] Allow building OpenSSL from source (#4032)
If YUZU_USE_BUNDLED_OPENSSL is off and OpenSSL is *not* installed to the
system, pulls in OpenSSL and Jimmy Park's CMake wrapper, then configures + builds from source.

Some patches were made on top of OpenSSL and openssl-cmake:
- USE_CCACHE is respected from UseCcache.cmake
- CXX/CFLAGS are passed from CMake to the configure script, which sends
  those to the compiler
- Uses a bundled cert.h akin to the bundled OpenSSL build

Closes #3614

~~Before merge: remove verbose stuff~~ actually useful so nvm

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4032
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-02 03:40:28 +02:00
crueter eaece15dbd [svc] Stub BreakDebugProcess (#4044)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4044
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-02 03:33:38 +02:00
xbzk 8e5419209c [video,buffer] rewrite storagebufferbinding size() lambda to be full data driven instead of cbuf_index based (#4041)
fixes an yxzx era bug where eden assumed NVN-style packed SSBO descriptors (u64 gpu_addr followed by size) only happen in cbuf_index == 0.

Mega Man Star Force Collection proves that assumption is false. It has an unbiased/global-memory SSBO descriptor in cbuf_index == 3, offsets 0x100/0x300, but the descriptor still appears to be { address, size }.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4041
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-02 03:31:59 +02:00
lizzie 8fac95dcc0 [vk] Fix regressions introduced by #3997 w.r.t to marked stages for pipeline barriers (#4037)
evil barriers :)

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4037
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-02 01:28:39 +02:00
crueter 706a3d0764 [cmake] Disable no-cast-function-type-mismatch on Clang 19 (#4038)
Suppresses this annoying warning during Android builds

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4038
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-02 01:28:16 +02:00
CamilleLaVey 3d19743d95 [vulkan] Fix regressions found in last stable release (#3953)
This PR aims to fix some regressions found in the latest release 0.2.0, which were a bunch of constant crashes/ random on certain Android devices with issues with the PiP configuration, addressing some problems founds for AMD after the maintenance of 2nd Global Vulkan Maintenance.

-> Fixes Final Fantasy Tactics on AMD (no longer requires of generic bits to work "all commands bit")
-> Fixes some performance regressions on android due to the Tomodachi fix applied globally as common behavior (#3898, #3900)
-> Fixes blittering of screen found on ARM Windows devices and QCOM stock drivers (Android and ARM Windows) related to Mario Kart 8 Deluxe strange blittering in races, caused by a strange race condition with the ResetQueryPool and mostly the workaround for presync
-> Fixes issues on Luigi's Mansion 3 issue where the pause screen became black on AMD due to the early reset of queries.
-> Fixes crashes on Mario Party Jamboree for AMD/ Nvidia.
-> Keeps previous fixes related to crashes on AMD with other games such as Astral Chain, Fire Emblem Three Houses and Xenoblade 3 based on the lack of access to vertex fragment replaced with generic flags.
-> Fixes TOTK RADV skybox lighting.

--------
Credits:
@melod-y
@Gidoly
@MaranBr
@AlexWolff
@Lizzie

And all the people who contributed into the reporting issues/ helping with the bisect.

Co-authored-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3953
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-02 01:06:12 +02:00
crueter bd2d344040 [desktop] Restore metal layer search (#4033)
This was cut out in #3916 by accident.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4033
2026-05-31 04:19:49 +02:00
lizzie 5f4a286046 [dynarmic] cleanup duplicate code and reimpls of std::* bit stuff (#4017)
A bit of a minor cleanup
- std::rotr instead of mcl::bit::rotate_right
- std::rotl likewise
- std::popcount instaed of "count ones"
- use ConvertRoundingModeToX64Immediate where appropiate
- std integral

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4017
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-31 04:18:12 +02:00
crueter b7fcec4985 [desktop] Increase rlimit on UNIX/Apple (#4030)
Sets max open fd limit to 8192 on non-windows platforms (or bounds it to
the system hard limit). Complement to the previous VFS PR.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4030
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-31 04:13:56 +02:00
MaranBr 0473747f94 [am] Fix application state notification (#4027)
This fixed issues in Mario Kart 8 multiplayer where the native controller applet would pop up, then once A was pressed and it exited, it would freeze the game but music would continue playing.

The issue was that UpdateRequestedFocusState() updates the focus state but never sets m_has_focus_state_changed for applications. Since ShouldSignalSystemEvent() checks that flag for applications, they never receive FocusStateChanged messages when LLE library applets exit. The game keeps running (hence the music) but is stuck waiting for a focus notification that never arrives. HLE applets aren't affected because their dummy process has is_process_running=false, so the game is never considered obscured in the first place.

Credits: [davidcollini](https://github.com/davidcollini)

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4027
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-31 03:55:12 +02:00
lizzie 23bb909bc9 [audio_core] fix OOB copy when silencing channel on shutdown (#3969)
when shutting down the emulator will silence any remaining audio from the output buffer
however this is for some reason stored in an array instead of being a simple memset
additionally, said array can be small enough (`frame_size_bytes > silence.size()`) to cause a funky noise to play at the end

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3969
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-31 02:38:26 +02:00
lizzie e94ac63a5e [common/thread] fix MSVC build error with _rdstc (#4029)
fixes issue reported by @bruno

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4029
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-31 02:32:21 +02:00
Eden CI 88ff086d13 [dist, android] Update translations from Transifex for May 30 (#4028)
Automatic translation update for May 30

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4028
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-31 02:32:12 +02:00
lizzie 116377f6d9 [vk] fix oversight with #3874 with invalid image ids (#4026)
oopsie, forgot we had a GC
fixes SSBU

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4026
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-30 21:59:18 +02:00
lizzie 7c32cf03a1 [core/core_timing] better MWAITX and WAITPKG delays (#3984)
This implements MWAITX and WAITPKG extensions (umonitor, mwait) for CPUs that support them.

Reduces wait times and bypasses the timing stuff from the OS that is slow (windows notably). generally it should answer within 0.2 to 0.5 microsecs (since most requests wait for that long).

Also does a general rework of static ctors and stuff

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3984
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-30 21:59:10 +02:00
Yang Liu ff7bbaea7d [dynarmic] bootstrap loongarch64 host build (#4015)
Minimal additions to make Eden compile.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4015
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-30 01:42:23 +02:00
MaranBr c84d605426 [buffer_cache] Fix buffer upload overwriting GPU-modified regions (#4000)
This fixes a bug in Super Mario Odyssey, in Bowser's Kingdom, where particles rapidly freeze and unfreeze in midair.

It also fixes vertex explosions in Super Mario Party Jamboree.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4000
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-05-29 14:01:06 +02:00
lizzie def03f6589 [video_core] fix redundant resize-copy overload and just use default-init resize, to reduce stutter on Mario BP (#3874)
before vs. after

Mario Brothership kept remaking vectors of sizes 256 AND 4095 (TIC) and 1215 AND 524287 (TSC) every single frame, which resulted in a noticeable overhead

the main cause was because of using `resize(n, c)` instead of `resize(n)` (also to aggressively resize for more room beforehand), the copy overload of resize does a copy of... well.. the value over the entire vector, additionally __append() keeps getting called because the capacity goes bonkers and all over the place

![image](/attachments/e3ba07fb-1c85-4d56-9b81-bb16a8150c15)
![image](/attachments/5c4eba26-015a-4c95-9b24-b41695a62e51)

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3874
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-29 03:28:47 +02:00
lizzie 5ea24621cf [vk] fix LM3 and TL:LTD multiple NonUniform annotations (#3997)
should fix AMD

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3997
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-29 03:28:10 +02:00
crueter 251a3470dc [desktop] Set max stdio limit to 2048 on MSVCRT environments (#4023)
Such as MINGW64.

I legitimately don't have an explanation for this.

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4023
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-28 21:22:28 +02:00
crueter 08f65cbd01 [frontend] Fix auto updater flavors on Windows (#4019)
Matches the build ID and compiler now.

Note that this could still use some work on the Windows side of things.
Ideally, it would just replace the executables in place; however, I
think using the setup files will be better.

Most of my concerns w.r.t this issue is that users will want to install
multiple in the same place; however, I think it's fair to just not
support the older versions at all for now. If users really want to do
that, they can use the portable versions and cry about it.

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4019
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-28 20:36:16 +02:00
lizzie 8fd495f906 [video_core] fix std::bitset<> dirty tracker OOB, fix slightly wrong index format estimate (#4006)
u8 may have been 0xff, (aka. 255), but bitset was only 255 elements, so doing bitset[255] is technically OOB

additionally the max size estimate for index formats was not correct, there can be up to 256 elements with a u8 format index, not just 255

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4006
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-27 00:04:27 +02:00
lizzie 9d55875377 [*] fix missing '#pragma once' on header files (#4014)
`find src -type f -name '*.h' -not -exec grep -q "#pragma once" {} \; -print`

- ignore qt with header guards already
- smaa too

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4014
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-26 06:37:59 +02:00
xbzk 8a11bec55a [vk,fence_manager] improvement for antiflicker showed bad for some games, so it was removed from balanced/accurate and kept for antiflicker toggle only (#4010)
in short:

unrelated to the toggle, we found a missing piece that improved antiflicker and shader issues in some games, and we integrated it to balanced/accurate.
now testers confirmed side effects in some other games, so we reverted the integration.

the toggle itself is innocent. and the missing piece was kept for the toggle.
now, when the toggle is off, things are as they were before it.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4010
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-26 01:41:11 +02:00
crueter 4a11d5db2f [file_sys] Increase max file limit to 8192 (#4011)
Now hopefully the Redditors can get off my ass for five seconds

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4011
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-25 18:53:47 +02:00
Eden CI 0d736d49d6 [dist, android] Update translations from Transifex for May 23 (#4007)
Automatic translation update for May 23

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4007
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-24 01:46:29 +02:00
lizzie 0c74a495f5 [video_core/host_shaders] add Snapdragon GSRv1 fragment shaders (#3307)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: xbzk <xbzk@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3307
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-24 01:38:19 +02:00
maufeat c6afeb2bf8 [nvnflinger] Add case for DefaultDataSpace (#3956)
Amaterasu from Discord asked about why nvnWindowGetNumActiveTextures returns 0 - after researching the console output it was asking for `DefaultDataSpace` (enum val 12) after some tests with the mod and debugging the console, this is my one-liner solution.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3956
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-24 01:05:29 +02:00
lizzie d9067d85af [tools] add separate maxwell disassembler, ir dumper, and spirv translator (#3453)
why not?

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3453
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-24 01:05:07 +02:00
lizzie 2aa2ac7d9a [hle/service{nvdrv,apm}] fixes for TetrisSwitch (#3983)
- testriswitch submits buffers with a fence id of -1, just skip them instead of trying to process them?
- apm:u, which is removed, but hey, backwards compat never hurted
- another instance of shared_memory crashing NPad

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3983
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-24 01:04:32 +02:00
lizzie 90164197dc [dist] Restore normal icon (#3990)
Anniversary is over!

May the next one be as silly :3

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3990
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-24 01:03:45 +02:00
MaranBr 573e06131d [texture_cache] Fix a rare visual corruption under specific conditions (#3986)
This fixes a rare visual corruption that can occur under specific conditions depending on the hardware used.

This bug is known to affect the loading screens in The Legend of Zelda: Tears of the Kingdom.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3986
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-24 01:03:20 +02:00
MaranBr 06c8926a2e [video_core] Fix initial DMA sync deadlock in OpenGL by initializing synced state (#3987)
This fixes a deadlock issue that prevents any game using OpenGL + GPU Accurate from booting when Sync Memory Operations is enabled.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3987
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-24 01:02:19 +02:00
xbzk eabd1017cc [fence_manager, ui] antiflicker fix + toggle integration (#4004)
tldr: we (me and maran) found the missing piece to make delay_fence and should_flush coop and cover all remaining flicker issues tested so far.
the lil change is in src/video_core/fence_manager.h
the rest is toggle stuff.

END

(credits rolls up)

post credits scene for the toggle drama:

i've been forced to use custom builds for around 1 year now, coz gpu mode above fast was pulling performance down yet not covering flicker entirely in most games tested. and we know that it's a mess to rely on gpu mode as it brings along a bunch of undesired stuff.
i need this toggle. and i've seem far less relevant before, so hey, gimme this one so i can call it mine :3

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4004
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-24 01:02:01 +02:00
fl.gs b870bd255c [android] config: load configuration on game start (#3965)
This PR reloads Android configuration when starting a game, so Eden uses the latest config.ini state for the emulation session.

On some Android launchers, Eden can already be running in the background before a game is launched. In that case, config.ini has already been read, so configuration changes made outside of Eden's settings flow while the process is alive are not picked up by the next emulation session.

This improves launch/config behavior for external launcher workflows.

Co-authored-by: FL-gs <efge.crea@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3965
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-23 21:19:34 +02:00
lizzie 37b5cf6003 [audio_core, hle, video_core] force inline of functions that only contain thread loops (#3970)
traditionally, when doing jthread:

```
jthread() calls function parameter operator()() with args
function operator()() calls the code within
code within is, say { ThreadMain(); }
3 calls because why not
```

now this just makes it be 2 calls, mainly benefits non-LTO builds

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3970
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-23 21:16:28 +02:00
lost-chaos d761ecba8c [core/arm/nce] suppress unused variable warnings (#4002)
Add `[[maybe_unused]]` to unused constants in the ARM NCE backend to suppress compiler warnings.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4002
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-23 15:31:23 +02:00
xbzk 83683440b2 [net] ban api.epicgames.dev domain (#3999)
Adding 'api.epicgames.dev' to the banlist, as instructed by lizzie.

MCI insists on connection and randomly crashes at Network::Poll(...).
Airplane mode would do, but then the DLC gets unavailable.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3999
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-22 22:48:15 +02:00
lizzie 9b18d0b111 [tools] refactor, use #!/bin/sh, update license files (#3998)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3998
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-22 21:15:31 +02:00
lizzie 46cfd9b6f3 [net] support SCTP protocols (+all base FBSD protos), ban more NS domains (#3955)
bans more NS domains making hb dns check pass

also fixes bogus "SCTP is not implemented" assertion for translate protocol

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3955
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-21 21:24:18 +02:00
lizzie 889545e1ee [common/virtual_buffer] fix technically wrong usage of std::exchange() (#3992)
simpleish fix https://en.cppreference.com/cpp/utility/exchange

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3992
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-21 03:18:41 +02:00
crueter 24dc3834b6 [desktop] Fix YUZU_USE_QT_MULTIMEDIA compilation (#3993)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3993
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-21 03:06:04 +02:00
RedBlackAka 2a66b40267 [common/cpu_detect] Remove SSE/SSE2/FMA4/AVX_VNNI detection (#3979)
Removes Eden's own feature detection for SSE, SSE2, FMA4 and AVX_VNNI, in order to clean up code and make the function slightly lighter. They are all unused and I have specific reasons for their removal:
- SSE/SSE2 are always true for x64
- FMA4 is a deprecated AMD exclusive extension, replaced by the regular FMA and was logged here as "FMA" for no reason
- AVX_VNNI simply does not seem applicable for Eden (but can still be checked for through Xbyak's feature detection if necessary)

Co-authored-by: RedBlackAka <140876408+RedBlackAka@users.noreply.github.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3979
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-20 19:11:09 +02:00
crueter feb8c5f88e [desktop] More qt_common reorganization (#3916)
Ported from QML branch.

Main "big" change is that EmuThread is now a shared state in QtCommon,
not individually managed/passed around by GRenderWindow and MainWindow.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3916
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-20 04:49:16 +02:00
lizzie 300a646a34 [hle] make HBLoader work, add -hlaunch option (#3981)
hbloader is required to launch a bunch of shit (particularly hbmenu)

however due to some restrictive metadata validation, it doesn't get recognized as an NSP file

programs like hbmenu require hbloader (since it feeds them data like ConfigEntries and whatnot), launching hbmenu as-is standalone will result in a launchInit() error

adds an option to launch hbmenu via command line

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3981
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-19 23:35:53 +02:00
lizzie e875a3196b [core/hle/services/sockets] allow 'valid' range from [16,255] for IPv4 (#3491)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3491
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-18 23:54:47 +02:00
lizzie 4eb082485d [video_core] fix odr violation in formatter for pixelFormat (#3504)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3504
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-18 23:54:07 +02:00
lizzie 7455854528 [core/memory] remove duplicates from template when unsafe=T/F, remove increment, remove sad path for exception code on cache op (#3972)
Ideally this should increase perf when doing write/read operations
not by a lot, just enough for it not to suck so much as it does right now

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3972
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-05-18 23:28:01 +02:00
crueter 5ab0227624 [cmake] Fix reversed YUZU_USE_BUNDLED_SDL3 (#3980)
oops

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3980
2026-05-18 21:44:29 +02:00
Kaydax ad2e1cc554 [externals] Update to SDL3 (#3952)
Since the launch of the steam controller I think it's only best to push towards updating to SDL3 allowing for a wider range of controller support

I went ahead and started on getting it working. Everything here should be functional, I've personally tested it all on Arch Linux. Still untested on windows, so looking for feedback on that

Any feedback and help would be appreciated!

Main changes:
- Bump everything to SDL3
- Handle SDL3 audio and input
- Add steam controller support, including HD Rumble
- Improved battery reporting via the status icon by using real % rather than state alone

Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3952
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-18 19:07:41 +02:00
Marcin Serwin 02521882e7 [dynarmic] drop Xeon Phi features from tests (#3978)
xbyak 7.37 dropped support for them, see
<https://github.com/herumi/xbyak/commit/a33007c908022b46b1a982afe649ded73a15219e>
and <https://github.com/herumi/xbyak/pull/244>.

Signed-off-by: Marcin Serwin <marcin@serwin.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3978
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-18 17:31:52 +02:00
lizzie 9a7ca3aca4 [dynarmic] fix NetBSD context.h compile error (#3966)
On NetBSD it stupidly aligns the stack acounting for the amd64 redzone.

This isn't... required, to put it lightly.

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3966
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-18 02:09:33 +02:00
crueter ca6bb3ae1d [cmake, dist] Update udev rule to act on all joysticks, and add install option (#3968)
This is needed for gyro access.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3968
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-17 23:44:57 +02:00
crueter 50df88106e [externals] Remove httplib minimum version spec (#3967)
For some Godforsaken reason it uses SameMinorVersion.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3967
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-17 22:54:32 +02:00
Eden CI 945ea630b4 [dist, android] Update translations from Transifex for May 16 (#3960)
Automatic translation update for May 16

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3960
2026-05-17 22:45:59 +02:00
lizzie 5aba461cb3 [common/wall_clock] fix invariant RDTSC divide by 0 (#3961)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3961
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-17 02:17:11 +02:00
lizzie 8330940eca [docs] add CodingStyle + Coding guidelines, HOS kernel basics, 'Settings' and add external resources, add better docs for dtrace-tool.pl (#3964)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3964
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-17 02:16:48 +02:00
lizzie 4d49341918 [vk, opengl] recognize and use ETC2 (if available) textures natively (#3237)
this makes it so VK and OGL backends map the NVIDIA's ETC2 into VK_FORMAT_ETC-whatever and GL_ETC-whatever remaps, instead of using the default fallback for AR8G8B8. in short, just make the ETC2 textures be submitted as ETC2 instead of being submit as A8R8G8B8.

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3237
Reviewed-by: Ghost <>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:08:09 +02:00
lizzie 2f0f8a979c [dynarmic, macroHLE] Use faster ankerl for xbyak maps (#3716)
the nominal std::unordered_map<> isn't enough to warrant it's continued usage in xbyak internal structures, thus using ankerl should greatly remove a lot of indirection/stdc++ specific overhead from the usually poorly performant std::unordered_map

Both dynarmic and macroHLE should benefit greatly from a less-stupid unordered_dense

This should speedup both CPU and shader compilation latency (NOT BY A GREAT MARGIN) just enough to make loading zones in ToTK less horrific

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3716
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:07:45 +02:00
lizzie 413c7543ba [hle] inline HLE cmif request to not allocate on heap stuff (#3605)
so basically each construction of HLEContext and whatever would result in a heap allocation (atleast 1)

so what if instead of that we did a memset() at ctor time and we avoided heap allocations altogether?

reminder that std::vector<> CAN do small object optimisation but it's not guaranteed

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3605
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:07:03 +02:00
lizzie 975aa4e2f2 [common] remove ptr indirection on WallClock (#3864)
also devirtualizes manually since compiler doesn't do it with LTO

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3864
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:06:38 +02:00
lizzie a1f9e68f46 [hid_core] remove contentious mutex from EmulatedController and just rely on atomic semantics for fields (#3866)
inputs shouldnt be that critical to require a full mutex of them

this relies on CPU guaranteeing u32/u16/u8 atomic load/stores for EmulatedController fields, which works on x86_64 but may not have the same behaviour on other architectures - thats why i wrap them in `std::atomic<>`

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3866
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:06:23 +02:00
lizzie 02dee4a20b [file_sys/system_archive] remove uneeded ctor/dtor initializations for std::map<> when creating system archives for nx_tzdb generated files (#3919)
sounds like word salad but let me say:

- std::map<> created a static ctor for EVERY SINGLE ZONEINFO
- fuck that, instead lets just use a raw array and construct things statically
- works the same except with less baggage carried around (+ less heap allocations!!!)

this should help reduce codesize due to the aforementioned global ctor/dtor

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3919
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:05:32 +02:00
lizzie bc9b9480fb [dynarmic] fix 12th-gen Intel CPUs crashing due to UMONITOR (#3954)
see https://github.com/herumi/xbyak/issues/255

> Proof: https://godbolt.org/z/9vseq4Ynj
> Xbyak currently implements it as:
> ```c++
> void umonitor(const Reg& r) {
> int idx = r.getIdx();
> if (idx > 7) XBYAK_THROW(ERR_BAD_PARAMETER) //umonitor DOES accept r8,r9,r10,etc this is NOT correct
> int bit = r.getBit();
> if (BIT != bit) {
>   if ((BIT == 32 && bit == 16) || (BIT == 64 && bit == 32)) {
>     db(0x67);
>   } else {
>     XBYAK_THROW(ERR_BAD_SIZE_OF_REGISTER)
>   }
> }
> db(0xF3); db(0x0F); db(0xAE); setModRM(3, 6, idx);
> }
> ```
> My program was throwing Xbyak::Exception and I tracked it down to this particular umonitor

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3954
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-15 22:01:42 +02:00
lizzie d1ceeeca22 [cmake] use -mtls-dialect=gnu2 (#3948)
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120933

we use TLS very sparingly (which is a good thing), some of our dependencies, in turn, may not
we should be aware of that fact

allegedly, there are minor glibc issues and such, but most distros should be fine
additionally, this is only enabled for FreeBSD and Linux, if it works on FreeBSD, naturally every Linux distro should support it as well

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3948
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-05-14 00:17:13 +02:00
382 changed files with 18584 additions and 10328 deletions
+1 -1
View File
@@ -52,7 +52,7 @@ jobs:
}
EOF
curl -X 'POST' \
curl -XPOST \
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
-H 'accept: application/json' \
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
+8 -5
View File
@@ -1,4 +1,4 @@
name: update-deps
name: Update Dependencies
on:
# saturday at noon
@@ -7,7 +7,7 @@ on:
workflow_dispatch:
jobs:
tx-update:
update-deps:
runs-on: source
steps:
- uses: actions/checkout@v4
@@ -24,18 +24,21 @@ jobs:
git remote set-url origin ci:eden-emu/eden.git
DATE=$(date +"%b %d")
TIMESTAMP=$(date +"%s")
echo "DATE=$DATE" >> "$GITHUB_ENV"
echo "TIMESTAMP=$TIMESTAMP" >> "$GITHUB_ENV"
git switch -c update-deps-$DATE
git switch -c update-deps-$TIMESTAMP
tools/cpmutil.sh package update -ac
git push
- name: Create PR
run: |
set -x
TITLE="[externals] Dependency update for $DATE"
BODY="$(git show -s --format='%b')"
BASE=master
HEAD=update-deps-$DATE
HEAD=update-deps-$TIMESTAMP
cat << EOF > data.json
{
@@ -46,7 +49,7 @@ jobs:
}
EOF
curl -X 'POST' \
curl -XPOST \
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
-H 'accept: application/json' \
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
-89
View File
@@ -1,89 +0,0 @@
From 509be32bbfa6eb95014860f7c9ea6d45c8ddaa56 Mon Sep 17 00:00:00 2001
From: crueter <crueter@eden-emu.dev>
Date: Sun, 8 Mar 2026 15:11:12 -0400
Subject: [PATCH] [cmake] Simplify zstd find logic, and support pre-existing
zstd target
Some deduplication work on the zstd required/if-available logic. Also
adds support for pre-existing `zstd::libzstd` which is useful for
projects that bundle their own zstd in a way that doesn't get caught by
`CONFIG`
Signed-off-by: crueter <crueter@eden-emu.dev>
---
CMakeLists.txt | 46 ++++++++++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 20 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1874e36be0..8d31198006 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -241,28 +241,34 @@ endif()
# NOTE:
# zstd < 1.5.6 does not provide the CMake imported target `zstd::libzstd`.
# Older versions must be consumed via their pkg-config file.
-if(HTTPLIB_REQUIRE_ZSTD)
- find_package(zstd 1.5.6 CONFIG)
- if(NOT zstd_FOUND)
- find_package(PkgConfig REQUIRED)
- pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
- add_library(zstd::libzstd ALIAS PkgConfig::zstd)
- endif()
- set(HTTPLIB_IS_USING_ZSTD TRUE)
-elseif(HTTPLIB_USE_ZSTD_IF_AVAILABLE)
- find_package(zstd 1.5.6 CONFIG QUIET)
- if(NOT zstd_FOUND)
- find_package(PkgConfig QUIET)
- if(PKG_CONFIG_FOUND)
- pkg_check_modules(zstd QUIET IMPORTED_TARGET libzstd)
-
- if(TARGET PkgConfig::zstd)
+if (HTTPLIB_REQUIRE_ZSTD)
+ set(HTTPLIB_ZSTD_REQUESTED ON)
+ set(HTTPLIB_ZSTD_REQUIRED REQUIRED)
+elseif (HTTPLIB_USE_ZSTD_IF_AVAILABLE)
+ set(HTTPLIB_ZSTD_REQUESTED ON)
+ set(HTTPLIB_ZSTD_REQUIRED QUIET)
+endif()
+
+if (HTTPLIB_ZSTD_REQUESTED)
+ if (TARGET zstd::libzstd)
+ set(HTTPLIB_IS_USING_ZSTD TRUE)
+ else()
+ find_package(zstd 1.5.6 CONFIG QUIET)
+
+ if (NOT zstd_FOUND)
+ find_package(PkgConfig ${HTTPLIB_ZSTD_REQUIRED})
+ pkg_check_modules(zstd ${HTTPLIB_ZSTD_REQUIRED} IMPORTED_TARGET libzstd)
+
+ if (TARGET PkgConfig::zstd)
add_library(zstd::libzstd ALIAS PkgConfig::zstd)
endif()
endif()
+
+ # This will always be true if zstd is required.
+ # If zstd *isn't* found when zstd is set to required,
+ # CMake will error out earlier in this block.
+ set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND})
endif()
- # Both find_package and PkgConf set a XXX_FOUND var
- set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND})
endif()
# Used for default, common dirs that the end-user can change (if needed)
@@ -317,13 +323,13 @@ if(HTTPLIB_COMPILE)
$<BUILD_INTERFACE:${_httplib_build_includedir}/httplib.h>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/httplib.h>
)
-
+
# Add C++20 module support if requested
# Include from separate file to prevent parse errors on older CMake versions
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.28")
include(cmake/modules.cmake)
endif()
-
+
set_target_properties(${PROJECT_NAME}
PROPERTIES
VERSION ${${PROJECT_NAME}_VERSION}
@@ -0,0 +1,214 @@
From ec4c1fdf526cb9ad045abf59b29ee495bbf5023a Mon Sep 17 00:00:00 2001
From: crueter <crueter@eden-emu.dev>
Date: Sat, 30 May 2026 20:56:35 -0400
Subject: [PATCH] cpmutil compat
---
CMakeLists.txt | 31 ++++++++-----------
cmake/FetchOpenSSL.cmake | 64 ----------------------------------------
cmake/GetCPM.cmake | 5 ----
3 files changed, 13 insertions(+), 87 deletions(-)
delete mode 100644 cmake/FetchOpenSSL.cmake
delete mode 100644 cmake/GetCPM.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5420ecc..9ffd5a0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,9 +19,7 @@ include(FetchContent)
include(ProcessorCount)
include(cmake/ConfigureOpenSSL.cmake)
include(cmake/DetectTargetPlatform.cmake)
-include(cmake/FetchOpenSSL.cmake)
include(cmake/FindVcvarsall.cmake)
-include(cmake/GetCPM.cmake)
# Custom options
option(OPENSSL_BUILD_VERBOSE "Enable verbose output from build" OFF)
@@ -47,9 +45,6 @@ if("${OPENSSL_TARGET_PLATFORM}" STREQUAL "")
detect_target_platform(OPENSSL_TARGET_PLATFORM)
endif()
-# Fetch OpenSSL source
-fetch_openssl()
-
# Apply patches
foreach(patch IN LISTS OPENSSL_PATCH)
if(EXISTS "${patch}" AND NOT IS_DIRECTORY "${patch}")
@@ -59,13 +54,13 @@ foreach(patch IN LISTS OPENSSL_PATCH)
execute_process(
COMMAND git init
- WORKING_DIRECTORY ${openssl_SOURCE_DIR}
+ WORKING_DIRECTORY ${OpenSSL_SOURCE_DIR}
OUTPUT_QUIET
ERROR_QUIET
)
execute_process(
COMMAND git apply ${patch}
- WORKING_DIRECTORY ${openssl_SOURCE_DIR}
+ WORKING_DIRECTORY ${OpenSSL_SOURCE_DIR}
OUTPUT_QUIET
ERROR_QUIET
)
@@ -161,8 +156,8 @@ list(PREPEND OPENSSL_CONFIGURE_OPTIONS ${OPENSSL_TARGET_PLATFORM})
# Configure OpenSSL
configure_openssl(
COMMAND ${VCVARSALL_COMMAND}
- FILE ${openssl_SOURCE_DIR}/Configure
- BUILD_DIR ${openssl_BINARY_DIR}
+ FILE ${OpenSSL_SOURCE_DIR}/Configure
+ BUILD_DIR ${OpenSSL_BINARY_DIR}
OPTIONS ${OPENSSL_CONFIGURE_OPTIONS}
)
@@ -203,8 +198,8 @@ endif()
# Parse Makefile
parse_makefile(${OPENSSL_MAKEFILE} "INSTALL_LIBS" OPENSSL_STATIC_LIBS)
parse_makefile(${OPENSSL_MAKEFILE} "INSTALL_SHLIBS" OPENSSL_SHARED_LIBS)
-list(TRANSFORM OPENSSL_STATIC_LIBS PREPEND "${openssl_BINARY_DIR}/")
-list(TRANSFORM OPENSSL_SHARED_LIBS PREPEND "${openssl_BINARY_DIR}/")
+list(TRANSFORM OPENSSL_STATIC_LIBS PREPEND "${OpenSSL_BINARY_DIR}/")
+list(TRANSFORM OPENSSL_SHARED_LIBS PREPEND "${OpenSSL_BINARY_DIR}/")
foreach(LIBRARY IN LISTS OPENSSL_STATIC_LIBS)
if(LIBRARY MATCHES "crypto")
@@ -239,14 +234,14 @@ endif()
# Provide same targets and variables as FindOpenSSL module
set(OPENSSL_FOUND ON CACHE BOOL "Override FindOpenSSL variables" FORCE)
-set(OPENSSL_INCLUDE_DIR ${openssl_SOURCE_DIR}/include ${openssl_BINARY_DIR}/include CACHE STRING "Override FindOpenSSL variables" FORCE)
+set(OPENSSL_INCLUDE_DIR ${OpenSSL_SOURCE_DIR}/include ${OpenSSL_BINARY_DIR}/include CACHE STRING "Override FindOpenSSL variables" FORCE)
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_${OPENSSL_LIBRARY_TYPE}_CRYPTO_LIBRARY} CACHE STRING "Override FindOpenSSL variables" FORCE)
set(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_DEPENDENCIES} CACHE STRING "Override FindOpenSSL variables" FORCE)
set(OPENSSL_SSL_LIBRARY ${OPENSSL_${OPENSSL_LIBRARY_TYPE}_SSL_LIBRARY} CACHE STRING "Override FindOpenSSL variables" FORCE)
set(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_DEPENDENCIES} CACHE STRING "Override FindOpenSSL variables" FORCE)
set(OPENSSL_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_SSL_LIBRARY} ${OPENSSL_DEPENDENCIES} CACHE STRING "Override FindOpenSSL variables" FORCE)
set(OPENSSL_VERSION ${OPENSSL_CONFIGURED_VERSION} CACHE STRING "Override FindOpenSSL variables" FORCE)
-set(OPENSSL_APPLINK_SOURCE ${openssl_SOURCE_DIR}/ms/applink.c CACHE STRING "Override FindOpenSSL variables" FORCE)
+set(OPENSSL_APPLINK_SOURCE ${OpenSSL_SOURCE_DIR}/ms/applink.c CACHE STRING "Override FindOpenSSL variables" FORCE)
add_library(OpenSSL::Crypto ${OPENSSL_LIBRARY_TYPE} IMPORTED GLOBAL)
add_library(OpenSSL::SSL ${OPENSSL_LIBRARY_TYPE} IMPORTED GLOBAL)
@@ -308,8 +303,8 @@ if(ANDROID)
endif()
file(GLOB_RECURSE OPENSSL_SOURCES
- ${openssl_SOURCE_DIR}/*.[ch]
- ${openssl_SOURCE_DIR}/*.[ch].in
+ ${OpenSSL_SOURCE_DIR}/*.[ch]
+ ${OpenSSL_SOURCE_DIR}/*.[ch].in
)
set(OPENSSL_BUILD_OUTPUT
@@ -322,7 +317,7 @@ add_custom_command(
OUTPUT ${OPENSSL_BUILD_OUTPUT}
COMMAND ${OPENSSL_BUILD_COMMAND}
DEPENDS ${OPENSSL_SOURCES}
- WORKING_DIRECTORY ${openssl_BINARY_DIR}
+ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
VERBATIM
)
@@ -341,7 +336,7 @@ if(OPENSSL_TEST AND NOT CMAKE_CROSSCOMPILING)
add_test(
NAME openssl-test
COMMAND ${OPENSSL_BUILD_TOOL} test VERBOSE_FAILURE=yes HARNESS_JOBS=${NUMBER_OF_THREADS}
- WORKING_DIRECTORY ${openssl_BINARY_DIR}
+ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
)
endif()
@@ -356,7 +351,7 @@ if(OPENSSL_INSTALL)
install(CODE
"execute_process(
COMMAND ${OPENSSL_INSTALL_COMMAND}
- WORKING_DIRECTORY \"${openssl_BINARY_DIR}\"
+ WORKING_DIRECTORY \"${OpenSSL_BINARY_DIR}\"
)"
)
endif()
diff --git a/cmake/FetchOpenSSL.cmake b/cmake/FetchOpenSSL.cmake
deleted file mode 100644
index a43505d..0000000
--- a/cmake/FetchOpenSSL.cmake
+++ /dev/null
@@ -1,64 +0,0 @@
-function(fetch_openssl)
- if(EXISTS "${OPENSSL_SOURCE}" AND IS_DIRECTORY "${OPENSSL_SOURCE}")
- # Fetch the local OpenSSL source
- if(NOT IS_ABSOLUTE "${OPENSSL_SOURCE}")
- string(PREPEND OPENSSL_SOURCE ${CMAKE_SOURCE_DIR}/)
- endif()
-
- string(REPLACE "\\" "/" openssl-source_SOURCE_DIR "${OPENSSL_SOURCE}")
- set(openssl-source_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/openssl-source-build)
- else()
- set(CPM_OPTIONS
- NAME openssl-source
- DOWNLOAD_ONLY ON
- )
-
- if(NOT OPENSSL_CONFIGURE_VERBOSE)
- list(APPEND CPM_OPTIONS QUIET)
- endif()
-
- if("${OPENSSL_SOURCE}" MATCHES "^http")
- # Download OpenSSL source from the internet
- list(APPEND CPM_OPTIONS URL ${OPENSSL_SOURCE})
- else()
- # Download OpenSSL source from the official website
- if("${OPENSSL_TARGET_VERSION}" STREQUAL "")
- set(OPENSSL_TARGET_VERSION ${PROJECT_VERSION})
- endif()
-
- if(OPENSSL_TARGET_VERSION VERSION_EQUAL PROJECT_VERSION)
- list(APPEND CPM_OPTIONS URL_HASH SHA256=aaf51a1fe064384f811daeaeb4ec4dce7340ec8bd893027eee676af31e83a04f)
- endif()
-
- if(OPENSSL_TARGET_VERSION MATCHES "^1\.1\.1[a-w]$")
- string(REPLACE "." "_" OPENSSL_TAGGED_VERSION ${OPENSSL_TARGET_VERSION})
- list(APPEND CPM_OPTIONS URL https://github.com/openssl/openssl/releases/download/OpenSSL_${OPENSSL_TAGGED_VERSION}/openssl-${OPENSSL_TARGET_VERSION}.tar.gz)
- else()
- list(APPEND CPM_OPTIONS URL https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL_TARGET_VERSION}/openssl-${OPENSSL_TARGET_VERSION}.tar.gz)
- endif()
- endif()
-
- CPMAddPackage(${CPM_OPTIONS})
- endif()
-
- # Clean build directory if source directory has changed
- if(DEFINED CACHE{openssl-source_SOURCE_DIR_OLD} AND NOT openssl-source_SOURCE_DIR STREQUAL openssl-source_SOURCE_DIR_OLD)
- set(openssl-source_SOURCE_DIR_OLD ${openssl-source_SOURCE_DIR} CACHE INTERNAL "Previously fetched OpenSSL source")
-
- if(IS_DIRECTORY ${openssl-source_BINARY_DIR})
- file(REMOVE_RECURSE ${openssl-source_BINARY_DIR})
- file(MAKE_DIRECTORY ${openssl-source_BINARY_DIR})
- endif()
- endif()
-
- # Override the FindOpenSSL module
- FetchContent_Declare(
- OpenSSL
- SOURCE_DIR ${openssl-source_SOURCE_DIR}
- BINARY_DIR ${openssl-source_BINARY_DIR}
- OVERRIDE_FIND_PACKAGE
- )
- FetchContent_MakeAvailable(OpenSSL)
-
- return(PROPAGATE openssl_SOURCE_DIR openssl_BINARY_DIR)
-endfunction()
diff --git a/cmake/GetCPM.cmake b/cmake/GetCPM.cmake
deleted file mode 100644
index bfc50f5..0000000
--- a/cmake/GetCPM.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-file(
- DOWNLOAD https://github.com/cpm-cmake/CPM.cmake/releases/latest/download/get_cpm.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/get_cpm.cmake
-)
-include(${CMAKE_CURRENT_BINARY_DIR}/get_cpm.cmake)
--
2.54.0
@@ -0,0 +1,54 @@
From d46675fbb61eb6d51e478023ce4075e545ad4cfd Mon Sep 17 00:00:00 2001
From: crueter <crueter@eden-emu.dev>
Date: Sat, 30 May 2026 21:11:55 -0400
Subject: [PATCH] use ccache
---
CMakeLists.txt | 1 -
cmake/ConfigureOpenSSL.cmake | 12 +++---------
2 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9ffd5a0..9ff14c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,7 +28,6 @@ option(OPENSSL_ENABLE_PARALLEL "Build and test in parallel if possible" ON)
option(OPENSSL_INSTALL "Install OpenSSL components to the <prefix> directory" OFF)
option(OPENSSL_INSTALL_CERT "Install cert.pem to the <openssldir> directory" OFF)
option(OPENSSL_TEST "Enable testing and build OpenSSL self tests" OFF)
-option(OPENSSL_USE_CCACHE "Use ccache if available" ON)
if("${OPENSSL_BUILD_TARGET}" STREQUAL "")
# Makefile target for build
diff --git a/cmake/ConfigureOpenSSL.cmake b/cmake/ConfigureOpenSSL.cmake
index 211c18b..3d8cbed 100644
--- a/cmake/ConfigureOpenSSL.cmake
+++ b/cmake/ConfigureOpenSSL.cmake
@@ -69,15 +69,9 @@ function(apply_ccache FILE)
message(FATAL_ERROR "Couldn't find Makefile")
endif()
- if(OPENSSL_USE_CCACHE)
- find_program(CCACHE ccache)
-
- if(NOT CCACHE)
- return()
- endif()
-
+ if(USE_CCACHE)
file(READ ${FILE} MAKEFILE)
- string(REPLACE "\nCC=" "\nCC=ccache " MAKEFILE "${MAKEFILE}")
+ string(REPLACE "\nCC=" "\nCC=${CCACHE_BINARY} " MAKEFILE "${MAKEFILE}")
if(MSVC)
string(REPLACE "/Zi /Fdossl_static.pdb " "" MAKEFILE "${MAKEFILE}")
@@ -171,4 +165,4 @@ function(configure_openssl)
string(REPLACE "/W3" "/W0" MAKEFILE "${MAKEFILE}")
file(WRITE ${OPENSSL_MAKEFILE} "${MAKEFILE}")
endif()
-endfunction()
\ No newline at end of file
+endfunction()
--
2.54.0
@@ -0,0 +1,28 @@
From 4a3cc92a7abad403529ed1cb4255ca63d9252de4 Mon Sep 17 00:00:00 2001
From: crueter <crueter@eden-emu.dev>
Date: Sat, 30 May 2026 21:48:42 -0400
Subject: [PATCH 2/2] use cmake compiler flags
---
cmake/ConfigureOpenSSL.cmake | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/cmake/ConfigureOpenSSL.cmake b/cmake/ConfigureOpenSSL.cmake
index 3d8cbed..3012e05 100644
--- a/cmake/ConfigureOpenSSL.cmake
+++ b/cmake/ConfigureOpenSSL.cmake
@@ -135,7 +135,10 @@ function(configure_openssl)
endif()
execute_process(
- COMMAND ${CONFIGURE_COMMAND}
+ COMMAND ${CMAKE_COMMAND} -E env
+ "CFLAGS=${CMAKE_C_FLAGS}"
+ "CXXFLAGS=${CMAKE_CXX_FLAGS}"
+ ${CONFIGURE_COMMAND}
WORKING_DIRECTORY ${CONFIGURE_BUILD_DIR}
${VERBOSE_OPTION}
COMMAND_ERROR_IS_FATAL ANY
--
2.54.0
@@ -0,0 +1,39 @@
--- a/CMakeLists.txt 2026-06-01 23:53:16.498043856 -0400
+++ b/CMakeLists.txt 2026-06-01 23:53:23.910543615 -0400
@@ -312,13 +312,29 @@
${OPENSSL_SHARED_CRYPTO_LIBRARY}
${OPENSSL_SHARED_SSL_LIBRARY}
)
-add_custom_command(
- OUTPUT ${OPENSSL_BUILD_OUTPUT}
- COMMAND ${OPENSSL_BUILD_COMMAND}
- DEPENDS ${OPENSSL_SOURCES}
- WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
- VERBATIM
-)
+if (WIN32)
+ add_custom_command(
+ OUTPUT ${OPENSSL_BUILD_OUTPUT}
+ COMMAND ${OPENSSL_BUILD_COMMAND}
+ DEPENDS ${OPENSSL_SOURCES}
+ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
+ VERBATIM)
+else()
+ set(_openssl_build_script "${CMAKE_CURRENT_BINARY_DIR}/BuildOpenSSL.cmake")
+ file(WRITE ${_openssl_build_script}
+ "execute_process(\n"
+ " COMMAND ${OPENSSL_BUILD_COMMAND}\n"
+ " WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}\n"
+ " RESULT_VARIABLE _r)\n"
+ "if(_r)\n"
+ " message(FATAL_ERROR \"OpenSSL build failed: \${_r}\")\n"
+ "endif()\n")
+ add_custom_command(
+ OUTPUT ${OPENSSL_BUILD_OUTPUT}
+ COMMAND ${CMAKE_COMMAND} -P ${_openssl_build_script}
+ DEPENDS ${OPENSSL_SOURCES}
+ VERBATIM)
+endif()
if(PROJECT_IS_TOP_LEVEL)
add_custom_target(openssl-build ALL DEPENDS ${OPENSSL_BUILD_OUTPUT})
File diff suppressed because it is too large Load Diff
+53 -40
View File
@@ -1,7 +1,7 @@
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
cmake_minimum_required(VERSION 3.22)
cmake_minimum_required(VERSION 3.31)
project(yuzu)
@@ -10,6 +10,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modul
set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_SCAN_FOR_MODULES 0)
include(DetectPlatform)
include(DetectArchitecture)
@@ -75,6 +76,8 @@ cmake_dependent_option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet im
set(YUZU_QT_MIRROR "" CACHE STRING "What mirror to use for downloading the bundled Qt libraries")
cmake_dependent_option(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF)
option(ENABLE_DEBUG_TOOLS "Enable debugging tools (maxwell disassembler, SPIRV translator, etc)" OFF)
# non-linux bundled qt are static
if (YUZU_USE_BUNDLED_QT AND (APPLE OR NOT UNIX))
set(YUZU_STATIC_BUILD ON)
@@ -119,13 +122,13 @@ if (YUZU_STATIC_BUILD)
set(QuaZip-Qt6_FORCE_BUNDLED ON)
set(YUZU_USE_BUNDLED_FFMPEG ON)
set(YUZU_USE_BUNDLED_SDL2 ON)
set(YUZU_USE_BUNDLED_SDL3 ON)
set(YUZU_USE_BUNDLED_OPENSSL ON)
set(HTTPLIB_USE_BROTLI_IF_AVAILABLE OFF)
elseif(APPLE)
set(YUZU_USE_BUNDLED_FFMPEG ON)
set(YUZU_USE_BUNDLED_SDL2 ON)
set(YUZU_USE_BUNDLED_SDL3 ON)
set(YUZU_USE_BUNDLED_OPENSSL ON)
# these libs do not properly provide static libs/let you do it with cmake
@@ -190,13 +193,11 @@ if(MSVC)
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:Debug>:/${libflag}d>>
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:Release>:/${libflag}>>
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:RelWithDebInfo>:/${libflag}>>
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:MinSizeRel>:/${libflag}>>
)
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:MinSizeRel>:/${libflag}>>)
endif()
# TODO(crueter): Cleanup, each dep that has a bundled option should allow to choose between bundled, external, system
cmake_dependent_option(YUZU_USE_EXTERNAL_SDL2 "Build SDL2 from external source" OFF "NOT MSVC;NOT ANDROID" OFF)
cmake_dependent_option(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 build" "${MSVC}" "NOT ANDROID" OFF)
cmake_dependent_option(YUZU_USE_BUNDLED_SDL3 "Download bundled SDL3 build" "${MSVC}" "NOT ANDROID" OFF)
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
@@ -230,6 +231,10 @@ cmake_dependent_option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF
option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
# Install udev rules on Linux (mainly for gyros)
# Only acts on joysticks and nothing else.
cmake_dependent_option(YUZU_INSTALL_UDEV_RULES "Install udev rules for gyro access" OFF "PLATFORM_LINUX" OFF)
option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON)
option(YUZU_LEGACY "Apply patches that improve compatibility with older GPUs (e.g. Snapdragon 865) at the cost of performance" OFF)
@@ -302,7 +307,7 @@ if (YUZU_ROOM)
add_compile_definitions(YUZU_ROOM)
endif()
if ((ANDROID OR APPLE OR UNIX) AND (NOT PLATFORM_LINUX OR ANDROID) AND NOT WIN32)
if (UNIX AND NOT (PLATFORM_LINUX OR WIN32))
if(CXX_APPLE OR CXX_CLANG)
# libc++ has stop_token and jthread as experimental
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexperimental-library")
@@ -358,10 +363,6 @@ if (CXX_GCC OR CXX_CLANG)
endif()
endif()
# Other presets, e.g. steamdeck
# TODO(crueter): Just have every Linux/Windows use old sdl2
set(YUZU_SYSTEM_PROFILE "generic" CACHE STRING "CMake and Externals profile to use. One of: generic, steamdeck")
# Configure C++ standard
# ===========================
@@ -383,13 +384,20 @@ find_package(RenderDoc MODULE)
# openssl funniness
if (YUZU_USE_BUNDLED_OPENSSL)
set(BUILD_SHARED_LIBS OFF)
AddJsonPackage(openssl-ci)
else()
AddJsonPackage(openssl)
set(OPENSSL_BUILD_VERBOSE ON)
set(OPENSSL_CONFIGURE_VERBOSE ON)
if (OpenSSL_ADDED)
add_compile_definitions(YUZU_BUNDLED_OPENSSL)
AddJsonPackage(openssl-cmake)
endif()
endif()
find_package(OpenSSL 3 REQUIRED)
if (OpenSSL_ADDED)
add_compile_definitions(YUZU_BUNDLED_OPENSSL)
endif()
message(STATUS "Fetching needed dependencies with CPM")
@@ -505,7 +513,7 @@ endfunction()
# =============================================
if (APPLE)
foreach(fw Carbon Metal Cocoa IOKit CoreVideo CoreMedia Security)
foreach(fw Carbon Metal Cocoa IOKit CoreVideo CoreMedia Security UniformTypeIdentifiers)
find_library(${fw}_LIBRARY ${fw} REQUIRED)
list(APPEND PLATFORM_LIBRARIES ${${fw}_LIBRARY})
endforeach()
@@ -517,6 +525,8 @@ elseif (WIN32)
# PSAPI is the Process Status API
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} psapi imm32 version crypt32 rpcrt4 gdi32 wldap32 mswsock)
endif()
elseif (PLATFORM_MANAGARM)
set(PLATFORM_LIBRARIES iconv intl)
elseif (PLATFORM_HAIKU)
# Haiku is so special :)
set(PLATFORM_LIBRARIES bsd /boot/system/lib/libnetwork.so)
@@ -559,7 +569,7 @@ if (NOT YUZU_STATIC_ROOM)
endif()
if (NOT ANDROID)
find_package(SDL2)
find_package(SDL3)
endif()
if (USE_DISCORD_PRESENCE)
@@ -580,12 +590,10 @@ if (ENABLE_QT)
if (YUZU_USE_BUNDLED_QT)
# Qt 6.8+ is broken on macOS (??)
if (APPLE)
AddQt(6.7.3)
AddQt(Eden-CI/Qt 6.7.3)
else()
AddQt(6.9.3)
AddQt(Eden-CI/Qt 6.11.1)
endif()
set(YUZU_STATIC_BUILD ON)
else()
message(STATUS "Using system Qt")
if (NOT Qt6_DIR)
@@ -594,23 +602,7 @@ if (ENABLE_QT)
list(APPEND CMAKE_PREFIX_PATH "${Qt6_DIR}")
endif()
find_package(Qt6 CONFIG REQUIRED COMPONENTS Widgets Charts Concurrent)
if (YUZU_USE_QT_MULTIMEDIA)
find_package(Qt6 REQUIRED COMPONENTS Multimedia)
endif()
if (PLATFORM_LINUX OR PLATFORM_FREEBSD)
# yes Qt, we get it
set(QT_NO_PRIVATE_MODULE_WARNING ON)
find_package(Qt6 REQUIRED COMPONENTS DBus OPTIONAL_COMPONENTS GuiPrivate)
elseif (UNIX AND NOT APPLE)
find_package(Qt6 REQUIRED COMPONENTS DBus Gui)
endif()
if (ENABLE_QT_TRANSLATION)
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)
endif()
find_package(Qt6 REQUIRED COMPONENTS Core)
if (NOT DEFINED QT_TARGET_PATH)
get_target_property(qtcore_path Qt6::Core LOCATION_Release)
@@ -633,21 +625,27 @@ if (ENABLE_QT)
## Components ##
# Best practice is to ask for all components at once, so they are from the same version
set(YUZU_QT_COMPONENTS Core Widgets Charts Concurrent)
if (PLATFORM_LINUX)
set(YUZU_QT_COMPONENTS Core Widgets Charts Concurrent Gui)
if (PLATFORM_LINUX OR PLATFORM_FREEBSD)
list(APPEND YUZU_QT_COMPONENTS DBus)
# yes Qt, we get it
set(QT_NO_PRIVATE_MODULE_WARNING ON)
list(APPEND YUZU_QT_OPTIONAL GuiPrivate)
endif()
if (YUZU_USE_QT_MULTIMEDIA)
list(APPEND YUZU_QT_COMPONENTS Multimedia)
endif()
if (YUZU_USE_QT_WEB_ENGINE)
list(APPEND YUZU_QT_COMPONENTS WebEngineCore WebEngineWidgets)
endif()
if (ENABLE_QT_TRANSLATION)
list(APPEND YUZU_QT_COMPONENTS LinguistTools)
endif()
find_package(Qt6 REQUIRED COMPONENTS ${YUZU_QT_COMPONENTS})
find_package(Qt6 REQUIRED COMPONENTS ${YUZU_QT_COMPONENTS} OPTIONAL_COMPONENTS ${YUZU_QT_OPTIONAL})
set(QT_MAJOR_VERSION 6)
# Qt6 sets cxx_std_17 and we need to undo that
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
@@ -715,6 +713,12 @@ endif()
add_subdirectory(src)
if (ENABLE_DEBUG_TOOLS)
add_subdirectory(tools/maxwell-disas)
add_subdirectory(tools/maxwell-spirv)
add_subdirectory(tools/maxwell-ir)
endif()
# Set yuzu project or yuzu-cmd project as default StartUp Project in Visual Studio depending on whether QT is enabled or not
if(ENABLE_QT)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT yuzu)
@@ -730,6 +734,8 @@ endif()
# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
# https://www.freedesktop.org/software/appstream/docs/
# TODO: Icon/install handling n such should be put into dist/CMakeLists.txt
if(ENABLE_QT AND UNIX AND NOT APPLE)
install(FILES "dist/dev.eden_emu.eden.desktop"
DESTINATION "share/applications")
@@ -742,3 +748,10 @@ if(ENABLE_QT AND UNIX AND NOT APPLE)
install(FILES "dist/dev.eden_emu.eden.metainfo.xml"
DESTINATION "share/metainfo")
endif()
if (YUZU_INSTALL_UDEV_RULES)
include(GNUInstallDirs)
install(FILES "dist/72-eden-input.rules"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/udev/rules.d")
endif()
+56 -31
View File
@@ -3,7 +3,7 @@
set(CPM_SOURCE_CACHE "${PROJECT_SOURCE_DIR}/.cache/cpm" CACHE STRING "" FORCE)
if(MSVC OR ANDROID)
if(MSVC OR ANDROID OR IOS)
set(BUNDLED_DEFAULT ON)
else()
set(BUNDLED_DEFAULT OFF)
@@ -128,7 +128,8 @@ function(AddDependentPackages)
message(FATAL_ERROR "Partial dependency installation detected "
"for the following packages:\n${package_names}\n"
"You can solve this in one of two ways:\n"
"1. Install the following packages to your system if available:"
"1. Install or upgrade the following packages "
"to your system if available:"
"\n\t${bundled_names}\n"
"2. Set the following variables to ON:"
"\n\t${system_names}\n"
@@ -247,7 +248,9 @@ function(AddJsonPackage)
set(multiValueArgs OPTIONS)
cmake_parse_arguments(JSON "" "${oneValueArgs}" "${multiValueArgs}"
set(optionArgs MODULE)
cmake_parse_arguments(JSON "${optionArgs}" "${oneValueArgs}" "${multiValueArgs}"
"${ARGN}")
list(LENGTH ARGN argnLength)
@@ -276,6 +279,10 @@ function(AddJsonPackage)
parse_object(${object})
if (JSON_MODULE)
set(EXTRA_ARGS MODULE)
endif()
if(ci)
AddCIPackage(
VERSION ${version}
@@ -284,8 +291,8 @@ function(AddJsonPackage)
PACKAGE ${package}
EXTENSION ${extension}
MIN_VERSION ${min_version}
DISABLED_PLATFORMS ${disabled_platforms})
DISABLED_PLATFORMS ${disabled_platforms}
${EXTRA_ARGS})
else()
if (NOT DEFINED JSON_FORCE_BUNDLED_PACKAGE)
set(JSON_FORCE_BUNDLED_PACKAGE OFF)
@@ -307,23 +314,24 @@ function(AddJsonPackage)
FORCE_BUNDLED_PACKAGE "${JSON_FORCE_BUNDLED_PACKAGE}"
SOURCE_SUBDIR "${source_subdir}"
GIT_VERSION ${git_version}
GIT_HOST ${git_host}
GIT_VERSION "${git_version}"
GIT_HOST "${git_host}"
ARTIFACT ${artifact}
TAG ${tag})
ARTIFACT "${artifact}"
TAG "${tag}"
${EXTRA_ARGS})
endif()
# pass stuff to parent scope
Propagate(${package}_ADDED)
Propagate(${package}_SOURCE_DIR)
Propagate(${package}_BINARY_DIR)
Propagate(CMAKE_PREFIX_PATH)
endfunction()
function(AddPackage)
cpm_set_policies()
# TODO(crueter): git clone?
set(EXTRA_ARGS "")
#[[
URL configurations, descending order of precedence:
@@ -368,7 +376,9 @@ function(AddPackage)
set(multiValueArgs OPTIONS PATCHES)
cmake_parse_arguments(PKG_ARGS "" "${oneValueArgs}" "${multiValueArgs}"
set(optionArgs MODULE)
cmake_parse_arguments(PKG_ARGS "${optionArgs}" "${oneValueArgs}" "${multiValueArgs}"
"${ARGN}")
if(NOT DEFINED PKG_ARGS_NAME)
@@ -552,6 +562,12 @@ function(AddPackage)
VERSION ${PKG_ARGS_VERSION})
endif()
if (PKG_ARGS_MODULE)
set(PKG_ARGS_DOWNLOAD_ONLY ON)
elseif (NOT DEFINED PKG_ARGS_DOWNLOAD_ONLY)
set(PKG_ARGS_DOWNLOAD_ONLY OFF)
endif()
CPMAddPackage(
NAME ${PKG_ARGS_NAME}
URL ${pkg_url}
@@ -601,13 +617,14 @@ function(AddPackage)
endif()
# pass stuff to parent scope
set(${PKG_ARGS_NAME}_ADDED "${${PKG_ARGS_NAME}_ADDED}"
PARENT_SCOPE)
set(${PKG_ARGS_NAME}_SOURCE_DIR "${${PKG_ARGS_NAME}_SOURCE_DIR}"
PARENT_SCOPE)
set(${PKG_ARGS_NAME}_BINARY_DIR "${${PKG_ARGS_NAME}_BINARY_DIR}"
PARENT_SCOPE)
Propagate(${PKG_ARGS_NAME}_ADDED)
Propagate(${PKG_ARGS_NAME}_SOURCE_DIR)
Propagate(${PKG_ARGS_NAME}_BINARY_DIR)
if (PKG_ARGS_MODULE)
list(PREPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
Propagate(CMAKE_PREFIX_PATH)
endif()
endfunction()
# TODO(crueter): we could do an AddMultiArchPackage, multiplatformpackage?
@@ -690,14 +707,20 @@ function(AddCIPackage)
set(pkgname linux-amd64)
elseif(PLATFORM_LINUX AND ARCHITECTURE_arm64)
set(pkgname linux-aarch64)
elseif(APPLE)
elseif(APPLE AND NOT IOS)
set(pkgname macos-universal)
elseif(IOS AND ARCHITECTURE_arm64)
set(pkgname ios-aarch64)
endif()
if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS)
set(ARTIFACT
"${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}")
if (PKG_ARGS_MODULE)
set(EXTRA_ARGS MODULE)
endif()
AddPackage(
NAME ${ARTIFACT_PACKAGE}
REPO ${ARTIFACT_REPO}
@@ -708,37 +731,39 @@ function(AddCIPackage)
KEY "${pkgname}-${ARTIFACT_VERSION}"
HASH_SUFFIX sha512sum
FORCE_BUNDLED_PACKAGE ON
DOWNLOAD_ONLY ${PKG_ARGS_MODULE})
${EXTRA_ARGS})
set(${ARTIFACT_PACKAGE}_ADDED TRUE PARENT_SCOPE)
set(${ARTIFACT_PACKAGE}_SOURCE_DIR
"${${ARTIFACT_PACKAGE}_SOURCE_DIR}" PARENT_SCOPE)
if (PKG_ARGS_MODULE)
list(APPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
endif()
Propagate(${ARTIFACT_PACKAGE}_SOURCE_DIR)
Propagate(CMAKE_PREFIX_PATH)
else()
find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED)
endif()
endfunction()
# Utility function for Qt
function(AddQt version)
function(AddQt repo version)
if (NOT DEFINED repo)
message(FATAL_ERROR "[CPMUtil] AddQt: repo is required")
endif()
if (NOT DEFINED version)
message(FATAL_ERROR "[CPMUtil] AddQt: version is required")
endif()
AddCIPackage(
NAME Qt
NAME qt
PACKAGE Qt6
VERSION ${version}
MIN_VERSION 6
REPO crueter-ci/Qt
REPO ${repo}
DISABLED_PLATFORMS
android-x86_64 android-aarch64
freebsd-amd64 solaris-amd64 openbsd-amd64
MODULE)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
find_package(Qt6 REQUIRED PATHS ${Qt6_SOURCE_DIR} NO_DEFAULT_PATH)
Propagate(CMAKE_PREFIX_PATH)
Propagate(Qt6_SOURCE_DIR)
endfunction()
+5 -1
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
#
# SPDX-License-Identifier: GPL-3.0-or-later
@@ -13,7 +16,8 @@ endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LLVM HANDLE_COMPONENTS CONFIG_MODE)
if (LLVM_FOUND AND LLVM_Demangle_FOUND AND NOT TARGET LLVM::Demangle)
# Demangle only for Windows targets
if (WIN32 AND LLVM_FOUND AND LLVM_Demangle_FOUND AND NOT TARGET LLVM::Demangle)
add_library(LLVM::Demangle INTERFACE IMPORTED)
target_compile_definitions(LLVM::Demangle INTERFACE ${LLVM_DEFINITIONS})
target_include_directories(LLVM::Demangle INTERFACE ${LLVM_INCLUDE_DIRS})
+32 -3
View File
@@ -1,12 +1,40 @@
{
"openssl": {
"openssl-ci": {
"ci": true,
"package": "OpenSSL",
"name": "openssl",
"repo": "crueter-ci/OpenSSL",
"version": "3.6.0-1cb0d36b39",
"version": "4.0.0-11b7b6ea3b",
"min_version": "3"
},
"openssl-cmake": {
"repo": "jimmy-park/openssl-cmake",
"hash": "2cc185c924fd70e7d886257ca0caa42b3b8f7f712f2052b4f94dde74759e27022de76178460e18c9bdfc57c366583999e198fbb6052d4e7d91c099d15a0ca63e",
"git_version": "3.6.2",
"tag": "%VERSION%",
"bundled": true,
"options": [
"OPENSSL_CONFIGURE_OPTIONS threads"
],
"patches": [
"0001-cpmutil-compat.patch",
"0002-use-ccache.patch",
"0003-use-cmake-compiler-flags.patch",
"0004-use-shell-wrapper.patch"
]
},
"openssl": {
"repo": "openssl/openssl",
"package": "OpenSSL",
"min_version": "3",
"version": "3",
"hash": "29002ce50cb95a4f4f1d0e9d3f684401fbd4eac34203dc2eef3b6334af5d44aa46bf788b63a6f5c139c383eafb7269ae87a58a9a3ad5912903b9773e545ccc0a",
"git_version": "3.6.2",
"tag": "openssl-%VERSION%",
"patches": [
"0001-add-bundled-cert.patch"
]
},
"boost": {
"package": "Boost",
"repo": "boostorg/boost",
@@ -112,7 +140,8 @@
"options": [
"QUAZIP_QT_MAJOR_VERSION 6",
"QUAZIP_INSTALL OFF",
"QUAZIP_ENABLE_QTEXTCODEC OFF"
"QUAZIP_ENABLE_QTEXTCODEC OFF",
"QUAZIP_BZIP2 OFF"
]
}
}
+8
View File
@@ -0,0 +1,8 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
# Allow systemd-logind to manage user access to hidraw with this file
# On most systems, this file should be installed to /etc/udev/rules.d/72-eden-input.rules
# Consult your distro if this is not the case
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ENV{ID_INPUT_JOYSTICK}=="1", MODE="0660", TAG+="uaccess"
-19
View File
@@ -1,19 +0,0 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
# Allow systemd-logind to manage user access to hidraw with this file
# On most systems, this file should be installed to /etc/udev/rules.d/72-yuzu-input.rules
# Consult your distro if this is not the case
# Switch Pro Controller (USB/Bluetooth)
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0660", TAG+="uaccess"
KERNEL=="hidraw*", KERNELS=="*057e:2009*", MODE="0660", TAG+="uaccess"
# Joy-Con L (Bluetooth)
KERNEL=="hidraw*", KERNELS=="*057e:2006*", MODE="0660", TAG+="uaccess"
# Joy-Con R (Bluetooth)
KERNEL=="hidraw*", KERNELS=="*057e:2007*", MODE="0660", TAG+="uaccess"
# Joy-Con Charging Grip (USB)
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="200e", MODE="0660", TAG+="uaccess"
+131 -128
View File
@@ -4790,57 +4790,57 @@ Current values are %1% and %2% respectively.</source>
<translation>بعض الإعدادات متوفرة فقط عندما لا تكون اللعبة قيد التشغيل.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>الإضافات</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>النظام</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>المعالج</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>الرسومات</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>الرسومات المتقدمة</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>الرسومات الخارجية</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>الصوت</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>ملفات تعريف الإدخال</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>الشبكة</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>التطبيقات الصغيرة</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>خصائص</translation>
</message>
@@ -6111,279 +6111,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>&amp;إضافة مجلد ألعاب جديد</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>مفضلة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>بدء اللعبة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>بدء اللعبة بدون الإعدادات المخصصة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>فتح موقع بيانات الحفظ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>فتح موقع بيانات التعديلات</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>ذاكرة التخزين المؤقتة المفتوحة القابلة للتحويل</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Ryujinx ربط بـ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>إزالة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>إزالة التحديث المثبت</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>إزالة جميع المحتويات القابلة للتنزيل المثبتة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>إزالة الإعدادات المخصصة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>إزالة تخزين ذاكرة التخزين المؤقتة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>OpenGL إزالة ذاكرة التخزين المؤقتة لخط أنابيب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Vulkan إزالة ذاكرة التخزين المؤقتة لخط أنابيب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>إزالة جميع ذاكرات التخزين المؤقتة لخط الأنابيب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>إزالة كافة المحتويات المثبتة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>إدارة زمن اللعب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>تعديل بيانات زمن التشغيل</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>إزالة بيانات زمن اللعب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>RomFS تفريغ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>SDMC إلى RomFS تفريغ </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>التحقق من السلامة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>نسخ معرف العنوان إلى الحافظة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>انتقل إلى إدخال قاعدة بيانات الألعاب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>إنشاء إختصار</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>إضافة إلى سطح المكتب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>إضافة إلى قائمة التطبيقات</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>إعدادات اللعبة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>مسح الملفات الداخلية</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>إزالة مجلد اللعبة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> نقل للأعلى</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> نقل للأسفل</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>فتح موقع المجلد</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>مسح</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>الاسم</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>التوافق</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>الإضافات</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>نوع الملف</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>الحجم</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>زمن اللعب</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>في اللعبة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>تبدأ اللعبة، لكن الأعطال أو الأخطاء الرئيسية تمنعها من الاكتمال.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>مثالي</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>يمكن لعب اللعبة بدون مشاكل.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>قابل للعب</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>تحتوي وظائف اللعبة على بعض الأخطاء الرسومية أو الصوتية البسيطة ويمكن تشغيلها من البداية إلى النهاية.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>مقدمة/القائمة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>يتم تحميل اللعبة، ولكنها غير قادرة على التقدم بعد شاشة البدء.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>لا تشتغل</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>تعطل اللعبة عند محاولة بدء التشغيل.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>لم تختبر</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>لم يتم اختبار اللعبة بعد.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation>الاسم</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation>التوافق</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation>الإضافات</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation>نوع الملف</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation>الحجم</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation>زمن اللعب</translation>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>انقر نقرًا مزدوجًا لإضافة مجلد جديد إلى قائمة الألعاب</translation>
</message>
@@ -6391,17 +6394,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 من %n نتيجة (نتائج)</numerusform><numerusform>%1 من %n نتيجة (نتائج)</numerusform><numerusform>%1 من %n نتيجة (نتائج)</numerusform><numerusform>%1 من %n نتيجة (نتائج)</numerusform><numerusform>%1 من %n نتيجة (نتائج)</numerusform><numerusform>%1 من %n نتيجة (نتائج)</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>:تصفية</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>أدخل النمط المطلوب لتصفية النتائج</translation>
</message>
@@ -8265,7 +8268,7 @@ If you wish to clean up the files which were left in the old data location, you
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>تم نقل البيانات بنجاح.</translation>
</message>
@@ -9123,47 +9126,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 يلعب %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>زمن اللعب: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>لم تُلعب قط</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>الإصدار: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>الإصدار: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>عناوين المثبتة على بطاقة الذاكرة</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>عناوين المثبتة على الذاكرة الداخلية</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>عناوين النظام</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>إضافة مجلد ألعاب جديد</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>المفضلة</translation>
</message>
@@ -9888,37 +9891,37 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>اسم التعديل</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation>ما الاسم المناسب لهذا التعديل؟</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/التصحيح</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation>الغش</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>نوع التعديل</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9927,18 +9930,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
عادةً ما تكون تعديلات (.pchtxt) ولكن التصحيحات .RomFS معظم التعديلات هي ExeFS.</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation>فشل استخراج التعديل</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation>%1 فشل إنشاء مجلد المؤقت</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation>الملف المضغوط 1% فارغ</translation>
</message>
@@ -10640,66 +10643,66 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation>%1 متاح للتنزيل</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation>موقع الإصدار الجديد</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation>جميع الملفات (*.*)</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation>فشل حفظ الملف</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation>تعذر فتح الملف 1% للكتابة</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation>جارٍ التنزيل...</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation>إلغاء</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation>تعذر الكتابة إلى الملف %1</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation>تعذر حفظ التغييرات في الملف %1</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation>فشل تنزيل الملف</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation>تعذر التنزيل من %1%2
رمز الخطأ: %3</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation>اكتمل التنزيل</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation>تم تنزيل 1% بنجاح. هل تريد فتحه؟</translation>
</message>
+131 -128
View File
@@ -4730,57 +4730,57 @@ Current values are %1% and %2% respectively.</source>
<translation>Algunes configuracions són disponibles només quan el joc no està corrent.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Complements</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Gràfics</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Gràfics avanç.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Àudio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Perfils d&apos;entrada</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>Applets</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Propietats</translation>
</message>
@@ -6044,279 +6044,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Preferit</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Iniciar el joc</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Iniciar el joc sense la configuració personalitzada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Obrir la ubicació dels arxius de partides guardades</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Obrir la ubicació dels mods</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Obrir cache transferible de shaders de canonada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Eliminar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Eliminar actualització instal·lada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Eliminar tots els DLC instal·lats</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Eliminar configuració personalitzada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Eliminar cache de canonada d&apos;OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Eliminar cache de canonada de Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Eliminar totes les caches de canonada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Eliminar tots els continguts instal·lats</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Bolcar RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Bolcar RomFS a SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Copiar la ID del títol al porta-retalls</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Navegar a l&apos;entrada de GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Escanejar subdirectoris</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Eliminar directori de jocs</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Moure amunt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Move avall</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Obre ubicació del directori</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Esborrar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Compatibilitat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Complements</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Tipus d&apos;arxiu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Mida</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfecte</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro / Menú</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>No engega</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>El joc es bloqueja al intentar iniciar.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>No provat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Aquest joc encara no ha estat provat.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Faci doble clic per afegir un nou directori a la llista de jocs</translation>
</message>
@@ -6324,17 +6327,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 de %n resultat(s)</numerusform><numerusform>%1 de %n resultat(s)</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtre:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Introdueixi patró per a filtrar</translation>
</message>
@@ -8161,7 +8164,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9016,47 +9019,47 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>Mai jugat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>Versió: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>Versió: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Títols instal·lats a la SD</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Títols instal·lats a la NAND</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Títols del sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Afegir un nou directori de jocs</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Preferits</translation>
</message>
@@ -9773,55 +9776,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10515,65 +10518,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4722,57 +4722,57 @@ Current values are %1% and %2% respectively.</source>
<translation>Některá nastavení jsou dostupná pouze, pokud hra neběží.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Doplňky</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Systém</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafika</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Pokroč. grafika</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Zvuk</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Profily Vstupu</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Vlastnosti</translation>
</message>
@@ -6035,279 +6035,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Oblíbené</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Spustit hru</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Spustit hru bez vlastní konfigurace</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Otevřít Lokaci Savů</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Otevřít Lokaci Modifikací</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Odstranit</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Odstranit nainstalovanou aktualizaci</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Odstranit všechny nainstalované DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Odstranit vlastní konfiguraci hry</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Odstranit všechen nainstalovaný obsah</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Odstranit data o době hraní</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Vypsat RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Ověřit Integritu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Zkopírovat ID Titulu do schránky</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Navigovat do GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Vytvořit Zástupce</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Prohledat podsložky</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Odstranit složku se hrou</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Posunout nahoru</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Posunout dolů</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Otevřít umístění složky</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Vymazat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Kompatibilita</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Modifkace</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Typ-Souboru</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Velikost</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Doba hraní</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfektní</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Hra může být hrána bez problémů.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Hratelné</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Hra funguje s drobnými grafickými nebo zvukovými chybami a je hratelná od začátku do konce.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Nebootuje</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Hra crashuje při startu.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Netestováno</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Hra ještě nebyla testována</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Dvojitým kliknutím přidáte novou složku do seznamu her</translation>
</message>
@@ -6315,17 +6318,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtr:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Zadejte filtr</translation>
</message>
@@ -8151,7 +8154,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9004,47 +9007,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 hraje %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Nainstalované SD tituly</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Nainstalované NAND tituly</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Systémové tituly</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Přidat novou složku s hrami</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Oblíbené</translation>
</message>
@@ -9761,55 +9764,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10503,65 +10506,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4730,57 +4730,57 @@ Current values are %1% and %2% respectively.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Tilføjelser</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafik</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Lyd</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Egenskaber</translation>
</message>
@@ -6043,279 +6043,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Åbn Gemt Data-Placering</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Åbn Mod-Data-Placering</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Fjern</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Kopiér Titel-ID til Udklipsholder</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Ryd</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Kompatibilitet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Tilføjelser</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Filtype</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Størrelse</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfekt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Starter Ikke Op</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Ikke Afprøvet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Spillet er endnu ikke blevet afprøvet.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation type="unfinished"/>
</message>
@@ -6323,17 +6326,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filter:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation type="unfinished"/>
</message>
@@ -8159,7 +8162,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9008,47 +9011,47 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Installerede SD-Titler</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Installerede NAND-Titler</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Systemtitler</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Tilføj Ny Spilmappe</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation type="unfinished"/>
</message>
@@ -9765,55 +9768,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10497,65 +10500,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+1079 -956
View File
File diff suppressed because it is too large Load Diff
+131 -128
View File
@@ -4722,57 +4722,57 @@ Current values are %1% and %2% respectively.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Πρόσθετα</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Σύστημα</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Γραφικά</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Προχ. Γραφικά</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Ήχος</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Ιδιότητες</translation>
</message>
@@ -6034,279 +6034,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Αγαπημένο</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Έναρξη παιχνιδιού</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Άνοιγμα Τοποθεσίας Αποθήκευσης Δεδομένων</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Άνοιγμα Τοποθεσίας Δεδομένων Mod</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Αφαίρεση</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Αφαίρεση Εγκατεστημένης Ενημέρωσης</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Αφαίρεση Όλων των Εγκατεστημένων DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Καταργήστε Όλη την Κρυφή μνήμη του Pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Καταργήστε Όλο το Εγκατεστημένο Περιεχόμενο</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Απόθεση του RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Απόθεση του RomFS στο SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Αντιγραφή του Title ID στο Πρόχειρο</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Μεταβείτε στην καταχώρηση GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Σκανάρισμα Υποφακέλων</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Αφαίρεση Φακέλου Παιχνιδιών</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Μετακίνηση Επάνω</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Μετακίνηση Κάτω</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Ανοίξτε την Τοποθεσία Καταλόγου</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Καθαρισμός</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Όνομα</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Συμβατότητα</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Πρόσθετα</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Τύπος αρχείου</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Μέγεθος</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Τέλεια</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Εισαγωγή/Μενου</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Δεν ξεκινά</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Το παιχνίδι διακόπτεται κατά την προσπάθεια εκκίνησης.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Μη Τεσταρισμένο</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Το παιχνίδι δεν έχει ακόμα τεσταριστεί.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Διπλο-κλικ για προσθήκη νεου φακέλου στη λίστα παιχνιδιών</translation>
</message>
@@ -6314,17 +6317,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Φίλτρο:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Εισαγάγετε μοτίβο για φιλτράρισμα</translation>
</message>
@@ -8150,7 +8153,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9000,47 +9003,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 παίζει %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Τίτλοι Συστήματος</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Προσθήκη Νέας Τοποθεσίας Παιχνιδιών</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Αγαπημένα</translation>
</message>
@@ -9757,55 +9760,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10493,65 +10496,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+132 -129
View File
@@ -4806,57 +4806,57 @@ Los valores actuales son %1% y %2% respectivamente.</translation>
<translation>Algunos ajustes solo están disponibles cuando no se estén ejecutando los juegos.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Complementos</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Gráficos</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Gráficos avanz.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Extensiones Gráficas</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Perfiles de entrada</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Red</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>Applets</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Propiedades</translation>
</message>
@@ -5556,7 +5556,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d
<message>
<location filename="../../src/yuzu/configuration/configure_ui.ui" line="89"/>
<source>Show Add-Ons Column</source>
<translation>Mostrar columna de complementos</translation>
<translation>Mostrar la columna de complementos</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ui.ui" line="96"/>
@@ -6126,279 +6126,282 @@ Por favor, vaya a Configuración -&gt; Sistema -&gt; Red y selecciona una interf
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>&amp;Añadir un nuevo directorio de juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Favorito</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Iniciar juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Iniciar juego sin la configuración personalizada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Abrir ubicación de los archivos de guardado</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Abrir ubicación de los mods</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Abrir caché de canalización de shaders transferibles</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Enlace a Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Eliminar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Eliminar la actualización instalada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Eliminar todos los DLC instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Eliminar la configuración personalizada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Quitar almacenamiento de caché</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Eliminar caché de canalización de OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Eliminar caché de canalización de Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Eliminar todas las cachés de canalización</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Eliminar todo el contenido instalado</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Gestionar tiempo de juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Editar los datos del tiempo de juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Eliminar información del tiempo de juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Volcar RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Volcar RomFS a SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verificar integridad</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Copiar la ID del título al portapapeles</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Ir a la sección de bases de datos del juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Crear acceso directo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Añadir al escritorio</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Añadir al menú de aplicaciones</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Configurar juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Escanear subdirectorios</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Eliminar directorio de juegos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Mover hacia arriba</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Mover hacia abajo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Abrir ubicación del directorio</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Limpiar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Compatibilidad</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Complementos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Tipo de archivo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Tamaño</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Tiempo de juego</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>En juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>El juego se inicia, pero se bloquea o se producen fallos importantes que impiden completarlo.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfecta</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>El juego se puede jugar sin problemas.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Jugable</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>El juego tiene algunos errores gráficos o de sonido, pero se puede jugar de principio a fin.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Inicio/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>El juego se ejecuta, pero no puede avanzar de la pantalla de inicio.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>No funciona</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>El juego se bloquea al intentar iniciar.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Sin testear</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>El juego todavía no ha sido testeado todavía.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation>Compatibilidad</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation>Complementos</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation>Tipo de archivo</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation>Tamaño</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation>Tiempo de juego</translation>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Haz doble clic para agregar un nuevo directorio a la lista de juegos.</translation>
</message>
@@ -6406,17 +6409,17 @@ Por favor, vaya a Configuración -&gt; Sistema -&gt; Red y selecciona una interf
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 de %n resulto(s)</numerusform><numerusform>%1 de %n resultado(s)</numerusform><numerusform>%1 de %n resultado(s)</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Búsqueda:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Introduce un patrón para buscar</translation>
</message>
@@ -8271,7 +8274,7 @@ Si quieres limpiar los archivos que se quedaron en el ubicacion de datos anticua
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>Datos se migraron con exito.</translation>
</message>
@@ -9129,47 +9132,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 esta jugando %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>Tiempo de juego: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>Nunca jugado</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>Versión: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>Versión: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Títulos instalados en la SD</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Títulos instalados en NAND</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Títulos del sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Añadir un nuevo directorio de juego</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favoritos</translation>
</message>
@@ -9898,37 +9901,37 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>Nombre del mod</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation> ¿Cómo debería llamarse este mod?</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/Parche</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation>Truco</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>Tipo de mod</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9937,18 +9940,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
La mayoría de los mods son RomFS, pero los parches (.pchtxt) suelen ser ExeFS.</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation>Fallo al extraer el mod</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation>Fallo al crear directorio temporal %1</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation>El archivo zip %1 está vacío</translation>
</message>
@@ -10654,66 +10657,66 @@ Seleccionando &quot;Desde Eden&quot;, los datos de guardado anteriores alojados
<translation>%1 está disponible para descargar.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation>Ubicación de la nueva versión</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation>Todos los archivos (*.*)</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation>Fallo al guardar el archivo</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation>No se pudo abrir el archivo %1 para su escritura.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation>Descargando...</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation>No se pudo escribir en el archivo %1.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation>No se pudo cometer en el archivo %1.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation>Fallo al descargar el archivo</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation>No se pudo descargar desde %1%2
Código de error: %3</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation>Descarga completada</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation>%1 descargado con éxito. ¿Desea abrirlo?</translation>
</message>
+131 -128
View File
@@ -4700,57 +4700,57 @@ Current values are %1% and %2% respectively.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Lisäosat</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Järjestelmä</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU (prosessori)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafiikat</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Ääni</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Ominaisuudet</translation>
</message>
@@ -6012,279 +6012,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Avaa tallennuskansio</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Avaa modien tallennuskansio</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Poista</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Poista asennettu päivitys</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Poista kaikki asennetut DLC:t</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Poista mukautettu määritys</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Poista kaikki asennettu sisältö</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Dumppaa RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Kopioi nimike ID leikepöydälle</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Siirry GameDB merkintään</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Skannaa alakansiot</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Poista pelikansio</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Liiku ylös</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Liiku alas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Avaa hakemisto</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Tyhjennä</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nimi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Yhteensopivuus</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Lisäosat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Tiedostotyyppi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Koko</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Täydellinen</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Valikko</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Ei käynnisty</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Peli kaatuu käynnistettäessä.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Ei testattu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Peliä ei ole vielä testattu</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Tuplaklikkaa lisätäksesi uusi kansio pelilistaan.</translation>
</message>
@@ -6292,17 +6295,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Suodatin:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Syötä suodatettava tekstipätkä</translation>
</message>
@@ -8128,7 +8131,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -8977,47 +8980,47 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Asennetut SD-sovellukset</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Asennetut NAND-sovellukset</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Järjestelmäsovellukset</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Lisää uusi pelikansio</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation type="unfinished"/>
</message>
@@ -9734,55 +9737,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10466,65 +10469,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4785,57 +4785,57 @@ Les valeurs actuelles sont respectivement de %1% et %2%.</translation>
<translation>Certains paramètres ne sont disponibles que lorsqu&apos;un jeu n&apos;est pas en cours d&apos;exécution.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Extensions</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Système</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Graphiques</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Adv. Graphiques</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Profils d&apos;entrée</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Propriétés</translation>
</message>
@@ -6101,279 +6101,282 @@ Veuillez aller dans Configurer -&gt; Système -&gt; Réseau puis en choisir une.
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Préférer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Démarrer le jeu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Démarrer le jeu sans configuration personnalisée</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Ouvrir l&apos;emplacement des données de sauvegarde</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Ouvrir l&apos;emplacement des données des mods</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Ouvrir le cache de pipelines transférable</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Lier à Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Supprimer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Supprimer mise à jour installée</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Supprimer tous les DLC installés</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Supprimer la configuration personnalisée</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Supprimer le stockage du cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Supprimer le cache de pipelines OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Supprimer le cache de pipelines Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Supprimer tous les caches de pipelines</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Supprimer tout le contenu installé</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Gérer le Temps de Jeu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Modifier les Données de Temps de Jeu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Supprimer les données de temps de jeu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Extraire la RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Décharger RomFS vers SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Vérifier l&apos;intégrité</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Copier l&apos;ID du titre dans le Presse-papiers</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Accédez à l&apos;entrée GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Créer un raccourci</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Ajouter au bureau</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Ajouter au menu des applications</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Configurer le jeux</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Scanner les sous-dossiers</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Supprimer le répertoire du jeu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Monter</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Descendre</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Ouvrir l&apos;emplacement du répertoire</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Effacer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Compatibilité</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Extensions</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Type de fichier</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Taille</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Temps de jeu</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>En jeu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Le jeu se lance, mais crash ou des bugs majeurs l&apos;empêchent d&apos;être complété.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Parfait</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Le jeu peut être joué sans problèmes.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Jouable</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Le jeu fonctionne avec des glitchs graphiques ou audio mineurs et est jouable du début à la fin.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Le jeu charge, mais ne peut pas progresser après le menu de démarrage.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Ne démarre pas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Le jeu crash au lancement.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Non testé</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Le jeu n&apos;a pas encore é testé.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Double-cliquez pour ajouter un nouveau dossier à la liste de jeux</translation>
</message>
@@ -6381,17 +6384,17 @@ Veuillez aller dans Configurer -&gt; Système -&gt; Réseau puis en choisir une.
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 sur %n résultat</numerusform><numerusform>%1 sur %n résultats</numerusform><numerusform>%1 sur %n résultat(s)</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtre :</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Entrez un motif à filtrer</translation>
</message>
@@ -8229,7 +8232,7 @@ Si vous souhaitez supprimer les fichiers qui ont été laissés dans l&apos;anci
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>Les données ont é migré avec succès</translation>
</message>
@@ -9087,47 +9090,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 joue à %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Titres installés sur la SD</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Titres installés sur la NAND</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Titres Système</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Ajouter un nouveau répertoire de jeu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favoris</translation>
</message>
@@ -9850,55 +9853,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10599,65 +10602,65 @@ En sélectionnant « Depuis Eden », les données de sauvegarde précédemment s
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4713,57 +4713,57 @@ A jelenlegi érték %1% és %2%.</translation>
<translation>Néhány beállítás csak akkor érhető el, amikor nem fut játék.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Kiegészítők</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Rendszer</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafika</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Haladó graf.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Hang</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Beviteli profilok</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Tulajdonságok</translation>
</message>
@@ -6027,279 +6027,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Kedvenc</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Játék indítása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Játék indítása egyéni konfiguráció nélkül</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Mentett adatok helyének megnyitása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Modadatok helyének megnyitása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Áthelyezhető pipeline gyorsítótár megnyitása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Eltávolítás</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Telepített frissítés eltávolítása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Összes telepített DLC eltávolítása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Egyéni konfiguráció eltávolítása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Gyorsítótár ürítése</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>OpenGL Pipeline gyorsítótár eltávolítása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Vulkan pipeline gyorsítótár eltávolítása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Az összes Pipeline gyorsítótár törlése</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Összes telepített tartalom törlése</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Játékidő törlése</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>RomFS kimentése</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>RomFS kimentése SDMC-re</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Integritás ellenőrzése</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Játék címének vágólapra másolása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>GameDB bejegyzéshez navigálás</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Parancsikon létrehozása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Asztalhoz adás</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Alkalmazások menühöz adás</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Almappák szkennelése</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Játékkönyvtár eltávolítása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Feljebb mozgatás</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Lejjebb mozgatás</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Könyvtár helyének megnyitása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Törlés</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Név</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Kompatibilitás</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Kiegészítők</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Fájltípus</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Méret</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Játékidő</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Játékban</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>A játék elindul, de összeomlik, vagy súlyos hibák miatt nem fejezhető be.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Tökéletes</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>A játék problémamentesen játszható.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Játszható</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>A játék kisebb grafikai- és hanghibákkal végigjátszható.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Bevezető/Menü</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>A játék betölt, de nem jut tovább a Kezdőképernyőn.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Nem indul</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>A játék összeomlik indításkor.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Nem tesztelt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Ez a játék még nem lett tesztelve.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Dupla kattintással új mappát adhatsz hozzá a játéklistához.</translation>
</message>
@@ -6307,17 +6310,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 a(z) %n találatból</numerusform><numerusform>%1 a(z) %n találatból</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Szűrés:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Adj meg egy mintát a szűréshez</translation>
</message>
@@ -8144,7 +8147,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -8999,47 +9002,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 ezzel játszik: %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Telepített SD játékok</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Telepített NAND játékok</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Rendszercímek</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Új játékkönyvtár hozzáadása</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Kedvencek</translation>
</message>
@@ -9756,55 +9759,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10498,65 +10501,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4751,57 +4751,57 @@ Current values are %1% and %2% respectively.</source>
<translation>Beberapa pengaturan hanya tersedia ketika permainan tidak sedang berjalan.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Pengaya (Add-On)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Sistem</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafis</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Ljtan. Grafik</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Profil Masukan</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Properti</translation>
</message>
@@ -6063,279 +6063,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Favorit</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Mulai permainan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Buka Lokasi Data Penyimpanan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Buka Lokasi Data Mod</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Singkirkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Hapus semua konten terinstall.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Kelola waktu bermain</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Edit data waktu bermain</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Hapus data waktu bermain</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Dump RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verifikasi Integritas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Salin Judul ID ke Clipboard.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Pindah ke tampilan GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Buat pintasan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Menambahkan ke Desktop</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Memindai subfolder</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Buka Lokasi Direktori</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Bersihkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nama</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Kompatibilitas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Pengaya (Add-On)</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Tipe berkas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Ukuran</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Waktu bermain</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Sempurna</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Permainan dapat dimainkan tanpa kendala.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Awal/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Tidak Akan Berjalan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Gim rusak saat mencoba untuk memulai.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Belum dites</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Gim belum pernah dites.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Klik dua kali untuk menambahkan folder sebagai daftar permainan.</translation>
</message>
@@ -6343,17 +6346,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Masukkan pola untuk memfilter</translation>
</message>
@@ -8179,7 +8182,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9028,47 +9031,47 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Tambahkan direktori permainan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation type="unfinished"/>
</message>
@@ -9785,55 +9788,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>Nama Mod</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation>Cheat</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>Tipe Mod</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10517,65 +10520,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4803,57 +4803,57 @@ Per attivarlo, disattiva il mouse emulato.</translation>
<translation>Alcune impostazioni sono disponibili soltanto quando un gioco non è in esecuzione.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Add-on</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafica</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Grafica (Avanzate)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Grafica (Estensioni)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Profili di input</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Rete</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>Applet</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Proprietà</translation>
</message>
@@ -6124,279 +6124,282 @@ Vai su Configura -&gt; Sistema -&gt; Rete e selezionane una.</translation>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>&amp;Aggiungi nuova cartella dei giochi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Preferito</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Avvia gioco</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Avvia gioco senza la configurazione personalizzata</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Apri la cartella dei dati di salvataggio</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Apri la cartella delle mod</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Apri la cartella della cache trasferibile delle pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Collega con Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Rimuovi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Rimuovi l&apos;aggiornamento installato</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Rimuovi tutti i DLC installati</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Rimuovi la configurazione personalizzata</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Rimuovi la cache del gioco</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Rimuovi la cache delle pipeline OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Rimuovi la cache delle pipeline Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Rimuovi tutte le cache delle pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Rimuovi tutti i contenuti installati</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Gestisci il tempo di gioco</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Modifica il tempo di gioco</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Reimposta il tempo di gioco</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Estrai RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Estrai RomFS su SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verifica integrità</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Copia il Title ID negli appunti</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Vai alla pagina di GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Crea scorciatoia</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Aggiungi al desktop</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Aggiungi al menù delle applicazioni</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Configura gioco</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Scansiona le sottocartelle</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Rimuovi cartella dei giochi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Sposta in alto</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Sposta in basso</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Apri cartella</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Cancella</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Compatibilità</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Add-on</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Tipo di file</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Dimensione</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Tempo di gioco</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>In-game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Il gioco parte, ma non può essere completato a causa di arresti anomali o di glitch importanti.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfetto</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Il gioco funziona senza problemi.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Giocabile</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Il gioco presenta alcuni glitch audio o video minori ed è possibile giocare dall&apos;inizio alla fine.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Menù</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Il gioco si avvia, ma è impossibile proseguire oltre la schermata iniziale.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Non si avvia</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Il gioco si blocca quando viene avviato.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Non testato</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Il gioco non è ancora stato testato.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Clicca due volte per aggiungere una nuova cartella alla lista dei giochi</translation>
</message>
@@ -6404,17 +6407,17 @@ Vai su Configura -&gt; Sistema -&gt; Rete e selezionane una.</translation>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 di %n risultato</numerusform><numerusform>%1 di %n di risultati</numerusform><numerusform>%1 di %n risultati</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtro:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Inserisci pattern per filtrare</translation>
</message>
@@ -8258,7 +8261,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>I dati sono stati trasferiti con successo.</translation>
</message>
@@ -9115,47 +9118,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 sta giocando a %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>Tempo di gioco: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>Mai giocato</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>Versione: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>Versione: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Titoli SD installati</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Titoli NAND installati</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Titoli di sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Aggiungi nuova cartella dei giochi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Preferiti</translation>
</message>
@@ -9880,37 +9883,37 @@ Vuoi selezionare manualmente la cartella dell&apos;installazione portatile da us
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>Nome mod</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation>Qual è il nome di questa mod?</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/Patch</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation>Trucco</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>Tipologia mod</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9919,18 +9922,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
La maggior parte delle mod sono RomFS, ma le patch (.pchtxt) sono tipicamente ExeFS.</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation>Estrazione mod fallita</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation>Impossibile creare la cartella temporanea %1</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation>Il file ZIP %1 è vuoto</translation>
</message>
@@ -10632,65 +10635,65 @@ Selezionando &quot;Da Eden&quot;, i dati di salvataggio pre-esistenti in Ryujinx
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4736,57 +4736,57 @@ Current values are %1% and %2% respectively.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation></translation>
</message>
@@ -6050,279 +6050,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Modデータディレクトリを開く</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>DLCを削除</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>OpenGLパイプラインキャッシュを削除</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Vulkanパイプラインキャッシュを削除</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>RomFSをダンプ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>RomFSをSDMCにダンプ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>IDをクリップボードへコピー</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>GameDBエントリを表示</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation></translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation></translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation></translation>
</message>
@@ -6330,17 +6333,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation></translation>
</message>
@@ -8167,7 +8170,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9022,47 +9025,47 @@ p, li { white-space: pre-wrap; }
<translation>%1%2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>SDタイトル</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>NANDタイトル</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation></translation>
</message>
@@ -9779,55 +9782,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10521,65 +10524,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+185 -168
View File
@@ -726,7 +726,7 @@ Options lower than 1X can cause artifacts.</source>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="152"/>
<source>Determines how sharpened the image will look using FSR&apos;s or SGSR&apos;s dynamic contrast.</source>
<translation type="unfinished"/>
<translation>FSR SGSR의 .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="153"/>
@@ -752,7 +752,9 @@ FXAA는 저해상도에서 더 안정적인 화면을 구현할 수 있습니다
<source>The method used to render the window in fullscreen.
Borderless offers the best compatibility with the on-screen keyboard that some games request for input.
Exclusive fullscreen may offer better performance and better Freesync/Gsync support.</source>
<translation type="unfinished"/>
<translation> .
.
FreeSync/GSync .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="161"/>
@@ -789,7 +791,8 @@ Disabling it is only intended for debugging.</source>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="170"/>
<source>Uses an extra CPU thread for rendering.
This option should always remain enabled.</source>
<translation type="unfinished"/>
<translation> CPU .
.</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="171"/>
@@ -801,7 +804,9 @@ This option should always remain enabled.</source>
<source>Specifies how videos should be decoded.
It can either use the CPU or the GPU for decoding, or perform no decoding at all (black screen on videos).
In most cases, GPU decoding provides the best performance.</source>
<translation type="unfinished"/>
<translation> .
CPU GPU를 , ( ).
GPU .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="175"/>
@@ -815,7 +820,10 @@ CPU: Use the CPU for decoding.
GPU: Use the GPU's compute shaders to decode ASTC textures (recommended).
CPU Asynchronously: Use the CPU to decode ASTC textures on demand. EliminatesASTC decoding
stuttering but may present artifacts.</source>
<translation type="unfinished"/>
<translation> ASTC .
CPU: CPU를 .
GPU: GPU의 ASTC ().
CPU 비동기: 필요에 CPU를 ASTC . ASTC , .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="181"/>
@@ -827,17 +835,19 @@ stuttering but may present artifacts.</source>
<source>Most GPUs lack support for ASTC textures and must decompress to anintermediate format: RGBA8.
BC1/BC3: The intermediate format will be recompressed to BC1 or BC3 format,
saving VRAM but degrading image quality.</source>
<translation type="unfinished"/>
<translation> GPU는 ASTC RGBA8로 .
BC1/BC3: 중간 BC1 BC3
VRAM을 .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="186"/>
<source>Frame Pacing Mode (Vulkan only)</source>
<translation type="unfinished"/>
<translation> (Vulkan )</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="187"/>
<source>Controls how the emulator manages frame pacing to reduce stuttering and make the frame rate smoother and more consistent.</source>
<translation type="unfinished"/>
<translation> .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="189"/>
@@ -854,12 +864,12 @@ Aggressive mode may impact performance of other applications such as recording s
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="193"/>
<source>Skip CPU Inner Invalidation</source>
<translation type="unfinished"/>
<translation>CPU </translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="194"/>
<source>Skips certain cache invalidations during memory updates, reducing CPU usage and improving latency. This may cause soft-crashes.</source>
<translation type="unfinished"/>
<translation> CPU . .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="196"/>
@@ -910,7 +920,7 @@ Unreal Engine 4 games often see the most significant changes thereof.</source>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="217"/>
<source>Slightly improves performance by moving presentation to a separate CPU thread.</source>
<translation type="unfinished"/>
<translation> CPU .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="219"/>
@@ -966,18 +976,19 @@ Particles tend to only render correctly with Accurate mode.</source>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="233"/>
<source>May reduce shader stutter.</source>
<translation type="unfinished"/>
<translation> .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="234"/>
<source>Fast GPU Time</source>
<translation type="unfinished"/>
<translation> CPU </translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="235"/>
<source>Overclocks the emulated GPU to increase dynamic resolution and render distance.
Use 256 for maximal performance and 512 for maximal graphics fidelity.</source>
<translation type="unfinished"/>
<translation> GPU를 .
256, 512 .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="237"/>
@@ -988,7 +999,8 @@ Use 256 for maximal performance and 512 for maximal graphics fidelity.</source>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="238"/>
<source>Accelerates BCn 3D texture decoding using GPU compute.
Disable if experiencing crashes or graphical glitches.</source>
<translation type="unfinished"/>
<translation>GPU BCn 3D .
.</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="240"/>
@@ -1013,7 +1025,8 @@ GPU는 중간 및 큰 크기의 텍스처에서 더 빠르지만, 매우 작은
<location filename="../../src/qt_common/config/shared_translation.cpp" line="246"/>
<source>Sets the maximum amount of texture data (in MiB) processed per frame.
Higher values can reduce stutter during texture loading but may impact frame consistency.</source>
<translation type="unfinished"/>
<translation> (MiB ) .
.</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="249"/>
@@ -1103,7 +1116,7 @@ This option may improve rendering quality and performance consistency in some ga
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="274"/>
<source>Removes bloom in Burnout.</source>
<translation> .</translation>
<translation>Burnout에서의 .</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="276"/>
@@ -1336,7 +1349,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="389"/>
<source>Always</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="393"/>
@@ -1484,7 +1497,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="450"/>
<source>NCE</source>
<translation type="unfinished"/>
<translation>NCE</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="454"/>
@@ -1514,12 +1527,12 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="466"/>
<source>0.25X (180p/270p) [EXPERIMENTAL]</source>
<translation type="unfinished"/>
<translation>0.25X (180p/270p) []</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="467"/>
<source>0.5X (360p/540p) [EXPERIMENTAL]</source>
<translation type="unfinished"/>
<translation>0.5X (360p/540p) []</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="468"/>
@@ -1534,7 +1547,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="470"/>
<source>1.25X (900p/1350p) [EXPERIMENTAL]</source>
<translation type="unfinished"/>
<translation>1.25X (900p/1350p) []</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="471"/>
@@ -1599,7 +1612,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="486"/>
<source>Lanczos</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="487"/>
@@ -1609,7 +1622,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="488"/>
<source>AMD FidelityFX Super Resolution</source>
<translation type="unfinished"/>
<translation>AMD FidelityFX Super Resolution</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="489"/>
@@ -1619,7 +1632,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="490"/>
<source>MMPX</source>
<translation type="unfinished"/>
<translation>MMPX</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="491"/>
@@ -1644,7 +1657,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="495"/>
<source>Snapdragon Game Super Resolution</source>
<translation type="unfinished"/>
<translation>Snapdragon Game Super Resolution</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="496"/>
@@ -1720,12 +1733,12 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="520"/>
<source>32x</source>
<translation type="unfinished"/>
<translation>32x</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="521"/>
<source>64x</source>
<translation type="unfinished"/>
<translation>64x</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="527"/>
@@ -2108,7 +2121,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="621"/>
<source>4GB DRAM (Default)</source>
<translation type="unfinished"/>
<translation>4GB DRAM()</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="622"/>
@@ -2118,7 +2131,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="623"/>
<source>8GB DRAM</source>
<translation type="unfinished"/>
<translation>8GB DRAM</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="624"/>
@@ -2159,7 +2172,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="641"/>
<source>Always ask (Default)</source>
<translation type="unfinished"/>
<translation> ()</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="642"/>
@@ -2379,7 +2392,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="68"/>
<source>CPU Backend</source>
<translation type="unfinished"/>
<translation>CPU </translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="95"/>
@@ -2756,12 +2769,12 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="384"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When checked, disables reordering of mapped memory uploads which allows to associate uploads with specific draws. May reduce performance in some cases.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; . .&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="387"/>
<source>Disable Buffer Reorder</source>
<translation type="unfinished"/>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="397"/>
@@ -2861,7 +2874,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="611"/>
<source>Flush log output on each line</source>
<translation type="unfinished"/>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="618"/>
@@ -3261,7 +3274,7 @@ Would you like to delete the old save data?</source>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="52"/>
<source>External Content</source>
<translation type="unfinished"/>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="58"/>
@@ -3306,7 +3319,7 @@ Would you like to delete the old save data?</source>
<message>
<location filename="../../src/yuzu/configuration/configure_general.cpp" line="154"/>
<source>This directory is already in the list.</source>
<translation type="unfinished"/>
<translation> .</translation>
</message>
</context>
<context>
@@ -4792,57 +4805,57 @@ Current values are %1% and %2% respectively.</source>
<translation> .</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>릿</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation></translation>
</message>
@@ -6110,279 +6123,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Ryujinx에 </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation> DLC </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Vulkan </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>RomFS를 </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>RomFS를 SDMC로 </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation> ID </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>GameDB </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation> </translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation> , .</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation> .</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation> .</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>/</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation> .</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation> .</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation> .</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation> </translation>
</message>
@@ -6390,17 +6406,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation> </translation>
</message>
@@ -7231,7 +7247,7 @@ Debug Message: </source>
<message>
<location filename="../../src/yuzu/main.ui" line="573"/>
<source>&amp;Eden Dependencies</source>
<translation type="unfinished"/>
<translation>Eden (&amp;E)</translation>
</message>
<message>
<location filename="../../src/yuzu/main.ui" line="578"/>
@@ -7298,7 +7314,7 @@ Debug Message: </source>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="472"/>
<source>Vulkan initialization failed during boot.</source>
<translation type="unfinished"/>
<translation> Vulkan .</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="493"/>
@@ -8216,7 +8232,8 @@ Would you like to bypass this and exit anyway?</source>
<location filename="../../src/yuzu/migration_worker.cpp" line="52"/>
<source>Linking the old directory failed. You may need to re-run with administrative privileges on Windows.
OS gave error: %1</source>
<translation type="unfinished"/>
<translation> . Windows에서는 .
OS : %1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.cpp" line="70"/>
@@ -8247,7 +8264,7 @@ If you wish to clean up the files which were left in the old data location, you
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation> .</translation>
</message>
@@ -9105,47 +9122,47 @@ p, li { white-space: pre-wrap; }
<translation>%1() %2() </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation> : %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>버전: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation> SD </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation> NAND </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation> </translation>
</message>
@@ -9869,37 +9886,37 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9908,18 +9925,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
RomFS , (.pchtxt) ExeFS .</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10620,66 +10637,66 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation>%1 .</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation> ...</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation>%1%2
: %3</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation>%1() . ?</translation>
</message>
+131 -128
View File
@@ -4734,57 +4734,57 @@ Gjeldende verdier er henholdsvis %1% og %2%.</translation>
<translation>Noen innstillinger er bare tilgjengelige når spillet ikke er i gang.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Tillegg</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafikk</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Avansert grafikk</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Lyd</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Inndataprofiler</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Nettverk</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Egenskaper</translation>
</message>
@@ -6047,279 +6047,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>Legg til ny spillm&amp;appe</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Legg til som favoritt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Start spill</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Start spill uten tilpasset oppsett</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Åpne lagrefilplassering</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Åpne moddataplassering</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Åpne overførbar rørledningsbuffer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Fjern</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Fjern installert oppdatering</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Fjern all installert DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Fjern tilpasset oppsett</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Tøm hurtiglager</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Fjern OpenGL-rørledningsbuffer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Fjern Vulkan-rørledningsbuffer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Fjern alle rørledningsbuffere</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Fjern alt installert innhold</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Dump RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Dump RomFS til SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verifiser integritet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Kopier Tittel-ID til Utklippstavle</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Naviger til GameDB-oppføring</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Opprett snarvei</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Legg Til Skrivebordet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Legg Til Applikasjonsmenyen</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Oppsett av spillet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Skann Undermapper</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Fjern spillmappe</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Flytt Opp</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Flytt Ned</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Åpne Spillmappe</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Tøm</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Kompatibilitet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Tilleggsprogrammer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Filtype</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Størrelse</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>i Spillet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Spillet starter, men krasjer eller større feil gjør at det ikke kan fullføres.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfekt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Spillet kan spilles uten problemer.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Spillbar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Spillet fungerer med mindre grafiske eller lydfeil og kan spilles fra start til slutt.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Meny</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Spillet lastes inn, men kan ikke videre forbi startskjermen.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Vil ikke starte</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Spillet krasjer under oppstart.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Ikke testet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Spillet har ikke blitt testet ennå.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Dobbeltrykk for å legge til en ny mappe i spillisten</translation>
</message>
@@ -6327,17 +6330,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 of %n resultat</numerusform><numerusform>%1 av %n resultat(er)</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filter:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Angi mønster for å filtrere</translation>
</message>
@@ -8164,7 +8167,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9021,47 +9024,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 spiller %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>Tid spilt: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>Aldri spilt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>Versjon: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>Versjon: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Installerte SD-titler</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Installerte NAND-titler</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Systemtitler</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Legg til ny spillmappe</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favoritter</translation>
</message>
@@ -9778,55 +9781,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>Mod-navn</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/Patch</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>Mod-type</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation>«%1»-zip-filen er tom</translation>
</message>
@@ -10520,65 +10523,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4731,57 +4731,57 @@ De huidige waarden zijn %1% en %2%.</translation>
<translation>Sommige instellingen zijn alleen beschikbaar als een spel niet actief is.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Add-Ons</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Systeem</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Adv. Graphics</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Invoerprofielen</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Eigenschappen</translation>
</message>
@@ -6045,279 +6045,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Favoriet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Start Spel</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Start Spel zonder Aangepaste Configuratie</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Open Locatie van Save-data</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Open Locatie van Mod-data</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Open Overdraagbare Pijplijn-cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Verwijder</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Verwijder Geïnstalleerde Update</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Verwijder Alle Geïnstalleerde DLC&apos;s</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Verwijder Aangepaste Configuraties</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Verwijder Cache-opslag</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Verwijder OpenGL-pijplijn-cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Verwijder Vulkan-pijplijn-cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Verwijder Alle Pijplijn-caches</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Verwijder Alle Geïnstalleerde Inhoud</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Dump RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Dump RomFS naar SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verifieer Integriteit</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Kopiëer Titel-ID naar Klembord</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Navigeer naar GameDB-invoer</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Maak Snelkoppeling</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Toevoegen aan Bureaublad</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Toevoegen aan menu Toepassingen</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Scan Submappen</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Verwijder Spelmap</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Omhoog</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Omlaag</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Open Maplocatie</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Verwijder</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Naam</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Compatibiliteit</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Add-ons</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Bestandssoort</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Grootte</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>In het spel</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Het spel start, maar crashes of grote glitches voorkomen dat het wordt voltooid.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfect</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Het spel kan zonder problemen gespeeld worden.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Speelbaar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Het spel werkt met kleine grafische of audiofouten en is speelbaar van begin tot eind.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Het spel wordt geladen, maar komt niet verder dan het startscherm.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Start niet op</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Het spel loopt vast bij het opstarten.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Niet Getest</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Het spel is nog niet getest.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Dubbel-klik om een nieuwe map toe te voegen aan de spellijst</translation>
</message>
@@ -6325,17 +6328,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 van %n resultaat(en)</numerusform><numerusform>%1 van %n resultaat(en)</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filter:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Voer patroon in om te filteren</translation>
</message>
@@ -8162,7 +8165,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9017,47 +9020,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 speelt %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Geïnstalleerde SD-titels</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Geïnstalleerde NAND-titels</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Systeemtitels</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Voeg Nieuwe Spelmap Toe</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favorieten</translation>
</message>
@@ -9774,55 +9777,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10516,65 +10519,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4797,57 +4797,57 @@ Obecne wartości to odpowiednio %1% i %2%.</translation>
<translation>Niektóre ustawienia dostępne tylko, gdy gra nie jest uruchomiona.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Dodatki</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafika</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Zaaw. Grafika</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Dodatkowa grafika</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Dźwięk</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Profil wejściowy</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Sieć</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Właściwości</translation>
</message>
@@ -6113,279 +6113,282 @@ Przejdź do sekcji Konfiguracja -&gt; System -&gt; Sieć i dokonaj wyboru.</tran
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Ulubione</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Uruchom grę</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Uruchom grę bez niestandardowej konfiguracji</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Otwórz lokalizację zapisów</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Otwórz lokalizację modyfikacji</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Otwórz Transferowalną Pamięć Podręczną Pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Połącz z Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Usuń</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Usuń zainstalowaną łatkę</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Usuń wszystkie zainstalowane DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Usuń niestandardową konfigurację</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Usuń pamięć podręczną</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Usuń Pamięć Podręczną Pipeline OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Usuń Pamięć Podręczną Pipeline Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Usuń całą pamięć podręczną Pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Usuń całą zainstalowaną zawartość</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Zarządzaj czasem gry</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Edytuj dane czasu gry</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Usuń dane dotyczące czasu gry</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Zrzuć RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Zrzuć RomFS do SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Sprawdź integralność</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Kopiuj identyfikator gry do schowka</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Nawiguj do wpisu kompatybilności gry</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Utwórz skrót</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Dodaj do pulpitu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Dodaj do menu aplikacji</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Skonfiguruj grę</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Skanuj podfoldery</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Usuń katalog gier</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Przenieś w górę</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Przenieś w dół</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Otwórz lokalizacje katalogu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Wyczyść</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nazwa gry</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Kompatybilność</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Dodatki</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Typ pliku</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Rozmiar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Czas gry</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>W grze</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Gra uruchamia się, ale awarie lub poważne błędy uniemożliwiają jej ukończenie.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfekcyjnie</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Można grać bez problemów.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Grywalna</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Gra działa z drobnymi błędami graficznymi lub dźwiękowymi oraz jest grywalna od początku do końca.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Gra się ładuje, ale nie może przejść przez ekran początkowy.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Nie uruchamia się</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Ta gra się zawiesza przy próbie startu.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Nie testowane</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Ta gra nie została jeszcze przetestowana.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Kliknij podwójnie aby dodać folder do listy gier</translation>
</message>
@@ -6393,17 +6396,17 @@ Przejdź do sekcji Konfiguracja -&gt; System -&gt; Sieć i dokonaj wyboru.</tran
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 z %n wyniku</numerusform><numerusform>%1 z %n wyników</numerusform><numerusform>%1 z %n wyników</numerusform><numerusform>%1 z %n wyników</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filter:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Wpisz typ do filtra</translation>
</message>
@@ -8260,7 +8263,7 @@ Jeśli chcesz usunąć pliki, które pozostały w starej lokalizacji danych, mo
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>Dane zostały pomyślnie przeniesione.</translation>
</message>
@@ -9118,47 +9121,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 gra w %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Zainstalowane tytuły SD</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Zainstalowane tytuły NAND</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Tytuły systemu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Dodaj nowy katalog gier</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Ulubione</translation>
</message>
@@ -9882,55 +9885,55 @@ Czy chcesz ręcznie wybrać folder przenośny do użycia?</translation>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10631,65 +10634,65 @@ Wybierając „Z Eden”, dotychczasowe dane zapisu przechowywane w Ryujinx zost
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+137 -133
View File
@@ -723,7 +723,7 @@ Resoluções mais altas exigem mais VRAM e largura de banda.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="152"/>
<source>Determines how sharpened the image will look using FSR&apos;s or SGSR&apos;s dynamic contrast.</source>
<translation type="unfinished"/>
<translation>Determina o quão nítida a imagem ficará usando o contraste dinâmico do FSR ou do SGSR.</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="153"/>
@@ -870,13 +870,14 @@ O modo agressivo pode impactar a performance de outros aplicativos, como softwar
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="196"/>
<source>Anti-Flicker</source>
<translation type="unfinished"/>
<translation>Anti-Cintilação</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="197"/>
<source>Forces GPU fence callbacks to wait for submitted GPU work.
Use with Fast GPU mode, to avoid flicker with lower performance impact.</source>
<translation type="unfinished"/>
<translation>Força os callbacks de GPU fence a aguardarem o trabalho enviado da GPU.
Use com o modo Fast GPU para evitar tremores com menor impacto no desempenho.</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="199"/>
@@ -4799,57 +4800,57 @@ Os valores atuais são %1% e %2% respectivamente.</translation>
<translation>Algumas configurações estão disponíveis apenas quando não houver nenhum jogo em execução.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Add-Ons</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Gráficos</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Gráficos Avç.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Gráficos Ext.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Perfis de controle</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Rede</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>Applets</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Propriedades</translation>
</message>
@@ -6120,279 +6121,282 @@ Por favor vá para Configuração -&gt; Sistema -&gt; Rede e selecione.</transla
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>&amp;Adicionar novo diretório de jogos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Favorito</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Iniciar jogo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Iniciar jogo sem configuração personalizada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Abrir Localização de Dados Salvos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Abrir a Localização de Dados do Mod</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Abrir cache de pipeline transferível</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Vincular ao Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Remover</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Remover Actualizações Instaladas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Remover Todos os DLC Instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Remover Configuração Personalizada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Remove a Cache do Armazenamento </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Remover cache de pipeline do OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Remover cache de pipeline do Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Remover todos os caches de pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Remover Todos os Conteúdos Instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Gerenciar Tempo de Jogo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Editar Dados do Tempo de Jogo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Remover dados de tempo jogado</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Despejar RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Extrair RomFS para SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verificar integridade</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Copiar título de ID para a área de transferência</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Navegue para a Entrada da Base de Dados de Jogos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Criar Atalho</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Adicionar à Área de Trabalho</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Adicionar ao Menu de Aplicativos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Configurar Jogo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Examinar Sub-pastas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Remover diretório do Jogo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Mover para Cima</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Mover para Baixo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Abrir Localização do diretório</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Limpar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Compatibilidade</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Add-ons</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Tipo de Arquivo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Tamanho</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Tempo jogado</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Não Jogável</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>O jogo inicia, porém problemas ou grandes falhas impedem que ele seja concluído.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfeito</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>O jogo pode ser jogado sem problemas.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Jogável</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>O jogo funciona com pequenas falhas gráficas ou de áudio e pode ser reproduzido do início ao fim.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Introdução / Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>O jogo carrega, porém não consegue passar da tela inicial.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Não Inicia</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>O jogo trava ao tentar iniciar.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Não Testado</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>O jogo ainda não foi testado.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation>Compatibilidade</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation>Complementos</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation>Tipo de arquivo</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation>Tamanho</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation>Tempo de jogo</translation>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Clique duas vezes para adicionar uma nova pasta à lista de jogos</translation>
</message>
@@ -6400,17 +6404,17 @@ Por favor vá para Configuração -&gt; Sistema -&gt; Rede e selecione.</transla
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtro:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Digite o padrão para filtrar</translation>
</message>
@@ -7347,12 +7351,12 @@ Mensagem de Depuração: </translation>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="1000"/>
<source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source>
<translation type="unfinished"/>
<translation>Velocidade atual da emulação. Valores altos ou mais baixo que 100% indicam que o emulador está rodando mais rápido ou mais lento que um Switch.</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="1003"/>
<source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source>
<translation type="unfinished"/>
<translation>Quantos quadros por segundo o jogo está mostrando atualmente. Isto varia de jogo para jogo e de cena a cena.</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="1007"/>
@@ -8239,7 +8243,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9096,47 +9100,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 está jogando %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Títulos SD instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Títulos NAND instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Títulos do sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Adicionar novo diretório de jogos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favoritos</translation>
</message>
@@ -9855,55 +9859,55 @@ Gostaria de selecionar manualmente uma pasta portátil para usar?</translation>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation>Falha ao criar um diretório temporário %1</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10599,65 +10603,65 @@ Ao selecionar &quot;Do Eden&quot;, os dados salvos anteriores armazenados no Ryu
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4734,57 +4734,57 @@ Os valores atuais são %1% e %2% respectivamente.</translation>
<translation>Algumas configurações estão disponíveis apenas quando não houver nenhum jogo em execução.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Add-Ons</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Gráficos</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Gráficos Avç.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Perfis de controle</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Propriedades</translation>
</message>
@@ -6048,279 +6048,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Favorito</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Iniciar jogo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Iniciar jogo sem configuração personalizada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Abrir Localização de Dados Salvos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Abrir a Localização de Dados do Mod</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Abrir cache de pipeline transferível</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Remover</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Remover Actualizações Instaladas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Remover Todos os DLC Instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Remover Configuração Personalizada</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Remove a Cache do Armazenamento </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Remover cache de pipeline do OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Remover cache de pipeline do Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Remover todos os caches de pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Remover Todos os Conteúdos Instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Remover dados de tempo jogado</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Despejar RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Extrair RomFS para SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verificar integridade</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Copiar título de ID para a área de transferência</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Navegue para a Entrada da Base de Dados de Jogos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Criar Atalho</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Adicionar à Área de Trabalho</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Adicionar ao Menu de Aplicativos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Examinar Sub-pastas</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Remover diretório do Jogo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Mover para Cima</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Mover para Baixo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Abrir Localização do diretório</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Limpar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Compatibilidade</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Add-ons</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Tipo de Arquivo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Tamanho</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Tempo jogado</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Não Jogável</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>O jogo inicia, porém problemas ou grandes falhas impedem que ele seja concluído.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfeito</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>O jogo pode ser jogado sem problemas.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Jogável</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>O jogo funciona com pequenas falhas gráficas ou de áudio e pode ser reproduzido do início ao fim.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Introdução / Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>O jogo carrega, porém não consegue passar da tela inicial.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Não Inicia</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>O jogo trava ao tentar iniciar.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Não Testado</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>O jogo ainda não foi testado.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Clique duas vezes para adicionar uma nova pasta à lista de jogos</translation>
</message>
@@ -6328,17 +6331,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtro:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Digite o padrão para filtrar</translation>
</message>
@@ -8165,7 +8168,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9020,47 +9023,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 está jogando %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Títulos SD instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Títulos NAND instalados</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Títulos do sistema</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Adicionar novo diretório de jogos</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favoritos</translation>
</message>
@@ -9777,55 +9780,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10519,65 +10522,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4806,57 +4806,57 @@ Current values are %1% and %2% respectively.</source>
<translation>Некоторые настройки доступны только тогда, когда игра не запущена.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Дополнения</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Система</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>ЦП</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Графика</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Расш. графика</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Доп. графика</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Звук</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Профили управления</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Сеть</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>Апплеты</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Параметры игры</translation>
</message>
@@ -6128,279 +6128,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>&amp;Добавить новую папку с играми</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Избранное</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Запустить игру</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Запустить игру без пользовательской настройки</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Открыть папку сохранений</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Открыть папку модов</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Открыть переносной кэш конвейера</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Ссылка на Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Удалить установленное обновление</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Удалить все установленные DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Удалить пользовательскую настройку</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Удалить кэш-хранилище</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Удалить кэш конвейера OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Удалить кэш конвейера Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Удалить весь кэш конвейеров</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Удалить все установленное содержимое</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Manage Play Time</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Изменить дату Игрового времени</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Удалить данные игрового времени</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Дамп RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Сдампить RomFS в SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Проверить целостность</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Скопировать ID приложения в буфер обмена</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Открыть отчет о совместимости</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Создать ярлык</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>На рабочий стол</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>В меню приложений</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Настроить игру</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Сканировать подпапки</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Удалить папку с играми</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Переместить вверх</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Переместить вниз</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Открыть расположение папки</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Очистить</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Совместимость</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Дополнения</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Тип файла</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Размер</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Время игры</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>В игре</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Игра запускается, но вылеты или серьезные баги не позволяют пройти ее до конца.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Идеально</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Игра полностью работает без проблем.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Играбельно</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Игра проходима от начала до конца, возможны лишь мелкие графические или звуковые ошибки.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Вступление/Меню</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Игра загружается, но не проходит дальше стартового экрана.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Не запускается</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Игра вылетает при запуске.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Не проверено</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Игру еще не проверяли на совместимость.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Нажмите дважды, чтобы добавить новую папку в список игр</translation>
</message>
@@ -6408,17 +6411,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 из %n результат(ов)</numerusform><numerusform>%1 из %n результат(ов)</numerusform><numerusform>%1 из %n результат(ов)</numerusform><numerusform>%1 из %n результат(ов)</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Поиск:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Введите текст для поиска</translation>
</message>
@@ -8276,7 +8279,7 @@ If you wish to clean up the files which were left in the old data location, you
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>Данные успешно перенесены.</translation>
</message>
@@ -9134,47 +9137,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 играет в %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>Время игры: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>Не запускалась</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>Версия: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>Версия: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Установленные SD игры</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Установленные NAND игры</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Системные игры</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Добавить новую папку с играми</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Избранные</translation>
</message>
@@ -9901,37 +9904,37 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>Название мода</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation>Как назвать этот мод?</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/Patch</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation>Чит</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>Тип мода</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9940,18 +9943,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
Большинство модов относятся к типу RomFS, а патчи (.pchtxt) обычно являются модами ExeFS.</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation>Ошибка извлечения мода</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation>Не удалось создать временную папку %1</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation>ZIP-файл %1 пуст</translation>
</message>
@@ -10653,66 +10656,66 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation>%1 доступна для загрузки.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation>Местоположение новой версии</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation>Все файлы (*.*)</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation>Не удалось сохранить файл</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation>Не удалось открыть файл %1 для записи.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation>Загрузка...</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation>Не удалось записать в файл %1.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation>Не удалось сохранить файл %1.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation>Не удалось загрузить файл</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation>Не удалось загрузить из %1%2
Код ошибки: %3</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation>Загрузка завершена</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation>%1 был успешно загружен. Хотите открыть?</translation>
</message>
+131 -128
View File
@@ -4814,57 +4814,57 @@ Nuvarande värden är %1% respektive %2%.</translation>
<translation>Vissa inställningar är endast tillgängliga när ett spel inte är igång.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Tillägg</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafik</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Avancerad grafik</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Ext. grafik</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Ljud</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Inmatningsprofiler</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Nätverk</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>Appletar</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Egenskaper</translation>
</message>
@@ -6135,279 +6135,282 @@ Gå till Konfigurera -&gt; System -&gt; Nätverk och gör ett val.</translation>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>&amp;Lägg till ny spelkatalog</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Favorit</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Starta spel</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Starta spelet utan anpassad konfiguration</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Öppna plats för sparat data</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Öppna plats för moddata</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Öppna cache för överförbar pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Länka till Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Ta bort</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Ta bort installerad uppdatering</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Ta bort alla installerade DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Ta bort anpassad konfiguration</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Ta bort cache-lagring</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Ta bort OpenGL Pipeline Cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Ta bort Vulkan Pipeline Cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Ta bort alla pipeline-cacher</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Ta bort allt installerat innehåll</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Hantera speltid</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Redigera data för speltid</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Ta bort data om speltid</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Dumpa RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Dumpa RomFS till SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Verifiera integritet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Kopiera titel-id till urklipp</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Navigera till GameDB-post</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Skapa genväg</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Lägg till skrivbordet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Lägg till i programmenyn</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Konfigurera spelet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Sök igenom undermappar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Ta bort spelkatalog</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Flytta upp</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Flytta ner</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Öppna katalogplats</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Rensa</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Kompatibilitet</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Tillägg</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Filtyp</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Storlek</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Speltid</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Spelproblem</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Spelet startar men kraschar eller större fel gör att det inte kan slutföras.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Perfekt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Spelet kan spelas utan problem.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Spelbart</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Spelet fungerar med små grafiska eller ljudmässiga fel och är spelbart från början till slut.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Intro/Meny</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Spelet läses in men det går inte att komma förbi startskärmen.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Startar inte</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Spelet kraschar när det försöker starta.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Inte testat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Spelet har ännu inte testats.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Dubbelklicka för att lägga till en ny mapp i spellistan</translation>
</message>
@@ -6415,17 +6418,17 @@ Gå till Konfigurera -&gt; System -&gt; Nätverk och gör ett val.</translation>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 av %n resultat</numerusform><numerusform>%1 av %n resultat</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtrera:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Ange mönster för att filtrera</translation>
</message>
@@ -8277,7 +8280,7 @@ Om du vill rensa upp bland de filer som låg kvar på den gamla dataplatsen kan
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>Datamigrering lyckades.</translation>
</message>
@@ -9135,47 +9138,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 spelar %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>Speltid: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>Aldrig spelat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>Version: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>Version: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Installerade SD-titlar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Installerade NAND-titlar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Systemtitlar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Lägg till ny spelkatalog</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favoriter</translation>
</message>
@@ -9900,37 +9903,37 @@ Vill du manuellt välja en portabel mapp att använda?</translation>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>Modnamn</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation>Vad ska denna mod heta?</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/Patch</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation>Fusk</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>Modtyp</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9939,18 +9942,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
De flesta mods är RomFS-mods, men patchar (.pchtxt) är vanligtvis ExeFS-mods.</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation>Mod-extrahering misslyckades</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation>Det gick inte att skapa den tillfälliga katalogen %1</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation>Zip-filen %1 är tom</translation>
</message>
@@ -10652,65 +10655,65 @@ Om du väljer ”Från Eden” tas tidigare sparade data bort som lagrats i Ryuj
<translation>%1 finns tillgänglig för hämtning.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation>Alla filer (*.*)</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation>Misslyckades med att spara filen</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation>Kunde inte öppna filen %1 för skrivning.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation>Hämtar ner...</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation>Avbryt</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4762,57 +4762,57 @@ Mevcut değerler sırasıyla %1 ve %2&apos;dir.</translation>
<translation>Bazı ayarlar yalnızca bir oyun çalışmadığında kullanılabilir.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Eklentiler</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Sistem</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Grafikler</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Gelişmiş Grafikler</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Ek Grafikler</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Ses</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Kontrol Profilleri</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Özellikler</translation>
</message>
@@ -6076,279 +6076,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Favori</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Oyunu Başlat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Oyunu Özel Yapılandırma Olmadan Başlat</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Kayıt Dosyası Konumunu </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Mod Dosyası Konumunu </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Transfer Edilebilir Pipeline Cache&apos;ini </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Yüklenmiş Güncellemeleri Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Yüklenmiş DLC&apos;leri Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Oyuna Özel Yapılandırmayı Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>OpenGL Pipeline Cache&apos;ini Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Vulkan Pipeline Cache&apos;ini Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Bütün Pipeline Cache&apos;lerini Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Tüm Yüklenmiş İçeriği Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>RomFS Dump Et</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>RomFS&apos;i SDMC&apos;ye çıkar.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Title ID&apos;yi Panoya Kopyala</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>GameDB sayfasına yönlendir</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Kısayol Oluştur</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Masaüstüne Ekle</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Uygulamalar Menüsüne Ekl</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Alt Klasörleri Tara</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Oyun Konumunu Kaldır</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation>Yukarı Git</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation>Aşağı Git</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Oyun Dosyası Konumunu </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Temizle</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>İsim</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Uyumluluk</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Eklentiler</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Dosya türü</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Boyut</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Oyunda</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Oyun başlatılabiliyor, fakat bariz hatalardan veya çökme sorunlarından dolayı bitirilemiyor.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Mükemmel</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Oyun sorunsuz bir şekilde oynanabiliyor.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Oynanabilir</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Oyun küçük grafik veya ses hatalarıyla çalışıyor ve baştan sona kadar oynanabilir.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>İntro/Menü</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Oyun açılıyor, fakat ana menüden ileri gidilemiyor.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Açılmıyor</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Oyun açılmaya çalışıldığında çöküyor.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Test Edilmedi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Bu oyun henüz test edilmedi.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Oyun listesine yeni bir klasör eklemek için çift tıklayın.</translation>
</message>
@@ -6356,17 +6359,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%n sonucun %1&apos;i</numerusform><numerusform>%n sonucun %1&apos;i</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Filtre:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Filtrelemek için bir düzen giriniz</translation>
</message>
@@ -8193,7 +8196,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9048,47 +9051,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 %2&apos;yi oynuyor</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Yüklenmiş SD Oyunları</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Yüklenmiş NAND Oyunları</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Sistemde Yüklü Oyunlar</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Yeni Oyun Konumu Ekle</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Favoriler</translation>
</message>
@@ -9805,55 +9808,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10547,65 +10550,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4810,57 +4810,57 @@ Current values are %1% and %2% respectively.</source>
<translation>Деякі налаштування доступні лише коли гра не запущена.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Додатки</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Система</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>ЦП</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Графіка</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Графіка (дод.)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation>Графіка (дод.)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Звук</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Профілі введення</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation>Мережа</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation>Аплети</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Властивості</translation>
</message>
@@ -6131,279 +6131,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation>[&amp;A] Додати нову теку з іграми</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Улюблені</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Запустити гру</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Запустити гру без користувацького налаштування</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Відкрити теку з даними збережень</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Відкрити теку модів</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Відкрити переміщуваний кеш конвеєра</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation>Підєднати до Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Вилучити</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Вилучити встановлене оновлення</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Вилучити всі доповнення</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Вилучити користувацьке налаштування</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Вилучити сховище кешу</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Вилучити кеш конвеєра OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Вилучити кеш конвеєра Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Вилучити всі кеші конвеєра</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Вилучити весь встановлений вміст</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation>Керувати награним часом</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation>Редагувати награний час</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation>Вилучити дані награного часу</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Створити дамп RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Створити дамп RomFS у SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Перевірити цілісність</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Скопіювати ID проєкту до буфера обміну</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Перейти до запису GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Створити ярлик</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Додати до стільниці</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Додати до меню застосунків</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation>Налаштувати гру</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Сканувати підтеки</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Вилучити теку гри</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Перемістити вверх</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Перемістити вниз</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Відкрити розташування теки</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Очистити</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Назва</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Сумісність</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Додатки</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Тип файлу</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Розмір</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation>Награний час</translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Запускається</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Гра запускається, але збої або серйозні баги перешкоджають її успішному проходженню.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Ідеально</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>У гру можна грати без проблем.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation>Придатна до гри</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Гра має незначні графічні або звукові проблеми, але її можна пройти від початку до кінця.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Вступ/меню</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Гра завантажується, але не може просунутися далі стартового екрана.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Не запускається</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Під час спроби запуску гри відбувається збій.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Не протестовано</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Гру ще не протестовано.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation>Назва</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation>Сумісність</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation>Додатки</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation>Тип файлу</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation>Розмір</translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation>Награний час</translation>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Натисніть двічі, щоб додати нову теку до переліку ігор</translation>
</message>
@@ -6411,17 +6414,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%1 із %n результату</numerusform><numerusform>%1 із %n результатів</numerusform><numerusform>%1 із %n результатів</numerusform><numerusform>%1 із %n результатів</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Фільтр:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Введіть шаблон для фільтрування</translation>
</message>
@@ -8279,7 +8282,7 @@ If you wish to clean up the files which were left in the old data location, you
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation>Дані перенесено успішно.</translation>
</message>
@@ -9137,47 +9140,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 грає в %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>Награний час: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation>Ще не зіграно</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>Версія: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>Версія: 1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Проєкти, встановлені до SD</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Проєкти, встановлені до NAND</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Системні проєкти</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Додати нову теку з іграми</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Улюблені</translation>
</message>
@@ -9904,37 +9907,37 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation>Назва мода</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation>Як повинен називатися цей мод?</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/патч</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation>Чит</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation>Тип мода</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9943,18 +9946,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
Більшість модів є RomFS-модами, але патчі (.pchtxt) зазвичай є ExeFS-модами.</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation>Не вдалося видобути мод</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation>Не вдалося створити тимчасову теку %1</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation>Zip-файл %1 порожній</translation>
</message>
@@ -10655,66 +10658,66 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation>%1 доступно для завантаження.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation>Розташування нової версії</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation>Усі файли (*.*)</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation>Не вдалося зберегти файл</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation>Не вдалося відкрити файл «%1» для запису.</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation>Завантаження...</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation>Скасувати</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation>Не вдалося записати до файлу «%1».</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation>Не вдалося вкласти до файлу «%1».</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation>Не вдалося завантажити файл</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation>Не вдалося завантажити з %1%2
Код помилки: %3</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation>Завантажено</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation>%1 успішно завантажено. Хочете відкрити?</translation>
</message>
+131 -128
View File
@@ -4734,57 +4734,57 @@ Các giá trị hiện tại lần lượt là %1% và %2%.</translation>
<translation>Một số cài đt chỉ khả dụng khi game không chạy.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Add-Ons</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Hệ thống</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Đ hoạ</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Đ hoạ nâng cao</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Âm thanh</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Hồ đu vào</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Thuộc tính</translation>
</message>
@@ -6048,279 +6048,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Ưa thích</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Bắt đu game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Bắt đu game không cấu hình tuỳ chỉnh</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Mở vị trí dữ liệu save</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Mở vị trí chứa dữ liệu mod</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Mở thư mục chứa bộ nhớ đm pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Loại bỏ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Loại bỏ bản cập nhật đã cài</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Loại bỏ tất cả DLC đã cài đt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Loại bỏ cấu hình tuỳ chỉnh</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Loại bỏ bộ nhớ đm</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Loại bỏ bộ nhớ đm pipeline OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Loại bỏ bộ nhớ đm pipeline Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Loại bỏ tất cả bộ nhớ đm shader</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Loại bỏ tất cả nội dung đã cài đt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Trích xuất RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Trích xuất RomFS tới SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Kiểm tra tính toàn vẹn</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Sao chép ID title vào bộ nhớ tạm</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Điều hướng đến mục GameDB</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Tạo lối tắt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Thêm vào desktop</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Thêm vào menu ng dụng</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Quét các thư mục con</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Loại bỏ thư mục game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Di chuyển lên</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Di chuyển xuống</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Mở vị trí thư mục</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Xóa</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Tên</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Đ tương thích</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Add-ons</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Loại tập tin</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Kích thước</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Trong game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Game khởi đng, nhưng bị crash hoặc lỗi nghiêm trọng dẫn đến việc không thể hoàn thành .</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Hoàn hảo</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Game thể chơi không gặp vấn đ.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation> thể chơi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Game hoạt đng với lỗi hình nh hoặc âm thanh nhẹ thể chơi từ đu tới cuối.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Phần mở đu/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Game đã tải, nhưng không thể qua đưc màn hình bắt đu.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Không khởi đng</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Game crash khi đang khởi đng.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Chưa ai thử</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Game này chưa đưc thử nghiệm.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Nhấp đúp chuột đ thêm một thư mục mới vào danh sách game</translation>
</message>
@@ -6328,17 +6331,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Lọc:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Nhập mẫu đ lọc</translation>
</message>
@@ -8165,7 +8168,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9020,47 +9023,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 đang chơi %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Các title đã cài đt trên thẻ SD</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Các title đã cài đt trên NAND</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Titles hệ thống</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Thêm thư mục game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Ưa thích</translation>
</message>
@@ -9777,55 +9780,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10519,65 +10522,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+131 -128
View File
@@ -4734,57 +4734,57 @@ Các giá trị hiện tại lần lượt là %1% và %2%.</translation>
<translation>Một số cài đt chỉ khả dụng khi game không chạy.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation>Bổ Sung</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation>Hệ Thống</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation>Đ Họa</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation>Đ Họa Nâng Cao</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation>Âm Thanh</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation>Hồ đu vào</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation>Thuộc tính</translation>
</message>
@@ -6048,279 +6048,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation>Ưa thích</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation>Bắt đu game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>Bắt đu game không cấu hình tuỳ chỉnh</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation>Mở vị trí lưu dữ liệu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation>Mở vị trí chỉnh sửa dữ liệu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation>Mở thư mục chứa bộ nhớ cache pipeline</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation>Gỡ Bỏ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation>Loại bỏ bản cập nhật đã cài</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>Loại bỏ tất cả DLC đã cài đt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation>Loại bỏ cấu hình tuỳ chỉnh</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation>Xoá bộ nhớ cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation>Loại bỏ OpenGL Pipeline Cache</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation>Loại bỏ bộ nhớ cache pipeline Vulkan</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation>Loại bỏ tất cả bộ nhớ cache shader</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation>Loại bỏ tất cả nội dung đã cài đt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation>Kết xuất RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation>Trích xuất RomFS tới SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation>Kiểm tra tính toàn vẹn</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation>Sao chép ID tiêu đ vào bộ nhớ tạm</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation>Điều hướng đến mục sở dữ liệu trò chơi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation>Tạo lối tắt</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation>Thêm vào Desktop</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation>Thêm vào menu ng dụng</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation>Quét các thư mục con</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation>Loại bỏ thư mục game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> Di chuyển lên</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> Di chuyển xuống</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation>Mở vị trí thư mục</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation>Bỏ trống</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation>Tên</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation>Tương thích</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation>Tiện ích ngoài</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation>Loại tệp tin</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation>Kích cỡ</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation>Trong game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation>Game khởi đng, nhưng gặp vấn đ hoặc lỗi nghiêm trọng đến việc không thể hoàn thành trò chơi.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation>Tốt nhất</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation>Game thể chơi không gặp vấn đ.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation> thể chơi</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation>Game hoạt đng với lỗi hình nh hoặc âm thanh nhẹ thể chơi từ đu tới cuối.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>Phần mở đu/Menu</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation>Trò chơi đã tải, nhưng không thể qua Màn hình Bắt đu.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation>Không hoạt đng</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation>Trò chơi sẽ thoát đt ngột khi khởi đng.</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation>Chưa ai thử</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation>Trò chơi này chưa ai thử cả.</translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation>Nháy đúp chuột đ thêm một thư mục mới vào danh sách trò chơi game</translation>
</message>
@@ -6328,17 +6331,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>Bộ lọc:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation>Nhập khuôn đ lọc</translation>
</message>
@@ -8165,7 +8168,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9020,47 +9023,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 đang chơi %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>Các title đã cài đt trên thẻ SD</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>Các title đã cài đt trên NAND</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation>Titles hệ thống</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation>Thêm thư mục game</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation>Ưa thích</translation>
</message>
@@ -9777,55 +9780,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10519,65 +10522,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+149 -143
View File
@@ -729,7 +729,7 @@ Options lower than 1X can cause artifacts.</source>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="152"/>
<source>Determines how sharpened the image will look using FSR&apos;s or SGSR&apos;s dynamic contrast.</source>
<translation type="unfinished"/>
<translation>使 FSR SGSR </translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="153"/>
@@ -878,13 +878,14 @@ Aggressive mode may impact performance of other applications such as recording s
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="196"/>
<source>Anti-Flicker</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="197"/>
<source>Forces GPU fence callbacks to wait for submitted GPU work.
Use with Fast GPU mode, to avoid flicker with lower performance impact.</source>
<translation type="unfinished"/>
<translation> GPU fence GPU
GPU 使,</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="199"/>
@@ -1656,12 +1657,12 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="495"/>
<source>Snapdragon Game Super Resolution</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="496"/>
<source>Snapdragon Game Super Resolution EdgeDir</source>
<translation type="unfinished"/>
<translation> EdgeDir</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.cpp" line="500"/>
@@ -3344,7 +3345,7 @@ Would you like to delete the old save data?</source>
<location filename="../../src/yuzu/configuration/configure_graphics.cpp" line="224"/>
<source>%</source>
<comment>FSR/SGSR sharpening percentage (e.g. 50%)</comment>
<translation type="unfinished"/>
<translation>%</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics.cpp" line="361"/>
@@ -4797,57 +4798,57 @@ Current values are %1% and %2% respectively.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation></translation>
</message>
@@ -6110,285 +6111,288 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="916"/>
<source>This build doesn&apos;t have OpenGL support.</source>
<translation type="unfinished"/>
<translation> OpenGL</translation>
</message>
</context>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation> (&amp;A)</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>使</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation> MOD </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation> Ryujinx</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation> DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation> OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation> Vulkan </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation> RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation> RomFS SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation> ID </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation></translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>/</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation></translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation></translation>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation></translation>
</message>
@@ -6396,17 +6400,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation><numerusform>%n个结果中的第%1</numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation></translation>
</message>
@@ -8157,12 +8161,12 @@ Would you like to bypass this and exit anyway?</source>
<message>
<location filename="../../src/qt_common/config/shared_translation.h" line="56"/>
<source>SGSR</source>
<translation type="unfinished"/>
<translation>SGSR</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.h" line="57"/>
<source>SGSR EdgeDir</source>
<translation type="unfinished"/>
<translation>SGSR EdgeDir</translation>
</message>
<message>
<location filename="../../src/qt_common/config/shared_translation.h" line="61"/>
@@ -8253,7 +8257,7 @@ If you wish to clean up the files which were left in the old data location, you
%1</translation>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation></translation>
</message>
@@ -9111,47 +9115,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation>%1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation>%1</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation>1.0.0</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation>SD </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation>NAND </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation></translation>
</message>
@@ -9526,34 +9530,36 @@ Only do this if you&apos;re 100% sure you want to delete this data.</source>
<message>
<location filename="../../src/qt_common/util/content.cpp" line="501"/>
<source>Keys not installed</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/content.cpp" line="502"/>
<source>Install decryption keys and restart Eden before attempting to install firmware.</source>
<translation type="unfinished"/>
<translation> Eden</translation>
</message>
<message>
<location filename="../../src/qt_common/util/content.cpp" line="514"/>
<source>Select Dumped Firmware Source Location</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/content.cpp" line="525"/>
<source>Select Dumped Firmware ZIP</source>
<translation type="unfinished"/>
<translation> ZIP</translation>
</message>
<message>
<location filename="../../src/qt_common/util/content.cpp" line="542"/>
<source>Firmware cleanup failed</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/content.cpp" line="543"/>
<source>Failed to clean up extracted firmware cache.
Check write permissions in the system temp directory and try again.
OS reported error: %1</source>
<translation type="unfinished"/>
<translation>
OS : %1</translation>
</message>
</context>
<context>
@@ -9874,37 +9880,37 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation>RomFS</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation>ExeFS/Patch</translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
@@ -9913,18 +9919,18 @@ Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</sourc
RomFS .pchtxt ExeFS </translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation></translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation> %1 </translation>
</message>
@@ -10626,66 +10632,66 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation>%1 </translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation> (*.*)</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation>...</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation> %1</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation> %1</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation> %1%2
: %3</translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation> %1?</translation>
</message>
+131 -128
View File
@@ -4761,57 +4761,57 @@ Current values are %1% and %2% respectively.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="77"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<source>Add-Ons</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="78"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<source>System</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="79"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<source>CPU</source>
<translation>CPU</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="80"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<source>Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="81"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<source>Adv. Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="82"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<source>Ext. Graphics</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="83"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<source>Audio</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="84"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<source>Input Profiles</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="85"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<source>Network</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="86"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="87"/>
<source>Applets</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="89"/>
<location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="90"/>
<source>Properties</source>
<translation></translation>
</message>
@@ -6075,279 +6075,282 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameList</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="685"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="380"/>
<source>&amp;Add New Game Directory</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="719"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="414"/>
<source>Favorite</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="721"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="416"/>
<source>Start Game</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="723"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="418"/>
<source>Start Game without Custom Configuration</source>
<translation>(使)</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="725"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="420"/>
<source>Open Save Data Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="726"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="421"/>
<source>Open Mod Data Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="728"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="423"/>
<source>Open Transferable Pipeline Cache</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="729"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="424"/>
<source>Link to Ryujinx</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="731"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="426"/>
<source>Remove</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="732"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="427"/>
<source>Remove Installed Update</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="733"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="428"/>
<source>Remove All Installed DLC</source>
<translation>DLC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="734"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="429"/>
<source>Remove Custom Configuration</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="735"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="430"/>
<source>Remove Cache Storage</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="736"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="431"/>
<source>Remove OpenGL Pipeline Cache</source>
<translation> OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="737"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="432"/>
<source>Remove Vulkan Pipeline Cache</source>
<translation> Vulkan </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="739"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="434"/>
<source>Remove All Pipeline Caches</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="740"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="435"/>
<source>Remove All Installed Contents</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="741"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="436"/>
<source>Manage Play Time</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="742"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="437"/>
<source>Edit Play Time Data</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="743"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="438"/>
<source>Remove Play Time Data</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="744"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="745"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="439"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="440"/>
<source>Dump RomFS</source>
<translation> RomFS</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="746"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="441"/>
<source>Dump RomFS to SDMC</source>
<translation> RomFS SDMC</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="747"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="442"/>
<source>Verify Integrity</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="748"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="443"/>
<source>Copy Title ID to Clipboard</source>
<translation> ID 簿</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="749"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="444"/>
<source>Navigate to GameDB entry</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="752"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="446"/>
<source>Create Shortcut</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="753"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="447"/>
<source>Add to Desktop</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="755"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="449"/>
<source>Add to Applications Menu</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="758"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="452"/>
<source>Configure Game</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="857"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="552"/>
<source>Scan Subfolders</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="858"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="553"/>
<source>Remove Game Directory</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="877"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="572"/>
<source> Move Up</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="878"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="573"/>
<source> Move Down</source>
<translation> </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="879"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="574"/>
<source>Open Directory Location</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="925"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="614"/>
<source>Clear</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="989"/>
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="990"/>
<source>Compatibility</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="991"/>
<source>Add-ons</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="992"/>
<source>File type</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="993"/>
<source>Size</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="994"/>
<source>Play time</source>
<translation></translation>
</message>
</context>
<context>
<name>GameListItemCompat</name>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Ingame</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="186"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="185"/>
<source>Game starts, but crashes or major glitches prevent it from being completed.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Perfect</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="188"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="187"/>
<source>Game can be played without issues.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Playable</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="189"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="188"/>
<source>Game functions with minor graphical or audio glitches and is playable from start to finish.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Intro/Menu</source>
<translation>/</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="192"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="191"/>
<source>Game loads, but is unable to progress past the Start Screen.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>Won&apos;t Boot</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="193"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="192"/>
<source>The game crashes when attempting to startup.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>Not Tested</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="194"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="193"/>
<source>The game has not yet been tested.</source>
<translation></translation>
</message>
</context>
<context>
<name>GameListModel</name>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="285"/>
<source>Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="286"/>
<source>Compatibility</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="287"/>
<source>Add-ons</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="288"/>
<source>File type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="289"/>
<source>Size</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/game_list/model.cpp" line="290"/>
<source>Play time</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>GameListPlaceholder</name>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1328"/>
<location filename="../../src/yuzu/game/game_list.cpp" line="757"/>
<source>Double-click to add a new folder to the game list</source>
<translation></translation>
</message>
@@ -6355,17 +6358,17 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GameListSearchField</name>
<message numerus="yes">
<location filename="../../src/yuzu/game/game_list.cpp" line="96"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="67"/>
<source>%1 of %n result(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1006"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="122"/>
<source>Filter:</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list.cpp" line="1007"/>
<location filename="../../src/yuzu/game/search_field.cpp" line="123"/>
<source>Enter pattern to filter</source>
<translation></translation>
</message>
@@ -8191,7 +8194,7 @@ If you wish to clean up the files which were left in the old data location, you
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/migration_worker.h" line="74"/>
<location filename="../../src/yuzu/migration_worker.h" line="73"/>
<source>Data was migrated successfully.</source>
<translation type="unfinished"/>
</message>
@@ -9046,47 +9049,47 @@ p, li { white-space: pre-wrap; }
<translation>%1 %2</translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="88"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="87"/>
<source>Play Time: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="91"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="90"/>
<source>Never Played</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="99"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="98"/>
<source>Version: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="101"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="100"/>
<source>Version: 1.0.0</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="308"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="307"/>
<source>Installed SD Titles</source>
<translation> SD </translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="316"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="315"/>
<source>Installed NAND Titles</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="324"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="323"/>
<source>System Titles</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="367"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="366"/>
<source>Add New Game Directory</source>
<translation></translation>
</message>
<message>
<location filename="../../src/yuzu/game/game_list_p.h" line="390"/>
<location filename="../../src/qt_common/game_list/game_list_p.h" line="389"/>
<source>Favorites</source>
<translation></translation>
</message>
@@ -9803,55 +9806,55 @@ Would you like to manually select a portable folder to use?</source>
<context>
<name>QtCommon::Mod</name>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>Mod Name</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="44"/>
<location filename="../../src/qt_common/util/mod.cpp" line="47"/>
<source>What should this mod be called?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="54"/>
<location filename="../../src/qt_common/util/mod.cpp" line="57"/>
<source>RomFS</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="55"/>
<location filename="../../src/qt_common/util/mod.cpp" line="58"/>
<source>ExeFS/Patch</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="56"/>
<location filename="../../src/qt_common/util/mod.cpp" line="59"/>
<source>Cheat</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="60"/>
<location filename="../../src/qt_common/util/mod.cpp" line="63"/>
<source>Mod Type</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="61"/>
<location filename="../../src/qt_common/util/mod.cpp" line="64"/>
<source>Could not detect mod type automatically. Please manually specify the type of mod you downloaded.
Most mods are RomFS mods, but patches (.pchtxt) are typically ExeFS mods.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="123"/>
<location filename="../../src/qt_common/util/mod.cpp" line="136"/>
<location filename="../../src/qt_common/util/mod.cpp" line="126"/>
<location filename="../../src/qt_common/util/mod.cpp" line="139"/>
<source>Mod Extract Failed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="124"/>
<location filename="../../src/qt_common/util/mod.cpp" line="127"/>
<source>Failed to create temporary directory %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/qt_common/util/mod.cpp" line="137"/>
<location filename="../../src/qt_common/util/mod.cpp" line="140"/>
<source>Zip file %1 is empty</source>
<translation type="unfinished"/>
</message>
@@ -10545,65 +10548,65 @@ By selecting &quot;From Eden&quot;, previous save data stored in Ryujinx will be
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="78"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="79"/>
<source>New Version Location</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="80"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="81"/>
<source>All Files (*.*)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="88"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="128"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="143"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<source>Failed to save file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="89"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="90"/>
<source>Could not open file %1 for writing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Downloading...</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="111"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="112"/>
<source>Cancel</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="129"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="130"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="144"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="145"/>
<source>Could not commit to file %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="156"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<source>Failed to download file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="157"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="158"/>
<source>Could not download from %1%2
Error code: %3</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="170"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<source>Download Complete</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="171"/>
<location filename="../../src/yuzu/updater/update_dialog.cpp" line="172"/>
<source>Successfully downloaded %1. Would you like to open it?</source>
<translation type="unfinished"/>
</message>
+10
View File
@@ -136,6 +136,16 @@ cmake -S . -B build -G "<GENERATOR>" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COM
<img src="https://user-images.githubusercontent.com/42481638/216899275-d514ec6a-e563-470e-81e2-3e04f0429b68.png" width="500">
</details>
#### Option D: Visual Studio with clang-cl
<details>
1. Install `"x64 Native Tools Command Prompt"` for VS from the installer and also install `cmake-gui`.
2. Open `"x64 Native Tools Command Prompt"` and type `cmake-gui`.
3. Click configure choose ninja generator > specify native compilers.
4. Put `"C:/Program Files/Microsoft Visual Studio/18/Community/VC/Tools/Llvm/x64/bin/clang-cl.exe"` as your C/C++ compiler path.
5. Open `Visual studio > Open project` or Solution > Change to search for the CMake project file (`CMakeList.txt`) file on the cloned directory, and then build.
</details>
## Troubleshooting
If your initial configure failed:
+1
View File
@@ -18,3 +18,4 @@
- `linux-amd64`
- `linux-aarch64`
- `macos-universal`
- `ios-aarch64`
+2 -1
View File
@@ -61,7 +61,8 @@ In order: OpenSSL CI, Boost (tag + artifact), Opus (options + find_args), discor
"version": "3.6.0",
"min_version": "1.1.1",
"disabled_platforms": [
"macos-universal"
"macos-universal",
"ios-aarch64"
]
},
"boost": {
+1 -2
View File
@@ -65,14 +65,13 @@ export LIBGL_ALWAYS_SOFTWARE=1
```
- Modify the generated ffmpeg.make (in build dir) if using multiple threads (base system `make` doesn't use `-j4`, so change for `gmake`).
- If using OpenIndiana, due to a bug in SDL2's CMake configuration, audio driver defaults to SunOS `<sys/audioio.h>`, which does not exist on OpenIndiana. Using external or bundled SDL2 may solve this.
- System OpenSSL generally does not work. Instead, use `-DYUZU_USE_BUNDLED_OPENSSL=ON` to use a bundled static OpenSSL, or build a system dependency from source.
## OmniOS
Install `developer/gcc14` on OmniOS using pkgsrc.
Since so many dependencies are missing on `OmniOS`, you may wish to use `-DCPMUTIL_FORCE_BUNDLED=ON -DYUZU_USE_EXTERNAL_SDL2=ON`
Since so many dependencies are missing on `OmniOS`, you may wish to use `-DCPMUTIL_FORCE_BUNDLED=ON`
For OmniOS you are required to build glslang yourself:
```sh
+2 -25
View File
@@ -69,29 +69,6 @@ Expressions can be `variable_names` or `1234` (numbers) or `*var` (dereference o
For more information type `info gdb` and read [the man page](https://man7.org/linux/man-pages/man1/gdb.1.html).
## Simple checklist for debugging black screens using Renderdoc
# RenderDoc (Graphic Debugging Tool)
Renderdoc is a free, cross platform, multi-graphics API debugger. It is an invaluable tool for diagnosing issues with graphics applications, and includes support for Vulkan. Get it at [renderdoc.org](https://renderdoc.org).
Before using renderdoc to diagnose issues, it is always good to make sure there are no validation errors. Any errors means the behavior of the application is undefined. That said, renderdoc can help debug validation errors if you do have them.
When debugging a black screen, there are many ways the application could have setup Vulkan wrong.
Here is a short checklist of items to look at to make sure are appropriate:
- Draw call counts are correct (aka not zero, or if rendering many triangles, not 3)
- Vertex buffers are bound
- vertex attributes are correct - Make sure the size & offset of each attribute matches what should it should be
- Any bound push constants and descriptors have the right data - including:
- Matrices have correct values - double check the model, view, & projection matrices are uploaded correctly
- Pipeline state is correct
- viewport range is correct - x,y are 0,0; width & height are screen dimensions, minDepth is 0, maxDepth is 1, NDCDepthRange is 0,1
- Fill mode matches expected - usually solid
- Culling mode makes sense - commonly back or none
- The winding direction is correct - typically CCW (counter clockwise)
- Scissor region is correct - usually same as viewport's x,y,width, &height
- Blend state is correct
- Depth state is correct - typically enabled with Function set to Less than or Equal
- Swapchain images are bound when rendering to the swapchain
- Image being rendered to is the same as the one being presented when rendering to the swapchain
Alternatively, a [RenderDoc Extension](https://github.com/baldurk/renderdoc-contrib/tree/main/baldurk/whereismydraw) ([Archive](https://web.archive.org/web/20250000000000*/https://github.com/baldurk/renderdoc-contrib/tree/main/baldurk/whereismydraw)) exists which automates doing a lot of these manual steps.
Guidelines for graphical debugging using RenderDoc: **[RenderDoc usage](./RenderDoc.md)**
+32 -20
View File
@@ -16,7 +16,7 @@ To build Eden, you MUST have a C++ compiler.
The following additional tools are also required:
* **[CMake](https://www.cmake.org/)** 3.22+ - already included with the Android SDK
* **[CMake](https://www.cmake.org/)** 3.31+ - already included with the Android SDK
* **[Git](https://git-scm.com/)** for version control
* **[Windows installer](https://gitforwindows.org)**
* **[Python3](https://www.python.org/downloads/)** 3.10+ - necessary to download external repositories
@@ -35,6 +35,11 @@ If you are on desktop and plan to use the Qt frontend, you *must* install Qt 6,
* For help setting up Qt Creator, run `./install.sh -h qtcreator`
* If you're using clang-cl and want to still use MSVC
* Check the option to add "C++ clang compiler for Windows" on Visual Studio installer and uncheck "x64/x86 build tool for MSVC" while selecting "C++ desktop developement tools" and change Visual Studio to 2026, from 2022.
* At qt creator section generator tab change Visual Studio 17 2022 to 2026.
* Finally, to use clang-cl: `cmake -S . -B build -G "Visual Studio 17 2026" -T ClangCL`
If you are on **Windows** and building with **MSVC** or **clang-cl**, you may go [back home](Build.md) and continue.
## Externals
@@ -42,7 +47,7 @@ If you are on **Windows** and building with **MSVC** or **clang-cl**, you may go
The following are handled by Eden's externals:
* [FFmpeg](https://ffmpeg.org/) (should use `-DYUZU_USE_EXTERNAL_FFMPEG=ON`)
* [SDL2](https://www.libsdl.org/download-2.0.php) 2.0.18+ (should use `-DYUZU_USE_EXTERNAL_SDL2=ON` OR `-DYUZU_USE_BUNDLED_SDL2=ON` to reduce compile time)
* [SDL3](https://www.libsdl.org/download-2.0.php) 3.2.10+ (Use `-DYUZU_USE_BUNDLED_SDL2=ON` to reduce compile time)
All other dependencies will be downloaded and built by [CPM](https://github.com/cpm-cmake/CPM.cmake/) if `YUZU_USE_CPM` is on, but will always use system dependencies if available (UNIX-like only):
@@ -118,7 +123,7 @@ sudo emerge -a \
dev-util/spirv-tools dev-util/spirv-headers dev-util/vulkan-headers \
dev-util/vulkan-utility-libraries dev-util/glslang \
media-gfx/renderdoc media-libs/libva media-libs/opus media-video/ffmpeg \
media-libs/VulkanMemoryAllocator media-libs/libsdl2 media-libs/cubeb \
media-libs/VulkanMemoryAllocator media-libs/libsdl3 media-libs/cubeb \
net-libs/enet \
sys-libs/zlib \
dev-cpp/nlohmann_json dev-cpp/simpleini dev-cpp/cpp-httplib dev-cpp/cpp-jwt \
@@ -137,7 +142,8 @@ Required USE flags:
* `dev-qt/qtbase network concurrent dbus gui widgets`
* `dev-libs/quazip qt6`
* `media-libs/libsdl2 haptic joystick sound video`
* `media-libs/libsdl3 haptic joystick sound video`
* Adding `X vulkan udev opengl` is recommended but not required
* `dev-cpp/cpp-httplib ssl`
[Caveats](./Caveats.md#gentoo-linux)
@@ -148,7 +154,7 @@ Required USE flags:
<summary>Arch Linux</summary>
```sh
sudo pacman -Syu --needed base-devel boost catch2 cmake enet ffmpeg fmt git glslang libzip lz4 ninja nlohmann-json openssl opus qt6-base qt6-multimedia qt6-charts sdl2 zlib zstd zip unzip vulkan-headers vulkan-utility-libraries libusb spirv-tools spirv-headers
sudo pacman -Syu --needed base-devel boost catch2 cmake enet ffmpeg fmt git glslang libzip lz4 ninja nlohmann-json openssl opus qt6-base qt6-multimedia qt6-charts sdl3 zlib zstd zip unzip vulkan-headers vulkan-utility-libraries libusb spirv-tools spirv-headers
```
* Building with QT Web Engine requires `qt6-webengine` as well.
@@ -161,10 +167,10 @@ sudo pacman -Syu --needed base-devel boost catch2 cmake enet ffmpeg fmt git glsl
<summary>Ubuntu, Debian, Mint Linux</summary>
```sh
sudo apt-get install autoconf cmake g++ gcc git glslang-tools libglu1-mesa-dev libhidapi-dev libpulse-dev libtool libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build qt6-base-private-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev pkg-config zlib1g-dev libva-dev libvdpau-dev qt6-tools-dev qt6-charts-dev libvulkan-dev spirv-tools spirv-headers libusb-1.0-0-dev libxbyak-dev libboost-dev libboost-fiber-dev libboost-context-dev libsdl2-dev libopus-dev libasound2t64 vulkan-utility-libraries-dev
sudo apt-get install autoconf cmake g++ gcc git glslang-tools libglu1-mesa-dev libhidapi-dev libpulse-dev libtool libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build qt6-base-private-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev pkg-config zlib1g-dev libva-dev libvdpau-dev qt6-tools-dev qt6-charts-dev libvulkan-dev spirv-tools spirv-headers libusb-1.0-0-dev libxbyak-dev libboost-dev libboost-fiber-dev libboost-context-dev libsdl3-dev libopus-dev libasound2t64 vulkan-utility-libraries-dev
```
* Ubuntu 22.04, Linux Mint 20, or Debian 12 or later is required.
* Ubuntu 26.04, Linux Mint 22.3, or Debian 13 or later is required.
* To enable QT Web Engine, add `-DYUZU_USE_QT_WEB_ENGINE=ON` when running CMake.
</details>
@@ -185,13 +191,13 @@ AlmaLinux (use `YUZU_USE_CPM=ON`):
sudo dnf install epel-release dnf-utils
# (run rpmfusion installation afterwards)
# vvv - This will work for most systems
sudo dnf install autoconf cmake libtool libudev cmake gcc gcc-c++ qt6-qtbase-devel zlib-devel openssl-devel boost SDL2 ffmpeg-devel libdrm glslang jq patch
sudo dnf install autoconf cmake libtool libudev cmake gcc gcc-c++ qt6-qtbase-devel zlib-devel openssl-devel boost SDL3 ffmpeg-devel libdrm glslang jq patch
# Qt6 private GUI must be taken from CRB repos
sudo dnf config-manager --enable crb
sudo dnf install qt6-qtbase-private-devel
```
For systems like OpenEuler or derivates, don't forget to also install: `SDL2-devel pkg-config fmt-dev nlohmann-json-dev`.
For systems like OpenEuler or derivates, don't forget to also install: `SDL3-devel pkg-config fmt-dev nlohmann-json-dev`.
* [RPM Fusion](https://rpmfusion.org/Configuration) is required for `ffmpeg-devel`
* Fedora 32 or later is required.
@@ -208,7 +214,7 @@ First, enable the community repository; [see here](https://wiki.alpinelinux.org/
# Enable the community repository
setup-apkrepos -c
# Install
apk add g++ git cmake make mesa-dev qt6-qtbase-dev qt6-qtbase-private-dev libquazip1-qt6 ffmpeg-dev qt6-charts-dev libusb-dev libtool boost-dev sdl2-dev zstd-dev vulkan-utility-libraries spirv-tools-dev openssl-dev nlohmann-json lz4-dev opus-dev jq patch
apk add g++ git cmake make mesa-dev qt6-qtbase-dev qt6-qtbase-private-dev libquazip1-qt6 ffmpeg-dev qt6-charts-dev libusb-dev libtool boost-dev sdl3-dev zstd-dev vulkan-utility-libraries spirv-tools-dev openssl-dev nlohmann-json lz4-dev opus-dev jq patch
```
</details>
@@ -216,7 +222,7 @@ apk add g++ git cmake make mesa-dev qt6-qtbase-dev qt6-qtbase-private-dev libqua
<summary>Void Linux</summary>
```sh
xbps-install -Su git make cmake clang pkg-config patch SPIRV-Tools-devel SPIRV-Headers lz4 liblz4-devel boost-devel ffmpeg6-devel catch2 Vulkan-Utility-Libraries Vulkan-Headers glslang openssl-devel SDL2-devel quazip-qt6-devel qt6-base-devel qt6-qt5compat-devel qt6-charts-devel fmt-devel json-c++ libenet-devel libusb-devel
xbps-install -Su git make cmake clang pkg-config patch SPIRV-Tools-devel SPIRV-Headers lz4 liblz4-devel boost-devel ffmpeg6-devel catch2 Vulkan-Utility-Libraries Vulkan-Headers glslang openssl-devel SDL3-devel quazip-qt6-devel qt6-base-devel qt6-qt5compat-devel qt6-charts-devel fmt-devel json-c++ libenet-devel libusb-devel
```
Yes, `nlohmann-json` is just named `json-c++`. Why?
@@ -237,7 +243,7 @@ If you're going for a pure build (i.e no downloaded deps), use `-DYUZU_USE_CPM=O
Install dependencies from **[Homebrew](https://brew.sh/)**
```sh
brew install autoconf automake boost ffmpeg fmt glslang hidapi libtool libusb lz4 ninja nlohmann-json openssl pkg-config qt@6 sdl2 speexdsp zlib zstd cmake Catch2 molten-vk vulkan-loader spirv-tools
brew install autoconf automake boost ffmpeg fmt glslang hidapi libtool libusb lz4 ninja nlohmann-json openssl pkg-config qt@6 sdl3 speexdsp zlib zstd cmake Catch2 molten-vk vulkan-loader spirv-tools
```
If you are compiling on Intel Mac, or are using a Rosetta Homebrew installation, you must replace all references of `/opt/homebrew` with `/usr/local`.
@@ -254,7 +260,7 @@ brew install molten-vk
<details>
<summary>FreeBSD</summary>
As root run: `pkg install devel/cmake devel/sdl20 devel/boost-libs devel/catch2 devel/libfmt devel/nlohmann-json devel/ninja devel/nasm devel/autoconf devel/pkgconf devel/qt6-base devel/qt6-charts devel/simpleini net/enet multimedia/ffnvcodec-headers multimedia/ffmpeg audio/opus archivers/liblz4 lang/gcc12 graphics/glslang graphics/vulkan-utility-libraries graphics/spirv-tools www/cpp-httplib devel/unordered-dense vulkan-headers quazip-qt6`
As root run: `pkg install devel/cmake sdl3 devel/boost-libs devel/catch2 devel/libfmt devel/nlohmann-json devel/ninja devel/nasm devel/autoconf devel/pkgconf devel/qt6-base devel/qt6-charts devel/simpleini net/enet multimedia/ffnvcodec-headers multimedia/ffmpeg audio/opus archivers/liblz4 lang/gcc12 graphics/glslang graphics/vulkan-utility-libraries graphics/spirv-tools www/cpp-httplib devel/unordered-dense vulkan-headers quazip-qt6`
If using FreeBSD 12 or prior, use `devel/pkg-config` instead.
@@ -264,7 +270,11 @@ If using FreeBSD 12 or prior, use `devel/pkg-config` instead.
<details>
<summary>NetBSD</summary>
For NetBSD +10.1: `pkgin install git cmake boost fmtlib SDL2 catch2 libjwt spirv-headers spirv-tools ffmpeg7 libva nlohmann-json jq libopus qt6 cpp-httplib lz4 vulkan-headers nasm autoconf enet pkg-config libusb1 libcxx`.
For NetBSD +10.1:
```sh
pkgin install git cmake boost fmtlib SDL3 catch2 libjwt spirv-headers spirv-tools ffmpeg7 libva nlohmann-json jq libopus qt6 cpp-httplib lz4 vulkan-headers nasm autoconf enet pkg-config libusb1 libcxx frozen
```
[Caveats](./Caveats.md#netbsd).
@@ -274,7 +284,7 @@ For NetBSD +10.1: `pkgin install git cmake boost fmtlib SDL2 catch2 libjwt spirv
```sh
pkg_add -u
pkg_add cmake nasm git boost unzip--iconv autoconf-2.72p0 bash ffmpeg glslang gmake qt6 jq fmt nlohmann-json enet boost vulkan-utility-libraries vulkan-headers spirv-headers spirv-tools catch2 sdl2 libusb1-1.0.29
pkg_add cmake nasm git boost unzip--iconv autoconf-2.72p0 bash ffmpeg glslang gmake qt6 jq fmt nlohmann-json enet boost vulkan-utility-libraries vulkan-headers spirv-headers spirv-tools catch2 sdl3 libusb1-1.0.29 quazip-qt6
```
[Caveats](./Caveats.md#openbsd).
@@ -284,7 +294,7 @@ pkg_add cmake nasm git boost unzip--iconv autoconf-2.72p0 bash ffmpeg glslang gm
<summary>DragonFlyBSD</summary>
```sh
pkg install gcc14 git cmake unzip nasm autoconf bash pkgconf ffmpeg glslang gmake jq nlohmann-json enet spirv-tools sdl2 vulkan-utility-libraries vulkan-headers catch2 libfmt openssl liblz4 boost-libs cpp-httplib qt6-base qt6-charts quazip-qt6 unordered-dense libva-vdpau-driver libva-utils libva-intel-driver
pkg install gcc14 git cmake unzip nasm autoconf bash pkgconf ffmpeg glslang gmake jq nlohmann-json enet spirv-tools sdl3 vulkan-utility-libraries vulkan-headers catch2 libfmt openssl liblz4 boost-libs cpp-httplib qt6-base qt6-charts quazip-qt6 unordered-dense libva-vdpau-driver libva-utils libva-intel-driver
```
[Caveats](./Caveats.md#dragonflybsd).
@@ -294,7 +304,7 @@ pkg install gcc14 git cmake unzip nasm autoconf bash pkgconf ffmpeg glslang gmak
<summary>OpenIndiana</summary>
```sh
sudo pkg install git cmake qt6 boost glslang libzip library/lz4 libusb-1 nlohmann-json openssl opus sdl2 zlib compress/zstd unzip pkg-config nasm autoconf mesa library/libdrm header-drm developer/fmt
sudo pkg install git cmake qt6 boost glslang libzip library/lz4 libusb-1 nlohmann-json openssl opus sdl3 zlib compress/zstd unzip pkg-config nasm autoconf mesa library/libdrm header-drm developer/fmt
```
[Caveats](./Caveats.md#openindiana).
@@ -318,7 +328,7 @@ sudo pkgin install git cmake autoconf build-essential libusb-1 nasm gcc13
```sh
BASE="git make autoconf libtool automake-wrapper jq patch"
MINGW="qt6-base qt6-charts qt6-tools qt6-translations qt6-svg cmake toolchain clang python-pip openssl vulkan-memory-allocator vulkan-devel glslang boost fmt lz4 nlohmann-json zlib zstd enet opus libusb unordered_dense openssl SDL2"
MINGW="qt6-base qt6-charts qt6-tools qt6-translations qt6-svg cmake toolchain clang python-pip openssl vulkan-memory-allocator vulkan-devel glslang boost fmt lz4 nlohmann-json zlib zstd enet opus libusb unordered_dense openssl SDL3"
# Either x86_64 or clang-aarch64 (Windows on ARM)
packages="$BASE"
for pkg in $MINGW; do
@@ -344,7 +354,7 @@ pacman -Syuu --needed --noconfirm $packages
<summary>HaikuOS</summary>
```sh
pkgman install git cmake patch libfmt_devel nlohmann_json lz4_devel opus_devel boost1.90_devel vulkan_devel qt6_base_devel qt6_declarative_devel libsdl2_devel ffmpeg7_devel libx11_devel enet_devel catch2_devel quazip1_qt5_devel qt6_5compat_devel glslang qt6_devel qt6_charts_devel
pkgman install git cmake patch libfmt_devel nlohmann_json lz4_devel opus_devel boost1.90_devel vulkan_devel qt6_base_devel qt6_declarative_devel libsdl3_devel ffmpeg7_devel libx11_devel enet_devel catch2_devel quazip1_qt5_devel qt6_5compat_devel glslang qt6_devel qt6_charts_devel cubeb_devel simpleini quazip_qt6_devel
```
[Caveats](./Caveats.md#haikuos).
@@ -355,9 +365,11 @@ pkgman install git cmake patch libfmt_devel nlohmann_json lz4_devel opus_devel b
```sh
sudo pkg update
sudo pkg install git cmake ffmpeg6 sdl2 zlib llvm18
sudo pkg install git cmake ffmpeg6 zlib llvm18
```
RedoxOS currently does not support SDL3. You will have to compile it yourself and pray.
[Caveats](./Caveats.md#redoxos).
</details>
+31
View File
@@ -0,0 +1,31 @@
# HOS Kernel
In brief, the HOS kernel is a microkernel, all services and programs run in userspace, the primary way to do communication between these is via `HIPC` (not covered here); otherwise most of the primitives reside in the forms of syscalls invoked via `svc #imm`. The kernel supports both 32-bit and 64-bit programs, and has the capacity to use 32, 36 and 39 bits of address space for spawned processes. Most of the networking stack is based off FreeBSD's network stack.
The emulator implements the majority of the syscalls pertaining to the HOS kernel itself. When we talk about the HOS Kernel (in the context of the emulator) we are strictly speaking about the mechanisms from which syscalls are handled (and it's subsequent side effects, such as the page table book-keeping). The emulator at it's current state is unable to load a custom low-level kernel and do supervisor-level emulation.
Most programs in NX eventually invoke an `svc`, which, depending on it's immediate value, will go on to be dispatched into one of the specific syscall handlers.
These can be seen in [svc.cpp](/src/core/hle/kernel/svc.cpp). All of these correspond to syscalls which userspace programs may perform.
In turn, these syscalls create the mechanisms that allows programs to use CMIF/TIPC as their primary IPC form to contact other services/processes running on the system, the details of which will not be covered here, but you can consult the relevant [SwitchBrew article: 'HIPC'](https://switchbrew.org/wiki/HIPC).
From the point of view of the programs, no special devices (such as PCIE, Realtek drivers, Bluetooth or USB) has to be handled by the emulator; this is because most of the fun occurs in specialized services such as `usb:u` or `pcie` services. Which aren't emulated (yet).
Due to the nature of syscalls, many of them interact with memory. The emulated kernel has an internal tree-like structure, borrowed from FreeBSD's intrusive red-black tree; this is used to track and find mappings added or removed. Thus most of the process space is emulated in this way.
The kernel keeps it's own separate pagetable, in a traditional sense, each process has it's own pagetable, this is true for HOS as well.
Every process keeps it's own tracking of the following structures:
- Name (13 characters)
- 64-bit ID
- A handle table
- Exclusive monitor
- Threads
- Held locks
- Thread local pages
- A page table for each process
The emulator willingly restricts itself to only use 4 threads (to emulate 4 cores), this is because most existing applications do not benefit greatly from the added core count, and in fact can be detrimental due to extra contention. This translates equitatively to about 4 `ArmInterface` slots for each process, these are then redirected to whatever is the last `pc` of the last thread running on the core is meant to be; proceed to run it, then when returning (due to halt or interruption), proceed to reschedule the thread.
The scheduler as-is isn't 100% faithful to the original (for example the original is cooperative and not preemptive), and has great timing variance (especially due to the fact the emulator can run in systems with wildly different timings).
+2
View File
@@ -853,6 +853,8 @@ Texture Query.
Vote Across SIMD Thread Group
`VOTE_vtg` is a kepler leftover.
# VSET
`0100 000- ---- ----`
+6 -3
View File
@@ -29,8 +29,7 @@ These options control dependencies.
- `YUZU_TZDB_PATH` (string) Path to a pre-downloaded timezone database (useful for nixOS and Gentoo)
- `YUZU_USE_BUNDLED_MOLTENVK` (ON, macOS only) Download bundled MoltenVK lib
- `YUZU_USE_BUNDLED_OPENSSL` (ON for MSVC, Android, Solaris, and OpenBSD) Download bundled OpenSSL build
- `YUZU_USE_EXTERNAL_SDL2` (OFF) Compiles SDL2 from source
- `YUZU_USE_BUNDLED_SDL2` (ON for MSVC) Download a prebuilt SDL2
- `YUZU_USE_BUNDLED_SDL3` (ON for MSVC) Download a prebuilt SDL3
### Miscellaneous
@@ -44,6 +43,9 @@ These options control dependencies.
- UNIX may be better off appending `-flto=thin` to compiler args
- `USE_FASTER_LINKER` (OFF) Check if a faster linker is available
- Not recommended outside of Linux
- `YUZU_INSTALL_UDEV_RULES` (OFF) Install udev rules to enable hidraw access
- Needed for gyroscopes
- Only available on Linux
### Flavors
@@ -60,7 +62,7 @@ These options control executables and build flavors.
**Desktop only**:
- `YUZU_CMD` (ON) Compile the SDL2 frontend (eden-cli)
- `YUZU_CMD` (ON) Compile the SDL-based frontend (eden-cli)
- `YUZU_ROOM` (OFF) Compile dedicated room functionality into the main executable
- `YUZU_ROOM_STANDALONE` (OFF) Compile a separate executable for room functionality
- `YUZU_STATIC_ROOM` (OFF) Compile the room executable *only* as a static, portable executable
@@ -96,5 +98,6 @@ The following options were a part of Eden at one point, but have since been reti
- `ENABLE_SDL2` - While technically possible to *not* use SDL2 on desktop, this is **NOT** a supported configuration under any means, and adding this matrix to our build system was not worth the effort.
- `YUZU_USE_CPM` - This option once had a purpose, but that purpose has long since passed us by. *All* builds use CPMUtil to manage dependencies now.
- If you want to *force* the usage of system dependencies, use `-DCPMUTIL_FORCE_SYSTEM=ON`.
- `YUZU_USE_EXTERNAL_SDL` - This is now handled automatically. It was included even after CPM for purposes that have not applied for a very long time.
See `src/dynarmic/CMakeLists.txt` for additional options--usually, these don't need changed
+22 -7
View File
@@ -2,21 +2,27 @@
Are you just a casual user? Take a look at our [User Handbook](./user) then!
If you want to register/signup as a contributor, take a gander at the [signup guide](./SIGNUP.md).
This contains documentation created by developers. This contains build instructions, guidelines, instructions/layouts for [cool stuff we made](./CPMUtil), and more.
- **[General Build Instructions](Build.md)**
- **[CMake Options](Options.md)**
- **[Cross Compiling](CrossCompile.md)**
- **[Development Guidelines](Development.md)**
- **[Dependencies](Deps.md)**
- **[General Build Instructions](./Build.md)**
- **[CMake Options](./Options.md)**
- **[Cross Compiling](./CrossCompile.md)**
- **[Development Guidelines](./Development.md)**
- **[Dependencies](./Deps.md)**
- **[Debug Guidelines](./Debug.md)**
- **[RenderDoc usage](./RenderDoc.md)**
- **[CPM - CMake Package Manager](./CPMUtil)**
- **[Platform-Specific Caveats](Caveats.md)**
- **[Platform-Specific Caveats](./Caveats.md)**
- **[The NVIDIA SM86 (Maxwell) GPU](./NvidiaGpu.md)**
- **[Dynarmic](./dynarmic)**
- **[Cross compilation](./CrossCompile.md)**
- **[Driver Bugs](./DriverBugs.md)**
- **[Building Older Commits](./build/OlderCommits.md)**
- Subsystems:
- **[Dynarmic](./dynarmic/README.md)**
- **[HOS Kernel](./HosKernel.md)**
- **[Settings](./Settings.md)**
## Policies
@@ -25,3 +31,12 @@ Policies and information on development.
- **[AI and LLM Usage](./policies/AI.md)**
- **[Release Policy](./policies/Release.md)**
- **[Coding guidelines](./policies/Coding.md)**
- **[Coding Style guidelines](./policies/CodingStyle.md)**
## Externals
Other useful resources in general, take a quick read if you need.
- **[SwitchBrew](https://switchbrew.org/wiki/Main_Page)**
- **[IPS file format](https://zerosoft.zophar.net/ips.php)**
- **[IPSwitch file format](https://github.com/3096/ipswitch)**
+52
View File
@@ -0,0 +1,52 @@
# RenderDoc
Renderdoc is a free, cross platform, multi-graphics API debugger. It is an invaluable tool for diagnosing issues with graphics applications, and includes support for Vulkan. Get it at [renderdoc.org](https://renderdoc.org).
RenderDoc can capture Eden's Vulkan output when its Vulkan layer is loaded before Eden creates the Vulkan device. Before using renderdoc to diagnose issues, it is always good to make sure there are no validation errors. Any errors means the behavior of the application is undefined. That said, renderdoc can help debug validation errors if you do have them.
## Usage on Windows
You can either use RenderDoc UI to launch eden, or you can make eden attach it internally:
On Windows PowerShell:
```powershell
$env:ENABLE_VULKAN_RENDERDOC_CAPTURE='1'
.\eden.exe
```
When RenderDoc is attached, Eden logs the default Windows capture folder:
```text
%LOCALAPPDATA%\Temp\RenderDoc
```
Press RenderDoc's capture hotkey, usually `F12`, to capture a frame. To stop using RenderDoc, close Eden and launch it again without `ENABLE_VULKAN_RENDERDOC_CAPTURE`.
## Eden Hotkey
Eden also has a separate `Toggle Renderdoc Capture` hotkey behind the debug setting `renderdoc_hotkey`.
That hotkey does not load or unload RenderDoc. It only toggles Eden's own manual capture through RenderDoc's API:
- first press: starts a capture
- second press: ends that capture
## Simple checklist for debugging black screens using Renderdoc
When debugging a black screen, there are many ways the application could have setup Vulkan wrong.
Here is a short checklist of items to look at to make sure are appropriate:
- Draw call counts are correct (aka not zero, or if rendering many triangles, not 3)
- Vertex buffers are bound
- vertex attributes are correct - Make sure the size & offset of each attribute matches what should it should be
- Any bound push constants and descriptors have the right data - including:
- Matrices have correct values - double check the model, view, & projection matrices are uploaded correctly
- Pipeline state is correct
- viewport range is correct - x,y are 0,0; width & height are screen dimensions, minDepth is 0, maxDepth is 1, NDCDepthRange is 0,1
- Fill mode matches expected - usually solid
- Culling mode makes sense - commonly back or none
- The winding direction is correct - typically CCW (counter clockwise)
- Scissor region is correct - usually same as viewport's x,y,width, &height
- Blend state is correct
- Depth state is correct - typically enabled with Function set to Less than or Equal
- Swapchain images are bound when rendering to the swapchain
- Image being rendered to is the same as the one being presented when rendering to the swapchain
Alternatively, a [RenderDoc Extension](https://github.com/baldurk/renderdoc-contrib/tree/main/baldurk/whereismydraw) ([Archive](https://web.archive.org/web/20250000000000*/https://github.com/baldurk/renderdoc-contrib/tree/main/baldurk/whereismydraw)) exists which automates doing a lot of these manual steps.
+327
View File
@@ -0,0 +1,327 @@
# Settings
> [!WARNING]
> This guide is intended for developers ONLY. If you're looking for configuring the emulator itself, please read **[the user handbook](./user/README.md)**.
Settings on the emulator are very important, toggles and such can be used to guard and/or add branches to paths where some games may crash while others won't, and viceversa.
However, this process can be tedious for those unfamiliar; this document serves as a outline/documentation for the settings subsystem.
## Index
* [Adding Debug Knobs](#adding-debug-knobs)
* [Advantages](#advantages)
* [Usage](#usage)
* [Accessing Debug Knobs (dev side)](#accessing-debug-knobs-dev-side)
* [Setting Debug Knobs (user side)](#setting-debug-knobs-user-side)
* [Bit Manipulation Examples](#bit-manipulation-examples)
* [Terminology and user communication](#terminology-and-user-communication)
* [Examples](#examples)
* [Example 1: Conditional Debug Logging](#example-1-conditional-debug-logging)
* [Example 2: Performance Tuning](#example-2-performance-tuning)
* [Example 3: Feature Gating](#example-3-feature-gating)
* [Best Practices](#best-practices)
* [Adding Boolean Settings Toggles](#adding-boolean-settings-toggles)
* [Step 1 - Common Setting](#step-1-common-setting)
* [Step 2 - Qt Toggle](#step-2-qt-toggle)
* [Step 3 - Kotlin (Android)](#step-3-kotlin-android)
* [Step 3.1 - BooleanSetting.kt](#step-3-1-booleansetting-kt)
* [Step 3.2 - SettingsItem.kt](#step-3-2-settingsitem-kt)
* [Step 3.3 - SettingsFragmentPresenter.kt](#step-3-3-settingsfragmentpresenter-kt)
* [Step 3.4 - Localization](#step-3-4-localization)
* [Step 4 - Use Your Toggle](#step-4-use-your-toggle)
* [Best Practices](#best-practices)
## Adding Boolean Settings Toggles
This guide will walk you through adding a new boolean toggle setting to Eden's configuration across both Qt's (PC) and Kotlin's (Android) UIs.
---
### Step 1 - Common Setting
Firstly add your desired toggle:
Example: `src/common/setting.h`
```cpp
SwitchableSetting<bool> your_setting_name{linkage, false, "your_setting_name", Category::RendererExtensions};
```
Remember to add your toggle to the appropriate category, for example:
Common Categories:
* Category::Renderer
* Category::RendererAdvanced
* Category::RendererExtensions
* Category::System
* Category::Core
> [!WARNING]
> If you wish for your toggle to be `on by default` then change `false` to `true` after `linkage,`.
---
### Step 2 - Qt Toggle
Add the toggle to the Qt UI, where you wish for it to appear and place it there.
Example: `src/qt_common/config/shared_translation.cpp`
```cpp
INSERT(Settings,
your_setting_name,
tr("Your Setting Display Name"),
tr("Detailed description of what this setting does.\n"
"You can use multiple lines.\n"
"Explain any caveats or requirements."));
```
#### Make sure to:
* Keep display naming consistant
* Put detailed info in the description
* Use `\n` for line breaks in descriptions
---
### Step 3 - Kotlin (Android)
#### Step 3.1 - BooleanSetting.kt
Add where it should be in the settings.
Example: `src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt`
```kts
RENDERER_YOUR_SETTING_NAME("your_setting_name"),
```
#### Make sure to:
* Ensure the prefix naming matches the intended category.
---
#### Step 3.2 - SettingsItem.kt
Add the toggle to the Kotlin (Android) UI
Example: `src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt`
```kts
put(
SwitchSetting(
BooleanSetting.RENDERER_YOUR_SETTING_NAME,
titleId = R.string.your_setting_name,
descriptionId = R.string.your_setting_name_description
)
)
```
---
#### Step 3.3 - SettingsFragmentPresenter.kt
Add your setting within the right category.
Example: `src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt`
```kts
add(BooleanSetting.RENDERER_YOUR_SETTING_NAME.key)
```
> [!WARNING]
> Remember, placing matters! Settings appear in the order of where you add them.
---
#### Step 3.4 - Localization
Add your setting and description in the appropriate place.
Example: `src/android/app/src/main/res/values/strings.xml`
```xml
<string name="your_setting_name">Your Setting Display Name</string>
<string name="your_setting_name_description">Detailed description of what this setting does. Explain any caveats, requirements, or warnings here.</string>
```
---
### Step 4 - Use Your Toggle!
Now the UI part is done find a place in the code for the toggle,
And use it to your heart's desire!
Example:
```cpp
const bool your_value = Settings::values.your_setting_name.GetValue();
if (your_value) {
// Do something when enabled
}
```
If you wish to do something only when the toggle is disabled,
Use `if (!your_value) {` instead of `if (your_value) {`.
---
### Best Practices
* Naming - Use clear, descriptive names. Something for both the devs and the users.
* Defaults - Choose safe default values (usually false for new features).
* Documentation - Write clear descriptions explaining when and why to use the setting.
* Categories - Put settings in the appropriate category.
* Order - Place related settings near each other.
* Testing - Always test on both PC and Android before committing when possible.
Thank you for reading, I hope this guide helped you making your toggle!
## Adding Debug Knobs
Debug Knobs is a 16-bit integer setting (`debug_knobs`) in the Eden Emulator that serves as a bitmask for gating various testing and debugging features. This allows developers and advanced users to enable or disable specific debug behaviors without requiring deploying of complete but temporary toggles.
The setting ranges from 0 to 65535 (0x0000 to 0xFFFF), where each bit represents a different debug feature flag.
---
### Advantages
The main advantage is to avoid deploying new disposable toggles (those made only for testing stage, and are disposed once new feature gets good to merge). This empowers devs to be free of all frontend burocracy and hassle of new toggles.
Common advantages recap:
* **Fine-Grained Control**: Enable or disable up to 16 individual debug features independently using bit manipulation on a single build
* **Runtime Configuration**: Change debug behavior at runtime the same way as new toggles would do
* **Safe incremental development**: New debug features can be added while impact can be isolated from previous deployments
### Usage
#### Accessing Debug Knobs (dev side)
Use the `Settings::getDebugKnobAt(u8 i)` function to check if a specific bit is set:
```cpp
//cpp side
#include "common/settings.h"
// Check if bit 0 is set
bool feature_enabled = Settings::getDebugKnobAt(0);
// Check if bit 15 is set
bool another_feature = Settings::getDebugKnobAt(15);
```
```kts
//kotlin side
import org.yuzu.yuzu_emu.features.settings.model.Settings
// Check if bit x is set
bool feature_enabled = Settings.getDebugKnobAt(x); //x as integer from 0 to 15
```
The function returns `true` if the specified bit (0-15) is set in the `debug_knobs` value, `false` otherwise.
#### Setting Debug Knobs (user side)
Developers must inform which knobs are tied to each functionality to be tested.
The debug knobs value can be set through:
1. **Desktop UI**: In the Debug configuration tab, there's a spinbox for "Debug knobs" (0-65535)
2. **Android UI**: Available as an integer setting in the Debug section
3. **Configuration Files**: Set the `debug_knobs` value in the emulator's configuration
#### Bit Manipulation Examples
To enable specific features, calculate the decimal value by setting the appropriate bits:
* **Enable only bit 0**: Value = 1 (2^0)
* **Enable only bit 1**: Value = 2 (2^1)
* **Enable bits 0 and 1**: Value = 3 (2^0 + 2^1)
* **Enable bit 15**: Value = 32768 (2^15)
### Terminology and user communication
There are two main confusions when talking about knobs:
#### Whether it's zero-based or one-based
Sometimes when an user reports: knobs 1 and 2 gets better performance, dev may get confuse whether he means the knobs 1 and 2 literally, or the 1st and 2nd knobs (knobs 0 and 1).
Debug knobs are **zero-based**, which means:
* The first knob is the knob(0) (or knob0 henceforth), and the last one is the 15 (knob15, likewise)
* You can talk: "knob0 is enabled/disabled", "In this video i was using only knobs 0 and 2", etc.
#### Whether one is talking about the knob itself or about the entire parameter value (which represents all knobs)
Sometimes when an user reports: knob 3 results, it's unclear whether he's referring to knob setting with value 3 (which means both knob 0 and 1 are enabled), or to knob(3) specifically.
Whenever you're instructing tests or reporting results, be precise about whether one you're talking to avoid confusion:
#### Setting based terminology
ALWAYS use the word in PLURAL (knobs), without mentioning which one, to refer to the setting, aka multiple knobs at once:
Examples:
- **knobs=0**: no knobs enabled
- **knobs=1**: knob0 enabled, others disabled
- **knobs=2**: knob1 enabled, others disabled
- **knobs=3**: knobs 0 and 1 enabled, others disabled
...
#### Knob based terminology
Use the word in SINGULAR (knob), or in plural but referring which ones, when meaning multiple knobs at once:
Examples:
- **knob0**: knob 0 enabled, others disabled
- **knob1**: knob 1 enabled, others disabled
- **knobs 0 and 1**: knobs 0 and 1 enabled, others disabled
...
### Examples
#### Example 1: Conditional Debug Logging
```cpp
void SomeFunction() {
if (Settings::getDebugKnobAt(0)) {
LOG_DEBUG(Common, "Debug feature 0 is enabled");
// Additional debug code here
}
if (Settings::getDebugKnobAt(1)) {
LOG_DEBUG(Common, "Debug feature 1 is enabled");
// Different debug behavior
}
}
```
#### Example 2: Performance Tuning
```cpp
bool UseOptimizedPath() {
// Skip optimization if debug bit 2 is set for testing
return !Settings::getDebugKnobAt(2);
}
```
#### Example 3: Feature Gating
```cpp
void ExperimentalFeature() {
static constexpr u8 EXPERIMENTAL_FEATURE_BIT = 3;
if (!Settings::getDebugKnobAt(EXPERIMENTAL_FEATURE_BIT)) {
// Fallback to stable implementation
StableImplementation();
return;
}
// Experimental implementation
ExperimentalImplementation();
}
```
### Best Practices
* This setting is intended for development and testing purposes only
* Knobs must be unwired before PR creation
* The setting is per-game configurable, allowing different debug setups for different titles
+58 -114
View File
@@ -1,126 +1,70 @@
# Coding guidelines
These are mostly "suggestions", if you feel like your code is readable, comprehensible to others; and most importantly doesn't result in unreadable spaghetti you're fine to go.
These are **not** stylistic guidelines, they're, for the most part, suggestions on how to architecture new systems or improve upon the existing codebase.
But for new developers you may find that following these guidelines will make everything x10 easier.
# Foreword
## Naming conventions
Don't try to micro-optimize out of the get go, while yes, most of the code is pretty, subpar, most of these are aftertoughts and details that can be glossed over **generally**.
Simply put, types/classes are named as `PascalCase`, same for methods and functions like `AddElement`. Variables are named `like_this_snake_case` and constants are `IN_SCREAMING_CASE`.
Architectural issues are more important, for example an API returning a `std::string` is not as efficient as one that operates on `std::string_view` directly (cost of constructing an `std::string` w/o small-string optimization and all of that).
Except for Qt MOC where `functionName` is preferred.
Regardless of the details, try to keep things simple. As a general rule of thumb.
Template typenames prefer short names like `T`, `I`, `U`, if a longer name is required either `Iterator` or `perform_action` are fine as well. Do not use names like `SS` as systems like solaris define it for registers, in general do not use any of the following for short names:
# C++ guidelines
- `SS`, `DS`, `GS`, `FS`: Segment registers, defined by Solaris `<ucontext.h>`
- `EAX`, `EBX`, `ECX`, `EDX`, `ESI`, `EDI`, `ESP`, `EBP`, `EIP`: Registers, defined by Solaris.
- `X`: Defined by some utility headers, avoid.
- `_`: Defined by gettext, avoid.
- `N`, `M`, `S`: Preferably don't use this for types, use it for numeric constants.
- `TR`: Used by some weird `<ucontext.h>` whom define the Task Register as a logical register to provide to the user... (Need to remember which OS in specific).
Everyone has their own way of viewing good/bad C++ practices, my general outline:
Macros must always be in `SCREAMING_CASE`. Do not use short letter macros as systems like Solaris will conflict with them; a good rule of thumb is >5 characters per macro - i.e `THIS_MACRO_IS_GOOD`, `AND_ALSO_THIS_ONE`.
- At your disposal you may use `boost::container::static_vector<>` (beware it has a ctor/initialization cost which goes up the more elements you add).
- Or you may use `boost::container::small_vector<>` (which has an initialization cost as well, and will use extra book-keeping for heap, try to keep a balance).
- Don't use `[[likely]]` or `[[unlikely]]`; PGO builds exist for that.
- Don't use inline assembly to try to outsmart the compiler unless you're 100% sure the assembly you're writing is actually good.
- And if so, try to restructure your C++ code so the compiler vectorizes it/makes it better, right?
- Or if that fails, use intrinsics instead of raw `asm volatile`.
- Use `std::optional<>` instead of `std::unique_ptr<>` if possible.
- `std::unique_ptr<>` carries indirection cost due to it being memory allocated on the heap.
- It isn't often that objects that contain `std::unique_ptr<>`, are allocated on the heap themselves, allocating even more things on the heap seems redundant.
- Avoid `std::recursive_mutex` at all costs.
- It's basically implemented as a linked list most of the time and has HEAVY performance penalties.
- Exploit the fact `std::atomic<uint32_t>/std::atomic<int32_t>` is basically free on most arches that matter.
- In x86_64, an atomic `uint32_t` is basically `mov [m32], r32`, which is essentially free/cheap.
- Avoid template parameters unless you really need them.
- For small inlineable functions this is fine, for more complex ones, please consider the generated assembly.
- Dont make your own memcpy/memset/strcpy/strncpy/etc.
- Seriously DON'T DO THIS. You will NOT beat the compiler.
- Nor 30 years of writing optimized `mem*`.
- If your code is slow, don't blame `mem*`, blame your code.
- Try to avoid using `virtual` since vtable indirection has a cost
- Avoid `dynamic_cast` and `typeid` at all costs.
- The reason is because the project has `-fno-rtti` disabled by default, due to the costs of dynamic polymorphism.
- Always copy-on-value for objects with `sizeof(void *) >= sizeof(T) * 2`, i.e objects sized as 2 pointers or less, for bigger objects you can use ref/pointer as usual.
- Try using move semantics instead of references, whenever possible.
- Remember function parameters are extremelly cheap as fuck, don't be afraid to place upto 8 parameters on a given function.
- Don't save a reference in structures of a parent object, i.e:
```c++
struct Child {
Parent& parent;
void Mehod() {
parent.Something();
}
};
```
- Instead you can do the following:
```c++
struct Child {
void Mehod(Parent& parent) {
parent.Something();
}
};
```
- This reduces the amount of pointers you have lying around, and also works better because of the aforementioned cheapness of parameter functions.
Try not using hungarian notation, if you're able.
# Engineering guidelines
## Formatting
Coding isn't also writing stuff but architecturing stuff, consider the following:
Formatting is extremelly lax, the general rule of thumb is: Don't add new lines just to increase line count. The less lines we have to look at, the better. This means also packing densely your code while not making it a clusterfuck. Strike a balance of "this is a short and comprehensible piece of code" and "my eyes are actually happy to see this!". Don't just drop the entire thing in a single line and call it "dense code", that's just spaghetti posing as code. In general, be mindful of what other devs need to look at.
Do not put if/while/etc braces after lines:
```c++
// no dont do this
// this is more lines of code for no good reason (why braces need their separate lines?)
// and those take space in someone's screen, cumulatively
if (thing)
{ //<--
some(); // ...
} //<-- 2 lines of code for basically "opening" and "closing" an statment
// do this
if (thing) { //<-- [...] and with your brain you can deduce it's this piece of code
// that's being closed
some(); // ...
} //<-- only one line, and it's clearer since you know its closing something [...]
// or this, albeit the extra line isn't needed (at your discretion of course)
if (thing)
some(); // ...
// this is also ok, keeps things in one line and makes it extremely clear
if (thing) some();
// NOT ok, don't be "clever" and use the comma operator to stash a bunch of statments
// in a single line, doing this will definitely ruin someone's day - just do the thing below
// vvv
if (thing) some(), thing(), a2(a1(), y1(), j1()), do_complex_shit(wa(), wo(), ploo());
// ... and in general don't use the comma operator for "multiple statments", EXCEPT if you think
// that it makes the code more readable (the situation may be rare however)
// Wow so much clearer! Now I can actually see what each statment is meant to do!
if (thing) {
some();
thing();
a2(a1(), y1(), j1());
do_complex_shit(wa(), wo(), ploo());
}
```
Brace rules are lax, if you can get the point across, do it:
```c++
// this is fine
do {
if (thing) {
return 0;
}
} while (other);
// this is also ok --- albeit a bit more dense
do if (thing) return 0; while (other);
// ok as well
do {
if (thing) return 0;
} while (other);
```
There is no 80-column limit but preferably be mindful of other developer's readability (like don't just put everything onto one line).
```c++
// someone is going to be mad due to this
SDL_AudioSpec obtained;
device_name.empty() ? device = SDL_OpenAudioDevice(nullptr, capture, &spec, &obtained, false) : device = SDL_OpenAudioDevice(device_name.c_str(), capture, &spec, &obtained, false);
// maybe consider this
SDL_AudioSpec obtained;
if (device_name.empty()) {
device = SDL_OpenAudioDevice(nullptr, capture, &spec, &obtained, false);
} else {
device = SDL_OpenAudioDevice(device_name.c_str(), capture, &spec, &obtained, false);
}
// or this is fine as well
SDL_AudioSpec obtained;
device = SDL_OpenAudioDevice(device_name.empty() ? nullptr : device_name.c_str(), capture, &spec, &obtained, false);
```
A note about operators: Use them sparingly, yes, the language is lax on them, but some usages can be... tripping to say the least.
```c++
a, b, c; //<-- NOT OK multiple statments with comma operator is definitely a recipe for disaster
return c ? a : b; //<-- OK ternaries at end of return statments are clear and fine
return a, b; //<-- NOT OK return will take value of `b` but also evaluate `a`, just use a separate statment
void f(int a[]) //<-- OK? if you intend to use the pointer as an array, otherwise just mark it as *
```
And about templates, use them sparingly, don't just do meta-templating for the sake of it, do it when you actually need it. This isn't a competition to see who can make the most complicated and robust meta-templating system. Just use what works, and preferably stick to the standard libary instead of reinventing the wheel. Additionally:
```c++
// NOT OK This will create (T * N * C * P) versions of the same function. DO. NOT. DO. THIS.
template<typename T, size_t N, size_t C, size_t P> inline void what() const noexcept;
// OK use parameters like a normal person, don't be afraid to use them :)
template<typename T> inline void what(size_t n, size_t c, size_t p) const noexcept;
```
- Try to reduce dependency on... dependencies
- While some dependencies are useful `boost::container` and `fmt` to name a few, remember each dependency added incurs a cost.
- It may also be subpar with a hand rolled implementation, biggest exemplar of this is `spirv-tools` providing subpar SPIRV optimizations in comparison to the in-house optimizer.
- Try to rely less on indirection for architecturing systems
- If the underlying HLE kernel emulation requires it, try making a solution that keeps things local
- For example, there isn't a need for file descriptors to each be a pointer, when they could be a fixed table size with elements that may be emplaced at will.
+126
View File
@@ -0,0 +1,126 @@
# Coding Style guidelines
These are mostly "suggestions", if you feel like your code is readable, comprehensible to others; and most importantly doesn't result in unreadable spaghetti you're fine to go.
But for new developers you may find that following these guidelines will make everything x10 easier.
## Naming conventions
Simply put, types/classes are named as `PascalCase`, same for methods and functions like `AddElement`. Variables are named `like_this_snake_case` and constants are `IN_SCREAMING_CASE`.
Except for Qt MOC where `functionName` is preferred.
Template typenames prefer short names like `T`, `I`, `U`, if a longer name is required either `Iterator` or `perform_action` are fine as well. Do not use names like `SS` as systems like solaris define it for registers, in general do not use any of the following for short names:
- `SS`, `DS`, `GS`, `FS`: Segment registers, defined by Solaris `<ucontext.h>`
- `EAX`, `EBX`, `ECX`, `EDX`, `ESI`, `EDI`, `ESP`, `EBP`, `EIP`: Registers, defined by Solaris.
- `X`: Defined by some utility headers, avoid.
- `_`: Defined by gettext, avoid.
- `N`, `M`, `S`: Preferably don't use this for types, use it for numeric constants.
- `TR`: Used by some weird `<ucontext.h>` whom define the Task Register as a logical register to provide to the user... (Need to remember which OS in specific).
Macros must always be in `SCREAMING_CASE`. Do not use short letter macros as systems like Solaris will conflict with them; a good rule of thumb is >5 characters per macro - i.e `THIS_MACRO_IS_GOOD`, `AND_ALSO_THIS_ONE`.
Try not using hungarian notation, if you're able.
## Formatting
Formatting is extremelly lax, the general rule of thumb is: Don't add new lines just to increase line count. The less lines we have to look at, the better. This means also packing densely your code while not making it a clusterfuck. Strike a balance of "this is a short and comprehensible piece of code" and "my eyes are actually happy to see this!". Don't just drop the entire thing in a single line and call it "dense code", that's just spaghetti posing as code. In general, be mindful of what other devs need to look at.
Do not put if/while/etc braces after lines:
```c++
// no dont do this
// this is more lines of code for no good reason (why braces need their separate lines?)
// and those take space in someone's screen, cumulatively
if (thing)
{ //<--
some(); // ...
} //<-- 2 lines of code for basically "opening" and "closing" an statment
// do this
if (thing) { //<-- [...] and with your brain you can deduce it's this piece of code
// that's being closed
some(); // ...
} //<-- only one line, and it's clearer since you know its closing something [...]
// or this, albeit the extra line isn't needed (at your discretion of course)
if (thing)
some(); // ...
// this is also ok, keeps things in one line and makes it extremely clear
if (thing) some();
// NOT ok, don't be "clever" and use the comma operator to stash a bunch of statments
// in a single line, doing this will definitely ruin someone's day - just do the thing below
// vvv
if (thing) some(), thing(), a2(a1(), y1(), j1()), do_complex_shit(wa(), wo(), ploo());
// ... and in general don't use the comma operator for "multiple statments", EXCEPT if you think
// that it makes the code more readable (the situation may be rare however)
// Wow so much clearer! Now I can actually see what each statment is meant to do!
if (thing) {
some();
thing();
a2(a1(), y1(), j1());
do_complex_shit(wa(), wo(), ploo());
}
```
Brace rules are lax, if you can get the point across, do it:
```c++
// this is fine
do {
if (thing) {
return 0;
}
} while (other);
// this is also ok --- albeit a bit more dense
do if (thing) return 0; while (other);
// ok as well
do {
if (thing) return 0;
} while (other);
```
There is no 80-column limit but preferably be mindful of other developer's readability (like don't just put everything onto one line).
```c++
// someone is going to be mad due to this
SDL_AudioSpec obtained;
device_name.empty() ? device = SDL_OpenAudioDevice(nullptr, capture, &spec, &obtained, false) : device = SDL_OpenAudioDevice(device_name.c_str(), capture, &spec, &obtained, false);
// maybe consider this
SDL_AudioSpec obtained;
if (device_name.empty()) {
device = SDL_OpenAudioDevice(nullptr, capture, &spec, &obtained, false);
} else {
device = SDL_OpenAudioDevice(device_name.c_str(), capture, &spec, &obtained, false);
}
// or this is fine as well
SDL_AudioSpec obtained;
device = SDL_OpenAudioDevice(device_name.empty() ? nullptr : device_name.c_str(), capture, &spec, &obtained, false);
```
A note about operators: Use them sparingly, yes, the language is lax on them, but some usages can be... tripping to say the least.
```c++
a, b, c; //<-- NOT OK multiple statments with comma operator is definitely a recipe for disaster
return c ? a : b; //<-- OK ternaries at end of return statments are clear and fine
return a, b; //<-- NOT OK return will take value of `b` but also evaluate `a`, just use a separate statment
void f(int a[]) //<-- OK? if you intend to use the pointer as an array, otherwise just mark it as *
```
And about templates, use them sparingly, don't just do meta-templating for the sake of it, do it when you actually need it. This isn't a competition to see who can make the most complicated and robust meta-templating system. Just use what works, and preferably stick to the standard libary instead of reinventing the wheel. Additionally:
```c++
// NOT OK This will create (T * N * C * P) versions of the same function. DO. NOT. DO. THIS.
template<typename T, size_t N, size_t C, size_t P> inline void what() const noexcept;
// OK use parameters like a normal person, don't be afraid to use them :)
template<typename T> inline void what(size_t n, size_t c, size_t p) const noexcept;
```
-159
View File
@@ -1,159 +0,0 @@
# User Handbook - Adding Boolean Settings Toggles
> [!WARNING]
> This guide is intended for developers ONLY. If you are not a developer, this likely irrelevant to yourself.
>
> If you want to add temporary toggles, please refer to **[Adding Debug Knobs](AddingDebugKnobs.md)**
This guide will walk you through adding a new boolean toggle setting to Eden's configuration across both Qt's (PC) and Kotlin's (Android) UIs.
## Index
1. [Step 1 - Common Setting](#step-1-common-setting)
2. [Step 2 - Qt Toggle](#step-2-qt-toggle)
3. [Step 3 - Kotlin (Android)](#step-3-kotlin-android)
* [Step 3.1 - BooleanSetting.kt](#step-3-1-booleansetting-kt)
* [Step 3.2 - SettingsItem.kt](#step-3-2-settingsitem-kt)
* [Step 3.3 - SettingsFragmentPresenter.kt](#step-3-3-settingsfragmentpresenter-kt)
* [Step 3.4 - Localization](#step-3-4-localization)
4. [Step 4 - Use Your Toggle](#step-4-use-your-toggle)
5. [Best Practices](#best-practices)
---
## Step 1 - Common Setting
Firstly add your desired toggle:
Example: `src/common/setting.h`
```cpp
SwitchableSetting<bool> your_setting_name{linkage, false, "your_setting_name", Category::RendererExtensions};
```
### Remember to add your toggle to the appropriate category, for example:
Common Categories:
* Category::Renderer
* Category::RendererAdvanced
* Category::RendererExtensions
* Category::System
* Category::Core
> [!WARNING]
> If you wish for your toggle to be `on by default` then change `false` to `true` after `linkage,`.
---
## Step 2 - Qt Toggle
Add the toggle to the Qt UI, where you wish for it to appear and place it there.
Example: `src/qt_common/config/shared_translation.cpp`
```cpp
INSERT(Settings,
your_setting_name,
tr("Your Setting Display Name"),
tr("Detailed description of what this setting does.\n"
"You can use multiple lines.\n"
"Explain any caveats or requirements."));
```
### Make sure to:
* Keep display naming consistant
* Put detailed info in the description
* Use `\n` for line breaks in descriptions
---
## Step 3 - Kotlin (Android)
### Step 3.1 - BooleanSetting.kt
Add where it should be in the settings.
Example: `src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt`
```kts
RENDERER_YOUR_SETTING_NAME("your_setting_name"),
```
### Make sure to:
* Ensure the prefix naming matches the intended category.
---
### Step 3.2 - SettingsItem.kt
Add the toggle to the Kotlin (Android) UI
Example: `src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt`
```kts
put(
SwitchSetting(
BooleanSetting.RENDERER_YOUR_SETTING_NAME,
titleId = R.string.your_setting_name,
descriptionId = R.string.your_setting_name_description
)
)
```
---
### Step 3.3 - SettingsFragmentPresenter.kt
Add your setting within the right category.
Example: `src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt`
```kts
add(BooleanSetting.RENDERER_YOUR_SETTING_NAME.key)
```
> [!WARNING]
> Remember, placing matters! Settings appear in the order of where you add them.
---
### Step 3.4 - Localization
Add your setting and description in the appropriate place.
Example: `src/android/app/src/main/res/values/strings.xml`
```xml
<string name="your_setting_name">Your Setting Display Name</string>
<string name="your_setting_name_description">Detailed description of what this setting does. Explain any caveats, requirements, or warnings here.</string>
```
---
## Step 4 - Use Your Toggle!
Now the UI part is done find a place in the code for the toggle,
And use it to your heart's desire!
Example:
```cpp
const bool your_value = Settings::values.your_setting_name.GetValue();
if (your_value) {
// Do something when enabled
}
```
If you wish to do something only when the toggle is disabled,
Use `if (!your_value) {` instead of `if (your_value) {`.
---
## Best Practices
* Naming - Use clear, descriptive names. Something for both the devs and the users.
* Defaults - Choose safe default values (usually false for new features).
* Documentation - Write clear descriptions explaining when and why to use the setting.
* Categories - Put settings in the appropriate category.
* Order - Place related settings near each other.
* Testing - Always test on both PC and Android before committing when possible.
### Thank you for reading, I hope this guide helped you making your toggle!
-167
View File
@@ -1,167 +0,0 @@
# User Handbook - Adding Debug Knobs
Debug Knobs is a 16-bit integer setting (`debug_knobs`) in the Eden Emulator that serves as a bitmask for gating various testing and debugging features. This allows developers and advanced users to enable or disable specific debug behaviors without requiring deploying of complete but temporary toggles.
The setting ranges from 0 to 65535 (0x0000 to 0xFFFF), where each bit represents a different debug feature flag.
## Index
1. [Advantages](#advantages)
2. [Usage](#usage)
* [Accessing Debug Knobs (dev side)](#accessing-debug-knobs-dev-side)
* [Setting Debug Knobs (user side)](#setting-debug-knobs-user-side)
* [Bit Manipulation Examples](#bit-manipulation-examples)
3. [Terminology and user communication](#terminology-and-user-communication)
4. [Examples](#examples)
* [Example 1: Conditional Debug Logging](#example-1-conditional-debug-logging)
* [Example 2: Performance Tuning](#example-2-performance-tuning)
* [Example 3: Feature Gating](#example-3-feature-gating)
5. [Best Practices](#best-practices)
---
## Advantages
The main advantage is to avoid deploying new disposable toggles (those made only for testing stage, and are disposed once new feature gets good to merge). This empowers devs to be free of all frontend burocracy and hassle of new toggles.
Common advantages recap:
* **Fine-Grained Control**: Enable or disable up to 16 individual debug features independently using bit manipulation on a single build
* **Runtime Configuration**: Change debug behavior at runtime the same way as new toggles would do
* **Safe incremental development**: New debug features can be added while impact can be isolated from previous deployments
## Usage
### Accessing Debug Knobs (dev side)
Use the `Settings::getDebugKnobAt(u8 i)` function to check if a specific bit is set:
```cpp
//cpp side
#include "common/settings.h"
// Check if bit 0 is set
bool feature_enabled = Settings::getDebugKnobAt(0);
// Check if bit 15 is set
bool another_feature = Settings::getDebugKnobAt(15);
```
```kts
//kotlin side
import org.yuzu.yuzu_emu.features.settings.model.Settings
// Check if bit x is set
bool feature_enabled = Settings.getDebugKnobAt(x); //x as integer from 0 to 15
```
The function returns `true` if the specified bit (0-15) is set in the `debug_knobs` value, `false` otherwise.
### Setting Debug Knobs (user side)
Developers must inform which knobs are tied to each functionality to be tested.
The debug knobs value can be set through:
1. **Desktop UI**: In the Debug configuration tab, there's a spinbox for "Debug knobs" (0-65535)
2. **Android UI**: Available as an integer setting in the Debug section
3. **Configuration Files**: Set the `debug_knobs` value in the emulator's configuration
### Bit Manipulation Examples
To enable specific features, calculate the decimal value by setting the appropriate bits:
* **Enable only bit 0**: Value = 1 (2^0)
* **Enable only bit 1**: Value = 2 (2^1)
* **Enable bits 0 and 1**: Value = 3 (2^0 + 2^1)
* **Enable bit 15**: Value = 32768 (2^15)
## Terminology and user communication
There are two main confusions when talking about knobs:
### Whether it's zero-based or one-based
Sometimes when an user reports: knobs 1 and 2 gets better performance, dev may get confuse whether he means the knobs 1 and 2 literally, or the 1st and 2nd knobs (knobs 0 and 1).
Debug knobs are **zero-based**, which means:
* The first knob is the knob(0) (or knob0 henceforth), and the last one is the 15 (knob15, likewise)
* You can talk: "knob0 is enabled/disabled", "In this video i was using only knobs 0 and 2", etc.
### Whether one is talking about the knob itself or about the entire parameter value (which represents all knobs)
Sometimes when an user reports: knob 3 results, it's unclear whether he's referring to knob setting with value 3 (which means both knob 0 and 1 are enabled), or to knob(3) specifically.
Whenever you're instructing tests or reporting results, be precise about whether one you're talking to avoid confusion:
### Setting based terminology
ALWAYS use the word in PLURAL (knobs), without mentioning which one, to refer to the setting, aka multiple knobs at once:
Examples:
- **knobs=0**: no knobs enabled
- **knobs=1**: knob0 enabled, others disabled
- **knobs=2**: knob1 enabled, others disabled
- **knobs=3**: knobs 0 and 1 enabled, others disabled
...
### Knob based terminology
Use the word in SINGULAR (knob), or in plural but referring which ones, when meaning multiple knobs at once:
Examples:
- **knob0**: knob 0 enabled, others disabled
- **knob1**: knob 1 enabled, others disabled
- **knobs 0 and 1**: knobs 0 and 1 enabled, others disabled
...
## Examples
### Example 1: Conditional Debug Logging
```cpp
void SomeFunction() {
if (Settings::getDebugKnobAt(0)) {
LOG_DEBUG(Common, "Debug feature 0 is enabled");
// Additional debug code here
}
if (Settings::getDebugKnobAt(1)) {
LOG_DEBUG(Common, "Debug feature 1 is enabled");
// Different debug behavior
}
}
```
### Example 2: Performance Tuning
```cpp
bool UseOptimizedPath() {
// Skip optimization if debug bit 2 is set for testing
return !Settings::getDebugKnobAt(2);
}
```
### Example 3: Feature Gating
```cpp
void ExperimentalFeature() {
static constexpr u8 EXPERIMENTAL_FEATURE_BIT = 3;
if (!Settings::getDebugKnobAt(EXPERIMENTAL_FEATURE_BIT)) {
// Fallback to stable implementation
StableImplementation();
return;
}
// Experimental implementation
ExperimentalImplementation();
}
```
## Best Practices
* This setting is intended for development and testing purposes only
* Knobs must be unwired before PR creation
* The setting is per-game configurable, allowing different debug setups for different titles
+1 -1
View File
@@ -40,7 +40,7 @@ Windows/riscv64 doesn't exist, and may never (until corporate greed no longer co
Android/riscv64 is interesting. While support for it may be added if and when RISC-V phones/handhelds ever go mainstream, arm64 devices will always be preferred due to NCE.
Only Fedora/riscv64 has been tested, but in theory, every riscv64 distribution that has *at least* the standard build tools, Qt, FFmpeg, and SDL2 should work.
Only Fedora/riscv64 has been tested, but in theory, every riscv64 distribution that has *at least* the standard build tools, Qt, FFmpeg, and SDL3 should work.
## Other
+8
View File
@@ -9,3 +9,11 @@ At the moment of writing, we do not support CFW such as Atmosphere, due to:
We do however, maintain HLE compatibility with the former mentioned CFW, applications that require Atmosphere to run will run fine in the emulator without any adjustments.
If they don't run - then that's a bug!
## Atmosphere
Fusee Galee, the bootloader and other low-level mechanisms are not emulated at the moment.
Having OFW is recommended, but may not be required (untested).
Extract the contents of Atmosphere into `sdmc`. Then to launch simply use `-hlaunch` instead (orthogonal to `-qlaunch`).
+6 -1
View File
@@ -1,17 +1,22 @@
# User Handbook - Command Line
There are two main applications, an SDL2 based app (`eden-cli`) and a Qt based app (`eden`); both accept command line arguments.
There are two main applications, an SDL-based app (`eden-cli`) and a Qt based app (`eden`); both accept command line arguments.
## eden
- `./eden <path>`: Running with a single argument and nothing else, will make the emulator look for the given file and load it, this behaviour is similar to `eden-cli`; allows dragging and dropping games into the application.
- `-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.
- `-hlaunch`: Launch homebrew launcher `nx-hbloader`.
- Requires a copy of Atmosphere to be extracted onto `sdmc`.
- This is a shorthand for `<eden folder>/sdmc/atmosphere/hbl.nsp`.
- `-setup`: Launch setup applet.
## eden-cli
- `--debug/-d`: Enter debug mode, allow gdb stub at port `1234`
- `--config/-c`: Specify alternate configuration file.
- `--fullscreen/-f`: Set fullscreen.
+4
View File
@@ -44,6 +44,10 @@ Various graphical filters exist - each of them aimed at a specific target/image
- **MMPX**: Nearest-neighbour filter aimed at providing higher pixel-art quality.
- **Pros**: Offers decent pixel-art upscaling.
- **Cons**: Only works for pixel-art.
- **SGSR**: Uses Snapdragon Studios Game Super Resolution to enhance image quality (similar to FSR, but for Adreno devices).
- **Pros**: Optimized for Adreno devices.
- **Cons**: Doesn't play nicely with non-Adreno devices.
- **SGSR Edge**: Almost the same pipeline as SGSR, but with improved edge detection.
### Anisotropy values
+1 -1
View File
@@ -1,4 +1,4 @@
# Multiplayer
# User Handbook - Multiplayer
Use this guide to answer questions regarding and to start using the multiplayer functionality of Eden.
## Multiplayer FAQ
+8 -7
View File
@@ -25,12 +25,12 @@ 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)**
- **[Alter Date & Time](./AlterDateTime.md)**
- **[Multiplayer](./Multiplayer.md)**
## 3rd-party Integration
- **[Configuring Steam ROM Manager](./SteamROM.md)**
- **[Server hosting](ServerHosting.md)**
- **[Server hosting](./ServerHosting.md)**
- **[Syncthing Guide](./SyncthingGuide.md)**
- **[Third Party](./ThirdParty.md)**
- **[Obtainium](./ThirdParty.md#configuring-obtainium)**
@@ -40,12 +40,13 @@ A copy of this handbook is [available online](https://git.eden-emu.dev/eden-emu/
## Advanced
- **[Command Line](./CommandLine.md)**
- **[Custom Firmware](./CFW.md)**
- **[Alter Date & Time](./AlterDateTime.md)**
- **[How To Access Logs](./HowToAccessLogs.md)**
- **[Gyro Controls](./GyroControls.md)**
- **[Platforms and Architectures](Architectures.md)**
- **[Command Line](CommandLine.md)**
- **[Native Application Development](Native.md)**
- **[Adding Boolean Settings Toggles](AddingBooleanToggles.md)**
- **[Platforms and Architectures](./Architectures.md)**
- **[Native Application Development](./Native.md)**
- **[Adding Boolean Settings Toggles](./AddingBooleanToggles.md)**
- **[Adding Debug Knobs](./AddingDebugKnobs.md)**
- **[Testing](Testing.md)**
- **[Testing](./Testing.md)**
-1
View File
@@ -30,7 +30,6 @@ Before touching the settings, please see the game boots with stock options. We t
## CPU
- `CPU/Virtual table bouncing`: Some games have the tendency to crash on loading due to an indirect bad jump (Pokemon ZA being the worst offender); this option lies to the game and tells it to just pretend it never executed a given function. This is fine for most casual users, but developers of switch applications **must** disable this. This temporary "hack" should hopefully be gone in 6-7 months from now on.
- `Fastmem`, aka. `CPU/Enable Host MMU`: Enables "fastmem"; a detailed description of fastmem can be found [here](../dynarmic/Design.md#fast-memory-fastmem).
- `CPU/Unsafe FMA`: Enables deliberate innacurate FMA behaviour which may affect how FMA returns any given operation - this may introduce tiny floating point errors which can cascade in sensitive code (i.e FFmpeg).
- `CPU/Faster FRSQRTE and FRECPE`: Introduces accuracy errors on square root and reciprocals in exchange for less checks - this introduces inaccuracies with some cases but it's mostly safe.
+23 -14
View File
@@ -49,8 +49,8 @@ if (NOT TARGET stb::headers)
add_library(stb::headers ALIAS stb)
endif()
# ItaniumDemangle
if (NOT TARGET LLVM::Demangle)
# ItaniumDemangle (Windows only)
if (WIN32 AND NOT TARGET LLVM::Demangle)
add_library(demangle demangle/ItaniumDemangle.cpp)
target_include_directories(demangle PUBLIC ./demangle)
if (NOT MSVC)
@@ -82,6 +82,11 @@ if (ARCHITECTURE_riscv64)
AddJsonPackage(biscuit)
endif()
# Lagoon
if (ARCHITECTURE_loongarch64)
AddJsonPackage(lagoon)
endif()
# Vulkan stuff
AddDependentPackages(vulkan-headers vulkan-utility-libraries)
@@ -136,8 +141,7 @@ if(ENABLE_CUBEB)
endif()
if (NOT ANDROID)
if (YUZU_USE_EXTERNAL_SDL2)
message(STATUS "Using SDL2 from externals.")
if (NOT YUZU_USE_BUNDLED_SDL3)
if (NOT WIN32)
# Yuzu itself needs: Atomic Audio Events Joystick Haptic Sensor Threads Timers
# Since 2.0.18 Atomic+Threads required for HIDAPI/libusb (see https://github.com/libsdl-org/SDL/issues/5095)
@@ -158,21 +162,26 @@ if (NOT ANDROID)
set(SDL_FILE ON)
endif()
if ("${YUZU_SYSTEM_PROFILE}" STREQUAL "steamdeck")
set(SDL_PIPEWIRE OFF) # build errors out with this on
AddJsonPackage("sdl2_steamdeck")
else()
AddJsonPackage("sdl2_generic")
endif()
elseif (YUZU_USE_BUNDLED_SDL2)
message(STATUS "Using bundled SDL2")
AddJsonPackage(sdl3)
else()
message(STATUS "Using bundled SDL3")
if (PLATFORM_FREEBSD)
set(BUILD_SHARED_LIBS ON)
endif()
AddJsonPackage(sdl2)
AddJsonPackage(sdl3-ci)
endif()
find_package(SDL2 2.26.4 REQUIRED)
# Normalize SDL3 link target across package variants.
# Some SDL3 packages export only SDL3::SDL3-shared or SDL3::SDL3-static.
if (NOT TARGET SDL3::SDL3)
if (TARGET SDL3::SDL3-shared)
add_library(SDL3::SDL3 ALIAS SDL3::SDL3-shared)
elseif (TARGET SDL3::SDL3-static)
add_library(SDL3::SDL3 ALIAS SDL3::SDL3-static)
else()
message(FATAL_ERROR "SDL3 package found, but no usable SDL3 target was exported")
endif()
endif()
endif()
set(BUILD_SHARED_LIBS OFF)
+22 -26
View File
@@ -9,7 +9,7 @@
},
"sirit": {
"repo": "eden-emulator/sirit",
"git_version": "1.0.4",
"git_version": "1.0.5",
"tag": "v%VERSION%",
"artifact": "sirit-source-%VERSION%.tar.zst",
"hash_suffix": "sha512sum",
@@ -23,17 +23,16 @@
"package": "sirit",
"name": "sirit",
"repo": "eden-emulator/sirit",
"version": "1.0.4"
"version": "1.0.5"
},
"httplib": {
"repo": "yhirose/cpp-httplib",
"tag": "v%VERSION%",
"hash": "5efa8140aadffe105dcf39935b732476e95755f6c7473ada3d0b64df2bc02c557633ae3948a25b45e1cf67e89a3ff6329fb30362e4ac033b9a1d1e453aa2eded",
"git_version": "0.37.0",
"hash": "159ed94965018f2a371d45a3bfc1961e5fb1549e501ded70a6b4532d7fe99d0579c18b5195aff6e35f96f399b426cea2650ec9fb75ef80d4c9edeccb51f2e6c9",
"git_version": "0.46.0",
"find_args": "MODULE GLOBAL",
"patches": [
"0001-mingw.patch",
"0002-fix-zstd.patch"
"0001-mingw.patch"
],
"options": [
"HTTPLIB_REQUIRE_OPENSSL ON",
@@ -67,6 +66,12 @@
"tag": "v%VERSION%",
"hash": "9697e80a7d5d9bcb3ce51051a9a24962fb90ca79d215f1f03ae6b58da8ba13a63b5dda1b4dde3d26ac6445029696b8ef2883f4e5a777b342bba01283ed293856"
},
"lagoon": {
"repo": "loongson-community/lagoon",
"tag": "%VERSION%",
"version": "1.0.0",
"hash": "b9380f99c6effaeccc6d8f81d4942e852c11ad28613df637e155451556ae5826f93765bee57a5c87a9740d2bd1db463ad0f55a947772fe9d57eeabae3efa373e"
},
"libadrenotools": {
"repo": "eden-emulator/libadrenotools",
"sha": "8ba23b42d7",
@@ -122,13 +127,13 @@
"BUNDLE_SPEEX ON"
]
},
"sdl2": {
"sdl3-ci": {
"ci": true,
"package": "SDL2",
"name": "SDL2",
"repo": "crueter-ci/SDL2",
"version": "2.32.10-3c28e8ecc0",
"min_version": "2.26.4"
"package": "SDL3",
"name": "SDL3",
"repo": "crueter-ci/SDL3",
"version": "3.4.8-d57c3b685c",
"min_version": "3.2.10"
},
"catch2": {
"package": "Catch2",
@@ -156,22 +161,13 @@
"find_args": "MODULE",
"git_version": "4.25"
},
"sdl2_generic": {
"package": "SDL2",
"sdl3": {
"package": "SDL3",
"repo": "libsdl-org/SDL",
"tag": "release-%VERSION%",
"hash": "d5622d6bb7266f7942a7b8ad43e8a22524893bf0c2ea1af91204838d9b78d32768843f6faa248757427b8404b8c6443776d4afa6b672cd8571a4e0c03a829383",
"bundled": true,
"git_version": "2.32.10",
"skip_updates": true
},
"sdl2_steamdeck": {
"package": "SDL2",
"repo": "libsdl-org/SDL",
"sha": "cc016b0046",
"hash": "b8d9873446cdb922387471df9968e078714683046674ef0d0edddf8e25da65a539a3bae83d635496b970237f90b07b36a69f8d7855d450de59311d6d6e8c3dbc",
"bundled": true,
"skip_updates": "true"
"hash": "df5a323af7ac366661a3c0e887969c72584d232f3cc211419d59b0487b620b6b2859d4549c9e8df002ee489290062e466fcfddf7edc0872a37b1f2845e81c0f3",
"git_version": "3.4.8",
"version": "3.2.10"
},
"moltenvk": {
"repo": "V380-Ori/Ryujinx.MoltenVK",
+2 -2
View File
@@ -59,7 +59,7 @@ endif()
if (PLATFORM_PS4 OR PLATFORM_MANAGARM)
# Doesn't support VA-API, don't go thru the embarrassment of trying to enable it
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vaapi)
elseif (UNIX AND NOT DEFINED FFmpeg_IS_CROSS_COMPILING)
elseif (UNIX AND NOT DEFINED FFmpeg_IS_CROSS_COMPILING AND NOT ANDROID)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBVA libva)
pkg_check_modules(CUDA cuda)
@@ -169,7 +169,7 @@ if (PLATFORM_PS4)
)
elseif (PLATFORM_MANAGARM)
# Required for proper stuff
list(APPEND FFmpeg_CROSS_COMPILE_FLAGS
list(APPEND FFmpeg_CROSS_COMPILE_FLAGS
--disable-pthreads
--extra-libs="${FFmpeg_CROSS_COMPILE_LIBS}"
)
+21 -6
View File
@@ -1,3 +1,6 @@
# 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
@@ -16,15 +19,24 @@ if (NOT FILE_LIST)
endif()
set(DIRECTORY_NAME ${HEADER_NAME})
set(FILE_DATA "")
string(APPEND FILE_DATA "[[nodiscard]] static inline std::vector<FileSys::VirtualFile> CollectFiles_${DIRECTORY_NAME}() {\n")
string(APPEND FILE_DATA [[
std::vector<FileSys::VirtualFile> vfs_files;
auto const fn = [&](std::string_view name, std::span<const u8> data) {
vfs_files.push_back(std::make_shared<FileSys::VectorVfsFile>(
std::vector<u8>(data.begin(), data.end()),
std::string{name}
));
};
]])
foreach(ZONE_FILE ${FILE_LIST})
if (ZONE_FILE STREQUAL "\n")
continue()
endif()
string(APPEND FILE_DATA "{\"${ZONE_FILE}\",\n{")
string(APPEND FILE_DATA " {\n")
string(APPEND FILE_DATA " constexpr uint8_t tzdb_data[] = {\n")
file(READ ${ZONE_PATH}/${ZONE_FILE} ZONE_DATA HEX)
string(LENGTH "${ZONE_DATA}" ZONE_DATA_LEN)
foreach(I RANGE 0 ${ZONE_DATA_LEN} 2)
@@ -42,9 +54,12 @@ foreach(ZONE_FILE ${FILE_LIST})
string(APPEND FILE_DATA " ")
endif()
endforeach()
string(APPEND FILE_DATA "}},\n")
string(APPEND FILE_DATA " };\n")
string(APPEND FILE_DATA " fn(\"${ZONE_FILE}\", tzdb_data);\n")
string(APPEND FILE_DATA " }\n")
endforeach()
string(APPEND FILE_DATA " return vfs_files;\n")
string(APPEND FILE_DATA "}\n")
file(READ ${NX_TZDB_SOURCE_DIR}/tzdb_template.h.in NX_TZDB_TEMPLATE_H_IN)
file(CONFIGURE OUTPUT ${NX_TZDB_INCLUDE_DIR}/nx_tzdb/${HEADER_NAME}.h CONTENT "${NX_TZDB_TEMPLATE_H_IN}")
+3 -3
View File
@@ -12,10 +12,10 @@
namespace NxTzdb {
// @DIRECTORY_NAME@
// clang-format off
const static std::map<const char*, const std::vector<uint8_t>> @DIRECTORY_NAME@ =
{
@FILE_DATA@};
@FILE_DATA@
// clang-format on
} // namespace NxTzdb
+1 -1
View File
@@ -20,7 +20,7 @@ pkgs.mkShellNoCC {
qt6.qtbase qt6.qtmultimedia qt6.qtwayland qt6.qttools
qt6.qtwebengine qt6.qt5compat
# eden-cli
SDL2
SDL3
# optional components
discord-rpc gamemode
];
+5 -2
View File
@@ -8,7 +8,7 @@
include_directories(.)
# Dynarmic
if ((ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64 OR ARCHITECTURE_riscv64) AND NOT YUZU_STATIC_ROOM)
if ((ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64 OR ARCHITECTURE_riscv64 OR ARCHITECTURE_loongarch64) AND NOT YUZU_STATIC_ROOM)
add_subdirectory(dynarmic)
add_library(dynarmic::dynarmic ALIAS dynarmic)
endif()
@@ -180,7 +180,10 @@ else()
endif()
if (ARCHITECTURE_x86_64)
add_compile_options(-mcx16)
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-mcx16>)
if (PLATFORM_LINUX OR PLATFORM_FREEBSD)
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-mtls-dialect=gnu2>)
endif()
endif()
if (APPLE AND CXX_CLANG)
+1 -1
View File
@@ -256,7 +256,7 @@ android {
externalNativeBuild {
cmake {
version = "3.22.1"
version = "3.31.6"
path = file("${edenDir}/CMakeLists.txt")
}
}
@@ -15,7 +15,6 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.graphics.Rect
import android.graphics.drawable.Icon
@@ -101,7 +100,6 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener, InputManager
private var romSwapGeneration = 0
private var hasEmulationSession = processHasEmulationSession
private val romSwapStopTimeoutRunnable = Runnable { onRomSwapStopTimeout() }
private val pictureInPictureFailureActions: MutableSet<String> = mutableSetOf()
private fun onRomSwapStopTimeout() {
if (!isWaitingForRomSwapStop) {
@@ -127,6 +125,8 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener, InputManager
super.onCreate(savedInstanceState)
NativeConfig.reloadGlobalConfig()
InputHandler.updateControllerData()
val players = NativeConfig.getInputSettings(true)
var hasConfiguredControllers = false
@@ -268,18 +268,12 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener, InputManager
}
override fun onUserLeaveHint() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ||
!isPictureInPictureSupported() ||
!BooleanSetting.PICTURE_IN_PICTURE.getBoolean() ||
isInPictureInPictureMode
) {
return
}
val pictureInPictureParamsBuilder = PictureInPictureParams.Builder()
.getPictureInPictureActionsBuilder().getPictureInPictureAspectBuilder()
runPictureInPictureAction("enter picture-in-picture mode") {
enterPictureInPictureMode(pictureInPictureParamsBuilder.build())
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
if (BooleanSetting.PICTURE_IN_PICTURE.getBoolean() && !isInPictureInPictureMode) {
val pictureInPictureParamsBuilder = PictureInPictureParams.Builder()
.getPictureInPictureActionsBuilder().getPictureInPictureAspectBuilder()
enterPictureInPictureMode(pictureInPictureParamsBuilder.build())
}
}
}
@@ -659,29 +653,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener, InputManager
return this.apply { setActions(pictureInPictureActions) }
}
private fun isPictureInPictureSupported() =
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O &&
packageManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE)
private fun runPictureInPictureAction(actionName: String, action: () -> Unit) {
try {
action()
} catch (e: IllegalStateException) {
if (pictureInPictureFailureActions.add(actionName)) {
Log.warning("[PiP] Failed to $actionName: ${e.message}")
}
} catch (e: UnsupportedOperationException) {
if (pictureInPictureFailureActions.add(actionName)) {
Log.warning("[PiP] Failed to $actionName: ${e.message}")
}
}
}
fun buildPictureInPictureParams() {
if (!isPictureInPictureSupported()) {
return
}
val pictureInPictureParamsBuilder = PictureInPictureParams.Builder()
.getPictureInPictureActionsBuilder().getPictureInPictureAspectBuilder()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
@@ -691,9 +663,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener, InputManager
BooleanSetting.PICTURE_IN_PICTURE.getBoolean() && isEmulationActive
)
}
runPictureInPictureAction("set picture-in-picture params") {
setPictureInPictureParams(pictureInPictureParamsBuilder.build())
}
setPictureInPictureParams(pictureInPictureParamsBuilder.build())
}
fun displayMultiplayerDialog() {
@@ -16,6 +16,7 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
RENDERER_USE_SPEED_LIMIT("use_speed_limit"),
USE_CUSTOM_CPU_TICKS("use_custom_cpu_ticks"),
SKIP_CPU_INNER_INVALIDATION("skip_cpu_inner_invalidation"),
ANTIFLICKER("antiflicker"),
FIX_BLOOM_EFFECTS("fix_bloom_effects"),
EMULATE_BGR565("emulate_bgr565"),
RESCALE_HACK("rescale_hack"),
@@ -750,6 +750,13 @@ abstract class SettingsItem(
descriptionId = R.string.skip_cpu_inner_invalidation_description
)
)
put(
SwitchSetting(
BooleanSetting.ANTIFLICKER,
titleId = R.string.antiflicker,
descriptionId = R.string.antiflicker_description
)
)
put(
SwitchSetting(
BooleanSetting.FIX_BLOOM_EFFECTS,
@@ -76,18 +76,25 @@ class SettingsFragmentPresenter(
}
}
private fun isFsrScalingFilterSelected(): Boolean {
val fsrFilterValue = resolveFsrScalingFilterValue() ?: return false
private fun isSharpnessScalingFilterSelected(): Boolean {
val needsGlobal = getNeedsGlobalForKey(IntSetting.RENDERER_SCALING_FILTER.key)
val selectedFilter = IntSetting.RENDERER_SCALING_FILTER.getInt(needsGlobal)
return selectedFilter == fsrFilterValue
return selectedFilter in resolveSharpnessScalingFilterValues()
}
private fun resolveFsrScalingFilterValue(): Int? {
private fun resolveSharpnessScalingFilterValues(): Set<Int> {
val names = context.resources.getStringArray(R.array.rendererScalingFilterNames)
val values = context.resources.getIntArray(R.array.rendererScalingFilterValues)
val fsrIndex = names.indexOf(context.getString(R.string.scaling_filter_fsr))
return if (fsrIndex in values.indices) values[fsrIndex] else null
val sharpnessFilterNames = setOf(
context.getString(R.string.scaling_filter_fsr),
context.getString(R.string.scaling_filter_sgsr),
context.getString(R.string.scaling_filter_sgsr_edge),
)
return names.asSequence()
.mapIndexedNotNull { index, name ->
if (name in sharpnessFilterNames && index in values.indices) values[index] else null
}
.toSet()
}
// Allows you to show/hide abstract settings based on the paired setting key
@@ -267,7 +274,7 @@ class SettingsFragmentPresenter(
add(IntSetting.RENDERER_RESOLUTION.key)
add(IntSetting.RENDERER_VSYNC.key)
add(IntSetting.RENDERER_SCALING_FILTER.key)
if (isFsrScalingFilterSelected()) {
if (isSharpnessScalingFilterSelected()) {
add(IntSetting.FSR_SHARPENING_SLIDER.key)
}
add(IntSetting.RENDERER_ANTI_ALIASING.key)
@@ -291,6 +298,7 @@ class SettingsFragmentPresenter(
add(IntSetting.FAST_GPU_TIME.key)
add(BooleanSetting.SKIP_CPU_INNER_INVALIDATION.key)
add(BooleanSetting.ANTIFLICKER.key)
add(BooleanSetting.FIX_BLOOM_EFFECTS.key)
add(BooleanSetting.EMULATE_BGR565.key)
add(BooleanSetting.RESCALE_HACK.key)
@@ -1090,7 +1090,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
private fun addQuickSettings() {
binding.quickSettingsSheet.apply {
val container = binding.quickSettingsSheet.findViewById<ViewGroup>(R.id.quick_settings_container)
val isFsrSelected = isFsrScalingFilterSelected()
val isSharpnessFilterSelected = isSharpnessScalingFilterSelected()
container.removeAllViews()
@@ -1176,7 +1176,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
addQuickSettings()
}
if (isFsrSelected) {
if (isSharpnessFilterSelected) {
quickSettings.addSliderSetting(
R.string.fsr_sharpness,
container,
@@ -1197,17 +1197,24 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
}
}
private fun isFsrScalingFilterSelected(): Boolean {
val fsrFilterValue = resolveFsrScalingFilterValue() ?: return false
private fun isSharpnessScalingFilterSelected(): Boolean {
val selectedFilter = IntSetting.RENDERER_SCALING_FILTER.getInt(needsGlobal = false)
return selectedFilter == fsrFilterValue
return selectedFilter in resolveSharpnessScalingFilterValues()
}
private fun resolveFsrScalingFilterValue(): Int? {
private fun resolveSharpnessScalingFilterValues(): Set<Int> {
val names = resources.getStringArray(R.array.rendererScalingFilterNames)
val values = resources.getIntArray(R.array.rendererScalingFilterValues)
val fsrIndex = names.indexOf(getString(R.string.scaling_filter_fsr))
return if (fsrIndex in values.indices) values[fsrIndex] else null
val sharpnessFilterNames = setOf(
getString(R.string.scaling_filter_fsr),
getString(R.string.scaling_filter_sgsr),
getString(R.string.scaling_filter_sgsr_edge),
)
return names.asSequence()
.mapIndexedNotNull { index, name ->
if (name in sharpnessFilterNames && index in values.indices) values[index] else null
}
.toSet()
}
private fun openQuickSettingsMenu() {
@@ -33,3 +33,5 @@ if (ENABLE_UPDATE_CHECKER)
endif()
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} yuzu-android)
target_link_options(yuzu-android PRIVATE "-Wl,-Bsymbolic")
@@ -19,6 +19,9 @@ AndroidConfig::AndroidConfig(const std::string& config_name, ConfigType config_t
}
void AndroidConfig::ReloadAllValues() {
// Ensure the INI file is current before reloading values.
SetUpIni();
Reload();
ReadAndroidValues();
SaveAndroidValues();
@@ -503,6 +503,8 @@
<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="antiflicker">مضاد الوميض</string>
<string name="antiflicker_description">يُجبر هذا الوضع وظائف وحدة معالجة الرسومات على الانتظار حتى يتم إرسال العمل إليها. استخدمه مع وضع وحدة معالجة الرسومات السريع لتجنب الوميض مع تأثير أقل على الأداء.</string>
<string name="fix_bloom_effects">إصلاح تأثيرات التوهج</string>
<string name="fix_bloom_effects_description">يقلل من ضبابية التوهج في LA/EOW (Adreno A6XX - A7XX/ Turnip)، ويزيل التوهج في Burnout. تحذير: قد يسبب تشوهات رسومية في ألعاب أخرى.</string>
<string name="emulate_bgr565">محاكاة BGR565</string>
@@ -497,6 +497,8 @@
<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="antiflicker">Antiparpadeo</string>
<string name="antiflicker_description">Fuerza a las funciones de devolución de llamada de la GPU a esperar a que se envíen las tareas a la GPU.\nÚsalo con el modo de GPU rápida para evitar el parpadeo con un menor impacto en el rendimiento.</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 A6XX - A7XX/ Turnip), elimina el resplandor en Burnout. Advertencia: puede causar artefactos gráficos en otros juegos.</string>
<string name="emulate_bgr565">Emular BGR565</string>
@@ -803,7 +805,7 @@
<string name="select_content_type">Tipo de contenido</string>
<string name="updates_and_dlc">Actualizaciones y contenido descargable</string>
<string name="mods_and_cheats">Mods y trucos</string>
<string name="addon_notice">Aviso importante de complementos</string>
<string name="addon_notice">Aviso importante sobre los complementos</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="invalid_directory">Directorio no válido</string>
@@ -814,7 +816,7 @@
<string name="content_install_notice">Aviso importante de contenido</string>
<string name="content_install_notice_description">El contenido seleccionado no es de este juego.\n¿Instalar aun que\?</string>
<string name="confirm_uninstall">Confirmar desinstalación</string>
<string name="confirm_uninstall_description">¿Está seguro de que quiere desinstalar este complemento\?</string>
<string name="confirm_uninstall_description">¿Estás seguro de que quieres desinstalar este complemento\?</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>
@@ -499,6 +499,8 @@
<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="antiflicker">Анти-мерцание</string>
<string name="antiflicker_description">Принудительно заставляет обратные вызовы ГПУ-фильтра ожидать выполнения отправленных задач на ГПУ. Используйте с Быстрым режимом ГПУ, что бы избежать мерцаний с меньшим влиянием на производительность.</string>
<string name="fix_bloom_effects">Исправить эффекты размытия</string>
<string name="fix_bloom_effects_description">Частично убирает размытие в LA/EOW (Adreno A6XX - A7XX/ Turnip), полностью отключает его в Burnout. Внимание: может вызывать графические артефакты в других играх.</string>
<string name="emulate_bgr565">Эмулировать BGR565</string>
@@ -499,6 +499,8 @@
<string name="fast_gpu_time_description">Примушує більшість ігор працювати на їхній максимальній нативній роздільності. Використовуйте 256 для максимальної продуктивності та 512 для найкращої якості.</string>
<string name="skip_cpu_inner_invalidation">Пропустити внутрішнє інвалідування CPU</string>
<string name="skip_cpu_inner_invalidation_description">Пропускає деякі інвалідації кешу на стороні CPU під час оновлення пам\'яті, зменшуючи навантаження на процесор і покращуючи продуктивність. Може спричинити збої в деяких іграх.</string>
<string name="antiflicker">Антимерехтіння</string>
<string name="antiflicker_description">Змушує механізм синхронізації чекати, доки ГП завершить подані завдання. Використовуйте з режимом ГП «Швидко», щоб уникнути мерехтіння з меншими втратами продуктивності.</string>
<string name="fix_bloom_effects">Виправити ефекти світіння</string>
<string name="fix_bloom_effects_description">Зменшує розмиття світіння в LA/EOW (Adreno A6XXA7XX / Turnip), прибирає світіння в Burnout. Увага: може спричинити графічні артефакти в інших іграх.</string>
<string name="emulate_bgr565">Емулювати BGR565</string>
@@ -493,8 +493,10 @@
<string name="fast_gpu_time_description">强制大多数游戏以其最高原生分辨率运行。设置为 256 可获得最佳性能,设置为 512 可获得最佳画面保真度。</string>
<string name="skip_cpu_inner_invalidation">跳过CPU内部无效化</string>
<string name="skip_cpu_inner_invalidation_description">在内存更新期间跳过某些CPU端缓存无效化,减少CPU使用率并提高其性能。可能会导致某些游戏出现故障或崩溃。</string>
<string name="antiflicker">防闪烁</string>
<string name="antiflicker_description">强制 GPU 围栏回调等待已提交的 GPU 任务。配合“快速 GPU 模式”一起使用,以避免画面闪烁现象,仅会牺牲少量性能。</string>
<string name="fix_bloom_effects">修复 Bloom 效果</string>
<string name="fix_bloom_effects_description">减少《塞尔达传说:智慧的再现》(Adreno A6XX - A7XX/ Turnip)中的 bloom 模糊,并移除《Burnout》中的 bloom 效果。警告:可能会导致在其他游戏中出现图形异常。</string>
<string name="fix_bloom_effects_description">减少《智慧的再现》和《众神的三角力量2》(Adreno A6XX - A7XX/ Turnip)中的 bloom 模糊,并移除《Burnout》中的 bloom 效果。警告:可能会导致在其他游戏中出现图形异常。</string>
<string name="emulate_bgr565">模拟 BGR565</string>
<string name="emulate_bgr565_description">修复游戏中的颜色反转或是异常的画面瑕疵或阴影问题</string>
<string name="rescale_hack">启用旧版缩放处理</string>
@@ -240,6 +240,8 @@
<item>@string/scaling_filter_bspline</item>
<item>@string/scaling_filter_mitchell</item>
<item>@string/scaling_filter_spline1</item>
<item>@string/scaling_filter_sgsr</item>
<item>@string/scaling_filter_sgsr_edge</item>
</string-array>
<integer-array name="rendererScalingFilterValues">
@@ -256,6 +258,8 @@
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
</integer-array>
<string-array name="rendererAntiAliasingNames">
@@ -468,8 +468,8 @@
<string name="renderer_resolution">Resolution (Handheld/Docked)</string>
<string name="renderer_vsync">VSync mode</string>
<string name="renderer_scaling_filter">Window adapting filter</string>
<string name="fsr_sharpness">FSR sharpness</string>
<string name="fsr_sharpness_description">Determines how sharpened the image will look while using FSR\'s dynamic contrast</string>
<string name="fsr_sharpness">FSR/SGSR sharpness</string>
<string name="fsr_sharpness_description">Determines how sharpened the image will look while using FSR or SGSR filters</string>
<string name="renderer_anti_aliasing">Anti-aliasing method</string>
@@ -509,6 +509,8 @@
<string name="fast_gpu_time_description">Forces most games to run at their highest native resolution. Use 256 for maximal performance and 512 for maximal graphics fidelity.</string>
<string name="skip_cpu_inner_invalidation">Skip CPU Inner Invalidation</string>
<string name="skip_cpu_inner_invalidation_description">Skips certain CPU-side cache invalidations during memory updates, reducing CPU usage and improving it\'s performance. This may cause glitches or crashes on some games.</string>
<string name="antiflicker">Anti-Flicker</string>
<string name="antiflicker_description">Forces GPU fence callbacks to wait for submitted GPU work. Use with Fast GPU mode, to avoid flicker with lower performance impact.</string>
<string name="fix_bloom_effects">Fix Bloom Effects</string>
<string name="fix_bloom_effects_description">Reduces bloom blur in LA/EOW (Adreno A6XX - A7XX/ Turnip), removes bloom in Burnout. Warning: may cause graphical artifacts in other games.</string>
<string name="emulate_bgr565">Emulate BGR565</string>
@@ -1078,6 +1080,8 @@
<string name="scaling_filter_bspline" translatable="false">B-Spline</string>
<string name="scaling_filter_mitchell" translatable="false">Mitchell</string>
<string name="scaling_filter_mmpx" translatable="false">MMPX</string>
<string name="scaling_filter_sgsr" translatable="false">Snapdragon GSR</string>
<string name="scaling_filter_sgsr_edge" translatable="false">Snapdragon GSR EdgeDir</string>
<!-- Anti-Aliasing -->
<string name="anti_aliasing_none">None</string>
+4 -4
View File
@@ -247,11 +247,11 @@ if(ANDROID)
target_compile_definitions(audio_core PUBLIC HAVE_OBOE)
else()
target_sources(audio_core PRIVATE
sink/sdl2_sink.cpp
sink/sdl2_sink.h)
sink/sdl3_sink.cpp
sink/sdl3_sink.h)
target_link_libraries(audio_core PRIVATE SDL2::SDL2)
target_compile_definitions(audio_core PRIVATE HAVE_SDL2)
target_link_libraries(audio_core PRIVATE SDL3::SDL3)
target_compile_definitions(audio_core PRIVATE HAVE_SDL3)
endif()
create_target_directory_groups(audio_core)
@@ -29,8 +29,96 @@ void AudioRenderer::Start() {
CreateSinkStreams();
mailbox.Initialize(AppMailboxId::AudioRenderer);
// Main AudioRenderer thread, responsible for processing the command lists.
main_thread = std::jthread([this](std::stop_token stop_token) {
Common::SetCurrentThreadName("DSP_AudioRenderer_Main");
Common::SetCurrentThreadPriority(Common::ThreadPriority::High);
main_thread = std::jthread([this](std::stop_token stop_token) { Main(stop_token); });
// TODO: Create buffer map/unmap thread + mailbox
// TODO: Create gMix devices, initialize them here
if (mailbox.Receive(Direction::DSP) != Message::InitializeOK) {
LOG_ERROR(Service_Audio, "ADSP Audio Renderer -- Failed to receive initialize message from host!");
return;
}
mailbox.Send(Direction::Host, Message::InitializeOK);
// 0.12 seconds (2,304,000 / 19,200,000)
constexpr u64 max_process_time{2'304'000ULL};
while (!stop_token.stop_requested()) {
auto msg{mailbox.Receive(Direction::DSP)};
switch (msg) {
case Message::Shutdown:
mailbox.Send(Direction::Host, Message::Shutdown);
return;
case Message::Render: {
if (system.IsShuttingDown()) {
std::this_thread::sleep_for(std::chrono::milliseconds(200));
mailbox.Send(Direction::Host, Message::RenderResponse);
continue;
}
std::array<bool, MaxRendererSessions> buffers_reset{};
std::array<u64, MaxRendererSessions> render_times_taken{};
const auto start_time{system.CoreTiming().GetGlobalTimeUs().count()};
for (u32 index = 0; index < MaxRendererSessions; index++) {
auto& command_buffer{command_buffers[index]};
auto& command_list_processor{command_list_processors[index]};
// Check this buffer is valid, as it may not be used.
if (command_buffer.buffer != 0) {
// If there are no remaining commands (from the previous list),
// this is a new command list, initialize it.
if (command_buffer.remaining_command_count == 0) {
command_list_processor.Initialize(system, *command_buffer.process,
command_buffer.buffer,
command_buffer.size, streams[index]);
}
if (command_buffer.reset_buffer && !buffers_reset[index]) {
streams[index]->ClearQueue();
buffers_reset[index] = true;
}
u64 max_time{max_process_time};
if (index == 1 && command_buffer.applet_resource_user_id ==
command_buffers[0].applet_resource_user_id) {
max_time = max_process_time - render_times_taken[0];
if (render_times_taken[0] > max_process_time) {
max_time = 0;
}
}
max_time = (std::min)(command_buffer.time_limit, max_time);
command_list_processor.SetProcessTimeMax(max_time);
if (index == 0) {
streams[index]->WaitFreeSpace(stop_token);
}
// Process the command list
{
render_times_taken[index] =
command_list_processor.Process(index) - start_time;
}
const auto end_time{system.CoreTiming().GetGlobalTimeUs().count()};
command_buffer.remaining_command_count =
command_list_processor.GetRemainingCommandCount();
command_buffer.render_time_taken_us = end_time - start_time;
}
}
mailbox.Send(Direction::Host, Message::RenderResponse);
} break;
default:
LOG_WARNING(Service_Audio, "ADSP AudioRenderer received an invalid message, msg={:02X}!", msg);
break;
}
}
});
mailbox.Send(Direction::DSP, Message::InitializeOK);
if (mailbox.Receive(Direction::Host) != Message::InitializeOK) {
@@ -129,95 +217,4 @@ void AudioRenderer::CreateSinkStreams() {
}
}
void AudioRenderer::Main(std::stop_token stop_token) {
Common::SetCurrentThreadName("DSP_AudioRenderer_Main");
Common::SetCurrentThreadPriority(Common::ThreadPriority::High);
// TODO: Create buffer map/unmap thread + mailbox
// TODO: Create gMix devices, initialize them here
if (mailbox.Receive(Direction::DSP) != Message::InitializeOK) {
LOG_ERROR(Service_Audio, "ADSP Audio Renderer -- Failed to receive initialize message from host!");
return;
}
mailbox.Send(Direction::Host, Message::InitializeOK);
// 0.12 seconds (2,304,000 / 19,200,000)
constexpr u64 max_process_time{2'304'000ULL};
while (!stop_token.stop_requested()) {
auto msg{mailbox.Receive(Direction::DSP)};
switch (msg) {
case Message::Shutdown:
mailbox.Send(Direction::Host, Message::Shutdown);
return;
case Message::Render: {
if (system.IsShuttingDown()) {
std::this_thread::sleep_for(std::chrono::milliseconds(200));
mailbox.Send(Direction::Host, Message::RenderResponse);
continue;
}
std::array<bool, MaxRendererSessions> buffers_reset{};
std::array<u64, MaxRendererSessions> render_times_taken{};
const auto start_time{system.CoreTiming().GetGlobalTimeUs().count()};
for (u32 index = 0; index < MaxRendererSessions; index++) {
auto& command_buffer{command_buffers[index]};
auto& command_list_processor{command_list_processors[index]};
// Check this buffer is valid, as it may not be used.
if (command_buffer.buffer != 0) {
// If there are no remaining commands (from the previous list),
// this is a new command list, initialize it.
if (command_buffer.remaining_command_count == 0) {
command_list_processor.Initialize(system, *command_buffer.process,
command_buffer.buffer,
command_buffer.size, streams[index]);
}
if (command_buffer.reset_buffer && !buffers_reset[index]) {
streams[index]->ClearQueue();
buffers_reset[index] = true;
}
u64 max_time{max_process_time};
if (index == 1 && command_buffer.applet_resource_user_id ==
command_buffers[0].applet_resource_user_id) {
max_time = max_process_time - render_times_taken[0];
if (render_times_taken[0] > max_process_time) {
max_time = 0;
}
}
max_time = (std::min)(command_buffer.time_limit, max_time);
command_list_processor.SetProcessTimeMax(max_time);
if (index == 0) {
streams[index]->WaitFreeSpace(stop_token);
}
// Process the command list
{
render_times_taken[index] =
command_list_processor.Process(index) - start_time;
}
const auto end_time{system.CoreTiming().GetGlobalTimeUs().count()};
command_buffer.remaining_command_count =
command_list_processor.GetRemainingCommandCount();
command_buffer.render_time_taken_us = end_time - start_time;
}
}
mailbox.Send(Direction::Host, Message::RenderResponse);
} break;
default:
LOG_WARNING(Service_Audio, "ADSP AudioRenderer received an invalid message, msg={:02X}!", msg);
break;
}
}
}
} // namespace AudioCore::ADSP::AudioRenderer
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
@@ -82,11 +82,6 @@ public:
u64 GetRenderingStartTick(s32 session_id) const noexcept;
private:
/**
* Main AudioRenderer thread, responsible for processing the command lists.
*/
void Main(std::stop_token stop_token);
/**
* Creates the streams which will receive the processed samples.
*/
+194 -195
View File
@@ -37,7 +37,9 @@ bool IsValidMultiStreamStreamCounts(s32 total_stream_count, s32 stereo_stream_co
} // namespace
OpusDecoder::OpusDecoder(Core::System& system_) : system{system_} {
init_thread = std::jthread([this](std::stop_token stop_token) { Init(stop_token); });
init_thread = std::jthread([this](std::stop_token stop_token) {
Init(stop_token);
});
}
OpusDecoder::~OpusDecoder() {
@@ -64,206 +66,203 @@ u32 OpusDecoder::Receive(Direction dir, std::stop_token stop_token) {
return mailbox.Receive(dir, stop_token);
}
void OpusDecoder::Init(std::stop_token stop_token) {
void OpusDecoder::Init(std::stop_token rc_stop_token) {
Common::SetCurrentThreadName("DSP_OpusDecoder_Init");
if (Receive(Direction::DSP, stop_token) != Message::Start) {
LOG_ERROR(Service_Audio,
"DSP OpusDecoder failed to receive Start message. Opus initialization failed.");
if (Receive(Direction::DSP, rc_stop_token) != Message::Start) {
LOG_ERROR(Service_Audio, "DSP OpusDecoder failed to receive Start message. Opus initialization failed.");
return;
}
main_thread = std::jthread([this](std::stop_token st) { Main(st); });
// Main OpusDecoder thread, responsible for processing the incoming Opus packets.
main_thread = std::jthread([this](std::stop_token stop_token) {
Common::SetCurrentThreadName("DSP_OpusDecoder_Main");
while (!stop_token.stop_requested()) {
auto msg = Receive(Direction::DSP, stop_token);
switch (msg) {
case Shutdown:
Send(Direction::Host, Message::ShutdownOK);
return;
case GetWorkBufferSize: {
auto channel_count = static_cast<s32>(shared_memory->host_send_data[0]);
ASSERT(IsValidChannelCount(channel_count));
shared_memory->dsp_return_data[0] = OpusDecodeObject::GetWorkBufferSize(channel_count);
Send(Direction::Host, Message::GetWorkBufferSizeOK);
} break;
case InitializeDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
auto buffer_size = shared_memory->host_send_data[1];
auto sample_rate = static_cast<s32>(shared_memory->host_send_data[2]);
auto channel_count = static_cast<s32>(shared_memory->host_send_data[3]);
ASSERT(sample_rate >= 0);
ASSERT(IsValidChannelCount(channel_count));
ASSERT(buffer_size >= OpusDecodeObject::GetWorkBufferSize(channel_count));
auto& decoder_object = OpusDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] =
decoder_object.InitializeDecoder(sample_rate, channel_count);
Send(Direction::Host, Message::InitializeDecodeObjectOK);
} break;
case ShutdownDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
auto& decoder_object = OpusDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] = decoder_object.Shutdown();
Send(Direction::Host, Message::ShutdownDecodeObjectOK);
} break;
case DecodeInterleaved: {
auto start_time = system.CoreTiming().GetGlobalTimeUs();
auto buffer = shared_memory->host_send_data[0];
auto input_data = shared_memory->host_send_data[1];
auto input_data_size = shared_memory->host_send_data[2];
auto output_data = shared_memory->host_send_data[3];
auto output_data_size = shared_memory->host_send_data[4];
auto final_range = static_cast<u32>(shared_memory->host_send_data[5]);
auto reset_requested = shared_memory->host_send_data[6];
u32 decoded_samples{0};
auto& decoder_object = OpusDecodeObject::Initialize(buffer, buffer);
s32 error_code{OPUS_OK};
if (reset_requested) {
error_code = decoder_object.ResetDecoder();
}
if (error_code == OPUS_OK) {
error_code = decoder_object.Decode(decoded_samples, output_data, output_data_size,
input_data, input_data_size);
}
if (error_code == OPUS_OK) {
if (final_range && decoder_object.GetFinalRange() != final_range) {
error_code = OPUS_INVALID_PACKET;
}
}
auto end_time = system.CoreTiming().GetGlobalTimeUs();
shared_memory->dsp_return_data[0] = error_code;
shared_memory->dsp_return_data[1] = decoded_samples;
shared_memory->dsp_return_data[2] = (end_time - start_time).count();
Send(Direction::Host, Message::DecodeInterleavedOK);
} break;
case MapMemory: {
[[maybe_unused]] auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
Send(Direction::Host, Message::MapMemoryOK);
} break;
case UnmapMemory: {
[[maybe_unused]] auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
Send(Direction::Host, Message::UnmapMemoryOK);
} break;
case GetWorkBufferSizeForMultiStream: {
auto total_stream_count = static_cast<s32>(shared_memory->host_send_data[0]);
auto stereo_stream_count = static_cast<s32>(shared_memory->host_send_data[1]);
ASSERT(IsValidMultiStreamStreamCounts(total_stream_count, stereo_stream_count));
shared_memory->dsp_return_data[0] = OpusMultiStreamDecodeObject::GetWorkBufferSize(
total_stream_count, stereo_stream_count);
Send(Direction::Host, Message::GetWorkBufferSizeForMultiStreamOK);
} break;
case InitializeMultiStreamDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
auto buffer_size = shared_memory->host_send_data[1];
auto sample_rate = static_cast<s32>(shared_memory->host_send_data[2]);
auto channel_count = static_cast<s32>(shared_memory->host_send_data[3]);
auto total_stream_count = static_cast<s32>(shared_memory->host_send_data[4]);
auto stereo_stream_count = static_cast<s32>(shared_memory->host_send_data[5]);
// Nintendo seem to have a bug here, they try to use &host_send_data[6] for the channel
// mappings, but [6] is never set, and there is not enough room in the argument data for
// more than 40 channels, when 255 are possible.
// It also means the mapping values are undefined, though likely always 0,
// and the mappings given by the game are ignored. The mappings are copied to this
// dedicated buffer host side, so let's do as intended.
auto mappings = shared_memory->channel_mapping.data();
ASSERT(IsValidMultiStreamStreamCounts(total_stream_count, stereo_stream_count));
ASSERT(sample_rate >= 0);
ASSERT(buffer_size >= OpusMultiStreamDecodeObject::GetWorkBufferSize(
total_stream_count, stereo_stream_count));
auto& decoder_object = OpusMultiStreamDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] = decoder_object.InitializeDecoder(
sample_rate, total_stream_count, channel_count, stereo_stream_count, mappings);
Send(Direction::Host, Message::InitializeMultiStreamDecodeObjectOK);
} break;
case ShutdownMultiStreamDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
auto& decoder_object = OpusMultiStreamDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] = decoder_object.Shutdown();
Send(Direction::Host, Message::ShutdownMultiStreamDecodeObjectOK);
} break;
case DecodeInterleavedForMultiStream: {
auto start_time = system.CoreTiming().GetGlobalTimeUs();
auto buffer = shared_memory->host_send_data[0];
auto input_data = shared_memory->host_send_data[1];
auto input_data_size = shared_memory->host_send_data[2];
auto output_data = shared_memory->host_send_data[3];
auto output_data_size = shared_memory->host_send_data[4];
auto final_range = static_cast<u32>(shared_memory->host_send_data[5]);
auto reset_requested = shared_memory->host_send_data[6];
u32 decoded_samples{0};
auto& decoder_object = OpusMultiStreamDecodeObject::Initialize(buffer, buffer);
s32 error_code{OPUS_OK};
if (reset_requested) {
error_code = decoder_object.ResetDecoder();
}
if (error_code == OPUS_OK) {
error_code = decoder_object.Decode(decoded_samples, output_data, output_data_size,
input_data, input_data_size);
}
if (error_code == OPUS_OK) {
if (final_range && decoder_object.GetFinalRange() != final_range) {
error_code = OPUS_INVALID_PACKET;
}
}
auto end_time = system.CoreTiming().GetGlobalTimeUs();
shared_memory->dsp_return_data[0] = error_code;
shared_memory->dsp_return_data[1] = decoded_samples;
shared_memory->dsp_return_data[2] = (end_time - start_time).count();
Send(Direction::Host, Message::DecodeInterleavedForMultiStreamOK);
} break;
default:
LOG_ERROR(Service_Audio, "Invalid OpusDecoder command {}", msg);
continue;
}
}
});
running = true;
Send(Direction::Host, Message::StartOK);
}
void OpusDecoder::Main(std::stop_token stop_token) {
Common::SetCurrentThreadName("DSP_OpusDecoder_Main");
while (!stop_token.stop_requested()) {
auto msg = Receive(Direction::DSP, stop_token);
switch (msg) {
case Shutdown:
Send(Direction::Host, Message::ShutdownOK);
return;
case GetWorkBufferSize: {
auto channel_count = static_cast<s32>(shared_memory->host_send_data[0]);
ASSERT(IsValidChannelCount(channel_count));
shared_memory->dsp_return_data[0] = OpusDecodeObject::GetWorkBufferSize(channel_count);
Send(Direction::Host, Message::GetWorkBufferSizeOK);
} break;
case InitializeDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
auto buffer_size = shared_memory->host_send_data[1];
auto sample_rate = static_cast<s32>(shared_memory->host_send_data[2]);
auto channel_count = static_cast<s32>(shared_memory->host_send_data[3]);
ASSERT(sample_rate >= 0);
ASSERT(IsValidChannelCount(channel_count));
ASSERT(buffer_size >= OpusDecodeObject::GetWorkBufferSize(channel_count));
auto& decoder_object = OpusDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] =
decoder_object.InitializeDecoder(sample_rate, channel_count);
Send(Direction::Host, Message::InitializeDecodeObjectOK);
} break;
case ShutdownDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
auto& decoder_object = OpusDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] = decoder_object.Shutdown();
Send(Direction::Host, Message::ShutdownDecodeObjectOK);
} break;
case DecodeInterleaved: {
auto start_time = system.CoreTiming().GetGlobalTimeUs();
auto buffer = shared_memory->host_send_data[0];
auto input_data = shared_memory->host_send_data[1];
auto input_data_size = shared_memory->host_send_data[2];
auto output_data = shared_memory->host_send_data[3];
auto output_data_size = shared_memory->host_send_data[4];
auto final_range = static_cast<u32>(shared_memory->host_send_data[5]);
auto reset_requested = shared_memory->host_send_data[6];
u32 decoded_samples{0};
auto& decoder_object = OpusDecodeObject::Initialize(buffer, buffer);
s32 error_code{OPUS_OK};
if (reset_requested) {
error_code = decoder_object.ResetDecoder();
}
if (error_code == OPUS_OK) {
error_code = decoder_object.Decode(decoded_samples, output_data, output_data_size,
input_data, input_data_size);
}
if (error_code == OPUS_OK) {
if (final_range && decoder_object.GetFinalRange() != final_range) {
error_code = OPUS_INVALID_PACKET;
}
}
auto end_time = system.CoreTiming().GetGlobalTimeUs();
shared_memory->dsp_return_data[0] = error_code;
shared_memory->dsp_return_data[1] = decoded_samples;
shared_memory->dsp_return_data[2] = (end_time - start_time).count();
Send(Direction::Host, Message::DecodeInterleavedOK);
} break;
case MapMemory: {
[[maybe_unused]] auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
Send(Direction::Host, Message::MapMemoryOK);
} break;
case UnmapMemory: {
[[maybe_unused]] auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
Send(Direction::Host, Message::UnmapMemoryOK);
} break;
case GetWorkBufferSizeForMultiStream: {
auto total_stream_count = static_cast<s32>(shared_memory->host_send_data[0]);
auto stereo_stream_count = static_cast<s32>(shared_memory->host_send_data[1]);
ASSERT(IsValidMultiStreamStreamCounts(total_stream_count, stereo_stream_count));
shared_memory->dsp_return_data[0] = OpusMultiStreamDecodeObject::GetWorkBufferSize(
total_stream_count, stereo_stream_count);
Send(Direction::Host, Message::GetWorkBufferSizeForMultiStreamOK);
} break;
case InitializeMultiStreamDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
auto buffer_size = shared_memory->host_send_data[1];
auto sample_rate = static_cast<s32>(shared_memory->host_send_data[2]);
auto channel_count = static_cast<s32>(shared_memory->host_send_data[3]);
auto total_stream_count = static_cast<s32>(shared_memory->host_send_data[4]);
auto stereo_stream_count = static_cast<s32>(shared_memory->host_send_data[5]);
// Nintendo seem to have a bug here, they try to use &host_send_data[6] for the channel
// mappings, but [6] is never set, and there is not enough room in the argument data for
// more than 40 channels, when 255 are possible.
// It also means the mapping values are undefined, though likely always 0,
// and the mappings given by the game are ignored. The mappings are copied to this
// dedicated buffer host side, so let's do as intended.
auto mappings = shared_memory->channel_mapping.data();
ASSERT(IsValidMultiStreamStreamCounts(total_stream_count, stereo_stream_count));
ASSERT(sample_rate >= 0);
ASSERT(buffer_size >= OpusMultiStreamDecodeObject::GetWorkBufferSize(
total_stream_count, stereo_stream_count));
auto& decoder_object = OpusMultiStreamDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] = decoder_object.InitializeDecoder(
sample_rate, total_stream_count, channel_count, stereo_stream_count, mappings);
Send(Direction::Host, Message::InitializeMultiStreamDecodeObjectOK);
} break;
case ShutdownMultiStreamDecodeObject: {
auto buffer = shared_memory->host_send_data[0];
[[maybe_unused]] auto buffer_size = shared_memory->host_send_data[1];
auto& decoder_object = OpusMultiStreamDecodeObject::Initialize(buffer, buffer);
shared_memory->dsp_return_data[0] = decoder_object.Shutdown();
Send(Direction::Host, Message::ShutdownMultiStreamDecodeObjectOK);
} break;
case DecodeInterleavedForMultiStream: {
auto start_time = system.CoreTiming().GetGlobalTimeUs();
auto buffer = shared_memory->host_send_data[0];
auto input_data = shared_memory->host_send_data[1];
auto input_data_size = shared_memory->host_send_data[2];
auto output_data = shared_memory->host_send_data[3];
auto output_data_size = shared_memory->host_send_data[4];
auto final_range = static_cast<u32>(shared_memory->host_send_data[5]);
auto reset_requested = shared_memory->host_send_data[6];
u32 decoded_samples{0};
auto& decoder_object = OpusMultiStreamDecodeObject::Initialize(buffer, buffer);
s32 error_code{OPUS_OK};
if (reset_requested) {
error_code = decoder_object.ResetDecoder();
}
if (error_code == OPUS_OK) {
error_code = decoder_object.Decode(decoded_samples, output_data, output_data_size,
input_data, input_data_size);
}
if (error_code == OPUS_OK) {
if (final_range && decoder_object.GetFinalRange() != final_range) {
error_code = OPUS_INVALID_PACKET;
}
}
auto end_time = system.CoreTiming().GetGlobalTimeUs();
shared_memory->dsp_return_data[0] = error_code;
shared_memory->dsp_return_data[1] = decoded_samples;
shared_memory->dsp_return_data[2] = (end_time - start_time).count();
Send(Direction::Host, Message::DecodeInterleavedForMultiStreamOK);
} break;
default:
LOG_ERROR(Service_Audio, "Invalid OpusDecoder command {}", msg);
continue;
}
}
}
} // namespace AudioCore::ADSP::OpusDecoder
+3 -4
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -69,10 +72,6 @@ private:
* Initializing thread, launched at audio_core boot to avoid blocking the main emu boot thread.
*/
void Init(std::stop_token stop_token);
/**
* Main OpusDecoder thread, responsible for processing the incoming Opus packets.
*/
void Main(std::stop_token stop_token);
/// Core system
Core::System& system;
@@ -7,16 +7,40 @@
#include <span>
#include <vector>
#include <SDL.h>
#include <SDL3/SDL.h>
#include "audio_core/common/common.h"
#include "audio_core/sink/sdl2_sink.h"
#include "audio_core/sink/sdl3_sink.h"
#include "audio_core/sink/sink_stream.h"
#include "common/logging.h"
#include "common/scope_exit.h"
#include "core/core.h"
namespace AudioCore::Sink {
namespace {
SDL_AudioDeviceID FindAudioDeviceByName(const std::string& device_name, bool capture) {
int device_count = 0;
SDL_AudioDeviceID* devices = capture ? SDL_GetAudioRecordingDevices(&device_count)
: SDL_GetAudioPlaybackDevices(&device_count);
if (devices == nullptr) {
return capture ? SDL_AUDIO_DEVICE_DEFAULT_RECORDING : SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK;
}
SDL_AudioDeviceID selected = capture ? SDL_AUDIO_DEVICE_DEFAULT_RECORDING
: SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK;
for (int i = 0; i < device_count; ++i) {
const char* current_name = SDL_GetAudioDeviceName(devices[i]);
if (current_name != nullptr && device_name == current_name) {
selected = devices[i];
break;
}
}
SDL_free(devices);
return selected;
}
} // Anonymous namespace
/**
* SDL sink stream, responsible for sinking samples to hardware.
*/
@@ -39,13 +63,10 @@ public:
system_channels = system_channels_;
device_channels = device_channels_;
SDL_AudioSpec spec;
SDL_AudioSpec spec{};
spec.freq = TargetSampleRate;
spec.channels = static_cast<u8>(device_channels);
spec.format = AUDIO_S16SYS;
spec.samples = TargetSampleCount * 2;
spec.callback = &SDLSinkStream::DataCallback;
spec.userdata = this;
spec.format = SDL_AUDIO_S16;
std::string device_name{output_device};
bool capture{false};
@@ -54,22 +75,28 @@ public:
capture = true;
}
SDL_AudioSpec obtained;
if (device_name.empty()) {
device = SDL_OpenAudioDevice(nullptr, capture, &spec, &obtained, false);
} else {
device = SDL_OpenAudioDevice(device_name.c_str(), capture, &spec, &obtained, false);
}
const SDL_AudioDeviceID audio_device =
device_name.empty() ? (capture ? SDL_AUDIO_DEVICE_DEFAULT_RECORDING
: SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK)
: FindAudioDeviceByName(device_name, capture);
if (device == 0) {
stream = SDL_OpenAudioDeviceStream(audio_device, &spec, &SDLSinkStream::DataCallback,
this);
if (stream == nullptr) {
LOG_CRITICAL(Audio_Sink, "Error opening SDL audio device: {}", SDL_GetError());
return;
}
SDL_AudioSpec stream_in{};
SDL_AudioSpec stream_out{};
static_cast<void>(SDL_GetAudioStreamFormat(stream, &stream_in, &stream_out));
LOG_INFO(Service_Audio,
"Opening SDL stream {} with: rate {} channels {} (system channels {}) "
" samples {}",
device, obtained.freq, obtained.channels, system_channels, obtained.samples);
" format {}",
static_cast<const void*>(stream), stream_out.freq, stream_out.channels,
system_channels, static_cast<int>(stream_out.format));
}
/**
@@ -84,13 +111,14 @@ public:
* Finalize the sink stream.
*/
void Finalize() override {
if (device == 0) {
if (stream == nullptr) {
return;
}
Stop();
SDL_ClearQueuedAudio(device);
SDL_CloseAudioDevice(device);
SDL_ClearAudioStream(stream);
SDL_DestroyAudioStream(stream);
stream = nullptr;
}
/**
@@ -100,23 +128,23 @@ public:
* Default false.
*/
void Start(bool resume = false) override {
if (device == 0 || !paused) {
if (stream == nullptr || !paused) {
return;
}
paused = false;
SDL_PauseAudioDevice(device, 0);
static_cast<void>(SDL_ResumeAudioStreamDevice(stream));
}
/**
* Stop the sink stream.
*/
void Stop() override {
if (device == 0 || paused) {
if (stream == nullptr || paused) {
return;
}
SignalPause();
SDL_PauseAudioDevice(device, 1);
static_cast<void>(SDL_PauseAudioStreamDevice(stream));
}
private:
@@ -128,7 +156,8 @@ private:
* @param stream - Buffer of samples to be filled or read.
* @param len - Length of the stream in bytes.
*/
static void DataCallback(void* userdata, Uint8* stream, int len) {
static void DataCallback(void* userdata, SDL_AudioStream* stream, int additional_amount,
int total_amount) {
auto* impl = static_cast<SDLSinkStream*>(userdata);
if (!impl) {
@@ -137,25 +166,46 @@ private:
const std::size_t num_channels = impl->GetDeviceChannels();
const std::size_t frame_size = num_channels;
const std::size_t num_frames{len / num_channels / sizeof(s16)};
if (impl->type == StreamType::In) {
std::span<const s16> input_buffer{reinterpret_cast<const s16*>(stream),
num_frames * frame_size};
const int bytes_available = SDL_GetAudioStreamAvailable(stream);
if (bytes_available <= 0) {
return;
}
std::vector<s16> input(bytes_available / static_cast<int>(sizeof(s16)));
const int bytes_read = SDL_GetAudioStreamData(stream, input.data(), bytes_available);
if (bytes_read <= 0) {
return;
}
const std::size_t num_frames =
static_cast<std::size_t>(bytes_read) / sizeof(s16) / frame_size;
std::span<const s16> input_buffer{input.data(),
static_cast<std::size_t>(bytes_read) / sizeof(s16)};
impl->ProcessAudioIn(input_buffer, num_frames);
} else {
std::span<s16> output_buffer{reinterpret_cast<s16*>(stream), num_frames * frame_size};
if (additional_amount <= 0 && total_amount <= 0) {
return;
}
const int bytes_requested = additional_amount > 0 ? additional_amount : total_amount;
std::vector<s16> output(bytes_requested / static_cast<int>(sizeof(s16)));
const std::size_t num_frames =
static_cast<std::size_t>(bytes_requested) / sizeof(s16) / frame_size;
std::span<s16> output_buffer{output.data(), output.size()};
impl->ProcessAudioOutAndRender(output_buffer, num_frames);
static_cast<void>(SDL_PutAudioStreamData(stream, output.data(), bytes_requested));
}
}
/// SDL device id of the opened input/output device
SDL_AudioDeviceID device{};
/// SDL stream attached to an opened input/output device
SDL_AudioStream* stream{};
};
SDLSink::SDLSink(std::string_view target_device_name) {
if (!SDL_WasInit(SDL_INIT_AUDIO)) {
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0) {
if (!SDL_InitSubSystem(SDL_INIT_AUDIO)) {
LOG_CRITICAL(Audio_Sink, "SDL_InitSubSystem audio failed: {}", SDL_GetError());
return;
}
@@ -218,18 +268,26 @@ std::vector<std::string> ListSDLSinkDevices(bool capture) {
std::vector<std::string> device_list;
if (!SDL_WasInit(SDL_INIT_AUDIO)) {
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0) {
if (!SDL_InitSubSystem(SDL_INIT_AUDIO)) {
LOG_CRITICAL(Audio_Sink, "SDL_InitSubSystem audio failed: {}", SDL_GetError());
return {};
}
}
const int device_count = SDL_GetNumAudioDevices(capture);
int device_count = 0;
SDL_AudioDeviceID* devices =
capture ? SDL_GetAudioRecordingDevices(&device_count)
: SDL_GetAudioPlaybackDevices(&device_count);
if (devices == nullptr) {
return device_list;
}
for (int i = 0; i < device_count; ++i) {
if (const char* name = SDL_GetAudioDeviceName(i, capture)) {
if (const char* name = SDL_GetAudioDeviceName(devices[i])) {
device_list.emplace_back(name);
}
}
SDL_free(devices);
return device_list;
}
@@ -242,7 +300,7 @@ u32 GetSDLLatency() {
// REVERTED back to 3833 - Below function IsSDLSuitable() removed, reverting to GetSDLLatency() above. - DIABLO 3 FIX
/*
bool IsSDLSuitable() {
#if !defined(HAVE_SDL2)
#if !defined(HAVE_SDL3)
return false;
#else
// Check SDL can init
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
+6 -6
View File
@@ -16,8 +16,8 @@
#ifdef HAVE_CUBEB
#include "audio_core/sink/cubeb_sink.h"
#endif
#ifdef HAVE_SDL2
#include "audio_core/sink/sdl2_sink.h"
#ifdef HAVE_SDL3
#include "audio_core/sink/sdl3_sink.h"
#endif
#include "audio_core/sink/null_sink.h"
#include "common/logging.h"
@@ -71,9 +71,9 @@ constexpr SinkDetails sink_details[] = {
&GetCubebLatency,
},
#endif
#ifdef HAVE_SDL2
#ifdef HAVE_SDL3
SinkDetails{
Settings::AudioEngine::Sdl2,
Settings::AudioEngine::Sdl3,
[](std::string_view device_id) -> std::unique_ptr<Sink> {
return std::make_unique<SDLSink>(device_id);
},
@@ -115,10 +115,10 @@ const SinkDetails& GetOutputSinkDetails(Settings::AudioEngine sink_id) {
// BEGIN REINTRODUCED FROM 3833 - REPLACED CODE BLOCK ABOVE - DIABLO 3 FIX
// Auto-select a backend. Prefer CubeB, but it may report a large minimum latency which
// causes audio issues, in that case go with SDL.
#if defined(HAVE_CUBEB) && defined(HAVE_SDL2)
#if defined(HAVE_CUBEB) && defined(HAVE_SDL3)
iter = find_backend(Settings::AudioEngine::Cubeb);
if (iter->latency() > TargetSampleCount * 3) {
iter = find_backend(Settings::AudioEngine::Sdl2);
iter = find_backend(Settings::AudioEngine::Sdl3);
}
#else
iter = std::begin(sink_details);
+12 -17
View File
@@ -141,12 +141,12 @@ add_library(
vector_math.h
virtual_buffer.cpp
virtual_buffer.h
wall_clock.cpp
wall_clock.h
zstd_compression.cpp
zstd_compression.h
fs/ryujinx_compat.h fs/ryujinx_compat.cpp
fs/symlink.h fs/symlink.cpp
cpu_features.cpp
cpu_features.h
httplib.h
net/net.h net/net.cpp)
@@ -180,23 +180,13 @@ endif()
if(ARCHITECTURE_x86_64)
target_sources(
common
PRIVATE x64/cpu_detect.cpp
x64/cpu_detect.h
x64/cpu_wait.cpp
x64/cpu_wait.h
x64/native_clock.cpp
x64/native_clock.h
PRIVATE
x64/rdtsc.cpp
x64/rdtsc.h
x64/xbyak_abi.h
x64/xbyak_util.h)
x64/xbyak.h)
target_link_libraries(common PRIVATE xbyak::xbyak)
endif()
if(HAS_NCE)
target_sources(common PRIVATE arm64/native_clock.cpp arm64/native_clock.h)
endif()
if(MSVC)
target_compile_definitions(
common
@@ -241,11 +231,11 @@ if(CXX_CLANG)
endif()
if (BOOST_NO_HEADERS)
target_link_libraries(common PUBLIC Boost::algorithm Boost::icl Boost::pool)
target_link_libraries(common PUBLIC Boost::algorithm Boost::heap Boost::icl Boost::pool)
else()
target_link_libraries(common PUBLIC Boost::headers)
endif()
target_link_libraries(common PRIVATE OpenSSL::SSL)
target_link_libraries(common PUBLIC Boost::filesystem Boost::context httplib::httplib nlohmann_json::nlohmann_json)
if (lz4_ADDED)
@@ -253,7 +243,12 @@ if (lz4_ADDED)
endif()
target_link_libraries(common PUBLIC fmt::fmt stb::headers Threads::Threads unordered_dense::unordered_dense)
target_link_libraries(common PRIVATE lz4::lz4 LLVM::Demangle zstd::zstd)
target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd)
# Please refer to src/common/demangle.cpp
if (WIN32)
target_link_libraries(common PRIVATE LLVM::Demangle)
endif()
if(ANDROID)
# For ASharedMemory_create
-87
View File
@@ -1,87 +0,0 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#ifdef ANDROID
#include <sys/system_properties.h>
#endif
#include "common/arm64/native_clock.h"
namespace Common::Arm64 {
namespace {
NativeClock::FactorType GetFixedPointFactor(u64 num, u64 den) {
return (static_cast<NativeClock::FactorType>(num) << 64) / den;
}
u64 MultiplyHigh(u64 m, NativeClock::FactorType factor) {
return static_cast<u64>((m * factor) >> 64);
}
} // namespace
NativeClock::NativeClock() {
const u64 host_cntfrq = GetHostCNTFRQ();
ns_cntfrq_factor = GetFixedPointFactor(NsRatio::den, host_cntfrq);
us_cntfrq_factor = GetFixedPointFactor(UsRatio::den, host_cntfrq);
ms_cntfrq_factor = GetFixedPointFactor(MsRatio::den, host_cntfrq);
guest_cntfrq_factor = GetFixedPointFactor(CNTFRQ, host_cntfrq);
gputick_cntfrq_factor = GetFixedPointFactor(GPUTickFreq, host_cntfrq);
}
std::chrono::nanoseconds NativeClock::GetTimeNS() const {
return std::chrono::nanoseconds{MultiplyHigh(GetUptime(), ns_cntfrq_factor)};
}
std::chrono::microseconds NativeClock::GetTimeUS() const {
return std::chrono::microseconds{MultiplyHigh(GetUptime(), us_cntfrq_factor)};
}
std::chrono::milliseconds NativeClock::GetTimeMS() const {
return std::chrono::milliseconds{MultiplyHigh(GetUptime(), ms_cntfrq_factor)};
}
s64 NativeClock::GetCNTPCT() const {
return MultiplyHigh(GetUptime(), guest_cntfrq_factor);
}
s64 NativeClock::GetGPUTick() const {
return MultiplyHigh(GetUptime(), gputick_cntfrq_factor);
}
s64 NativeClock::GetUptime() const {
s64 cntvct_el0 = 0;
asm volatile("dsb ish\n\t"
"mrs %[cntvct_el0], cntvct_el0\n\t"
"dsb ish\n\t"
: [cntvct_el0] "=r"(cntvct_el0));
return cntvct_el0;
}
bool NativeClock::IsNative() const {
return true;
}
s64 NativeClock::GetHostCNTFRQ() {
u64 cntfrq_el0 = 0;
std::string_view board{""};
#ifdef ANDROID
char buffer[PROP_VALUE_MAX];
int len{__system_property_get("ro.product.board", buffer)};
board = std::string_view(buffer, static_cast<size_t>(len));
#endif
if (board == "s5e9925") { // Exynos 2200
cntfrq_el0 = 25600000;
} else if (board == "exynos2100") { // Exynos 2100
cntfrq_el0 = 26000000;
} else if (board == "exynos9810") { // Exynos 9810
cntfrq_el0 = 26000000;
} else if (board == "s5e8825") { // Exynos 1280
cntfrq_el0 = 26000000;
} else {
asm("mrs %[cntfrq_el0], cntfrq_el0" : [cntfrq_el0] "=r"(cntfrq_el0));
}
return cntfrq_el0;
}
} // namespace Common::Arm64
-45
View File
@@ -1,45 +0,0 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "common/wall_clock.h"
namespace Common::Arm64 {
class NativeClock final : public WallClock {
public:
explicit NativeClock();
std::chrono::nanoseconds GetTimeNS() const override;
std::chrono::microseconds GetTimeUS() const override;
std::chrono::milliseconds GetTimeMS() const override;
s64 GetCNTPCT() const override;
s64 GetGPUTick() const override;
s64 GetUptime() const override;
bool IsNative() const override;
static s64 GetHostCNTFRQ();
public:
using FactorType = unsigned __int128;
FactorType GetGuestCNTFRQFactor() const {
return guest_cntfrq_factor;
}
private:
FactorType ns_cntfrq_factor;
FactorType us_cntfrq_factor;
FactorType ms_cntfrq_factor;
FactorType guest_cntfrq_factor;
FactorType gputick_cntfrq_factor;
};
} // namespace Common::Arm64
@@ -10,34 +10,32 @@
#include <fstream>
#include <iterator>
#include <optional>
#include <algorithm>
#include <string_view>
#include <thread>
#include <vector>
#include "common/bit_util.h"
#include "common/common_types.h"
#include "common/logging.h"
#include "common/x64/cpu_detect.h"
#include "common/x64/rdtsc.h"
#ifdef _WIN32
#include <windows.h>
#endif
#ifdef _MSC_VER
#include <intrin.h>
static inline u64 xgetbv(u32 index) {
return _xgetbv(index);
}
#else
#if defined(__DragonFly__) || defined(__FreeBSD__)
// clang-format off
#elif defined(__DragonFly__) || defined(__FreeBSD__)
#include <sys/types.h>
#include <machine/cpufunc.h>
// clang-format on
#elif defined(__ANDROID__)
#include <sys/system_properties.h>
#endif
#include "common/steady_clock.h"
#include "common/uint128.h"
#include "common/bit_util.h"
#include "common/common_types.h"
#include "common/cpu_features.h"
#include "common/logging.h"
#ifdef ARCHITECTURE_x86_64
#include "common/x64/rdtsc.h"
#ifdef _MSC_VER
#include <intrin.h>
static inline u64 xgetbv(u32 index) { return _xgetbv(index); }
#else
static inline void __cpuidex(int info[4], u32 function_id, u32 subfunction_id) {
#if defined(__DragonFly__) || defined(__FreeBSD__)
// Despite the name, this is just do_cpuid() with ECX as second input.
@@ -50,11 +48,7 @@ static inline void __cpuidex(int info[4], u32 function_id, u32 subfunction_id) {
: "a"(function_id), "c"(subfunction_id));
#endif
}
static inline void __cpuid(int info[4], u32 function_id) {
return __cpuidex(info, function_id, 0);
}
static inline void __cpuid(int info[4], u32 function_id) { return __cpuidex(info, function_id, 0); }
#define _XCR_XFEATURE_ENABLED_MASK 0
static inline u64 xgetbv(u32 index) {
u32 eax, edx;
@@ -62,9 +56,10 @@ static inline u64 xgetbv(u32 index) {
return ((u64)edx << 32) | eax;
}
#endif // _MSC_VER
#endif
namespace Common {
#ifdef ARCHITECTURE_x86_64
CPUCaps::Manufacturer CPUCaps::ParseManufacturer(std::string_view brand_string) {
if (brand_string == "GenuineIntel") {
return Manufacturer::Intel;
@@ -76,142 +71,6 @@ CPUCaps::Manufacturer CPUCaps::ParseManufacturer(std::string_view brand_string)
return Manufacturer::Unknown;
}
// Detects the various CPU features
static CPUCaps Detect() {
CPUCaps caps = {};
// Assumes the CPU supports the CPUID instruction. Those that don't would likely not support
// yuzu at all anyway
int cpu_id[4];
// Detect CPU's CPUID capabilities and grab manufacturer string
__cpuid(cpu_id, 0x00000000);
const u32 max_std_fn = cpu_id[0]; // EAX
std::memset(caps.brand_string, 0, std::size(caps.brand_string));
std::memcpy(&caps.brand_string[0], &cpu_id[1], sizeof(u32));
std::memcpy(&caps.brand_string[4], &cpu_id[3], sizeof(u32));
std::memcpy(&caps.brand_string[8], &cpu_id[2], sizeof(u32));
caps.manufacturer = CPUCaps::ParseManufacturer(caps.brand_string);
// Set reasonable default cpu string even if brand string not available
std::strncpy(caps.cpu_string, caps.brand_string, std::size(caps.brand_string));
__cpuid(cpu_id, 0x80000000);
const u32 max_ex_fn = cpu_id[0];
// Detect family and other miscellaneous features
if (max_std_fn >= 1) {
__cpuid(cpu_id, 0x00000001);
caps.sse = Common::Bit<25>(cpu_id[3]);
caps.sse2 = Common::Bit<26>(cpu_id[3]);
caps.sse3 = Common::Bit<0>(cpu_id[2]);
caps.pclmulqdq = Common::Bit<1>(cpu_id[2]);
caps.ssse3 = Common::Bit<9>(cpu_id[2]);
caps.sse4_1 = Common::Bit<19>(cpu_id[2]);
caps.sse4_2 = Common::Bit<20>(cpu_id[2]);
caps.movbe = Common::Bit<22>(cpu_id[2]);
caps.popcnt = Common::Bit<23>(cpu_id[2]);
caps.aes = Common::Bit<25>(cpu_id[2]);
caps.f16c = Common::Bit<29>(cpu_id[2]);
// AVX support requires 3 separate checks:
// - Is the AVX bit set in CPUID?
// - Is the XSAVE bit set in CPUID?
// - XGETBV result has the XCR bit set.
if (Common::Bit<28>(cpu_id[2]) && Common::Bit<27>(cpu_id[2])) {
if ((xgetbv(_XCR_XFEATURE_ENABLED_MASK) & 0x6) == 0x6) {
caps.avx = true;
if (Common::Bit<12>(cpu_id[2]))
caps.fma = true;
}
}
if (max_std_fn >= 7) {
__cpuidex(cpu_id, 0x00000007, 0x00000000);
// Can't enable AVX{2,512} unless the XSAVE/XGETBV checks above passed
if (caps.avx) {
caps.avx2 = Common::Bit<5>(cpu_id[1]);
caps.avx512f = Common::Bit<16>(cpu_id[1]);
caps.avx512dq = Common::Bit<17>(cpu_id[1]);
caps.avx512cd = Common::Bit<28>(cpu_id[1]);
caps.avx512bw = Common::Bit<30>(cpu_id[1]);
caps.avx512vl = Common::Bit<31>(cpu_id[1]);
caps.avx512vbmi = Common::Bit<1>(cpu_id[2]);
caps.avx512bitalg = Common::Bit<12>(cpu_id[2]);
}
caps.bmi1 = Common::Bit<3>(cpu_id[1]);
caps.bmi2 = Common::Bit<8>(cpu_id[1]);
caps.sha = Common::Bit<29>(cpu_id[1]);
caps.waitpkg = Common::Bit<5>(cpu_id[2]);
caps.gfni = Common::Bit<8>(cpu_id[2]);
__cpuidex(cpu_id, 0x00000007, 0x00000001);
caps.avx_vnni = caps.avx && Common::Bit<4>(cpu_id[0]);
}
}
if (max_ex_fn >= 0x80000004) {
// Extract CPU model string
__cpuid(cpu_id, 0x80000002);
std::memcpy(caps.cpu_string, cpu_id, sizeof(cpu_id));
__cpuid(cpu_id, 0x80000003);
std::memcpy(caps.cpu_string + 16, cpu_id, sizeof(cpu_id));
__cpuid(cpu_id, 0x80000004);
std::memcpy(caps.cpu_string + 32, cpu_id, sizeof(cpu_id));
}
if (max_ex_fn >= 0x80000001) {
// Check for more features
__cpuid(cpu_id, 0x80000001);
caps.lzcnt = Common::Bit<5>(cpu_id[2]);
caps.fma4 = Common::Bit<16>(cpu_id[2]);
caps.monitorx = Common::Bit<29>(cpu_id[2]);
}
if (max_ex_fn >= 0x80000007) {
__cpuid(cpu_id, 0x80000007);
caps.invariant_tsc = Common::Bit<8>(cpu_id[3]);
}
if (max_std_fn >= 0x15) {
__cpuid(cpu_id, 0x15);
caps.tsc_crystal_ratio_denominator = cpu_id[0];
caps.tsc_crystal_ratio_numerator = cpu_id[1];
caps.crystal_frequency = cpu_id[2];
// Some CPU models might not return a crystal frequency.
// The CPU model can be detected to use the values from turbostat
// https://github.com/torvalds/linux/blob/master/tools/power/x86/turbostat/turbostat.c#L5569
// but it's easier to just estimate the TSC tick rate for these cases.
if (caps.tsc_crystal_ratio_denominator) {
caps.tsc_frequency = static_cast<u64>(caps.crystal_frequency) *
caps.tsc_crystal_ratio_numerator /
caps.tsc_crystal_ratio_denominator;
} else {
caps.tsc_frequency = X64::EstimateRDTSCFrequency();
}
}
if (max_std_fn >= 0x16) {
__cpuid(cpu_id, 0x16);
caps.base_frequency = cpu_id[0];
caps.max_frequency = cpu_id[1];
caps.bus_frequency = cpu_id[2];
}
return caps;
}
const CPUCaps& GetCPUCaps() {
static CPUCaps caps = Detect();
return caps;
}
std::optional<int> GetProcessorCount() {
#if defined(_WIN32)
// Get the buffer length.
@@ -253,4 +112,315 @@ std::optional<int> GetProcessorCount() {
#endif
}
/// @brief Detects the various CPU features
const CPUCaps g_cpu_caps = [] {
CPUCaps caps = {};
// Assumes the CPU supports the CPUID instruction. Those that don't would likely not support
// yuzu at all anyway
int cpu_id[4];
// Detect CPU's CPUID capabilities and grab manufacturer string
__cpuid(cpu_id, 0x00000000);
const u32 max_std_fn = cpu_id[0]; // EAX
std::memset(caps.brand_string, 0, std::size(caps.brand_string));
std::memcpy(&caps.brand_string[0], &cpu_id[1], sizeof(u32));
std::memcpy(&caps.brand_string[4], &cpu_id[3], sizeof(u32));
std::memcpy(&caps.brand_string[8], &cpu_id[2], sizeof(u32));
caps.manufacturer = CPUCaps::ParseManufacturer(caps.brand_string);
// Set reasonable default cpu string even if brand string not available
std::strncpy(caps.cpu_string, caps.brand_string, std::size(caps.brand_string));
__cpuid(cpu_id, 0x80000000);
const u32 max_ex_fn = cpu_id[0];
// Detect family and other miscellaneous features
if (max_std_fn >= 1) {
__cpuid(cpu_id, 0x00000001);
caps.sse3 = Common::Bit<0>(cpu_id[2]);
caps.pclmulqdq = Common::Bit<1>(cpu_id[2]);
caps.ssse3 = Common::Bit<9>(cpu_id[2]);
caps.sse4_1 = Common::Bit<19>(cpu_id[2]);
caps.sse4_2 = Common::Bit<20>(cpu_id[2]);
caps.movbe = Common::Bit<22>(cpu_id[2]);
caps.popcnt = Common::Bit<23>(cpu_id[2]);
caps.aes = Common::Bit<25>(cpu_id[2]);
caps.f16c = Common::Bit<29>(cpu_id[2]);
// AVX support requires 3 separate checks:
// - Is the AVX bit set in CPUID?
// - Is the XSAVE bit set in CPUID?
// - XGETBV result has the XCR bit set.
if (Common::Bit<28>(cpu_id[2]) && Common::Bit<27>(cpu_id[2])) {
if ((xgetbv(_XCR_XFEATURE_ENABLED_MASK) & 0x6) == 0x6) {
caps.avx = true;
if (Common::Bit<12>(cpu_id[2]))
caps.fma = true;
}
}
if (max_std_fn >= 7) {
__cpuidex(cpu_id, 0x00000007, 0x00000000);
// Can't enable AVX{2,512} unless the XSAVE/XGETBV checks above passed
if (caps.avx) {
caps.avx2 = Common::Bit<5>(cpu_id[1]);
caps.avx512f = Common::Bit<16>(cpu_id[1]);
caps.avx512dq = Common::Bit<17>(cpu_id[1]);
caps.avx512cd = Common::Bit<28>(cpu_id[1]);
caps.avx512bw = Common::Bit<30>(cpu_id[1]);
caps.avx512vl = Common::Bit<31>(cpu_id[1]);
caps.avx512vbmi = Common::Bit<1>(cpu_id[2]);
caps.avx512bitalg = Common::Bit<12>(cpu_id[2]);
}
caps.bmi1 = Common::Bit<3>(cpu_id[1]);
caps.bmi2 = Common::Bit<8>(cpu_id[1]);
caps.sha = Common::Bit<29>(cpu_id[1]);
caps.waitpkg = Common::Bit<5>(cpu_id[2]);
caps.gfni = Common::Bit<8>(cpu_id[2]);
}
}
if (max_ex_fn >= 0x80000004) {
// Extract CPU model string
__cpuid(cpu_id, 0x80000002);
std::memcpy(caps.cpu_string, cpu_id, sizeof(cpu_id));
__cpuid(cpu_id, 0x80000003);
std::memcpy(caps.cpu_string + 16, cpu_id, sizeof(cpu_id));
__cpuid(cpu_id, 0x80000004);
std::memcpy(caps.cpu_string + 32, cpu_id, sizeof(cpu_id));
}
if (max_ex_fn >= 0x80000001) {
// Check for more features
__cpuid(cpu_id, 0x80000001);
caps.lzcnt = Common::Bit<5>(cpu_id[2]);
caps.monitorx = Common::Bit<29>(cpu_id[2]);
}
if (max_ex_fn >= 0x80000007) {
__cpuid(cpu_id, 0x80000007);
caps.invariant_tsc = Common::Bit<8>(cpu_id[3]);
}
if (max_std_fn >= 0x15) {
__cpuid(cpu_id, 0x15);
caps.tsc_crystal_ratio_denominator = cpu_id[0];
caps.tsc_crystal_ratio_numerator = cpu_id[1];
caps.crystal_frequency = cpu_id[2];
// Some CPU models might not return a crystal frequency.
// The CPU model can be detected to use the values from turbostat
// https://github.com/torvalds/linux/blob/master/tools/power/x86/turbostat/turbostat.c#L5569
// but it's easier to just estimate the TSC tick rate for these cases.
if (caps.tsc_crystal_ratio_denominator) {
caps.tsc_frequency = u64(caps.crystal_frequency)
* caps.tsc_crystal_ratio_numerator / caps.tsc_crystal_ratio_denominator;
} else {
caps.tsc_frequency = X64::EstimateRDTSCFrequency();
}
}
if (max_std_fn >= 0x16) {
__cpuid(cpu_id, 0x16);
caps.base_frequency = cpu_id[0];
caps.max_frequency = cpu_id[1];
caps.bus_frequency = cpu_id[2];
}
return caps;
}();
#else
#endif
#if defined(ARCHITECTURE_x86_64)
WallClock::WallClock(bool invariant_, u64 rdtsc_frequency_) noexcept
: rdtsc_frequency{rdtsc_frequency_}
, ns_rdtsc_factor{invariant_ ? GetFixedPoint64Factor(NsRatio::den, rdtsc_frequency_) : 0}
, us_rdtsc_factor{invariant_ ? GetFixedPoint64Factor(UsRatio::den, rdtsc_frequency_) : 0}
, ms_rdtsc_factor{invariant_ ? GetFixedPoint64Factor(MsRatio::den, rdtsc_frequency_) : 0}
, rdtsc_ns_factor{invariant_ ? GetFixedPoint64Factor(rdtsc_frequency_, NsRatio::den) : 1}
, cntpct_rdtsc_factor{invariant_ ? GetFixedPoint64Factor(CNTFRQ, rdtsc_frequency_) : 0}
, gputick_rdtsc_factor{invariant_ ? GetFixedPoint64Factor(GPUTickFreq, rdtsc_frequency_) : 0}
, invariant{invariant_}
{}
std::chrono::nanoseconds WallClock::GetTimeNS() const {
if (!invariant)
return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now().time_since_epoch());
return std::chrono::nanoseconds{MultiplyHigh(GetUptime(), ns_rdtsc_factor)};
}
std::chrono::microseconds WallClock::GetTimeUS() const {
if (!invariant)
return std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now().time_since_epoch());
return std::chrono::microseconds{MultiplyHigh(GetUptime(), us_rdtsc_factor)};
}
std::chrono::milliseconds WallClock::GetTimeMS() const {
if (!invariant)
return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now().time_since_epoch());
return std::chrono::milliseconds{MultiplyHigh(GetUptime(), ms_rdtsc_factor)};
}
s64 WallClock::GetCNTPCT() const {
if (!invariant)
return GetUptime() * NsToCNTPCTRatio::num / NsToCNTPCTRatio::den;
return MultiplyHigh(GetUptime(), cntpct_rdtsc_factor);
}
s64 WallClock::GetGPUTick() const {
if (!invariant)
return GetUptime() * NsToGPUTickRatio::num / NsToGPUTickRatio::den;
return MultiplyHigh(GetUptime(), gputick_rdtsc_factor);
}
s64 WallClock::GetUptime() const {
if (!invariant)
return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
return s64(Common::X64::FencedRDTSC());
}
bool WallClock::IsNative() const {
return invariant;
}
u64 WallClock::NsToTicks(std::chrono::nanoseconds ns) const {
return invariant ? MultiplyHigh(ns.count(), rdtsc_ns_factor) : ns.count();
}
#elif defined(HAS_NCE)
namespace {
[[nodiscard]] Common::WallClock::FactorType GetFixedPointFactor(u64 num, u64 den) noexcept {
return (Common::WallClock::FactorType(num) << 64) / den;
}
[[nodiscard]] u64 MultiplyHigh(u64 m, Common::WallClock::FactorType factor) noexcept {
return static_cast<u64>((m * factor) >> 64);
}
[[nodiscard]] s64 GetHostCNTFRQ() noexcept {
u64 cntfrq_el0 = 0;
#ifdef __ANDROID__
std::string_view board{""};
char buffer[PROP_VALUE_MAX];
int len{__system_property_get("ro.product.board", buffer)};
board = std::string_view(buffer, static_cast<size_t>(len));
if (board == "s5e9925") { // Exynos 2200
cntfrq_el0 = 25600000;
} else if (board == "exynos2100") { // Exynos 2100
cntfrq_el0 = 26000000;
} else if (board == "exynos9810") { // Exynos 9810
cntfrq_el0 = 26000000;
} else if (board == "s5e8825") { // Exynos 1280
cntfrq_el0 = 26000000;
} else {
asm volatile("mrs %[cntfrq_el0], cntfrq_el0" : [cntfrq_el0] "=r"(cntfrq_el0));
}
return cntfrq_el0;
#else
asm volatile("mrs %[cntfrq_el0], cntfrq_el0" : [cntfrq_el0] "=r"(cntfrq_el0));
return cntfrq_el0;
#endif
}
} // namespace
WallClock::WallClock(bool invariant_, u64 rdtsc_frequency_) noexcept {
const u64 host_cntfrq = std::max<u64>(GetHostCNTFRQ(), 1);
ns_cntfrq_factor = GetFixedPointFactor(NsRatio::den, host_cntfrq);
us_cntfrq_factor = GetFixedPointFactor(UsRatio::den, host_cntfrq);
ms_cntfrq_factor = GetFixedPointFactor(MsRatio::den, host_cntfrq);
cntfrq_ns_factor = GetFixedPointFactor(host_cntfrq, NsRatio::den);
guest_cntfrq_factor = GetFixedPointFactor(CNTFRQ, host_cntfrq);
gputick_cntfrq_factor = GetFixedPointFactor(GPUTickFreq, host_cntfrq);
}
std::chrono::nanoseconds WallClock::GetTimeNS() const {
return std::chrono::nanoseconds{MultiplyHigh(GetUptime(), ns_cntfrq_factor)};
}
std::chrono::microseconds WallClock::GetTimeUS() const {
return std::chrono::microseconds{MultiplyHigh(GetUptime(), us_cntfrq_factor)};
}
std::chrono::milliseconds WallClock::GetTimeMS() const {
return std::chrono::milliseconds{MultiplyHigh(GetUptime(), ms_cntfrq_factor)};
}
s64 WallClock::GetCNTPCT() const {
return MultiplyHigh(GetUptime(), guest_cntfrq_factor);
}
s64 WallClock::GetGPUTick() const {
return MultiplyHigh(GetUptime(), gputick_cntfrq_factor);
}
s64 WallClock::GetUptime() const {
s64 cntvct_el0 = 0;
asm volatile(
"dsb ish\n\t"
"mrs %[cntvct_el0], cntvct_el0\n\t"
"dsb ish\n\t"
: [cntvct_el0] "=r"(cntvct_el0)
);
return cntvct_el0;
}
bool WallClock::IsNative() const {
return true;
}
u64 WallClock::NsToTicks(std::chrono::nanoseconds ns) const {
return MultiplyHigh(ns.count(), cntfrq_ns_factor);
}
#else
WallClock::WallClock(bool invariant_, u64 rdtsc_frequency_) noexcept {}
std::chrono::nanoseconds WallClock::GetTimeNS() const {
return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now().time_since_epoch());
}
std::chrono::microseconds WallClock::GetTimeUS() const {
return std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now().time_since_epoch());
}
std::chrono::milliseconds WallClock::GetTimeMS() const {
return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now().time_since_epoch());
}
s64 WallClock::GetCNTPCT() const {
return GetUptime() * NsToCNTPCTRatio::num / NsToCNTPCTRatio::den;
}
s64 WallClock::GetGPUTick() const {
return GetUptime() * NsToGPUTickRatio::num / NsToGPUTickRatio::den;
}
s64 WallClock::GetUptime() const {
return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
}
bool WallClock::IsNative() const {
return false;
}
u64 WallClock::NsToTicks(std::chrono::nanoseconds ns) const {
return ns.count();
}
#endif
// Wall clock MUST be initialized AFTER g_cpu_caps
// C++ only guarantees ctor init in the order they appear in TU
const WallClock g_wall_clock = [] {
#if defined(ARCHITECTURE_x86_64)
auto const& caps = Common::g_cpu_caps;
return WallClock(caps.invariant_tsc && caps.tsc_frequency >= std::nano::den, caps.tsc_frequency);
#elif defined(HAS_NCE)
return WallClock(false, 1);
#else
return WallClock(true, 1);
#endif
}();
} // namespace Common
+187
View File
@@ -0,0 +1,187 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-FileCopyrightText: Copyright 2013 Dolphin Emulator Project / 2015 Citra Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <optional>
#include <string_view>
#include <chrono>
#include <memory>
#include <ratio>
#include "common/common_types.h"
namespace Common {
class WallClock {
public:
static constexpr u64 CNTFRQ = 19'200'000; // CNTPCT_EL0 Frequency = 19.2 MHz
static constexpr u64 GPUTickFreq = 614'400'000; // GM20B GPU Tick Frequency = 614.4 MHz
static constexpr u64 CPUTickFreq = 1'020'000'000; // T210/4 A57 CPU Tick Frequency = 1020.0 MHz
explicit WallClock(bool invariant, u64 rdtsc_frequency_) noexcept;
/// @returns The time in nanoseconds since the construction of this clock.
std::chrono::nanoseconds GetTimeNS() const;
/// @returns The time in microseconds since the construction of this clock.
std::chrono::microseconds GetTimeUS() const;
/// @returns The time in milliseconds since the construction of this clock.
std::chrono::milliseconds GetTimeMS() const;
/// @returns The guest CNTPCT ticks since the construction of this clock.
s64 GetCNTPCT() const;
/// @returns The guest GPU ticks since the construction of this clock.
s64 GetGPUTick() const;
/// @returns The raw host timer ticks since an indeterminate epoch.
s64 GetUptime() const;
/// @returns Whether the clock directly uses the host's hardware clock.
bool IsNative() const;
// @returns Nanoseconds to native ticks
u64 NsToTicks(std::chrono::nanoseconds ns) const;
static inline u64 NSToCNTPCT(u64 ns) {
return ns * NsToCNTPCTRatio::num / NsToCNTPCTRatio::den;
}
static inline u64 NSToGPUTick(u64 ns) {
return ns * NsToGPUTickRatio::num / NsToGPUTickRatio::den;
}
// Cycle Timing
static inline u64 CPUTickToNS(u64 cpu_tick) {
return cpu_tick * CPUTickToNsRatio::num / CPUTickToNsRatio::den;
}
static inline u64 CPUTickToUS(u64 cpu_tick) {
return cpu_tick * CPUTickToUsRatio::num / CPUTickToUsRatio::den;
}
static inline u64 CPUTickToCNTPCT(u64 cpu_tick) {
return cpu_tick * CPUTickToCNTPCTRatio::num / CPUTickToCNTPCTRatio::den;
}
static inline u64 CPUTickToGPUTick(u64 cpu_tick) {
return cpu_tick * CPUTickToGPUTickRatio::num / CPUTickToGPUTickRatio::den;
}
using NsRatio = std::nano;
using UsRatio = std::micro;
using MsRatio = std::milli;
using NsToUsRatio = std::ratio_divide<std::nano, std::micro>;
using NsToMsRatio = std::ratio_divide<std::nano, std::milli>;
using NsToCNTPCTRatio = std::ratio<CNTFRQ, std::nano::den>;
using NsToGPUTickRatio = std::ratio<GPUTickFreq, std::nano::den>;
// Cycle Timing
using CPUTickToNsRatio = std::ratio<std::nano::den, CPUTickFreq>;
using CPUTickToUsRatio = std::ratio<std::micro::den, CPUTickFreq>;
using CPUTickToCNTPCTRatio = std::ratio<CNTFRQ, CPUTickFreq>;
using CPUTickToGPUTickRatio = std::ratio<GPUTickFreq, CPUTickFreq>;
#if defined(ARCHITECTURE_x86_64)
u64 rdtsc_frequency;
u64 ns_rdtsc_factor;
u64 us_rdtsc_factor;
u64 ms_rdtsc_factor;
u64 rdtsc_ns_factor;
u64 cntpct_rdtsc_factor;
u64 gputick_rdtsc_factor;
bool invariant;
#elif defined(HAS_NCE)
using FactorType = unsigned __int128;
[[nodiscard]] inline FactorType GetGuestCNTFRQFactor() const {
return guest_cntfrq_factor;
}
FactorType ns_cntfrq_factor;
FactorType us_cntfrq_factor;
FactorType ms_cntfrq_factor;
FactorType cntfrq_ns_factor;
FactorType guest_cntfrq_factor;
FactorType gputick_cntfrq_factor;
#endif
};
#ifdef ARCHITECTURE_x86_64
/// x86/x64 CPU capabilities that may be detected by this module
struct CPUCaps {
enum class Manufacturer : u8 {
Unknown = 0,
Intel = 1,
AMD = 2,
Hygon = 3,
};
static Manufacturer ParseManufacturer(std::string_view brand_string);
Manufacturer manufacturer;
char brand_string[13];
char cpu_string[48];
u32 base_frequency;
u32 max_frequency;
u32 bus_frequency;
u32 tsc_crystal_ratio_denominator;
u32 tsc_crystal_ratio_numerator;
u32 crystal_frequency;
u64 tsc_frequency; // Derived from the above three values
bool sse3 : 1;
bool ssse3 : 1;
bool sse4_1 : 1;
bool sse4_2 : 1;
bool avx : 1;
bool avx2 : 1;
bool avx512f : 1;
bool avx512dq : 1;
bool avx512cd : 1;
bool avx512bw : 1;
bool avx512vl : 1;
bool avx512vbmi : 1;
bool avx512bitalg : 1;
bool aes : 1;
bool bmi1 : 1;
bool bmi2 : 1;
bool f16c : 1;
bool fma : 1;
bool gfni : 1;
bool invariant_tsc : 1;
bool lzcnt : 1;
bool monitorx : 1;
bool movbe : 1;
bool pclmulqdq : 1;
bool popcnt : 1;
bool sha : 1;
bool waitpkg : 1;
};
#else
struct CPUCaps {
bool padding;
};
#endif
/// Detects CPU core count
std::optional<int> GetProcessorCount();
/// @brief Global cpu caps
extern const CPUCaps g_cpu_caps;
/// @brief Global wall clock
extern const WallClock g_wall_clock;
} // namespace Common
+28 -14
View File
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -6,30 +6,44 @@
#include <string>
#include <string_view>
#ifdef _WIN32
#include <llvm/Demangle/Demangle.h>
#else
#include <cxxabi.h>
#endif
#include "common/demangle.h"
#include "common/scope_exit.h"
static bool IsItanium(std::string_view name) {
// A valid Itanium encoding requires 1-4 leading underscores, followed by 'Z'.
auto const pos = name.find_first_not_of('_');
return pos > 0 && pos <= 4 && pos < name.size() && name[pos] == 'Z';
}
namespace Common {
std::string DemangleSymbol(const std::string& mangled) {
if (mangled.size() > 0) {
auto const is_itanium = [](std::string_view name) -> bool {
// A valid Itanium encoding requires 1-4 leading underscores, followed by 'Z'.
auto const pos = name.find_first_not_of('_');
return pos > 0 && pos <= 4 && pos < name.size() && name[pos] == 'Z';
};
std::string ret = mangled;
if (is_itanium(mangled)) {
if (IsItanium(mangled)) {
#ifdef _WIN32
// requires the use of llvm
if (char* p = llvm::itaniumDemangle(mangled); p != nullptr) {
ret = std::string{p};
std::string ret = std::string{p};
std::free(p);
return ret;
}
#else
// can safely use libc++ and glibcxx provided demangling functions
// it's available since 2008(!) so no system should have issues with it
// see https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/a01696.html
int status;
if (char* p = abi::__cxa_demangle(mangled.c_str(), NULL, NULL, &status); p != nullptr) {
std::string ret = std::string{p};
std::free(p);
return ret;
}
#endif
}
return ret;
return mangled;
}
return std::string{};
}
} // namespace Common

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