2012-12-18 19 views
5

私は複数のプロジェクトとスレッドを持つソリューションで複数の言語をサポートしようとしています。ソリューション全体の現在のカルチャを設定する

リソースファイルは2つあります.1つは英語文字列、もう1つはフランス語文字列です。

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(isEnglish ? "en-US" : "fr-CA"); 

は、ソリューション全体のために、世界的に現在のカルチャを設定する方法はありますか、私はする必要がある各スレッドのためにこれをしなければならない操作を行います。次のように私は、現在のカルチャを設定してい

アクセス文字列?

答えて

10

.NET Framework 4.5では、CultureInfo.DefaultThreadCurrentCulture Propertyは、現在のアプリケーションドメイン内のスレッドの既定のカルチャを取得または設定します。

デフォルトでは、すべてのスレッドのculture はWindowsシステムカルチャに設定されています。現在のカルチャーがデフォルトのシステムカルチャと異なるアプリケーション の場合、この の動作はしばしば望ましくありません。 .NET Framework 4.5では、 DefaultThreadCurrentCultureプロパティを使用すると、アプリケーションドメイン内のすべてのスレッドの既定のカルチャである を定義できます。

0

CurrentThreadを設定すると、アプリケーションの持続時間に設定されます。 UIを初期化する前に必ず実行してください。詳細はMSDN blogを参照してください。

4

あなたは、web.configファイルでSystem.Webの内グローバリゼーションのセクションを追加することができます

<globalization culture="en-US" uiCulture="en-US" /> 
関連する問題