2009-03-18 2 views
0

В моем проекте каждая страница переводится на несколько языков. Для этой цели я передаю параметр sitelanguage для каждого действия. Мой пользовательский класс базового контроллера ловит этот параметр «siteLanguage» и заботится о дальнейшей логике перевода.Где разместить мой параметр siteLanguage (проблема с перекрестными ссылками?)

Это работает отлично, только сейчас я должен добавить строку под названием sitelanguage для каждой сигнатуры процедуры действия, чтобы мой базовый контроллер мог ее поймать. Я ничего не делаю с этим параметром в моей логике действительного действия.

Есть ли лучший способ сделать это?

+0

Как насчет использования CurrentCulture и CurrentUICulture? –

+0

Во-первых, они ненадежны. Во-вторых, он будет использоваться в терминалах, где работают люди всех национальностей. –

+0

Неуверенный, каким образом? Вы можете установить их на основе заголовков Accept-Language или любого другого, что вам нравится. Они останутся установленными и будут использоваться всеми кодами, чувствительными к культуре. Если киоск позволяет пользователю выбирать, то установите CurrentCulture из пользовательского выбора. –

ответ

1

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

Я бы предложил Культуру и CurrentCulture и т. Д., Но, конечно, это не работает, если вы англоговорящий человек, который выходит из Франции. Я обычно привязываю язык к предпочтениям пользователей в базе данных, хотя, насколько мне известно, ваш сайт может не требовать входа в систему как таковой.

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