I am currently doing globalization in my application. Part of it works with CultureInfo and RegionInfo. There is one problem that puzzles me. Maybe someone can outshine the light:
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.
The point here is that Norway and Swizerland are multilingual countries, but, unlike Norway, I cannot create a neutral Swiss CultureInfo.
Is it due to historical reasons or is it just a mistake in the implementation of Microsoft?
EDIT: This seems to be some kind of “political” issue, not a technical one. So I would like to rephrase my question: any good ideas how to solve this problem technically? Just ignore " CultureInfo (no) "? Interestingly, " CultureInfo (" no ") " exposes the parent element CultureInfo.TwoLetterISOLanguageName "from 'nb'.
So for me this is pretty confusing. Any good ideas?
Andreas
source share