我目前正在我的应用程序中处理全球化问题。其中一部分是使用 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 ”。
所以,对我来说,这很令人困惑。有什么好主意吗?