ASP.NET Создание определенной культуры с помощью кода языка nb (букмол)
Вопрос
У меня есть веб-сайт ASP.NET 3.5
Почему я не могу создать особую культуру для языка букмал следующим образом:
родовое словоЯзык "en" работает нормально, в результате получается "en-US".Я думал, что с «nb» я могу сделать то же самое и получить культуру «nb-NO».Но с "nb" я получаю ошибку:
<цитата>Культура nb не поддерживается.
Я объясню, зачем мне это было нужно.
Я получил список культур: "nl-NL", "nl-BE", "nb-NO", "fr-CH", "fr-FR" «Хочу, чтобы я хотел» был уникальный список языков с культурами по умолчанию.Поэтому я создаю список с уникальными языками, в результате которого получаются «nl», «nb», «fr».Далее мне нужны конкретные культуры, но nb не работает.Я хотел этого, потому что в уникальном списке выбрано nl-BE вместо nl-NL по умолчанию.
Но тогда я просто буду использовать "nl-BE", когда выбран голландский язык, и помещу культуры в список уникальных культур.Результатом этого списка станет «nl-BE», «nb-NO», «fr-CH».
Решение
Вы не можете предполагать, что существует соответствие между названиями языков и отношениями родитель-потомок между объектами CultureInfo.Иерархия также зависит от версии Windows.
Согласно документации для NLS API , "nb"культура существует в Windows 7, но не в Windows Vista.
На моем компьютере с Windows 7 иерархия культуры для букмола находится в порядке от дочерних к родительским
- nb-NO
- nb
- нет
- Инвариантная культура
Короче говоря, вы должны использовать свойство Parent объекта CultureInfo вместо того, чтобы выполнять строковые манипуляции.
Другие советы
Я не понимаю, почему это не работает.Эти три имени ниже дают мне правильную культуру
Попробуйте:
родовое словоUnitTest:
родовое слово