お勉強結果のメモです。
以下のような前提条件で、KayとかDjangoそのものに乗り換えることはせず、webappを使いながらdjango templateおよびtranslationを使うというカオスな状況。
- AppEngineでwebappを使う
- google.appengine.ext.webapp.templateを使う
- django.utils.translationを使う
手順を箇条書すると次の通り。
- 参考資料を元にクラスを追加、必要なハンドラを書き換え
- settings.pyを書く
- テンプレートに{% load i18n %}を突っ込む
- 国際化したい箇所を{% trans "msg" %}する(blocktransでも可)
- make-messages.py -l jaとかする
- conf/locale以下にできたpoファイルをごりごりいじる
- compile-messages.pyする
- アプリケーションサーバをstop / startする
ちなみに、Mac用AppEngine SDKだと次のような長いコマンドを打つハメになる。
$ pwd /some/where/AppEngineAppTop $ PYTHONPATH=/Applications/GoogleAppEngineLauncher.app/Contents/Resources//GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django/ /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django/django/bin/compile-messages.py
ハマったのは、moファイルを作ったあとにアプリケーションサーバをstop / startしないとメッセージが読み込まれない点。
いじょう。
[ad#text_wide]