5

ich einige Template-Code haben, der wie folgt aussieht:Wie kann ich die Ausgabe eines Filters in Django übersetzen

<input type='submit' value='{{ need.satisfied|yesno:"Resend this document now,Send this document now" }}' /> 

Ich möchte in der Lage sein, um es zu übersetzen, aber das scheint zu sein, schwer zu erreichen.

http://code.djangoproject.com/ticket/3804 erwähnt

{{ _("Some String") }} 

die für Literalzeichenfolgen scheint zu funktionieren, aber wenn wie

verwendet
{{ _(Variable) }} 

gibt den Fehler

Variables and attributes may not begin with underscores: '_' 

So, wie Sie es tun?

Oh ja, habe ich versucht zu tun:

'{% if blah %}{% trans "Resend..." %}{% else %}{% trans "Send..." %}{% endif %}' 

, die funktioniert, aber sehen so hässlich ich nicht will. Sicherlich mit Django es etwas eleganter Weg, dies zu tun .....

scheint wie ein | trans-Filter würde in Ordnung, aber das wurde als ein Nicht-Thema abgeschossen mit http://code.djangoproject.com/ticket/3804

Antwort

1

haben Sie versucht mit, blocktrans

{% blocktrans %} 
    string to translate with {{ vars }} 
{% endblocktrans %} 
+0

Ein Teil des Problems kommt von der Notwendigkeit, im Wesentlichen {% spaceless%} zu sein, da es im value-Attribut ist, die Leerzeichen sind signifikant (und die Zeilenumbrüche). Das Tag {% spaceless%} funktioniert nicht, da es nur Leerzeichen zwischen HTML-Tags entfernt und daher hier keine Wirkung hat. WolpH genagelt dies – boatcoder