Update flag icon, move language related methods to LanguageHelper class

This commit is contained in:
Jaex 2017-03-22 13:51:48 +03:00
parent 49bcc6c6a9
commit 1733968f4e
4 changed files with 112 additions and 104 deletions

View file

@ -60,10 +60,10 @@ public enum SupportedLanguage
SimplifiedChinese,
[Description("Español (Spanish)")]
Spanish,
[Description("Türkçe (Turkish)")]
Turkish,
[Description("繁體中文 (Traditional Chinese)")]
TraditionalChinese,
[Description("Türkçe (Turkish)")]
Turkish,
[Description("Tiếng Việt (Vietnamese)")]
Vietnamese
}

View file

@ -75,7 +75,7 @@ private void InitializeControls()
foreach (SupportedLanguage language in Helpers.GetEnums<SupportedLanguage>())
{
ToolStripMenuItem tsmi = new ToolStripMenuItem(language.GetLocalizedDescription());
tsmi.Image = GetLanguageIcon(language);
tsmi.Image = LanguageHelper.GetLanguageIcon(language);
tsmi.ImageScaling = ToolStripItemImageScaling.None;
SupportedLanguage lang = language;
tsmi.Click += (sender, e) => ChangeLanguage(lang);
@ -215,64 +215,10 @@ private void UpdateControls()
ready = true;
}
private Image GetLanguageIcon(SupportedLanguage language)
{
Image icon;
switch (language)
{
default:
case SupportedLanguage.Automatic:
icon = Resources.globe;
break;
case SupportedLanguage.Dutch:
icon = Resources.nl;
break;
case SupportedLanguage.English:
icon = Resources.us;
break;
case SupportedLanguage.French:
icon = Resources.fr;
break;
case SupportedLanguage.German:
icon = Resources.de;
break;
case SupportedLanguage.Hungarian:
icon = Resources.hu;
break;
case SupportedLanguage.Korean:
icon = Resources.kr;
break;
case SupportedLanguage.PortugueseBrazil:
icon = Resources.br;
break;
case SupportedLanguage.Russian:
icon = Resources.ru;
break;
case SupportedLanguage.SimplifiedChinese:
icon = Resources.cn;
break;
case SupportedLanguage.Spanish:
icon = Resources.es;
break;
case SupportedLanguage.Turkish:
icon = Resources.tr;
break;
case SupportedLanguage.TraditionalChinese:
icon = Resources.tw;
break;
case SupportedLanguage.Vietnamese:
icon = Resources.vn;
break;
}
return icon;
}
private void ChangeLanguage(SupportedLanguage language)
{
btnLanguages.Text = language.GetLocalizedDescription();
btnLanguages.Image = GetLanguageIcon(language);
btnLanguages.Image = LanguageHelper.GetLanguageIcon(language);
if (ready)
{

View file

@ -24,7 +24,9 @@ You should have received a copy of the GNU General Public License
#endregion License Information (GPL v3)
using ShareX.HelpersLib;
using ShareX.Properties;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.Threading;
using System.Windows.Forms;
@ -43,52 +45,7 @@ public static bool ChangeLanguage(SupportedLanguage language, params Form[] form
}
else
{
string cultureName;
switch (language)
{
case SupportedLanguage.Dutch:
cultureName = "nl-NL";
break;
default:
case SupportedLanguage.English:
cultureName = "en-US";
break;
case SupportedLanguage.French:
cultureName = "fr-FR";
break;
case SupportedLanguage.German:
cultureName = "de-DE";
break;
case SupportedLanguage.Hungarian:
cultureName = "hu-HU";
break;
case SupportedLanguage.Korean:
cultureName = "ko-KR";
break;
case SupportedLanguage.PortugueseBrazil:
cultureName = "pt-BR";
break;
case SupportedLanguage.Russian:
cultureName = "ru-RU";
break;
case SupportedLanguage.SimplifiedChinese:
cultureName = "zh-CN";
break;
case SupportedLanguage.Spanish:
cultureName = "es-ES";
break;
case SupportedLanguage.Turkish:
cultureName = "tr-TR";
break;
case SupportedLanguage.TraditionalChinese:
cultureName = "zh-TW";
break;
case SupportedLanguage.Vietnamese:
cultureName = "vi-VN";
break;
}
string cultureName = GetCultureName(language);
currentCulture = CultureInfo.GetCultureInfo(cultureName);
}
@ -110,6 +67,111 @@ public static bool ChangeLanguage(SupportedLanguage language, params Form[] form
return false;
}
public static Image GetLanguageIcon(SupportedLanguage language)
{
Image icon;
switch (language)
{
default:
case SupportedLanguage.Automatic:
icon = Resources.globe;
break;
case SupportedLanguage.Dutch:
icon = Resources.nl;
break;
case SupportedLanguage.English:
icon = Resources.us;
break;
case SupportedLanguage.French:
icon = Resources.fr;
break;
case SupportedLanguage.German:
icon = Resources.de;
break;
case SupportedLanguage.Hungarian:
icon = Resources.hu;
break;
case SupportedLanguage.Korean:
icon = Resources.kr;
break;
case SupportedLanguage.PortugueseBrazil:
icon = Resources.br;
break;
case SupportedLanguage.Russian:
icon = Resources.ru;
break;
case SupportedLanguage.SimplifiedChinese:
icon = Resources.cn;
break;
case SupportedLanguage.Spanish:
icon = Resources.es;
break;
case SupportedLanguage.TraditionalChinese:
icon = Resources.tw;
break;
case SupportedLanguage.Turkish:
icon = Resources.tr;
break;
case SupportedLanguage.Vietnamese:
icon = Resources.vn;
break;
}
return icon;
}
public static string GetCultureName(SupportedLanguage language)
{
string cultureName;
switch (language)
{
case SupportedLanguage.Dutch:
cultureName = "nl-NL";
break;
default:
case SupportedLanguage.English:
cultureName = "en-US";
break;
case SupportedLanguage.French:
cultureName = "fr-FR";
break;
case SupportedLanguage.German:
cultureName = "de-DE";
break;
case SupportedLanguage.Hungarian:
cultureName = "hu-HU";
break;
case SupportedLanguage.Korean:
cultureName = "ko-KR";
break;
case SupportedLanguage.PortugueseBrazil:
cultureName = "pt-BR";
break;
case SupportedLanguage.Russian:
cultureName = "ru-RU";
break;
case SupportedLanguage.SimplifiedChinese:
cultureName = "zh-CN";
break;
case SupportedLanguage.Spanish:
cultureName = "es-ES";
break;
case SupportedLanguage.TraditionalChinese:
cultureName = "zh-TW";
break;
case SupportedLanguage.Turkish:
cultureName = "tr-TR";
break;
case SupportedLanguage.Vietnamese:
cultureName = "vi-VN";
break;
}
return cultureName;
}
private static void ApplyResourceToControl(Control control, ComponentResourceManager resource, CultureInfo culture)
{
if (control is ToolStrip)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

After

Width:  |  Height:  |  Size: 465 B