読者です 読者をやめる 読者になる 読者になる

酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windowsストアアプリで現在表示に使われている言語を取得する

C# Windows Store Apps

Windowsストアアプリで、ユーザーによって現在の表示設定されている言語を取得します。

現在、表示に使われている言語を取得する

Windows.Globalization名前空間を使って表示言語を取得する

Windows.Globalization名前空間のApplicationLanguagesクラスのLanguagesプロパティで、ユーザーが優先する現在のランタイム言語値の順位リストを取得することができます。1番目に登録されているのが表示に使用されている言語となっています。

例えば、デフォルトの言語が「英語」で、表示言語が「日本語」の場合のみ、専用のキーワードを返すGetTitleメソッドを以下のように作成します。

// using Windows.Globalization;

public string GetTitle()
{
    var title = Title_en;

    var lang = ApplicationLanguages.Languages.FirstOrDefault();
    if (lang == "ja")
    {
        title = Title_jp;
    }

    return title;
}

System.Globalization名前空間を使って表示言語を取得する

もしくは、System.Globalization名前空間のCultureInfoクラスのCurrentCultureプロパティで現在設定している「カルチャ」を取得することができます。カルチャの名前、使用する暦や日付の並び順などを取得することができます。

// using System.Globalization;

public string GetTitle()
{
    var title = Title_en;

    var cultureName = CultureInfo.CurrentCulture.Name;
    if (cultureName.StartsWith("ja"))
    {
        title = Title_jp;
    }

    return title;
}

関連記事

WindowsランタイムAPI(Windows Runtime API, WinRT API)を使ってアプリ開発する際に逆引きとしてお使いください。