将 CultureInfo 设置为国家未知的语言

set CultureInfo to a language with country unknown

我正在尝试根据提供给我的 settingFile 设置我的应用程序的 CultureInfo(我无法更改它的内容)。

在我的 settingFile 中,我只能访问我应该显示的语言名称(没有关于国家的信息)例如 GermanFrenchEnglish .

我设法使用

获取了我的 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"。