Nei modelli di Django, che cosa è esattamente la differenza tra questi due:Django i18n blocktrans vs trans
{% blocktrans %}My Text{% endblocktrans %}
{% trans 'My Text' %}
Nei modelli di Django, che cosa è esattamente la differenza tra questi due:Django i18n blocktrans vs trans
{% blocktrans %}My Text{% endblocktrans %}
{% trans 'My Text' %}
Da Django Docs
Trans tag template
La {%% trans } Il tag template traduce una stringa costante (racchiusa tra virgolette singole o doppie) o variabile:
Con un tag Trans, si è limitati a una singola stringa costante o variabile. Così si dovrebbe usare
{# These Would Work! #}
title>{% trans "This is the title." %}</title>
<title>{% trans myvar %}</title>
Ma non era possibile utilizzare
{%trans "This is my title {{ myvar }}" %}
Blocktrans mascherina modifica
Contrariamente al tag trans, il tag blocktrans consente di contrassegnare frasi complesse composto da letterali e contenuto variabile per la traduzione utilizzando i segnaposto:
Con un Blocktrans, questo tipo di codice è possibile:
{% blocktrans with book_t=book|title author_t=author|title %}
This is {{ book_t }} by {{ author_t }}
{% endblocktrans %}
Così Blocktrans sta per consentire di essere un po 'più complesso e attraverso la vostra uscita.
Ma per rispondere alla tua domanda letteralmente: non molto. Fatta eccezione per lo stile di presentazione, entrambi saranno inviati al traduttore come la stringa 'My Text'
Perfetto. Penso che il problema sia stato il modo in cui le variabili vengono gestite nei tag. Non avevo realizzato che il tag trans non potesse combinare variabili e stringhe. Grazie! – tzenderman
gli svantaggi dell'uso di blocktrans per entrambi? – dietbacon
No. È puramente una questione di preferenza. – JcKelley