[pyar] Sacando los strings a traducir de los templates de Jinja
Facundo Batista
facundobatista en gmail.com
Mie Jun 11 23:13:22 ART 2014
Buenas!
Estoy en el proceso de internacionalizar CDPedia, y parte de eso
implica tener templates con strings que necesitan estar en diferentes
idiomas.
*Creo* que estoy levantando Jinja y toda la bola de la manera
correcta, lo único que me falta es generar el .mo correspondiente para
que funcione.
Pero con lo que me trabé es al generar el .pot desde el template.
O sea, me está costando hacer "algo" que tome como fuente los .html
que son los templates, que adentro tienen "{% trans %}Foobar{%
endtrans %}", o que tienen "{{ gettext('Foobar') }}" y que me deje el
.pot correspondiente.
Probé varias cosas con xgettext, no pude. Luego, leyendo, ví que lo
que "se recomienda" usar es pybabel, pero no me anda, miren:
$ pybabel -v extract -o locale/core.pot src/web/templates/
writing PO template file to locale/core.pot
Traceback (most recent call last):
File "/usr/bin/pybabel", line 9, in <module>
load_entry_point('Babel==1.3', 'console_scripts', 'pybabel')()
File "/usr/lib/python2.7/dist-packages/babel/messages/frontend.py",
line 1151, in main
return CommandLineInterface().run(sys.argv)
File "/usr/lib/python2.7/dist-packages/babel/messages/frontend.py",
line 665, in run
return getattr(self, cmdname)(args[1:])
File "/usr/lib/python2.7/dist-packages/babel/messages/frontend.py",
line 947, in extract
sort_by_file=options.sort_by_file)
File "/usr/lib/python2.7/dist-packages/babel/messages/pofile.py",
line 427, in write_po
messages = list(catalog)
File "/usr/lib/python2.7/dist-packages/babel/messages/catalog.py",
line 552, in __iter__
for name, value in self.mime_headers:
File "/usr/lib/python2.7/dist-packages/babel/messages/catalog.py",
line 337, in _get_mime_headers
locale='en')))
File "/usr/lib/python2.7/dist-packages/babel/dates.py", line 609, in
format_datetime
locale = Locale.parse(locale)
File "/usr/lib/python2.7/dist-packages/babel/core.py", line 313, in parse
raise UnknownLocaleError(input_id)
babel.core.UnknownLocaleError: unknown locale 'en'
No tengo idea de por qué explota ahí... ¿ustedes?
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