【问题标题】:Google App Engine Internationalization Help needed (Python)需要 Google App Engine 国际化帮助(Python)
【发布时间】:2010-02-10 10:47:42
【问题描述】:

对如何在应用引擎/webapp/python 中使用国际化有任何建议吗?我已经看到一些帖子重新 - django - 翻译支持,但我似乎无法找到足够的信息来说明如何使它工作。

我需要的是一个解决方案

  1. 浏览器可以检测语言
  2. 用户可以覆盖和设置
  3. 模板和代码中的字符串可以本地化
  4. 语言支持的简单文件编辑。

我是应用引擎的新手,所以需要一些易于理解/理解的指针/代码帮助

多于

【问题讨论】:

  • 您可能将本地化与国际化混淆了,这使您的搜索更加困难(您想寻找国际化)。请阅读文章了解不同之处:w3.org/International/questions/qa-i18n
  • 啊 - 啊!抱歉,我知道我的意思——长时间的编程让大脑死机——我会重新发布这个。非常感谢你看起来很愚蠢。如果其他人有兴趣,我会发布新帖子的链接。
  • 你应该只是编辑了这个问题,而不是创建一个新问题。

标签: python google-app-engine internationalization


【解决方案1】:

有几个选项需要考虑。

  • 标准 gettext()。请参阅this 代码示例。代码已经过时了:有一种标准的方式来管理 cookie 和会话,所以应该重写它以供实际使用。

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

  • 使用通天塔。它是纯python,因此可以轻松集成。缺点是外部依赖,但它很小且工作良好。 Here 是一个带有解释的答案。

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2020-09-20
      • 2020-05-12
      • 1970-01-01
      相关资源
      最近更新 更多