1

文件在这个问题上不清楚。根据第 19 章:国际化 › 在模板代码部分,可以使用如下语法:

{% some_special_tag _("Page not found") value|yesno:_("yes,no") %}

但是,我想传递一个占位符以将变量传递给翻译,如下所示:

def my_view(request, m, d): output = _('今天是 %(month)s %(day)s.') % {'month': m, 'day': d} return HttpResponse(output)

尝试

我尝试了以下语法:

{% back_link 'core:work_unit' _('Unité de travail #%(id)') % {'id': requested_work_unit.id} %}

给 :

/unit/109/edit/ 处的 TemplateSyntaxError

无法解析余数:来自“%”的“%”

和这个

{% back_link 'core:work_unit' _('Unité de travail #%(id)', requested_work_unit.id) %}

给:

在 /unit/109/edit/ 处停止迭代

未提供异常消息

问题

如何在模板标签中使用惰性符号和占位符?

4

1 回答 1

-1

如果我没听错,您可以将变量放在blocktrans标记中:

<p>{% blocktrans with user.email as email %}Please confirm that <a href="mailto:{{ email }}">{{ email }}</a>.{% endblocktrans %}</p>

在您的翻译文件中:

#: templates/account/email_confirm.html:17
#, python-format
msgid ""
"Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a>"
msgstr ""
"Пожалуйста подтвередите <a href=\"mailto:%(email)s\">%(email)s</a>"

自定义标签中,您可以做任何您想做的事情:

@register.simpletag
def not_found(case):
    if case:
        return _("Page not found")
    return _("Yeah!")
于 2014-10-13T17:52:58.633 回答