2012-07-27 66 views
1

我已经安装了我的python AppEngine,可以使用i18n国际化支持。在代码中从语言环境获取文本可以正常工作,而Django模板中的{%trans“x”%}不会。GAE - {%trans%}在django模板中不起作用,而ugettext()不起作用

以下是我在一个示例模板:

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

,每次总是输出“家”和语言是空的。当我在代码中编写_(“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

回答

0

关于{{ LANGUAGE_CODE }},你必须settings.py背景处理器i18n这样的配置:

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

但我不认为这是你的问题的templatetag {% trans %}融洽。

+0

试过了,没有什么改变......如果你有几分钟的时间,看一下我上一分钟前上传的示例项目。 – Mikhail 2012-07-28 11:26:42