hereと記載されているように、Application_BeginRequestイベントで指定されたカルチャでCultureInfoオブジェクトを設定できますが、アプリケーションの起動時に各要求に対して実行する必要はありません。アプリケーション全体のローカライゼーションを設定するには?
私が想像できることは、Application_Startイベントを使用することができますが、グローバルカルチャの設定方法はわかりません。
hereと記載されているように、Application_BeginRequestイベントで指定されたカルチャでCultureInfoオブジェクトを設定できますが、アプリケーションの起動時に各要求に対して実行する必要はありません。アプリケーション全体のローカライゼーションを設定するには?
私が想像できることは、Application_Startイベントを使用することができますが、グローバルカルチャの設定方法はわかりません。
あなたのweb.configファイルで設定し、それを:ここ
<globalization uiCulture="es" culture="es-MX" />
さらに詳しい情報:http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
Thread.CurrentThread.CurrentUICulture
覚えておいて、これはのWinFormアプリがコンピュータから得ているだろう設定をオーバーライドしています。たとえば、ユーザーにカスタム日付形式が定義されている場合は、これが置き換えられます。
ガタカの答えが正しいですが、あなたが本当に動的に利用者の好みやブラウザのに基づいてのCultureInfoを変更したい場合最適な場所は、ページクラスのInitializeCultureメソッドをオーバーライドすることです。したがって、これに基本クラスを書くことができます。
保護されたオーバーライド無効InitializeCulture(){
LanguageHelper.RestoreUserLangugagePreferrenceIfAvailabe();
}
もちろん、あなたが変更に基本クラスを必要とするので、これは、オーバー殺すようです。あなたのコードを注入するためにモジュールを使うのと同じように置くべき場所がありますが、私はこれらすべての解決策、page_loadイベントを試していますが、それらはすべて.net localization architectureで100%動作しません。 localresourceファイル、グローバルリソースファイルを試してみると、私の言いたいことが分かります。