Nei modelli Django, come tradurrei un blocco che contiene HTML? Per esempio:Modelli Django: best practice per la traduzione di blocchi di testo con HTML in esso
{% trans "Please" %}
<a href="{% url login %}?next={{ currentUrlPath }}">
{% trans "log in" %}
</a>
{% trans "in order to use MyApplicationName." %}
Frazionamento stringhe tradotte mi permette di modificare il codice HTML nel modello in qualsiasi momento, ma credo che avrebbe più senso di metterlo in una singola stringa di traduzione, in questo modo:
{% url login as loginUrl %}
{% blocktrans %}
Please
<a href="{{ loginUrl }}?next={{ currentUrlPath }}">
log in
</a>
in order to use MyApplicationName.
{% endblocktrans %}
Ma poi il codice HTML è nella stringa di traduzione, cioè se volessi cambiare l'HTML (es. La classe CSS per l'ancora), dovrei ritradurre la stringa per ogni lingua.
Ci sono alternative migliori?
Questa è una buona soluzione, grazie per questo. Userò il tweak di Ned Batchelder (memorizzando solo gli attributi in una variabile). Sfortunatamente hai ragione che la variabile 'anchor' non può essere creata facilmente usando il linguaggio di template incorporato di Django, quindi devo farlo a mio avviso. – AndiDog
Puoi fare ciò: {% url login come anchor_url%} {% blocktrans con anchor = ''|safe %}Please {{ anchor }}log in per utilizzare MyApplicationName. {% Endblocktrans%} –