private static void InitializeCoreStrings() { var lang = Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.Substring(0, 2); LocalizationUtil.SetLocalization(typeof(LegalityCheckStrings), lang); LocalizationUtil.SetLocalization(typeof(MessageStrings), lang); RibbonStrings.ResetDictionary(GameInfo.Strings.ribbons); ParseSettings.ChangeLocalizationStrings(GameInfo.Strings.movelist, GameInfo.Strings.specieslist); }
private static void DumpStrings(Type t, bool sorted, params string[] rel) { var dir = GetResourcePath(rel); var langs = new[] { DefaultLanguage }.Concat(Languages); foreach (var lang in langs) { LocalizationUtil.SetLocalization(t, lang); var entries = LocalizationUtil.GetLocalization(t); IEnumerable <string> export = entries.OrderBy(GetName); // sorted lines
/// <summary> /// Initializes PKHeX's runtime strings to the specified language. /// </summary> /// <param name="lang">2-char language ID</param> /// <param name="sav">Save data (optional)</param> /// <param name="hax">Permit illegal things (items, only)</param> public static void InitializeStrings(string lang, SaveFile?sav = null, bool hax = false) { var str = GameInfo.Strings = GameInfo.GetStrings(lang); if (sav != null) { GameInfo.FilteredSources = new FilteredGameDataSource(sav, GameInfo.Sources, hax); } // Update Legality Analysis strings ParseSettings.ChangeLocalizationStrings(str.movelist, str.specieslist); // Update Legality Strings Task.Run(() => { RibbonStrings.ResetDictionary(str.ribbons); LocalizationUtil.SetLocalization(typeof(LegalityCheckStrings), lang); LocalizationUtil.SetLocalization(typeof(MessageStrings), lang); }); }
private static void DumpStrings(Type t, bool sorted, params string[] rel) { var dir = GetResourcePath(rel); var langs = new[] { DefaultLanguage }.Concat(Languages); foreach (var lang in langs) { LocalizationUtil.SetLocalization(t, lang); var entries = LocalizationUtil.GetLocalization(t); var export = entries.Select(z => new { Variable = z.Split('=')[0], Line = z }) .OrderBy(z => z.Variable) // sort by length (V1 = 2, V100 = 4) .Select(z => z.Line); // sorted lines if (!sorted) { export = entries; } var location = GetFileLocationInText(t.Name, dir, lang); File.WriteAllLines(location, export); LocalizationUtil.SetLocalization(t, DefaultLanguage); } }