前回どーにかこーにかNexus S にインストール出来た Firefox OS
でも日本語フォントは表示されないわ何やでぐだぐだだったので
なんとか普通に使える程度に日本語化してみた。
環境は前回と同じubuntu 12.04 LTS 64bit
http://blog.sola-dolphin-1.net/archives/4389313.html
こちらのページを参考にさせてもらった。
感謝。
多言語化の手順はほとんど上にリンクさせてもらったページの通りなのでざっと紹介。
まずは前回の記事の手順どおり Nexus S の設定と
と、一回ビルドが成功して必要なソースが出来上がってるのが前提で。
多言語化に必要なソースの取得に必要なので mercurial のインストール
[cc lang=’bash’ line_numbers=’false’]
$ sudo apt-get install mercurial
[/cc]
うちの環境で作った時はホームディレクトリ以下に FirefoxOS の作業用ディレクトリを作成して
作業したのでその体で進めます。git から落としてきた B2G も FirefoxOS 以下にある前提
[cc lang=’bash’ line_numbers=’false’]
foo@foo:~/FirefoxOS$ ll -a
drwxrwxr-x 6 ueda ueda 4096 4月 6 23:08 ./
drwxr-xr-x 67 ueda ueda 4096 4月 8 12:51 ../
drwxr-xr-x 27 ueda ueda 4096 4月 6 23:24 B2G/
[/cc]
こんな感じ。
日本語化に必要なデータの取得
[cc lang=’bash’ line_numbers=’false’]
$ cd FirefoxOS/
$ hg clone http://hg.mozilla.org/gaia-l10n/ja gaia-l10n/ja
$ wget http://sola-dolphin-1.net/data/B2G/source/languages-japan.json -O $PWD/B2G/gaia/shared/resources/languages-japan.json
$ hg clone http://hg.mozilla.org/l10n-central/ja gecko-l10n/ja
$ hg clone http://hg.mozilla.org/build/compare-locales
[/cc]
必要なものを取ってきたらそれぞれにパスを通しておく
[cc lang=’bash’ line_numbers=’false’]
$ export LOCALE_BASEDIR=$PWD/gaia-l10n
$ export LOCALES_FILE=$PWD/B2G/gaia/shared/resources/languages-japan.json
$ export L10NBASEDIR=$PWD/gecko-l10n
$ export MOZ_CHROME_MULTILOCALE=”ja”
$ export PATH=”$PATH:$PWD/compare-locales/scripts”
$ export PYTHONPATH=”$PWD/compare-locales/lib”
[/cc]
スクリーンショット取得にバグがあるようで修正パッチを適用
[cc lang=’bash’ line_numbers=’false’]
$ cd ./B2G/external/screencap-gonk
$ wget http://sola-dolphin-1.net/data/B2G/patch/0001-fix-screencap.patch
$ git apply 0001-fix-screencap.patch
[/cc]
配布されているソースは unofficial に設定されている。
起動のスプラッシュが mozilla になってたりブラウザのアイコンが汎用だったりしてつまらんので
official ビルドの設定をしてやる。
[cc lang=’bash’ line_numbers=’false’]
$ vi ./B2G/gaia/Makefile
[/cc]
[cc lang=’bash’ line_numbers=’false’]
26 WGET_OPTS?=-c
27 GAIA_DOMAIN?=gaiamobile.org
28 MOZILLA_OFFICIAL=1 # ←この行を追加
[/cc]
日本語フォントが表示されないのはどうやらビルドの際に日本語フォントの DroidSansJapanese.ttf がコピーされないのが原因らしい。
ソースにはちゃんと日本語フォントは含まれているのでコピーしてやる。
[cc lang=’bash’ line_numbers=’false’]
$ cp ./B2G/frameworks/base/data/fonts/DroidSansJapanese.ttf ./B2G/out/target/product/maguro/system/fonts
$ cp ./B2G/frameworks/base/data/fonts/MT* ./B2G/out/target/product/maguro/system/fonts
[/cc]
この DroidSansJapanese.ttf は別にソースに含まれているフォントじゃなくても良いみたい。
よっぽどおかしなフォントじゃなければ DroidSansJapanese.ttf のファイル名で
./B2G/out/target/product/maguro/system/fonts に配置してやればちゃんと表示されるようで。
ただしあまりサイズの大きいフォントだと、端末のシステム領域を食いつぶしてしまうかもなので注意。
で、この状態でビルドしてやったーとか思ってると、日本語入力のIMEは立ち上がるのに以下の画面のようになんにも変換出来ない。
見慣れたjavascriptエラーでやっぱりjsで動いてるんやなーと感慨深い。
しかしこのままでもしょーがないので日本語辞書も取り込んでやる。
http://sourceforge.jp/projects/naist-jdic/releases/
ここから辞書ファイル naist-jdic-0.4.3.tar.gz をダウンロードして展開。
B2G/gaia/apps/keyboard/js/imes/jskanji/dict/ に ipadic でフォルダを作成して
展開した中に含まれる naist-jdic.dic をコピー。
dict のフォルダに移動して変換jsonを作成
[cc lang=’bash’ line_numbers=’false’]
$ cd B2G/gaia/apps/keyboard/js/imes/jskanji/dict/
$ cd make json
[/cc]
変換候補をjsonで出力してるのでそれなりに時間がかかる。
これで日本語関連の準備は完了!
万を持して再ビルドしてインストール
[cc lang=’bash’ line_numbers=’false’]
$ ./build.sh
$ sudo ./flash.sh
[/cc]
じゃん(゚∀゚)
変換候補がばっちりと(゚∀゚)
さすがに変換が賢いとは言えない状態ですが一応使えるレベルに!
IMEはフリック入力には非対応なようで携帯打ちオンリー。
それでもとりあえずは日本語で動く Firefox OS 端末の出来上がり。
さて、次はこれを使ってアプリ作らんとな。