Translating text blocks with Django .. what to do with the HTML?
django
Solution
I would definitely use blocktrans. Sometimes its not possible to split i18n html text into different fragments. Blocktrans has some powerfull features:
{% 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 %}
Have a look at:
- url template tag
- blocktrans template-tag
Problem
The title might not be clear, but I don't know how else to put it.. In the Django documentation it's pretty clear how to mark a text block for translation .. Take this example: ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quam sem, sodales in fringilla nec, lacinia a lorem. Vivamus vel molestie ante. ``` So far so good. You just either use the trans or blocktrans tag. But now consider this: ``` 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. ``` How should I deal with this ? Do I just wrap it in a block trans ? Edit: I think I've found out how it should be done .. ``` {% 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 %} ```