From bc9b64cc9c2ad04e437db99bdc478c9d7bd90824 Mon Sep 17 00:00:00 2001 From: Lamparter <71598437+Lamparter@users.noreply.github.com> Date: Wed, 27 Aug 2025 21:38:01 +0100 Subject: [PATCH 1/2] Add WebView package --- Directory.Packages.props | 1 + src/Ryujinx/Ryujinx.csproj | 1 + 2 files changed, 2 insertions(+) diff --git a/Directory.Packages.props b/Directory.Packages.props index 78f9acd59..e34374837 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -58,5 +58,6 @@ + diff --git a/src/Ryujinx/Ryujinx.csproj b/src/Ryujinx/Ryujinx.csproj index 480d14781..78bef21c0 100644 --- a/src/Ryujinx/Ryujinx.csproj +++ b/src/Ryujinx/Ryujinx.csproj @@ -74,6 +74,7 @@ + From 95347ef9a6b17def1134ea236bb5fd838289db89 Mon Sep 17 00:00:00 2001 From: Lamparter <71598437+Lamparter@users.noreply.github.com> Date: Fri, 29 Aug 2025 10:27:41 +0100 Subject: [PATCH 2/2] Move system language to language key helper --- .../HOS/Applets/Error/ErrorApplet.cs | 32 ++--------------- .../Utilities/GlobalizationUtils.cs | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+), 30 deletions(-) create mode 100644 src/Ryujinx.HLE/Utilities/GlobalizationUtils.cs 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 + }; + } + } +}