From 3e11e928287bc3441e95ea771bfe9cd88d782075 Mon Sep 17 00:00:00 2001 From: qq1176321897 <1176321897@qq.com> Date: Sun, 6 Oct 2019 22:33:34 +0800 Subject: [PATCH 1/2] fix initialization of EnglishLanguage --- TShockAPI/Localization/EnglishLanguage.cs | 50 ++++++++--------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/TShockAPI/Localization/EnglishLanguage.cs b/TShockAPI/Localization/EnglishLanguage.cs index 43169c26a..d36379505 100644 --- a/TShockAPI/Localization/EnglishLanguage.cs +++ b/TShockAPI/Localization/EnglishLanguage.cs @@ -37,40 +37,22 @@ public static class EnglishLanguage internal static void Initialize() { -// var culture = Language.ActiveCulture; -// -// var skip = culture == GameCulture.FromCultureName(GameCulture.CultureName.English); -// -// try -// { -// if (!skip) -// { -// LanguageManager.Instance.SetLanguage(GameCulture.FromCultureName(GameCulture.CultureName.English)); -// } -// -// for (var i = -48; i < Main.maxItemTypes; i++) -// { -// ItemNames.Add(i, Lang.GetItemNameValue(i)); -// } -// -// for (var i = -17; i < Main.maxNPCTypes; i++) -// { -// NpcNames.Add(i, Lang.GetNPCNameValue(i)); -// } -// -// foreach (var field in typeof(Main).Assembly.GetType("Terraria.ID.PrefixID") -// .GetFields().Where(f => !f.Name.Equals("Count", StringComparison.Ordinal))) -// { -// Prefixs.Add((int) field.GetValue(null), field.Name); -// } -// } -// finally -// { -// if (!skip) -// { -// LanguageManager.Instance.SetLanguage(culture); -// } -// } + LanguageManager.Instance.SetLanguage("en-US"); + Lang.InitializeLegacyLocalization(); + for (int i = -48; i < 3930; i++) + { + EnglishLanguage.ItemNames.Add(i, Lang.GetItemNameValue(i)); + } + for (int j = -17; j < 580; j++) + { + EnglishLanguage.NpcNames.Add(j, Lang.GetNPCNameValue(j)); + } + foreach (FieldInfo fieldInfo in from f in typeof(Main).Assembly.GetType("Terraria.ID.PrefixID").GetFields() + where !f.Name.Equals("Count", StringComparison.Ordinal) + select f) + { + EnglishLanguage.Prefixs.Add((int)fieldInfo.GetValue(null), fieldInfo.Name); + } } /// From cdaed61e529963d81860eba0edb3eef69675a326 Mon Sep 17 00:00:00 2001 From: qq1176321897 <1176321897@qq.com> Date: Sun, 6 Oct 2019 22:50:58 +0800 Subject: [PATCH 2/2] fix compilation issues --- TShockAPI/Localization/EnglishLanguage.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/TShockAPI/Localization/EnglishLanguage.cs b/TShockAPI/Localization/EnglishLanguage.cs index d36379505..ab8a9e320 100644 --- a/TShockAPI/Localization/EnglishLanguage.cs +++ b/TShockAPI/Localization/EnglishLanguage.cs @@ -16,11 +16,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -using System; +using System; using System.Collections.Generic; using System.Linq; using Terraria; using Terraria.Localization; +using System.Reflection; + namespace TShockAPI.Localization { @@ -47,12 +49,12 @@ internal static void Initialize() { EnglishLanguage.NpcNames.Add(j, Lang.GetNPCNameValue(j)); } - foreach (FieldInfo fieldInfo in from f in typeof(Main).Assembly.GetType("Terraria.ID.PrefixID").GetFields() - where !f.Name.Equals("Count", StringComparison.Ordinal) - select f) - { - EnglishLanguage.Prefixs.Add((int)fieldInfo.GetValue(null), fieldInfo.Name); - } + foreach (FieldInfo fieldInfo in typeof(Main).Assembly.GetType("Terraria.ID.PrefixID").GetFields()) + if (!fieldInfo.Name.Equals("Count", StringComparison.Ordinal)) + { + EnglishLanguage.Prefixs.Add((int)fieldInfo.GetValue(null), fieldInfo.Name); + } + } ///