67 lines
2.5 KiB
Plaintext
67 lines
2.5 KiB
Plaintext
<?xml version="1.0" encoding="utf-8"?>
|
|
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
|
|
<CodeSnippet Format="1.0.0">
|
|
<Header>
|
|
<Title>FormLanguageSwitch(Class_Part)</Title>
|
|
</Header>
|
|
<Snippet>
|
|
<Code Language="CSharp">
|
|
<![CDATA[string CurrentLanguage { set; get; }
|
|
|
|
#region Language
|
|
private void SetLanguage(string language, CultureInfo languageShortForm)
|
|
{
|
|
CultureInfoDisplayItem cidi = (CultureInfoDisplayItem)new CultureInfoDisplayItem(language, languageShortForm);
|
|
FormLanguageSwitchSingleton.Instance.ChangeLanguage(this, cidi.CultureInfo);
|
|
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(languageShortForm.ToString());
|
|
ChangeLanguage(languageShortForm.ToString());
|
|
}
|
|
|
|
private void ChangeLanguage(string lang)
|
|
{
|
|
Thread.CurrentThread.CurrentUICulture = new
|
|
System.Globalization.CultureInfo(lang);
|
|
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
|
|
resources.ApplyResources(this, "$this");
|
|
ApplyResources(resources, this.Controls);
|
|
}
|
|
|
|
private void ApplyResources(ComponentResourceManager resources, Control.ControlCollection ctls)
|
|
{
|
|
//all controls
|
|
foreach (Control ctl in ctls)
|
|
{
|
|
resources.ApplyResources(ctl, ctl.Name);
|
|
ApplyResources(resources, ctl.Controls);
|
|
}
|
|
|
|
//the menu bar and its items
|
|
foreach (ToolStripItem item in menuStrip.Items)
|
|
{
|
|
if (item is ToolStripDropDownItem)
|
|
{
|
|
resources.ApplyResources(item, item.Name);
|
|
foreach (ToolStripItem dropDownItem in ((ToolStripDropDownItem)item).DropDownItems)
|
|
{
|
|
resources.ApplyResources(dropDownItem, dropDownItem.Name);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void deutschToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
SetLanguage("Deutsch", CultureInfo.GetCultureInfo("de"));
|
|
CurrentLanguage = "deutsch";
|
|
}
|
|
|
|
private void englishToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
SetLanguage("English", CultureInfo.GetCultureInfo("en"));
|
|
CurrentLanguage = "english";
|
|
}
|
|
#endregion]]>
|
|
</Code>
|
|
</Snippet>
|
|
</CodeSnippet>
|
|
</CodeSnippets> |