UI: Fix bug where Language detection could fail to happen (#796)
This commit is contained in:
parent
cfc5bf6976
commit
d400842e98
1 changed files with 24 additions and 12 deletions
|
@ -37,6 +37,10 @@ namespace Mesen.GUI.Forms
|
|||
|
||||
public static Language GetCurrentLanguage()
|
||||
{
|
||||
if (_language == Language.SystemDefault)
|
||||
{
|
||||
_language = DetectLanguage();
|
||||
}
|
||||
return _language;
|
||||
}
|
||||
|
||||
|
@ -66,18 +70,7 @@ namespace Mesen.GUI.Forms
|
|||
public static void LoadResources(Language language)
|
||||
{
|
||||
if(language == Language.SystemDefault) {
|
||||
switch(System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName) {
|
||||
default:
|
||||
case "en": language = Language.English; break;
|
||||
case "fr": language = Language.French; break;
|
||||
case "ja": language = Language.Japanese; break;
|
||||
case "ru": language = Language.Russian; break;
|
||||
case "es": language = Language.Spanish; break;
|
||||
case "uk": language = Language.Ukrainian; break;
|
||||
case "pt": language = Language.Portuguese; break;
|
||||
case "zh": language = Language.Chinese; break;
|
||||
case "it": language = Language.Italian; break;
|
||||
}
|
||||
language = DetectLanguage();
|
||||
}
|
||||
|
||||
string filename;
|
||||
|
@ -107,6 +100,25 @@ namespace Mesen.GUI.Forms
|
|||
}
|
||||
}
|
||||
|
||||
private static Language DetectLanguage()
|
||||
{
|
||||
Language language = Language.SystemDefault;
|
||||
switch (System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName)
|
||||
{
|
||||
default:
|
||||
case "en": language = Language.English; break;
|
||||
case "fr": language = Language.French; break;
|
||||
case "ja": language = Language.Japanese; break;
|
||||
case "ru": language = Language.Russian; break;
|
||||
case "es": language = Language.Spanish; break;
|
||||
case "uk": language = Language.Ukrainian; break;
|
||||
case "pt": language = Language.Portuguese; break;
|
||||
case "zh": language = Language.Chinese; break;
|
||||
case "it": language = Language.Italian; break;
|
||||
}
|
||||
return language;
|
||||
}
|
||||
|
||||
public static string GetMessage(string id, params object[] args)
|
||||
{
|
||||
var baseNode = _resources.SelectSingleNode("/Resources/Messages/Message[@ID='" + id + "']");
|
||||
|
|
Loading…
Add table
Reference in a new issue