From 1a676ee913ee98917ec384481c8f6666835f942f Mon Sep 17 00:00:00 2001
From: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
Date: Tue, 14 May 2024 09:59:28 -0400
Subject: [PATCH 01/15] Update DotSettings (#6535)
---
Ryujinx.sln.DotSettings | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Ryujinx.sln.DotSettings b/Ryujinx.sln.DotSettings
index 049bdaf69..ed7f3e911 100644
--- a/Ryujinx.sln.DotSettings
+++ b/Ryujinx.sln.DotSettings
@@ -4,6 +4,8 @@
UseExplicitType
UseExplicitType
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="I" Suffix="" Style="AaBb" /></Policy>
+ <Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Types and namespaces"><ElementKinds><Kind Name="NAMESPACE" /><Kind Name="CLASS" /><Kind Name="STRUCT" /><Kind Name="ENUM" /><Kind Name="DELEGATE" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="I" Suffix="" Style="AaBb" /></Policy></Policy>
+ True
True
True
True
From 6e40b645547f6453fb5e0bee98d2fa6330e747c7 Mon Sep 17 00:00:00 2001
From: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
Date: Tue, 14 May 2024 16:06:40 +0200
Subject: [PATCH 02/15] Add linux specific files to local builds (#6762)
---
src/Ryujinx.Gtk3/Ryujinx.Gtk3.csproj | 2 +-
src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj | 2 +-
src/Ryujinx/Ryujinx.csproj | 5 +++--
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/Ryujinx.Gtk3/Ryujinx.Gtk3.csproj b/src/Ryujinx.Gtk3/Ryujinx.Gtk3.csproj
index 68bf98981..b4453f9d7 100644
--- a/src/Ryujinx.Gtk3/Ryujinx.Gtk3.csproj
+++ b/src/Ryujinx.Gtk3/Ryujinx.Gtk3.csproj
@@ -63,7 +63,7 @@
-
+
Always
diff --git a/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj b/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj
index cc5a36518..610229544 100644
--- a/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj
+++ b/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj
@@ -48,7 +48,7 @@
-
+
Always
diff --git a/src/Ryujinx/Ryujinx.csproj b/src/Ryujinx/Ryujinx.csproj
index 38453f2c6..a43f50063 100644
--- a/src/Ryujinx/Ryujinx.csproj
+++ b/src/Ryujinx/Ryujinx.csproj
@@ -70,7 +70,8 @@
-
+
@@ -88,7 +89,7 @@
-
+
Always
From e9edf0ab7fa9c64347c3e53e0d9d862756b1627f Mon Sep 17 00:00:00 2001
From: Luke Warner <65521430+LukeWarnut@users.noreply.github.com>
Date: Tue, 14 May 2024 10:19:43 -0400
Subject: [PATCH 03/15] Update outdated Windows version warning (#6481)
* Change text
* clarify version number
* update gtk
---
src/Ryujinx.Gtk3/Program.cs | 2 +-
src/Ryujinx/Program.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Ryujinx.Gtk3/Program.cs b/src/Ryujinx.Gtk3/Program.cs
index 1845c512e..f69934313 100644
--- a/src/Ryujinx.Gtk3/Program.cs
+++ b/src/Ryujinx.Gtk3/Program.cs
@@ -75,7 +75,7 @@ namespace Ryujinx
if (OperatingSystem.IsWindows() && !OperatingSystem.IsWindowsVersionAtLeast(10, 0, 17134))
{
- MessageBoxA(IntPtr.Zero, "You are running an outdated version of Windows.\n\nStarting on June 1st 2022, Ryujinx will only support Windows 10 1803 and newer.\n", $"Ryujinx {Version}", MbIconWarning);
+ MessageBoxA(IntPtr.Zero, "You are running an outdated version of Windows.\n\nRyujinx supports Windows 10 version 1803 and newer.\n", $"Ryujinx {Version}", MbIconWarning);
}
// Parse arguments
diff --git a/src/Ryujinx/Program.cs b/src/Ryujinx/Program.cs
index 89e895e81..f925ce154 100644
--- a/src/Ryujinx/Program.cs
+++ b/src/Ryujinx/Program.cs
@@ -40,7 +40,7 @@ namespace Ryujinx.Ava
if (OperatingSystem.IsWindows() && !OperatingSystem.IsWindowsVersionAtLeast(10, 0, 17134))
{
- _ = MessageBoxA(IntPtr.Zero, "You are running an outdated version of Windows.\n\nStarting on June 1st 2022, Ryujinx will only support Windows 10 1803 and newer.\n", $"Ryujinx {Version}", MbIconwarning);
+ _ = MessageBoxA(IntPtr.Zero, "You are running an outdated version of Windows.\n\nRyujinx supports Windows 10 version 1803 and newer.\n", $"Ryujinx {Version}", MbIconwarning);
}
PreviewerDetached = true;
From cada4d04efe8a3c19c290da3257c231da9872e40 Mon Sep 17 00:00:00 2001
From: Tsubasa0504 <60139445+Tsubasa0504@users.noreply.github.com>
Date: Tue, 14 May 2024 23:26:49 +0900
Subject: [PATCH 04/15] HID: Stub IHidServer: 134
(SetNpadAnalogStickUseCenterClamp) (#6664)
* Add files via upload
* Update IHidServer.cs
mistakes...
* format
how do i do it
* Update src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
Co-authored-by: Agatem
* Update src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
Co-authored-by: Agatem
* bruh
* Apply suggestions from code review
Co-authored-by: gdkchan
* use readuint32 instead
* second thought
* i hope it works
thanks someone higher up with the same thing
* pid
* Apply suggestions from code review
Co-authored-by: Ac_K
* styles i think
* Apply suggestions from code review
Co-authored-by: makigumo
---------
Co-authored-by: Agatem
Co-authored-by: gdkchan
Co-authored-by: Ac_K
Co-authored-by: makigumo
---
src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs b/src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
index bcc87f53b..e3f505f37 100644
--- a/src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
@@ -22,6 +22,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
private bool _sixAxisSensorFusionEnabled;
private bool _unintendedHomeButtonInputProtectionEnabled;
+ private bool _npadAnalogStickCenterClampEnabled;
private bool _vibrationPermitted;
private bool _usbFullKeyControllerEnabled;
private readonly bool _isFirmwareUpdateAvailableForSixAxisSensor;
@@ -1107,6 +1108,19 @@ namespace Ryujinx.HLE.HOS.Services.Hid
// If not, it returns nothing.
}
+ [CommandCmif(134)] // 6.1.0+
+ // SetNpadUseAnalogStickUseCenterClamp(bool Enable, nn::applet::AppletResourceUserId)
+ public ResultCode SetNpadUseAnalogStickUseCenterClamp(ServiceCtx context)
+ {
+ ulong pid = context.RequestData.ReadUInt64();
+ _npadAnalogStickCenterClampEnabled = context.RequestData.ReadUInt32() != 0;
+ long appletResourceUserId = context.RequestData.ReadInt64();
+
+ Logger.Stub?.PrintStub(LogClass.ServiceHid, new { pid, appletResourceUserId, _npadAnalogStickCenterClampEnabled });
+
+ return ResultCode.Success;
+ }
+
[CommandCmif(200)]
// GetVibrationDeviceInfo(nn::hid::VibrationDeviceHandle) -> nn::hid::VibrationDeviceInfo
public ResultCode GetVibrationDeviceInfo(ServiceCtx context)
From 44dbab3848c8831d27e50f7252d759a2494ad556 Mon Sep 17 00:00:00 2001
From: MutantAura <44103205+MutantAura@users.noreply.github.com>
Date: Tue, 14 May 2024 15:36:44 +0100
Subject: [PATCH 05/15] discordRPC: Truncate game title and details if they
exceed discord byte limit. (#6581)
* Truncate game title and details if they exceed DiscordRPC limit.
* Update implementation to a byte total check.
* Track if the string has actually been modified correctly.
* Allow an early function return and simplify logic.
* Better handling of large input strings and minimise loop opportunities.
* Remove unused using.
* Update to `applicationName` over `titleName`.
---
.../DiscordIntegrationModule.cs | 32 +++++++++++++++++--
1 file changed, 29 insertions(+), 3 deletions(-)
diff --git a/src/Ryujinx.UI.Common/DiscordIntegrationModule.cs b/src/Ryujinx.UI.Common/DiscordIntegrationModule.cs
index bbece1e1d..fb07195d0 100644
--- a/src/Ryujinx.UI.Common/DiscordIntegrationModule.cs
+++ b/src/Ryujinx.UI.Common/DiscordIntegrationModule.cs
@@ -1,6 +1,7 @@
using DiscordRPC;
using Ryujinx.Common;
using Ryujinx.UI.Common.Configuration;
+using System.Text;
namespace Ryujinx.UI.Common
{
@@ -9,6 +10,9 @@ namespace Ryujinx.UI.Common
private const string Description = "A simple, experimental Nintendo Switch emulator.";
private const string ApplicationId = "1216775165866807456";
+ private const int ApplicationByteLimit = 128;
+ private const string Ellipsis = "…";
+
private static DiscordRpcClient _discordClient;
private static RichPresence _discordPresenceMain;
@@ -60,18 +64,18 @@ namespace Ryujinx.UI.Common
}
}
- public static void SwitchToPlayingState(string titleId, string titleName)
+ public static void SwitchToPlayingState(string titleId, string applicationName)
{
_discordClient?.SetPresence(new RichPresence
{
Assets = new Assets
{
LargeImageKey = "game",
- LargeImageText = titleName,
+ LargeImageText = TruncateToByteLength(applicationName, ApplicationByteLimit),
SmallImageKey = "ryujinx",
SmallImageText = Description,
},
- Details = $"Playing {titleName}",
+ Details = TruncateToByteLength($"Playing {applicationName}", ApplicationByteLimit),
State = (titleId == "0000000000000000") ? "Homebrew" : titleId.ToUpper(),
Timestamps = Timestamps.Now,
Buttons =
@@ -90,6 +94,28 @@ namespace Ryujinx.UI.Common
_discordClient?.SetPresence(_discordPresenceMain);
}
+ private static string TruncateToByteLength(string input, int byteLimit)
+ {
+ if (Encoding.UTF8.GetByteCount(input) <= byteLimit)
+ {
+ return input;
+ }
+
+ // Find the length to trim the string to guarantee we have space for the trailing ellipsis.
+ int trimLimit = byteLimit - Encoding.UTF8.GetByteCount(Ellipsis);
+
+ // Basic trim to best case scenario of 1 byte characters.
+ input = input[..trimLimit];
+
+ while (Encoding.UTF8.GetByteCount(input) > trimLimit)
+ {
+ // Remove one character from the end of the string at a time.
+ input = input[..^1];
+ }
+
+ return input.TrimEnd() + Ellipsis;
+ }
+
public static void Exit()
{
_discordClient?.Dispose();
From 3a3b51893ee272af49d762387da5b27743786d56 Mon Sep 17 00:00:00 2001
From: gdkchan
Date: Tue, 14 May 2024 11:47:16 -0300
Subject: [PATCH 06/15] Add support for bindless textures from storage buffer
on Vulkan (#6721)
* Halve primitive ID when converting quads to triangles
* Shader cache version bump
* Add support for bindless textures from storage buffer on Vulkan
---
src/Ryujinx.Graphics.GAL/Capabilities.cs | 3 +++
.../Shader/DiskCache/DiskCacheGpuAccessor.cs | 14 +++++++++++--
.../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +-
.../DiskCache/ParallelDiskCacheLoader.cs | 8 +++++---
.../Shader/GpuAccessor.cs | 20 ++++++++++++++++---
.../Shader/GpuChannelGraphicsState.cs | 11 ++++++++--
.../Shader/ShaderCache.cs | 2 +-
src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs | 3 ++-
.../GpuGraphicsState.cs | 10 +++++++++-
src/Ryujinx.Graphics.Shader/IGpuAccessor.cs | 1 +
.../Instructions/InstEmitAttribute.cs | 10 ++++++++++
.../Optimizations/BindlessElimination.cs | 4 ++--
.../Translation/ShaderDefinitions.cs | 2 ++
src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs | 3 ++-
14 files changed, 76 insertions(+), 17 deletions(-)
diff --git a/src/Ryujinx.Graphics.GAL/Capabilities.cs b/src/Ryujinx.Graphics.GAL/Capabilities.cs
index 70736fbd6..779ce5b5d 100644
--- a/src/Ryujinx.Graphics.GAL/Capabilities.cs
+++ b/src/Ryujinx.Graphics.GAL/Capabilities.cs
@@ -36,6 +36,7 @@ namespace Ryujinx.Graphics.GAL
public readonly bool SupportsMismatchingViewFormat;
public readonly bool SupportsCubemapView;
public readonly bool SupportsNonConstantTextureOffset;
+ public readonly bool SupportsQuads;
public readonly bool SupportsSeparateSampler;
public readonly bool SupportsShaderBallot;
public readonly bool SupportsShaderBarrierDivergence;
@@ -93,6 +94,7 @@ namespace Ryujinx.Graphics.GAL
bool supportsMismatchingViewFormat,
bool supportsCubemapView,
bool supportsNonConstantTextureOffset,
+ bool supportsQuads,
bool supportsSeparateSampler,
bool supportsShaderBallot,
bool supportsShaderBarrierDivergence,
@@ -146,6 +148,7 @@ namespace Ryujinx.Graphics.GAL
SupportsMismatchingViewFormat = supportsMismatchingViewFormat;
SupportsCubemapView = supportsCubemapView;
SupportsNonConstantTextureOffset = supportsNonConstantTextureOffset;
+ SupportsQuads = supportsQuads;
SupportsSeparateSampler = supportsSeparateSampler;
SupportsShaderBallot = supportsShaderBallot;
SupportsShaderBarrierDivergence = supportsShaderBarrierDivergence;
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs
index 45f32e2d3..3c7664b77 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs
@@ -18,6 +18,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
private readonly ShaderSpecializationState _newSpecState;
private readonly int _stageIndex;
private readonly bool _isVulkan;
+ private readonly bool _hasGeometryShader;
+ private readonly bool _supportsQuads;
///
/// Creates a new instance of the cached GPU state accessor for shader translation.
@@ -29,6 +31,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
/// Shader specialization state of the recompiled shader
/// Resource counts shared across all shader stages
/// Shader stage index
+ /// Indicates if a geometry shader is present
public DiskCacheGpuAccessor(
GpuContext context,
ReadOnlyMemory data,
@@ -36,7 +39,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
ShaderSpecializationState oldSpecState,
ShaderSpecializationState newSpecState,
ResourceCounts counts,
- int stageIndex) : base(context, counts, stageIndex)
+ int stageIndex,
+ bool hasGeometryShader) : base(context, counts, stageIndex)
{
_data = data;
_cb1Data = cb1Data;
@@ -44,6 +48,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
_newSpecState = newSpecState;
_stageIndex = stageIndex;
_isVulkan = context.Capabilities.Api == TargetApi.Vulkan;
+ _hasGeometryShader = hasGeometryShader;
+ _supportsQuads = context.Capabilities.SupportsQuads;
if (stageIndex == (int)ShaderStage.Geometry - 1)
{
@@ -100,7 +106,11 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
///
public GpuGraphicsState QueryGraphicsState()
{
- return _oldSpecState.GraphicsState.CreateShaderGraphicsState(!_isVulkan, _isVulkan || _oldSpecState.GraphicsState.YNegateEnabled);
+ return _oldSpecState.GraphicsState.CreateShaderGraphicsState(
+ !_isVulkan,
+ _supportsQuads,
+ _hasGeometryShader,
+ _isVulkan || _oldSpecState.GraphicsState.YNegateEnabled);
}
///
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs
index 2c19cc4b9..ea54049c2 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs
@@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
private const ushort FileFormatVersionMajor = 1;
private const ushort FileFormatVersionMinor = 2;
private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor;
- private const uint CodeGenVersion = 6577;
+ private const uint CodeGenVersion = 5936;
private const string SharedTocFileName = "shared.toc";
private const string SharedDataFileName = "shared.data";
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs
index 153fc4427..20f96462e 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs
@@ -601,6 +601,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
TargetApi api = _context.Capabilities.Api;
+ bool hasCachedGs = guestShaders[4].HasValue;
+
for (int stageIndex = Constants.ShaderStages - 1; stageIndex >= 0; stageIndex--)
{
if (guestShaders[stageIndex + 1].HasValue)
@@ -610,7 +612,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
byte[] guestCode = shader.Code;
byte[] cb1Data = shader.Cb1Data;
- DiskCacheGpuAccessor gpuAccessor = new(_context, guestCode, cb1Data, specState, newSpecState, counts, stageIndex);
+ DiskCacheGpuAccessor gpuAccessor = new(_context, guestCode, cb1Data, specState, newSpecState, counts, stageIndex, hasCachedGs);
TranslatorContext currentStage = DecodeGraphicsShader(gpuAccessor, api, DefaultFlags, 0);
if (nextStage != null)
@@ -623,7 +625,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
byte[] guestCodeA = guestShaders[0].Value.Code;
byte[] cb1DataA = guestShaders[0].Value.Cb1Data;
- DiskCacheGpuAccessor gpuAccessorA = new(_context, guestCodeA, cb1DataA, specState, newSpecState, counts, 0);
+ DiskCacheGpuAccessor gpuAccessorA = new(_context, guestCodeA, cb1DataA, specState, newSpecState, counts, 0, hasCachedGs);
translatorContexts[0] = DecodeGraphicsShader(gpuAccessorA, api, DefaultFlags | TranslationFlags.VertexA, 0);
}
@@ -711,7 +713,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
GuestCodeAndCbData shader = guestShaders[0].Value;
ResourceCounts counts = new();
ShaderSpecializationState newSpecState = new(ref specState.ComputeState);
- DiskCacheGpuAccessor gpuAccessor = new(_context, shader.Code, shader.Cb1Data, specState, newSpecState, counts, 0);
+ DiskCacheGpuAccessor gpuAccessor = new(_context, shader.Code, shader.Cb1Data, specState, newSpecState, counts, 0, false);
gpuAccessor.InitializeReservedCounts(tfEnabled: false, vertexAsCompute: false);
TranslatorContext translatorContext = DecodeComputeShader(gpuAccessor, _context.Capabilities.Api, 0);
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs b/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs
index 04949690a..1be75f242 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs
@@ -17,6 +17,8 @@ namespace Ryujinx.Graphics.Gpu.Shader
private readonly int _stageIndex;
private readonly bool _compute;
private readonly bool _isVulkan;
+ private readonly bool _hasGeometryShader;
+ private readonly bool _supportsQuads;
///
/// Creates a new instance of the GPU state accessor for graphics shader translation.
@@ -25,12 +27,20 @@ namespace Ryujinx.Graphics.Gpu.Shader
/// GPU channel
/// Current GPU state
/// Graphics shader stage index (0 = Vertex, 4 = Fragment)
- public GpuAccessor(GpuContext context, GpuChannel channel, GpuAccessorState state, int stageIndex) : base(context, state.ResourceCounts, stageIndex)
+ /// Indicates if a geometry shader is present
+ public GpuAccessor(
+ GpuContext context,
+ GpuChannel channel,
+ GpuAccessorState state,
+ int stageIndex,
+ bool hasGeometryShader) : base(context, state.ResourceCounts, stageIndex)
{
- _isVulkan = context.Capabilities.Api == TargetApi.Vulkan;
_channel = channel;
_state = state;
_stageIndex = stageIndex;
+ _isVulkan = context.Capabilities.Api == TargetApi.Vulkan;
+ _hasGeometryShader = hasGeometryShader;
+ _supportsQuads = context.Capabilities.SupportsQuads;
if (stageIndex == (int)ShaderStage.Geometry - 1)
{
@@ -105,7 +115,11 @@ namespace Ryujinx.Graphics.Gpu.Shader
///
public GpuGraphicsState QueryGraphicsState()
{
- return _state.GraphicsState.CreateShaderGraphicsState(!_isVulkan, _isVulkan || _state.GraphicsState.YNegateEnabled);
+ return _state.GraphicsState.CreateShaderGraphicsState(
+ !_isVulkan,
+ _supportsQuads,
+ _hasGeometryShader,
+ _isVulkan || _state.GraphicsState.YNegateEnabled);
}
///
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs b/src/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
index b5bc4df3c..765bef7d4 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs
@@ -106,8 +106,11 @@ namespace Ryujinx.Graphics.Gpu.Shader
/// Creates a new graphics state from this state that can be used for shader generation.
///
/// Indicates if the host API supports alpha test operations
+ /// Indicates if the host API supports quad primitives
+ /// Indicates if a geometry shader is used
+ /// If true, indicates that the fragment origin is the upper left corner of the viewport, otherwise it is the lower left corner
/// GPU graphics state that can be used for shader translation
- public readonly GpuGraphicsState CreateShaderGraphicsState(bool hostSupportsAlphaTest, bool originUpperLeft)
+ public readonly GpuGraphicsState CreateShaderGraphicsState(bool hostSupportsAlphaTest, bool hostSupportsQuads, bool hasGeometryShader, bool originUpperLeft)
{
AlphaTestOp alphaTestOp;
@@ -130,6 +133,9 @@ namespace Ryujinx.Graphics.Gpu.Shader
};
}
+ bool isQuad = Topology == PrimitiveTopology.Quads || Topology == PrimitiveTopology.QuadStrip;
+ bool halvePrimitiveId = !hostSupportsQuads && !hasGeometryShader && isQuad;
+
return new GpuGraphicsState(
EarlyZForce,
ConvertToInputTopology(Topology, TessellationMode),
@@ -149,7 +155,8 @@ namespace Ryujinx.Graphics.Gpu.Shader
in FragmentOutputTypes,
DualSourceBlendEnable,
YNegateEnabled,
- originUpperLeft);
+ originUpperLeft,
+ halvePrimitiveId);
}
///
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs
index 31cc94a25..4fc66c4c0 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs
@@ -339,7 +339,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
if (gpuVa != 0)
{
- GpuAccessor gpuAccessor = new(_context, channel, gpuAccessorState, stageIndex);
+ GpuAccessor gpuAccessor = new(_context, channel, gpuAccessorState, stageIndex, addresses.Geometry != 0);
TranslatorContext currentStage = DecodeGraphicsShader(gpuAccessor, api, DefaultFlags, gpuVa);
if (nextStage != null)
diff --git a/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs b/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs
index d56c40af4..2a39ae446 100644
--- a/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs
+++ b/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs
@@ -161,6 +161,7 @@ namespace Ryujinx.Graphics.OpenGL
supportsBgraFormat: false,
supportsR4G4Format: false,
supportsR4G4B4A4Format: true,
+ supportsScaledVertexFormats: true,
supportsSnormBufferTextureFormat: false,
supports5BitComponentFormat: true,
supportsSparseBuffer: false,
@@ -175,7 +176,7 @@ namespace Ryujinx.Graphics.OpenGL
supportsMismatchingViewFormat: HwCapabilities.SupportsMismatchingViewFormat,
supportsCubemapView: true,
supportsNonConstantTextureOffset: HwCapabilities.SupportsNonConstantTextureOffset,
- supportsScaledVertexFormats: true,
+ supportsQuads: HwCapabilities.SupportsQuads,
supportsSeparateSampler: false,
supportsShaderBallot: HwCapabilities.SupportsShaderBallot,
supportsShaderBarrierDivergence: !(intelWindows || intelUnix),
diff --git a/src/Ryujinx.Graphics.Shader/GpuGraphicsState.cs b/src/Ryujinx.Graphics.Shader/GpuGraphicsState.cs
index f16c71d55..38684002c 100644
--- a/src/Ryujinx.Graphics.Shader/GpuGraphicsState.cs
+++ b/src/Ryujinx.Graphics.Shader/GpuGraphicsState.cs
@@ -102,6 +102,11 @@ namespace Ryujinx.Graphics.Shader
///
public readonly bool OriginUpperLeft;
+ ///
+ /// Indicates that the primitive ID values on the shader should be halved due to quad to triangles conversion.
+ ///
+ public readonly bool HalvePrimitiveId;
+
///
/// Creates a new GPU graphics state.
///
@@ -124,6 +129,7 @@ namespace Ryujinx.Graphics.Shader
/// Indicates whether dual source blend is enabled
/// Indicates if negation of the viewport Y axis is enabled
/// If true, indicates that the fragment origin is the upper left corner of the viewport, otherwise it is the lower left corner
+ /// Indicates that the primitive ID values on the shader should be halved due to quad to triangles conversion
public GpuGraphicsState(
bool earlyZForce,
InputTopology topology,
@@ -143,7 +149,8 @@ namespace Ryujinx.Graphics.Shader
in Array8 fragmentOutputTypes,
bool dualSourceBlendEnable,
bool yNegateEnabled,
- bool originUpperLeft)
+ bool originUpperLeft,
+ bool halvePrimitiveId)
{
EarlyZForce = earlyZForce;
Topology = topology;
@@ -164,6 +171,7 @@ namespace Ryujinx.Graphics.Shader
DualSourceBlendEnable = dualSourceBlendEnable;
YNegateEnabled = yNegateEnabled;
OriginUpperLeft = originUpperLeft;
+ HalvePrimitiveId = halvePrimitiveId;
}
}
}
diff --git a/src/Ryujinx.Graphics.Shader/IGpuAccessor.cs b/src/Ryujinx.Graphics.Shader/IGpuAccessor.cs
index b1a9f9f84..3dc4ad907 100644
--- a/src/Ryujinx.Graphics.Shader/IGpuAccessor.cs
+++ b/src/Ryujinx.Graphics.Shader/IGpuAccessor.cs
@@ -135,6 +135,7 @@ namespace Ryujinx.Graphics.Shader
default,
false,
false,
+ false,
false);
}
diff --git a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitAttribute.cs b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitAttribute.cs
index 63ce38e25..c704156bc 100644
--- a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitAttribute.cs
+++ b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitAttribute.cs
@@ -84,6 +84,10 @@ namespace Ryujinx.Graphics.Shader.Instructions
value = context.IConvertU32ToFP32(value);
}
}
+ else if (offset == AttributeConsts.PrimitiveId && context.TranslatorContext.Definitions.HalvePrimitiveId)
+ {
+ value = context.ShiftRightS32(value, Const(1));
+ }
context.Copy(Register(rd), value);
}
@@ -187,6 +191,12 @@ namespace Ryujinx.Graphics.Shader.Instructions
}
}
}
+ else if (op.Imm10 == AttributeConsts.PrimitiveId && context.TranslatorContext.Definitions.HalvePrimitiveId)
+ {
+ // If quads are used, but the host does not support them, they need to be converted to triangles.
+ // Since each quad becomes 2 triangles, we need to compensate here and divide primitive ID by 2.
+ res = context.ShiftRightS32(res, Const(1));
+ }
else if (op.Imm10 == AttributeConsts.FrontFacing && context.TranslatorContext.GpuAccessor.QueryHostHasFrontFacingBug())
{
// gl_FrontFacing sometimes has incorrect (flipped) values depending how it is accessed on Intel GPUs.
diff --git a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
index 223215439..4128af241 100644
--- a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
+++ b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
@@ -66,9 +66,9 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
if (nvHandle.AsgOp is not Operation handleOp ||
handleOp.Inst != Instruction.Load ||
- handleOp.StorageKind != StorageKind.Input)
+ (handleOp.StorageKind != StorageKind.Input && handleOp.StorageKind != StorageKind.StorageBuffer))
{
- // Right now, we only allow bindless access when the handle comes from a shader input.
+ // Right now, we only allow bindless access when the handle comes from a shader input or storage buffer.
// This is an artificial limitation to prevent it from being used in cases where it
// would have a large performance impact of loading all textures in the pool.
// It might be removed in the future, if we can mitigate the performance impact.
diff --git a/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs b/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs
index 3246e2594..f831ec940 100644
--- a/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs
+++ b/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs
@@ -45,6 +45,8 @@ namespace Ryujinx.Graphics.Shader.Translation
public bool YNegateEnabled => _graphicsState.YNegateEnabled;
public bool OriginUpperLeft => _graphicsState.OriginUpperLeft;
+ public bool HalvePrimitiveId => _graphicsState.HalvePrimitiveId;
+
public ImapPixelType[] ImapTypes { get; }
public bool IaIndexing { get; private set; }
public bool OaIndexing { get; private set; }
diff --git a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs
index b46ba9c46..8ef05de36 100644
--- a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs
+++ b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs
@@ -691,6 +691,7 @@ namespace Ryujinx.Graphics.Vulkan
supportsBgraFormat: true,
supportsR4G4Format: false,
supportsR4G4B4A4Format: supportsR4G4B4A4Format,
+ supportsScaledVertexFormats: FormatCapabilities.SupportsScaledVertexFormats(),
supportsSnormBufferTextureFormat: true,
supports5BitComponentFormat: supports5BitComponentFormat,
supportsSparseBuffer: features2.Features.SparseBinding && mainQueueProperties.QueueFlags.HasFlag(QueueFlags.SparseBindingBit),
@@ -705,7 +706,7 @@ namespace Ryujinx.Graphics.Vulkan
supportsMismatchingViewFormat: true,
supportsCubemapView: !IsAmdGcn,
supportsNonConstantTextureOffset: false,
- supportsScaledVertexFormats: FormatCapabilities.SupportsScaledVertexFormats(),
+ supportsQuads: false,
supportsSeparateSampler: true,
supportsShaderBallot: false,
supportsShaderBarrierDivergence: Vendor != Vendor.Intel,
From 075575200d693a5d24bd03a4220238e1e50f1ef6 Mon Sep 17 00:00:00 2001
From: Gavin Zyonse
Date: Tue, 14 May 2024 16:58:48 +0200
Subject: [PATCH 07/15] Update compatibility information in README.md (#6801)
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index f2f3cb001..7f2294d31 100644
--- a/README.md
+++ b/README.md
@@ -36,8 +36,8 @@
## Compatibility
-As of October 2023, Ryujinx has been tested on approximately 4,200 titles;
-over 4,150 boot past menus and into gameplay, with roughly 3,500 of those being considered playable.
+As of May 2024, Ryujinx has been tested on approximately 4,300 titles;
+over 4,100 boot past menus and into gameplay, with roughly 3,550 of those being considered playable.
You can check out the compatibility list [here](https://github.com/Ryujinx/Ryujinx-Games-List/issues).
From 2b6cc4b3536693d222b695295c9db4715ca3f570 Mon Sep 17 00:00:00 2001
From: yell0wsuit <5692900+yell0wsuit@users.noreply.github.com>
Date: Tue, 14 May 2024 22:00:03 +0700
Subject: [PATCH 08/15] Add the "Auto" theme option in setting (#6611)
* Add "Follow OS theme" option
* Update App.axaml.cs
* Add "Follow OS theme" option
* Update App.axaml.cs
* Remove `this`
* Remove annotation for nullable reference
* Change into switch expression to make it concise
* Change comments to XML docs
* Update en_US.json
* Fix icons in About dialog do not response to "auto" theme
The theme icons seemingly use Dark variant event when the OS theme is light. In addition, I added ThemeManager common to make it accessible for both App and AboutWindow
* Newline at the end
* newline moment
* Update ThemeManager.cs
* bait to switch to lf
* change to lf
* temp. revert
* Add back ThemeManager.cs common, pls pass the format check
* I found the mistake: should have put `ThemeManager.OnThemeChanged();` in try block
Finally solve the formatting check
* test formatting
* Update App.axaml.cs
* Ok i seem to forget to add version lol
* Fix info CA1816
---
src/Ryujinx/App.axaml.cs | 34 +++++++++++-
src/Ryujinx/Assets/Locales/en_US.json | 1 +
src/Ryujinx/Common/ThemeManager.cs | 14 +++++
.../UI/ViewModels/AboutWindowViewModel.cs | 52 +++++++++++++------
.../UI/ViewModels/SettingsViewModel.cs | 16 +++++-
.../UI/Views/Settings/SettingsUIView.axaml | 3 ++
src/Ryujinx/UI/Windows/MainWindow.axaml.cs | 29 +++++++++++
7 files changed, 128 insertions(+), 21 deletions(-)
create mode 100644 src/Ryujinx/Common/ThemeManager.cs
diff --git a/src/Ryujinx/App.axaml.cs b/src/Ryujinx/App.axaml.cs
index 387a6dc14..24d8a70a1 100644
--- a/src/Ryujinx/App.axaml.cs
+++ b/src/Ryujinx/App.axaml.cs
@@ -1,8 +1,10 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
+using Avalonia.Platform;
using Avalonia.Styling;
using Avalonia.Threading;
+using Ryujinx.Ava.Common;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.UI.Helpers;
using Ryujinx.Ava.UI.Windows;
@@ -84,7 +86,7 @@ namespace Ryujinx.Ava
ApplyConfiguredTheme();
}
- private void ApplyConfiguredTheme()
+ public void ApplyConfiguredTheme()
{
try
{
@@ -92,13 +94,18 @@ namespace Ryujinx.Ava
if (string.IsNullOrWhiteSpace(baseStyle))
{
- ConfigurationState.Instance.UI.BaseStyle.Value = "Dark";
+ ConfigurationState.Instance.UI.BaseStyle.Value = "Auto";
baseStyle = ConfigurationState.Instance.UI.BaseStyle;
}
+ ThemeVariant systemTheme = DetectSystemTheme();
+
+ ThemeManager.OnThemeChanged();
+
RequestedThemeVariant = baseStyle switch
{
+ "Auto" => systemTheme,
"Light" => ThemeVariant.Light,
"Dark" => ThemeVariant.Dark,
_ => ThemeVariant.Default,
@@ -111,5 +118,28 @@ namespace Ryujinx.Ava
ShowRestartDialog();
}
}
+
+ ///
+ /// Converts a PlatformThemeVariant value to the corresponding ThemeVariant value.
+ ///
+ public static ThemeVariant ConvertThemeVariant(PlatformThemeVariant platformThemeVariant) =>
+ platformThemeVariant switch
+ {
+ PlatformThemeVariant.Dark => ThemeVariant.Dark,
+ PlatformThemeVariant.Light => ThemeVariant.Light,
+ _ => ThemeVariant.Default,
+ };
+
+ public static ThemeVariant DetectSystemTheme()
+ {
+ if (Application.Current is App app)
+ {
+ var colorValues = app.PlatformSettings.GetColorValues();
+
+ return ConvertThemeVariant(colorValues.ThemeVariant);
+ }
+
+ return ThemeVariant.Default;
+ }
}
}
diff --git a/src/Ryujinx/Assets/Locales/en_US.json b/src/Ryujinx/Assets/Locales/en_US.json
index 2299d9e66..8df0f96a1 100644
--- a/src/Ryujinx/Assets/Locales/en_US.json
+++ b/src/Ryujinx/Assets/Locales/en_US.json
@@ -404,6 +404,7 @@
"GameListContextMenuToggleFavorite": "Toggle Favorite",
"GameListContextMenuToggleFavoriteToolTip": "Toggle Favorite status of Game",
"SettingsTabGeneralTheme": "Theme:",
+ "SettingsTabGeneralThemeAuto": "Auto",
"SettingsTabGeneralThemeDark": "Dark",
"SettingsTabGeneralThemeLight": "Light",
"ControllerSettingsConfigureGeneral": "Configure",
diff --git a/src/Ryujinx/Common/ThemeManager.cs b/src/Ryujinx/Common/ThemeManager.cs
new file mode 100644
index 000000000..8c52c2a66
--- /dev/null
+++ b/src/Ryujinx/Common/ThemeManager.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace Ryujinx.Ava.Common
+{
+ public static class ThemeManager
+ {
+ public static event EventHandler ThemeChanged;
+
+ public static void OnThemeChanged()
+ {
+ ThemeChanged?.Invoke(null, EventArgs.Empty);
+ }
+ }
+}
diff --git a/src/Ryujinx/UI/ViewModels/AboutWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/AboutWindowViewModel.cs
index 6020f40e0..f8fd5b7de 100644
--- a/src/Ryujinx/UI/ViewModels/AboutWindowViewModel.cs
+++ b/src/Ryujinx/UI/ViewModels/AboutWindowViewModel.cs
@@ -1,6 +1,8 @@
using Avalonia.Media.Imaging;
using Avalonia.Platform;
+using Avalonia.Styling;
using Avalonia.Threading;
+using Ryujinx.Ava.Common;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Common.Utilities;
using Ryujinx.UI.Common.Configuration;
@@ -11,7 +13,7 @@ using System.Threading.Tasks;
namespace Ryujinx.Ava.UI.ViewModels
{
- public class AboutWindowViewModel : BaseModel
+ public class AboutWindowViewModel : BaseModel, IDisposable
{
private Bitmap _githubLogo;
private Bitmap _discordLogo;
@@ -86,23 +88,39 @@ namespace Ryujinx.Ava.UI.ViewModels
public AboutWindowViewModel()
{
Version = Program.Version;
-
- if (ConfigurationState.Instance.UI.BaseStyle.Value == "Light")
- {
- GithubLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_GitHub_Light.png?assembly=Ryujinx.UI.Common")));
- DiscordLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_Discord_Light.png?assembly=Ryujinx.UI.Common")));
- PatreonLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_Patreon_Light.png?assembly=Ryujinx.UI.Common")));
- TwitterLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_Twitter_Light.png?assembly=Ryujinx.UI.Common")));
- }
- else
- {
- GithubLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_GitHub_Dark.png?assembly=Ryujinx.UI.Common")));
- DiscordLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_Discord_Dark.png?assembly=Ryujinx.UI.Common")));
- PatreonLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_Patreon_Dark.png?assembly=Ryujinx.UI.Common")));
- TwitterLogo = new Bitmap(AssetLoader.Open(new Uri("resm:Ryujinx.UI.Common.Resources.Logo_Twitter_Dark.png?assembly=Ryujinx.UI.Common")));
- }
-
+ UpdateLogoTheme(ConfigurationState.Instance.UI.BaseStyle.Value);
Dispatcher.UIThread.InvokeAsync(DownloadPatronsJson);
+
+ ThemeManager.ThemeChanged += ThemeManager_ThemeChanged;
+ }
+
+ private void ThemeManager_ThemeChanged(object sender, EventArgs e)
+ {
+ Dispatcher.UIThread.Post(() => UpdateLogoTheme(ConfigurationState.Instance.UI.BaseStyle.Value));
+ }
+
+ private void UpdateLogoTheme(string theme)
+ {
+ bool isDarkTheme = theme == "Dark" || (theme == "Auto" && App.DetectSystemTheme() == ThemeVariant.Dark);
+
+ string basePath = "resm:Ryujinx.UI.Common.Resources.";
+ string themeSuffix = isDarkTheme ? "Dark.png" : "Light.png";
+
+ GithubLogo = LoadBitmap($"{basePath}Logo_GitHub_{themeSuffix}?assembly=Ryujinx.UI.Common");
+ DiscordLogo = LoadBitmap($"{basePath}Logo_Discord_{themeSuffix}?assembly=Ryujinx.UI.Common");
+ PatreonLogo = LoadBitmap($"{basePath}Logo_Patreon_{themeSuffix}?assembly=Ryujinx.UI.Common");
+ TwitterLogo = LoadBitmap($"{basePath}Logo_Twitter_{themeSuffix}?assembly=Ryujinx.UI.Common");
+ }
+
+ private Bitmap LoadBitmap(string uri)
+ {
+ return new Bitmap(Avalonia.Platform.AssetLoader.Open(new Uri(uri)));
+ }
+
+ public void Dispose()
+ {
+ ThemeManager.ThemeChanged -= ThemeManager_ThemeChanged;
+ GC.SuppressFinalize(this);
}
private async Task DownloadPatronsJson()
diff --git a/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs
index 0f43d0f7f..70e5fa5c7 100644
--- a/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs
+++ b/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs
@@ -397,7 +397,13 @@ namespace Ryujinx.Ava.UI.ViewModels
GameDirectories.Clear();
GameDirectories.AddRange(config.UI.GameDirs.Value);
- BaseStyleIndex = config.UI.BaseStyle == "Light" ? 0 : 1;
+ BaseStyleIndex = config.UI.BaseStyle.Value switch
+ {
+ "Auto" => 0,
+ "Light" => 1,
+ "Dark" => 2,
+ _ => 0
+ };
// Input
EnableDockedMode = config.System.EnableDockedMode;
@@ -486,7 +492,13 @@ namespace Ryujinx.Ava.UI.ViewModels
config.UI.GameDirs.Value = gameDirs;
}
- config.UI.BaseStyle.Value = BaseStyleIndex == 0 ? "Light" : "Dark";
+ config.UI.BaseStyle.Value = BaseStyleIndex switch
+ {
+ 0 => "Auto",
+ 1 => "Light",
+ 2 => "Dark",
+ _ => "Auto"
+ };
// Input
config.System.EnableDockedMode.Value = EnableDockedMode;
diff --git a/src/Ryujinx/UI/Views/Settings/SettingsUIView.axaml b/src/Ryujinx/UI/Views/Settings/SettingsUIView.axaml
index b60058fcb..f9b9be44b 100644
--- a/src/Ryujinx/UI/Views/Settings/SettingsUIView.axaml
+++ b/src/Ryujinx/UI/Views/Settings/SettingsUIView.axaml
@@ -65,6 +65,9 @@
+
+
+
diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs
index b1b7a4853..7de8a49a0 100644
--- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs
+++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs
@@ -2,6 +2,7 @@ using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
using Avalonia.Interactivity;
+using Avalonia.Platform;
using Avalonia.Threading;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common;
@@ -92,6 +93,29 @@ namespace Ryujinx.Ava.UI.Windows
}
}
+ ///
+ /// Event handler for detecting OS theme change when using "Follow OS theme" option
+ ///
+ private void OnPlatformColorValuesChanged(object sender, PlatformColorValues e)
+ {
+ if (Application.Current is App app)
+ {
+ app.ApplyConfiguredTheme();
+ }
+ }
+
+ protected override void OnClosed(EventArgs e)
+ {
+ base.OnClosed(e);
+ if (PlatformSettings != null)
+ {
+ ///
+ /// Unsubscribe to the ColorValuesChanged event
+ ///
+ PlatformSettings.ColorValuesChanged -= OnPlatformColorValuesChanged;
+ }
+ }
+
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnApplyTemplate(e);
@@ -390,6 +414,11 @@ namespace Ryujinx.Ava.UI.Windows
Initialize();
+ ///
+ /// Subscribe to the ColorValuesChanged event
+ ///
+ PlatformSettings.ColorValuesChanged += OnPlatformColorValuesChanged;
+
ViewModel.Initialize(
ContentManager,
StorageProvider,
From 2ef4f92b0793feb7073ed85b7f7dc08dca6f14e9 Mon Sep 17 00:00:00 2001
From: gdkchan
Date: Tue, 14 May 2024 12:06:36 -0300
Subject: [PATCH 09/15] Make TextureGroup.ClearModified thread safe (#6686)
---
src/Ryujinx.Graphics.Gpu/Image/Texture.cs | 2 +-
src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs | 18 ++++++++++++------
.../Image/TextureGroupHandle.cs | 6 +++---
3 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/src/Ryujinx.Graphics.Gpu/Image/Texture.cs b/src/Ryujinx.Graphics.Gpu/Image/Texture.cs
index e67caea81..dde28dbd7 100644
--- a/src/Ryujinx.Graphics.Gpu/Image/Texture.cs
+++ b/src/Ryujinx.Graphics.Gpu/Image/Texture.cs
@@ -390,7 +390,7 @@ namespace Ryujinx.Graphics.Gpu.Image
{
_views.Remove(texture);
- Group.RemoveView(texture);
+ Group.RemoveView(_views, texture);
texture._viewStorage = texture;
diff --git a/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs b/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs
index de9c47c97..4e1133d1a 100644
--- a/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs
+++ b/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs
@@ -88,9 +88,9 @@ namespace Ryujinx.Graphics.Gpu.Image
private MultiRange TextureRange => Storage.Range;
///
- /// The views list from the storage texture.
+ /// The views array from the storage texture.
///
- private List _views;
+ private Texture[] _views;
private TextureGroupHandle[] _handles;
private bool[] _loadNeeded;
@@ -1074,7 +1074,7 @@ namespace Ryujinx.Graphics.Gpu.Image
public void UpdateViews(List views, Texture texture)
{
// This is saved to calculate overlapping views for each handle.
- _views = views;
+ _views = views.ToArray();
bool layerViews = _hasLayerViews;
bool mipViews = _hasMipViews;
@@ -1136,9 +1136,13 @@ namespace Ryujinx.Graphics.Gpu.Image
///
/// Removes a view from the group, removing it from all overlap lists.
///
+ /// The views list of the storage texture
/// View to remove from the group
- public void RemoveView(Texture view)
+ public void RemoveView(List views, Texture view)
{
+ // This is saved to calculate overlapping views for each handle.
+ _views = views.ToArray();
+
int offset = FindOffset(view);
foreach (TextureGroupHandle handle in _handles)
@@ -1605,9 +1609,11 @@ namespace Ryujinx.Graphics.Gpu.Image
Storage.SignalModifiedDirty();
- if (_views != null)
+ Texture[] views = _views;
+
+ if (views != null)
{
- foreach (Texture texture in _views)
+ foreach (Texture texture in views)
{
texture.SignalModifiedDirty();
}
diff --git a/src/Ryujinx.Graphics.Gpu/Image/TextureGroupHandle.cs b/src/Ryujinx.Graphics.Gpu/Image/TextureGroupHandle.cs
index 0af6b7ca8..860922d59 100644
--- a/src/Ryujinx.Graphics.Gpu/Image/TextureGroupHandle.cs
+++ b/src/Ryujinx.Graphics.Gpu/Image/TextureGroupHandle.cs
@@ -121,7 +121,7 @@ namespace Ryujinx.Graphics.Gpu.Image
public TextureGroupHandle(TextureGroup group,
int offset,
ulong size,
- List views,
+ IEnumerable views,
int firstLayer,
int firstLevel,
int baseSlice,
@@ -201,8 +201,8 @@ namespace Ryujinx.Graphics.Gpu.Image
/// Calculate a list of which views overlap this handle.
///
/// The parent texture group, used to find a view's base CPU VA offset
- /// The list of views to search for overlaps
- public void RecalculateOverlaps(TextureGroup group, List views)
+ /// The views to search for overlaps
+ public void RecalculateOverlaps(TextureGroup group, IEnumerable views)
{
// Overlaps can be accessed from the memory tracking signal handler, so access must be atomic.
lock (Overlaps)
From a3dc295c5f867bddb56a38f3a848ceb61ff30d32 Mon Sep 17 00:00:00 2001
From: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
Date: Tue, 14 May 2024 17:14:39 +0200
Subject: [PATCH 10/15] Disable keyboard controller input while swkbd is open
(foreground) (#6646)
* Block input updates while swkbd is open in foreground mode
* Flush internal driver state before unblocking input updates
* Rename Flush to Clear and remove unnecessary attribute
---
src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs | 5 +++++
src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs | 3 +++
src/Ryujinx.Input/HLE/NpadManager.cs | 5 +++++
src/Ryujinx.Input/IGamepadDriver.cs | 6 ++++++
src/Ryujinx/Input/AvaloniaKeyboard.cs | 2 +-
src/Ryujinx/Input/AvaloniaKeyboardDriver.cs | 2 +-
src/Ryujinx/UI/Applet/AvaHostUIHandler.cs | 2 ++
7 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
index e502254be..bd71c7933 100644
--- a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
+++ b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
@@ -81,6 +81,11 @@ namespace Ryujinx.Input.GTK3
return _pressedKeys.Contains(nativeKey);
}
+ public void Clear()
+ {
+ _pressedKeys.Clear();
+ }
+
public IGamepad GetGamepad(string id)
{
if (!_keyboardIdentifers[0].Equals(id))
diff --git a/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs b/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
index 1d918d21b..b3f509a09 100644
--- a/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
+++ b/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
@@ -107,6 +107,8 @@ namespace Ryujinx.UI.Applet
swkbdDialog.SetInputLengthValidation(args.StringLengthMin, args.StringLengthMax);
swkbdDialog.SetInputValidation(args.KeyboardMode);
+ ((MainWindow)_parent).RendererWidget.NpadManager.BlockInputUpdates();
+
if (swkbdDialog.Run() == (int)ResponseType.Ok)
{
inputText = swkbdDialog.InputEntry.Text;
@@ -128,6 +130,7 @@ namespace Ryujinx.UI.Applet
});
dialogCloseEvent.WaitOne();
+ ((MainWindow)_parent).RendererWidget.NpadManager.UnblockInputUpdates();
userText = error ? null : inputText;
diff --git a/src/Ryujinx.Input/HLE/NpadManager.cs b/src/Ryujinx.Input/HLE/NpadManager.cs
index 4c7bb8b7a..2409ecf22 100644
--- a/src/Ryujinx.Input/HLE/NpadManager.cs
+++ b/src/Ryujinx.Input/HLE/NpadManager.cs
@@ -174,6 +174,11 @@ namespace Ryujinx.Input.HLE
{
lock (_lock)
{
+ foreach (InputConfig inputConfig in _inputConfig)
+ {
+ _controllers[(int)inputConfig.PlayerIndex].GamepadDriver.Clear();
+ }
+
_blockInputUpdates = false;
}
}
diff --git a/src/Ryujinx.Input/IGamepadDriver.cs b/src/Ryujinx.Input/IGamepadDriver.cs
index 67b01c26c..ff4d36993 100644
--- a/src/Ryujinx.Input/IGamepadDriver.cs
+++ b/src/Ryujinx.Input/IGamepadDriver.cs
@@ -33,5 +33,11 @@ namespace Ryujinx.Input
/// The unique id of the gamepad
/// An instance of associated to the gamepad id given or null if not found
IGamepad GetGamepad(string id);
+
+ ///
+ /// Flush the internal state of the driver.
+ ///
+ /// Does nothing by default.
+ void Clear() { }
}
}
diff --git a/src/Ryujinx/Input/AvaloniaKeyboard.cs b/src/Ryujinx/Input/AvaloniaKeyboard.cs
index fbaaaabab..ff88de79e 100644
--- a/src/Ryujinx/Input/AvaloniaKeyboard.cs
+++ b/src/Ryujinx/Input/AvaloniaKeyboard.cs
@@ -195,7 +195,7 @@ namespace Ryujinx.Ava.Input
public void Clear()
{
- _driver?.ResetKeys();
+ _driver?.Clear();
}
public void Dispose() { }
diff --git a/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs b/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
index e9e71b99b..9f87e821a 100644
--- a/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
+++ b/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
@@ -94,7 +94,7 @@ namespace Ryujinx.Ava.Input
return _pressedKeys.Contains(nativeKey);
}
- public void ResetKeys()
+ public void Clear()
{
_pressedKeys.Clear();
}
diff --git a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
index 4bcc35a7a..4bcf8eb94 100644
--- a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
+++ b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
@@ -122,6 +122,7 @@ namespace Ryujinx.Ava.UI.Applet
{
try
{
+ _parent.ViewModel.AppHost.NpadManager.BlockInputUpdates();
var response = await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.SoftwareKeyboard], args);
if (response.Result == UserResult.Ok)
@@ -143,6 +144,7 @@ namespace Ryujinx.Ava.UI.Applet
});
dialogCloseEvent.WaitOne();
+ _parent.ViewModel.AppHost.NpadManager.UnblockInputUpdates();
userText = error ? null : inputText;
From cd78adf07f14ccb8b19a9f539db963dea5976312 Mon Sep 17 00:00:00 2001
From: gdkchan
Date: Tue, 14 May 2024 12:23:13 -0300
Subject: [PATCH 11/15] Add missing lock on texture cache UpdateMapping method
(#6657)
---
.../Image/TextureCache.cs | 95 ++++++++++++++++---
1 file changed, 84 insertions(+), 11 deletions(-)
diff --git a/src/Ryujinx.Graphics.Gpu/Image/TextureCache.cs b/src/Ryujinx.Graphics.Gpu/Image/TextureCache.cs
index 5743c89c0..b9ff060e2 100644
--- a/src/Ryujinx.Graphics.Gpu/Image/TextureCache.cs
+++ b/src/Ryujinx.Graphics.Gpu/Image/TextureCache.cs
@@ -8,6 +8,7 @@ using Ryujinx.Graphics.Texture;
using Ryujinx.Memory.Range;
using System;
using System.Collections.Generic;
+using System.Threading;
namespace Ryujinx.Graphics.Gpu.Image
{
@@ -39,6 +40,8 @@ namespace Ryujinx.Graphics.Gpu.Image
private readonly MultiRangeList _textures;
private readonly HashSet _partiallyMappedTextures;
+ private readonly ReaderWriterLockSlim _texturesLock;
+
private Texture[] _textureOverlaps;
private OverlapInfo[] _overlapInfo;
@@ -57,6 +60,8 @@ namespace Ryujinx.Graphics.Gpu.Image
_textures = new MultiRangeList();
_partiallyMappedTextures = new HashSet();
+ _texturesLock = new ReaderWriterLockSlim();
+
_textureOverlaps = new Texture[OverlapsBufferInitialCapacity];
_overlapInfo = new OverlapInfo[OverlapsBufferInitialCapacity];
@@ -75,10 +80,16 @@ namespace Ryujinx.Graphics.Gpu.Image
MultiRange unmapped = ((MemoryManager)sender).GetPhysicalRegions(e.Address, e.Size);
- lock (_textures)
+ _texturesLock.EnterReadLock();
+
+ try
{
overlapCount = _textures.FindOverlaps(unmapped, ref overlaps);
}
+ finally
+ {
+ _texturesLock.ExitReadLock();
+ }
if (overlapCount > 0)
{
@@ -217,7 +228,18 @@ namespace Ryujinx.Graphics.Gpu.Image
public bool UpdateMapping(Texture texture, MultiRange range)
{
// There cannot be an existing texture compatible with this mapping in the texture cache already.
- int overlapCount = _textures.FindOverlaps(range, ref _textureOverlaps);
+ int overlapCount;
+
+ _texturesLock.EnterReadLock();
+
+ try
+ {
+ overlapCount = _textures.FindOverlaps(range, ref _textureOverlaps);
+ }
+ finally
+ {
+ _texturesLock.ExitReadLock();
+ }
for (int i = 0; i < overlapCount; i++)
{
@@ -231,11 +253,20 @@ namespace Ryujinx.Graphics.Gpu.Image
}
}
- _textures.Remove(texture);
+ _texturesLock.EnterWriteLock();
- texture.ReplaceRange(range);
+ try
+ {
+ _textures.Remove(texture);
- _textures.Add(texture);
+ texture.ReplaceRange(range);
+
+ _textures.Add(texture);
+ }
+ finally
+ {
+ _texturesLock.ExitWriteLock();
+ }
return true;
}
@@ -611,11 +642,17 @@ namespace Ryujinx.Graphics.Gpu.Image
int sameAddressOverlapsCount;
- lock (_textures)
+ _texturesLock.EnterReadLock();
+
+ try
{
// Try to find a perfect texture match, with the same address and parameters.
sameAddressOverlapsCount = _textures.FindOverlaps(address, ref _textureOverlaps);
}
+ finally
+ {
+ _texturesLock.ExitReadLock();
+ }
Texture texture = null;
@@ -698,10 +735,16 @@ namespace Ryujinx.Graphics.Gpu.Image
if (info.Target != Target.TextureBuffer)
{
- lock (_textures)
+ _texturesLock.EnterReadLock();
+
+ try
{
overlapsCount = _textures.FindOverlaps(range.Value, ref _textureOverlaps);
}
+ finally
+ {
+ _texturesLock.ExitReadLock();
+ }
}
if (_overlapInfo.Length != _textureOverlaps.Length)
@@ -1025,10 +1068,16 @@ namespace Ryujinx.Graphics.Gpu.Image
_cache.Add(texture);
}
- lock (_textures)
+ _texturesLock.EnterWriteLock();
+
+ try
{
_textures.Add(texture);
}
+ finally
+ {
+ _texturesLock.ExitWriteLock();
+ }
if (partiallyMapped)
{
@@ -1091,7 +1140,19 @@ namespace Ryujinx.Graphics.Gpu.Image
return null;
}
- int addressMatches = _textures.FindOverlaps(address, ref _textureOverlaps);
+ int addressMatches;
+
+ _texturesLock.EnterReadLock();
+
+ try
+ {
+ addressMatches = _textures.FindOverlaps(address, ref _textureOverlaps);
+ }
+ finally
+ {
+ _texturesLock.ExitReadLock();
+ }
+
Texture textureMatch = null;
for (int i = 0; i < addressMatches; i++)
@@ -1232,10 +1293,16 @@ namespace Ryujinx.Graphics.Gpu.Image
/// The texture to be removed
public void RemoveTextureFromCache(Texture texture)
{
- lock (_textures)
+ _texturesLock.EnterWriteLock();
+
+ try
{
_textures.Remove(texture);
}
+ finally
+ {
+ _texturesLock.ExitWriteLock();
+ }
lock (_partiallyMappedTextures)
{
@@ -1324,13 +1391,19 @@ namespace Ryujinx.Graphics.Gpu.Image
///
public void Dispose()
{
- lock (_textures)
+ _texturesLock.EnterReadLock();
+
+ try
{
foreach (Texture texture in _textures)
{
texture.Dispose();
}
}
+ finally
+ {
+ _texturesLock.ExitReadLock();
+ }
}
}
}
From 47639e6eebe6f24bc6e0796fa27a750d9e99bd87 Mon Sep 17 00:00:00 2001
From: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
Date: Tue, 14 May 2024 11:36:11 -0400
Subject: [PATCH 12/15] Bump Avalonia.Svg (#6603)
* Bump Avalonia.Svg
* Remove using
* Bump Version
* Remove other reload
---
Directory.Packages.props | 4 ++--
src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml.cs | 5 +----
src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs | 4 +---
3 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/Directory.Packages.props b/Directory.Packages.props
index ef274125a..d04e237e0 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml.cs b/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml.cs
index 5a98b1645..6b999b1f4 100644
--- a/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml.cs
+++ b/src/Ryujinx/UI/Applet/ControllerAppletDialog.axaml.cs
@@ -9,7 +9,6 @@ using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Services.Hid;
-using System;
using System.Linq;
using System.Threading.Tasks;
@@ -104,9 +103,7 @@ namespace Ryujinx.Ava.UI.Applet
if (!string.IsNullOrWhiteSpace(path))
{
- SvgSource source = new(default(Uri));
-
- source.Load(EmbeddedResources.GetStream(path));
+ SvgSource source = SvgSource.LoadFromStream(EmbeddedResources.GetStream(path));
image.Source = source;
}
diff --git a/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs b/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs
index 74da45979..89cc6496d 100644
--- a/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs
+++ b/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs
@@ -181,9 +181,7 @@ namespace Ryujinx.Ava.UI.ViewModels.Input
if (!string.IsNullOrWhiteSpace(_controllerImage))
{
- SvgSource source = new(default(Uri));
-
- source.Load(EmbeddedResources.GetStream(_controllerImage));
+ SvgSource source = SvgSource.LoadFromStream(EmbeddedResources.GetStream(_controllerImage));
image.Source = source;
}
From 2ca0b17339ada361e5f8edbf1f8dfab741e496f5 Mon Sep 17 00:00:00 2001
From: Ac_K
Date: Tue, 14 May 2024 17:47:03 +0200
Subject: [PATCH 13/15] New Crowdin updates (#6590)
* New translations en_us.json (Arabic)
* New translations en_us.json (Russian)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (French)
* New translations en_us.json (Russian)
* New translations en_us.json (Spanish)
* New translations en_us.json (Arabic)
* New translations en_us.json (German)
* New translations en_us.json (Greek)
* New translations en_us.json (Hebrew)
* New translations en_us.json (Italian)
* New translations en_us.json (Japanese)
* New translations en_us.json (Korean)
* New translations en_us.json (Polish)
* New translations en_us.json (Russian)
* New translations en_us.json (Turkish)
* New translations en_us.json (Ukrainian)
* New translations en_us.json (Chinese Simplified)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (Portuguese, Brazilian)
* New translations en_us.json (Thai)
* New translations en_us.json (French)
* New translations en_us.json (Arabic)
* New translations en_us.json (Italian)
* New translations en_us.json (Korean)
* New translations en_us.json (Russian)
* New translations en_us.json (Ukrainian)
* New translations en_us.json (Chinese Simplified)
* New translations en_us.json (Arabic)
* New translations en_us.json (Polish)
* New translations en_us.json (Turkish)
* New translations en_us.json (Arabic)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (Russian)
* New translations en_us.json (French)
* New translations en_us.json (Thai)
* New translations en_us.json (Spanish)
* New translations en_us.json (Arabic)
* New translations en_us.json (German)
* New translations en_us.json (Greek)
* New translations en_us.json (Hebrew)
* New translations en_us.json (Italian)
* New translations en_us.json (Japanese)
* New translations en_us.json (Korean)
* New translations en_us.json (Polish)
* New translations en_us.json (Russian)
* New translations en_us.json (Turkish)
* New translations en_us.json (Ukrainian)
* New translations en_us.json (Chinese Simplified)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (Portuguese, Brazilian)
* New translations en_us.json (Thai)
* New translations en_us.json (French)
* New translations en_us.json (Arabic)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (Arabic)
* New translations en_us.json (Italian)
* New translations en_us.json (Arabic)
* New translations en_us.json (Italian)
* New translations en_us.json (Spanish)
* New translations en_us.json (Russian)
* New translations en_us.json (Russian)
* New translations en_us.json (Thai)
* New translations en_us.json (Spanish)
* New translations en_us.json (Arabic)
* New translations en_us.json (German)
* New translations en_us.json (Greek)
* New translations en_us.json (Hebrew)
* New translations en_us.json (Italian)
* New translations en_us.json (Japanese)
* New translations en_us.json (Korean)
* New translations en_us.json (Polish)
* New translations en_us.json (Russian)
* New translations en_us.json (Turkish)
* New translations en_us.json (Ukrainian)
* New translations en_us.json (Chinese Simplified)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (Portuguese, Brazilian)
* New translations en_us.json (Thai)
* New translations en_us.json (French)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (Arabic)
* New translations en_us.json (Russian)
* New translations en_us.json (Turkish)
* New translations en_us.json (Chinese Simplified)
* New translations en_us.json (Russian)
* New translations en_us.json (Chinese Simplified)
* New translations en_us.json (Russian)
* New translations en_us.json (Portuguese, Brazilian)
* New translations en_us.json (German)
---
src/Ryujinx/Assets/Locales/ar_SA.json | 547 +++++++++++++++-----------
src/Ryujinx/Assets/Locales/de_DE.json | 107 +++++
src/Ryujinx/Assets/Locales/el_GR.json | 107 +++++
src/Ryujinx/Assets/Locales/es_ES.json | 123 +++++-
src/Ryujinx/Assets/Locales/fr_FR.json | 113 +++++-
src/Ryujinx/Assets/Locales/he_IL.json | 107 +++++
src/Ryujinx/Assets/Locales/it_IT.json | 109 ++++-
src/Ryujinx/Assets/Locales/ja_JP.json | 107 +++++
src/Ryujinx/Assets/Locales/ko_KR.json | 107 +++++
src/Ryujinx/Assets/Locales/pl_PL.json | 119 +++++-
src/Ryujinx/Assets/Locales/pt_BR.json | 107 +++++
src/Ryujinx/Assets/Locales/ru_RU.json | 261 ++++++++----
src/Ryujinx/Assets/Locales/th_TH.json | 325 ++++++++++-----
src/Ryujinx/Assets/Locales/tr_TR.json | 135 ++++++-
src/Ryujinx/Assets/Locales/uk_UA.json | 107 +++++
src/Ryujinx/Assets/Locales/zh_CN.json | 127 +++++-
src/Ryujinx/Assets/Locales/zh_TW.json | 139 ++++++-
17 files changed, 2283 insertions(+), 464 deletions(-)
diff --git a/src/Ryujinx/Assets/Locales/ar_SA.json b/src/Ryujinx/Assets/Locales/ar_SA.json
index 51df3a052..73e55633b 100644
--- a/src/Ryujinx/Assets/Locales/ar_SA.json
+++ b/src/Ryujinx/Assets/Locales/ar_SA.json
@@ -1,38 +1,42 @@
{
- "Language": "العربية",
- "MenuBarFileOpenApplet": "فتح التطبيق المُصغَّر",
- "MenuBarFileOpenAppletOpenMiiAppletToolTip": "افتح تطبيق محرر الـMii المُصغَّر في الوضع المستقل",
+ "Language": "اَلْعَرَبِيَّةُ",
+ "MenuBarFileOpenApplet": "فتح التطبيق المصغر",
+ "MenuBarFileOpenAppletOpenMiiAppletToolTip": "افتح تطبيق تحرير Mii في الوضع المستقل",
"SettingsTabInputDirectMouseAccess": "الوصول المباشر للفأرة",
"SettingsTabSystemMemoryManagerMode": "وضع إدارة الذاكرة:",
"SettingsTabSystemMemoryManagerModeSoftware": "البرنامج",
"SettingsTabSystemMemoryManagerModeHost": "المُضيف (سريع)",
- "SettingsTabSystemMemoryManagerModeHostUnchecked": "المضيف غير محدد (سريع، غير آمن)",
- "SettingsTabSystemUseHypervisor": "استخدم الهايبرڤايزور",
+ "SettingsTabSystemMemoryManagerModeHostUnchecked": "المضيف (غير مفحوص) (أسرع، غير آمن)",
+ "SettingsTabSystemUseHypervisor": "استخدم مراقب الأجهزة الافتراضية",
"MenuBarFile": "_ملف",
"MenuBarFileOpenFromFile": "_تحميل تطبيق من ملف",
- "MenuBarFileOpenUnpacked": "تحميل لعبه غير محزومه",
- "MenuBarFileOpenEmuFolder": "فتح مجلد Ryujinx",
+ "MenuBarFileOpenUnpacked": "تحميل لُعْبَة غير محزومة",
+ "MenuBarFileOpenEmuFolder": "فتح مجلد Ryujinx",
"MenuBarFileOpenLogsFolder": "فتح مجلد السجلات",
"MenuBarFileExit": "_خروج",
"MenuBarOptions": "_خيارات",
- "MenuBarOptionsToggleFullscreen": "وضع ملء الشاشة",
+ "MenuBarOptionsToggleFullscreen": "التبديل إلى وضع ملء الشاشة",
"MenuBarOptionsStartGamesInFullscreen": "ابدأ الألعاب في وضع ملء الشاشة",
"MenuBarOptionsStopEmulation": "إيقاف المحاكاة",
- "MenuBarOptionsSettings": "الإعدادات",
- "MenuBarOptionsManageUserProfiles": "إدارة الملفات الشخصية للمستخدم",
- "MenuBarActions": "الإجراءات",
+ "MenuBarOptionsSettings": "_الإعدادات",
+ "MenuBarOptionsManageUserProfiles": "_إدارة الملفات الشخصية للمستخدم",
+ "MenuBarActions": "_الإجراءات",
"MenuBarOptionsSimulateWakeUpMessage": "محاكاة رسالة الاستيقاظ",
- "MenuBarActionsScanAmiibo": "فحص Amiibo",
- "MenuBarTools": "الأدوات",
- "MenuBarToolsInstallFirmware": "تثبيت البرامج الثابتة",
- "MenuBarFileToolsInstallFirmwareFromFile": "تثبيت البرنامج الثابت من XCI أو ZIP",
+ "MenuBarActionsScanAmiibo": "فحص Amiibo",
+ "MenuBarTools": "_الأدوات",
+ "MenuBarToolsInstallFirmware": "تثبيت البرنامج الثابت",
+ "MenuBarFileToolsInstallFirmwareFromFile": "تثبيت برنامج ثابت من XCI أو ZIP",
"MenuBarFileToolsInstallFirmwareFromDirectory": "تثبيت برنامج ثابت من مجلد",
"MenuBarToolsManageFileTypes": "إدارة أنواع الملفات",
"MenuBarToolsInstallFileTypes": "تثبيت أنواع الملفات",
"MenuBarToolsUninstallFileTypes": "إزالة أنواع الملفات",
+ "MenuBarView": "_عرض",
+ "MenuBarViewWindow": "حجم النافذة",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_مساعدة",
"MenuBarHelpCheckForUpdates": "تحقق من التحديثات",
- "MenuBarHelpAbout": "عن البرنامج",
+ "MenuBarHelpAbout": "حول",
"MenuSearch": "بحث...",
"GameListHeaderFavorite": "مفضلة",
"GameListHeaderIcon": "الأيقونة",
@@ -40,62 +44,63 @@
"GameListHeaderDeveloper": "المطور",
"GameListHeaderVersion": "الإصدار",
"GameListHeaderTimePlayed": "وقت اللعب",
- "GameListHeaderLastPlayed": "اخر تشغيل",
- "GameListHeaderFileExtension": "امتداد الملف",
+ "GameListHeaderLastPlayed": "آخر مرة لُعبت",
+ "GameListHeaderFileExtension": "صيغة الملف",
"GameListHeaderFileSize": "حجم الملف",
"GameListHeaderPath": "المسار",
"GameListContextMenuOpenUserSaveDirectory": "فتح مجلد حفظ المستخدم",
"GameListContextMenuOpenUserSaveDirectoryToolTip": "يفتح المجلد الذي يحتوي على حفظ المستخدم للتطبيق",
"GameListContextMenuOpenDeviceSaveDirectory": "فتح مجلد حفظ الجهاز",
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "يفتح المجلد الذي يحتوي على حفظ الجهاز للتطبيق",
- "GameListContextMenuOpenBcatSaveDirectory": "فتح مجلد حفظ الـBCAT",
- "GameListContextMenuOpenBcatSaveDirectoryToolTip": "يفتح المجلد الذي يحتوي على حفظ الـBCAT للتطبيق",
- "GameListContextMenuManageTitleUpdates": "إدارة تحديثات العنوان",
- "GameListContextMenuManageTitleUpdatesToolTip": "يفتح نافذة إدارة تحديث العنوان",
+ "GameListContextMenuOpenBcatSaveDirectory": "فتح مجلد حفظ الـBCAT",
+ "GameListContextMenuOpenBcatSaveDirectoryToolTip": "يفتح المجلد الذي يحتوي على حفظ الـBCAT للتطبيق",
+ "GameListContextMenuManageTitleUpdates": "إدارة تحديثات اللُعبة",
+ "GameListContextMenuManageTitleUpdatesToolTip": "يفتح نافذة إدارة تحديث اللُعبة",
"GameListContextMenuManageDlc": "إدارة المحتوي الإضافي",
"GameListContextMenuManageDlcToolTip": "يفتح نافذة إدارة المحتوي الإضافي",
"GameListContextMenuCacheManagement": "إدارة ذاكرة التخزين المؤقت",
- "GameListContextMenuCacheManagementPurgePptc": "إعادة بناء PPTC في قائمة الانتظار",
- "GameListContextMenuCacheManagementPurgePptcToolTip": "تنشيط PPTC لإعادة البناء في وقت التمهيد عند بدء تشغيل اللعبة التالية",
- "GameListContextMenuCacheManagementPurgeShaderCache": "إزالة ذاكرة التشغيل المؤقتة للمظللات ",
- "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "حذف الذاكرة المؤقتة للمظللات الخاصة بالتطبيق",
- "GameListContextMenuCacheManagementOpenPptcDirectory": "فتح مجلد PPTC",
- "GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "يفتح المجلد الذي يحتوي على الـPPTC للتطبيق",
- "GameListContextMenuCacheManagementOpenShaderCacheDirectory": "فتح مجلد الذاكرة المؤقتة للمظللات ",
- "GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "يفتح المجلد الذي يحتوي على ذاكرة التشغيل المؤقتة للمظللات الخاصة بالتطبيق",
- "GameListContextMenuExtractData": "إستخراج البيانات",
+ "GameListContextMenuCacheManagementPurgePptc": "قائمة انتظار إعادة بناء الـPPTC",
+ "GameListContextMenuCacheManagementPurgePptcToolTip": "تنشيط PPTC لإعادة البناء في وقت الإقلاع عند بدء تشغيل اللعبة التالي",
+ "GameListContextMenuCacheManagementPurgeShaderCache": "تنظيف ذاكرة مرشحات الفيديو المؤقتة",
+ "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "يحذف ذاكرة مرشحات الفيديو المؤقتة الخاصة بالتطبيق",
+ "GameListContextMenuCacheManagementOpenPptcDirectory": "فتح مجلد PPTC",
+ "GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "يفتح المجلد الذي يحتوي على ذاكرة التخزين المؤقت للترجمة المستمرة (PPTC) للتطبيق",
+ "GameListContextMenuCacheManagementOpenShaderCacheDirectory": "فتح مجلد الذاكرة المؤقتة لمرشحات الفيديو ",
+ "GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "يفتح المجلد الذي يحتوي على ذاكرة المظللات المؤقتة للتطبيق",
+ "GameListContextMenuExtractData": "استخراج البيانات",
"GameListContextMenuExtractDataExeFS": "ExeFS",
- "GameListContextMenuExtractDataExeFSToolTip": "إستخراج قسم ExeFS من التكوين الحالي للتطبيقات (بما في ذلك التحديثات)",
+ "GameListContextMenuExtractDataExeFSToolTip": " استخراج قسم نظام الملفات القابل للتنفيذ (ExeFS) من الإعدادات الحالية للتطبيقات (يتضمن التحديثات)",
"GameListContextMenuExtractDataRomFS": "RomFS",
- "GameListContextMenuExtractDataRomFSToolTip": "استخراج قسم RomFS من التكوين الحالي للتطبيقات (بما في ذلك التحديثات)",
+ "GameListContextMenuExtractDataRomFSToolTip": "استخراج قسم RomFS من الإعدادات الحالية للتطبيقات (يتضمن التحديثات)",
"GameListContextMenuExtractDataLogo": "شعار",
- "GameListContextMenuExtractDataLogoToolTip": "استخراج قسم الشعار من التكوين الحالي للتطبيقات (بما في ذلك التحديثات)",
+ "GameListContextMenuExtractDataLogoToolTip": "استخراج قسم الشعار من الإعدادات الحالية للتطبيقات (يتضمن التحديثات)",
"GameListContextMenuCreateShortcut": "إنشاء اختصار للتطبيق",
- "GameListContextMenuCreateShortcutToolTip": "قم بإنشاء اختصار لسطح المكتب لتشغيل التطبيق المحدد",
- "GameListContextMenuCreateShortcutToolTipMacOS": "قم بإنشاء اختصار في مجلد تطبيقات نظام التشغيل MacOS الذي يقوم بتشغيل التطبيق المحدد",
- "GameListContextMenuOpenModsDirectory": "فتح مجلد التعديلات",
- "GameListContextMenuOpenModsDirectoryToolTip": "يفتح المجلد الذي يحتوي على تعديلات التطبيق",
- "GameListContextMenuOpenSdModsDirectory": "فتح مجلد تعديلات Atmosphere",
- "GameListContextMenuOpenSdModsDirectoryToolTip": "يفتح دليل Atmosphere لبطاقة SD البديلة الذي يحتوي على تعديلات التطبيق. مفيد للتعديلات التي تم تعبئتها للأجهزة الحقيقية.",
- "StatusBarGamesLoaded": "{0}/{1} الألعاب التي تم تحميلها",
+ "GameListContextMenuCreateShortcutToolTip": "أنشئ اختصار سطح مكتب لتشغيل التطبيق المحدد",
+ "GameListContextMenuCreateShortcutToolTipMacOS": "أنشئ اختصار يُشغل التطبيق المحدد في مجلد تطبيقات macOS",
+ "GameListContextMenuOpenModsDirectory": "فتح مجلد التعديلات (Mods)",
+ "GameListContextMenuOpenModsDirectoryToolTip": "يفتح المجلد الذي يحتوي على تعديلات(mods) التطبيق",
+ "GameListContextMenuOpenSdModsDirectory": "فتح مجلد تعديلات(mods) أتموسفير",
+ "GameListContextMenuOpenSdModsDirectoryToolTip": "يفتح مجلد أتموسفير لبطاقة SD البديلة الذي يحتوي على تعديلات التطبيق. مفيد للتعديلات التي تم تعبئتها للأجهزة الحقيقية.",
+ "StatusBarGamesLoaded": "{0}/{1} لعبة تم تحميلها",
"StatusBarSystemVersion": "إصدار النظام: {0}",
"LinuxVmMaxMapCountDialogTitle": "الحد الأدنى لتعيينات الذاكرة المكتشفة",
"LinuxVmMaxMapCountDialogTextPrimary": "هل ترغب في زيادة قيمة vm.max_map_count إلى {0}",
- "LinuxVmMaxMapCountDialogTextSecondary": "قد تحاول بعض الألعاب إنشاء المزيد من تعيينات الذاكرة أكثر مما هو مسموح به حاليا. سيتحطم Ryujinx بمجرد تجاوز هذا الحد.",
+ "LinuxVmMaxMapCountDialogTextSecondary": "قد تحاول بعض الألعاب إنشاء المزيد من تعيينات الذاكرة أكثر مما هو مسموح به حاليا. سيغلق ريوجينكس بمجرد تجاوز هذا الحد.",
"LinuxVmMaxMapCountDialogButtonUntilRestart": "نعم، حتى إعادة التشغيل التالية",
- "LinuxVmMaxMapCountDialogButtonPersistent": "نعم، بشكل دائم",
+ "LinuxVmMaxMapCountDialogButtonPersistent": "نعم، دائمًا",
"LinuxVmMaxMapCountWarningTextPrimary": "الحد الأقصى لمقدار تعيينات الذاكرة أقل من الموصى به.",
- "LinuxVmMaxMapCountWarningTextSecondary": "القيمة الحالية لـ vm.max_map_count ({0}) أقل من {1}. قد تحاول بعض الألعاب إنشاء المزيد من تعيينات الذاكرة أكثر مما هو مسموح به حاليا. سيتحطم Ryujinx بمجرد تجاوز هذا الحد.\n\nقد ترغب في زيادة الحد اليدوي أو تثبيت pkexec، مما يسمح لـ Ryujinx بالمساعدة في ذلك.",
+ "LinuxVmMaxMapCountWarningTextSecondary": "القيمة الحالية لـ vm.max_map_count ({0}) أقل من {1}. قد تحاول بعض الألعاب إنشاء المزيد من تعيينات الذاكرة أكثر مما هو مسموح به حاليا. سيغلق ريوجينكس بمجرد تجاوز هذا الحد.\n\nقد ترغب إما في زيادة الحد يدويا أو تثبيت pkexec، مما يسمح لـ ريوجينكس بالمساعدة في ذلك.",
"Settings": "إعدادات",
"SettingsTabGeneral": "واجهة المستخدم",
- "SettingsTabGeneralGeneral": "العامة",
+ "SettingsTabGeneralGeneral": "عام",
"SettingsTabGeneralEnableDiscordRichPresence": "تمكين وجود ديسكورد الغني",
"SettingsTabGeneralCheckUpdatesOnLaunch": "التحقق من وجود تحديثات عند التشغيل",
"SettingsTabGeneralShowConfirmExitDialog": "إظهار مربع حوار \"تأكيد الخروج\"",
+ "SettingsTabGeneralRememberWindowState": "تذكر حجم/موضع النافذة",
"SettingsTabGeneralHideCursor": "إخفاء المؤشر:",
- "SettingsTabGeneralHideCursorNever": "مطلقاً",
+ "SettingsTabGeneralHideCursorNever": "مطلقا",
"SettingsTabGeneralHideCursorOnIdle": "عند الخمول",
- "SettingsTabGeneralHideCursorAlways": "دائماً",
+ "SettingsTabGeneralHideCursorAlways": "دائما",
"SettingsTabGeneralGameDirectories": "مجلدات الألعاب",
"SettingsTabGeneralAdd": "إضافة",
"SettingsTabGeneralRemove": "إزالة",
@@ -127,24 +132,24 @@
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "إسبانية أمريكا اللاتينية",
"SettingsTabSystemSystemLanguageSimplifiedChinese": "الصينية المبسطة",
"SettingsTabSystemSystemLanguageTraditionalChinese": "الصينية التقليدية",
- "SettingsTabSystemSystemTimeZone": "نظام التوقيت للنظام:",
+ "SettingsTabSystemSystemTimeZone": "النطاق الزمني للنظام:",
"SettingsTabSystemSystemTime": "توقيت النظام:",
"SettingsTabSystemEnableVsync": "VSync",
- "SettingsTabSystemEnablePptc": "PPTC (Profiled Persistent Translation Cache)",
- "SettingsTabSystemEnableFsIntegrityChecks": "FS Integrity Checks",
+ "SettingsTabSystemEnablePptc": "PPTC (ذاكرة التخزين المؤقت للترجمة المستمرة)",
+ "SettingsTabSystemEnableFsIntegrityChecks": "التحقق من سلامة نظام الملفات",
"SettingsTabSystemAudioBackend": "خلفية الصوت:",
"SettingsTabSystemAudioBackendDummy": "زائف",
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
"SettingsTabSystemAudioBackendSoundIO": "SoundIO",
"SettingsTabSystemAudioBackendSDL2": "SDL2",
- "SettingsTabSystemHacks": "الاختراقات",
+ "SettingsTabSystemHacks": "هاكات",
"SettingsTabSystemHacksNote": "قد يتسبب في عدم الاستقرار",
"SettingsTabSystemExpandDramSize": "استخدام تخطيط الذاكرة البديل (المطورين)",
"SettingsTabSystemIgnoreMissingServices": "تجاهل الخدمات المفقودة",
"SettingsTabGraphics": "الرسومات",
- "SettingsTabGraphicsAPI": "الرسومات API",
+ "SettingsTabGraphicsAPI": "API الرسومات ",
"SettingsTabGraphicsEnableShaderCache": "تفعيل ذاكرة المظللات المؤقتة",
- "SettingsTabGraphicsAnisotropicFiltering": "تصفية متباين الخواص:",
+ "SettingsTabGraphicsAnisotropicFiltering": "تصفية:",
"SettingsTabGraphicsAnisotropicFilteringAuto": "تلقائي",
"SettingsTabGraphicsAnisotropicFiltering2x": "2x",
"SettingsTabGraphicsAnisotropicFiltering4x": "4×",
@@ -152,7 +157,7 @@
"SettingsTabGraphicsAnisotropicFiltering16x": "16x",
"SettingsTabGraphicsResolutionScale": "مقياس الدقة",
"SettingsTabGraphicsResolutionScaleCustom": "مخصص (لا ينصح به)",
- "SettingsTabGraphicsResolutionScaleNative": "الأصل (720p/1080p)",
+ "SettingsTabGraphicsResolutionScaleNative": "الأصل (720p/1080p)",
"SettingsTabGraphicsResolutionScale2x": "2x (1440p/2160p)",
"SettingsTabGraphicsResolutionScale3x": "3x (2160p/3240p)",
"SettingsTabGraphicsResolutionScale4x": "4x (2880p/4320p) (لا ينصح به)",
@@ -162,11 +167,11 @@
"SettingsTabGraphicsAspectRatio16x10": "16:10",
"SettingsTabGraphicsAspectRatio21x9": "21:9",
"SettingsTabGraphicsAspectRatio32x9": "32:9",
- "SettingsTabGraphicsAspectRatioStretch": "تمدد لتلائم حجم النافذة",
+ "SettingsTabGraphicsAspectRatioStretch": "تمديد لتناسب النافذة",
"SettingsTabGraphicsDeveloperOptions": "خيارات المطور",
- "SettingsTabGraphicsShaderDumpPath": "مسار تفريغ الرسومات:",
- "SettingsTabLogging": "التسجيل",
- "SettingsTabLoggingLogging": "التسجيل",
+ "SettingsTabGraphicsShaderDumpPath": "مسار تفريغ المظللات:",
+ "SettingsTabLogging": "تسجيل",
+ "SettingsTabLoggingLogging": "تسجيل",
"SettingsTabLoggingEnableLoggingToFile": "تفعيل التسجيل إلى ملف",
"SettingsTabLoggingEnableStubLogs": "تفعيل سجلات الـStub",
"SettingsTabLoggingEnableInfoLogs": "تفعيل سجلات المعلومات",
@@ -174,8 +179,8 @@
"SettingsTabLoggingEnableErrorLogs": "تفعيل سجلات الأخطاء",
"SettingsTabLoggingEnableTraceLogs": "تفعيل سجلات التتبع",
"SettingsTabLoggingEnableGuestLogs": "تفعيل سجلات الضيوف",
- "SettingsTabLoggingEnableFsAccessLogs": "تمكين سجلات الوصول لـ Fs",
- "SettingsTabLoggingFsGlobalAccessLogMode": "وضع سجل وصول عالمي Fs :",
+ "SettingsTabLoggingEnableFsAccessLogs": "تمكين سجلات الوصول إلى نظام الملفات",
+ "SettingsTabLoggingFsGlobalAccessLogMode": "وضع سجل الوصول العالمي لنظام الملفات:",
"SettingsTabLoggingDeveloperOptions": "خيارات المطور",
"SettingsTabLoggingDeveloperOptionsNote": "تحذير: سوف يقلل من الأداء",
"SettingsTabLoggingGraphicsBackendLogLevel": "مستوى سجل خلفية الرسومات:",
@@ -185,15 +190,15 @@
"SettingsTabLoggingGraphicsBackendLogLevelAll": "الكل",
"SettingsTabLoggingEnableDebugLogs": "تمكين سجلات التصحيح",
"SettingsTabInput": "الإدخال",
- "SettingsTabInputEnableDockedMode": "مركب بالمنصة",
- "SettingsTabInputDirectKeyboardAccess": "الوصول المباشر إلى لوحة المفاتيح",
+ "SettingsTabInputEnableDockedMode": "تركيب بالمنصة",
+ "SettingsTabInputDirectKeyboardAccess": "الوصول المباشر للوحة المفاتيح",
"SettingsButtonSave": "حفظ",
"SettingsButtonClose": "إغلاق",
"SettingsButtonOk": "موافق",
"SettingsButtonCancel": "إلغاء",
"SettingsButtonApply": "تطبيق",
"ControllerSettingsPlayer": "اللاعب",
- "ControllerSettingsPlayer1": "اللاعب ١",
+ "ControllerSettingsPlayer1": "اللاعب 1",
"ControllerSettingsPlayer2": "اللاعب 2",
"ControllerSettingsPlayer3": "اللاعب 3",
"ControllerSettingsPlayer4": "اللاعب 4",
@@ -205,12 +210,12 @@
"ControllerSettingsInputDevice": "جهاز الإدخال",
"ControllerSettingsRefresh": "تحديث",
"ControllerSettingsDeviceDisabled": "معطل",
- "ControllerSettingsControllerType": "نوع ذراع التحكم",
+ "ControllerSettingsControllerType": "نوع وحدة التحكم",
"ControllerSettingsControllerTypeHandheld": "محمول",
- "ControllerSettingsControllerTypeProController": "Pro Controller",
- "ControllerSettingsControllerTypeJoyConPair": "اقتران جوي كون",
- "ControllerSettingsControllerTypeJoyConLeft": "يسار جوي كون",
- "ControllerSettingsControllerTypeJoyConRight": "يمين جوي كون",
+ "ControllerSettingsControllerTypeProController": "وحدة تحكم برو",
+ "ControllerSettingsControllerTypeJoyConPair": "زوج جوي كون",
+ "ControllerSettingsControllerTypeJoyConLeft": "جوي كون اليسار ",
+ "ControllerSettingsControllerTypeJoyConRight": " جوي كون اليمين",
"ControllerSettingsProfile": "الملف الشخصي",
"ControllerSettingsProfileDefault": "افتراضي",
"ControllerSettingsLoad": "تحميل",
@@ -223,13 +228,13 @@
"ControllerSettingsButtonY": "Y",
"ControllerSettingsButtonPlus": "+",
"ControllerSettingsButtonMinus": "-",
- "ControllerSettingsDPad": "لوحة الاتجاه",
+ "ControllerSettingsDPad": "أسهم الاتجاهات",
"ControllerSettingsDPadUp": "اعلى",
"ControllerSettingsDPadDown": "أسفل",
"ControllerSettingsDPadLeft": "يسار",
"ControllerSettingsDPadRight": "يمين",
"ControllerSettingsStickButton": "زر",
- "ControllerSettingsStickUp": "اعلى",
+ "ControllerSettingsStickUp": "فوق",
"ControllerSettingsStickDown": "أسفل",
"ControllerSettingsStickLeft": "يسار",
"ControllerSettingsStickRight": "يمين",
@@ -239,11 +244,11 @@
"ControllerSettingsStickDeadzone": "المنطقة الميتة:",
"ControllerSettingsLStick": "العصا اليسرى",
"ControllerSettingsRStick": "العصا اليمنى",
- "ControllerSettingsTriggersLeft": "المحفزات اليسرى",
- "ControllerSettingsTriggersRight": "المحفزات اليمني",
- "ControllerSettingsTriggersButtonsLeft": "أزرار التحفيز اليسرى",
- "ControllerSettingsTriggersButtonsRight": "أزرار التحفيز اليمنى",
- "ControllerSettingsTriggers": "المحفزات",
+ "ControllerSettingsTriggersLeft": "الأزندة اليسرى",
+ "ControllerSettingsTriggersRight": "الأزندة اليمني",
+ "ControllerSettingsTriggersButtonsLeft": "أزرار الزناد اليسرى",
+ "ControllerSettingsTriggersButtonsRight": "أزرار الزناد اليمنى",
+ "ControllerSettingsTriggers": "أزندة",
"ControllerSettingsTriggerL": "L",
"ControllerSettingsTriggerR": "R",
"ControllerSettingsTriggerZL": "ZL",
@@ -258,27 +263,128 @@
"ControllerSettingsTriggerThreshold": "قوة التحفيز:",
"ControllerSettingsMotion": "الحركة",
"ControllerSettingsMotionUseCemuhookCompatibleMotion": "استخدام الحركة المتوافقة مع CemuHook",
- "ControllerSettingsMotionControllerSlot": "خانة ذراع التحكم:",
+ "ControllerSettingsMotionControllerSlot": "خانة وحدة التحكم:",
"ControllerSettingsMotionMirrorInput": "إعادة الإدخال",
- "ControllerSettingsMotionRightJoyConSlot": "خانة اليمين JoyCon :",
+ "ControllerSettingsMotionRightJoyConSlot": "خانة جويكون اليمين :",
"ControllerSettingsMotionServerHost": "مضيف الخادم:",
- "ControllerSettingsMotionGyroSensitivity": "حساسية الغيرو:",
- "ControllerSettingsMotionGyroDeadzone": "منطقة الغيرو الميتة:",
+ "ControllerSettingsMotionGyroSensitivity": "حساسية مستشعر الحركة:",
+ "ControllerSettingsMotionGyroDeadzone": "منطقة مستشعر الحركة الميتة:",
"ControllerSettingsSave": "حفظ",
"ControllerSettingsClose": "إغلاق",
+ "KeyUnknown": "مجهول",
+ "KeyShiftLeft": "زر Shift الأيسر",
+ "KeyShiftRight": "زر Shift الأيمن",
+ "KeyControlLeft": "زر Ctrl الأيسر",
+ "KeyMacControlLeft": "زر ⌃ الأيسر",
+ "KeyControlRight": "زر Ctrl الأيمن",
+ "KeyMacControlRight": "زر ⌃ الأيمن",
+ "KeyAltLeft": "زر Alt الأيسر",
+ "KeyMacAltLeft": "زر ⌥ الأيسر",
+ "KeyAltRight": "زر Alt الأيمن",
+ "KeyMacAltRight": "زر ⌥ الأيمن",
+ "KeyWinLeft": "زر ⊞ الأيسر",
+ "KeyMacWinLeft": "زر ⌘ الأيسر",
+ "KeyWinRight": "زر ⊞ الأيمن",
+ "KeyMacWinRight": "زر ⌘ الأيمن",
+ "KeyMenu": "زر القائمة",
+ "KeyUp": "فوق",
+ "KeyDown": "اسفل",
+ "KeyLeft": "يسار",
+ "KeyRight": "يمين",
+ "KeyEnter": "مفتاح الإدخال",
+ "KeyEscape": "زر Escape",
+ "KeySpace": "مسافة",
+ "KeyTab": "زر Tab",
+ "KeyBackSpace": "زر المسح للخلف",
+ "KeyInsert": "زر Insert",
+ "KeyDelete": "زر الحذف",
+ "KeyPageUp": "زر Page Up",
+ "KeyPageDown": "زر Page Down",
+ "KeyHome": "زر Home",
+ "KeyEnd": "زر End",
+ "KeyCapsLock": "زر الحروف الكبيرة",
+ "KeyScrollLock": "زر Scroll Lock",
+ "KeyPrintScreen": "زر Print Screen",
+ "KeyPause": "زر Pause",
+ "KeyNumLock": "زر Num Lock",
+ "KeyClear": "زر Clear",
+ "KeyKeypad0": "لوحة الأرقام 0",
+ "KeyKeypad1": "لوحة الأرقام 1",
+ "KeyKeypad2": "لوحة الأرقام 2",
+ "KeyKeypad3": "لوحة الأرقام 3",
+ "KeyKeypad4": "لوحة الأرقام 4",
+ "KeyKeypad5": "لوحة الأرقام 5",
+ "KeyKeypad6": "لوحة الأرقام 6",
+ "KeyKeypad7": "لوحة الأرقام 7",
+ "KeyKeypad8": "لوحة الأرقام 8",
+ "KeyKeypad9": "لوحة الأرقام 9",
+ "KeyKeypadDivide": "لوحة الأرقام علامة القسمة",
+ "KeyKeypadMultiply": "لوحة الأرقام علامة الضرب",
+ "KeyKeypadSubtract": "لوحة الأرقام علامة الطرح\n",
+ "KeyKeypadAdd": "لوحة الأرقام علامة الزائد",
+ "KeyKeypadDecimal": "لوحة الأرقام الفاصلة العشرية",
+ "KeyKeypadEnter": "لوحة الأرقام زر الإدخال",
+ "KeyNumber0": "٠",
+ "KeyNumber1": "١",
+ "KeyNumber2": "٢",
+ "KeyNumber3": "٣",
+ "KeyNumber4": "٤",
+ "KeyNumber5": "٥",
+ "KeyNumber6": "٦",
+ "KeyNumber7": "٧",
+ "KeyNumber8": "٨",
+ "KeyNumber9": "٩",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "غير مرتبط",
+ "GamepadLeftStick": "زر عصا التحكم اليسرى",
+ "GamepadRightStick": "زر عصا التحكم اليمنى",
+ "GamepadLeftShoulder": "زر الكتف الأيسر L",
+ "GamepadRightShoulder": "زر الكتف الأيمن R",
+ "GamepadLeftTrigger": "زر الزناد الأيسر (ZL)",
+ "GamepadRightTrigger": "زر الزناد الأيمن (ZR)",
+ "GamepadDpadUp": "فوق",
+ "GamepadDpadDown": "اسفل",
+ "GamepadDpadLeft": "يسار",
+ "GamepadDpadRight": "يمين",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "دليل",
+ "GamepadMisc1": "متنوع",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "لوحة اللمس",
+ "GamepadSingleLeftTrigger0": "زر الزناد الأيسر 0",
+ "GamepadSingleRightTrigger0": "زر الزناد الأيمن 0",
+ "GamepadSingleLeftTrigger1": "زر الزناد الأيسر 1",
+ "GamepadSingleRightTrigger1": "زر الزناد الأيمن 1",
+ "StickLeft": "عصا التحكم اليسرى",
+ "StickRight": "عصا التحكم اليمنى",
"UserProfilesSelectedUserProfile": "الملف الشخصي المحدد للمستخدم:",
"UserProfilesSaveProfileName": "حفظ اسم الملف الشخصي",
"UserProfilesChangeProfileImage": "تغيير صورة الملف الشخصي",
"UserProfilesAvailableUserProfiles": "الملفات الشخصية للمستخدم المتاحة:",
- "UserProfilesAddNewProfile": "أنشئ ملف شخصي",
+ "UserProfilesAddNewProfile": "إنشاء ملف الشخصي",
"UserProfilesDelete": "حذف",
"UserProfilesClose": "إغلاق",
"ProfileNameSelectionWatermark": "اختر اسم مستعار",
"ProfileImageSelectionTitle": "تحديد صورة الملف الشخصي",
"ProfileImageSelectionHeader": "اختر صورة الملف الشخصي",
- "ProfileImageSelectionNote": "يمكنك استيراد صورة ملف تعريف مخصصة، أو تحديد صورة رمزية من البرامج الثابتة للنظام",
+ "ProfileImageSelectionNote": "يمكنك استيراد صورة ملف شخصي مخصصة، أو تحديد صورة رمزية من البرامج الثابتة للنظام",
"ProfileImageSelectionImportImage": "استيراد ملف الصورة",
- "ProfileImageSelectionSelectAvatar": "حدد الصورة الرمزية للبرنامج الثابت",
+ "ProfileImageSelectionSelectAvatar": "حدد الصورة الرمزية من البرنامج الثابتة",
"InputDialogTitle": "حوار الإدخال",
"InputDialogOk": "موافق",
"InputDialogCancel": "إلغاء",
@@ -289,13 +395,13 @@
"AvatarSetBackgroundColor": "تعيين لون الخلفية",
"AvatarClose": "إغلاق",
"ControllerSettingsLoadProfileToolTip": "تحميل الملف الشخصي",
- "ControllerSettingsAddProfileToolTip": "إضافة ملف تعريف",
- "ControllerSettingsRemoveProfileToolTip": "إزالة ملف التعريف",
- "ControllerSettingsSaveProfileToolTip": "حفظ ملف التعريف",
+ "ControllerSettingsAddProfileToolTip": "إضافة ملف شخصي",
+ "ControllerSettingsRemoveProfileToolTip": "إزالة الملف الشخصي",
+ "ControllerSettingsSaveProfileToolTip": "حفظ الملف الشخصي",
"MenuBarFileToolsTakeScreenshot": "أخذ لقطة للشاشة",
"MenuBarFileToolsHideUi": "إخفاء واجهة المستخدم",
"GameListContextMenuRunApplication": "تشغيل التطبيق",
- "GameListContextMenuToggleFavorite": "تبديل المفضلة",
+ "GameListContextMenuToggleFavorite": "تعيين كمفضل",
"GameListContextMenuToggleFavoriteToolTip": "تبديل الحالة المفضلة للعبة",
"SettingsTabGeneralTheme": "السمة:",
"SettingsTabGeneralThemeDark": "داكن",
@@ -304,44 +410,44 @@
"ControllerSettingsRumble": "الاهتزاز",
"ControllerSettingsRumbleStrongMultiplier": "مضاعف اهتزاز قوي",
"ControllerSettingsRumbleWeakMultiplier": "مضاعف اهتزاز ضعيف",
- "DialogMessageSaveNotAvailableMessage": "لا يوجد حفظ لـ {0} [{1:x16}]",
- "DialogMessageSaveNotAvailableCreateSaveMessage": "هل ترغب في إنشاء حفظ لهذه اللعبة؟",
- "DialogConfirmationTitle": "Ryujinx - تأكيد",
- "DialogUpdaterTitle": "تحديث Ryujinx",
- "DialogErrorTitle": "Ryujinx - خطأ",
- "DialogWarningTitle": "Ryujinx - تحذير",
- "DialogExitTitle": "Ryujinx - الخروج",
- "DialogErrorMessage": "واجه Ryujinx خطأ",
- "DialogExitMessage": "هل أنت متأكد من أنك تريد إغلاق Ryujinx؟",
+ "DialogMessageSaveNotAvailableMessage": "لا توجد بيانات الحفظ لـ {0} [{1:x16}]",
+ "DialogMessageSaveNotAvailableCreateSaveMessage": "هل ترغب في إنشاء بيانات الحفظ لهذه اللعبة؟",
+ "DialogConfirmationTitle": "ريوجينكس - تأكيد",
+ "DialogUpdaterTitle": "ريوجينكس - المحدث",
+ "DialogErrorTitle": "ريوجينكس - خطأ",
+ "DialogWarningTitle": "ريوجينكس - تحذير",
+ "DialogExitTitle": "ريوجينكس - الخروج",
+ "DialogErrorMessage": "واجه ريوجينكس خطأ",
+ "DialogExitMessage": "هل أنت متأكد من أنك تريد إغلاق ريوجينكس؟",
"DialogExitSubMessage": "سيتم فقدان كافة البيانات غير المحفوظة!",
- "DialogMessageCreateSaveErrorMessage": "حدث خطأ أثناء إنشاء المحفوظة المحددة: {0}",
- "DialogMessageFindSaveErrorMessage": "حدث خطأ أثناء البحث عن البيانات المحفوظة المحددة: {0}",
+ "DialogMessageCreateSaveErrorMessage": "حدث خطأ أثناء إنشاء بيانات الحفظ المحددة: {0}",
+ "DialogMessageFindSaveErrorMessage": "حدث خطأ أثناء البحث عن بيانات الحفظ المحددة: {0}",
"FolderDialogExtractTitle": "اختر المجلد الذي تريد الاستخراج إليه",
"DialogNcaExtractionMessage": "استخراج قسم {0} من {1}...",
- "DialogNcaExtractionTitle": "Ryujinx - مستخرج قسم NCA",
- "DialogNcaExtractionMainNcaNotFoundErrorMessage": "فشل الاستخراج. لم يكن NCA الرئيسي موجودًا في الملف المحدد.",
- "DialogNcaExtractionCheckLogErrorMessage": "فشل الاستخراج. اقرأ ملف السجل لمزيد من المعلومات.",
+ "DialogNcaExtractionTitle": "ريوجينكس - مستخرج قسم NCA",
+ "DialogNcaExtractionMainNcaNotFoundErrorMessage": "فشل الاستخراج. لم يكن NCA الرئيسي موجودا في الملف المحدد.",
+ "DialogNcaExtractionCheckLogErrorMessage": "فشل الاستخراج. اقرأ ملف التسجيل لمزيد من المعلومات.",
"DialogNcaExtractionSuccessMessage": "تم الاستخراج بنجاح.",
- "DialogUpdaterConvertFailedMessage": "فشل تحويل إصدار Ryujinx الحالي.",
+ "DialogUpdaterConvertFailedMessage": "فشل تحويل إصدار ريوجينكس الحالي.",
"DialogUpdaterCancelUpdateMessage": "إلغاء التحديث",
- "DialogUpdaterAlreadyOnLatestVersionMessage": "أنت تستخدم بالفعل أحدث إصدار من Ryujinx!",
- "DialogUpdaterFailedToGetVersionMessage": "حدث خطأ أثناء محاولة الحصول على معلومات الإصدار من إصدار GitHub. يمكن أن يحدث هذا إذا تم تجميع إصدار جديد بواسطة GitHub Actions. جرب مجددا بعد دقائق.",
- "DialogUpdaterConvertFailedGithubMessage": "فشل تحويل إصدار Ryujinx المستلم من إصدار Github.",
- "DialogUpdaterDownloadingMessage": "تحميل التحديث...",
- "DialogUpdaterExtractionMessage": "استخراج التحديث...",
+ "DialogUpdaterAlreadyOnLatestVersionMessage": "أنت تستخدم بالفعل أحدث إصدار من ريوجينكس!",
+ "DialogUpdaterFailedToGetVersionMessage": "حدث خطأ أثناء محاولة الحصول على معلومات الإصدار من إصدار غيت هاب. يمكن أن يحدث هذا إذا تم تجميع إصدار جديد بواسطة إجراءات غيت هاب. جرب مجددا بعد دقائق.",
+ "DialogUpdaterConvertFailedGithubMessage": "فشل تحويل إصدار ريوجينكس المستلم من إصدار غيت هاب.",
+ "DialogUpdaterDownloadingMessage": "جاري تنزيل التحديث...",
+ "DialogUpdaterExtractionMessage": "جاري استخراج التحديث...",
"DialogUpdaterRenamingMessage": "إعادة تسمية التحديث...",
"DialogUpdaterAddingFilesMessage": "إضافة تحديث جديد...",
"DialogUpdaterCompleteMessage": "اكتمل التحديث",
- "DialogUpdaterRestartMessage": "هل تريد إعادة تشغيل Ryujinx الآن؟",
+ "DialogUpdaterRestartMessage": "هل تريد إعادة تشغيل ريوجينكس الآن؟",
"DialogUpdaterNoInternetMessage": "أنت غير متصل بالإنترنت.",
"DialogUpdaterNoInternetSubMessage": "يرجى التحقق من أن لديك اتصال إنترنت فعال!",
- "DialogUpdaterDirtyBuildMessage": "لا يمكنك تحديث البناء القذر من Ryujinx!",
- "DialogUpdaterDirtyBuildSubMessage": "الرجاء تحميل Ryujinx على https://ryujinx.org/ إذا كنت تبحث عن إصدار مدعوم.",
+ "DialogUpdaterDirtyBuildMessage": "لا يمكنك تحديث نسخة القذرة من ريوجينكس!",
+ "DialogUpdaterDirtyBuildSubMessage": "الرجاء تحميل ريوجينكس من https://ryujinx.org إذا كنت تبحث عن إصدار مدعوم.",
"DialogRestartRequiredMessage": "يتطلب إعادة التشغيل",
"DialogThemeRestartMessage": "تم حفظ السمة. إعادة التشغيل مطلوبة لتطبيق السمة.",
"DialogThemeRestartSubMessage": "هل تريد إعادة التشغيل",
"DialogFirmwareInstallEmbeddedMessage": "هل ترغب في تثبيت البرنامج الثابت المدمج في هذه اللعبة؟ (البرنامج الثابت {0})",
- "DialogFirmwareInstallEmbeddedSuccessMessage": "لم يتم العثور على أي برنامج ثابت مثبت ولكن Ryujinx كان قادراً على تثبيت البرنامج الثابت {0} من اللعبة المقدمة.\nسيبدأ المحاكي الآن.",
+ "DialogFirmwareInstallEmbeddedSuccessMessage": "لم يتم العثور على أي برنامج ثابت مثبت ولكن ريوجينكس كان قادرا على تثبيت البرنامج الثابت {0} من اللعبة المقدمة.\nسيبدأ المحاكي الآن.",
"DialogFirmwareNoFirmwareInstalledMessage": "لا يوجد برنامج ثابت مثبت",
"DialogFirmwareInstalledMessage": "تم تثبيت البرنامج الثابت {0}",
"DialogInstallFileTypesSuccessMessage": "تم تثبيت أنواع الملفات بنجاح!",
@@ -349,38 +455,38 @@
"DialogUninstallFileTypesSuccessMessage": "تم إلغاء تثبيت أنواع الملفات بنجاح!",
"DialogUninstallFileTypesErrorMessage": "فشل إلغاء تثبيت أنواع الملفات.",
"DialogOpenSettingsWindowLabel": "فتح نافذة الإعدادات",
- "DialogControllerAppletTitle": "برنامج التحكم",
+ "DialogControllerAppletTitle": "تطبيق وحدة التحكم المصغر",
"DialogMessageDialogErrorExceptionMessage": "خطأ في عرض مربع حوار الرسالة: {0}",
"DialogSoftwareKeyboardErrorExceptionMessage": "خطأ في عرض لوحة مفاتيح البرامج: {0}",
- "DialogErrorAppletErrorExceptionMessage": "Error displaying ErrorApplet Dialog: {0}",
+ "DialogErrorAppletErrorExceptionMessage": "خطأ في عرض مربع حوار خطأ التطبيق المصغر: {0}",
"DialogUserErrorDialogMessage": "{0}: {1}",
"DialogUserErrorDialogInfoMessage": "لمزيد من المعلومات حول كيفية إصلاح هذا الخطأ، اتبع دليل الإعداد الخاص بنا.",
"DialogUserErrorDialogTitle": "خطأ ريوجينكس ({0})",
"DialogAmiiboApiTitle": "أميبو API",
- "DialogAmiiboApiFailFetchMessage": "حدث خطأ أثناء جلب المعلومات من واجهة برمجة التطبيقات.",
- "DialogAmiiboApiConnectErrorMessage": "غير قادر على الاتصال بخادم API Amiibo. قد تكون الخدمة متوقفة أو قد تحتاج إلى التحقق من اتصال الإنترنت الخاص بك على الإنترنت.",
+ "DialogAmiiboApiFailFetchMessage": "حدث خطأ أثناء جلب المعلومات من API.",
+ "DialogAmiiboApiConnectErrorMessage": "غير قادر على الاتصال بخادم API أميبو. قد تكون الخدمة معطلة أو قد تحتاج إلى التحقق من اتصالك بالإنترنت.",
"DialogProfileInvalidProfileErrorMessage": "الملف الشخصي {0} غير متوافق مع نظام تكوين الإدخال الحالي.",
"DialogProfileDefaultProfileOverwriteErrorMessage": "لا يمكن الكتابة فوق الملف الشخصي الافتراضي",
- "DialogProfileDeleteProfileTitle": "حذف ملف التعريف",
+ "DialogProfileDeleteProfileTitle": "حذف الملف الشخصي",
"DialogProfileDeleteProfileMessage": "هذا الإجراء لا رجعة فيه، هل أنت متأكد من أنك تريد المتابعة؟",
"DialogWarning": "تحذير",
- "DialogPPTCDeletionMessage": "أنت على وشك الإنتظار لإعادة بناء PTC على التمهيد التالي :\n\n{0}\n\nهل أنت متأكد من أنك تريد المتابعة؟",
- "DialogPPTCDeletionErrorMessage": "خطأ في إزالة ذاكرة التخزين المؤقت PPTC في {0}: {1}",
- "DialogShaderDeletionMessage": "أنت على وشك حذف ذاكرة التخزين المؤقت لـ Shader من أجل:\n\n{0}\n\nهل انت متأكد انك تريد المتابعة؟",
- "DialogShaderDeletionErrorMessage": "Error purging Shader cache at {0}: {1}",
- "DialogRyujinxErrorMessage": "واجه Ryujinx خطأ",
+ "DialogPPTCDeletionMessage": "أنت على وشك الإنتظار لإعادة بناء ذاكرة التخزين المؤقت للترجمة المستمرة (PPTC) عند الإقلاع التالي لـ:\n\n{0}\n\nأمتأكد من رغبتك في المتابعة؟",
+ "DialogPPTCDeletionErrorMessage": "خطأ خلال تنظيف ذاكرة التخزين المؤقت للترجمة المستمرة (PPTC) في {0}: {1}",
+ "DialogShaderDeletionMessage": "أنت على وشك حذف ذاكرة المظللات المؤقتة ل:\n\n{0}\n\nهل انت متأكد انك تريد المتابعة؟",
+ "DialogShaderDeletionErrorMessage": "حدث خطأ أثناء تنظيف ذاكرة المظللات المؤقتة في {0}: {1}",
+ "DialogRyujinxErrorMessage": "واجه ريوجينكس خطأ",
"DialogInvalidTitleIdErrorMessage": "خطأ في واجهة المستخدم: اللعبة المحددة لم يكن لديها معرف عنوان صالح",
- "DialogFirmwareInstallerFirmwareNotFoundErrorMessage": "لم يتم العثور على فريموير للنظام صالح في {0}.",
+ "DialogFirmwareInstallerFirmwareNotFoundErrorMessage": "لم يتم العثور على برنامج ثابت للنظام صالح في {0}.",
"DialogFirmwareInstallerFirmwareInstallTitle": "تثبيت البرنامج الثابت {0}",
"DialogFirmwareInstallerFirmwareInstallMessage": "سيتم تثبيت إصدار النظام {0}.",
"DialogFirmwareInstallerFirmwareInstallSubMessage": "\n\nهذا سيحل محل إصدار النظام الحالي {0}.",
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\nهل تريد المتابعة؟",
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "تثبيت البرنامج الثابت...",
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "تم تثبيت إصدار النظام {0} بنجاح.",
- "DialogUserProfileDeletionWarningMessage": "لن تكون هناك ملفات تعريف أخرى لفتحها إذا تم حذف الملف الشخصي المحدد",
+ "DialogUserProfileDeletionWarningMessage": "لن تكون هناك ملفات الشخصية أخرى لفتحها إذا تم حذف الملف الشخصي المحدد",
"DialogUserProfileDeletionConfirmMessage": "هل تريد حذف الملف الشخصي المحدد",
- "DialogUserProfileUnsavedChangesTitle": "تحذير - التغييرات غير المحفوظة",
- "DialogUserProfileUnsavedChangesMessage": "لقد قمت بإجراء تغييرات على ملف تعريف المستخدم هذا ولم يتم حفظها.",
+ "DialogUserProfileUnsavedChangesTitle": "تحذير - التغييرات غير محفوظة",
+ "DialogUserProfileUnsavedChangesMessage": "لقد قمت بإجراء تغييرات على الملف الشخصي لهذا المستخدم هذا ولم يتم حفظها.",
"DialogUserProfileUnsavedChangesSubMessage": "هل تريد تجاهل التغييرات؟",
"DialogControllerSettingsModifiedConfirmMessage": "تم تحديث إعدادات وحدة التحكم الحالية.",
"DialogControllerSettingsModifiedConfirmSubMessage": "هل تريد الحفظ ؟",
@@ -388,29 +494,29 @@
"DialogModAlreadyExistsMessage": "التعديل موجود بالفعل",
"DialogModInvalidMessage": "المجلد المحدد لا يحتوي على تعديل!",
"DialogModDeleteNoParentMessage": "فشل الحذف: لم يمكن العثور على المجلد الرئيسي للتعديل\"{0}\"!",
- "DialogDlcNoDlcErrorMessage": "الملف المحدد لا يحتوي على DLC للعنوان المحدد!",
+ "DialogDlcNoDlcErrorMessage": "الملف المحدد لا يحتوي على محتوى إضافي للعنوان المحدد!",
"DialogPerformanceCheckLoggingEnabledMessage": "لقد تم تمكين تسجيل التتبع، والذي تم تصميمه ليتم استخدامه من قبل المطورين فقط.",
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "للحصول على الأداء الأمثل، يوصى بتعطيل تسجيل التتبع. هل ترغب في تعطيل تسجيل التتبع الآن؟",
- "DialogPerformanceCheckShaderDumpEnabledMessage": "لقد قمت بتمكين تفريغ التظليل، والذي تم تصميمه ليستخدمه المطورون فقط.",
- "DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "For optimal performance, it's recommended to disable shader dumping. Would you like to disable shader dumping now?",
+ "DialogPerformanceCheckShaderDumpEnabledMessage": "لقد قمت بتمكين تفريغ المظللات، والذي تم تصميمه ليستخدمه المطورون فقط.",
+ "DialogPerformanceCheckShaderDumpEnabledConfirmMessage": "للحصول على الأداء الأمثل، يوصى بتعطيل تفريغ المظللات. هل ترغب في تعطيل تفريغ المظللات الآن؟",
"DialogLoadAppGameAlreadyLoadedMessage": "تم تحميل لعبة بالفعل",
"DialogLoadAppGameAlreadyLoadedSubMessage": "الرجاء إيقاف المحاكاة أو إغلاق المحاكي قبل بدء لعبة أخرى.",
- "DialogUpdateAddUpdateErrorMessage": "الملف المحدد لا يحتوي على تحديث للملف المحدد!",
- "DialogSettingsBackendThreadingWarningTitle": "Warning - Backend Threading",
- "DialogSettingsBackendThreadingWarningMessage": "Ryujinx must be restarted after changing this option for it to apply fully. Depending on your platform, you may need to manually disable your driver's own multithreading when using Ryujinx's.",
+ "DialogUpdateAddUpdateErrorMessage": "الملف المحدد لا يحتوي على تحديث للعنوان المحدد!",
+ "DialogSettingsBackendThreadingWarningTitle": "تحذير - خلفية متعددة المسارات",
+ "DialogSettingsBackendThreadingWarningMessage": "يجب إعادة تشغيل ريوجينكس بعد تغيير هذا الخيار حتى يتم تطبيقه بالكامل. اعتمادا على النظام الأساسي الخاص بك، قد تحتاج إلى تعطيل تعدد المسارات الخاص ببرنامج الرسومات التشغيل الخاص بك يدويًا عند استخدام الخاص بريوجينكس.",
"DialogModManagerDeletionWarningMessage": "أنت على وشك حذف التعديل: {0}\n\nهل انت متأكد انك تريد المتابعة؟",
"DialogModManagerDeletionAllWarningMessage": "أنت على وشك حذف كافة التعديلات لهذا العنوان.\n\nهل انت متأكد انك تريد المتابعة؟",
"SettingsTabGraphicsFeaturesOptions": "المميزات",
- "SettingsTabGraphicsBackendMultithreading": "Graphics Backend Multithreading:",
+ "SettingsTabGraphicsBackendMultithreading": "تعدد المسارات لخلفية الرسومات:",
"CommonAuto": "تلقائي",
- "CommonOff": "إيقاف",
+ "CommonOff": "معطل",
"CommonOn": "تشغيل",
"InputDialogYes": "نعم",
"InputDialogNo": "لا",
"DialogProfileInvalidProfileNameErrorMessage": "يحتوي اسم الملف على أحرف غير صالحة. يرجى المحاولة مرة أخرى.",
"MenuBarOptionsPauseEmulation": "إيقاف مؤقت",
"MenuBarOptionsResumeEmulation": "استئناف",
- "AboutUrlTooltipMessage": "انقر لفتح موقع Ryujinx في متصفحك الافتراضي.",
+ "AboutUrlTooltipMessage": "انقر لفتح موقع ريوجينكس في متصفحك الافتراضي.",
"AboutDisclaimerMessage": "ريوجينكس لا ينتمي إلى نينتندو™،\nأو أي من شركائها بأي شكل من الأشكال.",
"AboutAmiiboDisclaimerMessage": "AmiiboAPI (www.amiiboapi.com) يتم \nاستخدامه في محاكاة أمبيو لدينا.",
"AboutPatreonUrlTooltipMessage": "انقر لفتح صفحة ريوجينكس في باتريون في متصفحك الافتراضي.",
@@ -419,18 +525,18 @@
"AboutTwitterUrlTooltipMessage": "انقر لفتح صفحة ريوجينكس في تويتر في متصفحك الافتراضي.",
"AboutRyujinxAboutTitle": "حول:",
"AboutRyujinxAboutContent": "ريوجينكس هو محاكي لجهاز نينتندو سويتش™.\nمن فضلك ادعمنا على باتريون.\nاحصل على آخر الأخبار على تويتر أو ديسكورد.\nيمكن للمطورين المهتمين بالمساهمة معرفة المزيد على غيت هاب أو ديسكورد.",
- "AboutRyujinxMaintainersTitle": "تم إصلاحها بواسطة:",
+ "AboutRyujinxMaintainersTitle": "تتم صيانته بواسطة:",
"AboutRyujinxMaintainersContentTooltipMessage": "انقر لفتح صفحة المساهمين في متصفحك الافتراضي.",
"AboutRyujinxSupprtersTitle": "مدعوم على باتريون بواسطة:",
"AmiiboSeriesLabel": "مجموعة أميبو",
"AmiiboCharacterLabel": "شخصية",
"AmiiboScanButtonLabel": "فحصه",
"AmiiboOptionsShowAllLabel": "إظهار كل أميبو",
- "AmiiboOptionsUsRandomTagLabel": "Hack: Use Random tag Uuid",
+ "AmiiboOptionsUsRandomTagLabel": "هاك: استخدم علامة Uuid عشوائية ",
"DlcManagerTableHeadingEnabledLabel": "مفعل",
"DlcManagerTableHeadingTitleIdLabel": "معرف العنوان",
"DlcManagerTableHeadingContainerPathLabel": "مسار الحاوية",
- "DlcManagerTableHeadingFullPathLabel": "المسار كاملاً",
+ "DlcManagerTableHeadingFullPathLabel": "المسار كاملا",
"DlcManagerRemoveAllButton": "حذف الكل",
"DlcManagerEnableAllButton": "تشغيل الكل",
"DlcManagerDisableAllButton": "تعطيل الكل",
@@ -440,100 +546,100 @@
"CommonSort": "فرز",
"CommonShowNames": "عرض الأسماء",
"CommonFavorite": "المفضلة",
- "OrderAscending": "ترتيب تصاعدي",
- "OrderDescending": "ترتيب تنازلي",
+ "OrderAscending": "تصاعدي",
+ "OrderDescending": "تنازلي",
"SettingsTabGraphicsFeatures": "الميزات والتحسينات",
"ErrorWindowTitle": "نافذة الخطأ",
- "ToggleDiscordTooltip": "اختر ما إذا كنت تريد عرض ريوجينكس في نشاط ديسكورد \"يتم تشغيله حاليًا\" أم لا",
- "AddGameDirBoxTooltip": "أدخل دليل اللعبة لإضافته إلى القائمة",
- "AddGameDirTooltip": "إضافة دليل اللعبة إلى القائمة",
- "RemoveGameDirTooltip": "إزالة دليل اللعبة المحدد",
+ "ToggleDiscordTooltip": "اختر ما إذا كنت تريد عرض ريوجينكس في نشاط ديسكورد \"يتم تشغيله حاليا\" أم لا",
+ "AddGameDirBoxTooltip": "أدخل مجلد اللعبة لإضافته إلى القائمة",
+ "AddGameDirTooltip": "إضافة مجلد اللعبة إلى القائمة",
+ "RemoveGameDirTooltip": "إزالة مجلد اللعبة المحدد",
"CustomThemeCheckTooltip": "استخدم سمة أفالونيا المخصصة لواجهة المستخدم الرسومية لتغيير مظهر قوائم المحاكي",
"CustomThemePathTooltip": "مسار سمة واجهة المستخدم المخصصة",
"CustomThemeBrowseTooltip": "تصفح للحصول على سمة واجهة المستخدم المخصصة",
- "DockModeToggleTooltip": "يجعل وضع الإرساء النظام الذي تمت محاكاته بمثابة جهاز نينتندو سويتش الذي تم إرساءه. يؤدي هذا إلى تحسين الدقة الرسومية في معظم الألعاب. على العكس من ذلك، سيؤدي تعطيل هذا إلى جعل النظام الذي تمت محاكاته يعمل كجهاز نينتندو سويتش محمول، مما يقلل من جودة الرسومات.\n\nقم بتكوين عناصر تحكم اللاعب 1 إذا كنت تخطط لاستخدام وضع الإرساء؛ قم بتكوين عناصر التحكم المحمولة إذا كنت تخطط لاستخدام الوضع المحمول.\n\nاتركه مشغل إذا لم تكن متأكدًا.",
- "DirectKeyboardTooltip": "دعم الوصول المباشر إلى لوحة المفاتيح (HID). يوفر وصول الألعاب إلى لوحة المفاتيح الخاصة بك كجهاز لإدخال النص.\n\nيعمل فقط مع الألعاب التي تدعم استخدام لوحة المفاتيح في الأصل على أجهزة سويتش.\n\nاتركه معطلا إذا كنت غير متأكد.",
- "DirectMouseTooltip": "دعم الوصول المباشر إلى لوحة المفاتيح (HID). يوفر وصول الألعاب إلى لوحة المفاتيح الخاصة بك كجهاز لإدخال النص.\n\nيعمل فقط مع الألعاب التي تدعم استخدام لوحة المفاتيح في الأصل على أجهزة سويتش.\n\nاتركه معطلا إذا كنت غير متأكد.",
+ "DockModeToggleTooltip": "يجعل وضع تركيب بالمنصة النظام الذي تمت محاكاته بمثابة جهاز نينتندو سويتش الذي تم تركيبه بالمنصة. يؤدي هذا إلى تحسين الدقة الرسومية في معظم الألعاب. على العكس من ذلك، سيؤدي تعطيل هذا إلى جعل النظام الذي تمت محاكاته يعمل كجهاز نينتندو سويتش محمول، مما يقلل من جودة الرسومات.\n\nقم بتكوين عناصر تحكم اللاعب 1 إذا كنت تخطط لاستخدام وضع تركيب بالمنصة؛ قم بتكوين عناصر التحكم المحمولة إذا كنت تخطط لاستخدام الوضع المحمول.\n\nاتركه مشغل إذا لم تكن متأكدا.",
+ "DirectKeyboardTooltip": "دعم الوصول المباشر للوحة المفاتيح (HID). يوفر وصول الألعاب إلى لوحة المفاتيح الخاصة بك كجهاز لإدخال النص.\n\nيعمل فقط مع الألعاب التي تدعم استخدام لوحة المفاتيح في الأصل على أجهزة سويتش.\n\nاتركه معطلا إذا كنت غير متأكد.",
+ "DirectMouseTooltip": "دعم الوصول المباشر للوحة المفاتيح (HID). يوفر وصول الألعاب إلى لوحة المفاتيح الخاصة بك كجهاز لإدخال النص.\n\nيعمل فقط مع الألعاب التي تدعم استخدام لوحة المفاتيح في الأصل على أجهزة سويتش.\n\nاتركه معطلا إذا كنت غير متأكد.",
"RegionTooltip": "تغيير منطقة النظام",
"LanguageTooltip": "تغيير لغة النظام",
- "TimezoneTooltip": "تغيير المنطقة الزمنية للنظام",
+ "TimezoneTooltip": "تغيير النطاق الزمني للنظام",
"TimeTooltip": "تغيير وقت النظام",
- "VSyncToggleTooltip": "Emulated console's Vertical Sync. Essentially a frame-limiter for the majority of games; disabling it may cause games to run at higher speed or make loading screens take longer or get stuck.\n\nCan be toggled in-game with a hotkey of your preference (F1 by default). We recommend doing this if you plan on disabling it.\n\nLeave ON if unsure.",
- "PptcToggleTooltip": "Saves translated JIT functions so that they do not need to be translated every time the game loads.\n\nReduces stuttering and significantly speeds up boot times after the first boot of a game.\n\nLeave ON if unsure.",
+ "VSyncToggleTooltip": "محاكاة المزامنة العمودية للجهاز. في الأساس محدد الإطار لغالبية الألعاب؛ قد يؤدي تعطيله إلى تشغيل الألعاب بسرعة أعلى أو جعل شاشات التحميل تستغرق وقتا أطول أو تتعطل.\n\nيمكن تبديله داخل اللعبة باستخدام مفتاح التشغيل السريع الذي تفضله (F1 افتراضيا). نوصي بالقيام بذلك إذا كنت تخطط لتعطيله.\n\nاتركه ممكنا إذا لم تكن متأكدا.",
+ "PptcToggleTooltip": "يحفظ وظائف JIT المترجمة بحيث لا تحتاج إلى ترجمتها في كل مرة يتم فيها تحميل اللعبة.\n\nيقلل من التقطيع ويسرع بشكل ملحوظ أوقات التشغيل بعد التشغيل الأول للعبة.\n\nاتركه ممكنا إذا لم تكن متأكدا.",
"FsIntegrityToggleTooltip": "يتحقق من وجود ملفات تالفة عند تشغيل لعبة ما، وإذا تم اكتشاف ملفات تالفة، فسيتم عرض خطأ تجزئة في السجل.\n\nليس له أي تأثير على الأداء ويهدف إلى المساعدة في استكشاف الأخطاء وإصلاحها.\n\nاتركه مفعلا إذا كنت غير متأكد.",
- "AudioBackendTooltip": "Changes the backend used to render audio.\n\nSDL2 is the preferred one, while OpenAL and SoundIO are used as fallbacks. Dummy will have no sound.\n\nSet to SDL2 if unsure.",
- "MemoryManagerTooltip": "Change how guest memory is mapped and accessed. Greatly affects emulated CPU performance.\n\nSet to HOST UNCHECKED if unsure.",
+ "AudioBackendTooltip": "يغير الواجهة الخلفية المستخدمة لتقديم الصوت.\n\nSDL2 هو الخيار المفضل، بينما يتم استخدام OpenAL وSoundIO كبديلين. زائف لن يكون لها صوت.\n\nاضبط على SDL2 إذا لم تكن متأكدا.",
+ "MemoryManagerTooltip": "تغيير كيفية تعيين ذاكرة الضيف والوصول إليها. يؤثر بشكل كبير على أداء وحدة المعالجة المركزية التي تمت محاكاتها.\n\nاضبط على المضيف غير محدد إذا لم تكن متأكدا.",
"MemoryManagerSoftwareTooltip": "استخدام جدول الصفحات البرمجي لترجمة العناوين. أعلى دقة ولكن أبطأ أداء.",
- "MemoryManagerHostTooltip": "Directly map memory in the host address space. Much faster JIT compilation and execution.",
- "MemoryManagerUnsafeTooltip": "Directly map memory, but do not mask the address within the guest address space before access. Faster, but at the cost of safety. The guest application can access memory from anywhere in Ryujinx, so only run programs you trust with this mode.",
- "UseHypervisorTooltip": "Use Hypervisor instead of JIT. Greatly improves performance when available, but can be unstable in its current state.",
- "DRamTooltip": "Utilizes an alternative MemoryMode layout to mimic a Switch development model.\n\nThis is only useful for higher-resolution texture packs or 4k resolution mods. Does NOT improve performance.\n\nLeave OFF if unsure.",
+ "MemoryManagerHostTooltip": "تعيين الذاكرة مباشرة في مساحة عنوان المضيف. تجميع وتنفيذ JIT أسرع بكثير.",
+ "MemoryManagerUnsafeTooltip": "تعيين الذاكرة مباشرة، ولكن لا تخفي العنوان داخل مساحة عنوان الضيف قبل الوصول. أسرع، ولكن على حساب السلامة. يمكن لتطبيق الضيف الوصول إلى الذاكرة من أي مكان في ريوجينكس، لذا قم بتشغيل البرامج التي تثق بها فقط مع هذا الوضع.",
+ "UseHypervisorTooltip": "استخدم هايبرڤايزور بدلا من JIT. يعمل على تحسين الأداء بشكل كبير عند توفره، ولكنه قد يكون غير مستقر في حالته الحالية.",
+ "DRamTooltip": "يستخدم تخطيط وضع الذاكرة البديل لتقليد نموذج سويتش المطورين.\n\nيعد هذا مفيدا فقط لحزم النسيج عالية الدقة أو تعديلات دقة 4K. لا يحسن الأداء.\n\nاتركه معطلا إذا لم تكن متأكدا.",
"IgnoreMissingServicesTooltip": "يتجاهل خدمات نظام هوريزون غير المنفذة. قد يساعد هذا في تجاوز الأعطال عند تشغيل ألعاب معينة.\n\nاتركه معطلا إذا كنت غير متأكد.",
- "GraphicsBackendThreadingTooltip": "Executes graphics backend commands on a second thread.\n\nSpeeds up shader compilation, reduces stuttering, and improves performance on GPU drivers without multithreading support of their own. Slightly better performance on drivers with multithreading.\n\nSet to AUTO if unsure.",
- "GalThreadingTooltip": "Executes graphics backend commands on a second thread.\n\nSpeeds up shader compilation, reduces stuttering, and improves performance on GPU drivers without multithreading support of their own. Slightly better performance on drivers with multithreading.\n\nSet to AUTO if unsure.",
- "ShaderCacheToggleTooltip": "Saves a disk shader cache which reduces stuttering in subsequent runs.\n\nLeave ON if unsure.",
- "ResolutionScaleTooltip": "يضاعف دقة عرض اللعبة.\n\nقد لا تعمل بعض الألعاب مع هذا وتبدو منقطة حتى عند زيادة الدقة؛ بالنسبة لهذه الألعاب، قد تحتاج إلى العثور على تعديلات تزيل الصقل أو تزيد من دقة العرض الداخلي. لاستخدام الأخير، من المحتمل أن ترغب في تحديد أصلي.\n\nيمكن تغيير هذا الخيار أثناء تشغيل اللعبة بالنقر فوق \"تطبيق\" أدناه؛ يمكنك ببساطة تحريك نافذة الإعدادات جانبًا والتجربة حتى تجد المظهر المفضل للعبة.\n\nضع في اعتبارك أن 4x مبالغة في أي إعداد تقريبًا.",
+ "GraphicsBackendThreadingTooltip": "ينفذ أوامر الواجهة الخلفية للرسومات على مسار ثاني.\n\nيعمل على تسريع عملية تجميع المظللات وتقليل التقطيع وتحسين الأداء على برامج تشغيل وحدة الرسوميات دون دعم المسارات المتعددة الخاصة بهم. أداء أفضل قليلا على برامج التشغيل ذات المسارات المتعددة.\n\nاضبط على تلقائي إذا لم تكن متأكدا.",
+ "GalThreadingTooltip": "ينفذ أوامر الواجهة الخلفية للرسومات على مسار ثاني.\n\nيعمل على تسريع عملية تجميع المظللات وتقليل التقطيع وتحسين الأداء على برامج تشغيل وحدة الرسوميات دون دعم المسارات المتعددة الخاصة بهم. أداء أفضل قليلا على برامج التشغيل ذات المسارات المتعددة.\n\nاضبط على تلقائي إذا لم تكن متأكدا.",
+ "ShaderCacheToggleTooltip": "يحفظ ذاكرة المظللات المؤقتة على القرص مما يقلل من التقطيع في عمليات التشغيل اللاحقة.\n\nاتركه مفعلا إذا لم تكن متأكدا.",
+ "ResolutionScaleTooltip": "يضاعف دقة عرض اللعبة.\n\nقد لا تعمل بعض الألعاب مع هذا وتبدو منقطة حتى عند زيادة الدقة؛ بالنسبة لهذه الألعاب، قد تحتاج إلى العثور على تعديلات تزيل تنعيم الحواف أو تزيد من دقة العرض الداخلي. لاستخدام الأخير، من المحتمل أن ترغب في تحديد أصلي.\n\nيمكن تغيير هذا الخيار أثناء تشغيل اللعبة بالنقر فوق \"تطبيق\" أدناه؛ يمكنك ببساطة تحريك نافذة الإعدادات جانبًا والتجربة حتى تجد المظهر المفضل للعبة.\n\nضع في اعتبارك أن 4x مبالغة في أي إعداد تقريبًا.",
"ResolutionScaleEntryTooltip": "مقياس دقة النقطة العائمة، مثل 1.5. من المرجح أن تتسبب المقاييس غير المتكاملة في حدوث مشكلات أو تعطل.",
- "AnisotropyTooltip": "مستوى تصفية متباين الخواص. اضبط على تلقائي لاستخدام القيمة التي تطلبها اللعبة.",
- "AspectRatioTooltip": "يتم تطبيق نسبة العرض إلى الارتفاع على نافذة العارض.\n\nقم بتغيير هذا فقط إذا كنت تستخدم تعديل نسبة العرض إلى الارتفاع للعبتك، وإلا سيتم تمديد الرسومات.\n\nاتركه على 16:9 إذا لم تكن متأكدًا.",
- "ShaderDumpPathTooltip": "Graphics Shaders Dump Path",
+ "AnisotropyTooltip": "مستوى تصفية. اضبط على تلقائي لاستخدام القيمة التي تطلبها اللعبة.",
+ "AspectRatioTooltip": "يتم تطبيق نسبة العرض إلى الارتفاع على نافذة العارض.\n\nقم بتغيير هذا فقط إذا كنت تستخدم تعديل نسبة العرض إلى الارتفاع للعبتك، وإلا سيتم تمديد الرسومات.\n\nاتركه16:9 إذا لم تكن متأكدا.",
+ "ShaderDumpPathTooltip": "مسار تفريغ المظللات",
"FileLogTooltip": "حفظ تسجيل وحدة التحكم إلى ملف سجل على القرص. لا يؤثر على الأداء.",
- "StubLogTooltip": "Prints stub log messages in the console. Does not affect performance.",
- "InfoLogTooltip": "Prints info log messages in the console. Does not affect performance.",
+ "StubLogTooltip": "طباعة رسائل سجل stub في وحدة التحكم. لا يؤثر على الأداء.",
+ "InfoLogTooltip": "طباعة رسائل سجل المعلومات في وحدة التحكم. لا يؤثر على الأداء.",
"WarnLogTooltip": "طباعة رسائل سجل التحذير في وحدة التحكم. لا يؤثر على الأداء.",
"ErrorLogTooltip": "طباعة رسائل سجل الأخطاء في وحدة التحكم. لا يؤثر على الأداء.",
"TraceLogTooltip": "طباعة رسائل سجل التتبع في وحدة التحكم. لا يؤثر على الأداء.",
"GuestLogTooltip": "طباعة رسائل سجل الضيف في وحدة التحكم. لا يؤثر على الأداء.",
"FileAccessLogTooltip": "طباعة رسائل سجل الوصول إلى الملفات في وحدة التحكم.",
- "FSAccessLogModeTooltip": "Enables FS access log output to the console. Possible modes are 0-3",
+ "FSAccessLogModeTooltip": "تمكين إخراج سجل الوصول إلى نظام الملفات إلى وحدة التحكم. الأوضاع الممكنة هي 0-3",
"DeveloperOptionTooltip": "استخدمه بعناية",
"OpenGlLogLevel": "يتطلب تمكين مستويات السجل المناسبة",
"DebugLogTooltip": "طباعة رسائل سجل التصحيح في وحدة التحكم.\n\nاستخدم هذا فقط إذا طلب منك أحد الموظفين تحديدًا ذلك، لأنه سيجعل من الصعب قراءة السجلات وسيؤدي إلى تدهور أداء المحاكي.",
- "LoadApplicationFileTooltip": "افتح مستكشف الملفات لاختيار ملف متوافق مع Switch لتحميله",
- "LoadApplicationFolderTooltip": "افتح مستكشف الملفات لاختيار تطبيق متوافق مع Switch للتحميل",
- "OpenRyujinxFolderTooltip": "فتح مجلد نظام ملفات Ryujinx",
+ "LoadApplicationFileTooltip": "افتح مستكشف الملفات لاختيار ملف متوافق مع سويتش لتحميله",
+ "LoadApplicationFolderTooltip": "افتح مستكشف الملفات لاختيار تطبيق متوافق مع سويتش للتحميل",
+ "OpenRyujinxFolderTooltip": "فتح مجلد نظام ملفات ريوجينكس",
"OpenRyujinxLogsTooltip": "يفتح المجلد الذي تتم كتابة السجلات إليه",
- "ExitTooltip": "الخروج من Ryujinx",
+ "ExitTooltip": "الخروج من ريوجينكس",
"OpenSettingsTooltip": "فتح نافذة الإعدادات",
- "OpenProfileManagerTooltip": "فتح نافذة إدارة ملفات تعريف المستخدمين",
+ "OpenProfileManagerTooltip": "فتح نافذة إدارة الملفات الشخصية للمستخدمين",
"StopEmulationTooltip": "إيقاف محاكاة اللعبة الحالية والعودة إلى اختيار اللعبة",
- "CheckUpdatesTooltip": "التحقق من وجود تحديثات لـ Ryujinx",
+ "CheckUpdatesTooltip": "التحقق من وجود تحديثات لريوجينكس",
"OpenAboutTooltip": "فتح حول النافذة",
"GridSize": "حجم الشبكة",
"GridSizeTooltip": "تغيير حجم عناصر الشبكة",
"SettingsTabSystemSystemLanguageBrazilianPortuguese": "البرتغالية البرازيلية",
"AboutRyujinxContributorsButtonHeader": "رؤية جميع المساهمين",
- "SettingsTabSystemAudioVolume": "الحجم:",
+ "SettingsTabSystemAudioVolume": "مستوى الصوت:",
"AudioVolumeTooltip": "تغيير مستوى الصوت",
"SettingsTabSystemEnableInternetAccess": "الوصول إلى إنترنت كضيف/وضع LAN",
- "EnableInternetAccessTooltip": "للسماح للتطبيق المحاكي بالاتصال بالإنترنت.\n\nالألعاب ذات وضع الشبكة المحلية يمكن الاتصال ببعضها البعض عندما يتم تمكين هذا النظام وتكون الأنظمة متصلة بنفس نقطة الوصول. هذا يشمل وحدات التحكم الحقيقية أيضًا.\n\nلا يسمح بالاتصال بخوادم Nintendo. قد يسبب الانهيار في بعض الألعاب التي تحاول الاتصال بالإنترنت.\n\nاتركه متوقفا إن لم يكن مؤكدا.",
+ "EnableInternetAccessTooltip": "للسماح للتطبيق الذي تمت محاكاته بالاتصال بالإنترنت.\n\nيمكن للألعاب التي تحتوي على وضع LAN الاتصال ببعضها البعض عند تمكين ذلك وتوصيل الأنظمة بنفس نقطة الوصول. وهذا يشمل الأجهزة الحقيقية أيضا.\n\nلا يسمح بالاتصال بخوادم نينتندو. قد يتسبب في حدوث عطل في بعض الألعاب التي تحاول الاتصال بالإنترنت.\n\nاتركه معطلا إذا لم تكن متأكدا.",
"GameListContextMenuManageCheatToolTip": "إدارة الغش",
"GameListContextMenuManageCheat": "إدارة الغش",
"GameListContextMenuManageModToolTip": "إدارة التعديلات",
"GameListContextMenuManageMod": "إدارة التعديلات",
"ControllerSettingsStickRange": "نطاق:",
- "DialogStopEmulationTitle": "Ryujinx - إيقاف المحاكاة",
+ "DialogStopEmulationTitle": "ريوجينكس - إيقاف المحاكاة",
"DialogStopEmulationMessage": "هل أنت متأكد أنك تريد إيقاف المحاكاة؟",
- "SettingsTabCpu": "CPU",
+ "SettingsTabCpu": "المعالج",
"SettingsTabAudio": "الصوت",
"SettingsTabNetwork": "الشبكة",
"SettingsTabNetworkConnection": "اتصال الشبكة",
"SettingsTabCpuCache": "ذاكرة المعالج المؤقت",
"SettingsTabCpuMemory": "وضع المعالج",
- "DialogUpdaterFlatpakNotSupportedMessage": "الرجاء تحديث Ryujinx عبر FlatHub.",
- "UpdaterDisabledWarningTitle": "التحديث معطل!",
+ "DialogUpdaterFlatpakNotSupportedMessage": "الرجاء تحديث ريوجينكس عبر فلات هاب.",
+ "UpdaterDisabledWarningTitle": "المحدث معطل!",
"ControllerSettingsRotate90": "تدوير 90 درجة في اتجاه عقارب الساعة",
"IconSize": "حجم الأيقونة",
"IconSizeTooltip": "تغيير حجم أيقونات اللعبة",
"MenuBarOptionsShowConsole": "عرض وحدة التحكم",
- "ShaderCachePurgeError": "Error purging shader cache at {0}: {1}",
+ "ShaderCachePurgeError": "حدث خطأ أثناء تنظيف ذاكرة المظللات المؤقتة في {0}: {1}",
"UserErrorNoKeys": "المفاتيح غير موجودة",
"UserErrorNoFirmware": "لم يتم العثور على البرنامج الثابت",
"UserErrorFirmwareParsingFailed": "خطأ في تحليل البرنامج الثابت",
"UserErrorApplicationNotFound": "التطبيق غير موجود",
"UserErrorUnknown": "خطأ غير معروف",
"UserErrorUndefined": "خطأ غير محدد",
- "UserErrorNoKeysDescription": "لم يتمكن Ryujinx من العثور على ملف 'prod.keys' الخاص بك",
+ "UserErrorNoKeysDescription": "لم يتمكن ريوجينكس من العثور على ملف 'prod.keys' الخاص بك",
"UserErrorNoFirmwareDescription": "لم يتمكن ريوجينكس من العثور على أية برامج ثابتة مثبتة",
"UserErrorFirmwareParsingFailedDescription": "لم يتمكن ريوجينكس من تحليل البرامج الثابتة المتوفرة. يحدث هذا عادة بسبب المفاتيح القديمة.",
"UserErrorApplicationNotFoundDescription": "تعذر على ريوجينكس العثور على تطبيق صالح في المسار المحدد.",
@@ -542,72 +648,73 @@
"OpenSetupGuideMessage": "فتح دليل الإعداد",
"NoUpdate": "لا يوجد تحديث",
"TitleUpdateVersionLabel": "الإصدار: {0}",
- "RyujinxInfo": "Ryujinx - معلومات",
- "RyujinxConfirm": "Ryujinx - تأكيد",
+ "RyujinxInfo": "ريوجينكس - معلومات",
+ "RyujinxConfirm": "ريوجينكس - تأكيد",
"FileDialogAllTypes": "كل الأنواع",
- "Never": "مطلقاً",
- "SwkbdMinCharacters": "يجب أن يبلغ طوله {0} حرفًا على الأقل",
- "SwkbdMinRangeCharacters": "يجب أن يتكون من {0}-{1} حرفًا",
+ "Never": "مطلقا",
+ "SwkbdMinCharacters": "يجب أن يبلغ طوله {0} حرفا على الأقل",
+ "SwkbdMinRangeCharacters": "يجب أن يتكون من {0}-{1} حرفا",
"SoftwareKeyboard": "لوحة المفاتيح البرمجية",
"SoftwareKeyboardModeNumeric": "يجب أن يكون 0-9 أو '.' فقط",
"SoftwareKeyboardModeAlphabet": "يجب أن تكون الأحرف غير CJK فقط",
"SoftwareKeyboardModeASCII": "يجب أن يكون نص ASCII فقط",
- "ControllerAppletControllers": "ذراع التحكم المدعومة:",
+ "ControllerAppletControllers": "وحدات التحكم المدعومة:",
"ControllerAppletPlayers": "اللاعبين:",
"ControllerAppletDescription": "الإعدادات الحالية غير صالحة. افتح الإعدادات وأعد تكوين المدخلات الخاصة بك.",
- "ControllerAppletDocked": "Docked mode set. Handheld control should be disabled.",
+ "ControllerAppletDocked": "تم ضبط وضع تركيب بالمنصة. يجب تعطيل التحكم المحمول.",
"UpdaterRenaming": "إعادة تسمية الملفات القديمة...",
- "UpdaterRenameFailed": "التحديث غير قادر على إعادة تسمية الملف: {0}",
+ "UpdaterRenameFailed": "المحدث غير قادر على إعادة تسمية الملف: {0}",
"UpdaterAddingFiles": "إضافة ملفات جديدة...",
"UpdaterExtracting": "استخراج التحديث...",
"UpdaterDownloading": "تحميل التحديث...",
"Game": "لعبة",
- "Docked": "مركب بالمنصة",
+ "Docked": "تركيب بالمنصة",
"Handheld": "محمول",
"ConnectionError": "خطأ في الاتصال",
"AboutPageDeveloperListMore": "{0} والمزيد...",
"ApiError": "خطأ في API.",
- "LoadingHeading": "جارٍ تحميل {0}",
- "CompilingPPTC": "تجميع الـ PTC",
- "CompilingShaders": "تجميع الظلال",
+ "LoadingHeading": "جاري تحميل {0}",
+ "CompilingPPTC": "تجميع الـ(PPTC)",
+ "CompilingShaders": "تجميع المظللات",
"AllKeyboards": "كل لوحات المفاتيح",
"OpenFileDialogTitle": "حدد ملف مدعوم لفتحه",
- "OpenFolderDialogTitle": "حدد مجلدًا يحتوي على لعبة غير مضغوطة",
+ "OpenFolderDialogTitle": "حدد مجلدا يحتوي على لعبة غير مضغوطة",
"AllSupportedFormats": "كل التنسيقات المدعومة",
- "RyujinxUpdater": "تحديث Ryujinx",
+ "RyujinxUpdater": "محدث ريوجينكس",
"SettingsTabHotkeys": "مفاتيح الاختصار في لوحة المفاتيح",
"SettingsTabHotkeysHotkeys": "مفاتيح الاختصار في لوحة المفاتيح",
- "SettingsTabHotkeysToggleVsyncHotkey": "تبديل VSync:",
+ "SettingsTabHotkeysToggleVsyncHotkey": "تبديل المزامنة العمودية:",
"SettingsTabHotkeysScreenshotHotkey": "لقطة الشاشة:",
"SettingsTabHotkeysShowUiHotkey": "عرض واجهة المستخدم:",
"SettingsTabHotkeysPauseHotkey": "إيقاف مؤقت:",
- "SettingsTabHotkeysToggleMuteHotkey": "كتم الصوت:",
+ "SettingsTabHotkeysToggleMuteHotkey": "كتم:",
"ControllerMotionTitle": "إعدادات التحكم بالحركة",
"ControllerRumbleTitle": "إعدادات الهزاز",
"SettingsSelectThemeFileDialogTitle": "حدد ملف السمة",
- "SettingsXamlThemeFile": "Xaml Theme File",
+ "SettingsXamlThemeFile": "ملف سمة Xaml",
"AvatarWindowTitle": "إدارة الحسابات - الصورة الرمزية",
"Amiibo": "أميبو",
"Unknown": "غير معروف",
"Usage": "الاستخدام",
"Writable": "قابل للكتابة",
- "SelectDlcDialogTitle": "حدد ملفات DLC",
+ "SelectDlcDialogTitle": "حدد ملفات المحتوي الإضافي",
"SelectUpdateDialogTitle": "حدد ملفات التحديث",
"SelectModDialogTitle": "حدد مجلد التعديل",
- "UserProfileWindowTitle": "مدير ملفات تعريف المستخدمين",
+ "UserProfileWindowTitle": "مدير الملفات الشخصية للمستخدمين",
"CheatWindowTitle": "مدير الغش",
"DlcWindowTitle": "إدارة المحتوى القابل للتنزيل لـ {0} ({1})",
+ "ModWindowTitle": "إدارة التعديلات لـ {0} ({1})",
"UpdateWindowTitle": "مدير تحديث العنوان",
"CheatWindowHeading": "الغش متوفر لـ {0} [{1}]",
"BuildId": "معرف البناء:",
"DlcWindowHeading": "المحتويات القابلة للتنزيل {0}",
"ModWindowHeading": "{0} تعديل",
- "UserProfilesEditProfile": "تعديل المحددة",
+ "UserProfilesEditProfile": "تعديل المحدد",
"Cancel": "إلغاء",
"Save": "حفظ",
"Discard": "تجاهل",
"Paused": "متوقف مؤقتا",
- "UserProfilesSetProfileImage": "تعيين صورة ملف التعريف",
+ "UserProfilesSetProfileImage": "تعيين صورة الملف الشخصي",
"UserProfileEmptyNameError": "الاسم مطلوب",
"UserProfileNoImageError": "يجب تعيين صورة الملف الشخصي",
"GameUpdateWindowHeading": "إدارة التحديثات لـ {0} ({1})",
@@ -616,22 +723,22 @@
"UserProfilesName": "الاسم:",
"UserProfilesUserId": "معرف المستخدم:",
"SettingsTabGraphicsBackend": "خلفية الرسومات",
- "SettingsTabGraphicsBackendTooltip": "Select the graphics backend that will be used in the emulator.\n\nVulkan is overall better for all modern graphics cards, as long as their drivers are up to date. Vulkan also features faster shader compilation (less stuttering) on all GPU vendors.\n\nOpenGL may achieve better results on old Nvidia GPUs, on old AMD GPUs on Linux, or on GPUs with lower VRAM, though shader compilation stutters will be greater.\n\nSet to Vulkan if unsure. Set to OpenGL if your GPU does not support Vulkan even with the latest graphics drivers.",
+ "SettingsTabGraphicsBackendTooltip": "حدد الواجهة الخلفية للرسومات التي سيتم استخدامها في المحاكي.\n\nيعد برنامج فولكان أفضل بشكل عام لجميع بطاقات الرسومات الحديثة، طالما أن برامج التشغيل الخاصة بها محدثة. يتميز فولكان أيضا بتجميع مظللات أسرع (أقل تقطيعا) على جميع بائعي وحدات معالجة الرسومات.\n\nقد يحقق أوبن جي أل نتائج أفضل على وحدات معالجة الرسومات إنفيديا القديمة، أو على وحدات معالجة الرسومات إي إم دي القديمة على لينكس، أو على وحدات معالجة الرسومات ذات ذاكرة الوصول العشوائي للفيديوالأقل، على الرغم من أن تعثرات تجميع المظللات ستكون أكبر.\n\nاضبط على فولكان إذا لم تكن متأكدا. اضبط على أوبن جي أل إذا كانت وحدة معالجة الرسومات الخاصة بك لا تدعم فولكان حتى مع أحدث برامج تشغيل الرسومات.",
"SettingsEnableTextureRecompression": "تمكين إعادة ضغط التكستر",
- "SettingsEnableTextureRecompressionTooltip": "Compresses ASTC textures in order to reduce VRAM usage.\n\nGames using this texture format include Astral Chain, Bayonetta 3, Fire Emblem Engage, Metroid Prime Remastered, Super Mario Bros. Wonder and The Legend of Zelda: Tears of the Kingdom.\n\nGraphics cards with 4GiB VRAM or less will likely crash at some point while running these games.\n\nEnable only if you're running out of VRAM on the aforementioned games. Leave OFF if unsure.",
- "SettingsTabGraphicsPreferredGpu": "GPU المفضل",
- "SettingsTabGraphicsPreferredGpuTooltip": "Select the graphics card that will be used with the Vulkan graphics backend.\n\nDoes not affect the GPU that OpenGL will use.\n\nSet to the GPU flagged as \"dGPU\" if unsure. If there isn't one, leave untouched.",
- "SettingsAppRequiredRestartMessage": "مطلوب إعادة تشغيل Ryujinx",
- "SettingsGpuBackendRestartMessage": "Graphics Backend or GPU settings have been modified. This will require a restart to be applied",
+ "SettingsEnableTextureRecompressionTooltip": "يضغط تكستر ASTC من أجل تقليل استخدام ذاكرة الوصول العشوائي للفيديو.\n\nتتضمن الألعاب التي تستخدم تنسيق النسيج هذا Astral Chain وBayonetta 3 وFire Emblem Engage وMetroid Prime Remastered وSuper Mario Bros. Wonder وThe Legend of Zelda: Tears of the Kingdom.\n\nمن المحتمل أن تتعطل بطاقات الرسومات التي تحتوي على 4 جيجا بايت من ذاكرة الوصول العشوائي للفيديو أو أقل في مرحلة ما أثناء تشغيل هذه الألعاب.\n\nقم بالتمكين فقط في حالة نفاد ذاكرة الوصول العشوائي للفيديو في الألعاب المذكورة أعلاه. اتركه معطلا إذا لم تكن متأكدا.",
+ "SettingsTabGraphicsPreferredGpu": "وحدة معالجة الرسوميات المفضلة",
+ "SettingsTabGraphicsPreferredGpuTooltip": "حدد بطاقة الرسومات التي سيتم استخدامها مع الواجهة الخلفية لرسومات فولكان.\n\nلا يؤثر على وحدة معالجة الرسومات التي سيستخدمها أوبن جي أل.\n\nاضبط على وحدة معالجة الرسومات التي تم وضع علامة عليها كـ \"dGPU\" إذا لم تكن متأكدًا. إذا لم يكن هناك واحد، اتركه.",
+ "SettingsAppRequiredRestartMessage": "مطلوب إعادة تشغيل ريوجينكس",
+ "SettingsGpuBackendRestartMessage": "تم تعديل إعدادات الواجهة الخلفية للرسومات أو وحدة معالجة الرسومات. سيتطلب هذا إعادة التشغيل ليتم تطبيقه",
"SettingsGpuBackendRestartSubMessage": "\n\nهل تريد إعادة التشغيل الآن؟",
- "RyujinxUpdaterMessage": "هل تريد تحديث Ryujinx إلى أحدث إصدار؟",
+ "RyujinxUpdaterMessage": "هل تريد تحديث ريوجينكس إلى أحدث إصدار؟",
"SettingsTabHotkeysVolumeUpHotkey": "زيادة مستوى الصوت:",
"SettingsTabHotkeysVolumeDownHotkey": "خفض مستوى الصوت:",
- "SettingsEnableMacroHLE": "Enable Macro HLE",
- "SettingsEnableMacroHLETooltip": "High-level emulation of GPU Macro code.\n\nImproves performance, but may cause graphical glitches in some games.\n\nLeave ON if unsure.",
- "SettingsEnableColorSpacePassthrough": "Color Space Passthrough",
- "SettingsEnableColorSpacePassthroughTooltip": "Directs the Vulkan backend to pass through color information without specifying a color space. For users with wide gamut displays, this may result in more vibrant colors, at the cost of color correctness.",
- "VolumeShort": "الحجم",
+ "SettingsEnableMacroHLE": "تمكين Maro HLE",
+ "SettingsEnableMacroHLETooltip": "محاكاة عالية المستوى لكود مايكرو وحدة معالجة الرسوميات.\n\nيعمل على تحسين الأداء، ولكنه قد يسبب خللا رسوميا في بعض الألعاب.\n\nاتركه مفعلا إذا لم تكن متأكدا.",
+ "SettingsEnableColorSpacePassthrough": "عبور مساحة اللون",
+ "SettingsEnableColorSpacePassthroughTooltip": "يوجه واجهة فولكان الخلفية لتمرير معلومات الألوان دون تحديد مساحة اللون. بالنسبة للمستخدمين الذين لديهم شاشات ذات نطاق واسع، قد يؤدي ذلك إلى الحصول على ألوان أكثر حيوية، على حساب صحة الألوان.",
+ "VolumeShort": "مستوى",
"UserProfilesManageSaves": "إدارة الحفظ",
"DeleteUserSave": "هل تريد حذف حفظ المستخدم لهذه اللعبة؟",
"IrreversibleActionNote": "هذا الإجراء لا يمكن التراجع عنه.",
@@ -642,12 +749,12 @@
"Search": "بحث",
"UserProfilesRecoverLostAccounts": "استعادة الحسابات المفقودة",
"Recover": "استعادة",
- "UserProfilesRecoverHeading": "تم العثور على الحفظ للحسابات التالية",
- "UserProfilesRecoverEmptyList": "لا توجد ملفات تعريف لاستردادها",
- "GraphicsAATooltip": "Applies anti-aliasing to the game render.\n\nFXAA will blur most of the image, while SMAA will attempt to find jagged edges and smooth them out.\n\nNot recommended to use in conjunction with the FSR scaling filter.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on NONE if unsure.",
+ "UserProfilesRecoverHeading": "تم العثور على حفظ للحسابات التالية",
+ "UserProfilesRecoverEmptyList": "لا توجد ملفات شخصية لاستردادها",
+ "GraphicsAATooltip": "يتم تطبيق تنعيم الحواف على عرض اللعبة.\n\nسوف يقوم FXAA بتعتيم معظم الصورة، بينما سيحاول SMAA العثور على حواف خشنة وتنعيمها.\n\nلا ينصح باستخدامه مع فلتر FSR لتكبير.\n\nيمكن تغيير هذا الخيار أثناء تشغيل اللعبة بالنقر فوق \"تطبيق\" أدناه؛ يمكنك ببساطة تحريك نافذة الإعدادات جانبا والتجربة حتى تجد المظهر المفضل للعبة.\n\nاتركه على لا شيء إذا لم تكن متأكدا.",
"GraphicsAALabel": "تنعيم الحواف:",
"GraphicsScalingFilterLabel": "فلتر التكبير:",
- "GraphicsScalingFilterTooltip": "Choose the scaling filter that will be applied when using resolution scale.\n\nBilinear works well for 3D games and is a safe default option.\n\nNearest is recommended for pixel art games.\n\nFSR 1.0 is merely a sharpening filter, not recommended for use with FXAA or SMAA.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on BILINEAR if unsure.",
+ "GraphicsScalingFilterTooltip": "اختر فلتر التكبير الذي سيتم تطبيقه عند استخدام مقياس الدقة.\n\nيعمل Bilinear بشكل جيد مع الألعاب ثلاثية الأبعاد وهو خيار افتراضي آمن.\n\nيوصى باستخدام Nearest لألعاب البكسل الفنية.\n\nFSR 1.0 هو مجرد مرشح توضيحي، ولا ينصح باستخدامه مع FXAA أو SMAA.\n\nيمكن تغيير هذا الخيار أثناء تشغيل اللعبة بالنقر فوق \"تطبيق\" أدناه؛ يمكنك ببساطة تحريك نافذة الإعدادات جانبا والتجربة حتى تجد المظهر المفضل للعبة.\n\nاتركه على Bilinear إذا لم تكن متأكدا.",
"GraphicsScalingFilterBilinear": "Bilinear",
"GraphicsScalingFilterNearest": "Nearest",
"GraphicsScalingFilterFsr": "FSR",
@@ -660,14 +767,14 @@
"UserEditorTitle": "تعديل المستخدم",
"UserEditorTitleCreate": "إنشاء مستخدم",
"SettingsTabNetworkInterface": "واجهة الشبكة:",
- "NetworkInterfaceTooltip": "The network interface used for LAN/LDN features.\n\nIn conjunction with a VPN or XLink Kai and a game with LAN support, can be used to spoof a same-network connection over the Internet.\n\nLeave on DEFAULT if unsure.",
+ "NetworkInterfaceTooltip": "واجهة الشبكة مستخدمة لميزات LAN/LDN.\n\nبالاشتراك مع VPN أو XLink Kai ولعبة تدعم LAN، يمكن استخدامها لتزييف اتصال الشبكة نفسها عبر الإنترنت.\n\nاتركه على الافتراضي إذا لم تكن متأكدا.",
"NetworkInterfaceDefault": "افتراضي",
- "PackagingShaders": "Packaging Shaders",
- "AboutChangelogButton": "عرض سجل التغييرات على GitHub",
+ "PackagingShaders": "تعبئة المظللات",
+ "AboutChangelogButton": "عرض سجل التغييرات على غيت هاب",
"AboutChangelogButtonTooltipMessage": "انقر لفتح سجل التغيير لهذا الإصدار في متصفحك الافتراضي.",
"SettingsTabNetworkMultiplayer": "لعب جماعي",
- "MultiplayerMode": "النمط:",
- "MultiplayerModeTooltip": "Change LDN multiplayer mode.\n\nLdnMitm will modify local wireless/local play functionality in games to function as if it were LAN, allowing for local, same-network connections with other Ryujinx instances and hacked Nintendo Switch consoles that have the ldn_mitm module installed.\n\nMultiplayer requires all players to be on the same game version (i.e. Super Smash Bros. Ultimate v13.0.1 can't connect to v13.0.0).\n\nLeave DISABLED if unsure.",
+ "MultiplayerMode": "الوضع:",
+ "MultiplayerModeTooltip": "تغيير وضع LDN متعدد اللاعبين.\n\nسوف يقوم LdnMitm بتعديل وظيفة اللعب المحلية/اللاسلكية المحلية في الألعاب لتعمل كما لو كانت شبكة LAN، مما يسمح باتصالات الشبكة المحلية نفسها مع محاكيات ريوجينكس الأخرى وأجهزة نينتندو سويتش المخترقة التي تم تثبيت وحدة ldn_mitm عليها.\n\nيتطلب وضع اللاعبين المتعددين أن يكون جميع اللاعبين على نفس إصدار اللعبة (على سبيل المثال، يتعذر على الإصدار 13.0.1 من سوبر سماش برذرز ألتميت الاتصال بالإصدار 13.0.0).\n\nاتركه معطلا إذا لم تكن متأكدا.",
"MultiplayerModeDisabled": "معطل",
"MultiplayerModeLdnMitm": "ldn_mitm"
}
diff --git a/src/Ryujinx/Assets/Locales/de_DE.json b/src/Ryujinx/Assets/Locales/de_DE.json
index 71af4f3fe..401293198 100644
--- a/src/Ryujinx/Assets/Locales/de_DE.json
+++ b/src/Ryujinx/Assets/Locales/de_DE.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Dateitypen verwalten",
"MenuBarToolsInstallFileTypes": "Dateitypen installieren",
"MenuBarToolsUninstallFileTypes": "Dateitypen deinstallieren",
+ "MenuBarView": "_Ansicht",
+ "MenuBarViewWindow": "Fenstergröße",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Hilfe",
"MenuBarHelpCheckForUpdates": "Nach Updates suchen",
"MenuBarHelpAbout": "Über Ryujinx",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Aktiviere die Statusanzeige für Discord",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Beim Start nach Updates suchen",
"SettingsTabGeneralShowConfirmExitDialog": "Zeige den \"Beenden bestätigen\"-Dialog",
+ "SettingsTabGeneralRememberWindowState": "Fenstergröße/-position merken",
"SettingsTabGeneralHideCursor": "Mauszeiger ausblenden",
"SettingsTabGeneralHideCursorNever": "Niemals",
"SettingsTabGeneralHideCursorOnIdle": "Mauszeiger bei Inaktivität ausblenden",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Gyro-Deadzone:",
"ControllerSettingsSave": "Speichern",
"ControllerSettingsClose": "Schließen",
+ "KeyUnknown": "Unbekannt",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "Ausgewähltes Profil:",
"UserProfilesSaveProfileName": "Profilname speichern",
"UserProfilesChangeProfileImage": "Profilbild ändern",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Benutzerprofile verwalten",
"CheatWindowTitle": "Spiel-Cheats verwalten",
"DlcWindowTitle": "Spiel-DLC verwalten",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
"UpdateWindowTitle": "Spiel-Updates verwalten",
"CheatWindowHeading": "Cheats verfügbar für {0} [{1}]",
"BuildId": "BuildId:",
diff --git a/src/Ryujinx/Assets/Locales/el_GR.json b/src/Ryujinx/Assets/Locales/el_GR.json
index ba5c7078c..ccdf6e0e4 100644
--- a/src/Ryujinx/Assets/Locales/el_GR.json
+++ b/src/Ryujinx/Assets/Locales/el_GR.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Διαχείριση τύπων αρχείων",
"MenuBarToolsInstallFileTypes": "Εγκαταστήσετε τύπους αρχείων.",
"MenuBarToolsUninstallFileTypes": "Απεγκαταστήσετε τύπους αρχείων",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Βοήθεια",
"MenuBarHelpCheckForUpdates": "Έλεγχος για Ενημερώσεις",
"MenuBarHelpAbout": "Σχετικά με",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Ενεργοποίηση Εμπλουτισμένης Παρουσίας Discord",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Έλεγχος για Ενημερώσεις στην Εκκίνηση",
"SettingsTabGeneralShowConfirmExitDialog": "Εμφάνιση διαλόγου \"Επιβεβαίωση Εξόδου\".",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "Απόκρυψη Κέρσορα:",
"SettingsTabGeneralHideCursorNever": "Ποτέ",
"SettingsTabGeneralHideCursorOnIdle": "Απόκρυψη Δρομέα στην Αδράνεια",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Νεκρή Ζώνη Γυροσκοπίου:",
"ControllerSettingsSave": "Αποθήκευση",
"ControllerSettingsClose": "Κλείσιμο",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "Επιλεγμένο Προφίλ Χρήστη:",
"UserProfilesSaveProfileName": "Αποθήκευση Ονόματος Προφίλ",
"UserProfilesChangeProfileImage": "Αλλαγή Εικόνας Προφίλ",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Διαχειριστής Προφίλ Χρήστη",
"CheatWindowTitle": "Διαχειριστής των Cheats",
"DlcWindowTitle": "Downloadable Content Manager",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
"UpdateWindowTitle": "Διαχειριστής Ενημερώσεων Τίτλου",
"CheatWindowHeading": "Διαθέσιμα Cheats για {0} [{1}]",
"BuildId": "BuildId:",
diff --git a/src/Ryujinx/Assets/Locales/es_ES.json b/src/Ryujinx/Assets/Locales/es_ES.json
index 38499c046..e58fa5dcf 100644
--- a/src/Ryujinx/Assets/Locales/es_ES.json
+++ b/src/Ryujinx/Assets/Locales/es_ES.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Administrar tipos de archivo",
"MenuBarToolsInstallFileTypes": "Instalar tipos de archivo",
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de archivo",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Ayuda",
"MenuBarHelpCheckForUpdates": "Buscar actualizaciones",
"MenuBarHelpAbout": "Acerca de",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Habilitar estado en Discord",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Buscar actualizaciones al iniciar",
"SettingsTabGeneralShowConfirmExitDialog": "Mostrar diálogo de confirmación al cerrar",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "Esconder el cursor:",
"SettingsTabGeneralHideCursorNever": "Nunca",
"SettingsTabGeneralHideCursorOnIdle": "Ocultar cursor cuando esté inactivo",
@@ -155,7 +160,7 @@
"SettingsTabGraphicsResolutionScaleNative": "Nativa (720p/1080p)",
"SettingsTabGraphicsResolutionScale2x": "x2 (1440p/2160p)",
"SettingsTabGraphicsResolutionScale3x": "x3 (2160p/3240p)",
- "SettingsTabGraphicsResolutionScale4x": "4x (2880p/4320p) (Not recommended)",
+ "SettingsTabGraphicsResolutionScale4x": "4x (2880p/4320p) (no recomendado)",
"SettingsTabGraphicsAspectRatio": "Relación de aspecto:",
"SettingsTabGraphicsAspectRatio4x3": "4:3",
"SettingsTabGraphicsAspectRatio16x9": "16:9",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Zona muerta de Gyro:",
"ControllerSettingsSave": "Guardar",
"ControllerSettingsClose": "Cerrar",
+ "KeyUnknown": "Desconocido",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "Perfil de usuario seleccionado:",
"UserProfilesSaveProfileName": "Guardar nombre de perfil",
"UserProfilesChangeProfileImage": "Cambiar imagen de perfil",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Administrar perfiles de usuario",
"CheatWindowTitle": "Administrar cheats",
"DlcWindowTitle": "Administrar contenido descargable",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
"UpdateWindowTitle": "Administrar actualizaciones",
"CheatWindowHeading": "Cheats disponibles para {0} [{1}]",
"BuildId": "Id de compilación:",
@@ -647,12 +754,12 @@
"GraphicsAATooltip": "Applies anti-aliasing to the game render.\n\nFXAA will blur most of the image, while SMAA will attempt to find jagged edges and smooth them out.\n\nNot recommended to use in conjunction with the FSR scaling filter.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on NONE if unsure.",
"GraphicsAALabel": "Suavizado de bordes:",
"GraphicsScalingFilterLabel": "Filtro de escalado:",
- "GraphicsScalingFilterTooltip": "Choose the scaling filter that will be applied when using resolution scale.\n\nBilinear works well for 3D games and is a safe default option.\n\nNearest is recommended for pixel art games.\n\nFSR 1.0 is merely a sharpening filter, not recommended for use with FXAA or SMAA.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on BILINEAR if unsure.",
- "GraphicsScalingFilterBilinear": "Bilinear",
- "GraphicsScalingFilterNearest": "Nearest",
+ "GraphicsScalingFilterTooltip": "Elija el filtro de escala que se aplicará al utilizar la escala de resolución.\n\nBilinear funciona bien para juegos 3D y es una opción predeterminada segura.\n\nSe recomienda el bilinear para juegos de pixel art.\n\nFSR 1.0 es simplemente un filtro de afilado, no se recomienda su uso con FXAA o SMAA.\n\nEsta opción se puede cambiar mientras se ejecuta un juego haciendo clic en \"Aplicar\" a continuación; simplemente puedes mover la ventana de configuración a un lado y experimentar hasta que encuentres tu estilo preferido para un juego.\n\nDéjelo en BILINEAR si no está seguro.",
+ "GraphicsScalingFilterBilinear": "Bilinear\n",
+ "GraphicsScalingFilterNearest": "Cercano",
"GraphicsScalingFilterFsr": "FSR",
"GraphicsScalingFilterLevelLabel": "Nivel",
- "GraphicsScalingFilterLevelTooltip": "Set FSR 1.0 sharpening level. Higher is sharper.",
+ "GraphicsScalingFilterLevelTooltip": "Ajuste el nivel de nitidez FSR 1.0. Mayor es más nítido.",
"SmaaLow": "SMAA Bajo",
"SmaaMedium": "SMAA Medio",
"SmaaHigh": "SMAA Alto",
@@ -660,14 +767,14 @@
"UserEditorTitle": "Editar usuario",
"UserEditorTitleCreate": "Crear Usuario",
"SettingsTabNetworkInterface": "Interfaz de Red",
- "NetworkInterfaceTooltip": "The network interface used for LAN/LDN features.\n\nIn conjunction with a VPN or XLink Kai and a game with LAN support, can be used to spoof a same-network connection over the Internet.\n\nLeave on DEFAULT if unsure.",
+ "NetworkInterfaceTooltip": "Interfaz de red usada para características LAN/LDN.\n\njunto con una VPN o XLink Kai y un juego con soporte LAN, puede usarse para suplantar una conexión de la misma red a través de Internet.\n\nDeje en DEFAULT si no está seguro.",
"NetworkInterfaceDefault": "Predeterminado",
"PackagingShaders": "Empaquetando sombreadores",
"AboutChangelogButton": "Ver registro de cambios en GitHub",
"AboutChangelogButtonTooltipMessage": "Haga clic para abrir el registro de cambios para esta versión en su navegador predeterminado.",
"SettingsTabNetworkMultiplayer": "Multijugador",
"MultiplayerMode": "Modo:",
- "MultiplayerModeTooltip": "Change LDN multiplayer mode.\n\nLdnMitm will modify local wireless/local play functionality in games to function as if it were LAN, allowing for local, same-network connections with other Ryujinx instances and hacked Nintendo Switch consoles that have the ldn_mitm module installed.\n\nMultiplayer requires all players to be on the same game version (i.e. Super Smash Bros. Ultimate v13.0.1 can't connect to v13.0.0).\n\nLeave DISABLED if unsure.",
- "MultiplayerModeDisabled": "Disabled",
+ "MultiplayerModeTooltip": "Cambiar modo LDN multijugador.\n\nLdnMitm modificará la funcionalidad local de juego inalámbrico para funcionar como si fuera LAN, permitiendo locales conexiones de la misma red con otras instancias de Ryujinx y consolas hackeadas de Nintendo Switch que tienen instalado el módulo ldn_mitm.\n\nMultijugador requiere que todos los jugadores estén en la misma versión del juego (por ejemplo, Super Smash Bros. Ultimate v13.0.1 no se puede conectar a v13.0.0).\n\nDejar DESACTIVADO si no está seguro.",
+ "MultiplayerModeDisabled": "Deshabilitar",
"MultiplayerModeLdnMitm": "ldn_mitm"
}
diff --git a/src/Ryujinx/Assets/Locales/fr_FR.json b/src/Ryujinx/Assets/Locales/fr_FR.json
index bb2864cf2..99a060650 100644
--- a/src/Ryujinx/Assets/Locales/fr_FR.json
+++ b/src/Ryujinx/Assets/Locales/fr_FR.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Gérer les types de fichiers",
"MenuBarToolsInstallFileTypes": "Installer les types de fichiers",
"MenuBarToolsUninstallFileTypes": "Désinstaller les types de fichiers",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Aide",
"MenuBarHelpCheckForUpdates": "Vérifier les mises à jour",
"MenuBarHelpAbout": "À propos",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Activer Discord Rich Presence",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Vérifier les mises à jour au démarrage",
"SettingsTabGeneralShowConfirmExitDialog": "Afficher le message de \"Confirmation de sortie\"",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "Masquer le Curseur :",
"SettingsTabGeneralHideCursorNever": "Jamais",
"SettingsTabGeneralHideCursorOnIdle": "Masquer le curseur si inactif",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Zone morte du gyroscope:",
"ControllerSettingsSave": "Enregistrer",
"ControllerSettingsClose": "Fermer",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "Profil utilisateur sélectionné :",
"UserProfilesSaveProfileName": "Enregistrer le nom du profil",
"UserProfilesChangeProfileImage": "Changer l'image du profil",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Gestionnaire de profils utilisateur",
"CheatWindowTitle": "Gestionnaire de triches",
"DlcWindowTitle": "Gérer le contenu téléchargeable pour {0} ({1})",
+ "ModWindowTitle": "Gérer les mods pour {0} ({1})",
"UpdateWindowTitle": "Gestionnaire de mises à jour",
"CheatWindowHeading": "Cheats disponibles pour {0} [{1}]",
"BuildId": "BuildId:",
@@ -648,8 +755,8 @@
"GraphicsAALabel": "Anticrénelage :",
"GraphicsScalingFilterLabel": "Filtre de mise à l'échelle :",
"GraphicsScalingFilterTooltip": "Choisissez le filtre de mise à l'échelle qui sera appliqué lors de l'utilisation de la mise à l'échelle de la résolution.\n\nLe filtre bilinéaire fonctionne bien pour les jeux en 3D et constitue une option par défaut sûre.\n\nLe filtre le plus proche est recommandé pour les jeux de pixel art.\n\nFSR 1.0 est simplement un filtre de netteté, non recommandé pour une utilisation avec FXAA ou SMAA.\n\nCette option peut être modifiée pendant qu'un jeu est en cours d'exécution en cliquant sur \"Appliquer\" ci-dessous ; vous pouvez simplement déplacer la fenêtre des paramètres de côté et expérimenter jusqu'à ce que vous trouviez l'aspect souhaité pour un jeu.\n\nLaissez sur BILINEAR si vous n'êtes pas sûr.",
- "GraphicsScalingFilterBilinear": "Bilinear",
- "GraphicsScalingFilterNearest": "Nearest",
+ "GraphicsScalingFilterBilinear": "Bilinéaire",
+ "GraphicsScalingFilterNearest": "Le plus proche",
"GraphicsScalingFilterFsr": "FSR",
"GraphicsScalingFilterLevelLabel": "Niveau ",
"GraphicsScalingFilterLevelTooltip": "Définissez le niveau de netteté FSR 1.0. Plus élevé signifie plus net.",
@@ -668,6 +775,6 @@
"SettingsTabNetworkMultiplayer": "Multijoueur",
"MultiplayerMode": "Mode :",
"MultiplayerModeTooltip": "Changer le mode multijoueur LDN.\n\nLdnMitm modifiera la fonctionnalité de jeu sans fil local/jeu local dans les jeux pour fonctionner comme s'il s'agissait d'un LAN, permettant des connexions locales sur le même réseau avec d'autres instances de Ryujinx et des consoles Nintendo Switch piratées ayant le module ldn_mitm installé.\n\nLe multijoueur nécessite que tous les joueurs soient sur la même version du jeu (par exemple, Super Smash Bros. Ultimate v13.0.1 ne peut pas se connecter à v13.0.0).\n\nLaissez DÉSACTIVÉ si vous n'êtes pas sûr.",
- "MultiplayerModeDisabled": "Disabled",
+ "MultiplayerModeDisabled": "Désactivé",
"MultiplayerModeLdnMitm": "ldn_mitm"
}
diff --git a/src/Ryujinx/Assets/Locales/he_IL.json b/src/Ryujinx/Assets/Locales/he_IL.json
index 16d68b775..848f78080 100644
--- a/src/Ryujinx/Assets/Locales/he_IL.json
+++ b/src/Ryujinx/Assets/Locales/he_IL.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "ניהול סוגי קבצים",
"MenuBarToolsInstallFileTypes": "סוגי קבצי התקנה",
"MenuBarToolsUninstallFileTypes": "סוגי קבצי הסרה",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_עזרה",
"MenuBarHelpCheckForUpdates": "חפש עדכונים",
"MenuBarHelpAbout": "אודות",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "הפעלת תצוגה עשירה בדיסקורד",
"SettingsTabGeneralCheckUpdatesOnLaunch": "בדוק אם קיימים עדכונים בהפעלה",
"SettingsTabGeneralShowConfirmExitDialog": "הראה דיאלוג \"אשר יציאה\"",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "הסתר את הסמן",
"SettingsTabGeneralHideCursorNever": "אף פעם",
"SettingsTabGeneralHideCursorOnIdle": "במצב סרק",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "שטח מת של הג'ירוסקופ:",
"ControllerSettingsSave": "שמירה",
"ControllerSettingsClose": "סגירה",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "פרופיל המשתמש הנבחר:",
"UserProfilesSaveProfileName": "שמור שם פרופיל",
"UserProfilesChangeProfileImage": "שנה תמונת פרופיל",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "ניהול פרופילי משתמש",
"CheatWindowTitle": "נהל צ'יטים למשחק",
"DlcWindowTitle": "נהל הרחבות משחק עבור {0} ({1})",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
"UpdateWindowTitle": "נהל עדכוני משחקים",
"CheatWindowHeading": "צ'יטים זמינים עבור {0} [{1}]",
"BuildId": "מזהה בניה:",
diff --git a/src/Ryujinx/Assets/Locales/it_IT.json b/src/Ryujinx/Assets/Locales/it_IT.json
index 0e832ffb6..280ebd880 100644
--- a/src/Ryujinx/Assets/Locales/it_IT.json
+++ b/src/Ryujinx/Assets/Locales/it_IT.json
@@ -2,7 +2,7 @@
"Language": "Italiano",
"MenuBarFileOpenApplet": "Apri applet",
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Apri l'applet Mii Editor in modalità Standalone",
- "SettingsTabInputDirectMouseAccess": "Accesso diretto mouse",
+ "SettingsTabInputDirectMouseAccess": "Accesso diretto al mouse",
"SettingsTabSystemMemoryManagerMode": "Modalità di gestione della memoria:",
"SettingsTabSystemMemoryManagerModeSoftware": "Software",
"SettingsTabSystemMemoryManagerModeHost": "Host (veloce)",
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Gestisci i tipi di file",
"MenuBarToolsInstallFileTypes": "Installa i tipi di file",
"MenuBarToolsUninstallFileTypes": "Disinstalla i tipi di file",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Aiuto",
"MenuBarHelpCheckForUpdates": "Controlla aggiornamenti",
"MenuBarHelpAbout": "Informazioni",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Attiva Discord Rich Presence",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Controlla aggiornamenti all'avvio",
"SettingsTabGeneralShowConfirmExitDialog": "Mostra dialogo \"Conferma Uscita\"",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "Nascondi il cursore:",
"SettingsTabGeneralHideCursorNever": "Mai",
"SettingsTabGeneralHideCursorOnIdle": "Quando è inattivo",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Zona morta del giroscopio:",
"ControllerSettingsSave": "Salva",
"ControllerSettingsClose": "Chiudi",
+ "KeyUnknown": "Sconosciuto",
+ "KeyShiftLeft": "Maiusc sinistro",
+ "KeyShiftRight": "Maiusc destro",
+ "KeyControlLeft": "Ctrl sinistro",
+ "KeyMacControlLeft": "⌃ sinistro",
+ "KeyControlRight": "Ctrl destro",
+ "KeyMacControlRight": "⌃ destro",
+ "KeyAltLeft": "Alt sinistro",
+ "KeyMacAltLeft": "⌥ sinistro",
+ "KeyAltRight": "Alt destro",
+ "KeyMacAltRight": "⌥ destro",
+ "KeyWinLeft": "⊞ sinistro",
+ "KeyMacWinLeft": "⌘ sinistro",
+ "KeyWinRight": "⊞ destro",
+ "KeyMacWinRight": "⌘ destro",
+ "KeyMenu": "Menù",
+ "KeyUp": "Su",
+ "KeyDown": "Giù",
+ "KeyLeft": "Sinistra",
+ "KeyRight": "Destra",
+ "KeyEnter": "Invio",
+ "KeyEscape": "Esc",
+ "KeySpace": "Spazio",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Ins",
+ "KeyDelete": "Canc",
+ "KeyPageUp": "Pag. Su",
+ "KeyPageDown": "Pag. Giù",
+ "KeyHome": "Inizio",
+ "KeyEnd": "Fine",
+ "KeyCapsLock": "Bloc Maiusc",
+ "KeyScrollLock": "Bloc Scorr",
+ "KeyPrintScreen": "Stamp",
+ "KeyPause": "Pausa",
+ "KeyNumLock": "Bloc Num",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Tast. num. 0",
+ "KeyKeypad1": "Tast. num. 1",
+ "KeyKeypad2": "Tast. num. 2",
+ "KeyKeypad3": "Tast. num. 3",
+ "KeyKeypad4": "Tast. num. 4",
+ "KeyKeypad5": "Tast. num. 5",
+ "KeyKeypad6": "Tast. num. 6",
+ "KeyKeypad7": "Tast. num. 7",
+ "KeyKeypad8": "Tast. num. 8",
+ "KeyKeypad9": "Tast. num. 9",
+ "KeyKeypadDivide": "Tast. num. /",
+ "KeyKeypadMultiply": "Tast. num. *",
+ "KeyKeypadSubtract": "Tast. num. -",
+ "KeyKeypadAdd": "Tast. num. +",
+ "KeyKeypadDecimal": "Tast. num. sep. decimale",
+ "KeyKeypadEnter": "Tast. num. Invio",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "ò",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "'",
+ "KeyBracketRight": "ì",
+ "KeySemicolon": "è",
+ "KeyQuote": "à",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "ù",
+ "KeyBackSlash": "<",
+ "KeyUnbound": "Non assegnato",
+ "GamepadLeftStick": "Pulsante levetta sinistra",
+ "GamepadRightStick": "Pulsante levetta destra",
+ "GamepadLeftShoulder": "Pulsante dorsale sinistro",
+ "GamepadRightShoulder": "Pulsante dorsale destro",
+ "GamepadLeftTrigger": "Grilletto sinistro",
+ "GamepadRightTrigger": "Grilletto destro",
+ "GamepadDpadUp": "Su",
+ "GamepadDpadDown": "Giù",
+ "GamepadDpadLeft": "Sinistra",
+ "GamepadDpadRight": "Destra",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Grilletto sinistro 0",
+ "GamepadSingleRightTrigger0": "Grilletto destro 0",
+ "GamepadSingleLeftTrigger1": "Grilletto sinistro 1",
+ "GamepadSingleRightTrigger1": "Grilletto destro 1",
+ "StickLeft": "Levetta sinistra",
+ "StickRight": "Levetta destra",
"UserProfilesSelectedUserProfile": "Profilo utente selezionato:",
"UserProfilesSaveProfileName": "Salva nome del profilo",
"UserProfilesChangeProfileImage": "Cambia immagine profilo",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Gestione profili utente",
"CheatWindowTitle": "Gestione trucchi",
"DlcWindowTitle": "Gestisci DLC per {0} ({1})",
+ "ModWindowTitle": "Gestisci mod per {0} ({1})",
"UpdateWindowTitle": "Gestione aggiornamenti",
"CheatWindowHeading": "Trucchi disponibili per {0} [{1}]",
"BuildId": "ID Build",
diff --git a/src/Ryujinx/Assets/Locales/ja_JP.json b/src/Ryujinx/Assets/Locales/ja_JP.json
index 8790135e0..61e963258 100644
--- a/src/Ryujinx/Assets/Locales/ja_JP.json
+++ b/src/Ryujinx/Assets/Locales/ja_JP.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "ファイル形式を管理",
"MenuBarToolsInstallFileTypes": "ファイル形式をインストール",
"MenuBarToolsUninstallFileTypes": "ファイル形式をアンインストール",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "ヘルプ(_H)",
"MenuBarHelpCheckForUpdates": "アップデートを確認",
"MenuBarHelpAbout": "Ryujinx について",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Discord リッチプレゼンスを有効にする",
"SettingsTabGeneralCheckUpdatesOnLaunch": "起動時にアップデートを確認する",
"SettingsTabGeneralShowConfirmExitDialog": "\"終了を確認\" ダイアログを表示する",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "マウスカーソルを非表示",
"SettingsTabGeneralHideCursorNever": "決して",
"SettingsTabGeneralHideCursorOnIdle": "アイドル時",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "ジャイロ遊び:",
"ControllerSettingsSave": "セーブ",
"ControllerSettingsClose": "閉じる",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "選択されたユーザプロファイル:",
"UserProfilesSaveProfileName": "プロファイル名をセーブ",
"UserProfilesChangeProfileImage": "プロファイル画像を変更",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "ユーザプロファイルを管理",
"CheatWindowTitle": "チート管理",
"DlcWindowTitle": "DLC 管理",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
"UpdateWindowTitle": "アップデート管理",
"CheatWindowHeading": "利用可能なチート {0} [{1}]",
"BuildId": "ビルドID:",
diff --git a/src/Ryujinx/Assets/Locales/ko_KR.json b/src/Ryujinx/Assets/Locales/ko_KR.json
index 0cd054cab..a92d084e0 100644
--- a/src/Ryujinx/Assets/Locales/ko_KR.json
+++ b/src/Ryujinx/Assets/Locales/ko_KR.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "파일 형식 관리",
"MenuBarToolsInstallFileTypes": "파일 형식 설치",
"MenuBarToolsUninstallFileTypes": "파일 형식 설치 제거",
+ "MenuBarView": "_보기",
+ "MenuBarViewWindow": "창 크기",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "도움말(_H)",
"MenuBarHelpCheckForUpdates": "업데이트 확인",
"MenuBarHelpAbout": "정보",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "디스코드 활동 상태 활성화",
"SettingsTabGeneralCheckUpdatesOnLaunch": "시작 시, 업데이트 확인",
"SettingsTabGeneralShowConfirmExitDialog": "\"종료 확인\" 대화 상자 표시",
+ "SettingsTabGeneralRememberWindowState": "창 크기/위치 기억",
"SettingsTabGeneralHideCursor": "마우스 커서 숨기기",
"SettingsTabGeneralHideCursorNever": "절대 안 함",
"SettingsTabGeneralHideCursorOnIdle": "유휴 상태",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "자이로 사각지대 :",
"ControllerSettingsSave": "저장",
"ControllerSettingsClose": "닫기",
+ "KeyUnknown": "알 수 없음",
+ "KeyShiftLeft": "왼쪽 Shift",
+ "KeyShiftRight": "오른쪽 Shift",
+ "KeyControlLeft": "왼쪽 Ctrl",
+ "KeyMacControlLeft": "왼쪽 ^",
+ "KeyControlRight": "오른쪽 Ctrl",
+ "KeyMacControlRight": "오른쪽 ^",
+ "KeyAltLeft": "왼쪽 Alt",
+ "KeyMacAltLeft": "왼쪽 ⌥",
+ "KeyAltRight": "오른쪽 Alt",
+ "KeyMacAltRight": "오른쪽 ⌥",
+ "KeyWinLeft": "왼쪽 ⊞",
+ "KeyMacWinLeft": "왼쪽 ⌘",
+ "KeyWinRight": "오른쪽 ⊞",
+ "KeyMacWinRight": "오른쪽 ⌘",
+ "KeyMenu": "메뉴",
+ "KeyUp": "↑",
+ "KeyDown": "↓",
+ "KeyLeft": "←",
+ "KeyRight": "→",
+ "KeyEnter": "엔터",
+ "KeyEscape": "이스케이프",
+ "KeySpace": "스페이스",
+ "KeyTab": "탭",
+ "KeyBackSpace": "백스페이스",
+ "KeyInsert": "Ins",
+ "KeyDelete": "Del",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "프린트 스크린",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "지우기",
+ "KeyKeypad0": "키패드 0",
+ "KeyKeypad1": "키패드 1",
+ "KeyKeypad2": "키패드 2",
+ "KeyKeypad3": "키패드 3",
+ "KeyKeypad4": "키패드 4",
+ "KeyKeypad5": "키패드 5",
+ "KeyKeypad6": "키패드 6",
+ "KeyKeypad7": "키패드 7",
+ "KeyKeypad8": "키패드 8",
+ "KeyKeypad9": "키패드 9",
+ "KeyKeypadDivide": "키패드 분할",
+ "KeyKeypadMultiply": "키패드 멀티플",
+ "KeyKeypadSubtract": "키패드 빼기",
+ "KeyKeypadAdd": "키패드 추가",
+ "KeyKeypadDecimal": "숫자 키패드",
+ "KeyKeypadEnter": "키패드 엔터",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "바인딩 해제",
+ "GamepadLeftStick": "L 스틱 버튼",
+ "GamepadRightStick": "R 스틱 버튼",
+ "GamepadLeftShoulder": "좌측 숄더",
+ "GamepadRightShoulder": "우측 숄더",
+ "GamepadLeftTrigger": "좌측 트리거",
+ "GamepadRightTrigger": "우측 트리거",
+ "GamepadDpadUp": "↑",
+ "GamepadDpadDown": "↓",
+ "GamepadDpadLeft": "←",
+ "GamepadDpadRight": "→",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "안내",
+ "GamepadMisc1": "기타",
+ "GamepadPaddle1": "패들 1",
+ "GamepadPaddle2": "패들 2",
+ "GamepadPaddle3": "패들 3",
+ "GamepadPaddle4": "패들 4",
+ "GamepadTouchpad": "터치패드",
+ "GamepadSingleLeftTrigger0": "왼쪽 트리거 0",
+ "GamepadSingleRightTrigger0": "오른쪽 트리거 0",
+ "GamepadSingleLeftTrigger1": "왼쪽 트리거 1",
+ "GamepadSingleRightTrigger1": "오른쪽 트리거 1",
+ "StickLeft": "좌측 스틱",
+ "StickRight": "우측 스틱",
"UserProfilesSelectedUserProfile": "선택한 사용자 프로필 :",
"UserProfilesSaveProfileName": "프로필 이름 저장",
"UserProfilesChangeProfileImage": "프로필 이미지 변경",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "사용자 프로파일 관리자",
"CheatWindowTitle": "치트 관리자",
"DlcWindowTitle": "{0} ({1})의 다운로드 가능한 콘텐츠 관리",
+ "ModWindowTitle": "{0} ({1})의 Mod 관리",
"UpdateWindowTitle": "타이틀 업데이트 관리자",
"CheatWindowHeading": "{0} [{1}]에 사용할 수 있는 치트",
"BuildId": "빌드ID :",
diff --git a/src/Ryujinx/Assets/Locales/pl_PL.json b/src/Ryujinx/Assets/Locales/pl_PL.json
index 94096dd7b..9d1bd7b44 100644
--- a/src/Ryujinx/Assets/Locales/pl_PL.json
+++ b/src/Ryujinx/Assets/Locales/pl_PL.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Zarządzaj rodzajami plików",
"MenuBarToolsInstallFileTypes": "Typy plików instalacyjnych",
"MenuBarToolsUninstallFileTypes": "Typy plików dezinstalacyjnych",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Pomoc",
"MenuBarHelpCheckForUpdates": "Sprawdź aktualizacje",
"MenuBarHelpAbout": "O programie",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Włącz Bogatą Obecność Discord",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Sprawdzaj aktualizacje przy uruchomieniu",
"SettingsTabGeneralShowConfirmExitDialog": "Pokazuj okno dialogowe \"Potwierdź wyjście\"",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "Ukryj kursor:",
"SettingsTabGeneralHideCursorNever": "Nigdy",
"SettingsTabGeneralHideCursorOnIdle": "Gdy bezczynny",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Deadzone Żyroskopu:",
"ControllerSettingsSave": "Zapisz",
"ControllerSettingsClose": "Zamknij",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "Wybrany profil użytkownika:",
"UserProfilesSaveProfileName": "Zapisz nazwę profilu",
"UserProfilesChangeProfileImage": "Zmień obrazek profilu",
@@ -341,7 +447,7 @@
"DialogThemeRestartMessage": "Motyw został zapisany. Aby zastosować motyw, konieczne jest ponowne uruchomienie.",
"DialogThemeRestartSubMessage": "Czy chcesz uruchomić ponownie?",
"DialogFirmwareInstallEmbeddedMessage": "Czy chcesz zainstalować firmware wbudowany w tę grę? (Firmware {0})",
- "DialogFirmwareInstallEmbeddedSuccessMessage": "No installed firmware was found but Ryujinx was able to install firmware {0} from the provided game.\nThe emulator will now start.",
+ "DialogFirmwareInstallEmbeddedSuccessMessage": "Nie znaleziono zainstalowanego oprogramowania, ale Ryujinx był w stanie zainstalować oprogramowanie {0} z dostarczonej gry.\n\nEmulator uruchomi się teraz.",
"DialogFirmwareNoFirmwareInstalledMessage": "Brak Zainstalowanego Firmware'u",
"DialogFirmwareInstalledMessage": "Firmware {0} został zainstalowany",
"DialogInstallFileTypesSuccessMessage": "Pomyślnie zainstalowano typy plików!",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Menedżer Profili Użytkowników",
"CheatWindowTitle": "Menedżer Kodów",
"DlcWindowTitle": "Menedżer Zawartości do Pobrania",
+ "ModWindowTitle": "Zarządzaj modami dla {0} ({1})",
"UpdateWindowTitle": "Menedżer Aktualizacji Tytułu",
"CheatWindowHeading": "Kody Dostępne dla {0} [{1}]",
"BuildId": "Identyfikator wersji:",
@@ -648,11 +755,11 @@
"GraphicsAALabel": "Antyaliasing:",
"GraphicsScalingFilterLabel": "Filtr skalowania:",
"GraphicsScalingFilterTooltip": "Choose the scaling filter that will be applied when using resolution scale.\n\nBilinear works well for 3D games and is a safe default option.\n\nNearest is recommended for pixel art games.\n\nFSR 1.0 is merely a sharpening filter, not recommended for use with FXAA or SMAA.\n\nThis option can be changed while a game is running by clicking \"Apply\" below; you can simply move the settings window aside and experiment until you find your preferred look for a game.\n\nLeave on BILINEAR if unsure.",
- "GraphicsScalingFilterBilinear": "Bilinear",
- "GraphicsScalingFilterNearest": "Nearest",
+ "GraphicsScalingFilterBilinear": "Dwuliniowe",
+ "GraphicsScalingFilterNearest": "Najbliższe",
"GraphicsScalingFilterFsr": "FSR",
"GraphicsScalingFilterLevelLabel": "Poziom",
- "GraphicsScalingFilterLevelTooltip": "Set FSR 1.0 sharpening level. Higher is sharper.",
+ "GraphicsScalingFilterLevelTooltip": "Ustaw poziom ostrzeżenia FSR 1.0. Wyższy jest ostrzejszy.",
"SmaaLow": "SMAA Niskie",
"SmaaMedium": "SMAA Średnie",
"SmaaHigh": "SMAA Wysokie",
@@ -660,7 +767,7 @@
"UserEditorTitle": "Edytuj użytkownika",
"UserEditorTitleCreate": "Utwórz użytkownika",
"SettingsTabNetworkInterface": "Interfejs sieci:",
- "NetworkInterfaceTooltip": "The network interface used for LAN/LDN features.\n\nIn conjunction with a VPN or XLink Kai and a game with LAN support, can be used to spoof a same-network connection over the Internet.\n\nLeave on DEFAULT if unsure.",
+ "NetworkInterfaceTooltip": "Interfejs sieciowy używany dla funkcji LAN/LDN.\n\nw połączeniu z VPN lub XLink Kai i grą z obsługą sieci LAN, może być użyty do spoofowania połączenia z tą samą siecią przez Internet.\n\nZostaw DOMYŚLNE, jeśli nie ma pewności.",
"NetworkInterfaceDefault": "Domyślny",
"PackagingShaders": "Pakuje Shadery ",
"AboutChangelogButton": "Zobacz listę zmian na GitHubie",
@@ -668,6 +775,6 @@
"SettingsTabNetworkMultiplayer": "Gra Wieloosobowa",
"MultiplayerMode": "Tryb:",
"MultiplayerModeTooltip": "Change LDN multiplayer mode.\n\nLdnMitm will modify local wireless/local play functionality in games to function as if it were LAN, allowing for local, same-network connections with other Ryujinx instances and hacked Nintendo Switch consoles that have the ldn_mitm module installed.\n\nMultiplayer requires all players to be on the same game version (i.e. Super Smash Bros. Ultimate v13.0.1 can't connect to v13.0.0).\n\nLeave DISABLED if unsure.",
- "MultiplayerModeDisabled": "Disabled",
+ "MultiplayerModeDisabled": "Wyłączone",
"MultiplayerModeLdnMitm": "ldn_mitm"
}
diff --git a/src/Ryujinx/Assets/Locales/pt_BR.json b/src/Ryujinx/Assets/Locales/pt_BR.json
index fb48bd593..a8c244b65 100644
--- a/src/Ryujinx/Assets/Locales/pt_BR.json
+++ b/src/Ryujinx/Assets/Locales/pt_BR.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Gerenciar tipos de arquivo",
"MenuBarToolsInstallFileTypes": "Instalar tipos de arquivo",
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de arquivos",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Ajuda",
"MenuBarHelpCheckForUpdates": "_Verificar se há atualizações",
"MenuBarHelpAbout": "_Sobre",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Habilitar Rich Presence do Discord",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Verificar se há atualizações ao iniciar",
"SettingsTabGeneralShowConfirmExitDialog": "Exibir diálogo de confirmação ao sair",
+ "SettingsTabGeneralRememberWindowState": "Lembrar tamanho/posição da Janela",
"SettingsTabGeneralHideCursor": "Esconder o cursor do mouse:",
"SettingsTabGeneralHideCursorNever": "Nunca",
"SettingsTabGeneralHideCursorOnIdle": "Esconder o cursor quando ocioso",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Zona morta do giroscópio:",
"ControllerSettingsSave": "Salvar",
"ControllerSettingsClose": "Fechar",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "Perfil de usuário selecionado:",
"UserProfilesSaveProfileName": "Salvar nome de perfil",
"UserProfilesChangeProfileImage": "Mudar imagem de perfil",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Gerenciador de perfis de usuário",
"CheatWindowTitle": "Gerenciador de Cheats",
"DlcWindowTitle": "Gerenciador de DLC",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
"UpdateWindowTitle": "Gerenciador de atualizações",
"CheatWindowHeading": "Cheats disponíveis para {0} [{1}]",
"BuildId": "ID da Build",
diff --git a/src/Ryujinx/Assets/Locales/ru_RU.json b/src/Ryujinx/Assets/Locales/ru_RU.json
index 284b8e2b4..75fd4fe12 100644
--- a/src/Ryujinx/Assets/Locales/ru_RU.json
+++ b/src/Ryujinx/Assets/Locales/ru_RU.json
@@ -1,9 +1,9 @@
{
"Language": "Русский (RU)",
"MenuBarFileOpenApplet": "Открыть апплет",
- "MenuBarFileOpenAppletOpenMiiAppletToolTip": "Открыть апплет Mii Editor в автономном режиме",
+ "MenuBarFileOpenAppletOpenMiiAppletToolTip": "Открывает апплет Mii Editor в автономном режиме",
"SettingsTabInputDirectMouseAccess": "Прямой ввод мыши",
- "SettingsTabSystemMemoryManagerMode": "Режим диспетчера памяти:",
+ "SettingsTabSystemMemoryManagerMode": "Режим менеджера памяти:",
"SettingsTabSystemMemoryManagerModeSoftware": "Программное обеспечение",
"SettingsTabSystemMemoryManagerModeHost": "Хост (быстро)",
"SettingsTabSystemMemoryManagerModeHostUnchecked": "Хост не установлен (самый быстрый, небезопасный)",
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Управление типами файлов",
"MenuBarToolsInstallFileTypes": "Установить типы файлов",
"MenuBarToolsUninstallFileTypes": "Удалить типы файлов",
+ "MenuBarView": "_Вид",
+ "MenuBarViewWindow": "Размер окна",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Помощь",
"MenuBarHelpCheckForUpdates": "Проверить наличие обновлений",
"MenuBarHelpAbout": "О программе",
@@ -40,7 +44,7 @@
"GameListHeaderDeveloper": "Разработчик",
"GameListHeaderVersion": "Версия",
"GameListHeaderTimePlayed": "Время в игре",
- "GameListHeaderLastPlayed": "Последняя игра",
+ "GameListHeaderLastPlayed": "Последний запуск",
"GameListHeaderFileExtension": "Расширение файла",
"GameListHeaderFileSize": "Размер файла",
"GameListHeaderPath": "Путь",
@@ -80,7 +84,7 @@
"StatusBarGamesLoaded": "{0}/{1} игр загружено",
"StatusBarSystemVersion": "Версия прошивки: {0}",
"LinuxVmMaxMapCountDialogTitle": "Обнаружен низкий лимит разметки памяти",
- "LinuxVmMaxMapCountDialogTextPrimary": "Вы хотите увеличить значение vm.max_map_count до {0}",
+ "LinuxVmMaxMapCountDialogTextPrimary": "Хотите увеличить значение vm.max_map_count до {0}",
"LinuxVmMaxMapCountDialogTextSecondary": "Некоторые игры могут создавать большую разметку памяти, чем разрешено на данный момент по умолчанию. Ryujinx вылетит при превышении этого лимита.",
"LinuxVmMaxMapCountDialogButtonUntilRestart": "Да, до следующего перезапуска",
"LinuxVmMaxMapCountDialogButtonPersistent": "Да, постоянно",
@@ -89,12 +93,13 @@
"Settings": "Параметры",
"SettingsTabGeneral": "Интерфейс",
"SettingsTabGeneralGeneral": "Общее",
- "SettingsTabGeneralEnableDiscordRichPresence": "Включить статус активности в Discord",
+ "SettingsTabGeneralEnableDiscordRichPresence": "Статус активности в Discord",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Проверять наличие обновлений при запуске",
"SettingsTabGeneralShowConfirmExitDialog": "Подтверждать выход из приложения",
+ "SettingsTabGeneralRememberWindowState": "Запомнить размер/положение окна",
"SettingsTabGeneralHideCursor": "Скрывать курсор",
"SettingsTabGeneralHideCursorNever": "Никогда",
- "SettingsTabGeneralHideCursorOnIdle": "В режиме ожидания",
+ "SettingsTabGeneralHideCursorOnIdle": "В простое",
"SettingsTabGeneralHideCursorAlways": "Всегда",
"SettingsTabGeneralGameDirectories": "Папки с играми",
"SettingsTabGeneralAdd": "Добавить",
@@ -125,13 +130,13 @@
"SettingsTabSystemSystemLanguageBritishEnglish": "Английский (Британия)",
"SettingsTabSystemSystemLanguageCanadianFrench": "Французский (Канада)",
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "Испанский (Латинская Америка)",
- "SettingsTabSystemSystemLanguageSimplifiedChinese": "Китайский упрощённый",
- "SettingsTabSystemSystemLanguageTraditionalChinese": "Китайский традиционный",
+ "SettingsTabSystemSystemLanguageSimplifiedChinese": "Китайский (упрощённый)",
+ "SettingsTabSystemSystemLanguageTraditionalChinese": "Китайский (традиционный)",
"SettingsTabSystemSystemTimeZone": "Часовой пояс прошивки:",
- "SettingsTabSystemSystemTime": "Время в прошивке:",
- "SettingsTabSystemEnableVsync": "Включить вертикальную синхронизацию",
- "SettingsTabSystemEnablePptc": "Включить PPTC (Profiled Persistent Translation Cache)",
- "SettingsTabSystemEnableFsIntegrityChecks": "Включить проверку целостности файловой системы",
+ "SettingsTabSystemSystemTime": "Системное время в прошивке:",
+ "SettingsTabSystemEnableVsync": "Вертикальная синхронизация",
+ "SettingsTabSystemEnablePptc": "Использовать PPTC (Profiled Persistent Translation Cache)",
+ "SettingsTabSystemEnableFsIntegrityChecks": "Проверка целостности файловой системы",
"SettingsTabSystemAudioBackend": "Аудио бэкенд:",
"SettingsTabSystemAudioBackendDummy": "Без звука",
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
@@ -143,7 +148,7 @@
"SettingsTabSystemIgnoreMissingServices": "Игнорировать отсутствующие службы",
"SettingsTabGraphics": "Графика",
"SettingsTabGraphicsAPI": "Графические API",
- "SettingsTabGraphicsEnableShaderCache": "Включить кэш шейдеров",
+ "SettingsTabGraphicsEnableShaderCache": "Кэшировать шейдеры",
"SettingsTabGraphicsAnisotropicFiltering": "Анизотропная фильтрация:",
"SettingsTabGraphicsAnisotropicFilteringAuto": "Автоматически",
"SettingsTabGraphicsAnisotropicFiltering2x": "2x",
@@ -164,7 +169,7 @@
"SettingsTabGraphicsAspectRatio32x9": "32:9",
"SettingsTabGraphicsAspectRatioStretch": "Растянуть до размеров окна",
"SettingsTabGraphicsDeveloperOptions": "Параметры разработчика",
- "SettingsTabGraphicsShaderDumpPath": "Путь дампа графического шейдера:",
+ "SettingsTabGraphicsShaderDumpPath": "Путь дампа графических шейдеров",
"SettingsTabLogging": "Журналирование",
"SettingsTabLoggingLogging": "Журналирование",
"SettingsTabLoggingEnableLoggingToFile": "Включить запись в файл",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Мертвая зона гироскопа:",
"ControllerSettingsSave": "Сохранить",
"ControllerSettingsClose": "Закрыть",
+ "KeyUnknown": "Неизвестно",
+ "KeyShiftLeft": "Левый Shift",
+ "KeyShiftRight": "Правый Shift",
+ "KeyControlLeft": "Левый Ctrl",
+ "KeyMacControlLeft": "Левый ⌃",
+ "KeyControlRight": "Правый Ctrl",
+ "KeyMacControlRight": "Правый ⌃",
+ "KeyAltLeft": "Левый Alt",
+ "KeyMacAltLeft": "Левый ⌥",
+ "KeyAltRight": "Правый Alt",
+ "KeyMacAltRight": "Правый ⌥",
+ "KeyWinLeft": "Левый ⊞",
+ "KeyMacWinLeft": "Левый ⌘",
+ "KeyWinRight": "Правый ⊞",
+ "KeyMacWinRight": "Правый ⌘",
+ "KeyMenu": "Меню",
+ "KeyUp": "Вверх",
+ "KeyDown": "Вниз",
+ "KeyLeft": "Влево",
+ "KeyRight": "Вправо",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Пробел",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Очистить",
+ "KeyKeypad0": "Блок цифр 0",
+ "KeyKeypad1": "Блок цифр 1",
+ "KeyKeypad2": "Блок цифр 2",
+ "KeyKeypad3": "Блок цифр 3",
+ "KeyKeypad4": "Блок цифр 4",
+ "KeyKeypad5": "Блок цифр 5",
+ "KeyKeypad6": "Блок цифр 6",
+ "KeyKeypad7": "Блок цифр 7",
+ "KeyKeypad8": "Блок цифр 8",
+ "KeyKeypad9": "Блок цифр 9",
+ "KeyKeypadDivide": "/ (блок цифр)",
+ "KeyKeypadMultiply": "* (блок цифр)",
+ "KeyKeypadSubtract": "- (блок цифр)",
+ "KeyKeypadAdd": "+ (блок цифр)",
+ "KeyKeypadDecimal": ". (блок цифр)",
+ "KeyKeypadEnter": "Enter (блок цифр)",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Не привязано",
+ "GamepadLeftStick": "Кнопка лев. стика",
+ "GamepadRightStick": "Кнопка пр. стика",
+ "GamepadLeftShoulder": "Левый бампер",
+ "GamepadRightShoulder": "Правый бампер",
+ "GamepadLeftTrigger": "Левый триггер",
+ "GamepadRightTrigger": "Правый триггер",
+ "GamepadDpadUp": "Вверх",
+ "GamepadDpadDown": "Вниз",
+ "GamepadDpadLeft": "Влево",
+ "GamepadDpadRight": "Вправо",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Кнопка Xbox",
+ "GamepadMisc1": "Прочее",
+ "GamepadPaddle1": "Доп.кнопка 1",
+ "GamepadPaddle2": "Доп.кнопка 2",
+ "GamepadPaddle3": "Доп.кнопка 3",
+ "GamepadPaddle4": "Доп.кнопка 4",
+ "GamepadTouchpad": "Тачпад",
+ "GamepadSingleLeftTrigger0": "Левый триггер 0",
+ "GamepadSingleRightTrigger0": "Правый триггер 0",
+ "GamepadSingleLeftTrigger1": "Левый триггер 1",
+ "GamepadSingleRightTrigger1": "Правый триггер 1",
+ "StickLeft": "Левый стик",
+ "StickRight": "Правый стик",
"UserProfilesSelectedUserProfile": "Выбранный пользовательский профиль:",
"UserProfilesSaveProfileName": "Сохранить пользовательский профиль",
"UserProfilesChangeProfileImage": "Изменить аватар",
@@ -273,17 +379,17 @@
"UserProfilesAddNewProfile": "Добавить новый профиль",
"UserProfilesDelete": "Удалить",
"UserProfilesClose": "Закрыть",
- "ProfileNameSelectionWatermark": "Выберите никнейм",
+ "ProfileNameSelectionWatermark": "Укажите никнейм",
"ProfileImageSelectionTitle": "Выбор изображения профиля",
- "ProfileImageSelectionHeader": "Выберите аватар",
+ "ProfileImageSelectionHeader": "Выбор аватара",
"ProfileImageSelectionNote": "Вы можете импортировать собственное изображение или выбрать аватар из системной прошивки.",
"ProfileImageSelectionImportImage": "Импорт изображения",
"ProfileImageSelectionSelectAvatar": "Встроенные аватары",
"InputDialogTitle": "Диалоговое окно ввода",
"InputDialogOk": "ОК",
"InputDialogCancel": "Отмена",
- "InputDialogAddNewProfileTitle": "Выберите имя профиля",
- "InputDialogAddNewProfileHeader": "Пожалуйста, введите имя профиля",
+ "InputDialogAddNewProfileTitle": "Выберите никнейм",
+ "InputDialogAddNewProfileHeader": "Пожалуйста, введите никнейм",
"InputDialogAddNewProfileSubtext": "(Максимальная длина: {0})",
"AvatarChoose": "Выбрать аватар",
"AvatarSetBackgroundColor": "Установить цвет фона",
@@ -312,7 +418,7 @@
"DialogWarningTitle": "Ryujinx - Предупреждение",
"DialogExitTitle": "Ryujinx - Выход",
"DialogErrorMessage": "Ryujinx обнаружил ошибку",
- "DialogExitMessage": "Вы уверены, что хотите закрыть Ryujinx?",
+ "DialogExitMessage": "Вы уверены, что хотите выйти из Ryujinx?",
"DialogExitSubMessage": "Все несохраненные данные будут потеряны",
"DialogMessageCreateSaveErrorMessage": "Произошла ошибка при создании указанных данных сохранения: {0}",
"DialogMessageFindSaveErrorMessage": "Произошла ошибка при поиске указанных данных сохранения: {0}",
@@ -324,7 +430,7 @@
"DialogNcaExtractionSuccessMessage": "Извлечение завершено успешно.",
"DialogUpdaterConvertFailedMessage": "Не удалось преобразовать текущую версию Ryujinx.",
"DialogUpdaterCancelUpdateMessage": "Отмена обновления...",
- "DialogUpdaterAlreadyOnLatestVersionMessage": "Вы уже используете самую последнюю версию Ryujinx",
+ "DialogUpdaterAlreadyOnLatestVersionMessage": "Вы используете самую последнюю версию Ryujinx",
"DialogUpdaterFailedToGetVersionMessage": "Произошла ошибка при попытке получить информацию о выпуске от GitHub Release. Это может быть вызвано тем, что в данный момент в GitHub Actions компилируется новый релиз. Повторите попытку позже.",
"DialogUpdaterConvertFailedGithubMessage": "Не удалось преобразовать полученную версию Ryujinx из Github Release.",
"DialogUpdaterDownloadingMessage": "Загрузка обновления...",
@@ -332,14 +438,14 @@
"DialogUpdaterRenamingMessage": "Переименование обновления...",
"DialogUpdaterAddingFilesMessage": "Добавление нового обновления...",
"DialogUpdaterCompleteMessage": "Обновление завершено",
- "DialogUpdaterRestartMessage": "Вы хотите перезапустить Ryujinx сейчас?",
+ "DialogUpdaterRestartMessage": "Перезапустить Ryujinx?",
"DialogUpdaterNoInternetMessage": "Вы не подключены к интернету",
"DialogUpdaterNoInternetSubMessage": "Убедитесь, что у вас работает подключение к интернету",
"DialogUpdaterDirtyBuildMessage": "Вы не можете обновлять Dirty Build",
"DialogUpdaterDirtyBuildSubMessage": "Загрузите Ryujinx по адресу https://ryujinx.org/ если вам нужна поддерживаемая версия.",
"DialogRestartRequiredMessage": "Требуется перезагрузка",
"DialogThemeRestartMessage": "Тема сохранена. Для применения темы требуется перезапуск.",
- "DialogThemeRestartSubMessage": "Вы хотите перезапустить?",
+ "DialogThemeRestartSubMessage": "Хотите перезапустить",
"DialogFirmwareInstallEmbeddedMessage": "Хотите установить прошивку, встроенную в эту игру? (Прошивка {0})",
"DialogFirmwareInstallEmbeddedSuccessMessage": "Установленная прошивка не была найдена, но Ryujinx удалось установить прошивку {0} из предоставленной игры.\nТеперь эмулятор запустится.",
"DialogFirmwareNoFirmwareInstalledMessage": "Прошивка не установлена",
@@ -348,7 +454,7 @@
"DialogInstallFileTypesErrorMessage": "Не удалось установить типы файлов.",
"DialogUninstallFileTypesSuccessMessage": "Типы файлов успешно удалены",
"DialogUninstallFileTypesErrorMessage": "Не удалось удалить типы файлов.",
- "DialogOpenSettingsWindowLabel": "Открыть окно параметров",
+ "DialogOpenSettingsWindowLabel": "Открывает окно параметров",
"DialogControllerAppletTitle": "Апплет контроллера",
"DialogMessageDialogErrorExceptionMessage": "Ошибка отображения сообщения: {0}",
"DialogSoftwareKeyboardErrorExceptionMessage": "Ошибка отображения программной клавиатуры: {0}",
@@ -364,7 +470,7 @@
"DialogProfileDeleteProfileTitle": "Удаление профиля",
"DialogProfileDeleteProfileMessage": "Это действие необратимо. Вы уверены, что хотите продолжить?",
"DialogWarning": "Внимание",
- "DialogPPTCDeletionMessage": "Вы собираетесь удалить кэш PPTC для:\n\n{0}\n\nВы уверены, что хотите продолжить?",
+ "DialogPPTCDeletionMessage": "Вы собираетесь перестроить кэш PPTC при следующем запуске для:\n\n{0}\n\nВы уверены, что хотите продолжить?",
"DialogPPTCDeletionErrorMessage": "Ошибка очистки кэша PPTC в {0}: {1}",
"DialogShaderDeletionMessage": "Вы собираетесь удалить кэш шейдеров для:\n\n{0}\n\nВы уверены, что хотите продолжить?",
"DialogShaderDeletionErrorMessage": "Ошибка очистки кэша шейдеров в {0}: {1}",
@@ -378,10 +484,10 @@
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Установка прошивки...",
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Прошивка версии {0} успешно установлена.",
"DialogUserProfileDeletionWarningMessage": "Если выбранный профиль будет удален, другие профили не будут открываться.",
- "DialogUserProfileDeletionConfirmMessage": "Вы хотите удалить выбранный профиль",
+ "DialogUserProfileDeletionConfirmMessage": "Удалить выбранный профиль?",
"DialogUserProfileUnsavedChangesTitle": "Внимание - Несохраненные изменения",
- "DialogUserProfileUnsavedChangesMessage": "Вы внесли изменения в этот профиль пользователя которые не были сохранены.",
- "DialogUserProfileUnsavedChangesSubMessage": "Вы хотите отменить изменения?",
+ "DialogUserProfileUnsavedChangesMessage": "В эту учетную запись внесены изменения, которые не были сохранены.",
+ "DialogUserProfileUnsavedChangesSubMessage": "Отменить изменения?",
"DialogControllerSettingsModifiedConfirmMessage": "Текущие настройки управления обновлены.",
"DialogControllerSettingsModifiedConfirmSubMessage": "Сохранить?",
"DialogLoadFileErrorMessage": "{0}. Файл с ошибкой: {1}",
@@ -444,40 +550,40 @@
"OrderDescending": "По убыванию",
"SettingsTabGraphicsFeatures": "Функции",
"ErrorWindowTitle": "Окно ошибки",
- "ToggleDiscordTooltip": "Включает или отключает отображение в Discord статуса \"Сейчас играет\"",
- "AddGameDirBoxTooltip": "Введите папку игры для добавления в список",
+ "ToggleDiscordTooltip": "Включает или отключает отображение статуса \"Играет в игру\" в Discord",
+ "AddGameDirBoxTooltip": "Введите путь к папке с играми для добавления ее в список выше",
"AddGameDirTooltip": "Добавить папку с играми в список",
"RemoveGameDirTooltip": "Удалить выбранную папку игры",
"CustomThemeCheckTooltip": "Включить или отключить пользовательские темы",
"CustomThemePathTooltip": "Путь к пользовательской теме для интерфейса",
"CustomThemeBrowseTooltip": "Просмотр пользовательской темы интерфейса",
- "DockModeToggleTooltip": "\"Стационарный\" режим запускает эмулятор, как если бы Nintendo Switch находилась в доке, что улучшает графику и разрешение в большинстве игр. И наоборот, при отключении этого режима эмулятор будет запускать игры в \"Портативном\" режиме, снижая качество графики.\n\nНастройте управление для Игрока 1 если планируете использовать в \"Стационарном\" режиме; настройте портативное управление если планируете использовать эмулятор в \"Портативном\" режиме.\n\nОставьте включенным если не уверены.",
+ "DockModeToggleTooltip": "\"Стационарный\" режим запускает эмулятор, как если бы Nintendo Switch находилась в доке, что улучшает графику и разрешение в большинстве игр. И наоборот, при отключении этого режима эмулятор будет запускать игры в \"Портативном\" режиме, снижая качество графики.\n\nНастройте управление для Игрока 1 если планируете использовать в \"Стационарном\" режиме; настройте портативное управление если планируете использовать эмулятор в \"Портативном\" режиме.\n\nРекомендуется оставить включенным.",
"DirectKeyboardTooltip": "Поддержка прямого ввода с клавиатуры (HID). Предоставляет игре прямой доступ к клавиатуре в качестве устройства ввода текста.\nРаботает только с играми, которые изначально поддерживают использование клавиатуры с Switch.\nРекомендуется оставить выключенным.",
"DirectMouseTooltip": "Поддержка прямого ввода мыши (HID). Предоставляет игре прямой доступ к мыши в качестве указывающего устройства.\nРаботает только с играми, которые изначально поддерживают использование мыши совместно с железом Switch.\nРекомендуется оставить выключенным.",
- "RegionTooltip": "Изменение региона прошивки",
- "LanguageTooltip": "Изменение языка прошивки",
- "TimezoneTooltip": "Изменение часового пояса прошивки",
- "TimeTooltip": "Изменение системного времени",
+ "RegionTooltip": "Сменяет регион прошивки",
+ "LanguageTooltip": "Меняет язык прошивки",
+ "TimezoneTooltip": "Меняет часовой пояс прошивки",
+ "TimeTooltip": "Меняет системное время прошивки",
"VSyncToggleTooltip": "Эмуляция вертикальной синхронизации консоли, которая ограничивает количество кадров в секунду в большинстве игр; отключение может привести к тому, что игры будут запущены с более высокой частотой кадров, но загрузка игры может занять больше времени, либо игра не запустится вообще.\n\nМожно включать и выключать эту настройку непосредственно в игре с помощью горячих клавиш (F1 по умолчанию). Если планируете отключить вертикальную синхронизацию, рекомендуем настроить горячие клавиши.\n\nРекомендуется оставить включенным.",
- "PptcToggleTooltip": "Сохранение преобразованных JIT-функций для того, чтобы не преобразовывать их по новой каждый раз при запуске игры.\n\nУменьшает статтеры и значительно ускоряет последующую загрузку игр.\n\nРекомендуется оставить включенным.",
- "FsIntegrityToggleTooltip": "Проверяет поврежденные файлы при загрузке игры и если поврежденные файлы обнаружены, отображает ошибку о поврежденном хэше в журнале.\n\nНе влияет на производительность и необходим для помощи в устранении неполадок.\n\nРекомендуется оставить включенным.",
- "AudioBackendTooltip": "Изменяет используемый аудио-бэкенд для рендера звука.\n\nSDL2 является предпочтительным, в то время как OpenAL и SoundIO используются в качестве резервных. \n\nРекомендуется использование SDL2.",
- "MemoryManagerTooltip": "Изменение разметки и доступа к гостевой памяти. Значительно влияет на производительность процессора.\n\nРекомендуется оставить \"Хост не установлен\"",
- "MemoryManagerSoftwareTooltip": "Использует таблицу страниц для преобразования адресов. Самая высокая точность, но самая низкая производительность.",
- "MemoryManagerHostTooltip": "Прямая разметка памяти в адресном пространстве хоста. Значительно более быстрая JIT-компиляция и запуск.",
- "MemoryManagerUnsafeTooltip": "Производит прямую разметку памяти, но не маскирует адрес в гостевом адресном пространстве перед получением доступа. Быстро, но небезопасно. Гостевое приложение может получить доступ к памяти из Ryujinx, поэтому в этом режиме рекомендуется запускать только те программы, которым вы доверяете.",
+ "PptcToggleTooltip": "Сохраняет скомпилированные JIT-функции для того, чтобы не преобразовывать их по новой каждый раз при запуске игры.\n\nУменьшает статтеры и значительно ускоряет последующую загрузку игр.\n\nРекомендуется оставить включенным.",
+ "FsIntegrityToggleTooltip": "Проверяет файлы при загрузке игры и если обнаружены поврежденные файлы, выводит сообщение о поврежденном хэше в журнале.\n\nНе влияет на производительность и необходим для помощи в устранении неполадок.\n\nРекомендуется оставить включенным.",
+ "AudioBackendTooltip": "Изменяет используемый аудио бэкенд для рендера звука.\n\nSDL2 является предпочтительным вариантом, в то время как OpenAL и SoundIO используются в качестве резервных.\n\nРекомендуется использование SDL2.",
+ "MemoryManagerTooltip": "Меняет разметку и доступ к гостевой памяти. Значительно влияет на производительность процессора.\n\nРекомендуется оставить \"Хост не установлен\"",
+ "MemoryManagerSoftwareTooltip": "Использует таблицу страниц для преобразования адресов. \nСамая высокая точность, но самая низкая производительность.",
+ "MemoryManagerHostTooltip": "Прямая разметка памяти в адресном пространстве хоста. \nЗначительно более быстрые запуск и компиляция JIT.",
+ "MemoryManagerUnsafeTooltip": "Производит прямую разметку памяти, но не маскирует адрес в гостевом адресном пространстве перед получением доступа. \nБыстро, но небезопасно. Гостевое приложение может получить доступ к памяти из Ryujinx, поэтому в этом режиме рекомендуется запускать только те программы, которым вы доверяете.",
"UseHypervisorTooltip": "Использует Hypervisor вместо JIT. Значительно увеличивает производительность, но может работать нестабильно.",
"DRamTooltip": "Использует альтернативный макет MemoryMode для имитации использования Nintendo Switch в режиме разработчика.\n\nПолезно только для пакетов текстур с высоким разрешением или модов добавляющих разрешение 4К. Не улучшает производительность.\n\nРекомендуется оставить выключенным.",
"IgnoreMissingServicesTooltip": "Игнорирует нереализованные сервисы Horizon в новых прошивках. Эта настройка поможет избежать вылеты при запуске определенных игр.\n\nРекомендуется оставить выключенным.",
- "GraphicsBackendThreadingTooltip": "Выполняет команды графического бэкенда на втором потоке.\n\nУскоряет компиляцию шейдеров, уменьшает статтеры и повышает производительность на драйверах GPU без поддержки многопоточности. Производительность на драйверах с многопоточностью немного выше.\n\nРекомендуется оставить Автоматически.",
- "GalThreadingTooltip": "Выполняет команды графического бэкенда на втором потоке.\n\nУскоряет компиляцию шейдеров, уменьшает статтеры и повышает производительность на драйверах GPU без поддержки многопоточности. Производительность на драйверах с многопоточностью немного выше.\n\nРекомендуется оставить в Авто.",
+ "GraphicsBackendThreadingTooltip": "Выполняет команды графического бэкенда на втором потоке.\n\nУскоряет компиляцию шейдеров, уменьшает статтеры и повышает производительность на драйверах видеоадаптера без поддержки многопоточности. Производительность на драйверах с многопоточностью немного выше.\n\nРекомендуется оставить Автоматически.",
+ "GalThreadingTooltip": "Выполняет команды графического бэкенда на втором потоке.\n\nУскоряет компиляцию шейдеров, уменьшает статтеры и повышает производительность на драйверах видеоадаптера без поддержки многопоточности. Производительность на драйверах с многопоточностью немного выше.\n\nРекомендуется оставить Автоматически.",
"ShaderCacheToggleTooltip": "Сохраняет кэш шейдеров на диске, для уменьшения статтеров при последующих запусках.\n\nРекомендуется оставить включенным.",
- "ResolutionScaleTooltip": "Увеличивает разрешение рендера игры.\n\nНекоторые игры могут не работать с этой настройкой и выглядеть смазано даже когда разрешение увеличено; Для таких игр вам может потребоваться установить моды, которые убирают сглаживание или увеличивают разрешение рендеринга. Для использования последнего, вам нужно будет выбрать опцию \"Нативное\".\n\nЭта опция может быть изменена во время игры по нажатию кнопки \"Применить\" ниже; Вы можете просто переместить окно настроек в сторону и поэкспериментировать, пока не подберете подходящие настройки для конкретной игры.\n\nИмейте в виду, что \"4x\" является излишеством.",
+ "ResolutionScaleTooltip": "Увеличивает разрешение рендера игры.\n\nНекоторые игры могут не работать с этой настройкой и выглядеть смазано даже когда разрешение увеличено. Для таких игр может потребоваться установка модов, которые убирают сглаживание или увеличивают разрешение рендеринга. \nДля использования последнего, вам нужно будет выбрать опцию \"Нативное\".\n\nЭта опция может быть изменена во время игры по нажатию кнопки \"Применить\" ниже. Вы можете просто переместить окно настроек в сторону и поэкспериментировать, пока не подберете подходящие настройки для конкретной игры.\n\nИмейте в виду, что \"4x\" является излишеством.",
"ResolutionScaleEntryTooltip": "Масштабирование разрешения с плавающей запятой, например 1,5. Неинтегральное масштабирование с большой вероятностью вызовет сбои в работе.",
- "AnisotropyTooltip": "Уровень анизотропной фильтрации. Установите значение «Авто», чтобы использовать в игре значение по умолчанию игре.",
+ "AnisotropyTooltip": "Уровень анизотропной фильтрации. \n\nУстановите значение Автоматически, чтобы использовать значение по умолчанию игры.",
"AspectRatioTooltip": "Соотношение сторон окна рендерера.\n\nИзмените эту настройку только если вы используете мод для соотношения сторон, иначе изображение будет растянуто.\n\nРекомендуется настройка 16:9.",
"ShaderDumpPathTooltip": "Путь с дампами графических шейдеров",
- "FileLogTooltip": "Включает или отключает ведение журнала в файл на диске. Не влияет на производительность.",
+ "FileLogTooltip": "Включает ведение журнала в файл на диске. Не влияет на производительность.",
"StubLogTooltip": "Включает ведение журнала-заглушки. Не влияет на производительность.",
"InfoLogTooltip": "Включает вывод сообщений информационного журнала в консоль. Не влияет на производительность.",
"WarnLogTooltip": "Включает вывод сообщений журнала предупреждений в консоль. Не влияет на производительность.",
@@ -489,42 +595,42 @@
"DeveloperOptionTooltip": "Используйте с осторожностью",
"OpenGlLogLevel": "Требует включения соответствующих уровней ведения журнала",
"DebugLogTooltip": "Выводит журнал сообщений отладки в консоли.\n\nИспользуйте только в случае просьбы разработчика, так как включение этой функции затруднит чтение журналов и ухудшит работу эмулятора.",
- "LoadApplicationFileTooltip": "Открыть файловый менеджер для выбора файла, совместимого с Nintendo Switch.",
- "LoadApplicationFolderTooltip": "Открыть файловый менеджер для выбора распакованного приложения, совместимого с Nintendo Switch.",
+ "LoadApplicationFileTooltip": "Открывает файловый менеджер для выбора файла, совместимого с Nintendo Switch.",
+ "LoadApplicationFolderTooltip": "Открывает файловый менеджер для выбора распакованного приложения, совместимого с Nintendo Switch.",
"OpenRyujinxFolderTooltip": "Открывает папку с файлами Ryujinx. ",
"OpenRyujinxLogsTooltip": "Открывает папку в которую записываются логи",
"ExitTooltip": "Выйти из Ryujinx",
- "OpenSettingsTooltip": "Открыть окно параметров",
+ "OpenSettingsTooltip": "Открывает окно параметров",
"OpenProfileManagerTooltip": "Открыть менеджер учетных записей",
"StopEmulationTooltip": "Остановка эмуляции текущей игры и возврат к списку игр",
- "CheckUpdatesTooltip": "Проверка наличия обновления Ryujinx",
- "OpenAboutTooltip": "Открыть окно «О программе»",
+ "CheckUpdatesTooltip": "Проверяет наличие обновлений для Ryujinx",
+ "OpenAboutTooltip": "Открывает окно «О программе»",
"GridSize": "Размер сетки",
- "GridSizeTooltip": "Изменение размера элементов сетки",
+ "GridSizeTooltip": "Меняет размер сетки элементов",
"SettingsTabSystemSystemLanguageBrazilianPortuguese": "Португальский язык (Бразилия)",
"AboutRyujinxContributorsButtonHeader": "Посмотреть всех участников",
"SettingsTabSystemAudioVolume": "Громкость: ",
"AudioVolumeTooltip": "Изменяет громкость звука",
- "SettingsTabSystemEnableInternetAccess": "Включить гостевой доступ в Интернет/сетевой режим",
+ "SettingsTabSystemEnableInternetAccess": "Гостевой доступ в интернет/сетевой режим",
"EnableInternetAccessTooltip": "Позволяет эмулированному приложению подключаться к Интернету.\n\nПри включении этой функции игры с возможностью сетевой игры могут подключаться друг к другу, если все эмуляторы (или реальные консоли) подключены к одной и той же точке доступа.\n\nНЕ разрешает подключение к серверам Nintendo. Может вызвать сбой в некоторых играх, которые пытаются подключиться к Интернету.\n\nРекомендутеся оставить выключенным.",
- "GameListContextMenuManageCheatToolTip": "Управление читами",
+ "GameListContextMenuManageCheatToolTip": "Открывает окно управления читами",
"GameListContextMenuManageCheat": "Управление читами",
- "GameListContextMenuManageModToolTip": "Управление модами",
+ "GameListContextMenuManageModToolTip": "Открывает окно управления модами",
"GameListContextMenuManageMod": "Управление модами",
"ControllerSettingsStickRange": "Диапазон:",
- "DialogStopEmulationTitle": "Ryujinx - Остановить эмуляцию",
+ "DialogStopEmulationTitle": "Ryujinx - Остановка эмуляции",
"DialogStopEmulationMessage": "Вы уверены, что хотите остановить эмуляцию?",
- "SettingsTabCpu": "ЦП",
+ "SettingsTabCpu": "Процессор",
"SettingsTabAudio": "Аудио",
"SettingsTabNetwork": "Сеть",
"SettingsTabNetworkConnection": "Подключение к сети",
- "SettingsTabCpuCache": "Кэш ЦП",
- "SettingsTabCpuMemory": "Память ЦП",
+ "SettingsTabCpuCache": "Кэш процессора",
+ "SettingsTabCpuMemory": "Режим процессора",
"DialogUpdaterFlatpakNotSupportedMessage": "Пожалуйста, обновите Ryujinx через FlatHub.",
"UpdaterDisabledWarningTitle": "Средство обновления отключено",
"ControllerSettingsRotate90": "Повернуть на 90° по часовой стрелке",
"IconSize": "Размер обложек",
- "IconSizeTooltip": "Изменить размер обложек",
+ "IconSizeTooltip": "Меняет размер обложек",
"MenuBarOptionsShowConsole": "Показать консоль",
"ShaderCachePurgeError": "Ошибка очистки кэша шейдеров в {0}: {1}",
"UserErrorNoKeys": "Ключи не найдены",
@@ -578,7 +684,7 @@
"SettingsTabHotkeys": "Горячие клавиши",
"SettingsTabHotkeysHotkeys": "Горячие клавиши",
"SettingsTabHotkeysToggleVsyncHotkey": "Вертикальная синхронизация:",
- "SettingsTabHotkeysScreenshotHotkey": "Скриншот:",
+ "SettingsTabHotkeysScreenshotHotkey": "Сделать скриншот:",
"SettingsTabHotkeysShowUiHotkey": "Показать интерфейс:",
"SettingsTabHotkeysPauseHotkey": "Пауза эмуляции:",
"SettingsTabHotkeysToggleMuteHotkey": "Выключить звук:",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Менеджер учетных записей",
"CheatWindowTitle": "Менеджер читов",
"DlcWindowTitle": "Управление DLC для {0} ({1})",
+ "ModWindowTitle": "Управление модами для {0} ({1})",
"UpdateWindowTitle": "Менеджер обновлений игр",
"CheatWindowHeading": "Доступные читы для {0} [{1}]",
"BuildId": "ID версии:",
@@ -607,33 +714,33 @@
"Save": "Сохранить",
"Discard": "Отменить",
"Paused": "Приостановлено",
- "UserProfilesSetProfileImage": "Установить аватар профиля",
- "UserProfileEmptyNameError": "Имя обязательно",
+ "UserProfilesSetProfileImage": "Установить аватар",
+ "UserProfileEmptyNameError": "Необходимо ввести никнейм",
"UserProfileNoImageError": "Необходимо установить аватар",
"GameUpdateWindowHeading": "Доступные обновления для {0} ({1})",
"SettingsTabHotkeysResScaleUpHotkey": "Увеличить разрешение:",
"SettingsTabHotkeysResScaleDownHotkey": "Уменьшить разрешение:",
- "UserProfilesName": "Имя:",
+ "UserProfilesName": "Никнейм:",
"UserProfilesUserId": "ID пользователя:",
"SettingsTabGraphicsBackend": "Графический бэкенд",
- "SettingsTabGraphicsBackendTooltip": "Выберите бэкенд, который будет использован в эмуляторе.\n\nVulkan является лучшим выбором для всех современных графических карт с актуальными драйверами. В Vulkan также включена более быстрая компиляция шейдеров (меньше статтеров) для всех GPU.\n\nOpenGL может достичь лучших результатов на старых GPU Nvidia, на старых GPU AMD на Linux или на GPU с небольшим количеством VRAM, хотя статтеров при компиляции шейдеров будет больше.\n\nРекомендуется использовать Vulkan. Используйте OpenGL, если ваш GPU не поддерживает Vulkan даже с актуальными драйверами.",
- "SettingsEnableTextureRecompression": "Включить пережатие текстур",
- "SettingsEnableTextureRecompressionTooltip": "Сжатие ASTC текстур для уменьшения использования VRAM. \n\nИгры, использующие этот формат текстур: Astral Chain, Bayonetta 3, Fire Emblem Engage, Metroid Prime Remastered, Super Mario Bros. Wonder и The Legend of Zelda: Tears of the Kingdom. \n\nНа GPU с 4GiB VRAM или менее возможны вылеты при запуске этих игр. \n\nВключите, только если у вас заканчивается VRAM в вышеупомянутых играх. Рекомендуется оставить выключенным.",
- "SettingsTabGraphicsPreferredGpu": "Предпочтительный GPU",
- "SettingsTabGraphicsPreferredGpuTooltip": "Выберите GPU, который будет использоваться с графическим бэкендом Vulkan.\n\nЭта настройка не влияет на GPU, который будет использовать OpenGL.\n\nЕсли вы не уверены что нужно выбрать, используйте графический процессор, помеченный как \"dGPU\". Если его нет, оставьте выбор по умолчанию.",
+ "SettingsTabGraphicsBackendTooltip": "Выберает бэкенд, который будет использован в эмуляторе.\n\nVulkan является лучшим выбором для всех современных графических карт с актуальными драйверами. В Vulkan также включена более быстрая компиляция шейдеров (меньше статтеров) для всех видеоадаптеров.\n\nПри использовании OpenGL можно достичь лучших результатов на старых видеоадаптерах Nvidia и AMD в Linux или на видеоадаптерах с небольшим количеством видеопамяти, хотя статтеров при компиляции шейдеров будет больше.\n\nРекомендуется использовать Vulkan. Используйте OpenGL, если ваш видеоадаптер не поддерживает Vulkan даже с актуальными драйверами.",
+ "SettingsEnableTextureRecompression": "Пережимать текстуры",
+ "SettingsEnableTextureRecompressionTooltip": "Сжатие ASTC текстур для уменьшения использования VRAM. \n\nИгры, использующие этот формат текстур: Astral Chain, Bayonetta 3, Fire Emblem Engage, Metroid Prime Remastered, Super Mario Bros. Wonder и The Legend of Zelda: Tears of the Kingdom. \nНа видеоадаптерах с 4GiB видеопамяти или менее возможны вылеты при запуске этих игр. \n\nВключите, только если у вас заканчивается видеопамять в вышеупомянутых играх. \n\nРекомендуется оставить выключенным.",
+ "SettingsTabGraphicsPreferredGpu": "Предпочтительный видеоадаптер",
+ "SettingsTabGraphicsPreferredGpuTooltip": "Выберает видеоадаптер, который будет использоваться графическим бэкендом Vulkan.\n\nЭта настройка не влияет на видеоадаптер, который будет использоваться с OpenGL.\n\nЕсли вы не уверены что нужно выбрать, используйте графический процессор, помеченный как \"dGPU\". Если его нет, оставьте выбор по умолчанию.",
"SettingsAppRequiredRestartMessage": "Требуется перезапуск Ryujinx",
"SettingsGpuBackendRestartMessage": "Графический бэкенд или настройки графического процессора были изменены. Требуется перезапуск для вступления в силу изменений.",
"SettingsGpuBackendRestartSubMessage": "Перезапустить сейчас?",
- "RyujinxUpdaterMessage": "Вы хотите обновить Ryujinx до последней версии?",
+ "RyujinxUpdaterMessage": "Обновить Ryujinx до последней версии?",
"SettingsTabHotkeysVolumeUpHotkey": "Увеличить громкость:",
"SettingsTabHotkeysVolumeDownHotkey": "Уменьшить громкость:",
- "SettingsEnableMacroHLE": "Включить Macro HLE",
- "SettingsEnableMacroHLETooltip": "Высокоуровневая эмуляции макроса GPU.\n\nПовышает производительность, но может вызывать графические сбои в некоторых играх.\n\nРекомендуется оставить включенным.",
- "SettingsEnableColorSpacePassthrough": "Пропуск цветового пространства",
+ "SettingsEnableMacroHLE": "Использовать макрос высокоуровневой эмуляции видеоадаптера",
+ "SettingsEnableMacroHLETooltip": "Высокоуровневая эмуляции макрокода видеоадаптера.\n\nПовышает производительность, но может вызывать графические артефакты в некоторых играх.\n\nРекомендуется оставить включенным.",
+ "SettingsEnableColorSpacePassthrough": "Пропускать цветовое пространство",
"SettingsEnableColorSpacePassthroughTooltip": "Направляет бэкенд Vulkan на передачу информации о цвете без указания цветового пространства. Для пользователей с экранами с расширенной гаммой данная настройка приводит к получению более ярких цветов за счет снижения корректности цветопередачи.",
"VolumeShort": "Громкость",
"UserProfilesManageSaves": "Управление сохранениями",
- "DeleteUserSave": "Вы хотите удалить сохранения для этой игры?",
+ "DeleteUserSave": "Удалить сохранения для этой игры?",
"IrreversibleActionNote": "Данное действие является необратимым.",
"SaveManagerHeading": "Редактирование сохранений для {0} ({1})",
"SaveManagerTitle": "Менеджер сохранений",
@@ -644,10 +751,10 @@
"Recover": "Восстановление",
"UserProfilesRecoverHeading": "Были найдены сохранения для следующих аккаунтов",
"UserProfilesRecoverEmptyList": "Нет учетных записей для восстановления",
- "GraphicsAATooltip": "Применимое сглаживание для рендера.\n\nFXAA размывает большую часть изображения, SMAA попытается найти \"зазубренные\" края и сгладить их.\n\nНе рекомендуется использовать вместе с масштабирующим фильтром FSR.\n\nЭта опция может быть изменена во время игры по нажатию \"Применить\" ниже; Вы можете просто переместить окно настроек в сторону и поэкспериментировать, пока не найдёте подходящую настройку игры.\n\nРекомендуется использовать \"Нет\".",
+ "GraphicsAATooltip": "Применимое сглаживание для рендера.\n\nFXAA размывает большую часть изображения, SMAA попытается найти \"зазубренные\" края и сгладить их.\n\nНе рекомендуется использовать вместе с масштабирующим фильтром FSR.\n\nЭта опция может быть изменена во время игры по нажатию \"Применить\" ниже; \nВы можете просто переместить окно настроек в сторону и поэкспериментировать, пока не найдёте подходящую настройку игры.\n\nРекомендуется использовать \"Нет\".",
"GraphicsAALabel": "Сглаживание:",
"GraphicsScalingFilterLabel": "Интерполяция:",
- "GraphicsScalingFilterTooltip": "Выберите фильтрацию, которая будет применяться при масштабировании.\n\n\"Билинейная\" хорошо работает для 3D-игр и является настройкой по умолчанию.\n\n\"Ступенчатая\" рекомендуется для пиксельных игр.\n\n\"FSR\" это фильтр резкости, который не рекомендуется использовать с FXAA или SMAA.\n\nЭта опция может быть изменена во время игры по нажатию кнопки \"Применить\" ниже; Вы можете просто переместить окно настроек в сторону и поэкспериментировать, пока не подберете подходящие настройки для конкретной игры.\n\nРекомендуется использовать \"Билинейная\".",
+ "GraphicsScalingFilterTooltip": "Фильтрация текстур, которая будет применяться при масштабировании.\n\nБилинейная хорошо работает для 3D-игр и является настройкой по умолчанию.\n\nСтупенчатая рекомендуется для пиксельных игр.\n\nFSR это фильтр резкости, который не рекомендуется использовать с FXAA или SMAA.\n\nЭта опция может быть изменена во время игры по нажатию кнопки \"Применить\" ниже; \nВы можете просто переместить окно настроек в сторону и поэкспериментировать, пока не подберете подходящие настройки для конкретной игры.\n\nРекомендуется использовать \"Билинейная\".",
"GraphicsScalingFilterBilinear": "Билинейная",
"GraphicsScalingFilterNearest": "Ступенчатая",
"GraphicsScalingFilterFsr": "FSR",
@@ -667,7 +774,7 @@
"AboutChangelogButtonTooltipMessage": "Нажмите, чтобы открыть список изменений для этой версии",
"SettingsTabNetworkMultiplayer": "Мультиплеер",
"MultiplayerMode": "Режим:",
- "MultiplayerModeTooltip": "Изменение многопользовательского режима LDN.\n\nLdnMitm модифицирует функциональность локальной беспроводной/игры на одном устройстве в играх, позволяя играть с другими пользователями Ryujinx или взломанными консолями Nintendo Switch с установленным модулем ldn_mitm, находящимися в одной локальной сети друг с другом.\n\nМногопользовательская игра требует наличия у всех игроков одной и той же версии игры (т.е. Super Smash Bros. Ultimate v13.0.1 не может подключиться к v13.0.0).\n\nРекомендуется оставить отключенным.",
+ "MultiplayerModeTooltip": "Меняет многопользовательский режим LDN.\n\nLdnMitm модифицирует функциональность локальной беспроводной/игры на одном устройстве в играх, позволяя играть с другими пользователями Ryujinx или взломанными консолями Nintendo Switch с установленным модулем ldn_mitm, находящимися в одной локальной сети друг с другом.\n\nМногопользовательская игра требует наличия у всех игроков одной и той же версии игры (т.е. Super Smash Bros. Ultimate v13.0.1 не может подключиться к v13.0.0).\n\nРекомендуется оставить отключенным.",
"MultiplayerModeDisabled": "Отключено",
"MultiplayerModeLdnMitm": "ldn_mitm"
}
diff --git a/src/Ryujinx/Assets/Locales/th_TH.json b/src/Ryujinx/Assets/Locales/th_TH.json
index 23745ad94..629442269 100644
--- a/src/Ryujinx/Assets/Locales/th_TH.json
+++ b/src/Ryujinx/Assets/Locales/th_TH.json
@@ -11,27 +11,31 @@
"MenuBarFile": "ไฟล์",
"MenuBarFileOpenFromFile": "โหลดแอปพลิเคชั่นจากไฟล์",
"MenuBarFileOpenUnpacked": "โหลดเกมที่คลายแพ็กแล้ว",
- "MenuBarFileOpenEmuFolder": "เปิดโฟลเดอร์ รียูจินซ์",
+ "MenuBarFileOpenEmuFolder": "เปิดโฟลเดอร์ Ryujinx",
"MenuBarFileOpenLogsFolder": "เปิดโฟลเดอร์ Logs",
- "MenuBarFileExit": "ออก",
+ "MenuBarFileExit": "_ออก",
"MenuBarOptions": "_ตัวเลือก",
"MenuBarOptionsToggleFullscreen": "สลับการแสดงผลแบบเต็มหน้าจอ",
"MenuBarOptionsStartGamesInFullscreen": "เริ่มเกมในโหมดเต็มหน้าจอ",
"MenuBarOptionsStopEmulation": "หยุดการจำลอง",
- "MenuBarOptionsSettings": "การตั้งค่า",
- "MenuBarOptionsManageUserProfiles": "จัดการโปรไฟล์ผู้ใช้งาน",
+ "MenuBarOptionsSettings": "_ตั้งค่า",
+ "MenuBarOptionsManageUserProfiles": "_จัดการโปรไฟล์ผู้ใช้งาน",
"MenuBarActions": "การดำเนินการ",
"MenuBarOptionsSimulateWakeUpMessage": "จำลองข้อความปลุก",
- "MenuBarActionsScanAmiibo": "สแกนหา อะมิโบ",
+ "MenuBarActionsScanAmiibo": "สแกนหา Amiibo",
"MenuBarTools": "_เครื่องมือ",
"MenuBarToolsInstallFirmware": "ติดตั้งเฟิร์มแวร์",
"MenuBarFileToolsInstallFirmwareFromFile": "ติดตั้งเฟิร์มแวร์จาก ไฟล์ XCI หรือ ไฟล์ ZIP",
"MenuBarFileToolsInstallFirmwareFromDirectory": "ติดตั้งเฟิร์มแวร์จากไดเร็กทอรี",
"MenuBarToolsManageFileTypes": "จัดการประเภทไฟล์",
- "MenuBarToolsInstallFileTypes": "ติดตั้งประเภทไฟล์",
- "MenuBarToolsUninstallFileTypes": "ถอนการติดตั้งประเภทไฟล์",
+ "MenuBarToolsInstallFileTypes": "ติดตั้งตามประเภทของไฟล์",
+ "MenuBarToolsUninstallFileTypes": "ถอนการติดตั้งตามประเภทของไฟล์",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_ช่วยเหลือ",
- "MenuBarHelpCheckForUpdates": "ตรวจหาการอัพเดต",
+ "MenuBarHelpCheckForUpdates": "ตรวจสอบอัปเดต",
"MenuBarHelpAbout": "เกี่ยวกับ",
"MenuSearch": "กำลังค้นหา...",
"GameListHeaderFavorite": "ชื่นชอบ",
@@ -39,31 +43,31 @@
"GameListHeaderApplication": "ชื่อ",
"GameListHeaderDeveloper": "ผู้พัฒนา",
"GameListHeaderVersion": "เวอร์ชั่น",
- "GameListHeaderTimePlayed": "เวลาที่เล่นไปแล้ว",
+ "GameListHeaderTimePlayed": "เล่นไปแล้ว",
"GameListHeaderLastPlayed": "เล่นล่าสุด",
"GameListHeaderFileExtension": "นามสกุลไฟล์",
"GameListHeaderFileSize": "ขนาดไฟล์",
- "GameListHeaderPath": "ที่เก็บไฟล์",
+ "GameListHeaderPath": "ที่อยู่ไฟล์",
"GameListContextMenuOpenUserSaveDirectory": "เปิดไดเร็กทอรี่บันทึกของผู้ใช้",
"GameListContextMenuOpenUserSaveDirectoryToolTip": "เปิดไดเร็กทอรี่ซึ่งมีการบันทึกผู้ใช้ของแอปพลิเคชัน",
- "GameListContextMenuOpenDeviceSaveDirectory": "เปิดไดเร็กทอรีบันทึกของอุปกรณ์",
+ "GameListContextMenuOpenDeviceSaveDirectory": "เปิดไดเร็กทอรี่บันทึกของอุปกรณ์",
"GameListContextMenuOpenDeviceSaveDirectoryToolTip": "เปิดไดเรกทอรี่ซึ่งมีบันทึกอุปกรณ์ของแอปพลิเคชัน",
- "GameListContextMenuOpenBcatSaveDirectory": "เปิดไดเรกทอรีบันทึก BCAT",
+ "GameListContextMenuOpenBcatSaveDirectory": "เปิดไดเรกทอรี่บันทึก BCAT",
"GameListContextMenuOpenBcatSaveDirectoryToolTip": "เปิดไดเรกทอรี่ซึ่งมีการบันทึก BCAT ของแอปพลิเคชัน",
- "GameListContextMenuManageTitleUpdates": "จัดการ การอัปเดตหัวข้อ",
+ "GameListContextMenuManageTitleUpdates": "จัดการอัปเดตตามหัวข้อ",
"GameListContextMenuManageTitleUpdatesToolTip": "เปิดหน้าต่างการจัดการการอัพเดตหัวข้อ",
"GameListContextMenuManageDlc": "จัดการ DLC",
- "GameListContextMenuManageDlcToolTip": "เปิดหน้าต่างการจัดการ DLC",
- "GameListContextMenuCacheManagement": "การบริหารจัดการแคช",
+ "GameListContextMenuManageDlcToolTip": "เปิดหน้าต่างจัดการ DLC",
+ "GameListContextMenuCacheManagement": "จัดการ แคช",
"GameListContextMenuCacheManagementPurgePptc": "เพิ่มเข้าคิวงาน PPTC ที่สร้างใหม่",
"GameListContextMenuCacheManagementPurgePptcToolTip": "ทริกเกอร์ PPTC ให้สร้างใหม่ในเวลาบูตเมื่อเปิดตัวเกมครั้งถัดไป",
- "GameListContextMenuCacheManagementPurgeShaderCache": "ล้าง เชเดอร์แคช",
- "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "ลบ เชเดอร์แคช ของแอปพลิเคชัน",
- "GameListContextMenuCacheManagementOpenPptcDirectory": "เปิดไดเรกทอรี่่ PPTC",
- "GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "เปิดไดเร็กทอรีที่มี PPTC แคช ของแอปพลิเคชัน",
- "GameListContextMenuCacheManagementOpenShaderCacheDirectory": "เปิดไดเรกทอรี่ เชเดอร์แคช",
- "GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "เปิดไดเรกทอรี่ที่มี แคชเชเดอร์ ของแอปพลิเคชัน",
- "GameListContextMenuExtractData": "แยกข้อมูล",
+ "GameListContextMenuCacheManagementPurgeShaderCache": "ล้างแคช พื้นผิวและแสงเงา",
+ "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "ลบแคช พื้นผิวและแสงเงา ของแอปพลิเคชัน",
+ "GameListContextMenuCacheManagementOpenPptcDirectory": "เปิดไดเรกทอรี่ PPTC",
+ "GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "เปิดไดเร็กทอรี่ PPTC แคช ของแอปพลิเคชัน",
+ "GameListContextMenuCacheManagementOpenShaderCacheDirectory": "เปิดไดเรกทอรี่ แคช พื้นผิวและแสงเงา",
+ "GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip": "เปิดไดเรกทอรี่ แคช พื้นผิวและแสงเงา ของแอปพลิเคชัน",
+ "GameListContextMenuExtractData": "แยกส่วนข้อมูล",
"GameListContextMenuExtractDataExeFS": "ExeFS",
"GameListContextMenuExtractDataExeFSToolTip": "แยกส่วน ExeFS ออกจากการกำหนดค่าปัจจุบันของแอปพลิเคชัน (รวมถึงการอัปเดต)",
"GameListContextMenuExtractDataRomFS": "RomFS",
@@ -73,28 +77,29 @@
"GameListContextMenuCreateShortcut": "สร้างทางลัดของแอปพลิเคชัน",
"GameListContextMenuCreateShortcutToolTip": "สร้างทางลัดบนเดสก์ท็อปที่เรียกใช้แอปพลิเคชันที่เลือก",
"GameListContextMenuCreateShortcutToolTipMacOS": "สร้างทางลัดในโฟลเดอร์ Applications ของ macOS ที่เรียกใช้ Application ที่เลือก",
- "GameListContextMenuOpenModsDirectory": "เปิดไดเรกทอรี่ Mods",
- "GameListContextMenuOpenModsDirectoryToolTip": "เปิดไดเร็กทอรีซึ่งมี Mods ของแอปพลิเคชัน",
- "GameListContextMenuOpenSdModsDirectory": "เปิดไดเร็กทอรี Mods Atmosphere",
- "GameListContextMenuOpenSdModsDirectoryToolTip": "เปิดไดเร็กทอรี Atmosphere ของการ์ด SD สำรองซึ่งมี Mods ของแอปพลิเคชัน มีประโยชน์สำหรับ mods ที่บรรจุมากับฮาร์ดแวร์จริง",
+ "GameListContextMenuOpenModsDirectory": "เปิดไดเร็กทอรี่ Mods",
+ "GameListContextMenuOpenModsDirectoryToolTip": "เปิดไดเร็กทอรี่ Mods ของแอปพลิเคชัน",
+ "GameListContextMenuOpenSdModsDirectory": "เปิดไดเร็กทอรี่ Mods Atmosphere",
+ "GameListContextMenuOpenSdModsDirectoryToolTip": "เปิดไดเร็กทอรี่ Atmosphere ของการ์ด SD สำรองซึ่งมี Mods ของแอปพลิเคชัน มีประโยชน์สำหรับ Mods ที่บรรจุมากับฮาร์ดแวร์จริง",
"StatusBarGamesLoaded": "เกมส์โหลดแล้ว {0}/{1}",
"StatusBarSystemVersion": "เวอร์ชั่นของระบบ: {0}",
- "LinuxVmMaxMapCountDialogTitle": "ตรวจพบขีดจำกัดต่ำสุดสำหรับการแมปหน่วยความจำ",
+ "LinuxVmMaxMapCountDialogTitle": "ตรวจพบขีดจำกัดต่ำสุด สำหรับการแมปหน่วยความจำ",
"LinuxVmMaxMapCountDialogTextPrimary": "คุณต้องการที่จะเพิ่มค่า vm.max_map_count ไปยัง {0}",
"LinuxVmMaxMapCountDialogTextSecondary": "บางเกมอาจพยายามสร้างการแมปหน่วยความจำมากกว่าที่ได้รับอนุญาตในปัจจุบัน รียูจินซ์ จะปิดตัวลงเมื่อเกินขีดจำกัดนี้",
"LinuxVmMaxMapCountDialogButtonUntilRestart": "ใช่, จนกว่าจะรีสตาร์ทครั้งถัดไป",
"LinuxVmMaxMapCountDialogButtonPersistent": "ใช่, อย่างถาวร",
"LinuxVmMaxMapCountWarningTextPrimary": "จำนวนสูงสุดของการแม็ปหน่วยความจำ ต่ำกว่าที่แนะนำ",
"LinuxVmMaxMapCountWarningTextSecondary": "ค่าปัจจุบันของ vm.max_map_count ({0}) มีค่าต่ำกว่า {1} บางเกมอาจพยายามสร้างการแมปหน่วยความจำมากกว่าที่ได้รับอนุญาตในปัจจุบัน รียูจินซ์ จะปิดตัวลงเมื่อเกินขีดจำกัดนี้\n\nคุณอาจต้องการเพิ่มขีดจำกัดด้วยตนเองหรือติดตั้ง pkexec ซึ่งอนุญาตให้ ริวจินซ์ เพื่อช่วยเหลือคุณได้",
- "Settings": "การตั้งค่า",
+ "Settings": "ตั้งค่า",
"SettingsTabGeneral": "หน้าจอผู้ใช้",
"SettingsTabGeneralGeneral": "ทั่วไป",
"SettingsTabGeneralEnableDiscordRichPresence": "เปิดใช้งาน Discord Rich Presence",
"SettingsTabGeneralCheckUpdatesOnLaunch": "ตรวจหาการอัปเดตเมื่อเปิดโปรแกรม",
"SettingsTabGeneralShowConfirmExitDialog": "แสดง \"ยืนยันการออก\" กล่องข้อความโต้ตอบ",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "ซ่อน เคอร์เซอร์:",
"SettingsTabGeneralHideCursorNever": "ไม่มี",
- "SettingsTabGeneralHideCursorOnIdle": "ซ่อนอัตโนมัติ",
+ "SettingsTabGeneralHideCursorOnIdle": "เมื่อไม่ได้ใช้",
"SettingsTabGeneralHideCursorAlways": "ตลอดเวลา",
"SettingsTabGeneralGameDirectories": "ไดเรกทอรี่ของเกม",
"SettingsTabGeneralAdd": "เพิ่ม",
@@ -127,13 +132,13 @@
"SettingsTabSystemSystemLanguageLatinAmericanSpanish": "สเปน (ลาตินอเมริกา)",
"SettingsTabSystemSystemLanguageSimplifiedChinese": "จีน (ตัวย่อ)",
"SettingsTabSystemSystemLanguageTraditionalChinese": "จีน (ดั้งเดิม)",
- "SettingsTabSystemSystemTimeZone": "โซนเวลาของระบบ:",
+ "SettingsTabSystemSystemTimeZone": "เขตเวลาของระบบ:",
"SettingsTabSystemSystemTime": "เวลาของระบบ:",
"SettingsTabSystemEnableVsync": "VSync",
- "SettingsTabSystemEnablePptc": "PPTC (แคชการแปลแบบถาวรที่มีโปรไฟล์)",
- "SettingsTabSystemEnableFsIntegrityChecks": "การตรวจสอบความถูกต้องของ FS",
- "SettingsTabSystemAudioBackend": "แบ็กเอนด์เสียง:",
- "SettingsTabSystemAudioBackendDummy": "ดัมมี่",
+ "SettingsTabSystemEnablePptc": "PPTC (แคชโปรไฟล์การแปลแบบถาวร)",
+ "SettingsTabSystemEnableFsIntegrityChecks": "ตรวจสอบความถูกต้องของ FS",
+ "SettingsTabSystemAudioBackend": "ระบบเสียงเบื้องหลัง:",
+ "SettingsTabSystemAudioBackendDummy": "Dummy",
"SettingsTabSystemAudioBackendOpenAL": "OpenAL",
"SettingsTabSystemAudioBackendSoundIO": "SoundIO",
"SettingsTabSystemAudioBackendSDL2": "SDL2",
@@ -142,9 +147,9 @@
"SettingsTabSystemExpandDramSize": "ใช้รูปแบบหน่วยความจำสำรอง (โหมดนักพัฒนา)",
"SettingsTabSystemIgnoreMissingServices": "ไม่สนใจบริการที่ขาดหายไป",
"SettingsTabGraphics": "กราฟิก",
- "SettingsTabGraphicsAPI": "เอพีไอของกราฟิก",
- "SettingsTabGraphicsEnableShaderCache": "เปิดใช้งาน เชเดอร์ แคช",
- "SettingsTabGraphicsAnisotropicFiltering": "ตัวกรองแบบ แอนไอโซทรอปิก:",
+ "SettingsTabGraphicsAPI": "กราฟฟิก API",
+ "SettingsTabGraphicsEnableShaderCache": "เปิดใช้งาน แคชพื้นผิวและแสงเงา",
+ "SettingsTabGraphicsAnisotropicFiltering": "ตัวกรองแบบ Anisotropic:",
"SettingsTabGraphicsAnisotropicFilteringAuto": "อัตโนมัติ",
"SettingsTabGraphicsAnisotropicFiltering2x": "2x",
"SettingsTabGraphicsAnisotropicFiltering4x": "4x",
@@ -164,26 +169,26 @@
"SettingsTabGraphicsAspectRatio32x9": "32:9",
"SettingsTabGraphicsAspectRatioStretch": "ยืดภาพเพื่อให้พอดีกับหน้าต่าง",
"SettingsTabGraphicsDeveloperOptions": "ตัวเลือกนักพัฒนา",
- "SettingsTabGraphicsShaderDumpPath": "ที่เก็บไฟล์ดัมพ์ของ เชเดอร์กราฟิก:",
- "SettingsTabLogging": "การบันทึก",
- "SettingsTabLoggingLogging": "การบันทึก",
- "SettingsTabLoggingEnableLoggingToFile": "เปิดใช้งาน การบันทึกไปยังไฟล์",
- "SettingsTabLoggingEnableStubLogs": "เปิดใช้งาน บันทึกของต้นขั้ว",
- "SettingsTabLoggingEnableInfoLogs": "เปิดใช้งาน บันทึกของข้อมูล",
- "SettingsTabLoggingEnableWarningLogs": "เปิดใช้งาน บันทึกคำเตือน",
- "SettingsTabLoggingEnableErrorLogs": "เปิดใช้งาน บันทึกข้อผิดพลาด",
- "SettingsTabLoggingEnableTraceLogs": "เปิดใช้งาน บันทึกการติดตาม",
+ "SettingsTabGraphicsShaderDumpPath": "ที่เก็บ ดัมพ์ไฟล์ พื้นผิวและแสงเงา:",
+ "SettingsTabLogging": "ประวัติ",
+ "SettingsTabLoggingLogging": "ประวัติ",
+ "SettingsTabLoggingEnableLoggingToFile": "เปิดใช้งาน ประวัติ ไปยังไฟล์",
+ "SettingsTabLoggingEnableStubLogs": "เปิดใช้งาน ประวัติ",
+ "SettingsTabLoggingEnableInfoLogs": "เปิดใช้งาน ประวัติการใช้งาน",
+ "SettingsTabLoggingEnableWarningLogs": "เปิดใช้งาน ประวัติคำเตือน",
+ "SettingsTabLoggingEnableErrorLogs": "เปิดใช้งาน ประวัติข้อผิดพลาด",
+ "SettingsTabLoggingEnableTraceLogs": "เปิดใช้งาน ประวัติการติดตาม",
"SettingsTabLoggingEnableGuestLogs": "เปิดใช้งาน บันทึกของผู้เยี่ยมชม",
- "SettingsTabLoggingEnableFsAccessLogs": "เปิดใช้งาน บันทึกการเข้าถึง Fs",
- "SettingsTabLoggingFsGlobalAccessLogMode": "โหมดบันทึกการเข้าถึงส่วนกลาง:",
+ "SettingsTabLoggingEnableFsAccessLogs": "เปิดใช้งาน ประวัติการเข้าถึง Fs",
+ "SettingsTabLoggingFsGlobalAccessLogMode": "โหมด ประวัติการเข้าถึงส่วนกลาง:",
"SettingsTabLoggingDeveloperOptions": "ตัวเลือกนักพัฒนา",
"SettingsTabLoggingDeveloperOptionsNote": "คำเตือน: จะทำให้ประสิทธิภาพลดลง",
- "SettingsTabLoggingGraphicsBackendLogLevel": "ระดับการบันทึก แบ็กเอนด์กราฟิก:",
+ "SettingsTabLoggingGraphicsBackendLogLevel": "ระดับการบันทึกประวัติ กราฟิกเบื้องหลัง:",
"SettingsTabLoggingGraphicsBackendLogLevelNone": "ไม่มี",
"SettingsTabLoggingGraphicsBackendLogLevelError": "ผิดพลาด",
- "SettingsTabLoggingGraphicsBackendLogLevelPerformance": "ชะลอตัว",
+ "SettingsTabLoggingGraphicsBackendLogLevelPerformance": "ช้าลง",
"SettingsTabLoggingGraphicsBackendLogLevelAll": "ทั้งหมด",
- "SettingsTabLoggingEnableDebugLogs": "เปิดใช้งานบันทึกการแก้ไขข้อบกพร่อง",
+ "SettingsTabLoggingEnableDebugLogs": "เปิดใช้งาน ประวัติแก้ไขข้อบกพร่อง",
"SettingsTabInput": "ป้อนข้อมูล",
"SettingsTabInputEnableDockedMode": "ด็อกโหมด",
"SettingsTabInputDirectKeyboardAccess": "เข้าถึงคีย์บอร์ดโดยตรง",
@@ -261,11 +266,112 @@
"ControllerSettingsMotionControllerSlot": "ช่องเสียบ คอนโทรลเลอร์:",
"ControllerSettingsMotionMirrorInput": "นำเข้าการสะท้อน การควบคุม",
"ControllerSettingsMotionRightJoyConSlot": "ช่องเสียบ จอยคอน ด้านขวา:",
- "ControllerSettingsMotionServerHost": "เซิร์ฟเวอร์โฮสต์:",
+ "ControllerSettingsMotionServerHost": "เจ้าของเซิร์ฟเวอร์:",
"ControllerSettingsMotionGyroSensitivity": "ความไวของไจโร:",
- "ControllerSettingsMotionGyroDeadzone": "โซนที่ไม่ทำงานของไจโร:",
+ "ControllerSettingsMotionGyroDeadzone": "ส่วนไม่ทำงานของไจโร:",
"ControllerSettingsSave": "บันทึก",
"ControllerSettingsClose": "ปิด",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "โปรไฟล์ผู้ใช้งานที่เลือก:",
"UserProfilesSaveProfileName": "บันทึกชื่อโปรไฟล์",
"UserProfilesChangeProfileImage": "เปลี่ยนรูปโปรไฟล์",
@@ -273,25 +379,25 @@
"UserProfilesAddNewProfile": "สร้างโปรไฟล์ใหม่",
"UserProfilesDelete": "ลบ",
"UserProfilesClose": "ปิด",
- "ProfileNameSelectionWatermark": "เลือกชื่อเล่น",
- "ProfileImageSelectionTitle": "เลือกรูปโปรไฟล์ของคุณ",
- "ProfileImageSelectionHeader": "เลือกรูปโปรไฟล์",
- "ProfileImageSelectionNote": "คุณสามารถนำเข้ารูปโปรไฟล์ที่กำหนดเอง หรือเลือกอวาต้าจากเฟิร์มแวร์ระบบได้",
- "ProfileImageSelectionImportImage": "นำเข้าไฟล์รูปภาพ",
- "ProfileImageSelectionSelectAvatar": "เลือกรูปอวาต้าเฟิร์มแวร์",
+ "ProfileNameSelectionWatermark": "เลือก ชื่อเล่น",
+ "ProfileImageSelectionTitle": "เลือก รูปโปรไฟล์ ของคุณ",
+ "ProfileImageSelectionHeader": "เลือก รูปโปรไฟล์",
+ "ProfileImageSelectionNote": "คุณสามารถนำเข้ารูปโปรไฟล์ที่กำหนดเอง หรือ เลือกอวาต้าจากเฟิร์มแวร์ระบบได้",
+ "ProfileImageSelectionImportImage": "นำเข้า ไฟล์รูปภาพ",
+ "ProfileImageSelectionSelectAvatar": "เลือก รูปอวาต้า เฟิร์มแวร์",
"InputDialogTitle": "กล่องโต้ตอบการป้อนข้อมูล",
"InputDialogOk": "ตกลง",
"InputDialogCancel": "ยกเลิก",
- "InputDialogAddNewProfileTitle": "เลือกชื่อโปรไฟล์",
+ "InputDialogAddNewProfileTitle": "เลือก ชื่อโปรไฟล์",
"InputDialogAddNewProfileHeader": "กรุณาใส่ชื่อโปรไฟล์",
"InputDialogAddNewProfileSubtext": "(ความยาวสูงสุด: {0})",
- "AvatarChoose": "เลือกรูปอวาต้าของคุณ",
+ "AvatarChoose": "เลือก รูปอวาต้า ของคุณ",
"AvatarSetBackgroundColor": "ตั้งค่าสีพื้นหลัง",
"AvatarClose": "ปิด",
- "ControllerSettingsLoadProfileToolTip": "โหลดโปรไฟล์",
- "ControllerSettingsAddProfileToolTip": "เพิ่มโปรไฟล์",
- "ControllerSettingsRemoveProfileToolTip": "ลบโปรไฟล์",
- "ControllerSettingsSaveProfileToolTip": "บันทึกโปรไฟล์",
+ "ControllerSettingsLoadProfileToolTip": "โหลด โปรไฟล์",
+ "ControllerSettingsAddProfileToolTip": "เพิ่ม โปรไฟล์",
+ "ControllerSettingsRemoveProfileToolTip": "ลบ โปรไฟล์",
+ "ControllerSettingsSaveProfileToolTip": "บันทึก โปรไฟล์",
"MenuBarFileToolsTakeScreenshot": "ถ่ายภาพหน้าจอ",
"MenuBarFileToolsHideUi": "ซ่อน UI",
"GameListContextMenuRunApplication": "เรียกใช้แอปพลิเคชัน",
@@ -343,11 +449,11 @@
"DialogFirmwareInstallEmbeddedMessage": "คุณต้องการติดตั้งเฟิร์มแวร์ที่ฝังอยู่ในเกมนี้หรือไม่? (เฟิร์มแวร์ {0})",
"DialogFirmwareInstallEmbeddedSuccessMessage": "ไม่พบเฟิร์มแวร์ที่ติดตั้งไว้ แต่ รียูจินซ์ สามารถติดตั้งเฟิร์มแวร์ได้ {0} จากเกมที่ให้มา\nตอนนี้โปรแกรมจำลองจะเริ่มทำงาน",
"DialogFirmwareNoFirmwareInstalledMessage": "ไม่มีการติดตั้งเฟิร์มแวร์",
- "DialogFirmwareInstalledMessage": "เฟิร์มแวร์ทำการติดตั้งแล้ว {0}",
- "DialogInstallFileTypesSuccessMessage": "ติดตั้งประเภทไฟล์สำเร็จแล้ว!",
- "DialogInstallFileTypesErrorMessage": "ติดตั้งประเภทไฟล์ไม่สำเร็จ",
- "DialogUninstallFileTypesSuccessMessage": "ถอนการติดตั้งประเภทไฟล์สำเร็จแล้ว!",
- "DialogUninstallFileTypesErrorMessage": "ไม่สามารถถอนการติดตั้งประเภทไฟล์ได้",
+ "DialogFirmwareInstalledMessage": "เฟิร์มแวร์ติดตั้งแล้ว {0}",
+ "DialogInstallFileTypesSuccessMessage": "ติดตั้งตามประเภทของไฟล์สำเร็จแล้ว!",
+ "DialogInstallFileTypesErrorMessage": "ติดตั้งตามประเภทของไฟล์ไม่สำเร็จ",
+ "DialogUninstallFileTypesSuccessMessage": "ถอนการติดตั้งตามประเภทของไฟล์สำเร็จแล้ว!",
+ "DialogUninstallFileTypesErrorMessage": "ไม่สามารถถอนการติดตั้งตามประเภทของไฟล์ได้",
"DialogOpenSettingsWindowLabel": "เปิดหน้าต่างการตั้งค่า",
"DialogControllerAppletTitle": "แอพเพล็ตคอนโทรลเลอร์",
"DialogMessageDialogErrorExceptionMessage": "เกิดข้อผิดพลาดในการแสดงกล่องโต้ตอบข้อความ: {0}",
@@ -369,7 +475,7 @@
"DialogShaderDeletionMessage": "คุณกำลังจะลบ เชเดอร์แคช:\n\n{0}\n\nคุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อหรือไม่?",
"DialogShaderDeletionErrorMessage": "เกิดข้อผิดพลาดในการล้าง เชเดอร์แคช {0}: {1}",
"DialogRyujinxErrorMessage": "รียูจินซ์ พบข้อผิดพลาด",
- "DialogInvalidTitleIdErrorMessage": "ข้อผิดพลาดของ ยูไอ: เกมที่เลือกไม่มีชื่อ ID ที่ถูกต้อง",
+ "DialogInvalidTitleIdErrorMessage": "ข้อผิดพลาดของ UI: เกมที่เลือกไม่มีชื่อ ID ที่ถูกต้อง",
"DialogFirmwareInstallerFirmwareNotFoundErrorMessage": "ไม่พบเฟิร์มแวร์ของระบบที่ถูกต้อง {0}.",
"DialogFirmwareInstallerFirmwareInstallTitle": "ติดตั้งเฟิร์มแวร์ {0}",
"DialogFirmwareInstallerFirmwareInstallMessage": "นี่คื่อเวอร์ชั่นของระบบ {0} ที่ได้รับการติดตั้งเมื่อเร็วๆ นี้",
@@ -401,7 +507,7 @@
"DialogModManagerDeletionWarningMessage": "คุณกำลังจะลบ ม็อด: {0}\n\nคุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
"DialogModManagerDeletionAllWarningMessage": "คุณกำลังจะลบม็อดทั้งหมดสำหรับชื่อนี้\n\nคุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
"SettingsTabGraphicsFeaturesOptions": "คุณสมบัติ",
- "SettingsTabGraphicsBackendMultithreading": "มัลติเธรด แบ็กเอนด์กราฟิก:",
+ "SettingsTabGraphicsBackendMultithreading": "มัลติเธรด กราฟิกเบื้องหลัง:",
"CommonAuto": "อัตโนมัติ",
"CommonOff": "ปิดการใช้งาน",
"CommonOn": "เปิดใช้งาน",
@@ -421,7 +527,7 @@
"AboutRyujinxAboutContent": "รียูจินซ์ เป็นอีมูเลเตอร์สำหรับ Nintendo Switch™\nโปรดสนับสนุนเราบน เพทรีออน\nรับข่าวสารล่าสุดทั้งหมดบน ทวิตเตอร์ หรือ ดิสคอร์ด ของเรา\nนักพัฒนาที่สนใจจะมีส่วนร่วมสามารถดูข้อมูลเพิ่มเติมได้ที่ กิตฮับ หรือ ดิสคอร์ด ของเรา",
"AboutRyujinxMaintainersTitle": "ได้รับการดูแลรักษาโดย:",
"AboutRyujinxMaintainersContentTooltipMessage": "คลิกเพื่อเปิดหน้าผู้ร่วมให้ข้อมูลในเบราว์เซอร์เริ่มต้นของคุณ",
- "AboutRyujinxSupprtersTitle": "สนับสนุนบน เพทรีออน โดย:",
+ "AboutRyujinxSupprtersTitle": "ลายนามผู้สนับสนุนบน เพทรีออน:",
"AmiiboSeriesLabel": "อะมิโบซีรีส์",
"AmiiboCharacterLabel": "ตัวละคร",
"AmiiboScanButtonLabel": "สแกนเลย",
@@ -451,7 +557,7 @@
"CustomThemeCheckTooltip": "ใช้ธีม Avalonia แบบกำหนดเองสำหรับ GUI เพื่อเปลี่ยนรูปลักษณ์ของเมนูโปรแกรมจำลอง",
"CustomThemePathTooltip": "ไปยังที่เก็บไฟล์ธีม GUI แบบกำหนดเอง",
"CustomThemeBrowseTooltip": "เรียกดูธีม GUI ที่กำหนดเอง",
- "DockModeToggleTooltip": "ด็อกโหมดทำให้ระบบจำลองการทำงานเสมือน Nintendo ที่กำลังเชื่อมต่ออยู่ด็อก สิ่งนี้จะปรับปรุงความเสถียรภาพของกราฟิกในเกมส่วนใหญ่ ในทางกลับกัน การปิดใช้จะทำให้ระบบจำลองทำงานเหมือนกับ Nintendo Switch แบบพกพา ส่งผลให้คุณภาพกราฟิกลดลง\n\nกำหนดค่าส่วนควบคุมของผู้เล่น 1 หากวางแผนที่จะใช้ด็อกโหมด กำหนดค่าการควบคุมแบบ แฮนด์เฮลด์ หากวางแผนที่จะใช้โหมดแฮนด์เฮลด์\n\nเปิดทิ้งไว้หากคุณไม่แน่ใจ",
+ "DockModeToggleTooltip": "ด็อกโหมด ทำให้ระบบจำลองการทำงานเสมือน Nintendo ที่กำลังเชื่อมต่ออยู่ด็อก สิ่งนี้จะปรับปรุงความเสถียรภาพของกราฟิกในเกมส่วนใหญ่ ในทางกลับกัน การปิดใช้จะทำให้ระบบจำลองทำงานเหมือนกับ Nintendo Switch แบบพกพา ส่งผลให้คุณภาพกราฟิกลดลง\n\nกำหนดค่าส่วนควบคุมของผู้เล่น 1 หากวางแผนที่จะใช้ด็อกโหมด กำหนดค่าการควบคุมแบบ แฮนด์เฮลด์ หากวางแผนที่จะใช้โหมดแฮนด์เฮลด์\n\nเปิดทิ้งไว้หากคุณไม่แน่ใจ",
"DirectKeyboardTooltip": "รองรับการเข้าถึงแป้นพิมพ์โดยตรง (HID) ให้เกมเข้าถึงคีย์บอร์ดของคุณเป็นอุปกรณ์ป้อนข้อความ\n\nใช้งานได้กับเกมที่รองรับการใช้งานคีย์บอร์ดบนฮาร์ดแวร์ของ Switch เท่านั้น\n\nหากคุณไม่แน่ใจปล่อยให้ปิดอย่างนั้น",
"DirectMouseTooltip": "รองรับการเข้าถึงเมาส์โดยตรง (HID) ให้เกมเข้าถึงเมาส์ของคุณเป็นอุปกรณ์ชี้ตำแหน่ง\n\nใช้งานได้เฉพาะกับเกมที่รองรับการควบคุมเมาส์บนฮาร์ดแวร์ของ Switch เท่านั้น ซึ่งมีอยู่ไม่มากนัก\n\nเมื่อเปิดใช้งาน ฟังก์ชั่นหน้าจอสัมผัสอาจไม่ทำงาน\n\nหากคุณไม่แน่ใจปล่อยให้ปิดอย่างนั้น",
"RegionTooltip": "เปลี่ยนภูมิภาคของระบบ",
@@ -476,27 +582,27 @@
"ResolutionScaleEntryTooltip": "สเกลความละเอียดจุดทศนิยม เช่น 1.5 ไม่ใช่จำนวนเต็มของสเกล มีแนวโน้มที่จะก่อให้เกิดปัญหาหรือความผิดพลาดได้",
"AnisotropyTooltip": "ระดับของการกรองแบบ Anisotropic ตั้งค่าเป็นอัตโนมัติเพื่อใช้ค่าที่เกมร้องขอ",
"AspectRatioTooltip": "อัตราส่วนภาพที่ใช้กับหน้าต่างตัวแสดงภาพ\n\nเปลี่ยนสิ่งนี้หากคุณใช้ตัวดัดแปลงอัตราส่วนกว้างยาวสำหรับเกมของคุณ ไม่เช่นนั้นกราฟิกจะถูกยืดออก\n\nทิ้งไว้ที่ 16:9 หากไม่แน่ใจ",
- "ShaderDumpPathTooltip": "ที่เก็บ ดัมพ์ไฟล์ของ เชเดอร์กราฟิก",
- "FileLogTooltip": "บันทึกการบันทึกคอนโซลลงในไฟล์บันทึกบนดิสก์ จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
- "StubLogTooltip": "พิมพ์ข้อความบันทึกต้นขั้วในคอนโซล จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
+ "ShaderDumpPathTooltip": "ที่เก็บ ดัมพ์ไฟล์ พื้นผิวและแสงเงา",
+ "FileLogTooltip": "บันทึก ประวัติคอนโซลลงในไฟล์บันทึกบนดิสก์ จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
+ "StubLogTooltip": "พิมพ์ข้อความประวัติในคอนโซล จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
"InfoLogTooltip": "พิมพ์ข้อความบันทึกข้อมูลในคอนโซล จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
- "WarnLogTooltip": "พิมพ์ข้อความบันทึกแจ้งตือนในคอนโซล จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
+ "WarnLogTooltip": "พิมพ์ข้อความประวัติแจ้งตือนในคอนโซล จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
"ErrorLogTooltip": "พิมพ์ข้อความบันทึกข้อผิดพลาดในคอนโซล จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
- "TraceLogTooltip": "พิมพ์ข้อความบันทึกการติดตามในคอนโซล ไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
- "GuestLogTooltip": "พิมพ์ข้อความบันทึกของผู้เยี่ยมชมในคอนโซล ไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
+ "TraceLogTooltip": "พิมพ์ข้อความประวัติการติดตามในคอนโซล ไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
+ "GuestLogTooltip": "พิมพ์ข้อความประวัติของผู้เยี่ยมชมในคอนโซล ไม่ส่งผลกระทบต่อประสิทธิภาพการทำงาน",
"FileAccessLogTooltip": "พิมพ์ข้อความบันทึกการเข้าถึงไฟล์ในคอนโซล",
- "FSAccessLogModeTooltip": "เปิดใช้งานเอาต์พุตบันทึกการเข้าถึง FS ไปยังคอนโซล โหมดที่เป็นไปได้คือ 0-3",
+ "FSAccessLogModeTooltip": "เปิดใช้งาน เอาต์พุตประวัติการเข้าถึง FS ไปยังคอนโซล โหมดที่เป็นไปได้คือ 0-3",
"DeveloperOptionTooltip": "โปรดใช้ด้วยความระมัดระวัง",
"OpenGlLogLevel": "จำเป็นต้องเปิดใช้งานระดับบันทึกที่เหมาะสม",
- "DebugLogTooltip": "พิมพ์ข้อความบันทึกการแก้ไขข้อบกพร่องในคอนโซล\n\nใช้สิ่งนี้เฉพาะเมื่อได้รับคำแนะนำจากเจ้าหน้าที่โดยเฉพาะเท่านั้น เนื่องจากจะทำให้บันทึกอ่านยากและทำให้ประสิทธิภาพของโปรแกรมจำลองแย่ลง",
+ "DebugLogTooltip": "พิมพ์ข้อความประวัติการแก้ไขข้อบกพร่องในคอนโซล\n\nใช้สิ่งนี้เฉพาะเมื่อได้รับคำแนะนำจากเจ้าหน้าที่โดยเฉพาะเท่านั้น เนื่องจากจะทำให้บันทึกอ่านยากและทำให้ประสิทธิภาพของโปรแกรมจำลองแย่ลง",
"LoadApplicationFileTooltip": "เปิด File Explorer เพื่อเลือกไฟล์ที่เข้ากันได้กับ Switch ที่จะโหลด",
"LoadApplicationFolderTooltip": "เปิดตัวสำรวจไฟล์เพื่อเลือกไฟล์ที่เข้ากันได้กับ Switch ที่จะโหลด",
- "OpenRyujinxFolderTooltip": "เปิดโฟลเดอร์ระบบไฟล์ รียูจินซ์",
- "OpenRyujinxLogsTooltip": "เปิดโฟลเดอร์ที่มีการเขียนบันทึก",
+ "OpenRyujinxFolderTooltip": "เปิดโฟลเดอร์ระบบไฟล์ Ryujinx",
+ "OpenRyujinxLogsTooltip": "เปิดโฟลเดอร์ ที่เก็บไฟล์ประวัติ",
"ExitTooltip": "ออกจากโปรแกรม รียูจินซ์",
"OpenSettingsTooltip": "เปิดหน้าต่างการตั้งค่า",
"OpenProfileManagerTooltip": "เปิดหน้าต่างตัวจัดการโปรไฟล์ผู้ใช้",
- "StopEmulationTooltip": "หยุดการจำลองเกมปัจจุบันและกลับไปยังการเลือกเกม",
+ "StopEmulationTooltip": "หยุดการจำลองของเกมที่เปิดอยู่ในปัจจุบันและกลับไปยังการเลือกเกม",
"CheckUpdatesTooltip": "ตรวจสอบการอัปเดตของ รียูจินซ์",
"OpenAboutTooltip": "เปิดหน้าต่าง เกี่ยวกับ",
"GridSize": "ขนาดตาราง",
@@ -519,7 +625,7 @@
"SettingsTabNetwork": "เครือข่าย",
"SettingsTabNetworkConnection": "การเชื่อมต่อเครือข่าย",
"SettingsTabCpuCache": "ซีพียู แคช",
- "SettingsTabCpuMemory": "ซีพียูเมมโมรี่ แคช",
+ "SettingsTabCpuMemory": "โหมดซีพียู",
"DialogUpdaterFlatpakNotSupportedMessage": "โปรดอัปเดต รียูจินซ์ ผ่านช่องทาง FlatHub",
"UpdaterDisabledWarningTitle": "ปิดใช้งานการอัปเดตแล้ว!",
"ControllerSettingsRotate90": "หมุน 90 องศา ตามเข็มนาฬิกา",
@@ -527,20 +633,20 @@
"IconSizeTooltip": "เปลี่ยนขนาดของไอคอนเกม",
"MenuBarOptionsShowConsole": "แสดง คอนโซล",
"ShaderCachePurgeError": "เกิดข้อผิดพลาดในการล้างแคชเชเดอร์ {0}: {1}",
- "UserErrorNoKeys": "ไม่พบคีย์",
- "UserErrorNoFirmware": "ไม่พบเฟิร์มแวร์",
- "UserErrorFirmwareParsingFailed": "เกิดข้อผิดพลาดในการแยกวิเคราะห์เฟิร์มแวร์",
- "UserErrorApplicationNotFound": "ไม่พบแอปพลิเคชัน",
+ "UserErrorNoKeys": "ไม่พบ คีย์",
+ "UserErrorNoFirmware": "ไม่พบ เฟิร์มแวร์",
+ "UserErrorFirmwareParsingFailed": "เกิดข้อผิดพลาดในการวิเคราะห์เฟิร์มแวร์",
+ "UserErrorApplicationNotFound": "ไม่พบ แอปพลิเคชัน",
"UserErrorUnknown": "ข้อผิดพลาดที่ไม่รู้จัก",
"UserErrorUndefined": "ข้อผิดพลาดที่ไม่ได้ระบุ",
- "UserErrorNoKeysDescription": "รียูจินซ์ ไม่พบไฟล์ 'prod.keys' ของคุณ",
- "UserErrorNoFirmwareDescription": "รียูจินซ์ ไม่พบเฟิร์มแวร์ที่ติดตั้งไว้",
- "UserErrorFirmwareParsingFailedDescription": "รียูจินซ์ ไม่สามารถแยกวิเคราะห์เฟิร์มแวร์ที่ให้มาได้ ซึ่งมักมีสาเหตุมาจากคีย์ที่ล้าสมัย",
+ "UserErrorNoKeysDescription": "รียูจินซ์ ไม่พบไฟล์ 'prod.keys' ในเครื่องของคุณ",
+ "UserErrorNoFirmwareDescription": "รียูจินซ์ ไม่พบ เฟิร์มแวร์ที่ติดตั้งไว้ในเครื่องของคุณ",
+ "UserErrorFirmwareParsingFailedDescription": "รียูจินซ์ ไม่สามารถวิเคราะห์เฟิร์มแวร์ที่ให้มาได้ ซึ่งมักมีสาเหตุมาจากคีย์ที่ล้าสมัย",
"UserErrorApplicationNotFoundDescription": "รียูจินซ์ ไม่พบแอปพลิเคชันที่ถูกต้องในที่เก็บไฟล์ที่กำหนด",
- "UserErrorUnknownDescription": "เกิดข้อผิดพลาดที่ไม่รู้จักเกิดขึ้น!",
+ "UserErrorUnknownDescription": "เกิดข้อผิดพลาดที่ไม่รู้จัก!",
"UserErrorUndefinedDescription": "เกิดข้อผิดพลาดที่ไม่สามารถระบุได้! สิ่งนี้ไม่ควรเกิดขึ้น โปรดติดต่อผู้พัฒนา!",
"OpenSetupGuideMessage": "เปิดคู่มือการตั้งค่า",
- "NoUpdate": "ไม่มีการอัพเดต",
+ "NoUpdate": "ไม่มีการอัปเดต",
"TitleUpdateVersionLabel": "เวอร์ชั่น {0}",
"RyujinxInfo": "รียูจินซ์ – ข้อมูล",
"RyujinxConfirm": "รียูจินซ์ - ยืนยัน",
@@ -565,16 +671,16 @@
"Docked": "ด็อก",
"Handheld": "แฮนด์เฮลด์",
"ConnectionError": "การเชื่อมต่อล้มเหลว",
- "AboutPageDeveloperListMore": "{0} และอื่น ๆ...",
+ "AboutPageDeveloperListMore": "{0} และอื่นๆ ...",
"ApiError": "ข้อผิดพลาดของ API",
"LoadingHeading": "กำลังโหลด {0}",
"CompilingPPTC": "กำลังคอมไพล์ PTC",
- "CompilingShaders": "กำลังคอมไพล์ เชเดอร์",
+ "CompilingShaders": "กำลังคอมไพล์ พื้นผิวและแสงเงา",
"AllKeyboards": "คีย์บอร์ดทั้งหมด",
"OpenFileDialogTitle": "เลือกไฟล์ที่สนับสนุนเพื่อเปิด",
"OpenFolderDialogTitle": "เลือกโฟลเดอร์ที่มีเกมที่แตกไฟล์แล้ว",
"AllSupportedFormats": "รูปแบบที่รองรับทั้งหมด",
- "RyujinxUpdater": "อัพเดต รียูจินซ์",
+ "RyujinxUpdater": "อัปเดต รียูจินซ์",
"SettingsTabHotkeys": "ปุ่มลัดของคีย์บอร์ด",
"SettingsTabHotkeysHotkeys": "ปุ่มลัดของคีย์บอร์ด",
"SettingsTabHotkeysToggleVsyncHotkey": "สลับเป็น VSync:",
@@ -582,7 +688,7 @@
"SettingsTabHotkeysShowUiHotkey": "แสดง UI:",
"SettingsTabHotkeysPauseHotkey": "หยุดชั่วคราว:",
"SettingsTabHotkeysToggleMuteHotkey": "ปิดเสียง:",
- "ControllerMotionTitle": "การตั้งค่าการควบคุมการเคลื่อนไหว",
+ "ControllerMotionTitle": "ตั้งค่าควบคุมการเคลื่อนไหว",
"ControllerRumbleTitle": "ตั้งค่าการสั่นไหว",
"SettingsSelectThemeFileDialogTitle": "เลือกไฟล์ธีม",
"SettingsXamlThemeFile": "ไฟล์ธีมรูปแบบ XAML",
@@ -593,11 +699,12 @@
"Writable": "สามารถเขียนได้",
"SelectDlcDialogTitle": "เลือกไฟล์ DLC",
"SelectUpdateDialogTitle": "เลือกไฟล์อัพเดต",
- "SelectModDialogTitle": "เลือกไดเรกทอรี ม็อด",
+ "SelectModDialogTitle": "เลือกไดเรกทอรี Mods",
"UserProfileWindowTitle": "จัดการโปรไฟล์ผู้ใช้",
"CheatWindowTitle": "จัดการสูตรโกง",
"DlcWindowTitle": "จัดการเนื้อหาที่ดาวน์โหลดได้สำหรับ {0} ({1})",
- "UpdateWindowTitle": "จัดการการอัพเดตชื่อเรื่อง",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
+ "UpdateWindowTitle": "จัดการอัปเดตหัวข้อ",
"CheatWindowHeading": "สูตรโกงมีให้สำหรับ {0} [{1}]",
"BuildId": "รหัสบิวด์:",
"DlcWindowHeading": "{0} เนื้อหาที่สามารถดาวน์โหลดได้",
@@ -608,21 +715,21 @@
"Discard": "ละทิ้ง",
"Paused": "หยุดชั่วคราว",
"UserProfilesSetProfileImage": "ตั้งค่ารูปโปรไฟล์",
- "UserProfileEmptyNameError": "จำเป็นต้องมีการระบุชื่อ",
+ "UserProfileEmptyNameError": "จำเป็นต้องระบุชื่อ",
"UserProfileNoImageError": "จำเป็นต้องตั้งค่ารูปโปรไฟล์",
"GameUpdateWindowHeading": "จัดการอัพเดตสำหรับ {0} ({1})",
"SettingsTabHotkeysResScaleUpHotkey": "เพิ่มความละเอียด:",
"SettingsTabHotkeysResScaleDownHotkey": "ลดความละเอียด:",
"UserProfilesName": "ชื่อ:",
"UserProfilesUserId": "รหัสผู้ใช้:",
- "SettingsTabGraphicsBackend": "แบ็กเอนด์กราฟิก",
- "SettingsTabGraphicsBackendTooltip": "เลือกแบ็กเอนด์กราฟิกที่จะใช้ในโปรแกรมจำลอง\n\nโดยรวมแล้ว Vulkan นั้นดีกว่าสำหรับกราฟิกการ์ดรุ่นใหม่ทั้งหมด ตราบใดที่ไดรเวอร์ยังอัพเดทอยู่เสมอ Vulkan ยังมีคุณสมบัติการคอมไพล์เชเดอร์ที่เร็วขึ้น (ลดอาการกระตุก) ของผู้จำหน่าย GPU ทุกรายอยู่แล้ว\n\nOpenGL อาจได้รับผลลัพธ์ที่ดีกว่าบน Nvidia GPU รุ่นเก่า, AMD GPU รุ่นเก่าบน Linux หรือบน GPU ที่มี VRAM ต่ำกว่า แม้ว่าการคอมไพล์เชเดอร์จะสะดุดมากขึ้นก็ตาม\n\nตั้งค่าเป็น Vulkan หากไม่แน่ใจ ตั้งค่าเป็น OpenGL หาก GPU ของคุณไม่รองรับ Vulkan แม้จะมีไดรเวอร์กราฟิกล่าสุดก็ตาม",
- "SettingsEnableTextureRecompression": "เปิดใช้งานการบีบอัดพื้นผิวอีกครั้ง",
+ "SettingsTabGraphicsBackend": "กราฟิกเบื้องหลัง",
+ "SettingsTabGraphicsBackendTooltip": "เลือกกราฟิกเบื้องหลังที่จะใช้ในโปรแกรมจำลอง\n\nโดยรวมแล้ว Vulkan นั้นดีกว่าสำหรับกราฟิกการ์ดรุ่นใหม่ทั้งหมด ตราบใดที่ไดรเวอร์ยังอัพเดทอยู่เสมอ Vulkan ยังมีคุณสมบัติการคอมไพล์เชเดอร์ที่เร็วขึ้น (ลดอาการกระตุก) ของผู้จำหน่าย GPU ทุกราย\n\nOpenGL อาจได้รับผลลัพธ์ที่ดีกว่าบน Nvidia GPU รุ่นเก่า, AMD GPU รุ่นเก่าบน Linux หรือบน GPU ที่มี VRAM ต่ำกว่า แม้ว่าการคอมไพล์เชเดอร์ จะทำให้อาการกระตุกมากขึ้นก็ตาม\n\nตั้งค่าเป็น Vulkan หากไม่แน่ใจ ตั้งค่าเป็น OpenGL หาก GPU ของคุณไม่รองรับ Vulkan แม้จะมีไดรเวอร์กราฟิกล่าสุดก็ตาม",
+ "SettingsEnableTextureRecompression": "เปิดใช้งาน การบีบอัดพื้นผิวอีกครั้ง",
"SettingsEnableTextureRecompressionTooltip": "บีบอัดพื้นผิว ASTC เพื่อลดการใช้งาน VRAM\n\nเกมที่ใช้รูปแบบพื้นผิวนี้ ได้แก่ Astral Chain, Bayonetta 3, Fire Emblem Engage, Metroid Prime Remastered, Super Mario Bros. Wonder และ The Legend of Zelda: Tears of the Kingdom\n\nกราฟิกการ์ดที่มี 4 กิกะไบต์ VRAM หรือน้อยกว่ามีแนวโน้มที่จะให้แคชในบางจุดขณะเล่นเกมเหล่านี้\n\nเปิดใช้งานเฉพาะในกรณีที่ VRAM ของคุณใกล้หมดในเกมที่กล่าวมาข้างต้น ปล่อยให้ปิดหากไม่แน่ใจ",
"SettingsTabGraphicsPreferredGpu": "GPU ที่ต้องการ",
"SettingsTabGraphicsPreferredGpuTooltip": "เลือกกราฟิกการ์ดที่จะใช้กับแบ็กเอนด์กราฟิก Vulkan\n\nไม่ส่งผลต่อ GPU ที่ OpenGL จะใช้\n\nตั้งค่าเป็น GPU ที่ถูกตั้งค่าสถานะเป็น \"dGPU\" หากคุณไม่แน่ใจ หากไม่มีก็ปล่อยทิ้งไว้โดยไม่มีใครแตะต้องมัน",
"SettingsAppRequiredRestartMessage": "จำเป็นต้องรีสตาร์ท รียูจินซ์",
- "SettingsGpuBackendRestartMessage": "การตั้งค่ากราฟิกแบ็กเอนด์หรือ GPU ได้รับการแก้ไขแล้ว สิ่งนี้จะต้องมีการรีสตาร์ทจึงจะสามารถใช้งานได้",
+ "SettingsGpuBackendRestartMessage": "การตั้งค่ากราฟิกเบื้องหลังหรือ GPU ได้รับการแก้ไขแล้ว สิ่งนี้จะต้องมีการรีสตาร์ทจึงจะสามารถใช้งานได้",
"SettingsGpuBackendRestartSubMessage": "คุณต้องการรีสตาร์ทตอนนี้หรือไม่?",
"RyujinxUpdaterMessage": "คุณต้องการอัพเดต รียูจินซ์ เป็นเวอร์ชั่นล่าสุดหรือไม่?",
"SettingsTabHotkeysVolumeUpHotkey": "เพิ่มระดับเสียง:",
@@ -662,9 +769,9 @@
"SettingsTabNetworkInterface": "เชื่อมต่อเครือข่าย:",
"NetworkInterfaceTooltip": "อินเทอร์เฟซเครือข่ายที่ใช้สำหรับคุณสมบัติ LAN/LDN\n\nเมื่อใช้ร่วมกับ VPN หรือ XLink Kai และเกมที่รองรับ LAN สามารถใช้เพื่อปลอมการเชื่อมต่อเครือข่ายเดียวกันผ่านทางอินเทอร์เน็ต\n\nปล่อยให้เป็น ค่าเริ่มต้น หากคุณไม่แน่ใจ",
"NetworkInterfaceDefault": "ค่าเริ่มต้น",
- "PackagingShaders": "แพ็คเชเดอร์ไฟล์",
- "AboutChangelogButton": "ดูบันทึกการเปลี่ยนแปลงบน GitHub",
- "AboutChangelogButtonTooltipMessage": "คลิกเพื่อเปิดบันทึกการเปลี่ยนแปลงสำหรับเวอร์ชั่นนี้ บนเบราว์เซอร์เริ่มต้นของคุณ",
+ "PackagingShaders": "รวม Shaders เข้าด้วยกัน",
+ "AboutChangelogButton": "ดูประวัติการเปลี่ยนแปลงบน GitHub",
+ "AboutChangelogButtonTooltipMessage": "คลิกเพื่อเปิดประวัติการเปลี่ยนแปลงสำหรับเวอร์ชั่นนี้ บนเบราว์เซอร์เริ่มต้นของคุณ",
"SettingsTabNetworkMultiplayer": "ผู้เล่นหลายคน",
"MultiplayerMode": "โหมด:",
"MultiplayerModeTooltip": "เปลี่ยนโหมดผู้เล่นหลายคนของ LDN\n\nLdnMitm จะปรับเปลี่ยนฟังก์ชันการเล่นแบบไร้สาย/ภายใน จะให้เกมทำงานเหมือนกับว่าเป็น LAN ช่วยให้สามารถเชื่อมต่อภายในเครือข่ายเดียวกันกับอินสแตนซ์ Ryujinx อื่น ๆ และคอนโซล Nintendo Switch ที่ถูกแฮ็กซึ่งมีโมดูล ldn_mitm ติดตั้งอยู่\n\nผู้เล่นหลายคนต้องการให้ผู้เล่นทุกคนอยู่ในเกมเวอร์ชันเดียวกัน (เช่น Super Smash Bros. Ultimate v13.0.1 ไม่สามารถเชื่อมต่อกับ v13.0.0)\n\nปล่อยให้ปิดการใช้งานหากไม่แน่ใจ",
diff --git a/src/Ryujinx/Assets/Locales/tr_TR.json b/src/Ryujinx/Assets/Locales/tr_TR.json
index bfb5cb53a..f74baaa18 100644
--- a/src/Ryujinx/Assets/Locales/tr_TR.json
+++ b/src/Ryujinx/Assets/Locales/tr_TR.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Dosya uzantılarını yönet",
"MenuBarToolsInstallFileTypes": "Dosya uzantılarını yükle",
"MenuBarToolsUninstallFileTypes": "Dosya uzantılarını kaldır",
+ "MenuBarView": "_Görüntüle",
+ "MenuBarViewWindow": "Pencere Boyutu",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Yardım",
"MenuBarHelpCheckForUpdates": "Güncellemeleri Denetle",
"MenuBarHelpAbout": "Hakkında",
@@ -73,7 +77,7 @@
"GameListContextMenuCreateShortcut": "Uygulama Kısayolu Oluştur",
"GameListContextMenuCreateShortcutToolTip": "Seçilmiş uygulamayı çalıştıracak bir masaüstü kısayolu oluştur",
"GameListContextMenuCreateShortcutToolTipMacOS": "Create a shortcut in macOS's Applications folder that launches the selected Application",
- "GameListContextMenuOpenModsDirectory": "Open Mods Directory",
+ "GameListContextMenuOpenModsDirectory": "Mod Dizinini Aç",
"GameListContextMenuOpenModsDirectoryToolTip": "Opens the directory which contains Application's Mods",
"GameListContextMenuOpenSdModsDirectory": "Open Atmosphere Mods Directory",
"GameListContextMenuOpenSdModsDirectoryToolTip": "Opens the alternative SD card Atmosphere directory which contains Application's Mods. Useful for mods that are packaged for real hardware.",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Discord Zengin İçerik'i Etkinleştir",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Her Açılışta Güncellemeleri Denetle",
"SettingsTabGeneralShowConfirmExitDialog": "\"Çıkışı Onayla\" Diyaloğunu Göster",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "İşaretçiyi Gizle:",
"SettingsTabGeneralHideCursorNever": "Hiçbir Zaman",
"SettingsTabGeneralHideCursorOnIdle": "Hareketsiz Durumda",
@@ -155,7 +160,7 @@
"SettingsTabGraphicsResolutionScaleNative": "Yerel (720p/1080p)",
"SettingsTabGraphicsResolutionScale2x": "2x (1440p/2160p)",
"SettingsTabGraphicsResolutionScale3x": "3x (2160p/3240p)",
- "SettingsTabGraphicsResolutionScale4x": "4x (2880p/4320p) (Not recommended)",
+ "SettingsTabGraphicsResolutionScale4x": "4x (2880p/4320p) (Tavsiye Edilmez)",
"SettingsTabGraphicsAspectRatio": "En-Boy Oranı:",
"SettingsTabGraphicsAspectRatio4x3": "4:3",
"SettingsTabGraphicsAspectRatio16x9": "16:9",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Gyro Ölü Bölgesi:",
"ControllerSettingsSave": "Kaydet",
"ControllerSettingsClose": "Kapat",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Sol Shift",
+ "KeyShiftRight": "Sağ Shift",
+ "KeyControlLeft": "Sol Ctrl",
+ "KeyMacControlLeft": "⌃ Sol",
+ "KeyControlRight": "Sağ Control",
+ "KeyMacControlRight": "⌃ Sağ",
+ "KeyAltLeft": "Sol Alt",
+ "KeyMacAltLeft": "⌥ Sol",
+ "KeyAltRight": "Sağ Alt",
+ "KeyMacAltRight": "⌥ Sağ",
+ "KeyWinLeft": "⊞ Sol",
+ "KeyMacWinLeft": "⌘ Sol",
+ "KeyWinRight": "⊞ Sağ",
+ "KeyMacWinRight": "⌘ Sağ",
+ "KeyMenu": "Menü",
+ "KeyUp": "Yukarı",
+ "KeyDown": "Aşağı",
+ "KeyLeft": "Sol",
+ "KeyRight": "Sağ",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Esc",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Geri tuşu",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Sağ",
+ "GamepadMinus": "-",
+ "GamepadPlus": "4",
+ "GamepadGuide": "Rehber",
+ "GamepadMisc1": "Diğer",
+ "GamepadPaddle1": "Pedal 1",
+ "GamepadPaddle2": "Pedal 2",
+ "GamepadPaddle3": "Pedal 3",
+ "GamepadPaddle4": "Pedal 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Sol Tetik 0",
+ "GamepadSingleRightTrigger0": "Sağ Tetik 0",
+ "GamepadSingleLeftTrigger1": "Sol Tetik 1",
+ "GamepadSingleRightTrigger1": "Sağ Tetik 1",
+ "StickLeft": "Sol Çubuk",
+ "StickRight": "Sağ çubuk",
"UserProfilesSelectedUserProfile": "Seçili Kullanıcı Profili:",
"UserProfilesSaveProfileName": "Profil İsmini Kaydet",
"UserProfilesChangeProfileImage": "Profil Resmini Değiştir",
@@ -297,9 +403,9 @@
"GameListContextMenuRunApplication": "Uygulamayı Çalıştır",
"GameListContextMenuToggleFavorite": "Favori Ayarla",
"GameListContextMenuToggleFavoriteToolTip": "Oyunu Favorilere Ekle/Çıkar",
- "SettingsTabGeneralTheme": "Theme:",
- "SettingsTabGeneralThemeDark": "Dark",
- "SettingsTabGeneralThemeLight": "Light",
+ "SettingsTabGeneralTheme": "Tema:",
+ "SettingsTabGeneralThemeDark": "Karanlık",
+ "SettingsTabGeneralThemeLight": "Aydınlık",
"ControllerSettingsConfigureGeneral": "Ayarla",
"ControllerSettingsRumble": "Titreşim",
"ControllerSettingsRumbleStrongMultiplier": "Güçlü Titreşim Çoklayıcı",
@@ -384,10 +490,10 @@
"DialogUserProfileUnsavedChangesSubMessage": "Yaptığınız değişiklikleri iptal etmek istediğinize emin misiniz?",
"DialogControllerSettingsModifiedConfirmMessage": "Geçerli kumanda seçenekleri güncellendi.",
"DialogControllerSettingsModifiedConfirmSubMessage": "Kaydetmek istiyor musunuz?",
- "DialogLoadFileErrorMessage": "{0}. Errored File: {1}",
- "DialogModAlreadyExistsMessage": "Mod already exists",
+ "DialogLoadFileErrorMessage": "{0}. Hatalı Dosya: {1}",
+ "DialogModAlreadyExistsMessage": "Mod zaten var",
"DialogModInvalidMessage": "The specified directory does not contain a mod!",
- "DialogModDeleteNoParentMessage": "Failed to Delete: Could not find the parent directory for mod \"{0}\"!",
+ "DialogModDeleteNoParentMessage": "Silme Başarısız: \"{0}\" Modu için üst dizin bulunamadı! ",
"DialogDlcNoDlcErrorMessage": "Belirtilen dosya seçilen oyun için DLC içermiyor!",
"DialogPerformanceCheckLoggingEnabledMessage": "Sadece geliştiriler için dizayn edilen Trace Loglama seçeneği etkin.",
"DialogPerformanceCheckLoggingEnabledConfirmMessage": "En iyi performans için trace loglama'nın devre dışı bırakılması tavsiye edilir. Trace loglama seçeneğini şimdi devre dışı bırakmak ister misiniz?",
@@ -434,7 +540,7 @@
"DlcManagerRemoveAllButton": "Tümünü kaldır",
"DlcManagerEnableAllButton": "Tümünü Aktif Et",
"DlcManagerDisableAllButton": "Tümünü Devre Dışı Bırak",
- "ModManagerDeleteAllButton": "Delete All",
+ "ModManagerDeleteAllButton": "Hepsini Sil",
"MenuBarOptionsChangeLanguage": "Dili Değiştir",
"MenuBarShowFileTypes": "Dosya Uzantılarını Göster",
"CommonSort": "Sırala",
@@ -509,8 +615,8 @@
"EnableInternetAccessTooltip": "Emüle edilen uygulamanın internete bağlanmasını sağlar.\n\nLAN modu bulunan oyunlar bu seçenek ile birbirine bağlanabilir ve sistemler aynı access point'e bağlanır. Bu gerçek konsolları da kapsar.\n\nNintendo sunucularına bağlanmayı sağlaMAZ. Internete bağlanmaya çalışan baz oyunların çökmesine sebep olabilr.\n\nEmin değilseniz devre dışı bırakın.",
"GameListContextMenuManageCheatToolTip": "Hileleri yönetmeyi sağlar",
"GameListContextMenuManageCheat": "Hileleri Yönet",
- "GameListContextMenuManageModToolTip": "Manage Mods",
- "GameListContextMenuManageMod": "Manage Mods",
+ "GameListContextMenuManageModToolTip": "Modları Yönet",
+ "GameListContextMenuManageMod": "Modları Yönet",
"ControllerSettingsStickRange": "Menzil:",
"DialogStopEmulationTitle": "Ryujinx - Emülasyonu Durdur",
"DialogStopEmulationMessage": "Emülasyonu durdurmak istediğinizden emin misiniz?",
@@ -593,15 +699,16 @@
"Writable": "Yazılabilir",
"SelectDlcDialogTitle": "DLC dosyalarını seç",
"SelectUpdateDialogTitle": "Güncelleme dosyalarını seç",
- "SelectModDialogTitle": "Select mod directory",
+ "SelectModDialogTitle": "Mod Dizinini Seç",
"UserProfileWindowTitle": "Kullanıcı Profillerini Yönet",
"CheatWindowTitle": "Oyun Hilelerini Yönet",
"DlcWindowTitle": "Oyun DLC'lerini Yönet",
+ "ModWindowTitle": "Manage Mods for {0} ({1})",
"UpdateWindowTitle": "Oyun Güncellemelerini Yönet",
"CheatWindowHeading": "{0} için Hile mevcut [{1}]",
"BuildId": "BuildId:",
"DlcWindowHeading": "{0} için DLC mevcut [{1}]",
- "ModWindowHeading": "{0} Mod(s)",
+ "ModWindowHeading": "{0} Mod(lar)",
"UserProfilesEditProfile": "Seçiliyi Düzenle",
"Cancel": "İptal",
"Save": "Kaydet",
@@ -668,6 +775,6 @@
"SettingsTabNetworkMultiplayer": "Çok Oyunculu",
"MultiplayerMode": "Mod:",
"MultiplayerModeTooltip": "Change LDN multiplayer mode.\n\nLdnMitm will modify local wireless/local play functionality in games to function as if it were LAN, allowing for local, same-network connections with other Ryujinx instances and hacked Nintendo Switch consoles that have the ldn_mitm module installed.\n\nMultiplayer requires all players to be on the same game version (i.e. Super Smash Bros. Ultimate v13.0.1 can't connect to v13.0.0).\n\nLeave DISABLED if unsure.",
- "MultiplayerModeDisabled": "Disabled",
+ "MultiplayerModeDisabled": "Devre Dışı",
"MultiplayerModeLdnMitm": "ldn_mitm"
}
diff --git a/src/Ryujinx/Assets/Locales/uk_UA.json b/src/Ryujinx/Assets/Locales/uk_UA.json
index dcf85eae9..976edfb1b 100644
--- a/src/Ryujinx/Assets/Locales/uk_UA.json
+++ b/src/Ryujinx/Assets/Locales/uk_UA.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Керувати типами файлів",
"MenuBarToolsInstallFileTypes": "Установити типи файлів",
"MenuBarToolsUninstallFileTypes": "Видалити типи файлів",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Допомога",
"MenuBarHelpCheckForUpdates": "Перевірити оновлення",
"MenuBarHelpAbout": "Про застосунок",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "Увімкнути розширену присутність Discord",
"SettingsTabGeneralCheckUpdatesOnLaunch": "Перевіряти наявність оновлень під час запуску",
"SettingsTabGeneralShowConfirmExitDialog": "Показати діалогове вікно «Підтвердити вихід».",
+ "SettingsTabGeneralRememberWindowState": "Remember Window Size/Position",
"SettingsTabGeneralHideCursor": "Сховати вказівник:",
"SettingsTabGeneralHideCursorNever": "Ніколи",
"SettingsTabGeneralHideCursorOnIdle": "Сховати у режимі очікування",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "Мертва зона гіроскопа:",
"ControllerSettingsSave": "Зберегти",
"ControllerSettingsClose": "Закрити",
+ "KeyUnknown": "Unknown",
+ "KeyShiftLeft": "Shift Left",
+ "KeyShiftRight": "Shift Right",
+ "KeyControlLeft": "Ctrl Left",
+ "KeyMacControlLeft": "⌃ Left",
+ "KeyControlRight": "Ctrl Right",
+ "KeyMacControlRight": "⌃ Right",
+ "KeyAltLeft": "Alt Left",
+ "KeyMacAltLeft": "⌥ Left",
+ "KeyAltRight": "Alt Right",
+ "KeyMacAltRight": "⌥ Right",
+ "KeyWinLeft": "⊞ Left",
+ "KeyMacWinLeft": "⌘ Left",
+ "KeyWinRight": "⊞ Right",
+ "KeyMacWinRight": "⌘ Right",
+ "KeyMenu": "Menu",
+ "KeyUp": "Up",
+ "KeyDown": "Down",
+ "KeyLeft": "Left",
+ "KeyRight": "Right",
+ "KeyEnter": "Enter",
+ "KeyEscape": "Escape",
+ "KeySpace": "Space",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "Backspace",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "Clear",
+ "KeyKeypad0": "Keypad 0",
+ "KeyKeypad1": "Keypad 1",
+ "KeyKeypad2": "Keypad 2",
+ "KeyKeypad3": "Keypad 3",
+ "KeyKeypad4": "Keypad 4",
+ "KeyKeypad5": "Keypad 5",
+ "KeyKeypad6": "Keypad 6",
+ "KeyKeypad7": "Keypad 7",
+ "KeyKeypad8": "Keypad 8",
+ "KeyKeypad9": "Keypad 9",
+ "KeyKeypadDivide": "Keypad Divide",
+ "KeyKeypadMultiply": "Keypad Multiply",
+ "KeyKeypadSubtract": "Keypad Subtract",
+ "KeyKeypadAdd": "Keypad Add",
+ "KeyKeypadDecimal": "Keypad Decimal",
+ "KeyKeypadEnter": "Keypad Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "Unbound",
+ "GamepadLeftStick": "L Stick Button",
+ "GamepadRightStick": "R Stick Button",
+ "GamepadLeftShoulder": "Left Shoulder",
+ "GamepadRightShoulder": "Right Shoulder",
+ "GamepadLeftTrigger": "Left Trigger",
+ "GamepadRightTrigger": "Right Trigger",
+ "GamepadDpadUp": "Up",
+ "GamepadDpadDown": "Down",
+ "GamepadDpadLeft": "Left",
+ "GamepadDpadRight": "Right",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "Guide",
+ "GamepadMisc1": "Misc",
+ "GamepadPaddle1": "Paddle 1",
+ "GamepadPaddle2": "Paddle 2",
+ "GamepadPaddle3": "Paddle 3",
+ "GamepadPaddle4": "Paddle 4",
+ "GamepadTouchpad": "Touchpad",
+ "GamepadSingleLeftTrigger0": "Left Trigger 0",
+ "GamepadSingleRightTrigger0": "Right Trigger 0",
+ "GamepadSingleLeftTrigger1": "Left Trigger 1",
+ "GamepadSingleRightTrigger1": "Right Trigger 1",
+ "StickLeft": "Left Stick",
+ "StickRight": "Right Stick",
"UserProfilesSelectedUserProfile": "Вибраний профіль користувача:",
"UserProfilesSaveProfileName": "Зберегти ім'я профілю",
"UserProfilesChangeProfileImage": "Змінити зображення профілю",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "Менеджер профілів користувачів",
"CheatWindowTitle": "Менеджер читів",
"DlcWindowTitle": "Менеджер вмісту для завантаження",
+ "ModWindowTitle": "Керувати модами для {0} ({1})",
"UpdateWindowTitle": "Менеджер оновлення назв",
"CheatWindowHeading": "Коди доступні для {0} [{1}]",
"BuildId": "ID збірки:",
diff --git a/src/Ryujinx/Assets/Locales/zh_CN.json b/src/Ryujinx/Assets/Locales/zh_CN.json
index cc1d583e1..66f59ecd0 100644
--- a/src/Ryujinx/Assets/Locales/zh_CN.json
+++ b/src/Ryujinx/Assets/Locales/zh_CN.json
@@ -8,29 +8,33 @@
"SettingsTabSystemMemoryManagerModeHost": "本机映射 (较快)",
"SettingsTabSystemMemoryManagerModeHostUnchecked": "跳过检查的本机映射 (最快,但不安全)",
"SettingsTabSystemUseHypervisor": "使用 Hypervisor 虚拟化",
- "MenuBarFile": "文件",
- "MenuBarFileOpenFromFile": "加载游戏文件",
- "MenuBarFileOpenUnpacked": "加载解包后的游戏",
+ "MenuBarFile": "文件(_F)",
+ "MenuBarFileOpenFromFile": "加载游戏文件(_L)",
+ "MenuBarFileOpenUnpacked": "加载解包后的游戏(_U)",
"MenuBarFileOpenEmuFolder": "打开 Ryujinx 系统目录",
"MenuBarFileOpenLogsFolder": "打开日志目录",
- "MenuBarFileExit": "退出",
- "MenuBarOptions": "选项",
+ "MenuBarFileExit": "退出(_E)",
+ "MenuBarOptions": "选项(_O)",
"MenuBarOptionsToggleFullscreen": "切换全屏",
"MenuBarOptionsStartGamesInFullscreen": "全屏模式启动游戏",
"MenuBarOptionsStopEmulation": "停止模拟",
- "MenuBarOptionsSettings": "设置",
- "MenuBarOptionsManageUserProfiles": "管理用户账户",
- "MenuBarActions": "操作",
+ "MenuBarOptionsSettings": "设置(_S)",
+ "MenuBarOptionsManageUserProfiles": "管理用户账户(_M)",
+ "MenuBarActions": "操作(_A)",
"MenuBarOptionsSimulateWakeUpMessage": "模拟唤醒消息",
"MenuBarActionsScanAmiibo": "扫描 Amiibo",
- "MenuBarTools": "工具",
+ "MenuBarTools": "工具(_T)",
"MenuBarToolsInstallFirmware": "安装系统固件",
"MenuBarFileToolsInstallFirmwareFromFile": "从 XCI 或 ZIP 文件中安装系统固件",
"MenuBarFileToolsInstallFirmwareFromDirectory": "从文件夹中安装系统固件",
"MenuBarToolsManageFileTypes": "管理文件扩展名",
"MenuBarToolsInstallFileTypes": "关联文件扩展名",
"MenuBarToolsUninstallFileTypes": "取消关联扩展名",
- "MenuBarHelp": "帮助",
+ "MenuBarView": "视图(_V)",
+ "MenuBarViewWindow": "窗口大小",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
+ "MenuBarHelp": "帮助(_H)",
"MenuBarHelpCheckForUpdates": "检查更新",
"MenuBarHelpAbout": "关于",
"MenuSearch": "搜索…",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "启用 Discord 在线状态展示",
"SettingsTabGeneralCheckUpdatesOnLaunch": "启动时检查更新",
"SettingsTabGeneralShowConfirmExitDialog": "退出游戏时需要确认",
+ "SettingsTabGeneralRememberWindowState": "记住窗口大小和位置",
"SettingsTabGeneralHideCursor": "隐藏鼠标指针:",
"SettingsTabGeneralHideCursorNever": "从不隐藏",
"SettingsTabGeneralHideCursorOnIdle": "自动隐藏",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "陀螺仪死区:",
"ControllerSettingsSave": "保存",
"ControllerSettingsClose": "关闭",
+ "KeyUnknown": "未知",
+ "KeyShiftLeft": "左侧Shift",
+ "KeyShiftRight": "右侧Shift",
+ "KeyControlLeft": "左侧Ctrl",
+ "KeyMacControlLeft": "左侧⌃",
+ "KeyControlRight": "右侧Ctrl",
+ "KeyMacControlRight": "右侧⌃",
+ "KeyAltLeft": "左侧Alt",
+ "KeyMacAltLeft": "左侧⌥",
+ "KeyAltRight": "右侧Alt",
+ "KeyMacAltRight": "右侧⌥",
+ "KeyWinLeft": "左侧⊞",
+ "KeyMacWinLeft": "左侧⌘",
+ "KeyWinRight": "右侧⊞",
+ "KeyMacWinRight": "右侧⌘",
+ "KeyMenu": "菜单键",
+ "KeyUp": "上",
+ "KeyDown": "下",
+ "KeyLeft": "左",
+ "KeyRight": "右",
+ "KeyEnter": "回车键",
+ "KeyEscape": "Esc",
+ "KeySpace": "空格键",
+ "KeyTab": "Tab",
+ "KeyBackSpace": "退格键",
+ "KeyInsert": "Insert",
+ "KeyDelete": "Delete",
+ "KeyPageUp": "Page Up",
+ "KeyPageDown": "Page Down",
+ "KeyHome": "Home",
+ "KeyEnd": "End",
+ "KeyCapsLock": "Caps Lock",
+ "KeyScrollLock": "Scroll Lock",
+ "KeyPrintScreen": "Print Screen",
+ "KeyPause": "Pause",
+ "KeyNumLock": "Num Lock",
+ "KeyClear": "清除键",
+ "KeyKeypad0": "小键盘0",
+ "KeyKeypad1": "小键盘1",
+ "KeyKeypad2": "小键盘2",
+ "KeyKeypad3": "小键盘3",
+ "KeyKeypad4": "小键盘4",
+ "KeyKeypad5": "小键盘5",
+ "KeyKeypad6": "小键盘6",
+ "KeyKeypad7": "小键盘7",
+ "KeyKeypad8": "小键盘8",
+ "KeyKeypad9": "小键盘9",
+ "KeyKeypadDivide": "小键盘/",
+ "KeyKeypadMultiply": "小键盘*",
+ "KeyKeypadSubtract": "小键盘-",
+ "KeyKeypadAdd": "小键盘+",
+ "KeyKeypadDecimal": "小键盘.",
+ "KeyKeypadEnter": "小键盘回车键",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "未分配",
+ "GamepadLeftStick": "左摇杆按键",
+ "GamepadRightStick": "右摇杆按键",
+ "GamepadLeftShoulder": "左肩键L",
+ "GamepadRightShoulder": "右肩键R",
+ "GamepadLeftTrigger": "左扳机键ZL",
+ "GamepadRightTrigger": "右扳机键ZR",
+ "GamepadDpadUp": "上键",
+ "GamepadDpadDown": "下键",
+ "GamepadDpadLeft": "左键",
+ "GamepadDpadRight": "右键",
+ "GamepadMinus": "-键",
+ "GamepadPlus": "+键",
+ "GamepadGuide": "主页键",
+ "GamepadMisc1": "截图键",
+ "GamepadPaddle1": "其他按键1",
+ "GamepadPaddle2": "其他按键2",
+ "GamepadPaddle3": "其他按键3",
+ "GamepadPaddle4": "其他按键4",
+ "GamepadTouchpad": "触摸板",
+ "GamepadSingleLeftTrigger0": "左扳机0",
+ "GamepadSingleRightTrigger0": "右扳机0",
+ "GamepadSingleLeftTrigger1": "左扳机1",
+ "GamepadSingleRightTrigger1": "右扳机1",
+ "StickLeft": "左摇杆",
+ "StickRight": "右摇杆",
"UserProfilesSelectedUserProfile": "选定的用户账户:",
"UserProfilesSaveProfileName": "保存名称",
"UserProfilesChangeProfileImage": "更换头像",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "管理用户账户",
"CheatWindowTitle": "金手指管理器",
"DlcWindowTitle": "管理 {0} ({1}) 的 DLC",
+ "ModWindowTitle": "管理 {0} ({1}) 的 MOD",
"UpdateWindowTitle": "游戏更新管理器",
"CheatWindowHeading": "适用于 {0} [{1}] 的金手指",
"BuildId": "游戏版本 ID:",
diff --git a/src/Ryujinx/Assets/Locales/zh_TW.json b/src/Ryujinx/Assets/Locales/zh_TW.json
index 301a55856..fc838d251 100644
--- a/src/Ryujinx/Assets/Locales/zh_TW.json
+++ b/src/Ryujinx/Assets/Locales/zh_TW.json
@@ -10,7 +10,7 @@
"SettingsTabSystemUseHypervisor": "使用 Hypervisor",
"MenuBarFile": "檔案(_F)",
"MenuBarFileOpenFromFile": "從檔案載入應用程式(_L)",
- "MenuBarFileOpenUnpacked": "載入解開封裝的遊戲(_U)",
+ "MenuBarFileOpenUnpacked": "載入未封裝的遊戲(_U)",
"MenuBarFileOpenEmuFolder": "開啟 Ryujinx 資料夾",
"MenuBarFileOpenLogsFolder": "開啟日誌資料夾",
"MenuBarFileExit": "結束(_E)",
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "管理檔案類型",
"MenuBarToolsInstallFileTypes": "安裝檔案類型",
"MenuBarToolsUninstallFileTypes": "移除檔案類型",
+ "MenuBarView": "檢視(_V)",
+ "MenuBarViewWindow": "視窗大小",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "說明(_H)",
"MenuBarHelpCheckForUpdates": "檢查更新",
"MenuBarHelpAbout": "關於",
@@ -92,6 +96,7 @@
"SettingsTabGeneralEnableDiscordRichPresence": "啟用 Discord 動態狀態展示",
"SettingsTabGeneralCheckUpdatesOnLaunch": "啟動時檢查更新",
"SettingsTabGeneralShowConfirmExitDialog": "顯示「確認結束」對話方塊",
+ "SettingsTabGeneralRememberWindowState": "記住視窗大小/位置",
"SettingsTabGeneralHideCursor": "隱藏滑鼠游標:",
"SettingsTabGeneralHideCursorNever": "從不",
"SettingsTabGeneralHideCursorOnIdle": "閒置時",
@@ -144,13 +149,13 @@
"SettingsTabGraphics": "圖形",
"SettingsTabGraphicsAPI": "圖形 API",
"SettingsTabGraphicsEnableShaderCache": "啟用著色器快取",
- "SettingsTabGraphicsAnisotropicFiltering": "各向異性過濾:",
+ "SettingsTabGraphicsAnisotropicFiltering": "各向異性過濾:",
"SettingsTabGraphicsAnisotropicFilteringAuto": "自動",
"SettingsTabGraphicsAnisotropicFiltering2x": "2 倍",
"SettingsTabGraphicsAnisotropicFiltering4x": "4 倍",
"SettingsTabGraphicsAnisotropicFiltering8x": "8 倍",
"SettingsTabGraphicsAnisotropicFiltering16x": "16 倍",
- "SettingsTabGraphicsResolutionScale": "解析度比例:",
+ "SettingsTabGraphicsResolutionScale": "解析度比例:",
"SettingsTabGraphicsResolutionScaleCustom": "自訂 (不建議使用)",
"SettingsTabGraphicsResolutionScaleNative": "原生 (720p/1080p)",
"SettingsTabGraphicsResolutionScale2x": "2 倍 (1440p/2160p)",
@@ -164,7 +169,7 @@
"SettingsTabGraphicsAspectRatio32x9": "32:9",
"SettingsTabGraphicsAspectRatioStretch": "拉伸以適應視窗",
"SettingsTabGraphicsDeveloperOptions": "開發者選項",
- "SettingsTabGraphicsShaderDumpPath": "圖形著色器傾印路徑:",
+ "SettingsTabGraphicsShaderDumpPath": "圖形著色器傾印路徑:",
"SettingsTabLogging": "日誌",
"SettingsTabLoggingLogging": "日誌",
"SettingsTabLoggingEnableLoggingToFile": "啟用日誌到檔案",
@@ -252,8 +257,8 @@
"ControllerSettingsLeftSR": "SR",
"ControllerSettingsRightSL": "SL",
"ControllerSettingsRightSR": "SR",
- "ControllerSettingsExtraButtonsLeft": "左按鍵",
- "ControllerSettingsExtraButtonsRight": "右按鍵",
+ "ControllerSettingsExtraButtonsLeft": "左背鍵",
+ "ControllerSettingsExtraButtonsRight": "右背鍵",
"ControllerSettingsMisc": "其他",
"ControllerSettingsTriggerThreshold": "扳機閾值:",
"ControllerSettingsMotion": "體感",
@@ -266,6 +271,107 @@
"ControllerSettingsMotionGyroDeadzone": "陀螺儀無感帶:",
"ControllerSettingsSave": "儲存",
"ControllerSettingsClose": "關閉",
+ "KeyUnknown": "未知",
+ "KeyShiftLeft": "左 Shift",
+ "KeyShiftRight": "右 Shift",
+ "KeyControlLeft": "左 Ctrl",
+ "KeyMacControlLeft": "左 ⌃",
+ "KeyControlRight": "右 Ctrl",
+ "KeyMacControlRight": "右 ⌃",
+ "KeyAltLeft": "左 Alt",
+ "KeyMacAltLeft": "左 ⌥",
+ "KeyAltRight": "右 Alt",
+ "KeyMacAltRight": "右 ⌥",
+ "KeyWinLeft": "左 ⊞",
+ "KeyMacWinLeft": "左 ⌘",
+ "KeyWinRight": "右 ⊞",
+ "KeyMacWinRight": "右 ⌘",
+ "KeyMenu": "功能表",
+ "KeyUp": "上",
+ "KeyDown": "下",
+ "KeyLeft": "左",
+ "KeyRight": "右",
+ "KeyEnter": "Enter 鍵",
+ "KeyEscape": "Esc 鍵",
+ "KeySpace": "空白鍵",
+ "KeyTab": "Tab 鍵",
+ "KeyBackSpace": "Backspace 鍵",
+ "KeyInsert": "Insert 鍵",
+ "KeyDelete": "Delete 鍵",
+ "KeyPageUp": "向上捲頁鍵",
+ "KeyPageDown": "向下捲頁鍵",
+ "KeyHome": "Home 鍵",
+ "KeyEnd": "End 鍵",
+ "KeyCapsLock": "Caps Lock 鍵",
+ "KeyScrollLock": "Scroll Lock 鍵",
+ "KeyPrintScreen": "Print Screen 鍵",
+ "KeyPause": "Pause 鍵",
+ "KeyNumLock": "Num Lock 鍵",
+ "KeyClear": "清除",
+ "KeyKeypad0": "數字鍵 0",
+ "KeyKeypad1": "數字鍵 1",
+ "KeyKeypad2": "數字鍵 2",
+ "KeyKeypad3": "數字鍵 3",
+ "KeyKeypad4": "數字鍵 4",
+ "KeyKeypad5": "數字鍵 5",
+ "KeyKeypad6": "數字鍵 6",
+ "KeyKeypad7": "數字鍵 7",
+ "KeyKeypad8": "數字鍵 8",
+ "KeyKeypad9": "數字鍵 9",
+ "KeyKeypadDivide": "數字鍵除號",
+ "KeyKeypadMultiply": "數字鍵乘號",
+ "KeyKeypadSubtract": "數字鍵減號",
+ "KeyKeypadAdd": "數字鍵加號",
+ "KeyKeypadDecimal": "數字鍵小數點",
+ "KeyKeypadEnter": "數字鍵 Enter",
+ "KeyNumber0": "0",
+ "KeyNumber1": "1",
+ "KeyNumber2": "2",
+ "KeyNumber3": "3",
+ "KeyNumber4": "4",
+ "KeyNumber5": "5",
+ "KeyNumber6": "6",
+ "KeyNumber7": "7",
+ "KeyNumber8": "8",
+ "KeyNumber9": "9",
+ "KeyTilde": "~",
+ "KeyGrave": "`",
+ "KeyMinus": "-",
+ "KeyPlus": "+",
+ "KeyBracketLeft": "[",
+ "KeyBracketRight": "]",
+ "KeySemicolon": ";",
+ "KeyQuote": "\"",
+ "KeyComma": ",",
+ "KeyPeriod": ".",
+ "KeySlash": "/",
+ "KeyBackSlash": "\\",
+ "KeyUnbound": "未分配",
+ "GamepadLeftStick": "左搖桿按鍵",
+ "GamepadRightStick": "右搖桿按鍵",
+ "GamepadLeftShoulder": "左肩鍵",
+ "GamepadRightShoulder": "右肩鍵",
+ "GamepadLeftTrigger": "左扳機",
+ "GamepadRightTrigger": "右扳機",
+ "GamepadDpadUp": "上",
+ "GamepadDpadDown": "下",
+ "GamepadDpadLeft": "左",
+ "GamepadDpadRight": "右",
+ "GamepadMinus": "-",
+ "GamepadPlus": "+",
+ "GamepadGuide": "快顯功能表鍵",
+ "GamepadMisc1": "其他按鍵",
+ "GamepadPaddle1": "其他按鍵 1",
+ "GamepadPaddle2": "其他按鍵 2",
+ "GamepadPaddle3": "其他按鍵 3",
+ "GamepadPaddle4": "其他按鍵 4",
+ "GamepadTouchpad": "觸控板",
+ "GamepadSingleLeftTrigger0": "左扳機 0",
+ "GamepadSingleRightTrigger0": "右扳機 0",
+ "GamepadSingleLeftTrigger1": "左扳機 1",
+ "GamepadSingleRightTrigger1": "右扳機 1",
+ "StickLeft": "左搖桿",
+ "StickRight": "右搖桿",
"UserProfilesSelectedUserProfile": "選取的使用者設定檔:",
"UserProfilesSaveProfileName": "儲存設定檔名稱",
"UserProfilesChangeProfileImage": "變更設定檔圖像",
@@ -490,7 +596,7 @@
"OpenGlLogLevel": "需要啟用適當的日誌等級",
"DebugLogTooltip": "在控制台中輸出偵錯日誌訊息。\n\n只有在人員特別指示的情況下才能使用,因為這會導致日誌難以閱讀,並降低模擬器效能。",
"LoadApplicationFileTooltip": "開啟檔案總管,選擇與 Switch 相容的檔案來載入",
- "LoadApplicationFolderTooltip": "開啟檔案總管,選擇與 Switch 相容且解開封裝的應用程式來載入",
+ "LoadApplicationFolderTooltip": "開啟檔案總管,選擇與 Switch 相容且未封裝的應用程式來載入",
"OpenRyujinxFolderTooltip": "開啟 Ryujinx 檔案系統資料夾",
"OpenRyujinxLogsTooltip": "開啟日誌被寫入的資料夾",
"ExitTooltip": "結束 Ryujinx",
@@ -550,7 +656,7 @@
"SwkbdMinRangeCharacters": "長度必須為 {0} 到 {1} 個字元",
"SoftwareKeyboard": "軟體鍵盤",
"SoftwareKeyboardModeNumeric": "必須是 0 到 9 或「.」",
- "SoftwareKeyboardModeAlphabet": "必須是非「中日韓字元」 (non CJK)",
+ "SoftwareKeyboardModeAlphabet": "必須是「非中日韓字元」 (non CJK)",
"SoftwareKeyboardModeASCII": "必須是 ASCII 文字",
"ControllerAppletControllers": "支援的控制器:",
"ControllerAppletPlayers": "玩家:",
@@ -572,7 +678,7 @@
"CompilingShaders": "正在編譯著色器",
"AllKeyboards": "所有鍵盤",
"OpenFileDialogTitle": "選取支援的檔案格式",
- "OpenFolderDialogTitle": "選取解開封裝遊戲的資料夾",
+ "OpenFolderDialogTitle": "選取未封裝遊戲的資料夾",
"AllSupportedFormats": "所有支援的格式",
"RyujinxUpdater": "Ryujinx 更新程式",
"SettingsTabHotkeys": "鍵盤快速鍵",
@@ -597,6 +703,7 @@
"UserProfileWindowTitle": "使用者設定檔管理員",
"CheatWindowTitle": "密技管理員",
"DlcWindowTitle": "管理 {0} 的可下載內容 ({1})",
+ "ModWindowTitle": "管理 {0} 的模組 ({1})",
"UpdateWindowTitle": "遊戲更新管理員",
"CheatWindowHeading": "可用於 {0} [{1}] 的密技",
"BuildId": "組建識別碼:",
@@ -610,7 +717,7 @@
"UserProfilesSetProfileImage": "設定設定檔圖像",
"UserProfileEmptyNameError": "名稱為必填",
"UserProfileNoImageError": "必須設定設定檔圖像",
- "GameUpdateWindowHeading": "可用於 {0} ({1}) 的更新",
+ "GameUpdateWindowHeading": "管理 {0} 的更新 ({1})",
"SettingsTabHotkeysResScaleUpHotkey": "提高解析度:",
"SettingsTabHotkeysResScaleDownHotkey": "降低解析度:",
"UserProfilesName": "名稱:",
@@ -635,7 +742,7 @@
"UserProfilesManageSaves": "管理存檔",
"DeleteUserSave": "您想刪除此遊戲的使用者存檔嗎?",
"IrreversibleActionNote": "此動作將無法復原。",
- "SaveManagerHeading": "管理 {0} 的存檔",
+ "SaveManagerHeading": "管理 {0} 的存檔 ({1})",
"SaveManagerTitle": "存檔管理員",
"Name": "名稱",
"Size": "大小",
@@ -647,9 +754,9 @@
"GraphicsAATooltip": "對遊戲繪製進行反鋸齒處理。\n\nFXAA 會模糊大部分圖像,而 SMAA 則會嘗試找出鋸齒邊緣並將其平滑化。\n\n不建議與 FSR 縮放濾鏡一起使用。\n\n此選項可在遊戲執行時透過點選下方的「套用」進行變更;您只需將設定視窗移到一旁,然後進行試驗,直到找到您喜歡的遊戲效果。\n\n如果不確定,請選擇無狀態。",
"GraphicsAALabel": "反鋸齒:",
"GraphicsScalingFilterLabel": "縮放過濾器:",
- "GraphicsScalingFilterTooltip": "選擇使用解析度縮放時套用的縮放過濾器。\n\nBilinear (雙線性) 濾鏡適用於 3D 遊戲,是一個安全的預設選項。\n\n建議像素美術遊戲使用 Nearest (最近性) 濾鏡。\n\nFSR 1.0 只是一個銳化濾鏡,不建議與 FXAA 或 SMAA 一起使用。\n\n此選項可在遊戲執行時透過點選下方的「套用」進行變更;您只需將設定視窗移到一旁,然後進行試驗,直到找到您喜歡的遊戲效果。\n\n如果不確定,請保持 Bilinear (雙線) 狀態。",
- "GraphicsScalingFilterBilinear": "Bilinear",
- "GraphicsScalingFilterNearest": "Nearest",
+ "GraphicsScalingFilterTooltip": "選擇使用解析度縮放時套用的縮放過濾器。\n\n雙線性 (Bilinear) 濾鏡適用於 3D 遊戲,是一個安全的預設選項。\n\n建議像素美術遊戲使用近鄰性 (Nearest) 濾鏡。\n\nFSR 1.0 只是一個銳化濾鏡,不建議與 FXAA 或 SMAA 一起使用。\n\n此選項可在遊戲執行時透過點選下方的「套用」進行變更;您只需將設定視窗移到一旁,然後進行試驗,直到找到您喜歡的遊戲效果。\n\n如果不確定,請保持雙線性 (Bilinear) 狀態。",
+ "GraphicsScalingFilterBilinear": "雙線性 (Bilinear)",
+ "GraphicsScalingFilterNearest": "近鄰性 (Nearest)",
"GraphicsScalingFilterFsr": "FSR",
"GraphicsScalingFilterLevelLabel": "日誌等級",
"GraphicsScalingFilterLevelTooltip": "設定 FSR 1.0 銳化等級。越高越清晰。",
@@ -662,12 +769,12 @@
"SettingsTabNetworkInterface": "網路介面:",
"NetworkInterfaceTooltip": "用於 LAN/LDN 功能的網路介面。\n\n與 VPN 或 XLink Kai 以及支援區域網路的遊戲配合使用,可用於在網路上偽造同網際網路連線。\n\n如果不確定,請保持預設狀態。",
"NetworkInterfaceDefault": "預設",
- "PackagingShaders": "著色器封裝",
+ "PackagingShaders": "封裝著色器",
"AboutChangelogButton": "在 GitHub 上檢視更新日誌",
"AboutChangelogButtonTooltipMessage": "在預設瀏覽器中開啟此版本的更新日誌。",
"SettingsTabNetworkMultiplayer": "多人遊戲",
"MultiplayerMode": "模式:",
"MultiplayerModeTooltip": "變更 LDN 多人遊戲模式。\n\nLdnMitm 將修改遊戲中的本機無線/本機遊戲功能,使其如同區域網路一樣執行,允許與其他安裝了 ldn_mitm 模組的 Ryujinx 實例和已破解的 Nintendo Switch 遊戲機進行本機同網路連線。\n\n多人遊戲要求所有玩家使用相同的遊戲版本 (例如,Super Smash Bros. Ultimate v13.0.1 無法連接 v13.0.0)。\n\n如果不確定,請保持 Disabled (停用) 狀態。",
- "MultiplayerModeDisabled": "Disabled",
+ "MultiplayerModeDisabled": "已停用",
"MultiplayerModeLdnMitm": "ldn_mitm"
}
From cdccf89e103694dcad3833d900b7858a49dae1ec Mon Sep 17 00:00:00 2001
From: gdkchan
Date: Wed, 15 May 2024 02:20:24 -0300
Subject: [PATCH 14/15] =?UTF-8?q?Revert=20"Disable=20keyboard=20controller?=
=?UTF-8?q?=20input=20while=20swkbd=20is=20open=20(foreground)=20(#?=
=?UTF-8?q?=E2=80=A6"=20(#6805)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit a3dc295c5f867bddb56a38f3a848ceb61ff30d32.
---
src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs | 5 -----
src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs | 3 ---
src/Ryujinx.Input/HLE/NpadManager.cs | 5 -----
src/Ryujinx.Input/IGamepadDriver.cs | 6 ------
src/Ryujinx/Input/AvaloniaKeyboard.cs | 2 +-
src/Ryujinx/Input/AvaloniaKeyboardDriver.cs | 2 +-
src/Ryujinx/UI/Applet/AvaHostUIHandler.cs | 2 --
7 files changed, 2 insertions(+), 23 deletions(-)
diff --git a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
index bd71c7933..e502254be 100644
--- a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
+++ b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
@@ -81,11 +81,6 @@ namespace Ryujinx.Input.GTK3
return _pressedKeys.Contains(nativeKey);
}
- public void Clear()
- {
- _pressedKeys.Clear();
- }
-
public IGamepad GetGamepad(string id)
{
if (!_keyboardIdentifers[0].Equals(id))
diff --git a/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs b/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
index b3f509a09..1d918d21b 100644
--- a/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
+++ b/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
@@ -107,8 +107,6 @@ namespace Ryujinx.UI.Applet
swkbdDialog.SetInputLengthValidation(args.StringLengthMin, args.StringLengthMax);
swkbdDialog.SetInputValidation(args.KeyboardMode);
- ((MainWindow)_parent).RendererWidget.NpadManager.BlockInputUpdates();
-
if (swkbdDialog.Run() == (int)ResponseType.Ok)
{
inputText = swkbdDialog.InputEntry.Text;
@@ -130,7 +128,6 @@ namespace Ryujinx.UI.Applet
});
dialogCloseEvent.WaitOne();
- ((MainWindow)_parent).RendererWidget.NpadManager.UnblockInputUpdates();
userText = error ? null : inputText;
diff --git a/src/Ryujinx.Input/HLE/NpadManager.cs b/src/Ryujinx.Input/HLE/NpadManager.cs
index 2409ecf22..4c7bb8b7a 100644
--- a/src/Ryujinx.Input/HLE/NpadManager.cs
+++ b/src/Ryujinx.Input/HLE/NpadManager.cs
@@ -174,11 +174,6 @@ namespace Ryujinx.Input.HLE
{
lock (_lock)
{
- foreach (InputConfig inputConfig in _inputConfig)
- {
- _controllers[(int)inputConfig.PlayerIndex].GamepadDriver.Clear();
- }
-
_blockInputUpdates = false;
}
}
diff --git a/src/Ryujinx.Input/IGamepadDriver.cs b/src/Ryujinx.Input/IGamepadDriver.cs
index ff4d36993..67b01c26c 100644
--- a/src/Ryujinx.Input/IGamepadDriver.cs
+++ b/src/Ryujinx.Input/IGamepadDriver.cs
@@ -33,11 +33,5 @@ namespace Ryujinx.Input
/// The unique id of the gamepad
/// An instance of associated to the gamepad id given or null if not found
IGamepad GetGamepad(string id);
-
- ///
- /// Flush the internal state of the driver.
- ///
- /// Does nothing by default.
- void Clear() { }
}
}
diff --git a/src/Ryujinx/Input/AvaloniaKeyboard.cs b/src/Ryujinx/Input/AvaloniaKeyboard.cs
index ff88de79e..fbaaaabab 100644
--- a/src/Ryujinx/Input/AvaloniaKeyboard.cs
+++ b/src/Ryujinx/Input/AvaloniaKeyboard.cs
@@ -195,7 +195,7 @@ namespace Ryujinx.Ava.Input
public void Clear()
{
- _driver?.Clear();
+ _driver?.ResetKeys();
}
public void Dispose() { }
diff --git a/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs b/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
index 9f87e821a..e9e71b99b 100644
--- a/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
+++ b/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
@@ -94,7 +94,7 @@ namespace Ryujinx.Ava.Input
return _pressedKeys.Contains(nativeKey);
}
- public void Clear()
+ public void ResetKeys()
{
_pressedKeys.Clear();
}
diff --git a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
index 4bcf8eb94..4bcc35a7a 100644
--- a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
+++ b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
@@ -122,7 +122,6 @@ namespace Ryujinx.Ava.UI.Applet
{
try
{
- _parent.ViewModel.AppHost.NpadManager.BlockInputUpdates();
var response = await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.SoftwareKeyboard], args);
if (response.Result == UserResult.Ok)
@@ -144,7 +143,6 @@ namespace Ryujinx.Ava.UI.Applet
});
dialogCloseEvent.WaitOne();
- _parent.ViewModel.AppHost.NpadManager.UnblockInputUpdates();
userText = error ? null : inputText;
From 3aea19460635ef9d1652a220e6806130dd6a7355 Mon Sep 17 00:00:00 2001
From: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
Date: Wed, 15 May 2024 06:06:58 -0400
Subject: [PATCH 15/15] Add Enhancement label to Feature Requests (#6804)
---
.github/ISSUE_TEMPLATE/feature_request.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
index 383bbb151..399aa039c 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -1,6 +1,7 @@
name: Feature Request
description: Suggest a new feature for Ryujinx.
title: "[Feature Request]"
+labels: enhancement
body:
- type: textarea
id: overview