Локализовать сайт DNN через CodeBehind - PullRequest
0 голосов
/ 01 ноября 2009

У меня есть портал с двумя разными псевдонимами, один для каждого языка: - ru.mysite.com - it.mysite.com

Теперь у меня проблема с тем, чтобы на первом портале был английский, а на втором - итальянский.

Я добавил следующую строку в default.vb.aspx в Page_Load:

Если Request.Url.Host = "en.mysite.com", то System.Threading.Thread.CurrentThread.CurrentCulture = Новая System.Globalization.CultureInfo ("en-GB") ElseIf Request.Url.Host = "it.mysite.com" Тогда System.Threading.Thread.CurrentThread.CurrentCulture = Новая System.Globalization.CultureInfo ("it-IT") еще System.Threading.Thread.CurrentThread.CurrentCulture = Новая System.Globalization.CultureInfo ("en-GB") Конец, если

Это частично работает, переменная LOCALE установлена ​​правильно, но я заметил, что:

  • комбинированный список языков установлен неправильно
  • html-тег не изменяется, он всегда остается с языком портала по умолчанию, в моем случае это-IT
  • модуль локализации не запускается, например, использование Locopon для изменения TabName для каждого языка не работает.

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

спасибо

1 Ответ

0 голосов
/ 01 ноября 2009

Вы должны установить его намного раньше, чем Page_Load, переопределив InitializeCulture (). Это делает его немного сложным при взаимодействии с другими вещами (например, если вы хотите установить его из элемента управления формой, вам нужен прямой доступ к запросу). Вот основы:

http://msdn.microsoft.com/en-us/library/bz9tc508.aspx

...