Skip to content

Commit

Permalink
Storing preferred language and translating program in real time
Browse files Browse the repository at this point in the history
  • Loading branch information
Cris Silva Jr committed Apr 15, 2018
1 parent 75afc62 commit b7c1b2b
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 19 deletions.
4 changes: 4 additions & 0 deletions Scalemate/ScalemateForms/View/FormInventory.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions Scalemate/ScalemateForms/View/FormMain.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 28 additions & 1 deletion Scalemate/ScalemateForms/View/FormMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,13 @@ public FormMain()
}

listKind.SetSelected(0, true);
} else
}
else
{
listKind.Items.Add("Não há arquivos de configuração disponíveis.");
}

Translate();
}

/// <summary>
Expand Down Expand Up @@ -75,6 +78,8 @@ private async void buttonStart_Click(object sender, EventArgs e)
form.Start();
}

#region UI side effects

private void quitToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
Expand All @@ -93,6 +98,21 @@ private void docsStripMenuItem_Click(object sender, EventArgs e)
form.Show();
}

private void Translate()
{
this.buttonStart.Text = Translator.Get("Start");
this.textPatient.Text = Translator.Get("Name");
this.fileToolStripMenuItem.Text = Translator.Get("File");
this.quitToolStripMenuItem.Text = Translator.Get("Quit");
this.editToolStripMenuItem.Text = Translator.Get("Edit");
this.preferencesToolStripMenuItem.Text = Translator.Get("Preferences");
this.helpStripMenuItem.Text = Translator.Get("Help");
this.docsStripMenuItem.Text = Translator.Get("Docs");
}


#endregion

#region IParent implementation
public string Get(string tag)
{
Expand All @@ -115,6 +135,13 @@ public string[] GetCodes()
{
return Translator.Translations.Keys.ToArray();
}

public void Store()
{
Prefs.Preferences["Language"] = Translator.Code;
Prefs.Store();
Translate();
}
#endregion
}
}
1 change: 1 addition & 0 deletions Scalemate/ScalemateForms/View/FormPreferences.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 23 additions & 9 deletions Scalemate/ScalemateForms/View/FormPreferences.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,40 +12,54 @@ namespace ScalemateForms.View
{
public partial class FormPreferences : Form
{
private IParent Mother { get; set; }
private IParent Mother;
private string OriginalLanguage;

public FormPreferences(IParent mother)
{
// Preparing form
InitializeComponent();
WindowState = FormWindowState.Maximized;
Mother = mother;
OriginalLanguage = Mother.Get("ID");
ManageLanguages();
Translate();

// Setting languages for translation

}

private void buttonSave_Click(object sender, EventArgs e)
{
// TODO Save configurations
buttonCancel_Click(sender, e);
Mother.Store();
this.Close();
}

private void buttonCancel_Click(object sender, EventArgs e)
{
Mother.Set(OriginalLanguage);
this.Close();
}

private void comboxBoxLanguage_SelectedIndexChanged(object sender, EventArgs e)
{
var newLanguage = Mother.GetCodes()[comboBoxLanguage.SelectedIndex];
Mother.Set(newLanguage);
Translate();
}

private void ManageLanguages()
{
string[] codes = Mother.GetCodes();
string[] languages = Mother.GetLanguages();
foreach (string language in languages)
int firstSelected = 0;

for (int i = 0; i < languages.Length; ++i)
{
comboBoxLanguage.Items.Add(language);
comboBoxLanguage.Items.Add(languages[i]);
if (codes[i] == OriginalLanguage)
{
firstSelected = i;
}
}
comboBoxLanguage.SelectedIndex = 0;
comboBoxLanguage.SelectedIndex = firstSelected;
}

private void Translate()
Expand Down
1 change: 1 addition & 0 deletions Scalemate/ScalemateForms/View/IParent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ public interface IParent
string Set(string tag);
string[] GetLanguages();
string[] GetCodes();
void Store();
}
}
2 changes: 1 addition & 1 deletion Scalemate/ScalemateForms/View/Util/TranslationManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public TranslationManager(string code)
var stuff = aliens[i].Split('\t').Select(it => it.Trim()).ToArray();
var translation = new Dictionary<string, string>();

for (int j = 1; j < fields.Length; ++j)
for (int j = 0; j < fields.Length; ++j)
{
translation[fields[j]] = stuff[j];
}
Expand Down

0 comments on commit b7c1b2b

Please sign in to comment.