ローカライズしたリソースの追加
アプリケーションによっては、ローカライズで、ファイルやレジストリ キーなどのリソースの変更または追加が必要になる場合があります。 サンプル アプリケーション MNP2000 のローカライズでは、パッケージに 1 つのファイル (Fre.txt) とフランス語バージョンの 2 つの既存のファイル (Help.txt と Readme.txt) を追加する必要があります。
この場合のベスト プラクティスは、英語とフランス語のバージョンがコンピューター上で安全に共存できるようにパッケージをローカライズすることです。 このためには、同じファイル名を持つ 2 つの異なるファイルを決して同じディレクトリにインストールしないようにします。 Help.txt と Readme.txt のファイル名は 2 つの言語バージョンで同じであるので、フランス語パッケージではこれらのファイルを英語とは異なるディレクトリにインストールする必要があります。
フランス語パッケージでは、RedPark フォルダーの新しいサブディレクトリ (French) に Help.txt をインストールします。 Fre.txt を追加すると、元のヘルプ コンポーネントにリソースが追加されるため、ヘルプ コンポーネントのコンポーネント コードはフランス語と英語のパッケージで異なる必要があります。 コンポーネント コードの変更に関する記事で、コンポーネント コードの規則を参照してください。
このファイル名が英語バージョンと競合できないように、フランス語パッケージによって Readme.txt が French ディレクトリにインストールされます。 ファイル Readme.txt はメモ帳コンポーネントと共にインストールされますが、コンポーネントの規則ではコンポーネント コードの変更は必要ありません。 この例では、RedPark.exe と Registry テーブルで指定されたレジストリ値は両方の言語バージョンで共有されるため、メモ帳のコンポーネント コードを変更しないでください。 「レジストリ情報の追加」を参照してください。
ソース ファイルから英語バージョンの Help.txt と Readme.txt を削除し、Help.txt、Readme.txt、Fre.txt の新しいフランス語バージョンを追加します。 ローカライズされたパッケージでは、次のようにソースからターゲットにファイルのインストールをマップする必要があります。
ファイル | 説明 | ソースのパス | ターゲットのパス |
---|---|---|---|
Redpark.exe | テキスト エディターの実行可能ファイル。 | C:\Sample\Notepad\Redpark.exe | [ProgramFilesFolder]\Red_Park\French\Redpark.exe |
Readme.txt | 情報ファイル。 | C:\Sample\Notepad\Readme.txt | [ProgramFilesFolder]\Red_Park\French\Readme.txt |
Help.txt | ヘルプ マニュアル | C:\Sample\Notepad\Help.txt | [ProgramFilesFolder]\Red_Park\French\Help.txt |
Fre.txt | 電話の一覧 | C:\Sample\Notepad\Fre.txt | [ProgramFilesFolder]\Red_Park\French\Fre.txt |
SDK で提供されているデータベース エディター Orca または別のエディターを使用して、Directory テーブルを開き、新しいディレクトリである French のインストール用のレコードを追加します。
ディレクトリ | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
ProgramFilesFolder | TARGETDIR | . |
ARTSDIR | NOTEPADDIR | Arts:Events |
HOLDIR | MONDIR | .:Holidays |
MENUDIR | NOTEPADDIR | メニュー |
MONDIR | NOTEPADDIR | ゲート |
NOTEPADDIR | ProgramFilesFolder | Red_Park:Notepad |
SPORTDIR | NOTEPADDIR | Sports:Events |
FRENCHDIR | NOTEPADDIR | French:. |
テーブル エディターを使用して、MNPFren.msi のヘルプ コンポーネントの ComponentId を新しい GUID に変更します。
コンポーネント | ComponentId | Directory_ | 属性 | 条件 | Keypath |
---|---|---|---|---|---|
Baseball | {F54ABAC0-33F2-11D3-91D7-00C04FD70856} | SPORTDIR | 2 | Baseball.txt | |
コンサート | {76FA7A80-33F6-11D3-91D8-00C04FD70856} | ARTSDIR | 2 | Concert.txt | |
Dance | {CCF834A1-33F8-11D3-91D8-00C04FD70856} | ARTSDIR | 2 | Dance.txt | |
Football | {CCF834A0-33F8-11D3-91D8-00C04FD70856} | SPORTDIR | 2 | Football.txt | |
ヘルプ | {9ED21229-FE3C-4FE9-B01D-57E00224FD0B} | NOTEPADDIR | 2 | Help.txt | |
January | {CF0BC690-33C9-11D3-91D6-00C04FD70856} | MONDIR | 2 | January.txt | |
NewYears | {A42D9140-33D8-11D3-91D6-00C04FD70856} | HOLDIR | 2 | NewYears.txt | |
メモ帳 | {19BED232-30AB-11D3-91D3-00C04FD70856} | FRENCHDIR | 2 | Redpark.exe |
テーブル エディターを使用して、MNPFren.msi の File テーブル に Fre.txt を追加します。 ローカライズされたファイルの Language フィールドにフランス語の LANGID を入力します。 それ以外のすべてが等しく、インストールされているファイルの言語がコンピューター上のファイルとは異なる場合、インストーラーではインストールされている製品と一致する言語のファイルを優先します。 言語に依存しないファイルは単なる別の言語として扱われるため、インストールされている製品が再び優先されます。 詳細については、「ファイルのバージョン管理ルール」を参照してください。
ファイル | Component_ | FileName | FileSize | バージョン | Language | 属性 | シーケンス |
---|---|---|---|---|---|---|---|
Baseball.txt | Baseball | Baseball.txt | 1000 | 0 | 1 | ||
Concert.txt | コンサート | Concert.txt | 1000 | 0 | 1 | ||
Dance.txt | Dance | Dance.txt | 1000 | 0 | 1 | ||
Football.txt | Football | Football.txt | 1000 | 0 | 1 | ||
Help.txt | ヘルプ | Help.txt | 1000 | 1036 | 0 | 1 | |
January.txt | January | January.txt | 1000 | 0 | 1 | ||
NewYears.txt | NewYears | NewYears.txt | 1000 | 0 | 1 | ||
Redpark.exe | メモ帳 | Redpark.exe | 45328 | 0 | 1 | ||
Readme.txt | メモ帳 | Readme.txt | 1000 | 1036 | 0 | 1 | |
Fre.txt | ヘルプ | Fre.txt | 1000 | 1036 | 0 | 1 |
これで、サンプルのローカライズは完了です。