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 @@
+
+
+