FirefoxOS の日本語化の解説はすでに先人の方々が詳しくされているので、素直に日本語化したい方はそちらを参照したほうがよいかと思います。また MDN では Localizing FirefoxOS にL10N化のドキュメントがあります。
以下では、ローカルツリーに差分 commit して、upsteam に追従出来る形で進めた手順です。
(※ 以下のコマンドライン例をコピー&ペーストで実行しないでください。git や repo は理解した上で使用してください)
ローカルツリーのプロジェクト切替
ツリーは manifest にあるように、多数のモジュールを各地サーバから特定ブランチorタグを指定して取得し、repo コマンドでモジュールを管理しています。それぞれのモジュールは指定された状態のまま置かれているので、何か変更を加えた後に 'repo sync' で最新版を取り込むと変更が消されてしまいます。
それを避けるために repo でローカルプロジェクトを開始します。全てのモジュールにブランチを切り、sync 時には manifest で指定されたブランチorタグに対して git rebase する形で追従してくれます。以下ではプロジェクト名を myenv、ビルドディレクトリを ~/B2G とした例です。
$ cd ~/B2G $ git checkout -b myenv origin/default $ ./repo start myenv --all
L10n パッケージの追加
日本語化を行うためのパッケージは gaia, gecko に対する追加ファイルとして提供されていて、mercurial によって管理されているため mercurial のインストールが必要です。
mercurial のコマンド(hg)を使ってそれぞれのパッケージをツリーに取り込み、ローカルツリーのプロジェクトに登録しておきます。
$ cd ~/B2G/gaia/locales $ hg clone http://hg.mozilla.org/gaia-l10n/ja $ git add ja $ git commit -m "add gaia-l10n/ja" $ cd ~/B2G/gecko $ hg clone http://hg.mozilla.org/l10n-central/ja l10n-central/ja $ git add l10n-central/ja $ git commit -m "add l10n-central/ja" $ cd ~/B2G/build $ hg clone http://hg.mozilla.org/build/compare-locales $ git add compare-locales $ git commit -m "add compare-locales"
これらを有効にするために ~/B2G/.userconfig
を作成し、ビルド時に設定する環境変数を記載しておきます。
export LOCALE_BASEDIR=$PWD/gaia/locales export LOCALES_FILE=$PWD/gaia/locales/languages_all.json export GAIA_DEFAULT_LOCALE=ja export L10NBASEDIR=$PWD/gecko/l10n-central export MOZ_CHROME_MULTILOCALE="ja" export PATH="$PATH:$PWD/build/compare-locales/scripts" export PYTHONPATH="$PWD/build/compare-locales/lib"
日本語キーボード及び辞書の登録
日本語IME に必要な辞書を入手します。辞書は Sourceforge.net にて ipadic または naist-dic が入手可能です。これらのパッケージの *.dic ファイルを gaia 内に取り込みます。
$ mkdir ~/B2G/gaia/apps/keyboard/js/imes/jskanji/dict/src $ tar zxvf ipadic-x.x.x.tar.gz $ cp ipadic-x.x.x/*.dic ~/B2G/gaia/apps/keyboard/js/imes/jskanji/dict/src/
*. dic ファイルはそのままでは使えないため、IME で使える形に変換します。dict ディレクトリで make を実行します。
$ cd ~/B2G/gaia/apps/keyboard/js/imes/jskanji/dict
$ make
エラーになる場合は Makefile の find コマンドがどのディレクトリを参照しているかを確認してください。src になっていない場合は、ディレクトリ名を変更してください。
make に成功すると dict.json, dict/dict, dict/dict.utf8, dict/jcconv.pyc が作成または更新されます。一旦この状態でツリーに登録しておきます。
$ cd ~/B2G/gaia/apps/keyboard/js/imes/jskanji
$ git add dict dict.json
$ git commit -m "add ipadic"
この辞書と日本語IMEを有効にするため、 ~/B2G/.userconfig
に以下を追加します。
export GAIA_KEYBOARD_LAYOUTS=en,jp-kanji"
あとは build.sh を実行するだけです。一度ビルド済みのツリーの場合は念のため out 及び objdir-gecko ディレクトリを削除しておいてください。
ツリーの更新
新たに upstream から ./repo sync で更新を取得した場合、取得後に上記の変更を加えて更新されます。ただし、upstream で上記に当たるファイルが更新された場合は conflict しますので、それぞれのモジュールで confilict を除去する必要があります。
.userconfig もツリーに登録しておくことができます。しかしながら .userconfig は .gitignore により登録対象外に指定されていますので、-f オプションで強制登録するか、別途保存することになります。
コメント