2

我已经成功安装了 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 技巧吗?

4

1 回答 1

4

使用blocktrans

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

它允许比 simple 更复杂的内容,而 simpletrans大多只能与标准文本一起使用。请注意,标签中不支持反向urlblocktrans查找,因此您必须在输入之前将 URL 保存到变量中blocktrans如本答案所示

于 2012-12-31T18:07:35.983 回答