我目前正在我的应用程序中处理全球化问题。其中一部分是与 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.TwoLetterISOLanguageName” 的 'nb'。
所以,对我来说这是相当混乱的。有什么好主意吗?
中立文化是一种与某种文化相关的文化。language但不适用于某个国家/地区。看:http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=vs.71).aspx 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)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)