我正在尝试根据提供给我的settingFile
来设置我的应用程序的CultureInfo(我无法更改它的内容)。
在我的settingFile
我只能访问我应该显示的语言名称(没有关于国家/地区的信息),例如German
,French
,English
。< / p>
我设法使用
获取了CultureInfoCultureInfo cultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
.Where(c => c.EnglishName == languageName).FirstOrDefault();
我的问题是我现在应该这样做:
Thread.CurrentThread.CurrentCulture = new CultureInfo({LANG-COUNTRY});
但我只有语言(通过cultureInfo.Name
),所以我无法创建我的文化信息。
尝试做
Thread.CurrentThread.CurrentCulture = cultureInfo;
也不起作用。
我想过做
new CulltureInfo({cultureInfo.Name+"-"+cultureInfo.Name.ToUpper()});
但它不适用于英语......
有没有办法将CultureInfo设置为与我的语言相关的最常见的国家/地区? 我知道它不是一个完美的解决方案(例如en-UK和en-US之间最常见的...)但我认为我不能做得更好,不知道我的用户所在的国家。< / p>
答案 0 :(得分:1)
此var en = CultureInfo.GetCultures (CultureTypes.AllCultures).First(x=>x.Name=="en");
会为您的语言提供基础CultureInfo
(示例中为en)。如果您要检查“en-GB”,“en-US”比您看到的都Parent
等于“en”。