Как мне указать моей веб-странице использовать определенную культуру пользовательского интерфейса? - PullRequest
2 голосов
/ 22 сентября 2010

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

System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

Код выше только набор CultureInfo, а не UICulture, как я могу сообщить странице в обход, что браузер говорит и использовать определенный, чтобы все GlobalResource могли быть применены к правильной культуре?

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

System.Globalization.CultureInfo.CurrentUICulture.Name --> sv-SE
System.Globalization.CultureInfo.CurrentCulture.Name --> en-US

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

альтернативный текст http://www.balexandre.com/temp/2010-09-22_1645.png

Ответы [ 2 ]

4 голосов
/ 22 сентября 2010

Попробуйте

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

Я попробовал это в OnInit моей страницы, и он загрузил ресурсы правильно.

РЕДАКТИРОВАТЬ : или вы можете попробовать установить его вweb.config как показано здесь:

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

1 голос
/ 22 сентября 2010

На веб-сайте MSDN есть пример, объясняющий, как это сделать: Как: установить культуру и культуру пользовательского интерфейса для глобализации веб-страниц ASP.NET

По сути, вы можете установитьCurrentCulture и CurrentUICulture свойства текущего выполняющегося потока (полный пример кода см. В статье, это выдержка):

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);
...