【问题标题】:Using links with babel in Jinja2在 Jinja2 中使用带有 babel 的链接
【发布时间】:2016-02-05 09:13:23
【问题描述】:

目前我将 Flask 和 Jinja2 与 Babel 结合使用。到目前为止,一切都很好。

我面临的唯一问题是在翻译文本中使用链接时。假设我们在 HTML 中有以下内容:

<p>You can change this in your <a href="{{ url_for("settings") }}">settings</a>.</p>

如何将它与 babel 结合使用?

我一直在考虑以下代码,但是当翻译语言中的单词顺序不同时,这会出现问题。

<p>{{ _("You can change this in your ")<a href="{{ url_for("settings") }}">{{ _("settings")</a>.</p>

另一个想法是将整个 HTML 放入要翻译的字符串中,但是我不能再使用字符串转义了。

最好的方法是什么?

【问题讨论】:

标签: python flask jinja2 python-babel flask-babel


【解决方案1】:

我一直在寻找解决方案,并遇到了这个出色的 page

您可以使用可用于 jinja2 变量的字符串替换来添加链接。这是一个例子:

{{ _("You can change this in your %(open)ssettings%(close)s.", open='<a href="/user/%d">' % user_id, close='</a>')|safe }}

您的 .po 文件将包含如下条目:

msgid "You can change this in your %(open)ssettings%(close)s."
msgstr ""

【讨论】:

    猜你喜欢
    • 2014-06-10
    • 2016-05-31
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2020-05-04
    • 1970-01-01
    • 2016-04-21
    相关资源
    最近更新 更多