Localizing extension descriptions
出典: MDC
目次 |
[編集] Gecko 1.9 におけるローカライズ
Gecko 1.9 で導入
この記事は Firefox 3 の新機能について述べています
Gecko 1.9 には、アドオンの説明や他のメタデータのローカライズに関して、新しく、より強力な方法が盛り込まれています。異なる説明はすべて、em:localized プロパティを使って install.rdf ファイルに書かれます。em:localized それぞれが、情報が使われるべきロケールと、そのロケールの様々な文字列を示す、em:locale プロパティを 1 つ以上持ちます。以下の例はこのデモです (最も一般的なマニフェストプロパティは簡潔にするため削除してあります)。
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>TabSidebar@blueprintit.co.uk</em:id>
<em:localized>
<Description>
<em:locale>de-DE</em:locale>
<em:name>Tab Sidebar</em:name>
<em:description>Zeigt in einer Sidebar Vorschaubilder der Inhalte aller offenen Tabs an.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>es-ES</em:locale>
<em:name>Tab Sidebar</em:name>
<em:description>Muestra una vista previa de sus pestañas en su panel lateral.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>nl-NL</em:locale>
<em:name>Tab Sidebar</em:name>
<em:description>Laat voorbeeldweergaven van uw tabbladen in de zijbalk zien.</em:description>
</Description>
</em:localized>
<em:name>Tab Sidebar</em:name>
<em:description>Displays previews of your tabs in your sidebar.</em:description>
</Description>
</RDF>
下記のメタデータはすべてこの方法でローカライズできます。em:localized プロパティによって提供されるローカライズ情報は、後述するように、一連のローカライズされた設定項目を用いることで上書きすることができます。
em:localized プロパティを選択し、特定のロケールのために使用する過程は以下のようになります。
- ユーザのロケールに完全に一致する
em:localeでプロパティが提供されていた場合、それが使われます。 - 部分的に一致するロケールが見つかった場合、最も一致する部分が多いロケールが使用されます。各部はダッシュで分割されます (例えば es は es-US に一致します)。
- 一致する部分の数が同じロケールが複数存在する場合は、もっとも一般的なロケールが使用されます (例えば、en-US を検索する際、en は en-GB よりも優先されます)。
現在のアプリケーションロケールが検索された後、フォールバックとして en-US を検索します。
いずれの設定項目も設定されておらず、現在のロケールや en-US に一致する em:localized プロパティが存在しない場合は、インストール定義ファイルで直接指定されたプロパティが、Gecko 1.9 以前で常に使われていたように、最後の手段として使われます。
[編集] Gecko 1.9 以前のローカライズ
Gecko 1.9 以前は、アドオン開発者は、Firefox や Thunderbird のようなツールキットベースのアプリケーションを対象とする拡張機能にローカライズされた説明を定義するためには以下のような特別な手順が必要となりました。
- もしあなたが ローカライズしたプロパティファイル を作っていないのであれば、それを作ってください。他言語が正しく表示されるように、UTF-8 エンコードを使うことを忘れないでください。
- 次の 1 行を、各言語のローカライズしたプロパティファイルに加えてください (EXTENSION_ID はあなたの拡張機能の ID (install.rdf の
<em:id>にあります) に合わせてください。また、LOCALIZED_DESCRIPTION にはその言語での拡張機能の説明を入れてください)。extensions.EXTENSION_ID.description=LOCALIZED_DESCRIPTION
- もしあなたが デフォルト設定ファイル を作っていないのであれば、それを作ってください。
- 次の 1 行を、デフォルト設定ファイルに加えてください (EXTENSION_ID は拡張機能の ID (install.rdf から)、PATH_TO_LOCALIZATION_FILE は上であなたが加えた、ローカライズしたプロパティファイルへの chrome パスです)。
pref("extensions.EXTENSION_ID.description", "PATH_TO_LOCALIZATION_FILE");
[編集] ローカライズ可能な文字列
以下のアドオンのメタデータはこの方法を使ってローカライズできます。
- name
- description
- creator
- homepageURL
[編集] ローカライズ可能なリスト
複数の値が存在する場合、設定名の後ろに数字を付けます。
extensions.EXTENSION_ID.contributor.1=FIRST_LOCALIZED_CONTRIBUTOR_NAME
extensions.EXTENSION_ID.contributor.2=SECOND_LOCALIZED_CONTRIBUTOR_NAME
extensions.EXTENSION_ID.contributor.3=THRID_LOCALIZED_CONTRIBUTOR_NAME
pref("extensions.EXTENSION_ID.contributor.1", "PATH_TO_LOCALIZATION_FILE");
pref("extensions.EXTENSION_ID.contributor.2", "PATH_TO_LOCALIZATION_FILE");
pref("extensions.EXTENSION_ID.contributor.3", "PATH_TO_LOCALIZATION_FILE");
以下のアドオンのメタデータはこの方法を使ってローカライズできます。
- developer
- translator
- contributor