aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliamWsyHK <WilliamWsyHK@users.noreply.github.com>2018-12-27 23:08:34 +0800
committeremmauss <emmausssss@gmail.com>2018-12-27 17:08:34 +0200
commit5b029ae7a2baea780b3dec01b7c96ef060534271 (patch)
treea36a875cec49bcfade33b03c9e6ab9b74d137cdf
parent5d14040e66b2fd70f9cbfdde7a45ba9dab49418d (diff)
System Language can be configurable. (#535)
-rw-r--r--Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs17
-rw-r--r--Ryujinx/Config.cs5
-rw-r--r--Ryujinx/Ryujinx.conf4
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