バッキーの日々是爆食

アクセスカウンタ

zoom RSS Add-on Builderで作成した拡張機能をローカライズ(多言語化)する方法について

<<   作成日時 : 2013/10/06 18:30   >>

ナイス ブログ気持玉 1 / トラックバック 2 / コメント 0

「Add-on Builderでローカライズ(多言語化)に対応した拡張機能を開発できません」「(続) Add-on Builderでローカライズ(多言語化)に対応した拡張機能を開発できません」で述べたように Mozillaの "Add-on Builder"ではローカライズ(多言語化)した拡張機能の作成をサポートしていません。
しかし、なんらかの解決方法があるはずだと考えて、Add-on SDKのソースコードを少しハックしたところ、若干の手作業を付け加えることで Add-on Builderで作成した拡張機能をローカライズ(多言語化)することに成功しました。
ということで、ローカライズ(多言語化)に関する前提知識とローカライズ(多言語化)する方法について説明します。

まず前提知識として、次の2つのドキュメントは必読です。
Add-on SDK - Localization
Add-on SDK - l10n

これらのドキュメントからローカライズ(多言語化)のデータは、拡張機能のルートフォルダ直下の localeフォルダに格納されている "xx-YY.properties"というファイルになっています。
my-addon/
data
lib
locale/
en-US.properties
fr-FR.properties
ja-JP.properties

ところが、Add-on SDKをハックしたところ、実行時には拡張機能のルートフォルダ直下の "locales.json"と拡張機能のルートフォルダ直下の localeフォルダに格納されている "xx-YY.json"というファイルが読み込まれていることが判りました。
my-addon/
data
lib
locale/
en-US.json
fr-FR.json
ja-JP.json
locales.json

ということで、"xx-YY.properties"ではなく、"locales.json"と "xx-YY.json"を Add-on Builderで作成した拡張機能のパッケージ(xpiファイル)に埋め込むとローカライズ(多言語化)に対応した拡張機能になるわけです。

拡張機能のパッケージ(xpiファイル)の実体はZIPファイルですので、拡張子を .xpiから .zipに変更すると簡単にファイルやフォルダの変更ができます。
また、ローカライズ(多言語化)データを別管理にするのは面倒なので、拡張機能の dataフォルダの直下に localeフォルダを作成しておいて、拡張機能のパッケージ内でルートフォルダの直下に移動(コピペ)すると簡単だと思います。(locales.jsonも同様です)

locales.jsonのサンプル(用意されている言語データのリスト):
{"locales":[
"en-US",
"fr-FR",
"ja-JP"
]}


en-US.jsonのサンプル(en-US.propertiesを json化したもの):
{
"test": "test en-US",
"test2": "test2 en-US"
}


以上、ご参考になれば幸いです。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
ナイス

トラックバック(2件)

タイトル (本文) ブログ名/日時
Mozilla Add-ons Builderによる拡張機能開発の入門: ドキュメント・リードマップ
バッキーはソフトウェアエンジニアとしてプログラミングの経験は長いのですが、Firefoxの拡張機能の開発は初心者です。 ネット検索で調べていろいろと資料を読んでみましたが、ピンポイントの情報は得られるもののどうやって組み合わせてプログラミングするのか悩みました。 そこで、拡張機能のプログラミングを理解しやすいように、どういう順序でドキュメントを読んでいったらいいのかリードマップを作ってみました。 尚、このリードマップは現時点(2012/06ごろ)の Add-on SDK 1.7 と ... ...続きを見る
バッキーの日々是爆食
2013/10/06 22:39
Firefoxの拡張機能 "Comeback View Menuitems" を公開しました
Firefoxのバージョンアップで表示メニューの中のメニューアイテム(メニュー項目)が徐々に削除されてきましたが、2013年10月29日にリリースされた Firefox バージョン25では、とうとう「更新」まで削除されてしまいました。 バッキーはタッチタイピングな人なのですが、ページの更新(再読み込み)は Alt → v → r という一連のキー入力パターンをほぼ無意識に打ち込めるため「更新」が削除されてしまったのは非常に不便です。 (F5で再読み込みできることは知っていますが、あまり... ...続きを見る
バッキーの日々是爆食
2013/11/14 12:19

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Add-on Builderで作成した拡張機能をローカライズ(多言語化)する方法について バッキーの日々是爆食/BIGLOBEウェブリブログ
文字サイズ:       閉じる