5

tengo algo de código de la plantilla que se parece a:¿Cómo traduzco la salida de un filtro en Django

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

Me gustaría ser capaz de traducir, pero que parece ser difícil de lograr.

http://code.djangoproject.com/ticket/3804 menciones

{{ _("Some String") }} 

que parece funcionar para las cadenas literales, pero cuando se usa como

{{ _(Variable) }} 

da el error

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

Entonces, ¿cómo lo haces?

Oh sí, he intentado hacer:

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

que funciona, pero se ven tan fea que no quiero. Seguramente con Django hay alguna manera más elegante de hacer esto .....

parece una | filtro trans estaría en orden, pero eso fue derribado como un no-problema con http://code.djangoproject.com/ticket/3804

Respuesta

1

Tiene intentado usar, blocktrans

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

Parte del problema proviene de la necesidad de ser esencialmente {% spaceless%} porque está en el atributo value, los espacios son significativos (y las líneas nuevas). La etiqueta {% spaceless%} no funcionará porque elimina espacios entre las etiquetas html y, por lo tanto, no tiene efecto aquí. WolpH clavó este – boatcoder

Cuestiones relacionadas