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 @@ +