diff --git a/PKHeX.Core/Game/GameStrings/GameInfo.cs b/PKHeX.Core/Game/GameStrings/GameInfo.cs index b3bb2437e..561ae39ee 100644 --- a/PKHeX.Core/Game/GameStrings/GameInfo.cs +++ b/PKHeX.Core/Game/GameStrings/GameInfo.cs @@ -52,6 +52,13 @@ public static string[] GetStrings(string ident, string lang, string type = "text return data; } + public static string GetVersionName(GameVersion version) + { + var list = (List) VersionDataSource; + var first = list.Find(z => z.Value == (int) version); + return first.Equals(default(ComboItem)) ? version.ToString() : first.Text; + } + // DataSource providing public static IReadOnlyList ItemDataSource => Strings.ItemDataSource; public static IReadOnlyList SpeciesDataSource => Strings.SpeciesDataSource; diff --git a/PKHeX.WinForms/MainWindow/Main.cs b/PKHeX.WinForms/MainWindow/Main.cs index 3e9d19557..5c2dd70e7 100644 --- a/PKHeX.WinForms/MainWindow/Main.cs +++ b/PKHeX.WinForms/MainWindow/Main.cs @@ -797,10 +797,11 @@ private static string GetProgramTitle() private static string GetProgramTitle(SaveFile sav) { string title = GetProgramTitle() + $" - {sav.GetType().Name}: "; + var ver = GameInfo.GetVersionName(sav.Version); if (Settings.Default.HideSAVDetails) - return title + $"[{sav.Version}]"; + return title + $"[{ver}]"; if (!sav.Exportable) // Blank save file - return title + $"{sav.FileName} [{sav.OT} ({sav.Version})]"; + return title + $"{sav.FileName} [{sav.OT} ({ver})]"; return title + Path.GetFileNameWithoutExtension(Util.CleanFileName(sav.BAKName)); // more descriptive } @@ -857,8 +858,8 @@ private static bool SanityCheckSAV(ref SaveFile sav) } else if (sav.Version == GameVersion.FRLG) // IndeterminateSubVersion { - string fr = GameInfo.VersionDataSource.First(r => r.Value == (int) GameVersion.FR).Text; - string lg = GameInfo.VersionDataSource.First(l => l.Value == (int) GameVersion.LG).Text; + string fr = GameInfo.GetVersionName(GameVersion.FR); + string lg = GameInfo.GetVersionName(GameVersion.LG); string dual = "{0}/{1} " + MsgFileLoadSaveDetected; WinFormsUtil.Alert(string.Format(dual, fr, lg), MsgFileLoadSaveSelectVersion); var g = new[] {GameVersion.FR, GameVersion.LG}; @@ -902,15 +903,13 @@ private void ChangeMainLanguage(object sender, EventArgs e) Menu_Options.DropDown.Close(); InitializeStrings(); + WinFormsUtil.TranslateInterface(this, CurrentLanguage); // Translate the UI to language. if (C_SAV.SAV != null) { PKM pk = C_SAV.SAV.GetPKM(PKME_Tabs.CurrentPKM.Data); PKME_Tabs.ChangeLanguage(C_SAV.SAV, pk); + Text = GetProgramTitle(C_SAV.SAV); } - - string ProgramTitle = Text; - WinFormsUtil.TranslateInterface(this, CurrentLanguage); // Translate the UI to language. - Text = ProgramTitle; } private static void InitializeStrings()