private void LanguageUpdated()
{
this.UtilsLanguageMenu.DropDownItems.Clear();
LanguagePairs.Clear();
foreach (var AvailableLanguage in Translations.AvailableLanguages)
{
var CultureInfo = new CultureInfo(Translations.GetString("info", "CultureInfo", AvailableLanguage));
var ToolStrip = new ToolStripMenuItem()
{
Image = Translations.GetLangFlagImage(AvailableLanguage),
ImageScaling = ToolStripItemImageScaling.None,
Size = new Size(152, 22),
Text = Translations.GetString("languages", AvailableLanguage),
Tag = CultureInfo,
};
ToolStrip.Click += LanguageMenuItem_Click;
this.UtilsLanguageMenu.DropDownItems.Add(ToolStrip);
LanguagePairs.Add(ToolStrip, CultureInfo);
}
foreach (var LanguagePair in LanguagePairs)
{
LanguagePair.Key.Tag = LanguagePair.Value;
LanguagePair.Key.Checked = (LanguagePair.Value.CompareInfo == Thread.CurrentThread.CurrentUICulture.CompareInfo);
}
foreach (var Field in this.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance))
{
if (Field.FieldType == typeof(ToolStripMenuItem))
{
var ToolStripMenuItem = (ToolStripMenuItem)Field.GetValue(this);
var Translation = Translations.GetString("menus", ToolStripMenuItem.Name);
var FinalText = ((Translation != null) ? Translation : ToolStripMenuItem.Text);
if (Platform.IsMono) FinalText = FinalText.Replace("&", "");
ToolStripMenuItem.Text = FinalText;
}
}
UpdateTitle();
}