【发布时间】:2013-07-11 09:37:15
【问题描述】:
在Django模板中,这两者到底有什么区别:
{% blocktrans %}My Text{% endblocktrans %}
{% trans 'My Text' %}
【问题讨论】:
标签: django internationalization django-i18n
在Django模板中,这两者到底有什么区别:
{% blocktrans %}My Text{% endblocktrans %}
{% trans 'My Text' %}
【问题讨论】:
标签: django internationalization django-i18n
反模板标签
{% trans %} 模板标签转换常量字符串(用单引号或 > 双引号括起来)或变量内容:
使用 Trans 标记,您只能使用单个常量字符串或变量。所以你必须使用
{# These Would Work! #}
title>{% trans "This is the title." %}</title>
<title>{% trans myvar %}</title>
但是不能用
{%trans "This is my title {{ myvar }}" %}
Blocktrans 模板标签
与trans标签相反,blocktrans标签允许你标记复杂的句子 由文字和可变内容组成,通过使用占位符进行翻译:
使用 Blocktrans,这种代码是可能的:
{% blocktrans with book_t=book|title author_t=author|title %}
This is {{ book_t }} by {{ author_t }}
{% endblocktrans %}
因此,Blocktrans 将允许您在输出中变得更加复杂和完整。
但是从字面上回答你的问题:不多。除演示风格外,两者都将作为字符串'My Text'发送给译者
【讨论】: