拡張機能の言語リソース
リソースファイル
拡張機能のユーザインターフェースやメッセージ等の言語リソースは、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
) に依存します。
日本語のリソースを追加するには
まだ日本語化されていない拡張機能は、次の手順で日本語のリソースを追加します。
- chrome.manifest ファイルを編集して ja [2] の行を追加する。
(en-US の行をコピーして ja に書き換えてください) - en-US のリソースのフォルダと同じ階層に ja フォルダを作成し、en-US フォルダ内のすべてのファイルを ja フォルダにコピーする。
- 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) は、ソフトウェアを特定の地域に合わせて翻訳・設定することです。