【问题标题】:How do I keep inline links within django translations?如何在 django 翻译中保留内联链接?
【发布时间】:2012-12-31 18:02:01
【问题描述】:

我已经成功安装了 Django 的翻译系统,但遇到了似乎是设计缺陷的问题(希望我错了)。

这样创建翻译块很容易

<p>{% trans "The rain in Spain falls mainly on the plain" %}</p>

但在某些情况下,我希望句子的一部分成为链接或具有不同的格式。

<p>The rain in <a href="...">Spain</a> falls <strong>mainly</strong> on the plain</p>

我意识到,我可以在这些标签中创建翻译块

<p>
  {% trans "The rain in " %}
  <a href="...">{% trans "Spain" %}</a>
  {% trans " falls mainly " %}
  <strong>{% trans "on the plain" %}</strong>
</p>

但这不仅会让翻译者感到恼火,而且还会强制使用目标语言无法保证的词序。

我研究过更强大的翻译解决方案,例如 https://github.com/mbi/django-rosetta 但是我在文档中没有看到任何关于它的使用说明。我可以在这里使用一些 HTML 技巧吗?

【问题讨论】:

    标签: python django


    【解决方案1】:

    使用blocktrans:

    <p>
      {% blocktrans %}
      The rain in <a href="...">Spain</a>
      falls mainly <strong>on the plain</strong>
      {% endblocktrans %}
    </p>
    

    它允许比简单的trans 更复杂的内容,后者大多只能用于标准文本。请注意reverse url lookups are not supported 在blocktrans 标记中,因此您必须在输入blocktrans、as shown in this answer 之前将URL 保存到变量中。

    【讨论】:

      猜你喜欢
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多