Skip to content

Commit 2d58a88

Browse files
authored
Merge pull request #534 from krzychu124/533-game-lang-3rd-party-lang-mod
Game language detection fix - modded language
2 parents 0119259 + 92c5bac commit 2d58a88

File tree

1 file changed

+30
-22
lines changed

1 file changed

+30
-22
lines changed

TLM/TLM/UI/Localization/Translation.cs

+30-22
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
// ReSharper disable once CheckNamespace
22
namespace TrafficManager.UI {
3-
using System;
43
using System.Collections.Generic;
5-
using System.Diagnostics;
6-
using System.IO;
74
using System.Linq;
85
using System.Reflection;
9-
using System.Text;
106
using ColossalFramework;
117
using ColossalFramework.Globalization;
128
using CSUtil.Commons;
13-
using JetBrains.Annotations;
149
using State;
1510

1611
/// <summary>
@@ -141,22 +136,7 @@ public static string GetTranslatedFileName(string filename) {
141136
/// <param name="filename">Filename to translate</param>
142137
/// <returns>Filename with language inserted before extension</returns>
143138
public static string GetTranslatedFileName(string filename, string language) {
144-
switch (language) {
145-
case "jaex": {
146-
language = "ja";
147-
break;
148-
}
149-
150-
case "zh-cn": {
151-
language = "zh";
152-
break;
153-
}
154-
155-
case "kr": {
156-
language = "ko";
157-
break;
158-
}
159-
}
139+
language = GetValidLanguageId(language);
160140

161141
string translatedFilename = filename;
162142
if (language != DEFAULT_LANGUAGE_CODE) {
@@ -189,11 +169,39 @@ public static string GetTranslatedFileName(string filename, string language) {
189169
return filename;
190170
}
191171

172+
private static string GetValidLanguageId(string language) {
173+
if (AvailableLanguageCodes.Contains(language))
174+
return language;
175+
176+
switch (language) {
177+
case "jaex": {
178+
language = "ja";
179+
break;
180+
}
181+
182+
case "zh-cn": {
183+
language = "zh";
184+
break;
185+
}
186+
187+
case "kr": {
188+
language = "ko";
189+
break;
190+
}
191+
192+
default:
193+
language = "en";
194+
break;
195+
}
196+
197+
return language;
198+
}
199+
192200
internal static string GetCurrentLanguage() {
193201
string lang = GlobalConfig.Instance.LanguageCode;
194202

195203
// Having language code null means use the game language
196-
return lang ?? LocaleManager.instance.language;
204+
return lang ?? GetValidLanguageId(LocaleManager.instance.language);
197205
}
198206

199207
public void ReloadTutorialTranslations() {

0 commit comments

Comments
 (0)