Provided by: po4a_0.73-2ubuntu1_all bug

NOMBRE

       po4a-gettextize - Convierte un fichero original (y su traducción) a un fichero PO

SINOPSIS

       po4a-gettextize -f fmt -m master.doc -l XX.doc -p XX.po

       (XX.po es la salida, todos los otros son entrada)

DESCRIPCIÓN

       po4a (PO para cualquier cosa) facilita el mantenimiento de la traducción de documentación utilizando las
       herramientas clásicas de gettext. La característica principal de po4a es que desacopla la traducción del
       contenido de la estructura del documento. Consulte la página po4a (7) para obtener una breve introducción
       a este proyecto.

       El script po4a-gettextize le ayuda a convertir sus traducciones ya existentes a un flujo de trabajo
       basado en po4a. Esto solo debe hacerse una vez para salvar una traducción existente al convertir a po4a,
       no de forma regular tras la conversión de su proyecto. Este tedioso proceso se explica en detalle en la
       sección 'Convertir una traducción manual a po4a' más abajo.

       Debe proporcionar tanto un archivo maestro (por ejemplo, la fuente en inglés) como un fichero traducido
       existente (por ejemplo, un intento de traducción anterior sin po4a). Si proporciona más de un archivo
       maestro o de traducción, se usarán en secuencia, pero puede ser más fácil gettextizar cada página o
       capítulo por separado y luego usar msgmerge para fusionar todos los archivos PO producidos. Como desee.

       Si el documento original contiene caracteres no ASCII, el fichero PO generado estará en UTF-8. Si el
       documento maestro está completamente en ASCII, el PO generado utilizará la codificación del documento
       traducido de entrada.

