Как изменить язык приложения в ASP.NET?

Я разрабатываю приложение с ASP.NET 3.5 и читал, что язык, на котором отображается приложение, является языком навигатора.

Есть ли способ программно выбрать язык приложения? Например, я хочу видеть приложение на английском языке, но мой Internet Explorer на испанском языке.

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


person VansFannel    schedule 25.05.2009    source источник
comment
Непрограммное решение: В т.ч. зайдите в инструменты-›параметры и нажмите кнопку выбора языка. Здесь вы можете добавить языки и временно переместить английский в начало списка, это изменит порядок местных жителей, т.е. использует для выбора языка для отображения. Если есть английская версия, она будет использоваться перед испанской, а затем, когда вы закончите, переместите английскую версию вниз по стеку.   -  person Binary Worrier    schedule 25.05.2009
comment
Извините, может быть, вы не видите тег C# в моем вопросе или, может быть, вы не понимаете мой вопрос. Я хочу изменить язык своего приложения, а не язык Internet Explorer.   -  person VansFannel    schedule 25.05.2009
comment
Спасибо за комментарий, мой друг :)   -  person Kirtan    schedule 25.05.2009


Ответы (4)


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

CultureInfo ci = new CultureInfo("en-US", false);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
person Kirtan    schedule 25.05.2009

Вы спрашиваете, как изменить принятый язык вашего браузера? См. http://windowshelp.microsoft.com/Windows/en-US/help/7b4a0825-28e2-4929-82f6-1feac4adb6f31033.mspx для получения инструкций для IE 7 и IE 8. Вам нужен раздел «Добавление языка в Internet Explorer».

person Matthew Flaschen    schedule 25.05.2009
comment
Нет, я спрашиваю, как программно изменить язык моего приложения. - person VansFannel; 25.05.2009
comment
Вы могли бы понятнее объяснить. Конкретное упоминание Internet Explorer и его текущих языковых настроек, очевидно, заставляет людей думать, что ваш вопрос связан с... Internet Explorer. Надеюсь, ответ Киртана поможет вам. - person Matthew Flaschen; 25.05.2009

Вы также можете установить его в web.config:

<configuration>
 <system.web>
  <globalization
    requestencoding="utf-8"
    responseencoding=" utf-8"
    fileencoding=" utf-8"
    culture="en-US"
    uiculture="en-US" />
 </system.web>
</configuration>

Или на уровне страницы:

<%@ Page Culture="en-US" UICulture="en-US" ResponseEncoding="utf-8"%>
person fretje    schedule 25.05.2009
comment
Язык является предпочтением пользователя. Я должен взять это предпочтение из SQL Server, а затем изменить язык приложения. - person VansFannel; 25.05.2009
comment
Хорошо, тогда вы должны сделать это, как предлагает Киртан... Я добавил это только для полноты картины ;-) - person fretje; 25.05.2009

Вы можете использовать этот <globalization culture="en-US" uiCulture="en-US"/> в разделе <system.web> файла web.config.

person iburlakov    schedule 25.05.2009