将 CultureInfo 设置为国家未知的语言
set CultureInfo to a language with country unknown
我正在尝试根据提供给我的 settingFile
设置我的应用程序的 CultureInfo(我无法更改它的内容)。
在我的 settingFile
中,我只能访问我应该显示的语言名称(没有关于国家的信息)例如 German
、French
、English
.
我设法使用
获取了我的 CultureInfo
CultureInfo 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 之间最常见的解决方案......)但我认为我不能做得更好,不知道我的用户所在的国家/地区。
此 var en = CultureInfo.GetCultures (CultureTypes.AllCultures).First(x=>x.Name=="en");
将为您的语言(示例中的 en)提供基础 CultureInfo
。如果您检查 "en-GB"、"en-US",您会发现两者的 Parent
等于 "en"。
我正在尝试根据提供给我的 settingFile
设置我的应用程序的 CultureInfo(我无法更改它的内容)。
在我的 settingFile
中,我只能访问我应该显示的语言名称(没有关于国家的信息)例如 German
、French
、English
.
我设法使用
获取了我的 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 之间最常见的解决方案......)但我认为我不能做得更好,不知道我的用户所在的国家/地区。
此 var en = CultureInfo.GetCultures (CultureTypes.AllCultures).First(x=>x.Name=="en");
将为您的语言(示例中的 en)提供基础 CultureInfo
。如果您检查 "en-GB"、"en-US",您会发现两者的 Parent
等于 "en"。