web-dev-qa-db-ja.com

CultureInfoで現在の言語を取得する

CultureInfoを使用してオペレーティングシステムの言語を識別する方法例えば。 Windowsの言語がフランス語に設定されている場合、フランス語を特定し、frリソースファイルデータを読み込む必要があります。

43
Sharpeye500

次のようなものが現在のCultureInfoを提供すると思います。

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;

それはあなたが探しているものですか?

64
Brosto

これは私が使用したものです:

var culture = System.Globalization.CultureInfo.CurrentCulture;

そしてそれは働いています:)

18
smukamuka

現在のシステム言語は、次を使用して取得されます。

  CultureInfo.InstalledUICulture

「オペレーティングシステムと共にインストールされたカルチャを表すCultureInfoを取得します。」

InstalledUICulture

スレッドのデフォルト言語として設定するには、次を使用します。

   System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;
9
DominicusPlatus

私は試した {CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;}しかし、私のUI文化は私の数/通貨文化とは異なっていたので、私にはうまくいきませんでした。使用することをお勧めします:

CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;

これにより、UIの文化(ウィンドウ上のテキスト、メッセージボックスなど)が得られます。

2文字のISO 639-1言語識別子を取得するには、次を使用します。

System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
3
primehunter