Skip to content

Commit

Permalink
Implement extra Language Translations (Portuguese)
Browse files Browse the repository at this point in the history
Should be easy enough to add subsequent ones without errors; just modify

lang_val -> abbrev
main_langlist -> as it will appear in the dropdown
  • Loading branch information
kwsch committed Mar 12, 2015
1 parent b56edf1 commit 0907f56
Show file tree
Hide file tree
Showing 5 changed files with 202 additions and 184 deletions.
1 change: 1 addition & 0 deletions PKHeX.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,7 @@
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="Resources\text\other\lang_pt.txt" />
<None Include="Resources\text\ko\text_Games_ko.txt" />
<None Include="Resources\text\ja\text_Games_ja.txt" />
<None Include="Resources\text\it\text_Games_it.txt" />
Expand Down
52 changes: 24 additions & 28 deletions PKX/f1-Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,31 +37,17 @@ public Form1()
#endregion
#region Language Detection before loading
// Set up Language Selection
string[] main_langlist =
{
"English", // ENG
"日本語", // JPN
"Français", // FRE
"Italiano", // ITA
"Deutsch", // GER
"Español", // SPA
"한국어", // KOR
"中文" // CHN
};
foreach (var cbItem in main_langlist)
CB_MainLanguage.Items.Add(cbItem);

// Try and detect the language
int[] main_langnum = { 2, 1, 3, 4, 5, 7, 8, 9 };
string[] lang_val = { "en", "ja", "fr", "it", "de", "es", "ko", "zh" };
int[] main_langnum = {2, 1, 3, 4, 5, 7, 8, 9};
main_langnum = main_langnum.Concat(Enumerable.Range(10, lang_val.Length).Select(i => i).ToArray()).ToArray();
string filename = Path.GetFileNameWithoutExtension(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
string lastTwoChars = filename.Substring(filename.Length - 2);
int lang = Array.IndexOf(main_langnum, Array.IndexOf(lang_val, lastTwoChars));

if (lang >= 0)
CB_MainLanguage.SelectedIndex = main_langnum[lang];
else
CB_MainLanguage.SelectedIndex = ((lastTwoChars == "jp") ? 1 : 0);
CB_MainLanguage.SelectedIndex = lang >= 0 ? main_langnum[lang] - 1 : ((lastTwoChars == "jp") ? 1 : 0);

#region HaX
HaX = (filename.IndexOf("HaX", StringComparison.Ordinal) >= 0);
Expand All @@ -79,9 +65,8 @@ public Form1()
Status = "Language set up";
#endregion
#region Localize & Populate
InitializeStrings(); Status = "Strings set up";
InitializeFields(); Status = "Fields set up";
CB_Language.SelectedIndex = (lang >= 0) ? main_langnum[lang] : 1;
CB_Language.SelectedIndex = (lang >= 0 && lang < 7) ? main_langnum[lang] : 1;
#endregion
#region Add ContextMenus to the PictureBoxes (PKX slots)

Expand Down Expand Up @@ -172,6 +157,7 @@ public Form1()
TB_OT.Font = (Font)TB_Nickname.Font.Clone();
TB_OTt2.Font = (Font)TB_Nickname.Font.Clone();
Status = "Initialized!";
CB_Species.SelectedIndex = 1;

init = true;

Expand Down Expand Up @@ -209,6 +195,19 @@ public Form1()
public static int colorizedslot;
public static int largeWidth, shortWidth;
public static string eggname = "";
public static string[] lang_val = { "en", "ja", "fr", "it", "de", "es", "ko", "zh", "pt" };
public static string[] main_langlist =
{
"English", // ENG
"日本語", // JPN
"Français", // FRE
"Italiano", // ITA
"Deutsch", // GER
"Español", // SPA
"한국어", // KOR
"中文", // CHN
"Português", // Portuguese
};
public static string[] gendersymbols = { "", "", "-" };
public static string[] specieslist = { };
public static string[] movelist = { };
Expand Down Expand Up @@ -241,10 +240,8 @@ public Form1()
public static string[] gamelist = { };
public static string[] puffs = { };
public static string[] itempouch = { };
public static int[] speciesability = { };
public static int[] saveoffsets = { };
public static string origintrack;
public static string curlanguage;
public static string curlanguage = "en";
public volatile bool init;
public static bool unicode;
public ToolTip Tip1 = new ToolTip();
Expand Down Expand Up @@ -725,19 +722,18 @@ private void openSave(bool oras)
// Language Translation
private void changeMainLanguage(object sender, EventArgs e)
{
if (init)
buff = preparepkx(buff); // get data currently in form
if (init) buff = preparepkx(buff); // get data currently in form

Menu_Options.DropDown.Close();
InitializeStrings();
InitializeLanguage();
Util.TranslateInterface(this, curlanguage, menuStrip1);
Util.TranslateInterface(this, lang_val[CB_MainLanguage.SelectedIndex], menuStrip1); // Translate the UI to language.
populateFields(buff); // put data back in form
}
private void InitializeStrings()
{
string[] lang_val = { "en", "ja", "fr", "it", "de", "es", "ko", "zh" };
curlanguage = lang_val[CB_MainLanguage.SelectedIndex];
if (CB_MainLanguage.SelectedIndex < 8)
curlanguage = lang_val[CB_MainLanguage.SelectedIndex];

string l = curlanguage;
natures = Util.getStringList("Natures", l);
Expand Down Expand Up @@ -814,7 +810,7 @@ private void InitializeStrings()

// Localize the Poketransfer to the language (30001)
string[] ptransp = { "Poké Transfer", "ポケシフター", "Poké Fret", "Pokétrasporto", "Poképorter", "Pokétransfer", "포케시프터", "ポケシフター" };
metBW2_30000[1 - 1] = ptransp[CB_MainLanguage.SelectedIndex];
metBW2_30000[1 - 1] = ptransp[Array.IndexOf(lang_val, curlanguage)];
metBW2_30000[2 - 1] += " (NPC)"; // Anything from an NPC
metBW2_30000[3 - 1] += " (" + eggname + ")"; // Egg From Link Trade

Expand Down

0 comments on commit 0907f56

Please sign in to comment.