C# 当前区域性信息对象的语言相关国家属性是什么

C# 当前区域性信息对象的语言相关国家属性是什么,c#,localization,globalization,C#,Localization,Globalization,我想在下拉列表中显示语言列表 用户必须以自己的语言查看国家/地区 作为一个德国人,我想用“德国”来表示“德德”,用“法兰克帝国”来表示“法国” 作为一个英国人,我想用“德国”来表示“德”,用“法语”来表示“法语” 我在culture info对象上尝试了.EnglishName、NativeName和DisplayName属性,但这些属性似乎不正确 foreach (var item in from e in new string[] { "en-US", "en-GB", "de-DE", "

我想在下拉列表中显示语言列表

用户必须以自己的语言查看国家/地区

作为一个德国人,我想用“德国”来表示“德德”,用“法兰克帝国”来表示“法国” 作为一个英国人,我想用“德国”来表示“德”,用“法语”来表示“法语”

我在culture info对象上尝试了.EnglishName、NativeName和DisplayName属性,但这些属性似乎不正确

foreach (var item in from e in new string[] { "en-US", "en-GB", "de-DE", "ru-RU", "fr-FR" }
                     select CultureInfo.GetCultureInfo(e))
{
    Console.WriteLine("{0} => {1} (in current culture (russian): {2})", item.Name, item.NativeName, item.DisplayName);
}
结果:

en-US => English (United States) (in current culture (russian): Английский (США))
en-GB => English (United Kingdom) (in current culture (russian): Английский (Великобритания))
de-DE => Deutsch (Deutschland) (in current culture (russian): Немецкий (Германия))
ru-RU => русский (Россия) (in current culture (russian): Русский (Россия))
fr-FR => français (France) (in current culture (russian): Французский (Франция))
我认为,
DisplayName
取决于当前的UI文化,但是
NativeName
是独立的。对于我的区域性(俄语),所有其他区域性显示名称都以俄语显示,如果我要更改当前区域性,
DisplayName
也将更改。但是我不知道,如何在不更改Windows设置的情况下在区域性
B
中获取区域性名称
A

结果:

en-US => English (United States) (in current culture (russian): Английский (США))
en-GB => English (United Kingdom) (in current culture (russian): Английский (Великобритания))
de-DE => Deutsch (Deutschland) (in current culture (russian): Немецкий (Германия))
ru-RU => русский (Россия) (in current culture (russian): Русский (Россия))
fr-FR => français (France) (in current culture (russian): Французский (Франция))

我认为,
DisplayName
取决于当前的UI文化,但是
NativeName
是独立的。对于我的区域性(俄语),所有其他区域性显示名称都以俄语显示,如果我要更改当前区域性,
DisplayName
也将更改。但是我不知道如何在不更改Windows设置的情况下在区域性
B
中获取区域性名称
A

尝试
CultureInfo.DisplayName
我认为DisplayNames只包含当前安装的系统语言。无法将所有语言名称显示在所有可能的翻译中,只能自己进行。请尝试
CultureInfo.DisplayName
我认为DisplayNames只包含当前安装的系统语言。无法将所有语言名称显示在所有可能的翻译中,只能自己进行。请尝试
CultureInfo.DisplayName
我认为DisplayNames只包含当前安装的系统语言。不可能在所有可能的翻译中显示所有语言名称,除非您自己这样做。