ASP.NET MVC: Когда установить Поток. CurrentThread. CurrentUICulture?

select t1.*, sq.*
from table1 t1,
   (select a,b,c from table2 ...) sq
where ...
28
задан Robert Claypool 16 May 2019 в 15:28
поделиться

2 ответа

Вот пример использования HttpModule:

http://weblogs.manas.com.ar/smedina/2008/12/17/internationalization-in-aspnet-mvc/

Другие варианты, создать базовый класс Controller и реализовать там логику локализации. Или используйте атрибут фильтра действий, но вам нужно не забыть добавить его на каждый контроллер или объединить этот подход с базовым классом контроллера.

13
ответ дан 28 November 2019 в 03:53
поделиться

Request.UserLanguages ​​[0] может быть только подсказкой, какой язык хотят видеть пользователи. Большинство пользователей не знают, где изменить язык браузера.

Еще один момент: не убедитесь, что Request.UserLanguages ​​[0] - допустимый язык. Может даже быть нулевым. (Не уверен, что там есть у ботов)

Обычно на странице есть средство выбора языка. После того, как пользователь выбрал язык, он сохраняется в файле cookie, сеансе или URL-адресе. Мне нравится использовать url, потому что он выглядит красиво.

Если пользователь видит вашу страницу, не установив язык на ней, вы должны проверить, является ли Request.UserLanguages ​​[0] языком, который вы поддерживаете, и установите Thread.CurrentThread .CurrentUICulture.

Я использую фильтр для установки Thread.CurrentThread.CurrentUICulture. Это нормально, если никакой другой фильтр не использует Thread.CurrentThread.CurrentUICulture.

6
ответ дан 28 November 2019 в 03:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: