每个国家的CultureInfo名称

时间:2011-05-19 11:44:54

标签: culture cultureinfo

我的国家/地区列表包含两个字母代码,例如'美国'和三个字母代码,如' USA'。 我只想分配所有239个国家/地区的区域代码,如en-US(不是es-US)。

我尝试了迭代:

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

然后:

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

它不起作用,很多覆盖。

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

由于

1 个答案:

答案 0 :(得分:2)

没有办法做到这一点。那是因为对于你想到的许多国家而言,没有默认语言这样的东西 例如,美国没有官方语言。虽然大多数公民使用英语,但它不是默认。另一个有趣的例子是瑞士。其公民使用法语,德语,意大利语和罗曼什语。这些都不是默认

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

编辑:

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

Common Locale Data Repository Territory-Language Information

如果你仍然无法理解为什么每个国家限制一种语言可能不是最好的想法,我放弃。