Compare commits
9 Commits
Canary-1.2
...
Canary-1.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
facc12a94a | ||
|
|
8e55e6d6d7 | ||
|
|
346dfe9542 | ||
|
|
8a2b56cae6 | ||
|
|
baf179efdb | ||
|
|
2a72fb2088 | ||
|
|
0caeab2270 | ||
|
|
f72d2c1b2b | ||
|
|
a18cecbc30 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -175,3 +175,6 @@ PublishProfiles/
|
|||||||
|
|
||||||
# Glade backup files
|
# Glade backup files
|
||||||
*.glade~
|
*.glade~
|
||||||
|
|
||||||
|
# Ignore MacOS Attribute Files
|
||||||
|
._*
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -36,9 +36,9 @@ namespace ARMeilleure.Common
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="address">Guest address</param>
|
/// <param name="address">Guest address</param>
|
||||||
/// <returns>Value of the <see cref="AddressTableLevel"/> from the specified guest <paramref name="address"/></returns>
|
/// <returns>Value of the <see cref="AddressTableLevel"/> from the specified guest <paramref name="address"/></returns>
|
||||||
public int GetValue(ulong address)
|
public long GetValue(ulong address)
|
||||||
{
|
{
|
||||||
return (int)((address & Mask) >> Index);
|
return (long)((address & Mask) >> Index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace ARMeilleure.Translation.PTC
|
|||||||
private const string OuterHeaderMagicString = "PTCohd\0\0";
|
private const string OuterHeaderMagicString = "PTCohd\0\0";
|
||||||
private const string InnerHeaderMagicString = "PTCihd\0\0";
|
private const string InnerHeaderMagicString = "PTCihd\0\0";
|
||||||
|
|
||||||
private const uint InternalVersion = 6992; //! To be incremented manually for each change to the ARMeilleure project.
|
private const uint InternalVersion = 6997; //! To be incremented manually for each change to the ARMeilleure project.
|
||||||
|
|
||||||
private const string ActualDir = "0";
|
private const string ActualDir = "0";
|
||||||
private const string BackupDir = "1";
|
private const string BackupDir = "1";
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
|
<DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ namespace ARMeilleure.Common
|
|||||||
{
|
{
|
||||||
TEntry* page = GetPage(address);
|
TEntry* page = GetPage(address);
|
||||||
|
|
||||||
int index = Levels[^1].GetValue(address);
|
long index = Levels[^1].GetValue(address);
|
||||||
|
|
||||||
EnsureMapped((IntPtr)(page + index));
|
EnsureMapped((IntPtr)(page + index));
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
|
|||||||
@@ -183,6 +183,16 @@ namespace Ryujinx.Graphics.Vulkan
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Prevent the sum of descriptors from exceeding MaxPushDescriptors
|
||||||
|
int totalDescriptors = 0;
|
||||||
|
foreach (ResourceDescriptor desc in layout.Sets.First().Descriptors)
|
||||||
|
{
|
||||||
|
if (!reserved.Contains(desc.Binding))
|
||||||
|
totalDescriptors += desc.Count;
|
||||||
|
}
|
||||||
|
if (totalDescriptors > gd.Capabilities.MaxPushDescriptors)
|
||||||
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
|
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
|
||||||
<CompilerGeneratedFilesOutputPath>Generated</CompilerGeneratedFilesOutputPath>
|
<CompilerGeneratedFilesOutputPath>Generated</CompilerGeneratedFilesOutputPath>
|
||||||
<IsRoslynComponent>true</IsRoslynComponent>
|
<IsRoslynComponent>true</IsRoslynComponent>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ using System.IO;
|
|||||||
using System.IO.Compression;
|
using System.IO.Compression;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using Path = System.IO.Path;
|
using Path = System.IO.Path;
|
||||||
|
|
||||||
namespace Ryujinx.HLE.FileSystem
|
namespace Ryujinx.HLE.FileSystem
|
||||||
@@ -474,6 +475,74 @@ namespace Ryujinx.HLE.FileSystem
|
|||||||
FinishInstallation(temporaryDirectory, registeredDirectory);
|
FinishInstallation(temporaryDirectory, registeredDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void InstallKeys(string keysSource, string installDirectory)
|
||||||
|
{
|
||||||
|
if (Directory.Exists(keysSource))
|
||||||
|
{
|
||||||
|
foreach (var filePath in Directory.EnumerateFiles(keysSource, "*.keys"))
|
||||||
|
{
|
||||||
|
VerifyKeysFile(filePath);
|
||||||
|
File.Copy(filePath, Path.Combine(installDirectory, Path.GetFileName(filePath)), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!File.Exists(keysSource))
|
||||||
|
{
|
||||||
|
throw new FileNotFoundException("Keys file does not exist.");
|
||||||
|
}
|
||||||
|
|
||||||
|
FileInfo info = new(keysSource);
|
||||||
|
|
||||||
|
using FileStream file = File.OpenRead(keysSource);
|
||||||
|
|
||||||
|
switch (info.Extension)
|
||||||
|
{
|
||||||
|
case ".zip":
|
||||||
|
using (ZipArchive archive = ZipFile.OpenRead(keysSource))
|
||||||
|
{
|
||||||
|
InstallKeysFromZip(archive, installDirectory);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ".keys":
|
||||||
|
VerifyKeysFile(keysSource);
|
||||||
|
File.Copy(keysSource, Path.Combine(installDirectory, info.Name), true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new InvalidFirmwarePackageException("Input file is not a valid key package");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InstallKeysFromZip(ZipArchive archive, string installDirectory)
|
||||||
|
{
|
||||||
|
string temporaryDirectory = Path.Combine(installDirectory, "temp");
|
||||||
|
if (Directory.Exists(temporaryDirectory))
|
||||||
|
{
|
||||||
|
Directory.Delete(temporaryDirectory, true);
|
||||||
|
}
|
||||||
|
Directory.CreateDirectory(temporaryDirectory);
|
||||||
|
foreach (var entry in archive.Entries)
|
||||||
|
{
|
||||||
|
if (Path.GetExtension(entry.FullName).Equals(".keys", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
string extractDestination = Path.Combine(temporaryDirectory, entry.Name);
|
||||||
|
entry.ExtractToFile(extractDestination, overwrite: true);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
VerifyKeysFile(extractDestination);
|
||||||
|
File.Move(extractDestination, Path.Combine(installDirectory, entry.Name), true);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
Directory.Delete(temporaryDirectory, true);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Directory.Delete(temporaryDirectory, true);
|
||||||
|
}
|
||||||
|
|
||||||
private void FinishInstallation(string temporaryDirectory, string registeredDirectory)
|
private void FinishInstallation(string temporaryDirectory, string registeredDirectory)
|
||||||
{
|
{
|
||||||
if (Directory.Exists(registeredDirectory))
|
if (Directory.Exists(registeredDirectory))
|
||||||
@@ -947,5 +1016,70 @@ namespace Ryujinx.HLE.FileSystem
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void VerifyKeysFile(string filePath)
|
||||||
|
{
|
||||||
|
// Verify the keys file format refers to https://github.com/Thealexbarney/LibHac/blob/master/KEYS.md
|
||||||
|
string genericPattern = @"^[a-z0-9_]+ = [a-z0-9]+$";
|
||||||
|
string titlePattern = @"^[a-z0-9]{32} = [a-z0-9]{32}$";
|
||||||
|
|
||||||
|
if (File.Exists(filePath))
|
||||||
|
{
|
||||||
|
// Read all lines from the file
|
||||||
|
string fileName = Path.GetFileName(filePath);
|
||||||
|
string[] lines = File.ReadAllLines(filePath);
|
||||||
|
|
||||||
|
bool verified = false;
|
||||||
|
switch (fileName)
|
||||||
|
{
|
||||||
|
case "prod.keys":
|
||||||
|
verified = verifyKeys(lines, genericPattern);
|
||||||
|
break;
|
||||||
|
case "title.keys":
|
||||||
|
verified = verifyKeys(lines, titlePattern);
|
||||||
|
break;
|
||||||
|
case "console.keys":
|
||||||
|
verified = verifyKeys(lines, genericPattern);
|
||||||
|
break;
|
||||||
|
case "dev.keys":
|
||||||
|
verified = verifyKeys(lines, genericPattern);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new FormatException($"Keys file name \"{fileName}\" not supported. Only \"prod.keys\", \"title.keys\", \"console.keys\", \"dev.keys\" are supported.");
|
||||||
|
}
|
||||||
|
if (!verified)
|
||||||
|
{
|
||||||
|
throw new FormatException($"Invalid \"{filePath}\" file format.");
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
throw new FileNotFoundException($"Keys file not found at \"{filePath}\".");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool verifyKeys(string[] lines, string regex)
|
||||||
|
{
|
||||||
|
foreach (string line in lines)
|
||||||
|
{
|
||||||
|
if (!Regex.IsMatch(line, regex))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool AreKeysAlredyPresent(string pathToCheck)
|
||||||
|
{
|
||||||
|
string[] fileNames = { "prod.keys", "title.keys", "console.keys", "dev.keys" };
|
||||||
|
foreach (var file in fileNames)
|
||||||
|
{
|
||||||
|
if (File.Exists(Path.Combine(pathToCheck, file)))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -223,9 +223,10 @@ namespace Ryujinx.HLE.FileSystem
|
|||||||
{
|
{
|
||||||
KeySet ??= KeySet.CreateDefaultKeySet();
|
KeySet ??= KeySet.CreateDefaultKeySet();
|
||||||
|
|
||||||
string keyFile = null;
|
string prodKeyFile = null;
|
||||||
string titleKeyFile = null;
|
string titleKeyFile = null;
|
||||||
string consoleKeyFile = null;
|
string consoleKeyFile = null;
|
||||||
|
string devKeyFile = null;
|
||||||
|
|
||||||
if (AppDataManager.Mode == AppDataManager.LaunchMode.UserProfile)
|
if (AppDataManager.Mode == AppDataManager.LaunchMode.UserProfile)
|
||||||
{
|
{
|
||||||
@@ -236,13 +237,14 @@ namespace Ryujinx.HLE.FileSystem
|
|||||||
|
|
||||||
void LoadSetAtPath(string basePath)
|
void LoadSetAtPath(string basePath)
|
||||||
{
|
{
|
||||||
string localKeyFile = Path.Combine(basePath, "prod.keys");
|
string localProdKeyFile = Path.Combine(basePath, "prod.keys");
|
||||||
string localTitleKeyFile = Path.Combine(basePath, "title.keys");
|
string localTitleKeyFile = Path.Combine(basePath, "title.keys");
|
||||||
string localConsoleKeyFile = Path.Combine(basePath, "console.keys");
|
string localConsoleKeyFile = Path.Combine(basePath, "console.keys");
|
||||||
|
string localDevKeyFile = Path.Combine(basePath, "dev.keys");
|
||||||
|
|
||||||
if (File.Exists(localKeyFile))
|
if (File.Exists(localProdKeyFile))
|
||||||
{
|
{
|
||||||
keyFile = localKeyFile;
|
prodKeyFile = localProdKeyFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (File.Exists(localTitleKeyFile))
|
if (File.Exists(localTitleKeyFile))
|
||||||
@@ -254,9 +256,14 @@ namespace Ryujinx.HLE.FileSystem
|
|||||||
{
|
{
|
||||||
consoleKeyFile = localConsoleKeyFile;
|
consoleKeyFile = localConsoleKeyFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (File.Exists(localDevKeyFile))
|
||||||
|
{
|
||||||
|
devKeyFile = localDevKeyFile;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ExternalKeyReader.ReadKeyFile(KeySet, keyFile, titleKeyFile, consoleKeyFile, null);
|
ExternalKeyReader.ReadKeyFile(KeySet, prodKeyFile, devKeyFile, titleKeyFile, consoleKeyFile, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ImportTickets(IFileSystem fs)
|
public void ImportTickets(IFileSystem fs)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
<DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
|
<DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
|
||||||
<SigningCertificate Condition=" '$(SigningCertificate)' == '' ">-</SigningCertificate>
|
<SigningCertificate Condition=" '$(SigningCertificate)' == '' ">-</SigningCertificate>
|
||||||
<TieredPGO>true</TieredPGO>
|
<TieredPGO>true</TieredPGO>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<Configurations>Debug;Release</Configurations>
|
<Configurations>Debug;Release</Configurations>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<IsPackable>false</IsPackable>
|
<IsPackable>false</IsPackable>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<Configurations>Debug;Release</Configurations>
|
<Configurations>Debug;Release</Configurations>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<TargetOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">linux</TargetOS>
|
<TargetOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">linux</TargetOS>
|
||||||
<Configurations>Debug;Release</Configurations>
|
<Configurations>Debug;Release</Configurations>
|
||||||
<RunSettingsFilePath>$(MSBuildProjectDirectory)\.runsettings</RunSettingsFilePath>
|
<RunSettingsFilePath>$(MSBuildProjectDirectory)\.runsettings</RunSettingsFilePath>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@@ -247,6 +247,7 @@ namespace Ryujinx.UI.Common
|
|||||||
"0100dbf01000a000", // Burnout Paradise Remastered
|
"0100dbf01000a000", // Burnout Paradise Remastered
|
||||||
"0100744001588000", // Cars 3: Driven to Win
|
"0100744001588000", // Cars 3: Driven to Win
|
||||||
"0100b41013c82000", // Cruis'n Blast
|
"0100b41013c82000", // Cruis'n Blast
|
||||||
|
"01001b300b9be000", // Diablo III: Eternal Collection
|
||||||
"01008c8012920000", // Dying Light Platinum Edition
|
"01008c8012920000", // Dying Light Platinum Edition
|
||||||
"010073c01af34000", // LEGO Horizon Adventures
|
"010073c01af34000", // LEGO Horizon Adventures
|
||||||
"0100770008dd8000", // Monster Hunter Generations Ultimate
|
"0100770008dd8000", // Monster Hunter Generations Ultimate
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "اَلْعَرَبِيَّةُ",
|
"Language": "اَلْعَرَبِيَّةُ",
|
||||||
"MenuBarFileOpenApplet": "فتح التطبيق المصغر",
|
"MenuBarFileOpenApplet": "فتح التطبيق المصغر",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "افتح تطبيق تحرير Mii في الوضع المستقل",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "افتح تطبيق تحرير Mii في الوضع المستقل",
|
||||||
"SettingsTabInputDirectMouseAccess": "الوصول المباشر للفأرة",
|
"SettingsTabInputDirectMouseAccess": "الوصول المباشر للفأرة",
|
||||||
"SettingsTabSystemMemoryManagerMode": "وضع إدارة الذاكرة:",
|
"SettingsTabSystemMemoryManagerMode": "وضع إدارة الذاكرة:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "تثبيت البرنامج الثابت",
|
"MenuBarToolsInstallFirmware": "تثبيت البرنامج الثابت",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "تثبيت برنامج ثابت من XCI أو ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "تثبيت برنامج ثابت من XCI أو ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "تثبيت برنامج ثابت من مجلد",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "تثبيت برنامج ثابت من مجلد",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "إدارة أنواع الملفات",
|
"MenuBarToolsManageFileTypes": "إدارة أنواع الملفات",
|
||||||
"MenuBarToolsInstallFileTypes": "تثبيت أنواع الملفات",
|
"MenuBarToolsInstallFileTypes": "تثبيت أنواع الملفات",
|
||||||
"MenuBarToolsUninstallFileTypes": "إزالة أنواع الملفات",
|
"MenuBarToolsUninstallFileTypes": "إزالة أنواع الملفات",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\nهل تريد المتابعة؟",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\nهل تريد المتابعة؟",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "تثبيت البرنامج الثابت...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "تثبيت البرنامج الثابت...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "تم تثبيت إصدار النظام {0} بنجاح.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "تم تثبيت إصدار النظام {0} بنجاح.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "لن تكون هناك ملفات الشخصية أخرى لفتحها إذا تم حذف الملف الشخصي المحدد",
|
"DialogUserProfileDeletionWarningMessage": "لن تكون هناك ملفات الشخصية أخرى لفتحها إذا تم حذف الملف الشخصي المحدد",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "هل تريد حذف الملف الشخصي المحدد",
|
"DialogUserProfileDeletionConfirmMessage": "هل تريد حذف الملف الشخصي المحدد",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "تحذير - التغييرات غير محفوظة",
|
"DialogUserProfileUnsavedChangesTitle": "تحذير - التغييرات غير محفوظة",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Deutsch",
|
"Language": "Deutsch",
|
||||||
"MenuBarFileOpenApplet": "Öffne Anwendung",
|
"MenuBarFileOpenApplet": "Öffne Anwendung",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Öffnet das Mii-Editor-Applet im Standalone-Modus",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Öffnet das Mii-Editor-Applet im Standalone-Modus",
|
||||||
"SettingsTabInputDirectMouseAccess": "Direkter Mauszugriff",
|
"SettingsTabInputDirectMouseAccess": "Direkter Mauszugriff",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Speichermanagermodus:",
|
"SettingsTabSystemMemoryManagerMode": "Speichermanagermodus:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Firmware installieren",
|
"MenuBarToolsInstallFirmware": "Firmware installieren",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Firmware von einer XCI- oder einer ZIP-Datei installieren",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Firmware von einer XCI- oder einer ZIP-Datei installieren",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Firmware aus einem Verzeichnis installieren",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Firmware aus einem Verzeichnis installieren",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Dateitypen verwalten",
|
"MenuBarToolsManageFileTypes": "Dateitypen verwalten",
|
||||||
"MenuBarToolsInstallFileTypes": "Dateitypen installieren",
|
"MenuBarToolsInstallFileTypes": "Dateitypen installieren",
|
||||||
"MenuBarToolsUninstallFileTypes": "Dateitypen deinstallieren",
|
"MenuBarToolsUninstallFileTypes": "Dateitypen deinstallieren",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nMöchtest du fortfahren?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nMöchtest du fortfahren?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Firmware wird installiert...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Firmware wird installiert...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Systemversion {0} wurde erfolgreich installiert.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Systemversion {0} wurde erfolgreich installiert.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Es können keine anderen Profile geöffnet werden, wenn das ausgewählte Profil gelöscht wird.",
|
"DialogUserProfileDeletionWarningMessage": "Es können keine anderen Profile geöffnet werden, wenn das ausgewählte Profil gelöscht wird.",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Möchtest du das ausgewählte Profil löschen?",
|
"DialogUserProfileDeletionConfirmMessage": "Möchtest du das ausgewählte Profil löschen?",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Warnung - Nicht gespeicherte Änderungen",
|
"DialogUserProfileUnsavedChangesTitle": "Warnung - Nicht gespeicherte Änderungen",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Ελληνικά",
|
"Language": "Ελληνικά",
|
||||||
"MenuBarFileOpenApplet": "Άνοιγμα Applet",
|
"MenuBarFileOpenApplet": "Άνοιγμα Applet",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Άνοιγμα του Mii Editor Applet σε Αυτόνομη λειτουργία",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Άνοιγμα του Mii Editor Applet σε Αυτόνομη λειτουργία",
|
||||||
"SettingsTabInputDirectMouseAccess": "Άμεση Πρόσβαση Ποντικιού",
|
"SettingsTabInputDirectMouseAccess": "Άμεση Πρόσβαση Ποντικιού",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Λειτουργία Διαχείρισης Μνήμης:",
|
"SettingsTabSystemMemoryManagerMode": "Λειτουργία Διαχείρισης Μνήμης:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Εγκατάσταση Firmware",
|
"MenuBarToolsInstallFirmware": "Εγκατάσταση Firmware",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Εγκατάσταση Firmware από XCI ή ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Εγκατάσταση Firmware από XCI ή ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Εγκατάσταση Firmware από τοποθεσία",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Εγκατάσταση Firmware από τοποθεσία",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Διαχείριση τύπων αρχείων",
|
"MenuBarToolsManageFileTypes": "Διαχείριση τύπων αρχείων",
|
||||||
"MenuBarToolsInstallFileTypes": "Εγκαταστήσετε τύπους αρχείων.",
|
"MenuBarToolsInstallFileTypes": "Εγκαταστήσετε τύπους αρχείων.",
|
||||||
"MenuBarToolsUninstallFileTypes": "Απεγκαταστήσετε τύπους αρχείων",
|
"MenuBarToolsUninstallFileTypes": "Απεγκαταστήσετε τύπους αρχείων",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nΘέλετε να συνεχίσετε;",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nΘέλετε να συνεχίσετε;",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Εγκατάσταση Firmware...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Εγκατάσταση Firmware...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Η έκδοση συστήματος {0} εγκαταστάθηκε με επιτυχία.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Η έκδοση συστήματος {0} εγκαταστάθηκε με επιτυχία.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Δεν θα υπάρχουν άλλα προφίλ εάν διαγραφεί το επιλεγμένο",
|
"DialogUserProfileDeletionWarningMessage": "Δεν θα υπάρχουν άλλα προφίλ εάν διαγραφεί το επιλεγμένο",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Θέλετε να διαγράψετε το επιλεγμένο προφίλ",
|
"DialogUserProfileDeletionConfirmMessage": "Θέλετε να διαγράψετε το επιλεγμένο προφίλ",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Προσοχή - Μην Αποθηκευμένες Αλλαγές.",
|
"DialogUserProfileUnsavedChangesTitle": "Προσοχή - Μην Αποθηκευμένες Αλλαγές.",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "English (US)",
|
"Language": "English (US)",
|
||||||
"MenuBarFileOpenApplet": "Open Applet",
|
"MenuBarFileOpenApplet": "Open Applet",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Open Mii Editor Applet in Standalone mode",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Open Mii Editor Applet in Standalone mode",
|
||||||
"SettingsTabInputDirectMouseAccess": "Direct Mouse Access",
|
"SettingsTabInputDirectMouseAccess": "Direct Mouse Access",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Memory Manager Mode:",
|
"SettingsTabSystemMemoryManagerMode": "Memory Manager Mode:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Install Firmware",
|
"MenuBarToolsInstallFirmware": "Install Firmware",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Install a firmware from XCI or ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Install a firmware from XCI or ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Install a firmware from a directory",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Install a firmware from a directory",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Manage file types",
|
"MenuBarToolsManageFileTypes": "Manage file types",
|
||||||
"MenuBarToolsInstallFileTypes": "Install file types",
|
"MenuBarToolsInstallFileTypes": "Install file types",
|
||||||
"MenuBarToolsUninstallFileTypes": "Uninstall file types",
|
"MenuBarToolsUninstallFileTypes": "Uninstall file types",
|
||||||
@@ -517,6 +521,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nDo you want to continue?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Installing firmware...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Installing firmware...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "System version {0} successfully installed.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "System version {0} successfully installed.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "There would be no other profiles to be opened if selected profile is deleted",
|
"DialogUserProfileDeletionWarningMessage": "There would be no other profiles to be opened if selected profile is deleted",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Do you want to delete the selected profile",
|
"DialogUserProfileDeletionConfirmMessage": "Do you want to delete the selected profile",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Warning - Unsaved Changes",
|
"DialogUserProfileUnsavedChangesTitle": "Warning - Unsaved Changes",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Español (ES)",
|
"Language": "Español (ES)",
|
||||||
"MenuBarFileOpenApplet": "Abrir applet",
|
"MenuBarFileOpenApplet": "Abrir applet",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Abre el editor de Mii en modo autónomo",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Abre el editor de Mii en modo autónomo",
|
||||||
"SettingsTabInputDirectMouseAccess": "Acceso directo al ratón",
|
"SettingsTabInputDirectMouseAccess": "Acceso directo al ratón",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Modo del administrador de memoria:",
|
"SettingsTabSystemMemoryManagerMode": "Modo del administrador de memoria:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Instalar firmware",
|
"MenuBarToolsInstallFirmware": "Instalar firmware",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Instalar firmware desde un archivo XCI o ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Instalar firmware desde un archivo XCI o ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Instalar firmware desde una carpeta",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Instalar firmware desde una carpeta",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Administrar tipos de archivo",
|
"MenuBarToolsManageFileTypes": "Administrar tipos de archivo",
|
||||||
"MenuBarToolsInstallFileTypes": "Instalar tipos de archivo",
|
"MenuBarToolsInstallFileTypes": "Instalar tipos de archivo",
|
||||||
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de archivo",
|
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de archivo",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n¿Continuar?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n¿Continuar?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Instalando firmware...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Instalando firmware...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Versión de sistema {0} instalada con éxito.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Versión de sistema {0} instalada con éxito.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Si eliminas el perfil seleccionado no quedará ningún otro perfil",
|
"DialogUserProfileDeletionWarningMessage": "Si eliminas el perfil seleccionado no quedará ningún otro perfil",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "¿Quieres eliminar el perfil seleccionado?",
|
"DialogUserProfileDeletionConfirmMessage": "¿Quieres eliminar el perfil seleccionado?",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Advertencia - Cambios sin guardar",
|
"DialogUserProfileUnsavedChangesTitle": "Advertencia - Cambios sin guardar",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Français",
|
"Language": "Français",
|
||||||
"MenuBarFileOpenApplet": "Ouvrir un programme",
|
"MenuBarFileOpenApplet": "Ouvrir un programme",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Éditeur de Mii",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Ouvrir l'éditeur Mii en mode Standalone",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Ouvrir l'éditeur Mii en mode Standalone",
|
||||||
"SettingsTabInputDirectMouseAccess": "Accès direct à la souris",
|
"SettingsTabInputDirectMouseAccess": "Accès direct à la souris",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Mode de gestion de la mémoire :",
|
"SettingsTabSystemMemoryManagerMode": "Mode de gestion de la mémoire :",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Installer un firmware",
|
"MenuBarToolsInstallFirmware": "Installer un firmware",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Installer un firmware depuis un fichier XCI ou ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Installer un firmware depuis un fichier XCI ou ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Installer un firmware depuis un dossier",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Installer un firmware depuis un dossier",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Gérer les types de fichiers",
|
"MenuBarToolsManageFileTypes": "Gérer les types de fichiers",
|
||||||
"MenuBarToolsInstallFileTypes": "Installer les types de fichiers",
|
"MenuBarToolsInstallFileTypes": "Installer les types de fichiers",
|
||||||
"MenuBarToolsUninstallFileTypes": "Désinstaller les types de fichiers",
|
"MenuBarToolsUninstallFileTypes": "Désinstaller les types de fichiers",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nVoulez-vous continuer ?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nVoulez-vous continuer ?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Installation du firmware...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Installation du firmware...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Version du système {0} installée avec succès.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Version du système {0} installée avec succès.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Il n'y aurait aucun autre profil à ouvrir si le profil sélectionné est supprimé",
|
"DialogUserProfileDeletionWarningMessage": "Il n'y aurait aucun autre profil à ouvrir si le profil sélectionné est supprimé",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Voulez-vous supprimer le profil sélectionné ?",
|
"DialogUserProfileDeletionConfirmMessage": "Voulez-vous supprimer le profil sélectionné ?",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Avertissement - Modifications non enregistrées",
|
"DialogUserProfileUnsavedChangesTitle": "Avertissement - Modifications non enregistrées",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "עִברִית",
|
"Language": "עִברִית",
|
||||||
"MenuBarFileOpenApplet": "פתח יישומון",
|
"MenuBarFileOpenApplet": "פתח יישומון",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "פתח את יישומון עורך ה- Mii במצב עצמאי",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "פתח את יישומון עורך ה- Mii במצב עצמאי",
|
||||||
"SettingsTabInputDirectMouseAccess": "גישה ישירה לעכבר",
|
"SettingsTabInputDirectMouseAccess": "גישה ישירה לעכבר",
|
||||||
"SettingsTabSystemMemoryManagerMode": "מצב מנהל זיכרון:",
|
"SettingsTabSystemMemoryManagerMode": "מצב מנהל זיכרון:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "התקן קושחה",
|
"MenuBarToolsInstallFirmware": "התקן קושחה",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "התקן קושחה מקובץ- ZIP/XCI",
|
"MenuBarFileToolsInstallFirmwareFromFile": "התקן קושחה מקובץ- ZIP/XCI",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "התקן קושחה מתוך תקייה",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "התקן קושחה מתוך תקייה",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "ניהול סוגי קבצים",
|
"MenuBarToolsManageFileTypes": "ניהול סוגי קבצים",
|
||||||
"MenuBarToolsInstallFileTypes": "סוגי קבצי התקנה",
|
"MenuBarToolsInstallFileTypes": "סוגי קבצי התקנה",
|
||||||
"MenuBarToolsUninstallFileTypes": "סוגי קבצי הסרה",
|
"MenuBarToolsUninstallFileTypes": "סוגי קבצי הסרה",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nהאם ברצונך להמשיך?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nהאם ברצונך להמשיך?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "מתקין קושחה...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "מתקין קושחה...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "גרסת המערכת {0} הותקנה בהצלחה.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "גרסת המערכת {0} הותקנה בהצלחה.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "לא יהיו פרופילים אחרים שייפתחו אם הפרופיל שנבחר יימחק",
|
"DialogUserProfileDeletionWarningMessage": "לא יהיו פרופילים אחרים שייפתחו אם הפרופיל שנבחר יימחק",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "האם ברצונך למחוק את הפרופיל שנבחר",
|
"DialogUserProfileDeletionConfirmMessage": "האם ברצונך למחוק את הפרופיל שנבחר",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "אזהרה - שינויים לא שמורים",
|
"DialogUserProfileUnsavedChangesTitle": "אזהרה - שינויים לא שמורים",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Italiano",
|
"Language": "Italiano",
|
||||||
"MenuBarFileOpenApplet": "Apri applet",
|
"MenuBarFileOpenApplet": "Apri applet",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Apri l'applet Mii Editor in modalità Standalone",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Apri l'applet Mii Editor in modalità Standalone",
|
||||||
"SettingsTabInputDirectMouseAccess": "Accesso diretto al mouse",
|
"SettingsTabInputDirectMouseAccess": "Accesso diretto al mouse",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Modalità di gestione della memoria:",
|
"SettingsTabSystemMemoryManagerMode": "Modalità di gestione della memoria:",
|
||||||
@@ -27,6 +28,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Installa firmware",
|
"MenuBarToolsInstallFirmware": "Installa firmware",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Installa un firmware da file XCI o ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Installa un firmware da file XCI o ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Installa un firmare da una cartella",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Installa un firmare da una cartella",
|
||||||
|
"MenuBarToolsInstallKeys": "Installa Chiavi",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Installa Chiavi da file KEYS o ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Installa Chiavi da una Cartella",
|
||||||
"MenuBarToolsManageFileTypes": "Gestisci i tipi di file",
|
"MenuBarToolsManageFileTypes": "Gestisci i tipi di file",
|
||||||
"MenuBarToolsInstallFileTypes": "Installa i tipi di file",
|
"MenuBarToolsInstallFileTypes": "Installa i tipi di file",
|
||||||
"MenuBarToolsUninstallFileTypes": "Disinstalla i tipi di file",
|
"MenuBarToolsUninstallFileTypes": "Disinstalla i tipi di file",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nVuoi continuare?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nVuoi continuare?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Installazione del firmware...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Installazione del firmware...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "La versione del sistema {0} è stata installata.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "La versione del sistema {0} è stata installata.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "E' stato trovato un file di chiavi invalido ' {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Installa Chavi",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "Un nuovo file di Chiavi sarà intallato.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nQuesto potrebbe sovrascrivere alcune delle Chiavi già installate.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nVuoi continuare?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installando le chiavi...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "Nuovo file di chiavi installato con successo.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Non ci sarebbero altri profili da aprire se il profilo selezionato viene cancellato",
|
"DialogUserProfileDeletionWarningMessage": "Non ci sarebbero altri profili da aprire se il profilo selezionato viene cancellato",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Vuoi eliminare il profilo selezionato?",
|
"DialogUserProfileDeletionConfirmMessage": "Vuoi eliminare il profilo selezionato?",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Attenzione - Modifiche Non Salvate",
|
"DialogUserProfileUnsavedChangesTitle": "Attenzione - Modifiche Non Salvate",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "日本語",
|
"Language": "日本語",
|
||||||
"MenuBarFileOpenApplet": "アプレットを開く",
|
"MenuBarFileOpenApplet": "アプレットを開く",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "スタンドアロンモードで Mii エディタアプレットを開きます",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "スタンドアロンモードで Mii エディタアプレットを開きます",
|
||||||
"SettingsTabInputDirectMouseAccess": "マウス直接アクセス",
|
"SettingsTabInputDirectMouseAccess": "マウス直接アクセス",
|
||||||
"SettingsTabSystemMemoryManagerMode": "メモリ管理モード:",
|
"SettingsTabSystemMemoryManagerMode": "メモリ管理モード:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "ファームウェアをインストール",
|
"MenuBarToolsInstallFirmware": "ファームウェアをインストール",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "XCI または ZIP からファームウェアをインストール",
|
"MenuBarFileToolsInstallFirmwareFromFile": "XCI または ZIP からファームウェアをインストール",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "ディレクトリからファームウェアをインストール",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "ディレクトリからファームウェアをインストール",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "ファイル形式を管理",
|
"MenuBarToolsManageFileTypes": "ファイル形式を管理",
|
||||||
"MenuBarToolsInstallFileTypes": "ファイル形式をインストール",
|
"MenuBarToolsInstallFileTypes": "ファイル形式をインストール",
|
||||||
"MenuBarToolsUninstallFileTypes": "ファイル形式をアンインストール",
|
"MenuBarToolsUninstallFileTypes": "ファイル形式をアンインストール",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n続けてよろしいですか?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n続けてよろしいですか?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "ファームウェアをインストール中...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "ファームウェアをインストール中...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "システムバージョン {0} が正常にインストールされました.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "システムバージョン {0} が正常にインストールされました.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "選択されたプロファイルを削除すると,プロファイルがひとつも存在しなくなります",
|
"DialogUserProfileDeletionWarningMessage": "選択されたプロファイルを削除すると,プロファイルがひとつも存在しなくなります",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "選択されたプロファイルを削除しますか",
|
"DialogUserProfileDeletionConfirmMessage": "選択されたプロファイルを削除しますか",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "警告 - 保存されていない変更",
|
"DialogUserProfileUnsavedChangesTitle": "警告 - 保存されていない変更",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "한국어",
|
"Language": "한국어",
|
||||||
"MenuBarFileOpenApplet": "애플릿 열기",
|
"MenuBarFileOpenApplet": "애플릿 열기",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "독립 실행형 모드로 Mii 편집기 애플릿 열기",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "독립 실행형 모드로 Mii 편집기 애플릿 열기",
|
||||||
"SettingsTabInputDirectMouseAccess": "마우스 직접 접근",
|
"SettingsTabInputDirectMouseAccess": "마우스 직접 접근",
|
||||||
"SettingsTabSystemMemoryManagerMode": "메모리 관리자 모드 :",
|
"SettingsTabSystemMemoryManagerMode": "메모리 관리자 모드 :",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "펌웨어 설치",
|
"MenuBarToolsInstallFirmware": "펌웨어 설치",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "XCI 또는 ZIP으로 펌웨어 설치",
|
"MenuBarFileToolsInstallFirmwareFromFile": "XCI 또는 ZIP으로 펌웨어 설치",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "디렉터리에서 펌웨어 설치",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "디렉터리에서 펌웨어 설치",
|
||||||
|
"MenuBarToolsInstallKeys": "설치 키",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "키나 ZIP에서 키 설치",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "디렉터리에서 키 설치",
|
||||||
"MenuBarToolsManageFileTypes": "파일 형식 관리",
|
"MenuBarToolsManageFileTypes": "파일 형식 관리",
|
||||||
"MenuBarToolsInstallFileTypes": "파일 형식 설치",
|
"MenuBarToolsInstallFileTypes": "파일 형식 설치",
|
||||||
"MenuBarToolsUninstallFileTypes": "파일 형식 제거",
|
"MenuBarToolsUninstallFileTypes": "파일 형식 제거",
|
||||||
@@ -457,7 +461,7 @@
|
|||||||
"DialogUpdaterExtractionMessage": "업데이트 추출 중...",
|
"DialogUpdaterExtractionMessage": "업데이트 추출 중...",
|
||||||
"DialogUpdaterRenamingMessage": "이름 변경 업데이트...",
|
"DialogUpdaterRenamingMessage": "이름 변경 업데이트...",
|
||||||
"DialogUpdaterAddingFilesMessage": "새 업데이트 추가 중...",
|
"DialogUpdaterAddingFilesMessage": "새 업데이트 추가 중...",
|
||||||
"DialogUpdaterShowChangelogMessage": "Show Changelog",
|
"DialogUpdaterShowChangelogMessage": "변경 로그 보기",
|
||||||
"DialogUpdaterCompleteMessage": "업데이트가 완료되었습니다!",
|
"DialogUpdaterCompleteMessage": "업데이트가 완료되었습니다!",
|
||||||
"DialogUpdaterRestartMessage": "지금 Ryujinx를 다시 시작하시겠습니까?",
|
"DialogUpdaterRestartMessage": "지금 Ryujinx를 다시 시작하시겠습니까?",
|
||||||
"DialogUpdaterNoInternetMessage": "인터넷에 연결되어 있지 않습니다!",
|
"DialogUpdaterNoInternetMessage": "인터넷에 연결되어 있지 않습니다!",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n계속하시겠습니까?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n계속하시겠습니까?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "펌웨어 설치 중...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "펌웨어 설치 중...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "시스템 버전 {0}이(가) 설치되었습니다.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "시스템 버전 {0}이(가) 설치되었습니다.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "{0}에서 잘못된 키 파일이 발견",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "설치 키",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "새로운 키 파일이 설치됩니다.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\n이로 인해 현재 설치된 키 중 일부가 대체될 수 있습니다.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\n계속하시겠습니까?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "키 설치 중...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "새로운 키 파일이 성공적으로 설치되었습니다.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "선택한 프로필을 삭제하면 다른 프로필을 열 수 없음",
|
"DialogUserProfileDeletionWarningMessage": "선택한 프로필을 삭제하면 다른 프로필을 열 수 없음",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "선택한 프로필을 삭제하시겠습니까?",
|
"DialogUserProfileDeletionConfirmMessage": "선택한 프로필을 삭제하시겠습니까?",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "경고 - 저장되지 않은 변경 사항",
|
"DialogUserProfileUnsavedChangesTitle": "경고 - 저장되지 않은 변경 사항",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Polski",
|
"Language": "Polski",
|
||||||
"MenuBarFileOpenApplet": "Otwórz Aplet",
|
"MenuBarFileOpenApplet": "Otwórz Aplet",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Otwórz aplet Mii Editor w trybie indywidualnym",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Otwórz aplet Mii Editor w trybie indywidualnym",
|
||||||
"SettingsTabInputDirectMouseAccess": "Bezpośredni dostęp do myszy",
|
"SettingsTabInputDirectMouseAccess": "Bezpośredni dostęp do myszy",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Tryb menedżera pamięci:",
|
"SettingsTabSystemMemoryManagerMode": "Tryb menedżera pamięci:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Zainstaluj oprogramowanie",
|
"MenuBarToolsInstallFirmware": "Zainstaluj oprogramowanie",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Zainstaluj oprogramowanie z XCI lub ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Zainstaluj oprogramowanie z XCI lub ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Zainstaluj oprogramowanie z katalogu",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Zainstaluj oprogramowanie z katalogu",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Zarządzaj rodzajami plików",
|
"MenuBarToolsManageFileTypes": "Zarządzaj rodzajami plików",
|
||||||
"MenuBarToolsInstallFileTypes": "Typy plików instalacyjnych",
|
"MenuBarToolsInstallFileTypes": "Typy plików instalacyjnych",
|
||||||
"MenuBarToolsUninstallFileTypes": "Typy plików dezinstalacyjnych",
|
"MenuBarToolsUninstallFileTypes": "Typy plików dezinstalacyjnych",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nCzy chcesz kontynuować?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nCzy chcesz kontynuować?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Instalowanie firmware'u...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Instalowanie firmware'u...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Wersja systemu {0} została pomyślnie zainstalowana.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Wersja systemu {0} została pomyślnie zainstalowana.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Nie będzie innych profili do otwarcia, jeśli wybrany profil zostanie usunięty",
|
"DialogUserProfileDeletionWarningMessage": "Nie będzie innych profili do otwarcia, jeśli wybrany profil zostanie usunięty",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Czy chcesz usunąć wybrany profil",
|
"DialogUserProfileDeletionConfirmMessage": "Czy chcesz usunąć wybrany profil",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Uwaga - Niezapisane zmiany",
|
"DialogUserProfileUnsavedChangesTitle": "Uwaga - Niezapisane zmiany",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Português (BR)",
|
"Language": "Português (BR)",
|
||||||
"MenuBarFileOpenApplet": "Abrir Applet",
|
"MenuBarFileOpenApplet": "Abrir Applet",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Abrir editor Mii em modo avulso",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Abrir editor Mii em modo avulso",
|
||||||
"SettingsTabInputDirectMouseAccess": "Acesso direto ao mouse",
|
"SettingsTabInputDirectMouseAccess": "Acesso direto ao mouse",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Modo de gerenciamento de memória:",
|
"SettingsTabSystemMemoryManagerMode": "Modo de gerenciamento de memória:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "_Instalar firmware",
|
"MenuBarToolsInstallFirmware": "_Instalar firmware",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Instalar firmware a partir de um arquivo ZIP/XCI",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Instalar firmware a partir de um arquivo ZIP/XCI",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Instalar firmware a partir de um diretório",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Instalar firmware a partir de um diretório",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Gerenciar tipos de arquivo",
|
"MenuBarToolsManageFileTypes": "Gerenciar tipos de arquivo",
|
||||||
"MenuBarToolsInstallFileTypes": "Instalar tipos de arquivo",
|
"MenuBarToolsInstallFileTypes": "Instalar tipos de arquivo",
|
||||||
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de arquivos",
|
"MenuBarToolsUninstallFileTypes": "Desinstalar tipos de arquivos",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nDeseja continuar?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nDeseja continuar?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Instalando firmware...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Instalando firmware...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Versão do sistema {0} instalada com sucesso.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Versão do sistema {0} instalada com sucesso.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Não haveria nenhum perfil selecionado se o perfil atual fosse deletado",
|
"DialogUserProfileDeletionWarningMessage": "Não haveria nenhum perfil selecionado se o perfil atual fosse deletado",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Deseja deletar o perfil selecionado",
|
"DialogUserProfileDeletionConfirmMessage": "Deseja deletar o perfil selecionado",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Alerta - Alterações não salvas",
|
"DialogUserProfileUnsavedChangesTitle": "Alerta - Alterações não salvas",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Русский (RU)",
|
"Language": "Русский (RU)",
|
||||||
"MenuBarFileOpenApplet": "Открыть апплет",
|
"MenuBarFileOpenApplet": "Открыть апплет",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Открывает апплет Mii Editor в автономном режиме",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Открывает апплет Mii Editor в автономном режиме",
|
||||||
"SettingsTabInputDirectMouseAccess": "Прямой ввод мыши",
|
"SettingsTabInputDirectMouseAccess": "Прямой ввод мыши",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Режим менеджера памяти:",
|
"SettingsTabSystemMemoryManagerMode": "Режим менеджера памяти:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Установка прошивки",
|
"MenuBarToolsInstallFirmware": "Установка прошивки",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Установить прошивку из XCI или ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Установить прошивку из XCI или ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Установить прошивку из папки",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Установить прошивку из папки",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Управление типами файлов",
|
"MenuBarToolsManageFileTypes": "Управление типами файлов",
|
||||||
"MenuBarToolsInstallFileTypes": "Установить типы файлов",
|
"MenuBarToolsInstallFileTypes": "Установить типы файлов",
|
||||||
"MenuBarToolsUninstallFileTypes": "Удалить типы файлов",
|
"MenuBarToolsUninstallFileTypes": "Удалить типы файлов",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nПродолжить?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nПродолжить?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Установка прошивки...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Установка прошивки...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Прошивка версии {0} успешно установлена.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Прошивка версии {0} успешно установлена.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Если выбранный профиль будет удален, другие профили не будут открываться.",
|
"DialogUserProfileDeletionWarningMessage": "Если выбранный профиль будет удален, другие профили не будут открываться.",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Удалить выбранный профиль?",
|
"DialogUserProfileDeletionConfirmMessage": "Удалить выбранный профиль?",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Внимание - Несохраненные изменения",
|
"DialogUserProfileUnsavedChangesTitle": "Внимание - Несохраненные изменения",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "ภาษาไทย",
|
"Language": "ภาษาไทย",
|
||||||
"MenuBarFileOpenApplet": "เปิด Applet",
|
"MenuBarFileOpenApplet": "เปิด Applet",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "เปิดโปรแกรม Mii Editor Applet",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "เปิดโปรแกรม Mii Editor Applet",
|
||||||
"SettingsTabInputDirectMouseAccess": "เข้าถึงเมาส์ได้โดยตรง",
|
"SettingsTabInputDirectMouseAccess": "เข้าถึงเมาส์ได้โดยตรง",
|
||||||
"SettingsTabSystemMemoryManagerMode": "โหมดจัดการหน่วยความจำ:",
|
"SettingsTabSystemMemoryManagerMode": "โหมดจัดการหน่วยความจำ:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "ติดตั้งเฟิร์มแวร์",
|
"MenuBarToolsInstallFirmware": "ติดตั้งเฟิร์มแวร์",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "ติดตั้งเฟิร์มแวร์จาก ไฟล์ XCI หรือ ไฟล์ ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "ติดตั้งเฟิร์มแวร์จาก ไฟล์ XCI หรือ ไฟล์ ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "ติดตั้งเฟิร์มแวร์จากไดเร็กทอรี",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "ติดตั้งเฟิร์มแวร์จากไดเร็กทอรี",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "จัดการประเภทไฟล์",
|
"MenuBarToolsManageFileTypes": "จัดการประเภทไฟล์",
|
||||||
"MenuBarToolsInstallFileTypes": "ติดตั้งประเภทไฟล์",
|
"MenuBarToolsInstallFileTypes": "ติดตั้งประเภทไฟล์",
|
||||||
"MenuBarToolsUninstallFileTypes": "ถอนการติดตั้งประเภทไฟล์",
|
"MenuBarToolsUninstallFileTypes": "ถอนการติดตั้งประเภทไฟล์",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nคุณต้องการดำเนินการต่อหรือไม่?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nคุณต้องการดำเนินการต่อหรือไม่?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "กำลังติดตั้งเฟิร์มแวร์...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "กำลังติดตั้งเฟิร์มแวร์...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "ระบบเวอร์ชั่น {0} ติดตั้งเรียบร้อยแล้ว",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "ระบบเวอร์ชั่น {0} ติดตั้งเรียบร้อยแล้ว",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "จะไม่มีโปรไฟล์อื่นให้เปิดหากโปรไฟล์ที่เลือกถูกลบ",
|
"DialogUserProfileDeletionWarningMessage": "จะไม่มีโปรไฟล์อื่นให้เปิดหากโปรไฟล์ที่เลือกถูกลบ",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "คุณต้องการลบโปรไฟล์ที่เลือกหรือไม่?",
|
"DialogUserProfileDeletionConfirmMessage": "คุณต้องการลบโปรไฟล์ที่เลือกหรือไม่?",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "คำเตือน - มีการเปลี่ยนแปลงที่ไม่ได้บันทึก",
|
"DialogUserProfileUnsavedChangesTitle": "คำเตือน - มีการเปลี่ยนแปลงที่ไม่ได้บันทึก",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Türkçe",
|
"Language": "Türkçe",
|
||||||
"MenuBarFileOpenApplet": "Applet'i Aç",
|
"MenuBarFileOpenApplet": "Applet'i Aç",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Mii Editör Applet'ini Bağımsız Mod'da Aç",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Mii Editör Applet'ini Bağımsız Mod'da Aç",
|
||||||
"SettingsTabInputDirectMouseAccess": "Doğrudan Mouse Erişimi",
|
"SettingsTabInputDirectMouseAccess": "Doğrudan Mouse Erişimi",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Hafıza Yönetim Modu:",
|
"SettingsTabSystemMemoryManagerMode": "Hafıza Yönetim Modu:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Yazılım Yükle",
|
"MenuBarToolsInstallFirmware": "Yazılım Yükle",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "XCI veya ZIP'ten Yazılım Yükle",
|
"MenuBarFileToolsInstallFirmwareFromFile": "XCI veya ZIP'ten Yazılım Yükle",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Bir Dizin Üzerinden Yazılım Yükle",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Bir Dizin Üzerinden Yazılım Yükle",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Dosya uzantılarını yönet",
|
"MenuBarToolsManageFileTypes": "Dosya uzantılarını yönet",
|
||||||
"MenuBarToolsInstallFileTypes": "Dosya uzantılarını yükle",
|
"MenuBarToolsInstallFileTypes": "Dosya uzantılarını yükle",
|
||||||
"MenuBarToolsUninstallFileTypes": "Dosya uzantılarını kaldır",
|
"MenuBarToolsUninstallFileTypes": "Dosya uzantılarını kaldır",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nDevam etmek istiyor musunuz?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nDevam etmek istiyor musunuz?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Firmware yükleniyor...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Firmware yükleniyor...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Sistem sürümü {0} başarıyla yüklendi.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Sistem sürümü {0} başarıyla yüklendi.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Seçilen profil silinirse kullanılabilen başka profil kalmayacak",
|
"DialogUserProfileDeletionWarningMessage": "Seçilen profil silinirse kullanılabilen başka profil kalmayacak",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Seçilen profili silmek istiyor musunuz",
|
"DialogUserProfileDeletionConfirmMessage": "Seçilen profili silmek istiyor musunuz",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Uyarı - Kaydedilmemiş Değişiklikler",
|
"DialogUserProfileUnsavedChangesTitle": "Uyarı - Kaydedilmemiş Değişiklikler",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "Українська",
|
"Language": "Українська",
|
||||||
"MenuBarFileOpenApplet": "Відкрити аплет",
|
"MenuBarFileOpenApplet": "Відкрити аплет",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Відкрити аплет Mii Editor в автономному режимі",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "Відкрити аплет Mii Editor в автономному режимі",
|
||||||
"SettingsTabInputDirectMouseAccess": "Прямий доступ мишею",
|
"SettingsTabInputDirectMouseAccess": "Прямий доступ мишею",
|
||||||
"SettingsTabSystemMemoryManagerMode": "Режим диспетчера пам’яті:",
|
"SettingsTabSystemMemoryManagerMode": "Режим диспетчера пам’яті:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "Установити прошивку",
|
"MenuBarToolsInstallFirmware": "Установити прошивку",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "Установити прошивку з XCI або ZIP",
|
"MenuBarFileToolsInstallFirmwareFromFile": "Установити прошивку з XCI або ZIP",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "Установити прошивку з теки",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "Установити прошивку з теки",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "Керувати типами файлів",
|
"MenuBarToolsManageFileTypes": "Керувати типами файлів",
|
||||||
"MenuBarToolsInstallFileTypes": "Установити типи файлів",
|
"MenuBarToolsInstallFileTypes": "Установити типи файлів",
|
||||||
"MenuBarToolsUninstallFileTypes": "Видалити типи файлів",
|
"MenuBarToolsUninstallFileTypes": "Видалити типи файлів",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nВи хочете продовжити?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\nВи хочете продовжити?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Встановлення прошивки...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "Встановлення прошивки...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Версію системи {0} успішно встановлено.",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "Версію системи {0} успішно встановлено.",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "Якщо вибраний профіль буде видалено, інші профілі не відкриватимуться",
|
"DialogUserProfileDeletionWarningMessage": "Якщо вибраний профіль буде видалено, інші профілі не відкриватимуться",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "Ви хочете видалити вибраний профіль",
|
"DialogUserProfileDeletionConfirmMessage": "Ви хочете видалити вибраний профіль",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "Увага — Незбережені зміни",
|
"DialogUserProfileUnsavedChangesTitle": "Увага — Незбережені зміни",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "简体中文",
|
"Language": "简体中文",
|
||||||
"MenuBarFileOpenApplet": "打开小程序",
|
"MenuBarFileOpenApplet": "打开小程序",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "打开独立的 Mii 小程序",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "打开独立的 Mii 小程序",
|
||||||
"SettingsTabInputDirectMouseAccess": "直通鼠标操作",
|
"SettingsTabInputDirectMouseAccess": "直通鼠标操作",
|
||||||
"SettingsTabSystemMemoryManagerMode": "内存管理模式:",
|
"SettingsTabSystemMemoryManagerMode": "内存管理模式:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "安装系统固件",
|
"MenuBarToolsInstallFirmware": "安装系统固件",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "从 XCI 或 ZIP 文件中安装系统固件",
|
"MenuBarFileToolsInstallFirmwareFromFile": "从 XCI 或 ZIP 文件中安装系统固件",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "从文件夹中安装系统固件",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "从文件夹中安装系统固件",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "管理文件扩展名",
|
"MenuBarToolsManageFileTypes": "管理文件扩展名",
|
||||||
"MenuBarToolsInstallFileTypes": "关联文件扩展名",
|
"MenuBarToolsInstallFileTypes": "关联文件扩展名",
|
||||||
"MenuBarToolsUninstallFileTypes": "取消关联扩展名",
|
"MenuBarToolsUninstallFileTypes": "取消关联扩展名",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n是否继续?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n是否继续?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "安装系统固件中...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "安装系统固件中...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "成功安装系统固件版本 {0} 。",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "成功安装系统固件版本 {0} 。",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "删除后将没有可用的账户",
|
"DialogUserProfileDeletionWarningMessage": "删除后将没有可用的账户",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "是否删除所选账户",
|
"DialogUserProfileDeletionConfirmMessage": "是否删除所选账户",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "警告 - 有未保存的更改",
|
"DialogUserProfileUnsavedChangesTitle": "警告 - 有未保存的更改",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Language": "繁體中文 (台灣)",
|
"Language": "繁體中文 (台灣)",
|
||||||
"MenuBarFileOpenApplet": "開啟小程式",
|
"MenuBarFileOpenApplet": "開啟小程式",
|
||||||
|
"MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
|
||||||
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "在獨立模式下開啟 Mii 編輯器小程式",
|
"MenuBarFileOpenAppletOpenMiiAppletToolTip": "在獨立模式下開啟 Mii 編輯器小程式",
|
||||||
"SettingsTabInputDirectMouseAccess": "滑鼠直接存取",
|
"SettingsTabInputDirectMouseAccess": "滑鼠直接存取",
|
||||||
"SettingsTabSystemMemoryManagerMode": "記憶體管理員模式:",
|
"SettingsTabSystemMemoryManagerMode": "記憶體管理員模式:",
|
||||||
@@ -30,6 +31,9 @@
|
|||||||
"MenuBarToolsInstallFirmware": "安裝韌體",
|
"MenuBarToolsInstallFirmware": "安裝韌體",
|
||||||
"MenuBarFileToolsInstallFirmwareFromFile": "從 XCI 或 ZIP 安裝韌體",
|
"MenuBarFileToolsInstallFirmwareFromFile": "從 XCI 或 ZIP 安裝韌體",
|
||||||
"MenuBarFileToolsInstallFirmwareFromDirectory": "從資料夾安裝韌體",
|
"MenuBarFileToolsInstallFirmwareFromDirectory": "從資料夾安裝韌體",
|
||||||
|
"MenuBarToolsInstallKeys": "Install Keys",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
|
||||||
|
"MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
|
||||||
"MenuBarToolsManageFileTypes": "管理檔案類型",
|
"MenuBarToolsManageFileTypes": "管理檔案類型",
|
||||||
"MenuBarToolsInstallFileTypes": "安裝檔案類型",
|
"MenuBarToolsInstallFileTypes": "安裝檔案類型",
|
||||||
"MenuBarToolsUninstallFileTypes": "移除檔案類型",
|
"MenuBarToolsUninstallFileTypes": "移除檔案類型",
|
||||||
@@ -505,6 +509,13 @@
|
|||||||
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n您確定要繼續嗎?",
|
"DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n您確定要繼續嗎?",
|
||||||
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "正在安裝韌體...",
|
"DialogFirmwareInstallerFirmwareInstallWaitMessage": "正在安裝韌體...",
|
||||||
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "成功安裝系統版本 {0}。",
|
"DialogFirmwareInstallerFirmwareInstallSuccessMessage": "成功安裝系統版本 {0}。",
|
||||||
|
"DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
|
||||||
|
"DialogKeysInstallerKeysInstallTitle": "Install Keys",
|
||||||
|
"DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
|
||||||
|
"DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
|
||||||
|
"DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
|
||||||
|
"DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
|
||||||
|
"DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
|
||||||
"DialogUserProfileDeletionWarningMessage": "如果刪除選取的設定檔,將無法開啟其他設定檔",
|
"DialogUserProfileDeletionWarningMessage": "如果刪除選取的設定檔,將無法開啟其他設定檔",
|
||||||
"DialogUserProfileDeletionConfirmMessage": "您是否要刪除所選設定檔",
|
"DialogUserProfileDeletionConfirmMessage": "您是否要刪除所選設定檔",
|
||||||
"DialogUserProfileUnsavedChangesTitle": "警告 - 未儲存的變更",
|
"DialogUserProfileUnsavedChangesTitle": "警告 - 未儲存的變更",
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
<TieredPGO>true</TieredPGO>
|
<TieredPGO>true</TieredPGO>
|
||||||
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
||||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOSPlatform('OSX'))">
|
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOSPlatform('OSX'))">
|
||||||
|
|||||||
@@ -1271,6 +1271,108 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task HandleKeysInstallation(string filename)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string systemDirectory = AppDataManager.KeysDirPath;
|
||||||
|
if (AppDataManager.Mode == AppDataManager.LaunchMode.UserProfile && Directory.Exists(AppDataManager.KeysDirPathUser))
|
||||||
|
{
|
||||||
|
systemDirectory = AppDataManager.KeysDirPathUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
string dialogTitle = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallTitle);
|
||||||
|
string dialogMessage = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallMessage);
|
||||||
|
|
||||||
|
bool alreadyKesyInstalled = ContentManager.AreKeysAlredyPresent(systemDirectory);
|
||||||
|
if (alreadyKesyInstalled)
|
||||||
|
{
|
||||||
|
dialogMessage += LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallSubMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
dialogMessage += LocaleManager.Instance[LocaleKeys.DialogKeysInstallerKeysInstallConfirmMessage];
|
||||||
|
|
||||||
|
UserResult result = await ContentDialogHelper.CreateConfirmationDialog(
|
||||||
|
dialogTitle,
|
||||||
|
dialogMessage,
|
||||||
|
LocaleManager.Instance[LocaleKeys.InputDialogYes],
|
||||||
|
LocaleManager.Instance[LocaleKeys.InputDialogNo],
|
||||||
|
LocaleManager.Instance[LocaleKeys.RyujinxConfirm]);
|
||||||
|
|
||||||
|
UpdateWaitWindow waitingDialog = new(dialogTitle, LocaleManager.Instance[LocaleKeys.DialogKeysInstallerKeysInstallWaitMessage]);
|
||||||
|
|
||||||
|
if (result == UserResult.Yes)
|
||||||
|
{
|
||||||
|
Logger.Info?.Print(LogClass.Application, $"Installing Keys");
|
||||||
|
|
||||||
|
Thread thread = new(() =>
|
||||||
|
{
|
||||||
|
Dispatcher.UIThread.InvokeAsync(delegate
|
||||||
|
{
|
||||||
|
waitingDialog.Show();
|
||||||
|
});
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ContentManager.InstallKeys(filename, systemDirectory);
|
||||||
|
|
||||||
|
Dispatcher.UIThread.InvokeAsync(async delegate
|
||||||
|
{
|
||||||
|
waitingDialog.Close();
|
||||||
|
|
||||||
|
string message = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysInstallSuccessMessage);
|
||||||
|
|
||||||
|
await ContentDialogHelper.CreateInfoDialog(
|
||||||
|
dialogTitle,
|
||||||
|
message,
|
||||||
|
LocaleManager.Instance[LocaleKeys.InputDialogOk],
|
||||||
|
string.Empty,
|
||||||
|
LocaleManager.Instance[LocaleKeys.RyujinxInfo]);
|
||||||
|
|
||||||
|
Logger.Info?.Print(LogClass.Application, message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Dispatcher.UIThread.InvokeAsync(async () =>
|
||||||
|
{
|
||||||
|
waitingDialog.Close();
|
||||||
|
|
||||||
|
string message = ex.Message;
|
||||||
|
if(ex is FormatException)
|
||||||
|
{
|
||||||
|
message = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogKeysInstallerKeysNotFoundErrorMessage, filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
await ContentDialogHelper.CreateErrorDialog(message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
VirtualFileSystem.ReloadKeySet();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
{
|
||||||
|
Name = "GUI.KeysInstallerThread",
|
||||||
|
};
|
||||||
|
|
||||||
|
thread.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (MissingKeyException ex)
|
||||||
|
{
|
||||||
|
if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime)
|
||||||
|
{
|
||||||
|
Logger.Error?.Print(LogClass.Application, ex.ToString());
|
||||||
|
|
||||||
|
await UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
await ContentDialogHelper.CreateErrorDialog(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
private void ProgressHandler<T>(T state, int current, int total) where T : Enum
|
private void ProgressHandler<T>(T state, int current, int total) where T : Enum
|
||||||
{
|
{
|
||||||
Dispatcher.UIThread.Post(() =>
|
Dispatcher.UIThread.Post(() =>
|
||||||
@@ -1559,6 +1661,53 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task InstallKeysFromFile()
|
||||||
|
{
|
||||||
|
var result = await StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||||
|
{
|
||||||
|
AllowMultiple = false,
|
||||||
|
FileTypeFilter = new List<FilePickerFileType>
|
||||||
|
{
|
||||||
|
new(LocaleManager.Instance[LocaleKeys.FileDialogAllTypes])
|
||||||
|
{
|
||||||
|
Patterns = new[] { "*.keys", "*.zip" },
|
||||||
|
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.xci", "public.zip-archive" },
|
||||||
|
MimeTypes = new[] { "application/keys", "application/zip" },
|
||||||
|
},
|
||||||
|
new("KEYS")
|
||||||
|
{
|
||||||
|
Patterns = new[] { "*.keys" },
|
||||||
|
AppleUniformTypeIdentifiers = new[] { "com.ryujinx.xci" },
|
||||||
|
MimeTypes = new[] { "application/keys" },
|
||||||
|
},
|
||||||
|
new("ZIP")
|
||||||
|
{
|
||||||
|
Patterns = new[] { "*.zip" },
|
||||||
|
AppleUniformTypeIdentifiers = new[] { "public.zip-archive" },
|
||||||
|
MimeTypes = new[] { "application/zip" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.Count > 0)
|
||||||
|
{
|
||||||
|
await HandleKeysInstallation(result[0].Path.LocalPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task InstallKeysFromFolder()
|
||||||
|
{
|
||||||
|
var result = await StorageProvider.OpenFolderPickerAsync(new FolderPickerOpenOptions
|
||||||
|
{
|
||||||
|
AllowMultiple = false,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.Count > 0)
|
||||||
|
{
|
||||||
|
await HandleKeysInstallation(result[0].Path.LocalPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void OpenRyujinxFolder()
|
public void OpenRyujinxFolder()
|
||||||
{
|
{
|
||||||
OpenHelper.OpenFolder(AppDataManager.BaseDirPath);
|
OpenHelper.OpenFolder(AppDataManager.BaseDirPath);
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
<MenuItem Header="{ext:Locale MenuBarFileOpenApplet}" IsEnabled="{Binding IsAppletMenuActive}" Icon="{ext:Icon mdi-launch}">
|
<MenuItem Header="{ext:Locale MenuBarFileOpenApplet}" IsEnabled="{Binding IsAppletMenuActive}" Icon="{ext:Icon mdi-launch}">
|
||||||
<MenuItem
|
<MenuItem
|
||||||
Click="OpenMiiApplet"
|
Click="OpenMiiApplet"
|
||||||
Header="Mii Edit Applet"
|
Header="{ext:Locale MenuBarFileOpenAppletOpenMiiApplet}"
|
||||||
Icon="{ext:Icon fa-solid fa-person}"
|
Icon="{ext:Icon fa-solid fa-person}"
|
||||||
ToolTip.Tip="{ext:Locale MenuBarFileOpenAppletOpenMiiAppletToolTip}" />
|
ToolTip.Tip="{ext:Locale MenuBarFileOpenAppletOpenMiiAppletToolTip}" />
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
@@ -260,6 +260,10 @@
|
|||||||
IsEnabled="{Binding IsGameRunning}" />
|
IsEnabled="{Binding IsGameRunning}" />
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarTools}">
|
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarTools}">
|
||||||
|
<MenuItem Header="{ext:Locale MenuBarToolsInstallKeys}" Icon="{ext:Icon fa-solid fa-key}" IsEnabled="{Binding EnableNonGameRunningControls}">
|
||||||
|
<MenuItem Command="{Binding InstallKeysFromFile}" Header="{ext:Locale MenuBarFileToolsInstallKeysFromFile}" Icon="{ext:Icon mdi-file-cog}" />
|
||||||
|
<MenuItem Command="{Binding InstallKeysFromFolder}" Header="{ext:Locale MenuBarFileToolsInstallKeysFromFolder}" Icon="{ext:Icon mdi-folder-cog}" />
|
||||||
|
</MenuItem>
|
||||||
<MenuItem Header="{ext:Locale MenuBarToolsInstallFirmware}" Icon="{ext:Icon fa-solid fa-download}" IsEnabled="{Binding EnableNonGameRunningControls}">
|
<MenuItem Header="{ext:Locale MenuBarToolsInstallFirmware}" Icon="{ext:Icon fa-solid fa-download}" IsEnabled="{Binding EnableNonGameRunningControls}">
|
||||||
<MenuItem Command="{Binding InstallFirmwareFromFile}" Header="{ext:Locale MenuBarFileToolsInstallFirmwareFromFile}" Icon="{ext:Icon mdi-file-cog}" />
|
<MenuItem Command="{Binding InstallFirmwareFromFile}" Header="{ext:Locale MenuBarFileToolsInstallFirmwareFromFile}" Icon="{ext:Icon mdi-file-cog}" />
|
||||||
<MenuItem Command="{Binding InstallFirmwareFromFolder}" Header="{ext:Locale MenuBarFileToolsInstallFirmwareFromDirectory}" Icon="{ext:Icon mdi-folder-cog}" />
|
<MenuItem Command="{Binding InstallFirmwareFromFolder}" Header="{ext:Locale MenuBarFileToolsInstallFirmwareFromDirectory}" Icon="{ext:Icon mdi-folder-cog}" />
|
||||||
|
|||||||
@@ -109,7 +109,6 @@
|
|||||||
HorizontalAlignment="Right"
|
HorizontalAlignment="Right"
|
||||||
ReverseOrder="{Binding IsMacOS}">
|
ReverseOrder="{Binding IsMacOS}">
|
||||||
<Button
|
<Button
|
||||||
HotKey="Enter"
|
|
||||||
Classes="accent"
|
Classes="accent"
|
||||||
Content="{ext:Locale SettingsButtonOk}"
|
Content="{ext:Locale SettingsButtonOk}"
|
||||||
Command="{Binding OkButton}" />
|
Command="{Binding OkButton}" />
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);._*</DefaultItemExcludes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
Reference in New Issue
Block a user