拡張機能の日本語化

Firefox の拡張機能に日本語 locale を追加する手順について説明します

takanori

Firefox にはさまざまな 拡張機能(Extensions) があります。 その拡張機能が最初から国際化に対応している場合は、日本語 locale を追加することによって、簡単に日本語化することができます。

ここでは、 FxIF という、画像ファイルの Exif 情報を読み込む拡張機能を使って、日本語化する手順について説明します。

目次

xpi ファイルのダウンロードと解凍[download]

日本語 locale を追加するために、拡張機能の xpi(ってなんの略ですか?) ファイルをダウンロードします。

このダウンロードしたファイルの中に、実際の拡張機能の動作や表示、言語ごとの locale 情報などが入っています。それらのファイルを編集するために解凍します。

xpi ファイルは zip 形式で圧縮されているだけなので、zip ファイルが扱える圧縮/解凍ツールを使えば解凍ができます。

次に、chroma ディレクトリの下に fxif.jar という jar(Java ARchive) ファイルがあるので、このファイルも解凍します。jar ファイルも zip 形式で圧縮されているので、xpi ファイルと同様に解凍します。

xpi ファイルのファイル構成[structure]

ここで、FxIF を解凍した場合のディレクトリとファイルの構成について説明します。

参考: Firefox/Thunderbird 用拡張機能のパッケージ方法

日本語 locale を作成する[create]

さて準備が整ったので、さっそく日本語 locale の作成に入ります。 が、その前におおまかに日本語 locale を作成する手順について書きます。 だいたい手順はこんな感じになります。

  1. install.rdf ファイルを編集して、ja-JP を有効な locale として追加する (install.js も気が向いたら追加する)
  2. chrome/locale ディレクトリに移動して、en-US ディレクトリをコピーして ja-JP ディレクトリを作成する
  3. ja-JP ディレクトリの中のファイルを日本語 locale 用に編集する
  4. chrome ディレクトリ以下を zip 圧縮して jar ファイルを作成する
  5. 全体を zip 圧縮して xpi ファイルを作成する
  6. 作成した xpi ファイルを Firefox で開いて、拡張機能をインストールする
  7. Firefox を再起動して日本語化されているか確認する

それでは、手順に従って日本語 locale の作成作業を行います。

install.rdf ファイルを編集[install]

install.rdf ファイルをエディタで開いて、ロケール情報として ja-JP を追加します。

<em:locale>locale/en-US/</em:locale> のように書いてある部分があるので、そこをコピーして編集します。

変更前:

    <em:locale>locale/en-US/</em:locale>
    <em:locale>locale/it-IT/</em:locale>
    <em:locale>locale/zh-TW/</em:locale>
    <em:locale>locale/fr-FR/</em:locale>

変更後:

    <em:locale>locale/en-US/</em:locale>
    <em:locale>locale/ja-JP/</em:locale>
    <em:locale>locale/it-IT/</em:locale>
    <em:locale>locale/zh-TW/</em:locale>
    <em:locale>locale/fr-FR/</em:locale>

install.js にも同様に en-US とか書いてある部分があるので、必要であればそこもコピーして ja-JP という記述を追加します。

ja-JP ディレクトリを作成[jajp]

次に、上で install.rdf に記述を追加した ja-JP というディレクトリを作成します。

chrome/locale というディレクトリに移動すると、各言語ごとの locale が記述してあるディレクトリが存在します。 このうち適当なディレクトリを丸ごとコピーして 、ja-JP ディレクトリを作成します。 (後で翻訳することを考えると en-US が無難だと思いますが、イタリア語の方が得意な人は it-IT を使うなどしてください。)

日本語 locale 用に編集[locale]

locale には基本的に3つのファイルが存在します。それぞれのファイルを編集して日本語 locale を作成します。

contents.rdf[contents]

contents.rdf の中に記述してあるすべての en-US という記述を ja-JP に書き換えます。

