CultureInfo
を使用してオペレーティングシステムの言語を識別する方法例えば。 Windowsの言語がフランス語に設定されている場合、フランス語を特定し、fr
リソースファイルデータを読み込む必要があります。
次のようなものが現在のCultureInfoを提供すると思います。
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
それはあなたが探しているものですか?
これは私が使用したものです:
var culture = System.Globalization.CultureInfo.CurrentCulture;
そしてそれは働いています:)
現在のシステム言語は、次を使用して取得されます。
CultureInfo.InstalledUICulture
「オペレーティングシステムと共にインストールされたカルチャを表すCultureInfoを取得します。」
スレッドのデフォルト言語として設定するには、次を使用します。
System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;
私は試した {CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;}
しかし、私のUI文化は私の数/通貨文化とは異なっていたので、私にはうまくいきませんでした。使用することをお勧めします:
CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;
これにより、UIの文化(ウィンドウ上のテキスト、メッセージボックスなど)が得られます。
2文字のISO 639-1言語識別子を取得するには、次を使用します。
System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;