9

我目前正在我的应用程序中处理全球化问题。其中一部分是使用 CultureInfo 和 RegionInfo。有一个问题真的让我很困惑。也许有人可以对此有所了解:

var ci1 = new CultureInfo("de");      // Correct, gives a neutral CultureInfo
var ci2 = new CultureInfo("de-CH");   // Correct, gives a specific CultureInfo
var ci3 = new CultureInfo("fr-CH");   // Correct, gives a specific CultureInfo
var ci4 = new CultureInfo("no");      // Correct, gives a neutral CultureInfo
var ci5 = new CultureInfo("nb-NO");   // Correct, gives a specific  CultureInfo
var ci6 = new CultureInfo("nn-NO");   // Correct, gives a specific  CultureInfo
var ci7 = new CultureInfo("ch");      // Failure!  Can't create a neutral Swiss culture.

这里的重点是,挪威和瑞士都是多语言国家,但与挪威相比,我无法创建中立的瑞士文化信息。

这是因为历史原因还是仅仅是微软实施中的一个错误?

编辑:这似乎是某种“政治”问题,而不是技术问题。所以我想改写我的问题:有什么好的想法如何从技术上处理这个问题?简单地忽略“ CultureInfo("no") ”?有趣的是,“ CultureInfo("no") ”提供了一个“nb”的父“ CultureInfo.TwoLetterISOLanguageName ”。

所以,对我来说,这很令人困惑。有什么好主意吗?

4

3 回答 3

7

中性文化是一种与语言相关但与国家/地区无关的文化。请参阅:http: //msdn.microsoft.com/en-us/library/system.globalization.cultureinfo (v=vs.71).aspx

您正在尝试使用 ch 创建一种语言文化,但没有瑞士语言。您将 de-CH 用于德语(语言)-瑞士(国家)。同样,您在瑞士使用 it-CH 或 fr-CH 表示意大利语和法语(语言)。

而且,正如 MPelletier 指出的那样,没有加拿大语言,但在加拿大地区,他们说 fr(ench) 或 en(glish)。

于 2012-10-31T14:19:43.393 回答
5

"no""ch"与, 因为是一种语言,挪威语具有不同的行为"no",而“ch”不指代任何语言。

虽然挪威是一个多语言国家,但挪威的官方语言是正确的;挪威语、萨米语和克文。萨米语和克文语被认为是少数民族语言。"nb"或都不"nn"是指在挪威得到官方认可的语言,因为博克马尔语和尼诺斯克语都不是语言。

混乱源于两个事实。与大多数语言不同,挪威语有两种正式的书面规范,博克马尔语和尼诺斯克语。在 ISO 639 中,挪威语被认为是两种规范的宏语言,ISO 639 为这两种书面规范分配了单独的语言代码,即。“nb”和“nn”。挪威语“no”的语言代码与挪威“NO”的国家代码一致。

于 2016-07-06T09:07:33.703 回答
2

根据 ISO 语言标准,有 nno nn 挪威尼诺斯克语;nob nb Bokmål,挪威语;也没有挪威语

来自维基百科“ https://en.wikipedia.org/wiki/Norwegian_language ” Nynorsk 和 Bokmål 提供了如何编写挪威语的标准,而不是如何说该语言的标准。挪威语口语没有官方认可的标准,大多数挪威人在任何情况下都说自己的方言。因此,与许多其他国家不同,任何挪威方言的使用,无论是否符合书面规范,都被视为正确的挪威语口语。

不说挪威语 nn 和 nb 是书面形式

在网站上,如果您看到 no-no,您可以假设它是 nb-no。

于 2016-04-25T21:55:28.657 回答