El 25/12/13 11:36, Raimon Esteve ha escrit:

> Perdon por el offtopic: Raimon las plantillas las tienes traducibles??? O las creas en un solo idioma?

Lo hago como cualquier app de flask + babel

from flask.ext.babel import Babel, gettext as _

babel = Babel(app)

Generación mo y po

babel.cfg

[python: **.py] [jinja2: **/templates/**.html] extensions=jinja2.ext.autoescape,jinja2.ext.with_

pybabel extract -F babel.cfg -o messages.pot .

pybabel init -i messages.pot -d translations -l es pybabel update -i messages.pot -d translations -l es

pybabel compile -d translations pybabel update -i messages.pot -d translations

Ejemplo plantilla:
https://github.com/zikzakmedia/nereid-demo/blob/master/templates/address.jinja

La pega o ventaja es q por cada proyecto/web debes traducir ya q depende las plantillas q tengas. Pero el copy-paste hace milagros ;-)

> Estoy haciendo un patch para que las traducciones de nereid (plantillas + forms + flash messages) sean traducibles a traves de tryton y justamente NO voy a buscar las plantillas del directorio de la app de flask (porque es impossible de saber donde esta)

Y como extraes los strings de las plantillas? He visto q estas trabajando con ello pero no me lo puedo mirar.

Mediante babel, se buscan las plantillas de dentro de los módulos y se extraen los strings marcados cómo traducibles. Es exactamente el mismo proceso que estas haciendo ahora pero integrado dentro del workflow de traducción de tryton.

Mi pregunta es sobre rendimiento. Si no usas cache, cada vez debe buscar las traducciones a tryton. No sera lento? Es q lo veo una consulta mas y se puede evitar....

La gracia esta en usar la cache de tryton para evitar esta consulta extra y así no ser tan lento. Por lo que he visto sharoon lo tiene ya implementado (en base de mi código). Cuando tenga un poco de tiempo me lo reviso y os digo a ver que tal.

Por ahora babel me va de sobras ;-)


--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk

Responder a