Trac 0.12 が出てたのでアップデートしました。
今回のバージョンで i18n 対応してます。
最初は tar ball をダウンロードしてきて sudo python setup.py install でインストールしたのですがうまく i18n で動いてくれませんでした(つまり表示が英語のまま)。
次は http://takanory.net/takalog/1235 を参考にして
$ sudo easy_install -UZ Babel
$ sudo easy_install -UZ docutils
$ sudo easy_install -UZ Pygments
$ sudo easy_install -UZ Genshi
$ sudo easy_install -UZ Trac
$ sudo apachectl restart
(*1)
としたところ、trac/locale で内部エラー。しょうがないので手作業で trac/locale をコピーして参照できるように httpd.conf (*2) を編集しました。最初 trac 関係の設定の最後に Alias を記述したらうまく表示されず、次に設定の前のほうに記述したらなんとかうまく表示されるようになりました。
ほんとうだったらこれで「よかった、よかった」なのですが、ちょっと trac/locale を置き場所を変えてみようかとして?な状態に。 なんと trac/locale を削除してもちゃんと表示されてる。mod_python 使ってるのでキャッシュに残ってるのかなと再起動してみてもちゃんと表示されてる。いったい何がおこってるのやら 🙁
PYTHON_EGG_CACHE (*3)が関係しているのかと設定をいじっては見たけど変化なし。どうもこの設定自体が有効に機能してないっぽいのでコメントアウト。それでもちゃんと動作してる感じ。
結局、何が問題でうまく表示されず、何がよくってうまく表示されるようになったのかがわからず気持ちが悪いのだけど、とりあえず次のときのために起きたことをそのままメモしておきます。
*1) http://trac.edgewall.org/milestone/0.12 によると Genshi’s 0.6, Babel 0.9.5 が必要だったみたい
*2) 実際には違うファイル。環境依存
*3) 結局 eggファイルのキャッシュがどこに展開されていて trac/locale がちゃんと apache から参照されているのかって問題なんだとは思うのだけど