[Kateryna’s Blog Web PI Localization ]の翻訳です。
9 月にリリースされた Web Platform Installer Version 2 RTW では、9 つの言語 (英語、ドイツ語、フランス語、スペイン語、ロシア語、イタリア語、日本語、韓国語、中国語 (繁体字および簡体字)) でローカライズされただけではなく、各言語での製品のインストールもサポートされています。ただし、Web PI で製品をインストールする際には言語を選択できますが、すべての製品が全 9 言語でローカライズされているわけではありません。選択した言語では使用できない製品や、まったくローカライズされていない製品は、英語で提供されます。
この記事では、以下の項目について説明します。
Web PI に追加された拡張性により、"カスタム" 製品を複数の言語でインストールすることができるようになりました。拡張性については、次の記事を参照してください。
システムの表示言語が Web PI でサポートされる 9 つの言語のいずれかである場合、Web PI は自動的にシステムの表示言語に翻訳されて表示されます。表示言語を変更またはインストールするには (Vista 以上)、コントロール パネルで [地域と言語のオプション] を開き、[表示言語のインストールまたはアンインストール] を選択します。そして、インストール CD から表示言語をインストールし、コンピューターを再起動します。オペレーティング システムが好みの言語で表示され、その言語が Web PI でサポートされる言語である場合は、Web PI も同じ言語にローカライズされます。
Web PI では、複数の言語で使用できる製品が提供されています。ただし、すべての製品が複数の言語で使用できるわけではありません。また、複数の言語をサポートしている製品のすべてが、Web PI でサポートされる 9 言語すべてをサポートしているわけではありません。次の表は、Web PI Version 2 RTW で提供される製品と、各製品のローカライズ言語を表しています。
○
Web PI で、英語以外の言語で製品を表示するには、[オプションの変更] ダイアログ ボックスを開き、インストールに使用する言語を選択します。
英語以外の言語をインストールに使用すると、Web PI の UI には同じ製品セットが表示されますが、英語の場合とは 1 つだけ異なる点があります。選択した言語で使用できない製品のタイトルの横には "(English)" と表示され、その製品を選択した場合、英語でインストールされることが示されます。
拡張性に関する以前の記事で、カスタム製品を複数の言語でローカライズ可能にする方法について簡単に説明しましたが、その記事のサンプル フィードを使用して、ローカライズしてみましょう。
"SampleProduct" の表示言語とインストーラーの両方をイタリア語にローカライズした例を以下に示します。翻訳する各要素に (すべての Web PI で) 一意のリソース名 ID (resourceName="") を追加する必要があること、そして、その後に翻訳の xml で参照する必要があることに注意してください。
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <version>1.0.0</version> <title>Sample Product WebPI v2 RTW Feed</title> <link href="http://www.contoso.com/SampleProductFeed.xml" /> <updated>2009-9-29T16:30:00Z</updated> <author> <name>Sample Product Builder</name> <uri>http://www.contoso.com</uri> </author> <id>http://www.contoso.com/SampleProductFeed.xml</id> <resourcesList> <resources> <culture>en</culture> </resources> <resources> <culture>it</culture> <url>http://www.contoso.com/SampleProduct_it.xml</url> </resources> </resourcesList> <entry> <productId>SampleProduct</productId> <title resourceName="Entry_SampleProduct_Title">Sample Product</title> <summary resourceName="Entry_SampleProduct_Summary">Just summary</summary> <longSummary resourceName="Entry_SampleProduct_LongSummary">Long summary of SampleProduct</longSummary> <productFamily>Sample Products</productFamily> <version>1.0.0</version> <images> <icon>c:\SampleProductIcon.png</icon> </images> <author> <name>Sample Product Builder</name> <uri>http://www.contoso.com</uri> </author> <published>2009-9-29T12:30:00Z</published> <!-- WebPI で製品がインストールされていることを認識する方法 --> <discoveryHint> <or> <!-- 1. レジストリを使用 (バージョン値は 1.0.0 である必要がある。バージョンを考慮しな���場合は、キーパスにする必要がある) --> <discoveryHint> <registry> <keyPath>HKEY_LOCAL_MACHINE\SOFTWARE\SampleProduct\Sample Product Version 1.0.0</keyPath> <valueName>Version</valueName> <valueValue>1.0.0</valueValue> </registry> </discoveryHint> <discoveryHint> <file> <!-- 2. ファイルパスを使用。この場所に exe がある場合、WebPI で SampleProduct がインストールされていることを認識できる --> <filePath>%ProgramFiles%\SampleProduct\SampleProduct.exe</filePath> </file> </discoveryHint> </or> </discoveryHint> <!-- どの製品を最初にインストールする必要があるか。 メインの WebProductList ファイルまたはその他の以前に追加された フィードで宣言されている製品の ProductId プロパティによって 依存関係を定義する --> <dependency> <productId>IISManagementConsole</productId> </dependency> <!-- IncompatibleSampleProduct 製品が既にインストールされている場合、SampleProduct をインストールできない --> <incompatibilities> <incompatibleProduct> <productId>IncompatibleSampleProduct</productId> </incompatibleProduct> </incompatibilities> <!-- インストーラーおよびインストーラーのコマンド。ここで、複数のアーキテクチャ、OS、SKU、および言語について 個別のインストーラーを定義できる --> <installers> <installer> <!-- インストーラー ID は各 SampleProduct インストーラーで一意である必要がある --> <id>1</id> <!-- 英語のインストーラー --> <languageId>en</languageId> <!-- x86 と x64 の両方で同じ英語のインストーラー --> <architectures> <x86 /> <x64 /> </architectures> <!-- この製品をインストールできる OS および SKU のリスト。サポートされていないすべての OS/SKU では、 この製品は表示されない --> <osList> <os> <!-- この製品は Vista/Windows Server SP1 以降でサポートされる --> <minimumVersion> <osMajorVersion>6</osMajorVersion> <osMinorVersion>0</osMinorVersion> <spMajorVersion>0</spMajorVersion> </minimumVersion> <!-- SKU のリスト --> <osTypes> <Server /> <HomePremium /> <Ultimate /> <Enterprise /> <Business /> </osTypes> </os> </osList> <!-- ユーザーが製品をインストールする前に、次の EULA へのリンクが表示される --> <eulaURL>http://www.contoso.com/eula.html</eulaURL> <!-- この情報は、WebPI でダウンロードされたファイルが改ざんされていないことを確認する際に重要である --> <installerFile> <!-- KB 単位のサイズ --> <fileSize>1024</fileSize> <installerURL>http://www.contoso.com/SampleProduct_EnglishInstaller.msi</installerURL> <sha1>111222FFF000BBB444555EEEAAA777888999DDDD</sha1> </installerFile> <!-- WebPI で製品をインストールする方法 --> <installCommands> <msiInstall> <msi>%InstallerFile%</msi> </msiInstall> </installCommands> </installer> <!-- x64 アーキテクチャのインストーラー --> <installer> <!-- インストーラー ID は各 SampleProduct インストーラーで一意である必要がある --> <id>2</id> <!-- イタリア語のインストーラー --> <languageId>it</languageId> <!-- x86 と x64 の両方で同じイタリア語のインストーラー --> <architectures> <x86 /> <x64 /> </architectures> <osList> <os> <!-- この製品は Vista/Windows Server SP1 以降でサポートされる --> <minimumVersion> <osMajorVersion>6</osMajorVersion> <osMinorVersion>0</osMinorVersion> <spMajorVersion>0</spMajorVersion> </minimumVersion> <!-- SKU のリスト --> <osTypes> <Server /> <HomePremium /> <Ultimate /> <Enterprise /> <Business /> </osTypes> </os> </osList> <!-- ユーザーが製品をインストールする前に、次の EULA へのリンクが表示される --> <eulaURL>http://www.contoso.com/eula.html</eulaURL> <!-- この情報は、WebPI でダウンロードされたファイルが改ざんされていないことを確認する際に重要である --> <installerFile> <!-- KB 単位のサイズ --> <fileSize>1024</fileSize> <installerURL>http://www.contoso.com/SampleProduct_ItalianInstaller.msi</installerURL> <sha1>111222FFF000BBB444555EEEAAA777888999DDDD</sha1> </installerFile> <!-- WebPI で製品をインストールする方法 --> <installCommands> <msiInstall> <msi>%InstallerFile%</msi> </msiInstall> </installCommands> </installer> </installers> </entry> <!-- SampleProduct を表示するタブを定義する --> <tabs> <tab> <pillarTab> <id>SampleTab</id> <name>Sample Tab</name> <description>My sample tab for my sample product</description> <pillar> <id>SampleProduct</id> <name>Sample Pillar</name> <description>Install sample product</description> <groupingId>SampleProductFamilyGrouping</groupingId> <recommended> <productId>SampleProduct</productId> </recommended> </pillar> </pillarTab> </tab> </tabs> <groupings> <grouping> <id>SampleProductFamilyGrouping</id> <!-- productFamily 属性に基づいて製品をまとめる --> <attribute>productFamily</attribute> <include> <item>Sample Products</item> </include> </grouping> </groupings> </feed>
リソース リストで参照される SampleProduct_it.xml は、次のようになります。
<?xml version="1.0" encoding="utf-8"?> <root> <data name="Entry_SampleProduct_Title" xml:space="preserve"> <value>SampleProduct Title in Italian</value> </data> <data name="Entry_SampleProduct_Summary" xml:space="preserve"> <value>SampleProduct Summary in Italian</value> </data> <data name="Entry_SampleProduct_LongSummary" xml:space="preserve"> <value>SampleProduct Long Summary in Italian</value> </data> </root>
まとめ: xml ファイル内のすべてのリソース文字列をローカライズするには、Web PI に対して、すべての翻訳を含む別の xml を指定する必要があります。この処理は、最初の xml の resourceList 内のリソース セクションで行われます。カスタム製品を複数の言語で使用できるようにするには、サポートされる各言語について異なるインストーラーを用意し、製品定義のインストーラー部分の <languageId> 要素を使用して、どの言語でどのインストーラーを使用するかを Web PI に指示します。
注意してください。