Browse Source

Fix language detection

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
tags/3.4.3
Syrone Wong 8 years ago
parent
commit
333ad2516f
1 changed files with 13 additions and 23 deletions
  1. +13
    -23
      shadowsocks-csharp/Controller/I18N.cs

+ 13
- 23
shadowsocks-csharp/Controller/I18N.cs View File

@@ -7,11 +7,11 @@ namespace Shadowsocks.Controller
{ {
using Shadowsocks.Properties; using Shadowsocks.Properties;
public class I18N
public static class I18N
{ {
protected static Dictionary<string, string> Strings;
private static Dictionary<string, string> _strings = new Dictionary<string, string>();
static void Init(string res)
private static void Init(string res)
{ {
using (var sr = new StringReader(res)) using (var sr = new StringReader(res))
{ {
@@ -23,38 +23,28 @@ namespace Shadowsocks.Controller
var pos = line.IndexOf('='); var pos = line.IndexOf('=');
if (pos < 1) if (pos < 1)
continue; continue;
Strings[line.Substring(0, pos)] = line.Substring(pos + 1);
_strings[line.Substring(0, pos)] = line.Substring(pos + 1);
} }
} }
} }
static I18N() static I18N()
{ {
Strings = new Dictionary<string, string>();
string name = CultureInfo.CurrentCulture.Name;
if (name.StartsWith("zh"))
string name = CultureInfo.CurrentCulture.EnglishName;
if (name.StartsWith("Chinese", StringComparison.OrdinalIgnoreCase))
{ {
if (name == "zh" || name == "zh-CN")
{
Init(Resources.cn);
}
else
{
Init(Resources.zh_tw);
}
// choose Traditional Chinese only if we get explicit indication
Init(name.Contains("Traditional")
? Resources.zh_tw
: Resources.cn);
} }
} }
public static string GetString(string key) public static string GetString(string key)
{ {
if (Strings.ContainsKey(key))
{
return Strings[key];
}
else
{
return key;
}
return _strings.ContainsKey(key)
? _strings[key]
: key;
} }
} }
} }

Loading…
Cancel
Save