diff options
| author | WilliamWsyHK <WilliamWsyHK@users.noreply.github.com> | 2018-12-27 23:08:34 +0800 |
|---|---|---|
| committer | emmauss <emmausssss@gmail.com> | 2018-12-27 17:08:34 +0200 |
| commit | 5b029ae7a2baea780b3dec01b7c96ef060534271 (patch) | |
| tree | a36a875cec49bcfade33b03c9e6ab9b74d137cdf | |
| parent | 5d14040e66b2fd70f9cbfdde7a45ba9dab49418d (diff) | |
System Language can be configurable. (#535)
| -rw-r--r-- | Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs | 17 | ||||
| -rw-r--r-- | Ryujinx/Config.cs | 5 | ||||
| -rw-r--r-- | Ryujinx/Ryujinx.conf | 4 |
3 files changed, 23 insertions, 3 deletions
diff --git a/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs b/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs index 74513795..d1d54d0e 100644 --- a/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs +++ b/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs @@ -54,8 +54,6 @@ namespace Ryujinx.HLE.HOS.SystemState public SystemStateMgr() { - SetLanguage(SystemLanguage.AmericanEnglish); - SetAudioOutputAsBuiltInSpeaker(); _profiles = new ConcurrentDictionary<string, UserProfile>(); @@ -71,7 +69,20 @@ namespace Ryujinx.HLE.HOS.SystemState { DesiredLanguageCode = GetLanguageCode((int)language); - DesiredTitleLanguage = Enum.Parse<TitleLanguage>(Enum.GetName(typeof(SystemLanguage), language)); + switch (language) + { + case SystemLanguage.Taiwanese: + case SystemLanguage.TraditionalChinese: + DesiredTitleLanguage = TitleLanguage.Taiwanese; + break; + case SystemLanguage.Chinese: + case SystemLanguage.SimplifiedChinese: + DesiredTitleLanguage = TitleLanguage.Chinese; + break; + default: + DesiredTitleLanguage = Enum.Parse<TitleLanguage>(Enum.GetName(typeof(SystemLanguage), language)); + break; + } } public void SetAudioOutputAsTv() diff --git a/Ryujinx/Config.cs b/Ryujinx/Config.cs index 216ed0a5..e7b346ea 100644 --- a/Ryujinx/Config.cs +++ b/Ryujinx/Config.cs @@ -1,6 +1,7 @@ using LibHac; using Ryujinx.Common.Logging; using Ryujinx.HLE; +using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.Input; using Ryujinx.UI.Input; using System; @@ -61,6 +62,10 @@ namespace Ryujinx } } + SystemLanguage SetLanguage = Enum.Parse<SystemLanguage>(parser.Value("System_Language")); + + device.System.State.SetLanguage(SetLanguage); + device.System.State.DockedMode = Convert.ToBoolean(parser.Value("Docked_Mode")); device.EnableDeviceVsync = Convert.ToBoolean(parser.Value("Enable_Vsync")); diff --git a/Ryujinx/Ryujinx.conf b/Ryujinx/Ryujinx.conf index 5b646a2a..c04d7b5a 100644 --- a/Ryujinx/Ryujinx.conf +++ b/Ryujinx/Ryujinx.conf @@ -22,6 +22,10 @@ Logging_Enable_Error = true #Filtered log classes, seperated by ", ", eg. `Logging_Filtered_Classes = Loader, ServiceFS` Logging_Filtered_Classes = +#System Language list: https://gist.github.com/HorrorTroll/b6e4a88d774c3c9b3bdf54d79a7ca43b +#Change System Language +System_Language = AmericanEnglish + #Enable or Disable Docked Mode Docked_Mode = false |
