Actualmente estoy trabajando en la localización de idioma de Khan Academy, he descargado la fuente 8051 de Google Code. Después de la información de la encuesta y el código de visualización en línea, el proyecto se hace usando jinja2 como lenguaje de plantillas. Puedo usar babel para realizar mi trabajo.Localización de idioma de Khan Academy
Con el siguiente trabajo, por fin puedo permitir {%trans%}
y {%endtrans%}
etiqueta de análisis sintáctico-poder por el motor de plantillas con las siguientes modificaciones:
en webapp2_extra/jinja2.py:
from django.utils import translation
env.install_gettext_translations(translation)
en config_jinja2.py
-- put following line
"extensions": ['jinja2.ext.i18n']
Sin embargo, mi plantilla traducida de *.mo
y *.po
(fr om pybabel) no traduce correctamente la etiqueta dentro del valor en el lenguaje destinado. Estoy pensando que la integración de babel debería venir de webapp2_extra.i18n.py, pero no sé cómo habilitarlo.
Como pocos puestos en Google mencionaron que podría funcionar siguiente código:
from webapp2_extras import i18n
env.install_gettext_translations(i18n)
Sin embargo, se produce un error porque no reconoce la etiqueta {%trans%}
. ¿Alguien tiene la experiencia trabajando en el mismo problema o tiene alguna sugerencia para el problema jinja2 i18n?
Valora cualquier sugerencia.
¿Estás recompilar el .mo y po. archivos con las utilidades gettext? Suena de todos modos que tienen un sistema similar a Django para las traducciones, así que es mejor que compruebes la documentación de Django – Lorenzo
¿Trabajas en Khan Academy? –
No, soy solo un voluntario para traducir Khan Academy al chino. Tratando de encontrar una forma más inteligente en lugar de modificar HTML. –