diff --git a/Directory.Packages.props b/Directory.Packages.props
index b2a838496..2d7bf324f 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -58,5 +58,6 @@
+
\ No newline at end of file
diff --git a/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs b/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs
index 4c54b4666..9ef47bdd6 100644
--- a/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs
@@ -8,7 +8,7 @@ using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Common.Helper;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Services.Am.AppletAE;
-using Ryujinx.HLE.HOS.SystemState;
+using Ryujinx.HLE.Utilities;
using System;
using System.Collections.Generic;
using System.IO;
@@ -74,34 +74,6 @@ namespace Ryujinx.HLE.HOS.Applets.Error
return ((resultCode & 0x1FF) + 2000, (resultCode >> 9) & 0x3FFF);
}
- private static string SystemLanguageToLanguageKey(SystemLanguage systemLanguage)
- {
- return systemLanguage switch
- {
-#pragma warning disable IDE0055 // Disable formatting
- SystemLanguage.Japanese => "ja",
- SystemLanguage.AmericanEnglish => "en-US",
- SystemLanguage.French => "fr",
- SystemLanguage.German => "de",
- SystemLanguage.Italian => "it",
- SystemLanguage.Spanish => "es",
- SystemLanguage.Chinese => "zh-Hans",
- SystemLanguage.Korean => "ko",
- SystemLanguage.Dutch => "nl",
- SystemLanguage.Portuguese => "pt",
- SystemLanguage.Russian => "ru",
- SystemLanguage.Taiwanese => "zh-HansT",
- SystemLanguage.BritishEnglish => "en-GB",
- SystemLanguage.CanadianFrench => "fr-CA",
- SystemLanguage.LatinAmericanSpanish => "es-419",
- SystemLanguage.SimplifiedChinese => "zh-Hans",
- SystemLanguage.TraditionalChinese => "zh-Hant",
- SystemLanguage.BrazilianPortuguese => "pt-BR",
- _ => "en-US",
-#pragma warning restore IDE0055
- };
- }
-
private static string CleanText(string value)
{
return Patterns.CleanText.Replace(value, string.Empty).Replace("\0", string.Empty);
@@ -114,7 +86,7 @@ namespace Ryujinx.HLE.HOS.Applets.Error
using LibHac.Fs.IStorage ncaFileStream = new LocalStorage(FileSystem.VirtualFileSystem.SwitchPathToSystemPath(binaryTitleContentPath), FileAccess.Read, FileMode.Open);
Nca nca = new(_horizon.Device.FileSystem.KeySet, ncaFileStream);
IFileSystem romfs = nca.OpenFileSystem(NcaSectionType.Data, _horizon.FsIntegrityCheckLevel);
- string languageCode = SystemLanguageToLanguageKey(_horizon.State.DesiredSystemLanguage);
+ string languageCode = GlobalizationUtils.SystemLanguageToLanguageKey(_horizon.State.DesiredSystemLanguage);
string filePath = $"/{module}/{description:0000}/{languageCode}_{key}";
if (romfs.FileExists(filePath))
diff --git a/src/Ryujinx.HLE/Utilities/GlobalizationUtils.cs b/src/Ryujinx.HLE/Utilities/GlobalizationUtils.cs
new file mode 100644
index 000000000..1dd0df205
--- /dev/null
+++ b/src/Ryujinx.HLE/Utilities/GlobalizationUtils.cs
@@ -0,0 +1,35 @@
+using Ryujinx.HLE.HOS.SystemState;
+
+namespace Ryujinx.HLE.Utilities
+{
+ static class GlobalizationUtils
+ {
+ public static string SystemLanguageToLanguageKey(SystemLanguage systemLanguage)
+ {
+ return systemLanguage switch
+ {
+#pragma warning disable IDE0055 // Disable formatting
+ SystemLanguage.Japanese => "ja",
+ SystemLanguage.AmericanEnglish => "en-US",
+ SystemLanguage.French => "fr",
+ SystemLanguage.German => "de",
+ SystemLanguage.Italian => "it",
+ SystemLanguage.Spanish => "es",
+ SystemLanguage.Chinese => "zh-Hans",
+ SystemLanguage.Korean => "ko",
+ SystemLanguage.Dutch => "nl",
+ SystemLanguage.Portuguese => "pt",
+ SystemLanguage.Russian => "ru",
+ SystemLanguage.Taiwanese => "zh-HansT",
+ SystemLanguage.BritishEnglish => "en-GB",
+ SystemLanguage.CanadianFrench => "fr-CA",
+ SystemLanguage.LatinAmericanSpanish => "es-419",
+ SystemLanguage.SimplifiedChinese => "zh-Hans",
+ SystemLanguage.TraditionalChinese => "zh-Hant",
+ SystemLanguage.BrazilianPortuguese => "pt-BR",
+ _ => "en-US",
+#pragma warning restore IDE0055
+ };
+ }
+ }
+}
diff --git a/src/Ryujinx/Ryujinx.csproj b/src/Ryujinx/Ryujinx.csproj
index 3d40ae64e..5050acf17 100644
--- a/src/Ryujinx/Ryujinx.csproj
+++ b/src/Ryujinx/Ryujinx.csproj
@@ -74,6 +74,7 @@
+