i18n在谷歌应用引擎1.4.3和django 1.2上

时间:2011-05-06 08:44:11

标签: python django google-app-engine internationalization

我找到了一些教程,展示如何在gae上使用i18n,但他们假设django 0.96。现在我没有例如makemessages的单独脚本,我无法运行manage.py。有没有人最近尝试使用i18n并且可以向我解释一下,如何做到这一点?

修改

我已设法生成po个文件并进行编译。我收到语言标题,我可以设置翻译语言。 self.request.LANGUAGE_CODE设置为pl,这很好。然而,在渲染网页时不使用这些翻译。你知道为什么会这样吗?

EDIT2

好的,我设法发现了一些试验/错误,你需要从django.conf导入设置并重新加载它们(setting._target = None)。它终于有效了。

1 个答案:

答案 0 :(得分:1)

我们得到了它,或者至少我们认为我们做到了。我们使用来自django 0.96的脚本编译消息来编译.po文件,并使用I18NRequestHandler升级到django 1.2,所以我想确认它有效。您可以在http://montao.googlecode.com查看我们的代码,但我们不使用manage.py,因为我们不使用所有的django。我希望其中一些有所帮助。我需要添加一个导入说from django.utils.translation import gettext_lazy as _,否则大多数django 0.96很容易升级到1.2。为了激活翻译,我们现在可以将hl参数用于HTTP查询,例如希腊语翻译:http://classifiedsmarket.appspot.com/?hl=el以及使用脚本compile-messages.py编译的.mo文件中的希腊文本显示