每个国家/地区的 CultureInfo 名称

Posted

技术标签:

【中文标题】每个国家/地区的 CultureInfo 名称【英文标题】:CultureInfo name for each country 【发布时间】:2011-05-19 11:44:53 【问题描述】:

我有两个字母代码(例如“US”)和三个字母代码(例如“USA”)的国家/地区列表。 我只想分配所有 239 个国家/地区的语言环境代码,例如 en-US(不是 es-US)。

我尝试了迭代:

CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);

然后:

 var country = countries.Where(c => c.CodeIso3 == region.ThreeLetterISORegionName).FirstOrDefault();

它不起作用,太多覆盖。

如何将 239 个国家代码分配给主要(或默认)语言?

谢谢

【问题讨论】:

【参考方案1】:

没有办法做到这一点。那是因为您心目中的许多国家/地区都没有默认语言之类的东西。 例如,美国没有官方语言。尽管其大多数公民使用英语,但它不是默认。另一个有趣的例子是瑞士。其公民使用法语、德语、意大利语和罗曼语。这些都不是默认

这就是为什么没有这样的 API 的原因。

编辑:

正如我之前所说,在许多国家/地区没有像 默认 语言这样的想法。我什至举了一个国家的例子,该国家拥有一种以上的主要语言(德语和法语)。对于所有仍然无法理解这真的没有意义的你们,我会告诉你们如何猜测最可能的语言:

Common Locale Data Repository Territory-Language Information

如果您仍然无法理解为什么限制每个国家/地区使用一种语言可能不是最好的主意,我放弃了。

【讨论】:

以上是关于每个国家/地区的 CultureInfo 名称的主要内容,如果未能解决你的问题,请参考以下文章

如何从 CultureInfo 获取没有国家/地区的语言

为啥不是所有国家都出现在 CultureInfo.GetCultures() 中?

新 CultureInfo(string Name) 构造函数 - .NET (C#)

根据列中的国家/地区名称插入国家/地区官方语言

为国家、语言组合创建自定义 CultureInfo

如何在我的 javascript AJAX 代码中显示所选国家/地区的城市名称和人口?