OPCIONES

       -f, --format
           El formato de la documentación que desea tratar. Use la opción --help-format para ver la lista de los
           formatos disponibles.

       -m, --master
           El  fichero  que contiene el documento original o principal a traducir. Puede usar esta opción varias
           veces si desea gettextizar varios documentos.

       -M, --master-charset
           El juego de caracteres del fichero que contiene el documento a traducir.

       -l, --localized
           El fichero  que  contiene  el  documento  localizado  (traducido).  Si  introdujo  varios  documentos
           originales,  puede  que  desee introducir varios documentos localizados usando esta opción más de una
           vez.

       -L, --localized-charset
           El juego de caracteres del fichero que contiene la versión localizada del documento.

       -p, --po
           El fichero dónde se debería escribir el catálogo de mensajes. Si no se proporciona,  el  catálogo  de
           mensajes se escribirá por la salida estándar.

       -o, --option
           Opción(es)  adicionales  a  introducir  a la extensión del formato. Consulte la documentación de cada
           extensión para más información acerca de las opciones aceptadas y su significado. Por ejemplo,  puede
           pasar  '-o  tablecells'  al  intérprete  AsciiDoc,  mientras que el intérprete de texto aceptaría '-o
           tabs=split'.

       -h, --help
           Muestra un mensaje corto de ayuda.

       --help-format
           Listado de formatos de documentación reconocidos por po4a.

       -k --keep-temps
           Conserve los archivos POT localizados originales y temporales generados  antes  de  la  fusión.  Esto
           puede ser útil para comprender por qué estos archivos no están sincronizados, lo que genera problemas
           de obtención de texto.

       -V, --version
           Muestra la versión del script y cierra.

       -v, --verbose
           Aumenta la cantidad de mensajes informativos del programa.

       -d, --debug
           Devuelve por la salida información de depuración de fallos.

       --msgid-bugs-address correo-e@direccion
           Define  el  destinatario de los informes de fallo en los msgid. Por omisión, los ficheros POT creados
           no tienen el campo «Report-Msgid-Bugs-To».

       --copyright-holder cadena
           Define el titula de los derechos de reproducción en la cabecera del  POT.  El  valor  predefinido  es
           «Free Software Foundation, Inc.»

       --package-name string
           Define el nombre del paquete en la cabecera del POT. El valor por omisión es «PACKAGE».

       --package-version string
           Define la versión del paquete en la cabecera del POT. El valor por omisión es «VERSION».

   Convertir una traducción manual a po4a
       po4a-gettextize sincronizará los archivos maestro y localizado para extraer su contenido a un archivo PO.
       El  contenido del archivo maestro está en msgid, mientras que el contenido del archivo localizado está en
       msgtr. Este proceso es algo frágil: la enésima cadena del archivo traducido se toma como la traducción de
       la enésima cadena del original.

       La gettextización funciona mejor si consigue recuperar la versión exacta del documento  original  que  se
       utilizó  para la traducción. Aun así, si el traductor original modificó la estructura de los archivos, es
       posible que tenga que manipular tanto el archivo maestro como el localizado para alinear  su  estructura,
       por lo que se recomienda trabajar con copias de los archivos.

       Internamente,  cada  intérprete po4a comunica el tipo sintáctico de cada cadena extraída. Esto es como la
       desincronización es detectada durante la gettextización. En  el  ejemplo  mostrado  abajo,  es  muy  poco
       probable que la cuarta cadena de la traducción (de tipo 'capítulo') sea la traducción de la cuarta cadena
       del original (de tipo 'párrafo'). Es más probable que un parágrafo nuevo fuera añadido al original, o que
       dos parágrafos originales fueran combinados en la traducción.

           Original         Traducción

         capítulo           capítulo
           párrafo            párrafo
           párrafo            párrafo
           párrafo          capítulo
         capítulo             párrafo
           párrafo            párrafo

       po4a-gettextize  diagnosticará  detalladamente  cualquier  desincronización  de  estructura.  Cuando esto
       ocurre, debería editar manualmente los archivos para añadir párrafos simulados o retirar algún  contenido
       aquí  y allá hasta que la estructura de ambos documentos coincidan. Se dan algunos trucos en la siguiente
       sección para salvar la mayor parte posible de la traducción al hacerlo.

       Si tiene la fortuna de tener una coincidencia perfecta entre las estructuras de los  archivos  sin  hacer
       nada,  crear  un  fichero  PO  correcto es una cuestión de segundos. Si no, pronto entenderá por qué este
       proceso tiene un nombre tan feo :) Aun así, la gettextización sigue siendo más rápida que traducirlo todo
       de nuevo. Yo gettexticé la traducción al francés de toda la documentación Perl en un día a pesar  de  los
       l<muchos>  problemas  de  sincronización. Dada la cantidad de texto (2MB de texto original), reiniciar la
       traducción sin salvar primero las traducciones  antiguas  hubiera  requerido  varios  meses  de  trabajo.
       Además, este trabajo pesado es el precio que hay que pagar para obtener el confort de po4a. Una vez hecha
       la  conversión, la sincronización entre documentos maestros y las traducciones siempre será completamente
       automática.

       Tras una gettextización correcta, los documentos producidos deben comprobarse manualmente  para  detectar
       disparidades y errores silenciosos, como se explica a continuación.

       Consejos y trucos para el proceso de gettextización

       La  gettextización se detiene en cuanto se detecta una desincronización. Cuando esto ocurre, es necesario
       editar los archivos tanto como sea necesario para realinear sus estructuras. po4a-gettextize es  bastante
       verboso  cuando las cosas van mal. Informa de las cadenas que no coinciden, sus posiciones en el texto, y
       el tipo de cada una  de  ellas.  Además,  el  archivo  PO  generado  hasta  el  momento  se  vuelca  como
       gettextization.failed.po para su posterior inspección.

       Aquí hay algunos trucos para ayudarle en este proceso tedioso y asegurarse de que salva lo máximo posible
       de la traducción anterior:

       •   Eliminar  todo  el  contenido  extra  de  las  traducciones,  como  la  sección que da créditos a los
           traductores. Deberán añadirse por separado a po4a como apéndices (véase po4a(7)).

       •   Si necesita editar los ficheros para alinear sus estructuras, es preferible editar la  traducción  si
           es posible. Ciertamente, si los cambios al original son demasiado intrusivos, las versiones antigua y
           nueva  no  serán  coincidentes durante la primera ejecución de po4a después de la gettextización (vea
           más abajo). Cualquier traducción que no coincida será descartada de  todas  formas.  Dicho  esto,  es
           recomendable  editar  el  documento  original si es demasiado difícil conseguir que la gettextización
           proceda de otra forma, incluso si esto significa que un párrafo de  la  traducción  se  descarte.  Lo
           importante es obtener un fichero PO con el que comenzar.

       •   No  dude  en  eliminar  cualquier contenido original que no existiese dentro de la versión traducida.
           Este contenido será reintroducido automáticamente después, cuando sincronice el  fichero  PO  con  el
           documento.

       •   Probablemente  debería  informar  al  autor  original  de  cualquier  cambio estructural dentro de la
           traducción que parezca justificado. Si hay problemas con el documento original debería comunicarlo al
           autor. Arreglarlas en su traducción solo las soluciona a una parte de  la  comunidad.  Y  además,  es
           imposible  hacerlo  así  cuando  se  usa  po4a  ;)  Pero probablemente quieras esperar al final de la
           conversión a po4a antes de cambiar los archivos originales.

       •   A veces el contenido del párrafo encaja, pero no  sus  tipos.  Arreglar  eso  depende  más  bien  del
           formato.  En  POD  y man, a menudo es culpa de que una de las líneas empieza con un espacio y la otra
           no.  En estos formatos, este párrafo no se podría justificar y su tipo cambiaría. Simplemente elimine
           el espacio y ya está. También puede tratarse de un error tipográfico en el nombre de la  etiqueta  en
           XML.

           De manera parecida, dos párrafos se podrían fusionar en un POD cuando la línea de separación contiene
           algunos  espacios,  o  cuando  no hay una línea de separación entre la línea =item y el contenido del
           elemento («item»).

       •   A veces, el mensaje de desincronización parece raro porque  la  traducción  está  emparejada  con  el
           párrafo  original  equivocado.  Esto  indica  que  hay  un  problema no detectado anteriormente en el
           proceso.   Busque   el   punto    de    desincronización    actual    inspeccionando    el    archivo
           gettextization.failed.po, y repare el problema donde realmente está.

       •   Otros  problemas pueden provenir de cadenas duplicadas en el original o en la traducción. Las cadenas
           duplicadas se fusionan en archivos PO, con dos referencias. Esto constituye una  dificultad  para  el
           algoritmo  de  gettextización,  que  es  un  simple  emparejamiento uno a uno entre las msgids de los
           archivos maestro y localizado. Sin embargo, se cree  que  las  versiones  recientes  de  po4a  tratan
           adecuadamente  las cadenas duplicadas, por lo que debería informar de cualquier problema restante que
           pueda encontrar.

   Revisión de los archivos producidos por po4a-gettextize
       Cualquier archivo producido por po4a-gettextize debe ser revisado manualmente, incluso cuando  el  script
       termina  con  éxito.  Debería  hojear  el  fichero PO, asegurándose de que el msgid y el msgstr coinciden
       realmente. No es necesario asegurarse todavía de que la traducción  es  perfectamente  correcta,  ya  que
       todas  las  entradas se marcan como fuzzies de todas formas. Solo necesita comprobar los problemas obvios
       de concordancia, porque las traducciones mal emparejadas serán desechadas en pasos posteriores,  y  usted
       quiere salvarlas.

       Afortunadamente,  este paso no requiere dominar las lenguas de destino, ya que solo se trata de reconocer
       elementos similares en cada msgid y su correspondiente msgstr. Como hablante de francés, inglés y algo de
       alemán, puedo hacer esto al menos para todas las lenguas europeas, aunque no sepa decir ni una palabra en
       la mayoría de ellas. A veces consigo detectar problemas de concordancia en lenguas no  latinas  fijándome
       en  la  longitud  de  las  cadenas,  las  estructuras  de  las frases (¿coincide la cantidad de signos de
       interrogación?) y otras pistas, pero prefiero que sea otra persona quien revise esas lenguas.

       Si detecta un desajuste, edite los archivos original y traducido como si po4a-gettextize informara de  un
       error,  e  inténtelo  de nuevo. Una vez que tenga un archivo PO decente para su traducción anterior, haga
       una copia de seguridad hasta que consiga que po4a funcione correctamente.

   Ejecutar po4a por primera vez
       La forma más fácil de configurar po4a es escribir un  fichero  de  configuración  po4a.conf,  y  usar  el
       programa integrado po4a (po4a-updatepo y po4a-translate están obsoletos). Consulte la sección "ARCHIVO DE
       CONFIGURACIÓN" de la documentación de po4a(1) para obtener más información.

       Cuando  po4a  se  ejecuta por primera vez, se utilizará la versión actual de los documentos maestros para
       actualizar  los  archivos  PO  que  contienen  las  traducciones  antiguas  que   rescató   mediante   la
       gettextización.  Esto  puede  llevar bastante tiempo, porque muchos de los msgids de la gettextización no
       coinciden exactamente con los elementos del fichero POT construido a  partir  de  los  archivos  maestros
       recientes. Esto obliga a gettext a buscar el más cercano utilizando un costoso algoritmo de proximidad de
       cadenas.  Por  ejemplo,  la  primera ejecución sobre la traducción al francés de la documentación de Perl
       (fichero PO de 5,5 MB) tardó unas 48 horas (sí,  dos  días)  mientras  que  las  siguientes  sólo  tardan
       segundos.

   Pasar sus traducciones a producción
       Tras  esta  primera ejecución, los archivos PO están listos para ser revisados por los traductores. Todas
       las entradas fueron marcadas como fuzzies en el archivo PO por po4a-gettextization, forzando su cuidadosa
       revisión antes de su uso. Los traductores deben tomar cada  entrada  para  verificar  que  la  traducción
       rescatada coincide realmente con el texto original actual, actualizar la traducción según sea necesario y
       eliminar los marcadores fuzzy.

       Una  vez  que  se  hayan  eliminado suficientes marcadores fuzzy, po4a empezará a generar los archivos de
       traducción en disco, y ya estará listo para pasar su flujo de trabajo de traducción a producción. Algunos
       proyectos encuentran útil usar Weblate para coordinar a traductores y mantenedores, pero eso  está  fuera
       del alcance de po4a.

VÉASE TAMBIÉN

       po4a(1), po4a-normalize(1), po4a-translate(1), po4a-updatepo(1), po4a(7).

AUTORES

        Denis Barbier <barbier@linuxfr.org>
        Nicolas François <nicolas.francois@centraliens.net>
        Martin Quinson (mquinson#debian.org)

TRADUCCION

        Jordi Vilalta <jvprat@gmail.com>
        Omar Campagne <ocampagne@gmail.com>

DERECHO DE COPIA Y LICENCIA

       Copyright 2002-2023 por SPI, inc.

       Este  programa es software libre; puede redistribuirlo y/o modificarlo bajo los términos de la GPL v2.0 o
       posterior (consulte el archivo COPYING).

perl v5.38.2                                       2024-08-28                              PO4A-GETTEXTIZE.1P(1)