Поддержка дополнительного языка в локализации ASP.NET - PullRequest
2 голосов
/ 30 марта 2012

ASP.NET имеет встроенную функциональность для автоматической загрузки правильного файла языковых ресурсов на основе предпочтительного языка браузера.

Например, если у посетителя выбран датский язык (da) в качестве предпочтительного языка,и на сайте есть файл * .da.resx, тогда этот ресурс используется.Когда файл предпочитаемого ресурса недоступен, ASP.NET возвращается к файлу базового / стандартного ресурса (* .resx).

Теперь браузеры позволяют указывать более одного предпочтительного языка.Если посетитель будет говорить по-датски, но добавит норвежский в качестве второго языка в настройки браузера (на норвежском языке он на 95% идентичен датскому), то браузер отправит «да, нет; q = 0,9» на веб-сервер.Тем не менее, кажется, что этот дополнительный язык не поддерживается ASP.NET;* .no.resx не будет загружен, если * .da.resx недоступен.

Кто-нибудь знает, как поддерживать дополнительные языки?

1 Ответ

0 голосов
/ 30 марта 2012

Обратите внимание, что ASP.NET только автоматически обрабатывает первую запись в поле заголовка accept-languages, чтобы определить, какую культуру использовать, если в файле web.config включен enableClientBasedCulture.

Если вы хотите расширить это и изучить другие языковые записи (если таковые имеются) в списке допустимых языков, чтобы увидеть, есть ли у вас совпадение, вам придется сделать это программно и установить Thread.CurrentThread.CurrentUICulture (который использует ResourceManager найти соответствующие локализованные ресурсы) и Thread.CurrentThread.CurrentCulture (которые будут контролировать способ представления и обработки типов данных с учетом локали). Это объясняется здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...