次の方法で共有


ロケールと言語

"language" という用語は、音声および書き込み通信で使用されるプロパティのコレクションを示します。 各言語には、オペレーティング システム上の言語の 地理的な場所 を表すために使用される特定の コード ページ (ANSI、DOS、Macintosh) を示す言語名と言語識別子があります。 ニュートラル言語は、英語の場合は "en" などの名前で示されます。 より地理的に特定の言語は、ロケールと国/地域の両方の情報を含む名前で示すことができます。 たとえば、ロケール英語 (米国) の言語名は "en-US" です。

"locale" は、値のリストとして表される言語関連のユーザー設定情報のコレクションです。 Windows XP は 150 を超えるロケールをサポートし、Windows Vista は約 200 をサポートしています。 各ロケールは、言語と並べ替え順序によって定義され、ロケール名とロケール識別子の両方を持ちます。 ドイツ語 (ドイツ) のロケール名の例として、"de-DE_phonebook" があります。

各オペレーティング システムには少なくとも 1 つのロケールがインストールされており、ユーザーが選択できるロケールが多数あります。 各ロケールには、名前と識別子以外のさまざまな情報が関連付けられています。 ロケール情報の種類については、ロケール情報定数 で説明されています。

オペレーティング システムは、各スレッドにロケールを割り当て、最初に LOCALE_SYSTEM_DEFAULTによって定義された "システムの既定のロケール" を割り当てます。 このロケールは、オペレーティング システムがインストールされている場合、またはユーザーがコントロール パネルの地域と言語のオプション部分を使用して選択したときに設定されます。 ユーザーに属するプロセスでスレッドを実行すると、オペレーティング システムによって "ユーザーの既定のロケール" がスレッドに割り当てられます。 このロケールは、LOCALE_USER_DEFAULTによって定義されます。 アプリケーションは、SetThreadLocale 関数を使用して、スレッドのロケールを明示的に設定することで、いずれかの既定値をオーバーライドできます。

言語の実装には、対応するロケールが必要です。 オペレーティング システムは、言語の特定のバージョン (通常は最も広く普及しているロケール) に関連付けられているロケールのデータを選択することで、ニュートラル言語を実装します。

Windows Vista 以降では、特定の言語が、カスタム ロケールの一種である補足ロケールに対応できます。 補助ロケールはすべて 1 つのロケール識別子を共有するため、アプリケーションはこれらのロケールと対応する言語を識別子ではなく名前で処理する必要があります。

言語の概念はロケールの概念と密接に関連していますが、2 つの用語は交換可能ではありません。 一般に、多言語ユーザー インターフェイスに関連する関数 言語を扱い、NLS 関数はロケールに基づいて動作します。

このセクションでは、次のトピックについて説明します。

言語サポート について

コード ページの

ロケール情報定数

多言語ユーザー インターフェイスの

地理的な場所のテーブル

ユーザー インターフェイス言語管理

SetThreadLocale