我想在下拉列表中显示语言列表。
用户必须以自己的语言查看国家/地区。
作为德国人,我想要“de-DE”的“ Deutschland ”和“fr-FR”的“ Frankreich ” 作为一个英国人,我希望“德国”代表“de-DE”,“法语”代表“fr-FR”
我在文化信息对象上尝试了.EnglishName,NativeName和DisplayName属性,但是这些属性似乎不正确。
答案 0 :(得分:0)
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
是独立的。对于我的文化(俄语)所有其他文化DisplayNames用俄语显示,如果我将改变当前的文化,DisplayName
也将改变。但是我不知道如何在没有更改Windows设置的情况下在文化A
中获取文化名称B
。