データベースの列をローカライズする
MNPFren.msi データベース内の他のローカライズ可能な列を、Orca などのテーブル エディターまたは SQL クエリを使って変更します。 特定のテーブルで別の言語にローカライズできる列を確認するには、そのデータベース テーブルのリファレンス トピックを参照してください。 データベースのすべてのテーブル の一覧については、「データベース テーブル」をご覧ください。
たとえば、Control テーブルの一部のレコードの Text フィールドを、フランス語にローカライズする必要がある場合があります。 Cancel ダイアログの文字列 "Are you sure you want to cancel [ProductName] installation?" は、フランス語で表示されるようにこのテーブルで変更できます。 .msi ファイル内の元のレコードは次のようになります。
元の .msi ファイルの Control テーブル (一部)
Dialog_ | コントロール | Type | X | Y | 幅 | [高さ] | 属性 | プロパティ | テキスト | Control_Next | ヘルプ |
---|---|---|---|---|---|---|---|---|---|---|---|
CancelDlg | Text | Text | 48 | 15 | 194 | 30 | 3 | Are you sure you want to cancel [ProductName] installation? |
SDK で提供されている Orca テーブル エディターなどのテーブル エディターを使って Text フィールドを変更したり、SQL クエリを使って Control テーブルのレコードの Text フィールドを変更したりできます。 スクリプト駆動型データベース クエリを示す例は、ユーティリティ WiRunSQL.vbs として Windows インストーラー SDK で提供されています。 WiRunSQL.vbs と Windows スクリプト ホストでフィールドを変更するには、次のコマンド ラインを使います。 「SQL とスクリプトを使用したデータベース クエリの例」もご覧ください。
Cscript WiRunSQL.vbs MNPFren.msi "UPDATE Control SET Control.Text='Etes-vous sur de vouloir annuler l'installation de [ProductName]?' WHERE Control.Dialog_='CancelDlg' AND Control.Control='Text'"
MNPFren.msi の Control テーブル (一部)
Dialog_ | コントロール | Type | X | Y | 幅 | [高さ] | 属性 | プロパティ | テキスト | Control_Next | ヘルプ |
---|---|---|---|---|---|---|---|---|---|---|---|
CancelDlg | Text | Text | 48 | 15 | 194 | 30 | 3 | Êtes-vous sûr de vouloir annuler l'installation de [ProductName]? |
ユーザーが MNPFren.msi のインストールを取り消すと、Cancel ダイアログに "Êtes-vous sûr de vouloir annuler l'installation de MNP2000?" というテキストが表示されます。
この方法を使って UI テキストを別の言語にローカライズするときは、ローカライズされた UI をテストし、コントロールのサイズがローカライズされたテキスト全体を表示するのに十分であることを確認する必要があります。 これは、表示に使用できるすべてのフォント サイズ設定を使ってテストする必要があります。 ローカライズされたテキストは、元のテキストより多くのスペースを必要とする場合があり、小さすぎるコントロールに表示された場合は切り捨てられる可能性があります。