需要Google App Engine国际化帮助(Python)

时间:2010-02-10 10:47:42

标签: python google-app-engine internationalization

有没有人建议如何在app engine / webapp / python中使用国际化。我看过一些帖子re-django - 翻译支持,但我似乎找不到足够的信息来说明如何使它工作。

我需要的是一个解决方案

  1. 浏览器可以检测语言
  2. 用户可以覆盖并设置
  3. 模板中的字符串和代码中的字符串可以进行本地化
  4. 语言支持的简单文件编辑。
  5. 我是app引擎的新手,所以需要一些易于理解的指针/代码帮助

2 个答案:

答案 0 :(得分:2)

有几种选择需要考虑。

  • 标准gettext()。请参阅this代码示例。代码已过时:有一种管理cookie和会话的标准方法,因此应根据实际用途进行重写。

有时此方法失败,请参阅this issue。通常只需重新上载一个应用程序即可解决,但这很奇怪。

  • 使用babel。它是纯粹的python,因此可以轻松集成。缺点是外部依赖,但它工作小而且好。 Here是解释的答案。

  • 不要在代码中执行l10n和i18n。我的愿景是GAE应该是一个后端服务,只是偶尔提供html服务。

最近我做了一个需要多种语言的Web UI的项目。这次我使用_()和gettext()(python模块,而不是django标签)制作一个“主”模板,生成一组所需语言的模板,提取字符串并迭代语言。简单的模板加载器检查当前语言并加载适当的模板。这个想法是从p无耻地偷走的。 1.

答案 1 :(得分:1)

在这里,我提供了有关Google App Engine框架下的国际化和本地化的一些信息。 http://eflorent.blogspot.com/2010/08/internationalization-under-google-app.html