2020-03-17 02:45:19 +13:00
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.Resources;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using SystemTrayMenu.Properties;
|
2020-03-28 12:42:32 +13:00
|
|
|
|
using SystemTrayMenu.UserInterface;
|
2020-03-17 02:45:19 +13:00
|
|
|
|
|
2020-03-28 12:42:32 +13:00
|
|
|
|
namespace SystemTrayMenu.Utilities
|
2020-03-17 02:45:19 +13:00
|
|
|
|
{
|
|
|
|
|
internal static class Language
|
|
|
|
|
{
|
|
|
|
|
internal static CultureInfo Culture;
|
|
|
|
|
|
|
|
|
|
internal static void Initialize()
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(
|
|
|
|
|
Settings.Default.CurrentCultureInfoName))
|
|
|
|
|
{
|
|
|
|
|
Settings.Default.CurrentCultureInfoName = "en";
|
|
|
|
|
CultureInfo currentCulture =
|
|
|
|
|
Thread.CurrentThread.CurrentCulture;
|
|
|
|
|
foreach (string language in MenuDefines.Languages)
|
|
|
|
|
{
|
|
|
|
|
string twoLetter = currentCulture.Name.
|
|
|
|
|
Substring(0, 2);
|
|
|
|
|
if (language == currentCulture.Name ||
|
|
|
|
|
language == twoLetter)
|
|
|
|
|
{
|
|
|
|
|
Settings.Default.
|
|
|
|
|
CurrentCultureInfoName = language;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Settings.Default.Save();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Culture = CultureInfo.CreateSpecificCulture(
|
|
|
|
|
Settings.Default.CurrentCultureInfoName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal static string Translate(string id)
|
|
|
|
|
{
|
|
|
|
|
ResourceManager rm = new ResourceManager(
|
|
|
|
|
"SystemTrayMenu.Resources.lang",
|
|
|
|
|
typeof(Menu).Assembly);
|
|
|
|
|
return rm.GetString(id, Culture);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|