国際対応の INF ファイルの作成

国際市場対応の装置を作成するには、ロケール固有の INF ファイルと、場合によってはロケール固有のドライバーファイルを提供する必要があります。

国際市場で使用される INF ファイルでは、ユーザーが表示できる全テキストに %strkey% トークンを使用する必要があります。 文字列は INF の文字列セクションで定義され、これは通常、INF ファイルの末尾にあります。

ロケール固有の INF ファイル

複数のロケールをサポートする単体の INF ファイルを作成することも、次のガイドラインに従ってロケールごとに個別の INF ファイルを作成することもできます。

  • 単体のインターナショナル INF ファイルを作成するには、ロケール固有の文字列のセットを含める必要があります。LanguageID セクションで、INF 文字列セクションのリファレンスページでの説明に準じます。 すべての国際市場に単一のインストールメディアを提供する場合は、この手法を使用します。

    Windows 2000 とそれ以降のバージョンの Windows へのインストールでは、これは国際市場をサポートするためにお勧めする方法です。

  • ロケールごとに個別の INF ファイルを作成するには、文字列セクションを除く、すべての必要なセクションとエントリを含むメイン INF ファイルから始めます。 次に、二つ目のファイルセットを作成します。各ファイルには、サポートされているロケールの 文字列 セクションだけが含まれています。 メインファイルを各文字列ファイルと連結して、ロケール固有の INF ファイルを生成します。

    Windows 2000 とそれ以降のバージョンの Windows へのインストールでは、国際市場ごとに個別のインストールメディアを提供する場合に限定でこの方法を使用します。 使用する INF ファイルを Windows が判断できないため、単体のインストールメディアで、特定のオペレーティングシステムバージョンに対して複数のバージョンの INF ファイルを指定することはできません。

ドライバファイルのロケール固有のバージョン

Windows 2000 とそれ以降のバージョンの Windows 用のドライバファイルのロケール固有のバージョンを提供する必要がある場合は、各ファイルの各バージョンをロケールでマークします。 ロケール固有ではないファイルは、ニュートラル言語のファイルとしてマークしてください。 これを行うには、リソースファイルに次のマクロ定義を追加します。

#define VER_LANGNEUTRAL

この定義は、common.verを含むプリプロセッサディレクティブの前に記述する必要があります。

ファイルをコンパイルした後、次の手順を実行して、それぞれがニュートラル言語としてマークされていることを確認できます。

  1. Windows エクスプローラでファイルを右クリックします。

  2. [プロパティ] をクリックします。

  3. [バージョン] タブをクリックします。

該当の他のバージョン情報のペインで言語の選択肢には、ファイルをニュートラル言語として、または特定のロケールを対象として識別する値が含まれています。

単独のロケール固有のファイルを、/English や /German などのディストリビューションメディアのロケール固有のサブディレクトリに配置します。 INF ファイルで、次の操作を行います。

  • INF SourceDisksFiles セクション内で、%LocaleSubDir%などの文字列キートークンを使用してロケール固有のサブディレクトリを指定します。

  • 言語ごとに個別の INF 文字列セクションを指定し、各セクションで適切なサブディレクトリ名の文字列を定義します。

次に例を示します。

[SourceDisksNames]
1=%DiskName%,,,%LocaleSubDir%

[SourceDisksFiles]
mysftwre.exe=1

[Strings]              ; No language ID implies English
DiskName="My Excellent Software"
LocaleSubDir="English"
[Strings.0407]         ; 0407 is the language ID for German
DiskName="Meine ausgezeichnete Software"
LocaleSubDir="German"

ユニコード INF ファイルの作成

INF ファイルに ASCII 範囲外の文字 (つまり、0 から 127 の範囲外) が含まれている場合、INF ファイルはユニコード (UTF-16) 形式である必要があります。 ユニコード INF ファイルを作成するひとつの方法は、メモ帳などのアプリケーションを使用してユニコード (UTF-16) 形式で保存することです。 INF がユニコード (UTF-16) 形式でない場合、Windows は現在のロケールを使用して文字を翻訳します。 INF ファイルが ユニコード (UTF-16) 形式の場合、Windows で完全なユニコード文字セットが使用されます。

メモ帳などの一部のアプリケーションでは、リトルエンディアン形式またはビッグエンディアン形式でユニコード (UTF-16) ファイルを作成できます。 Windows では、いずれかの形式を使用する INF ファイルがサポートされています。