Перевод текстовых блоков с помощью Django.. что делать с HTML?
Название может быть неясным, но я не знаю, как это сделать.
В документации Django довольно ясно, как отметить текстовый блок для перевода. Возьмем этот пример:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Donec quam sem, sodales in fringilla nec, lacinia a lorem.
Vivamus vel molestie ante.
Пока все хорошо. Вы просто используете тег trans или blocktrans.
Но теперь рассмотрим это:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Donec quam sem, sodales in fringilla nec, lacinia a lorem.
<a href="{% url some-view %}">Vivamus vel</a> molestie ante.
Как мне с этим бороться? Я просто переношу его в блок trans?
Edit:
Я думаю, что узнал, как это должно быть сделано.
{% url some-view as some_view_url %}
{% blocktrans %}
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Donec quam sem, sodales in fringilla nec, lacinia a lorem.
<a href="{{ some_view_url }}">Vivamus vel</a> molestie ante.
{% endblocktrans %}
Ответы
Ответ 1
Я бы определенно использовал blocktrans. Иногда его невозможно разбить i18n html текст на разные фрагменты. У Blocktrans есть несколько мощных функций:
{% url path.to.view arg arg2 as the_url %}
{% blocktrans with object.title as title and author|title as author_t %}
{{author}}: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Donec quam sem, sodales in fringilla nec, lacinia a lorem.
<a href="{{the_url}}">{{title}}</a> molestie ante.
{% endblocktrans %}
Посмотрите: