[pyar] Strings con reemplazos en jinja

Facundo Batista facundobatista en gmail.com
Sab Jul 12 20:31:30 ART 2014


Buenas!

En otro thread me ayudaron y logré hacer que en CDPedia (donde tenemos
un server no django pero usamos templates jinja) funcione tener algo
como por ejemplo:

    <h5>{{ gettext('Search') }}</h5>

Luego yo ejecuto:

    pybabel -v extract -F locale/babel.config -o locale/core.pot
src/web/templates/

Y paso a tener ese string en el core.pot. Hago todo lo que corresponde
a nivel de "localización" (traducir, compilar, etc), ¡y funciona!

Ahora vamos por el nivel dos: strings con reemplazos.

Estuve tratando de lograr hacer andar lo siguiente (la verdad, a los
ponchazos, no encontré en ningun lugar que diga cómo hacerlo :/ ):

    <title>{{ gettext('Article %s not found.' % (article_name,)) }}</title>

Como ven ahí, el texto tiene un %s que luego jinja debería reemplazar
con el nombre del artículo!!

En inglés eso funciona: cuando corro CDPedia teniendo ese texto en el
template, yo veo algo como:

    "Article FooBar not found"

El tema es que no logro que encaje la internacionalización acá. O sea,
el mismo "pybabel extract" que tiraba antes no me está incluyendo este
string en el .pot (y si lo incluyo a mano, traduzco, compilo, etc,
igual tampoco funciona).

Lo que me gustaría que pase es que esto me aparezca en el .pot:

    "Article %s not found"

...así yo traduzco esto en el es.po....

    "No se encontró el artículo %s"

... y luego al correr CDPedia se debería ver:

    "No se encontró el artículo FooBar"

¿Alguien tiene idea cómo hacer funcionar esto?

Muchas gracias!!

Slds.

--
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Twitter: @facundobatista


More information about the pyar mailing list