From 700c802378fbd58c64f7f35fc9025dd499c9d135 Mon Sep 17 00:00:00 2001 From: Aireil <33433913+Aireil@users.noreply.github.com> Date: Wed, 25 Nov 2020 23:00:49 +0100 Subject: [PATCH] Localized languages in settings --- Dalamud/Interface/DalamudSettingsWindow.cs | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Dalamud/Interface/DalamudSettingsWindow.cs b/Dalamud/Interface/DalamudSettingsWindow.cs index 3a964fcb5..9e56addf5 100644 --- a/Dalamud/Interface/DalamudSettingsWindow.cs +++ b/Dalamud/Interface/DalamudSettingsWindow.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; @@ -41,13 +42,30 @@ namespace Dalamud.Interface else { this.langIndex = Array.IndexOf(this.languages, this.dalamud.Configuration.LanguageOverride); } + } catch (Exception) { + this.langIndex = 0; + } + + try { + List locLanguagesList = new List(); + string locLanguage; + foreach (var language in this.languages) { + if (language != "ko") { + locLanguage = CultureInfo.GetCultureInfo(language).NativeName; + locLanguagesList.Add(char.ToUpper(locLanguage[0]) + locLanguage.Substring(1)); + } else { + locLanguagesList.Add("Korean"); + } + } + this.locLanguages = locLanguagesList.ToArray(); } catch (Exception) { - this.langIndex = 0; + this.locLanguages = this.languages; // Languages not localized, only codes. } } private string[] languages; + private string[] locLanguages; private int langIndex; private string[] chatTypes; @@ -88,8 +106,8 @@ namespace Dalamud.Interface if (ImGui.BeginTabBar("SetTabBar")) { if (ImGui.BeginTabItem(Loc.Localize("DalamudSettingsGeneral", "General"))) { ImGui.Text(Loc.Localize("DalamudSettingsLanguage","Language")); - ImGui.Combo("##XlLangCombo", ref this.langIndex, this.languages, - this.languages.Length); + ImGui.Combo("##XlLangCombo", ref this.langIndex, this.locLanguages, + this.locLanguages.Length); ImGui.TextColored(this.hintTextColor, Loc.Localize("DalamudSettingsLanguageHint", "Select the language Dalamud will be displayed in.")); ImGui.Dummy(new Vector2(5f, 5f) * ImGui.GetIO().FontGlobalScale);