言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

Pootle

Pootle とは、Web ベースの翻訳ファイル編集ソフトです。ソフトウェアの国際化に必要な辞書をネット上で共同編集する事が出来ます。

  • バックエンドにはテキストファイルを使用。
  • CVSSVN 等のバージョン管理システムと統合されている。次のバージョンから git も対応する予定(olpc では特別にパッチを当てて git に対応している)。
  • 異常に遅い。

では Pootle をインストールしてみます。まず必須ライブラリから。translate-toolkit の最新版を使わない事がコツです。

sudo yum -y install python-lxml python-sqlite2 # python 2.4 の時必要らしい

wget http://downloads.sourceforge.net/translate/translate-toolkit-1.0.1.tar.bz2
tar xvf translate-toolkit-1.0.1.tar.bz2
cd translate-toolkit-1.0.1
sudo ./setup.py install
cd ..

wget http://www.kid-templating.org/dist/0.9.6/kid-0.9.6.tar.gz
tar xvf kid-0.9.6.tar.gz
cd kid-0.9.6
./setup.py install
cd ..

wget http://jtoolkit.sourceforge.net/snapshots/jToolkit-0.7.8/jToolkit-0.7.8.tar.gz
tar xvf jToolkit-0.7.8.tar.gz
cd jToolkit-0.7.8
./jToolkitSetup.py install
cd ..

wget http://effbot.org/media/downloads/elementtree-1.2.6-20050316.tar.gz
tar xvf elementtree-1.2.6-20050316.tar.gz
cd elementtree-1.2.6-20050316
sudo python setup.py install
cd ..

Pootle 本体は、

wget http://downloads.sourceforge.net/translate/Pootle-1.0.2.tar.bz2
tar xvf Pootle-1.0.2.tar.bz2
cd Pootle-1.0.2
sudo ./pootlesetup.py install

PootleServer を実行してエラーが無いか確認。以下設定方法。ファイルは /usr/lib/python2.4/site-packages/Pootle のような場所にあります。

環境設定

翻訳ファイルの位置などを設定します。設定例。

$ diff pootle.prefs.orig pootle.prefs
19c19
<   baseurl = "/"
---
>   baseurl = "/pootle/"
89c89
<   defaultrights = "view, suggest, archive, pocompile"
---
>   defaultrights = "view, suggest, archive, pocompile, translate, review"
158a159,162
>     etoys:
>       fullname = "EToys"
>       description = ""
>       checkstyle = "standard"

defaultrights の設定は上手く動かないようなので、Admin ユーザで web からログイン後、Admin - Projects - プロジェクト名 - 言語名 で、プロジェクト x 言語の権限を設定します。

  • 翻訳ファイルは /usr/lib/python2.4/site-packages/Pootle/po/etoys/ja/etoys.po
  • テンプレートは /usr/lib/python2.4/site-packages/Pootle/po/etoys/templates/etoys.pot

のように設置します。バージョン管理システムも使う場合は、どこかにチェックアウトしてシンボリックリンクを貼ると良いらしいです(未確認)。

ユーザの設定

$ sudo chown apache.apache users.prefs
$ sudo vi users.prefs # startup: 以下をコメントアウト
  • ユーザ startup パスワード startup でログイン
  • 自分のユーザ名を作成
$ sudo vi users.prefs

自分の項目に rights.siteadmin = True を追加。 startup を削除

git を使う設定

Pootle は po ファイルを直接操作するので、バージョン管理システムとの統合と言ってもシェルからチェックイン、コミットするのをボタンに変えただけで、特に凄い事はやらないようです。例えばある単語の変更履歴を負うというような事は出来ません。

http://translate.svn.sourceforge.net/viewvc/*checkout*/translate/src/trunk/Pootle/versioncontrol.py?revision=6420&pathrev=6528

から versioncontrol.py をダウンロードして Pootle ディレクトリの中の物と交換。で、動くと思ったのですが、上手く行きませんでした。

参考