Django模板翻译在块中是不可能的

时间:2014-12-18 00:40:38

标签: python django templates python-3.x translation

在Python 3.4下使用Django 1.7.1,我遇到了一个问题,我没有找到任何答案,尽管看似平庸,并且在互联网上看到了很多类似的问题。到目前为止我没有解决过的解决方案。

我有一个简单的django模板,归结为必不可少的部分。它是 content 块中的simle“trans”标签翻译字符串,它覆盖了 admin / base content 块。

{% extends "admin/base.html" %}
{% block content %}
    {% trans "Entries" %}
{% endblock %}

有了这个,我得到一个 TemplateSyntaxError

Invalid block tag: 'trans', expected 'endblock'

到目前为止,我学到了你需要使用块转换来做类似的事情。但我不明白 - 为什么这样做不起作用? 有趣的是,如果我用{% trans "Entries" %}替换{{ _("Entries") }},一切都按预期工作。 但我需要使用trans标签获得额外的好处。

有很多例子,例如here,它们完全使用上面的模式 - 它可以工作。 欢迎任何帮助。

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:0)

我尝试使用此命令:

python manage.py makemessages zh_SG

而不是

python manage.py makemessages zh-sg

(注意下划线和大写字母结尾)并确保每个应用程序都有一个语言环境文件夹(makemessages可能会在应用程序之外创建一个错误位置的语言环境文件夹)

这对我有用,希望它能帮到你(https://stackoverflow.com/a/1833340/5798298