Название CultureInfo для каждой страны - PullRequest
0 голосов
/ 19 мая 2011

У меня есть список стран с двухбуквенным кодом, например, «США», и трехбуквенным кодом, например, «США».Я просто хочу присвоить всем 239 странам код локали, например, en-US (не es-US).

Я попытался выполнить итерацию на:

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

затем:

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

это не работает, к значительному переопределению.

как присвоить коду 239 стран основной язык (или язык по умолчанию)?

Спасибо

1 Ответ

2 голосов
/ 19 мая 2011

Нет способа сделать это. Это связано с тем, что во многих странах, которые вы имеете в виду, не существует языка по умолчанию.
Например, в США нет официального языка . Хотя английский язык используется большинством его граждан, он не по умолчанию . Другим интересным примером будет Швейцария. Его граждане пользуются французским, немецким, итальянским и романским языками. Ни один из них по умолчанию .

Именно поэтому такого API нет.

Edit:

Как я уже говорил, во многих странах нет такого понятия, как default language. Я даже привел пример страны с более чем одним основным языком (немецкий и французский). Для всех вас, которые все еще не могут понять, что это действительно не имеет смысла , я дам вам подсказку, как угадать наиболее вероятный язык:

Общая языковая информация о хранилище данных о языках

Если вы все еще не можете понять, почему ограничение одним языком на страну, вероятно, не лучшая идея, я сдаюсь.

...