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