2009-05-08 3 views
1

Я знаю, что я могу установить объект CultureInfo с указанной культурой в событие Application_BeginRequest, как описано here, но я не хочу делать это для каждого запроса, но при запуске приложения.Как настроить локализацию для всего приложения?

Все, что я могу себе представить, это то, что я могу использовать событие Application_Start, но я не знаю, как установить глобальную культуру.

ответ

1

Thread.CurrentThread.CurrentUICulture

Имейте в виду, это переопределение настройки, приложение WinForm будет нечестным с компьютера. Например, если пользователь имеет определенный формат даты, это заменит это.

1

Гаттака является правильным, но если вы действительно хотите динамически изменять CultureInfo на основе предпочтений использования или браузера языка, лучшее место - переопределить метод класса «InitializeCulture». Таким образом, вы можете написать базовый класс.

защищены переопределения недействительным InitializeCulture() {

LanguageHelper.RestoreUserLangugagePreferrenceIfAvailabe(); 

}

Конечно, это, кажется, более чем убить, потому что вам потребуется изменить базовый класс. Есть и другое место, например, использование модуля для ввода кода, но я стараюсь использовать все эти решения, событие page_load, но все они не работают на 100% с архитектурой локализации .net. Попробуйте файл localresource, файл глобальных ресурсов, и вы увидите, что я имею в виду.

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