変更前:

      <RDF:Seq RDF:about="urn:mozilla:locale:root">
        <RDF:li RDF:resource="urn:mozilla:locale:en-US"/>
      </RDF:Seq>

      <RDF:Description RDF:about="urn:mozilla:locale:en-US">
        <chrome:packages>
            <RDF:Seq RDF:about="urn:mozilla:locale:en-US:packages">
                <RDF:li RDF:resource="urn:mozilla:locale:en-US:fxif"/>
            </RDF:Seq>
        </chrome:packages>
      </RDF:Description>

変更後:

      <RDF:Seq RDF:about="urn:mozilla:locale:root">
        <RDF:li RDF:resource="urn:mozilla:locale:ja-JP"/>
      </RDF:Seq>

      <RDF:Description RDF:about="urn:mozilla:locale:ja-JP">
        <chrome:packages>
            <RDF:Seq RDF:about="urn:mozilla:locale:ja-JP:packages">
                <RDF:li RDF:resource="urn:mozilla:locale:ja-JP:fxif"/>
            </RDF:Seq>
        </chrome:packages>
      </RDF:Description>

dtd ファイル[dtd]

次に、dtd(Document Type Definition) ファイルを編集します。

各 ENTITY ごとに値として日本語 locale の情報を設定します。 文字コードは utf-8 で保存します。

変更前:

        <!ENTITY EXIFData "EXIF Data:">
        <!ENTITY Copy "Copy">
        <!ENTITY CameraMake "Camera Make:">
        <!ENTITY CameraModel "Camera Model:">
        :

変更後:

        <!ENTITY EXIFData "EXIF データ:">
        <!ENTITY Copy "コピー">
        <!ENTITY CameraMake "メーカー名:">
        <!ENTITY CameraModel "機種名:">
        :

実際に日本語化した dtd ファイルは fxif.dtd から参照できます。

properties ファイル[properties]

最後に properties ファイルを編集します。

properties ファイルは key=value 形式で記述してあるので、その value の部分を日本語化します。

properties ファイルは Unicode をエスケープしたファイル形式で、Java のプロパティファイルとして使用されている形式です。 例えば:

        auto=オート
        semiauto=セミオート

という表記は、以下のように変換して保存する必要があります。:

        auto=\u30AA\u30FC\u30C8
        semiauto=\u30BB\u30DF\u30AA\u30FC\u30C8

このような特殊なフォーマットに変換するためには、下記のようなツールを使用する必要があります。

参考: Mozilla L10N - *.properties (escaped-unicode) の取り扱い

実際に日本語化した properties ファイル(エスケープ前)は fxif.properties から参照できます。

jar ファイルを作成[jar]

ここまできたらあとはインストール用のファイルを作成するだけです。

まず jar ファイルを作成します。

jar ファイルを作成するには、chrome ディレクトリの下にあるファイルを zip 形式で圧縮します。 その後、できあがった圧縮ファイルのファイル名を fxif.jar に変更します。

xpi ファイルを作成[xpi]

最後に xpi ファイルを作成します。

install.rdfchrome ディレクトリの下の jar ファイル等をまとめて zip 形式で圧縮します。 chrome ディレクトリの下の jar ファイル以外のファイルやディレクトリは必要ないので、削除したり移動したりして圧縮の対象からはずしてください。

できあがった圧縮ファイルのファイル名を fxif_0.2.1_jp.xpi 等の名前に変更します。

Firefox にインストール[firefox]

作成した xpi ファイルを Firefox にドラッグ&ドロップなどすると、拡張機能のインストールが行われます。

できあがった xpi ファイルは fxif_0.2.1_jp.xpi からダウンロードしてください。

Install xpi file

インストールが完了した後に Firefox を再起動して、拡張機能が問題なく動作することを確認します。

Extension window

FxIF の実際の表示画面の例は以下のとおりです。 画像の上で右クリックして「プロパティ」を選択すると画像のプロパティと一緒に Exif のデータが表示されるようになります。

英語 locale日本語 locale
FxIF en-US locale FxIF ja-JP locale