ロケール名
ロケール名は、IETF BCP 47 (Windows Vista 以降) の言語タグ付け規則に基づいており、LOCALE_SNAMEで表されます。 一般に、パターン <language>-<REGION>
が使用されます。 ここで、言語は小文字の ISO 639 言語コードです。 ISO 639-1 のコードは、使用可能な場合に使用されます。 それ以外の場合は、ISO 639-2/T のコードが使用されます。 REGION は、大文字の ISO 3166-1 国/地域識別子を指定します。 たとえば、英語 (米国) のロケール名は "en-US" で、Divehi (モルディブ) のロケール名は "dv-MV" です。
注意
定数 LOCALE_NAME_MAX_LENGTH は、ロケール名の最大長を示します。 終端の null 文字のスペースが含まれています。
ロケールがニュートラル ロケール (リージョンなし) の場合、 LOCALE_SNAME 値は パターン <language>
に従います。 スクリプトが重要なニュートラル ロケールの場合、パターンは です <language>-<Script>
。
ロケールを別のスクリプトを使用して同じ言語と地域の別のロケールと区別する必要がある場合、LOCALE_SNAME値は パターン <language>-<Script>-<REGION>
に従います。ここで、Script は初期大文字 の ISO 15924 スクリプト コードです。 たとえば、特定のロケールウズベク語 (ラテン、ウズベキスタン) のLOCALE_SNAME値は "uz-Latn-UZ" です。 言語が一般的に 1 つのスクリプトでのみ記述される場合、スクリプト コンポーネントは含まれません。
ロケールの並べ替え順序は、 SORT_DEFAULTなどの並べ替え順序識別子を使用して指定されます。 同じ言語と地域の 2 つ以上の並べ替え順序を区別するために、ロケール名は パターン <language>-<REGION>\_<sort order>
に従います。 スクリプトと並べ替え順序の両方を区別する必要がある場合、名前は パターン <language>-<Script>-<REGION>\_<sort order>
に従います。 既定の並べ替え順序は明示的に指定されることはなく、代替の並べ替え順序のみが指定されます。 たとえば、SORT_DEFAULTまたは数値に等しいSORT_HUNGARIAN_DEFAULTを持つハンガリー語 (ハンガリー) は、"hu-HU" と指定されます。 並べ替え順序がSORT_HUNGARIAN_TECHNICALハンガリー語 (ハンガリー) は"hu-HU_technl" に指定されています。
置換ロケールの場合、ロケール名は、置き換えられるロケールの名前と同じである必要があります。 補足ロケールの場合、ロケール名は または <language>-<Script>-<REGION>-x-<custom>
の<language>-<REGION>-x-<custom>
パターンに従う必要があります。ここで<custom>
、 は補助ロケールに固有の英数字文字列です。 たとえば、Fabricam という会社に固有の補足ロケールを "en-US-x-fabricam" と呼ぶ場合があります。
アプリケーションは、 GetSystemDefaultLocaleName 関数と GetUserDefaultLocaleName 関数を使用して、現在 のロケール名を 取得できます。 各スレッドは 、GetThreadLocale を使用して独自のロケール識別子を取得して設定し、 SetThreadLocale で設定できますが、ロケールを名前で取得および設定する類似の関数はありません。