ロケール名
ロケール 名は、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>
に従います。スクリプトは初期大文字 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>-<REGION>-x-<custom>
または <language>-<Script>-<REGION>-x-<custom>
のパターンに従う必要があります。ここで、<custom>
は補助ロケールに固有の英数字文字列です。 たとえば、Fabricam という会社に固有の補足ロケールを "en-US-x-fabricam" と呼ぶ場合があります。
アプリケーションは、GetSystemDefaultLocaleName を使用して現在のロケール名を取得し、GetUserDefaultLocaleName関数をできます。 各スレッドは、GetThreadLocale を使用して独自のロケール識別子を取得して設定し、SetThreadLocale設定できますが、名前でロケールを取得および設定する類似の関数はありません。
関連トピック
カスタム ロケール の
ロケール識別子 の
並べ替え順序識別子 を する