reviewboardの日本語化について調べてみる。
reviewboard – google code
review-board.org
ReviewBoard翻訳中竏奪jangoの国際化に関するメモ by monospaceさんに手段が書いてあった。
ReviewBoardはDjangoというPythonのフレームワーク?で動いているらしく、その仕組みで簡単に国際化対応できるらしい。
とりあえず、リビジョン1538の「/conf/locale」は空っぽなので、日本語のdjango.poとdjango.moを作ってみる。
国際化する文字列について
Django v1.0 documentation
国際化というドキュメントを参考にした。どうも
- _(“Welcome to my site.”)
- ugettext(“Welcome to my site.”)
- {% trans “This is the title.” %}
- {% blocktrans %}This will have {{ value }} inside.{% endblocktrans %}
という書き方の場所が国際化される文字列になるらしい。
設定
まずは「/settings.py」の項目を修正。
LANGUAGE_CODE = 'ja' USE_I18N = True LANGUAGES = ( ('ja', _('Japanese')), ('en', _('English')), )
LOCALE_PATHSを追加。
LOCALE_PATHS = ( '/usr/local/reviewboard/reviewboard/conf/locale', )
Cygwinでやっていたら「’C:/fujihara/cygwin/usr/local/reviewboard/reviewboard/conf/locale’,」みたいにしないとだめだった。
「ln -s conf/locale/ locale」みたいにシンボリックリンクをはっておくといいかもしれない。
「setting_local.py」は以下がポイントかも。
TIME_ZONE = 'Asia/Tokyo' LANGUAGE_CODE = 'ja' USE_I18N = True
メッセージファイルの作り方
ReviewBoardのインストールは「ReviewBoardをWindows Vistaにインストール」を参照のこと。
今回は以下の環境で実施。
- Windows Vista
- Cygwin
- Python2.5.2
- django 1.0
一回やってみたら「gettextがないぜー」と言われたのでインストール。
Windows で gettext を使うを参考に、gettext for Win32 – source forgeから必要なライブラリをもってきて解凍。各ライブラリのbinフォルダをまとめて、「C:\fujihara\gettext-util\bin」みたいにして、Pathを設定する。
まずは国際化対応する文字列を抜き出す。「/reviewboard/contrib/i18n」に「make-messages.py」というのがあるのでそれを実行する。今回は日本語化なので言語コードは日本に。これをreviewboardのルートディレクトリで実行する。
$ cd /usr/local/reviewboard/reviewboard $ ./contrib/i18n/make-messages.py -l ja processing language ja
「conf/locale/ja/LC_MESSAGES/django.po」下にメッセージファイルができる。
$ ls conf/locale/ja/LC_MESSAGES/ django.po
中身は
#: path/to/python/module.py:23 msgid "Welcome to my site." msgstr ""
みたいに複数行にまたいだ感じになるらしい。へー。msgstrのダブルクォートに文字を入れていきUTF-8で保存。
次に作ったメッセージファイルをコンパイル。
$ ./contrib/i18n/compile-messages.py processing file django.po in C:\fujihara\cygwin\usr\local\reviewboard\reviewboard\conf\locale\ja\LC_MESSAGES
これで終わり。環境によってはdjango.moを使う環境でコンパイルしたほうがいいかもね。
反映には再起動が必要らしい。うーん。
翻訳したファイル
がんばってみました。パラメタを埋め込むところがうまくいかなかったりしましたが、60%ぐらいはできたんじゃないかなー。
ダウンロードはこちら。
Google Codeにも置いてみた。>daipresentsのGoogle Code
これを「conf\locale\ja\LC_MESSAGES」において再起動すれば反映されるはず。うまくいかない場合は、上にも書いたけど「LOCALE_PATHS」の指定が怪しいです。
コメント
I guess that to receive the personal loans from creditors you ought to present a great reason. However, one time I have received a secured loan, just because I was willing to buy a building.