ReviewBoard(リビジョン1538)の日本語化ファイルを作成してみた

reviewboardの日本語化について調べてみる。

reviewboard - google code
review-board.org

ReviewBoard翻訳中−Djangoの国際化に関するメモ 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%ぐらいはできたんじゃないかなー。

Review Board日本語化ファイル0.1.1版

Google Codeにも置いてみた。>daipresentsのGoogle Code


これを「conf\locale\ja\LC_MESSAGES」において再起動すれば反映されるはず。うまくいかない場合は、上にも書いたけど「LOCALE_PATHS」の指定が怪しいです。

トラックバック(0)

このブログ記事を参照しているブログ一覧: ReviewBoard(リビジョン1538)の日本語化ファイルを作成してみた

このブログ記事に対するトラックバックURL: http://daipresents.com/mt/bin/mt-tb.cgi/2095

コメントする