[Plone-conosur] Problema con las traducciones en plone.app.registry.- Resuelto

Victor Terán elalcon89 en gmail.com
Vie Mar 18 17:40:34 UTC 2011


Gracias a Dios resolví el problema, era un error de referencia. El nombre
del archivo .po en locales/es/LC_MESSAGES debe corresponder con el dominio
de la aplicación declarado en las templates y MessageFactory en el
__init__.py del paquete.

Es decir,

En el __init__.py
from zope.i18nmessageid import MessageFactory
# Define a message factory for when this product is internationalised.
# This will be imported with the special name "_" in most modules. Strings
# like _(u"message") will then be extracted by i18n tools for translation.
audioMessageFactory = MessageFactory(*'cenditel.audio*')

en cualquier template
<html xmlns="http://www.w3.org/1999/xhtml"
      xml:lang="en" lang="en"
      xmlns:tal="http://xml.zope.org/namespaces/tal"
      xmlns:metal="http://xml.zope.org/namespaces/metal"
      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
      metal:use-macro="here/main_template/macros/master"
      i18n:domain="*cenditel.audio*">


Mi archivo en  locales/es/LC_MESSAGES/*cenditel.audio*.po

El 18 de marzo de 2011 10:12, Victor Terán <elalcon89 en gmail.com> escribió:

> Buen punto. En el primer caso si tengo la sentencia en el configure.zcml.
> Pero en el segundo me gustaría pedirte que me des más información porque esa
> sentencia no la cumplo.
>
> De antemano gracias.
>
> El 18 de marzo de 2011 02:34, Mikel Larreategi <mlarreategi en codesyntax.com
> > escribió:
>
> 2011/3/17 Victor Terán <elalcon89 en gmail.com>:
>> > Saludos a todos, hice un panel de control en ingles para una aplicación
>> > usando Plone.app.registry siguiendo esta documentación  el problema, es
>> que
>> > ahora que necesito traducirlo sencillamente no toma las traducciones del
>> > archivo .po.
>> > ¿Alguna idea de que puede estar sucediendo? En este momento no tengo
>> > tracerback ni mensaje de error por lo que estoy aún más desconcertado.
>> Estoy
>> > usando este script para extraer las cadenas.
>> > i18ndude rebuild-pot --pot ./transcodedeamon.pot --merge ./manual.pot
>> > --create cenditel.transcodedeamon ../  || exit 1
>> > i18ndude sync --pot ./transcodedeamon.pot
>> ./*/LC_MESSAGES/transcodedeamon.po
>> > WARNINGS=`find . -name "*pt" | xargs i18ndude find-untranslated | grep
>> -e
>> > '^-WARN' | wc -l`
>> > ERRORS=`find . -name "*pt" | xargs i18ndude find-untranslated | grep -e
>> > '^-ERROR' | wc -l`
>> > FATAL=`find . -name "*pt"  | xargs i18ndude find-untranslated | grep -e
>> > '^-FATAL' | wc -l`
>> > echo
>> > echo "There are $WARNINGS warnings \(possibly missing i18n markup\)"
>> > echo "There are $ERRORS errors \(almost definitely missing i18n
>> markup\)"
>> > echo "There are $FATAL fatal errors \(template could not be parsed, eg.
>> if
>> > it\'s not html\)"
>> > echo "For more details, run \'find . -name \"\*pt\" \| xargs i18ndude
>> > find-untranslated\' or"
>> > echo "Look the rebuild i18n log generate for this script called
>> > \'rebuild_i18n.log\' on locales dir"
>> > rm ./rebuild_i18n.log
>> > touch ./rebuild_i18n.log
>> > find ../ -name "*pt" | xargs i18ndude find-untranslated >
>> rebuild_i18n.log
>> >
>> > En cuanto al código python, agregue la importación de MessageFactory
>> para
>> > cada cadena que necesito traducir, pero aún sin exito.
>> >
>>
>> Yo estoy utilizando ese mismo tutorial para crear paneles de control
>> en un proyecto y me funciona perfectamente. Mis preguntas:
>>
>> - ¿Has cargado las traducciones con la correspondiente sentencia ZCML?
>> <i18n:registerTranslations directory="locales" />
>> - ¿Tienes puesto en el buildout que compile los archivo po a archivos
>> mo?  zope_i18n_compile_mo_files true
>>
>>
>> Mikel
>>
>>
>> --
>> Mikel Larreategi
>> mlarreategi en codesyntax.com
>>
>> CodeSyntax
>> Azitaingo Industrialdea 3 K
>> E-20600 Eibar
>> Tel: (+34) 943 82 17 80
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.plone.org/pipermail/plone-plone-conosur/attachments/20110318/a63e8123/attachment-0002.html>


Más información sobre la lista de distribución Plone-ConoSur