2011-10-05 42 views
10

Estoy haciendo i18n para un proyecto de php con gettext. Me gustaría utilizar el automatic comment feature para dar consejos a los traductores al traducir frases largas reemplazadas por id. Lo que quiero conseguir es el siguiente archivo poGettext generación automática de comentarios

#: full-path-to-file/index.phtml:3 
#. a very long text which should replaced by _('foobar') 
msgid "foobar" 
msgstr "" 

De esta manera, el traductor puede ver lo que debería traducirse cuando ver la clave foobar uso de dicho programa o alguna herramienta analógica en la caja de comentarios programador.

He tratado con este código, pero no funciona

<?php 
/// TRANSLATORS: a very long text which should replaced by _('foobar') 
_('foobar'); 
?> 

Me estoy perdiendo algo o comentarios automáticos simplemente no trabajo para php?

Incluso Wikipedia mentions esta característica, he tratado de copiar su ejemplo en un fichero C, pero no puedo hacerlo funcionar incluso con C. La línea de comandos que he usado es

xgettext -C -o - main.c 

Pero el salida generada es

#: main.c:16 
#, c-format 
msgid "My name is %s.\n" 
msgstr "" 

Así que definitivamente estoy perdiendo algo, debería usar cualquier bandera o xgettext versión particular para activar esta función.

+0

Y en caso de que intente extraer de javascript con --language = Python, agregue un hash # al inicio del comentario, lo que significa que comience comentarios como // #, de esta manera xgettext extraerá los comentarios de la traducción correctamente. –

Respuesta

8

Para que xgettext extraiga comentarios de su fuente, debe pasar un argumento para indicarle qué comentarios buscar.

Desde el documentation:

-c[tag]’ ‘
--add-comments[=tag]

Coloque bloques de comentario comenzando con etiqueta y antes de líneas de palabras clave en el archivo de salida. Sin una etiqueta, la opción significa colocar todos los bloques de comentarios que preceden a las líneas clave en el archivo de salida .

Pasando -c/ o --add-comments=/ como argumento hará que reconoce el formato de "triple barra".

+0

Sí, lo acabo de encontrar solo. Merezco un gran RTFM ... – Fabio

+0

@John Flatness - ¿Alguna idea de por qué esto no funciona con los archivos .js en el modo Python? Más detalles aquí: http://stackoverflow.com/questions/12052844/extract-translator-comments-with-xgettext-from-javascript-in-python-mode – ragulka

Cuestiones relacionadas