1

我已经使用 i18n 国际化支持设置了我的 python AppEngine 工作。从代码中的语言环境获取文本可以正常工作,而 django 模板中的 {% trans "x" %} 则不能。

这是我在示例模板中的内容:

{% load i18n %}
{% trans "Home" %}
Language: {{ LANGUAGE_CODE }}

它总是输出“Home”并且语言是空的。当我在代码中编写 _("Home") 时,一切都很好,我得到了翻译。

我的文件夹结构:

/
/lib - third parties
/locale
/locale/en
/locale/en/LC_MESSAGES
/locale/ru_RU
/locale/ru_RU/LC_MESSAGES
/static - static files
/source - python files
/source/templates - django templates

在我的 app.yaml

libraries:
    - name: django
    version: "1.2"

有任何想法吗?

编辑:这是我的测试项目的链接,它说明了这个问题......那里只有几个文件。 https://skydrive.live.com/redir?resid=C010011792A4B538!131

4

1 回答 1

0

关于{{ LANGUAGE_CODE }},您必须像这样settings.py在上下文处理器中进行配置i18n

TEMPLATE_CONTEXT_PROCESSORS = (
    ...
    'django.core.context_processors.i18n',
    ...

但我认为您的问题与 templatetag 没有融洽的关系{% trans %}

于 2012-07-27T14:29:23.497 回答