2015-03-11 5 views
1

Я использую .NET 3.5 и работает следующий код:.NET Chinese CultureInfo "zh" не существует?

var culture = new CultureInfo("zh"); // Throws ArgumentException 

Я получил строку «ZH» из XML-атрибута: языки. Я не понимаю, почему выбрано исключение, потому что, например, «de» (родительский «de-DE») работает нормально. Культура «zh-CN» действительно работает, но я ничего не могу использовать.

Edit: Он работает на .NET 4.5.1 (благодаря Ксанатосу) - так что даже если страница MSDN объясняет, что китайский язык является исключением, поведение отличается в более новых версиях .NET.

+1

В .NET Framework нет культуры как только «zh». Вы можете проверить: https://msdn.microsoft.com/en-us/library/ee825488%28v=cs.20%29.aspx –

+1

@ SonerGönül Under .NET 4.5 работает :-) – xanatos

+0

@ SonerGönül Это * Торговля Server 2002 * – xanatos

ответ

0

В .NET 3.5 «zh» не работает, вместо этого используйте «zh-Hans» или «zh-Hant». Не нашел лучшего решения. Или переключитесь на .NET 4.5.

4

Существует небольшая заметка на странице CultureInfo:

Есть два названия культуры, которые противоречат этому правилу. Культуры китайского языка (упрощенный), названные zh-Hans и китайский (традиционный), названный zh-Hant, являются нейтральными культурами. Названия культур представляют собой текущий стандарт и должны использоваться, если у вас нет причины использовать более старые имена zh-CHS и zh-CHT.

Таким образом, вы можете попробовать zh-Hans или zh-Hant

И/или вы можете увидеть What cultures are supported by the CultureInfo class in .NET 3.5?

Принятый ответ говорит:

К сожалению, зависимые от ОС. Проверьте здесь поддержку по умолчанию для каждой ОС.

+0

Его не ответ, это зависит от ОС, но зависит от версии .NET. – Richie

 Смежные вопросы

  • Нет связанных вопросов^_^