ローカライズ可能性テストに擬似ロケールを使用する

擬似ロケール は Windows Vista 以降に組み込まれているため、National Language Support (NLS) API を介してアクセスできます。 疑似ロケールを使用すると、アプリケーションのローカライズ可能性をテストできます。 このトピックでは、擬似コードを使用する手順について説明します。

Note

疑似ロケールに関して特別な考慮を要するタスクの 1 つは、コード内またはコントロール パネルの地域/言語オプション部分での、疑似ロケールの列挙です。 このトピックについては、後で詳しく説明します。

擬似ロケールの名前には、"qps-ploc"、"qps-ploca"、および "qps-plocm" があります。 Windows 10 以降では、擬似ロケール "qps-Latn-x-sh" も使用できます。

擬似ロケールに関する情報を取得する

GetLocaleInfoEx を使用すると、擬似ロケールに関する情報を取得できます。 使用するには、特定の疑似ロケールの名前を関数に渡します (名前については、上記の一覧を参照してください)。 たとえば、ミラー化された擬似ロケールの場合は "qps-plocm" です。

wchar_t languageIdentifier[5];
int rc{ ::GetLocaleInfoEx(L"qps-plocm", LOCALE_ILANGUAGE, languageIdentifier, 5) };

擬似ロケールを指定して LocaleNameToLCID を使用する

擬似ロケールの名前を指定して、NLS マッピング関数 LocaleNameToLCID を呼び出すことができます。

LCID lcid{ ::LocaleNameToLCID(L"qps-plocm", 0) };

疑似ロケールを列挙に対して有効にする

アプリケーションで EnumSystemLocalesEx を呼び出すと、システムで認識されているロケールを列挙できます。 コントロール パネルの地域/言語オプションの部分でも EnumSystemLocalesEx の呼び出しにより、表示するロケールの一覧を作成しています。 ただし既定では、上記の 4 つの疑似ロケールをシステムが認識しないため、EnumSystemLocalesEx でもこれらのロケールは返されません。

Note

Windows 10 バージョン 1709 以前: Windows レジストリにキーを追加して擬似ロケールを有効にします。 この編集は、オペレーティング システムにインストールされている言語の HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls キー以下で行います。 以下に示されている各キーは、有効にする擬似ロケールに対応する 16 進の LCID です。 それぞれの値は、文字列型 (REG_SZ) です。

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Locale]
"00000501"="1" // qps-ploc (Windows Vista and later)
"000005fe"="7" // qps-ploca (Windows Vista and later)
"00000901"="1" // qps-Latn-x-sh (Windows 10 and later)
"000009ff"="d" // qps-plocm (Windows Vista and later)

Windows 10 バージョン 1803 以降: Windows レジストリの編集に効力はありません。 ただし、擬似ロケールの名前を指定して非列挙型 NLS API を呼び出し、ユーザー インターフェイス (UI) に情報を設定することは可能です。