2011-05-06 81 views
4

我发现了一些教程,显示如何在gae上使用i18n,但他们假设django 0.96。现在我没有为makemessages单独的脚本,我不能运行manage.py。有没有人最近尝试过使用i18n,可以向我解释,这怎么办?i18n谷歌应用程序引擎1.4.3和Django 1.2

编辑

我已成功地生成po和编译文件。我收到语言标题,并且可以设置翻译语言。 self.request.LANGUAGE_CODE设置为pl这很好。然而,在渲染网页时不会使用这些翻译。你有什么想法为什么这可能会发生?

EDIT2

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

+0

好。一个相关的问答是http://stackoverflow.com/questions/5271687/how-to-make-gae-django-pick-up-my-po-and-mo-translations – 2011-05-07 06:27:00

回答

1

我们得到了它的工作,或者至少我们认为我们做到了。我们使用django 0.96的脚本compile-messages编译.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以及用脚本编译的.mo文件中的希腊文显示文本compile-messages.py

+1

谢谢Niklas。我提出了你的答案,并试图实现这一点。如果它有效,我会接受它。祝我好运:-) – gruszczy 2011-05-06 14:50:37

+1

我正在运行'django-admin makemessages --all',但它无法在我的模板目录中检测到翻译。你有什么想法,为什么? – gruszczy 2011-05-06 15:44:40

+0

请同时参阅我的编辑。我已经生成并编译了消息,但我仍然没有得到所需的东西。 – gruszczy 2011-05-06 18:33:11