diff --git a/PKHeX/Game/GameInfo.cs b/PKHeX/Game/GameInfo.cs index 2a3af9380..8b3fd4930 100644 --- a/PKHeX/Game/GameInfo.cs +++ b/PKHeX/Game/GameInfo.cs @@ -7,7 +7,7 @@ namespace PKHeX public static class GameInfo { private static readonly string[] ptransp = { "ポケシフター", "Poké Transfer", "Poké Fret", "Pokétrasporto", "Poképorter", "Pokétransfer", "포케시프터", "ポケシフター" }; - public static readonly string[] lang_val = { "ja", "en", "fr", "it", "de", "es", "ko", "zh", "pt" }; + public static readonly string[] lang_val = { "ja", "en", "fr", "it", "de", "es", "ko", "zh", "zh2", "pt" }; private const string DefaultLanguage = "en"; private static readonly GameStrings[] Languages = new GameStrings[lang_val.Length]; diff --git a/PKHeX/Legality/Checks.cs b/PKHeX/Legality/Checks.cs index bc781492c..aa8dc9115 100644 --- a/PKHeX/Legality/Checks.cs +++ b/PKHeX/Legality/Checks.cs @@ -159,9 +159,9 @@ private void verifyNickname() AddLine(Severity.Indeterminate, "Language ID > 8.", CheckIdentifier.Language); return; } - if (pkm.Format <= 7 && pkm.Language > 9) + if (pkm.Format <= 7 && pkm.Language > 10) { - AddLine(Severity.Indeterminate, "Language ID > 9.", CheckIdentifier.Language); + AddLine(Severity.Indeterminate, "Language ID > 10.", CheckIdentifier.Language); return; } diff --git a/PKHeX/MainWindow/Main.cs b/PKHeX/MainWindow/Main.cs index acb8cbeed..348b0111e 100644 --- a/PKHeX/MainWindow/Main.cs +++ b/PKHeX/MainWindow/Main.cs @@ -1223,7 +1223,7 @@ private void changeMainLanguage(object sender, EventArgs e) // Set the culture (makes it easy to pass language to other forms) Properties.Settings.Default.Language = curlanguage; Properties.Settings.Default.Save(); - Thread.CurrentThread.CurrentCulture = new CultureInfo(curlanguage); + Thread.CurrentThread.CurrentCulture = new CultureInfo(curlanguage.Substring(0, 2)); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; } private void InitializeStrings() @@ -1281,7 +1281,6 @@ private void InitializeLanguage() // Set the various ComboBox DataSources up with their allowed entries setCountrySubRegion(CB_Country, "countries"); CB_3DSReg.DataSource = Util.getUnsortedCBList("regions3ds"); - CB_Language.DataSource = Util.getUnsortedCBList("languages"); GameInfo.InitializeDataSources(GameStrings); @@ -1297,6 +1296,11 @@ private void populateFilteredDataSources() if (SAV.Generation > 1) CB_HeldItem.DataSource = new BindingSource(GameInfo.ItemDataSource.Where(i => i.Value <= SAV.MaxItemID).ToList(), null); + var languages = Util.getUnsortedCBList("languages"); + if (SAV.Generation < 7) + languages = languages.Where(l => l.Value <= 8).ToList(); // Korean + CB_Language.DataSource = languages; + CB_Ball.DataSource = new BindingSource(GameInfo.BallDataSource.Where(b => b.Value <= SAV.MaxBallID).ToList(), null); CB_Species.DataSource = new BindingSource(GameInfo.SpeciesDataSource.Where(s => s.Value <= SAV.MaxSpeciesID).ToList(), null); DEV_Ability.DataSource = new BindingSource(GameInfo.AbilityDataSource.Where(a => a.Value <= SAV.MaxAbilityID).ToList(), null); diff --git a/PKHeX/PKHeX.csproj b/PKHeX/PKHeX.csproj index ed0031649..e3b247c91 100644 --- a/PKHeX/PKHeX.csproj +++ b/PKHeX/PKHeX.csproj @@ -3568,6 +3568,9 @@ + + +