拡張機能の言語リソース

リソースファイル

拡張機能のユーザインターフェースやメッセージ等の言語リソースは、Firefox や Thunderbird のものと同じ *.dtd ファイルや *.properties ファイルで定義されています [1]。 拡張機能のソースコードのうち .xul ファイルで使われる言語リソースは .dtd ファイル、.js ファイルで使われる言語リソースは .properties ファイルと覚えておくと良いでしょう。また、拡張機能によっては .html ファイルが含まれている場合もあります。

リソースファイルの書式

リソースファイルは、それぞれ次のような書式になります。

dtd ファイル:

<!-- コメントブロック -->
<!ENTITY entity.name    "表示する文字列"><!-- コメント -->

properties ファイル:

# コメント行
entity.name = 表示する文字列

上記の「表示する文字列」の部分が翻訳する文字列になります。どちらのファイルも文字コードは UTF-8 (BOM 無し) で保存します。

リソースファイルの場所

アプリケーションに読み込まれる言語リソースは、拡張機能のパッケージに含まれる chrome.manifest ファイルで定義されており、各ロケール名のフォルダに分けて格納されています。拡張機能によってフォルダの構成は異なります。最も階層を深くしている拡張機能では、次のように書かれているでしょう。

content	myfxaddon	jar:chrome/myfxaddon.jar!/content/myfxaddon/
locale	myfxaddon	en-US	jar:chrome/myfxaddon.jar!/locale/en-US/myfxaddon/
locale	myfxaddon	ja	jar:chrome/myfxaddon.jar!/locale/ja/myfxaddon/

この場合に読み込まれる日本語のリソースファイルは、
chrome フォルダ内の myfxaddon.jar 圧縮ファイルを展開して、
/locale/ja/myfxaddon/ のフォルダにあります。

最も単純なフォルダ構成の拡張機能では、次のように書かれています。

content	myfxaddon	content/
locale	myfxaddon	en-US	locale/en-US/
locale	myfxaddon	ja	locale/ja/

この場合に読み込まれる日本語のリソースファイルは、
locale/ja/ フォルダにあります。

使用される言語は、アプリケーションのロケール設定 (general.useragent.locale) に依存します。

日本語のリソースを追加するには

まだ日本語化されていない拡張機能は、次の手順で日本語のリソースを追加します。

  1. chrome.manifest ファイルを編集して ja [2] の行を追加する。
    (en-US の行をコピーして ja に書き換えてください)
  2. en-US のリソースのフォルダと同じ階層に ja フォルダを作成し、en-US フォルダ内のすべてのファイルを ja フォルダにコピーする。
  3. ja フォルダのリソースファイル (*.dtd, *.properties) を開き、文字列を翻訳する。
    (文字コードを UTF-8 にして保存することを忘れないでください)

拡張機能によっては、文字列がソースコード内に直接書かれているために日本語化できない (国際化・多言語化されていない) ものもあります。その場合は、まず拡張機能の国際化 [3] を作者に依頼しましょう。


[1] Mozilla L10N システムの言語リソースファイル 参照。

[2] Mozilla 製品の日本語版には、Windows/Linux 版の “ja” と Mac 版の “ja-JP-mac” ロケールがあります。拡張機能に Mac 版のロケールを追加したい場合は、次のように chrome.manifest ファイルに ja-JP-mac の行を追加し、locale/ja-JP-mac のフォルダに Mac 用のロケールファイルを置いてください。

locale	myfxaddon	ja-JP-mac	locale/ja-JP-mac/

[3] 国際化 (Internationalization) のことを略して I18N と呼びます。I18N は、ソフトウェアを多言語化することです。ローカライズ (L10N) は、ソフトウェアを特定の地域に合わせて翻訳・設定することです。