pootle セットアップ

po ファイルの翻訳を web でよってたかって行うシステム pootle というものがあることを知ったので、セットアップしてみます。

takanori

目次

インストール[install]

まず最初に、Pootle をインストールするのに必要な、Translate Toolkit, jToolit と Kid, ElementTree をダウンロードしてインストールします。

# wget http://translate.sourceforge.net/snapshots/jToolkit-0.7.8/jToolkit-0.7.8.tar.gz
# tar xfz jToolkit-0.7.8.tar.gz
# cd jToolkit-0.7.8
# python jToolkitSetup.py install
# cd ..
# wget http://translate.sourceforge.net/snapshots/translate-toolkit-0.10rc1/translate-toolkit-0.10rc1.tar.gz
# tar xfz translate-toolkit-0.10rc1.tar.gz
# cd translate-toolkit-0.10rc1
# python setup.py install
# cd ..
# wget http://effbot.org/downloads/elementtree-1.2.6-20050316.tar.gz
# tar xfz elementtree-1.2.6-20050316.tar.gz
# cd elementtree-1.2.6-20050316
# python setup.py install
# cd ..
# wget http://www.kid-templating.org/dist/0.9.3/kid-0.9.3.tar.gz
# tar xfz kid-0.9.3.tar.gz
# cd kid-0.9.3
# python setup.py install

次に Pootle 本体をインストールします。

ここでは 0.10rc1 というバージョンをインストールします。

なお、これらのツールはデフォルトでは python の site-packages の下にインストールされます。また、PootleServer コマンドが /usr/bin にインストールされます。

# wget http://translate.sourceforge.net/snapshots/Pootle-0.10rc1/Pootle-0.10rc1.tar.gz
# tar xfz Pootle-0.10rc1.tar.gz
# cd Pootle-0.10rc1
# python pootlesetup.py install

インストールが正常に終了すると、PootlerServer コマンドが実行できるようになります。 また、PootleServer --help とすることでヘルプが表示されます。

設定ファイル[prefs]

実際に PootleServer を動かす前に、設定ファイルを編集します。 設定ファイルには以下の二つがあります。

このうち主に pootle.prefs を編集する必要があります。

具体的な編集の箇所としては、以下の部分になると思います。

ちなみに私が使っている設定ファイルから重要な部分を抜粋するとこんな感じです。:

    title = "Pootle in takanory.net"
    description = "Pootle server for plone 2.1 japanese translation"
    defaultlanguage = "ja"

    registration:
      fromaddress = "XXXXXX@takanory.net"
      smtpserver = "localhost"

    podirectory = "po"

    projects:
      pootle:
        fullname = "Pootle"
        description = "Web translation software"
        checkstyle = "standard"
      plone:
        fullname = "Plone"
        description = ""
        checkstyle = "standard"

    languages:
      templates.fullname = 'Templates'
      en.fullname = 'English'
      ja.fullname = 'Japanese'

apache の proxy 経由でアクセス[proxy]

Pootle サーバを立ち上げるとデフォルトでは8080番ポートを使って立ち上がります。 (ここでは -p オプションでポート番号を 8180 に変更しています。)

それはいまいちなので、apache のバーチャルホスト機能と proxy 機能を使って、 http://pootle.takanory.net/ でアクセスできるようにします。

そのために、httpd.conf に以下のように記述します。:

    <VirtualHost *>
      ServerName pootle.takanory.net
      ProxyPass /images !
      ProxyPass /js !
      ProxyPass /pootle.css !
      ProxyPass /favicon.ico !
      ProxyPass / http://localhost:8180/
      ProxyPassReverse / http://localhost:8180/
      <Directory proxy:http://localhost:8180/*>
        Order deny,allow
        Allow from all
      </Directory>
      ErrorLog logs/pootle_error_log
      CustomLog logs/pootle_log combined
      # Fallback for static html content
      DocumentRoot "/usr/lib/python2.3/site-packages/Pootle/html/"
      <Directory "/usr/lib/python2.3/site-packages/Pootle/html/">
        Order deny,allow
        Allow from all
      </Directory>
    </VirtualHost>

PootleServer 起動[server]

さて、ここまできたら PootleServer を起動します。

ここではバックグラウンドで実行、ポート番号を 8180 に変更、ログファイルを出力、また標準出力をファイルに書き出すようにして起動しています。

# PootleServer -B -p8180 -o/var/log/pootle.log > /var/log/pootle.out 2>&1

po ファイルを配置[pofiles]

しかしこれだけでは翻訳を行うことはできません。

設定ファイルに指定したプロジェクト用の po ファイルを配置する必要があります。

po ファイルは po/プロジェクト/言語 というディレクトリを作成して、そこに配置しなければなりません。 例えば plone-ja.po というファイルは po/plone/ja というディレクトリに配置することによって初めて翻訳できるようになります。

実際に http://pootle.takanory.net/ にアクセスして、試しに翻訳してみてください。 なお、翻訳を行うためにはユーザの登録が必要です。

最初に各プロジェクトのページにアクセスしたときは、po ファイルの中身を解析して、どのくらい翻訳されているか調べたりするので少し表示に時間がかかります。気長に待ってあげてください。

関連サイト[site]

pootle に関連する(参考にした)サイトです。