Initialize

This commit is contained in:
Eugen Höglinger 2024-10-09 10:55:27 +02:00
commit fadbc00066
2 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,67 @@
<?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>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>FormLanguageSwitch(Constructor_Part)</Title>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[//Systemsprache auslesen und Programmsprache setzen oder ...
if (Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName == "de")
{
SetLanguage("Deutsch", CultureInfo.GetCultureInfo("de"));
CurrentLanguage = "german";
}
else
{
SetLanguage("English", CultureInfo.GetCultureInfo("en"));
CurrentLanguage = "english";
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>