PO4A.1P(1) User Contributed Perl Documentation PO4A.1P(1) NOMBRE po4a - Actualiza los ficheros PO y los documentos traducidos a la vez SINOPSIS po4a [opciones] fichero_de_configuracion DESCRIPCION po4a (PO para cualquier cosa) facilita el mantenimiento de la traduccion de documentacion utilizando las herramientas clasicas de gettext. La caracteristica principal de po4a es que desacopla la traduccion del contenido de la estructura del documento. Consulte la pagina po4a (7) para obtener una breve introduccion a este proyecto. Al ejecutarse, po4a analiza todos los archivos de documentacion especificados en su fichero de configuracion. Actualiza los archivos PO (que contienen la traduccion) para reflejar cualquier cambio en la documentacion, y produce los documentos traducidos inyectando la traduccion del contenido (que se encuentra en los archivos PO) en la estructura del documento maestro original. Inicialmente, los archivos PO solo contienen las cadenas a traducir de la documentacion original. Este formato de archivo permite a los traductores proporcionar manualmente una traduccion para cada parrafo extraido por po4a. Si la documentacion se modifica posteriormente a la traduccion, po4a marca las traducciones correspondientes como "fuzzy" en el archivo PO para solicitar una revision manual por parte de los traductores. Los traductores tambien pueden proporcionar un "anexo"; contenido extra que por ejemplo puede informar de quien realizo la traduccion y como reportar fallos. documentos maestros -+---->-------->---------+ (autoria doc) | | V (ejecuciones po4a) >-----+--> documentos | | | traducidos archivo PO existente->--> PO actualizados >-+ | ^ | | | V | +----------<---------<-------+ ^ (proceso de traduccion manual) | | anexo -->--------------------------------------+ El flujo de trabajo de po4a es asincrono, como corresponde a los proyectos de codigo abierto. Los redactores de la documentacion crean los documentos maestros a su propio ritmo. Los traductores revisan y actualizan las traducciones en los archivos PO. Los mantenedores vuelven a ejecutar po4a cuando es necesario, para reflejar cualquier cambio en la documentacion original en los archivos PO, y para producir traducciones actualizadas de la documentacion, inyectando la ultima traduccion en la ultima estructura del documento. Por defecto, un documento traducido se produce cuando al menos el 80% de su contenido esta traducido. El texto no traducido se mantiene en el idioma original. De este modo, la documentacion producida mezcla idiomas si la traduccion no es completa. Puede modificar el umbral del 80% con la opcion --keep que se describe abajo. Tenga en cuenta, sin embargo, que descartar traducciones en cuanto no estan al 100% puede ser desalentador para los traductores, cuyo trabajo casi nunca se mostrara a los usuarios, mientras que mostrar "traducciones" demasiado incompletas puede ser problematico para los usuarios finales. Almacenar los archivos de documentacion traducidos en el sistema de control de versiones es probablemente una mala idea, ya que se generan automaticamente. Los archivos valiosos son los archivos PO, que contienen el duro trabajo de los companeros traductores. Ademas, a algunas personas les resulta mas facil interactuar con los traductores a traves de una plataforma en linea como weblate, pero naturalmente esto es totalmente opcional. Tutorial de iniciacion rapida Supongamos que usted mantiene un programa llamado foo que tiene una pagina de manual man/foo.1 escrita en ingles (el idioma puente en la mayoria de los proyectos de codigo abierto, pero po4a puede usarse desde o hacia cualquier idioma). Hace algun tiempo, alguien proporciono una traduccion al aleman llamada man/foo.de.1 y desaparecio. Esto es un problema porque usted acaba de recibir un informe de error diciendo que su documentacion contiene una informacion gravemente erronea que debe ser corregida en todos los idiomas, pero usted no habla aleman, asi que solo puede modificar el original, no la traduccion. Ahora, otro colaborador quiere aportar una traduccion al japones, un idioma que usted tampoco domina. Es hora de convertir su documentacion a po4a para solucionar sus pesadillas de mantenimiento de la documentacion. Quiere actualizar la documentacion cuando sea necesario, quiere facilitar el trabajo de sus companeros traductores y quiere asegurarse de que sus usuarios nunca vean documentacion obsoleta y, por tanto, erronea. La conversion incluye dos pasos: configurar la infraestructura po4a, y convertir la traduccion anterior al aleman para salvar el trabajo previo. Esta ultima parte se hace usando po4a-gettextize, como sigue. Como se detalla en la documentacion de po4a-gettextize(1), este proceso raramente es completamente automatico, pero una vez hecho, el archivo de.po que contiene la traduccion al aleman puede integrarse en su flujo de trabajo con po4a. po4a-gettextize --format man --master foo.1 --localized foo.de.1 --po de.po Configuremos ahora po4a. Con el diseno de archivo apropiado, su archivo de configuracion podria ser tan simple como esto: [po_directory] man/po4a/ [type: man] man/foo.1 $lang:man/translated/foo.$lang.1 Especifica que todos los archivos PO (que contienen el trabajo de los traductores) estan en el directorio man/po4a/, y que solo tiene un archivo maestro, man/foo.1. Si tuvieras varios archivos maestros, tendrias varias lineas similares a la segunda. Cada una de estas lineas tambien especifica donde escribir los archivos de traduccion correspondientes. Aqui, la traduccion alemana de man/foo.1 esta en man/translated/foo.de.1. Lo ultimo que necesitamos para completar la configuracion de po4a es un archivo POT que contenga el material de plantilla que debe utilizarse para iniciar una nueva traduccion. Basta con crear un archivo vacio con la extension .pot en el po_directory especificado (por ejemplo, man/po4a/foo.pot), y po4a lo rellenara con el contenido esperado. Aqui tiene un resumen de los archivos en esta configuracion: man/ | foo.1 <- La pagina de manual original, en ingles | po4a/ | | de.po <- La traduccion de PO al aleman, de gettextization | | foo.pot <- La plantilla POT de futuras traducciones (vacia al principio) | traducido/ <- Directorio donde se crearan las traducciones po4a.cfg <- El fichero de configuracion Una vez configurado, ejecutando po4a analizara su documentacion, actualizara la plantilla POT, lo usara para actualizar los archivos de traduccion PO, y los usara para actualizar los archivos de traduccion de la documentacion. Todo en un solo comando: po4a --verbose po4a.cfg Esto es. po4a ya esta completamente configurado. Una vez que hayas corregido tu error en man/foo.1, el parrafo ofensivo en la traduccion al aleman sera reemplazado por el texto corregido en ingles. Mezclar idiomas no es optimo, pero es la unica manera de eliminar errores en las traducciones que ni siquiera entiendes, y asegurarte de que el contenido presentado a los usuarios nunca sea enganoso. Actualizar la traduccion al aleman tambien es mucho mas facil en el archivo PO correspondiente, por lo que es posible que la confusion de idiomas no dure mucho. Por ultimo, cuando un traductor de japones quiera contribuir con una nueva traduccion, debe cambiar el nombre de foo.pot a ja.po y completar la traduccion. Una vez que tengas este archivo, simplemente sueltalo en man/po4a/po/. Una pagina traducida aparecera como man/translated/foo.ja.1 (siempre que se traduzca suficiente contenido) cuando vuelva a ejecutar po4a. OPCIONES -k, --keep El umbral minimo del porcentaje de traduccion para preservar (es decir, escribir) el archivo resultante (predefinido: 80). Es decir, por defecto los archivos deben estar traducidos como minimo en un 80% para que se escriban en el disco. -w, --width Columna en la que debemos ajustar el archivo resultante si el formato lo admite (predeterminado: 76). -h, --help Muestra un mensaje corto de ayuda. -M, --master-charset El juego de caracteres de los ficheros que contienen los documentos a traducir. Tenga en cuento que todos los documentos maestros deben usar el mismo juego de caracteres. -L, --localized-charset El juego de caracteres de los ficheros que contienen los documentos localizados. Tenga en cuentao que todos los documentos traducidos deben usar el mismo juego de caracteres. -A, --addendum-charset El juego de caracteres del apendice. Todos los apendices deben usar el mismo juego de caracteres. -V, --version Muestra la version del script y cierra. -v, --verbose Aumenta la cantidad de mensajes informativos del programa. -q, --quiet Disminuye la cantidad de mensajes informativos del programa. -d, --debug Devuelve por la salida informacion de depuracion de fallos. -o, --option Opcion(es) adicionales a introducir a la extension del formato. Consulte la documentacion de cada extension para mas informacion acerca de las opciones aceptadas y su significado. Por ejemplo, puede pasar '-o tablecells' al interprete AsciiDoc, mientras que el interprete de texto aceptaria '-o tabs=split'. -f, --force Siempre genera los ficheros POT y PO, incluso si po4a no lo considera necesario. El comportamiento predefinido (cuando no se especifica --force) es el siguiente: Si ya existe el fichero POT, se generara otra vez si el documento original o el fichero de configuracion es mas reciente (a menos que se de --no-update). El fichero POT se escribe tambien en un documento temporal y po4a comprueba si los cambios son realmente necesarios. Asi mismo, una traduccion se genera otra vez solo si el documento original, el fichero PO, uno de sus apendices o el fichero de configuracion son mas recientes. Para evitar generar otra vez las traducciones que no pasan el analisis del umbral (consulte --keep), puede crear un fichero con la extension .po4a-stamp (consulte ). Deberia usar la marca --force si el documento original incluye ficheros, ya que no se toma en cuenta la fecha de modificacion de estos ficheros incluidos. Los ficheros PO siempre se regeneran en base al POT con msgmerge -U. --stamp Activa la creacion de ficheros de marcas (<>) cuando no se ha generado una traduccion al no alcanzar este el umbral. Estos ficheros de marcas se nombran de acuerdo al documento traducido esperado, con la extension .po4a-stamp. Nota: Esto solo activa la creacion de ficheros .po4a-stamp. En caso de existir siempre se usaran estos ficheros, y se eliminan con --rm-translations o cuando el fichero esta completamente traducido. --no-translations No genera los documentos traducidos, solo actualiza los ficheros POT y PO. --no-update Impide modificar los ficheros POT y PO, solo se actualiza la traduccion. --keep-translations Preserva los ficheros traducidos existentes incluso si la traduccion no satisface el umbral especificado por --keep. Esta opcion no crea ficheros traducidos nuevos con escaso contenido, pero guarda las traducciones existentes incompletas debido a cambios en los ficheros originales. ADVERTENCIA: Esta opcion modifica el comportamiento de po4a de forma muy notable: los ficheros traducidos no se actualizan en absoluto hasta mejorar la traduccion. Utilice esta opcion solo en caso de preferir la distribucion de documentacion traducida anticuada en lugar de distribuir una documentacion no traducida precisa. --rm-translations Elimina los ficheros traducidos (implica --no-translations). --no-backups A partir de la version 0.41, esta opcion no tiene ningun efecto. Puede que se elimine en alguna futura publicacion. --rm-backups A partir de la version 0.41, esta opcion no tiene ningun efecto. Puede que se elimine en alguna futura publicacion. --translate-only fichero-traducido Traduce solo el fichero especificado. Puede ser util para agilizar el proceso si el fichero de configuracion contiene muchos ficheros. Tenga en cuenta que esta opcion no actualiza los ficheros PO y POT. Puede usar esta opcion varias veces. --variable var=valor Define una variable que se expandira en el fichero de configuracion de po4a. Cada aparicion de $(var) se reemplazara por valor. Puede introducir esta opcion varias veces. --srcdir SRCDIR Define el directorio base de todos los documentos de entrada especificados en el fichero de configuracion de po4a. Si se especifican tanto destdir como srcdir, los archivos de entrada se buscan en los siguientes directorios, en orden: destdir, el directorio actual y srcdir. Los archivos de salida se escriben en destdir si se especifica, o en el directorio actual. --destdir DESTDIR Define el directorio base de todos los documentos de salida especificados en el fichero de configuracion de po4a (ver --srcdir). Opciones que modifican el encabezado POT --porefs type Define el forma de referencia: El argumento type puede ser never para no generar ninguna referencia, file para solo especificar el fichero el numero de linea, counter para sustituir el numero de linea con un recuento ascendente, y full para incluir referencias completas (predefinido: full). --wrap-po no|newlines|number (por omision: 76) Especifique como se debe ajustar el archivo po. Esto permite elegir entre archivos que estan bien ajustados pero que podrian generar conflictos de git o archivos que son mas faciles de manejar automaticamente, pero mas dificiles de leer para los humanos. Historicamente, la suite gettext ha reformateado los archivos po en la columna 77 por razones cosmeticas. Esta opcion especifica el comportamiento de po4a. Si se establece en un valor numerico, po4a ajustara el archivo po despues de esta columna y despues de nuevas lineas en el contenido. Si se establece en newlines, po4a solo dividira los msgid y msgstr despues de nuevas lineas en el contenido. Si se establece en no, po4a no ajustara el archivo po en absoluto. Los comentarios de referencia siempre son ajustados por las herramientas gettext que usamos internamente. Tenga en cuenta que esta opcion no tiene ningun impacto en como se ajustan msgid y msgstr, es decir, en como se agregan nuevas lineas al contenido de estas cadenas. --master-language El idioma de los ficheros que contienen el documento a traducir. Todos los documentos maestros deben utilizar el mismo idioma. --msgid-bugs-address correo-e@direccion Define el destinatario de los informes de fallo en los msgid. Por omision, los ficheros POT creados no tienen el campo <>. --copyright-holder cadena Define el titula de los derechos de reproduccion en la cabecera del POT. El valor predefinido es <> --package-name string Define el nombre del paquete en la cabecera del POT. El valor por omision es <>. --package-version string Define la version del paquete en la cabecera del POT. El valor por omision es <>. Opciones para modificar los archivos PO --msgmerge-opt opciones Opciones adicionales para msgmerge(1). Nota: $lang se expandira al idioma actual. --no-previous Esta opcion retira --previous desde las opciones aprobadas a msgmerge. Esto es necesarios para admitir versiones de gettext anteriores a 0.16. --previous Esta opcion anade --previous a las opciones introducidas a msgmerge. Requiere gettext 0.16 o posterior, y esta activada por omision. ARCHIVO DE CONFIGURACION po4a espera un archivo de configuraicon como argumento. Este archivo de contener los siguientes elementos: o La ruta a los archivos PO y la lista de idiomas en el proyecto; o Opcionalmente, algunas opciones globales y los denominados alias de configuracion que se utilizan como plantillas para configurar archivos maestros individuales; o La lista con cada archivo maestro a traducir, junto con parametros especificos. Todas las lineas contienen una orden entre parentesis cuadrados, seguido de sus parametros. Los comentarios comienzan con el caracter '#' y van hasta el final de la linea. Puede escapar el final de la linea para extender una orden en varias lineas. En esta pagina se presentan algunos ejemplos completos, mientras que otros ejemplos se pueden encontrar en el directorio "t/cfg" de la distribucion fuente. Encontrar los archivos PO y POT La solucion mas simple es proporcionar explicitamente la ruta a los archivos POT y PO, asi: [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po Este especifica la ruta al archivo POT primero, y despues las rutas a los archivos PO en aleman y frnces. La misma informacion puede escribirse como sigue para reducir el riesgo de errores de copiar/pegar: [po4a_langs] fr de [po4a_paths] man/po/project.pot $lang:man/po/$lang.po El componente $lang se expande automaticamente al usar la lista de idiomas proveida, reduciendo asi el riesgo de errores de copiar/pegar cuando se anade un nuevo idioma. Puede compactar mas la misma informacion al proporcionalr solamente la ruta al directorio que contiene su proyecto de traduccion, como se describe a continuacion. [po_directory] man/po/ El directorio proporcionado debe contener un juego de archivo PO, cada uno con un nombre de la forma XX.po siendo "XX" el codigo ISO 639-1 del idioma usado en ese archivo. El directorio tambien debe contener un solo archivo POT, con la extension ".pot". En la primera ejecucion, este archivo debe estar vacio pero debe existir (por4a no puee adivinar el nombre por usar antes de la extension). Note que usted debe elegir solo uno entre "directorio_po" y "rutas_po4a". El primero ("directorio_po") es mas compacto, reduciendo mas el riesgo de errores de copiar7pegar, pero forzandolo a usar la estructura y nombres de archivos esperados del prooyecto. La segunda ("rutas_po4a"), es mas explicita, probablemente mas legible y se recomienda cuando este montando su primer proyecto con po4a. ?Archivos PO centralizados o divididos? De manera predeterminada, po4a produce un solo archivo PO por idioma objetivo, que contiene el contenido completo de su proyecto de traduccion. A medida que su proyecto crezca, el tamano de estos archivos puede volverse problematico. Al usar weblate, es posible especificar prioridades para cada segmento de traduccion (i.e, msgid) de forma que los importante son traducidos primero. Aun asi, algunos equipos de traduccion prefieren dividir el contenido en varios archivos. Para tener un archivo PO por cada archivo maestro, usted solo tiene que usar la cadena $master en el nombre de sus archivos PO y la linea "[rutas_po4a]", como sigue. [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po Con esta linea, po4a producira ficheros separados POT y PO por cada documento para traducir. Por ejemplo, si tiene tres documentos y cinco idiomas, esto resultara en tres ficheros POT y 15 ficheros PO. Estos ficheros son nombrados como especificados sobre la plantilla "po4a_paths", con $master sustituido como nombre base de cada documento a traducir. En caso de conflicto de nombres, puede especificar el fichero POT para emplear como sigue, con el parametro "pot=". Esta caracteristica ademas puede ser utilizada para agrupar varios ficheros traducidos dentro del mismo fichero POT. El siguiente ejemplo solo produce 2 ficheros POT: l10n/po/foo.pot (conteniendo el material de foo/gui.xml) y l10n/po/bar.pot (conteniendo el material tanto de bar/gui.xml como de bar/cli.xml). [po4a_langs] de fr ja [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml pot=foo [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml pot=bar [type: xml] bar/cli.xml $lang:bar/cli.$lang.xml pot=bar En modo despliegue, po4a compila un compendio temporal durante la actualizacion de PO, para compartir las traducciones entre todos los ficheros PO. Si dos PO tienen diferentes traducciones de la misma cadena, po4a marcara esta cadena como difusa (<>) y mandara ambas traducciones a todos los ficheros PO que contengan esta cadena. Cuando no quede difuso por el traductor, la traduccion es utilizada automaticamente en cada fichero PO. Especificar los documentos a traducir Tambien debe enumerar los documentos que deben traducirse. Para cada archivo maestro, debe especificar el analizador de formato que debe utilizarse, la ubicacion del documento traducido que debe producirse y, opcionalmente, alguna configuracion. Los nombres de archivo deben entrecomillarse o escaparse si contienen espacios. He aqui un ejemplo: [type: sgml] "doc/my stuff.sgml" "fr:doc/fr/mon truc.sgml" de:doc/de/mein\ kram.sgml [type: man] script fr:doc/fr/script.1 de:doc/de/script.1 [type: docbook] doc/script.xml fr:doc/fr/script.xml \ de:doc/de/script.xml Pero de nuevo, estas lineas complejas son dificiles para leer y modificar, p. ej. cuando agregue un idioma nuevo. Es mucho mas facil reorganizar cosas empleando la plantilla $lang como sigue: [type: sgml] doc/mi_material.sgml $lang:doc/$lang/mi_material.sgml [type: man] script.1 $lang:po/$lang/script.1 [type: docbook] doc/script.xml $lang:doc/$lang/script.xml Especificar opciones Hay dos tipos de opciones: opciones po4a son valores predeterminados para las opciones de linea de orden po4a mientras que opciones de formato son utilizadas para cambiar el comportamiento de los interpretes del formato. Como una opciones de po4a, pudo por ejemplo especificar en su fichero de configuracion que el valor predeterminado del parametro de linea de orden --keep es un 50% en vez de un 80%. Las opciones de formato estan documentadas en una pagina especifica de cada modulo de interprete, p.ej. Locale::Po4a::Xml(3pm). Pudo por ejemplo aprobar nostrip al interprete XML para no recortar los espacios alrededor de las cadenas extraidas. Puede pasar estas opciones para un fichero maestro especifico, o incluso para una traduccion especifica de ese fichero, utilizando "opt:" y "opt_XX:" para el idioma "XX". En el ejemplo siguiente, la opcion nostrip es pasada al interprete XML (para todos los idiomas), mientras que el umbral sera reducido a 0% para la traduccion francesa (que es por lo tanto siempre conservada). [type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_es:"--keep 0" En cualquier caso, estos segmentos de configuracion deben estar ubicados al final de la linea. La declaracion de ficheros deben primero venir, despues el adjunto si hay alguno (vea debajo), y despues solamente las opciones. El agrupamiento de configuracion de segmentos no es muy importante, debido a que los elementos estan concatenados internamente como cadenas. Los siguientes ejemplos son todos equivalentes: [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20" opt:"-o nostrip" opt_es:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20 -o nostrip" opt_es:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:--keep opt:20 opt:-o opt:nostrip opt_es:--keep opt_es:0 Anote que las opciones especificas del idioma no son utilizadas cuando crea el fichero POT. Es por ejemplo imposible aprobar nostrip al interprete solamente cuando construya la traduccion francesa, porque el mismo fichero POT es utilizado para actualizar cada idioma. Por tanto las opciones solamente que pueda ser especificas del idioma son las que son utilizadas cuando produce la traduccion, como la opcion "--keep". Configuracion de aliases Para aprobar las mismas opciones a varios ficheros, lo mejor es definir un tipo alias como sigue. En el ejemplo siguiente, "--keep 0" es pasado a cada traduccion italiana utilizando este tipo "test", que es una extension del tipo "man". [po4a_alias:test] man opt_it:"--keep 0" [type: test] man/page.1 $lang:man/$lang/page.1 Tambien puede extender un tipo existente reutilizando el mismo nombre para el alias tal como sigue. Esto no es interpretado como una definicion recursiva erronea. [po4a_alias:man] man opt_it:"--keep 0" [type: man] man/page.1 $lang:man/$lang/page.1 Opciones predeterminadas globales Ademas puede utilizar lineas de "[opciones]" para definir opciones que deben ser empleadas para todos los ficheros, independientemente de su tipo. [opciones] --keep 20 --option sin-tira Como con las opciones de linea de orden, puede abreviar los parametros pasados dentro del fichero de configuracion: [opciones] -k 20 -o nostrip Opciones prioritarias Las opciones de cada fuente estan concatenadas, asegurando que los valores predeterminados puedan ser facilmente anulados por opciones mas especificas. El pedido es como sigue: o Las "[opciones]" de lineas proporciona valores predeterminados que pueden ser anuladas por cualquier otro origen. o Tipo de aliases estaran cuando necesite. Parametros especificos del idioma anula los aplicables a todos los idiomas. o Los parametros que son especificos a un fichero maestro dado anula ambos predeterminados y los que vengan desde el tipo alias. En este caso tambien, los parametros especificos del idioma anulan los globales. o Finalmente, los parametros proporcionado en la linea de orden po4a supera cualquiera de los parametros desde el fichero de configuracion. Ejemplo Aqui hay un ejemplo mostrando como entrecomillas los espacios y entrecomillados: [po_directory] man/po/ [opciones] --master-charset UTF-8 [po4a_alias:man] man opt:"-o \"mdoc=NOMBRE,VEA ADEMAS\"" [type:man] t-05-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \ opt:"-k 75" opt_es:"-L UTF-8" opt_es:--verbose Apendice: Anadiendo contenido adicional en la traduccion Si desea agregar una seccion adicional a la traduccion, por ejemplo para proporcionar reconocimiento a los traductores, entonces necesita definir un addendum a la linea definiendo su fichero maestro. Refierase a la pagina po4a(7) para mas detalles en la sintaxis de ficheros addendum. [type: pod] script es:doc/es/script.1 \ add_es:doc/l10n/script.es.add Ademas puede emplear plantillas del idioma como sigue: [type: pod] script $lang:doc/$lang/script.1 \ add_$lang:doc/l10n/script.$lang.add Si falla un addendum al aplicar, la traduccion es descartada. Modificadores para declaracion de addendum Modificadores de adjuntos pueden simplificar la configuracion del fichero dentro del caso donde ninguno de los idioma proporciona un adjunto o cuando el listado de los adjuntos cambia desde un idioma al otro. El modificador es un caracter unico localizado antes del nombre del fichero. ? Incluye ruta_al_apendice si el fichero si existe, y no hace nada de lo contrario. @ ruta_al_apendice no es un apendice normal, sino un fichero que contiene una lista de apendices, uno por linea. Cada apendice puede ir precedido de argumentos. ! Si ruta_al_apendice se descarta, no se cargara, independientemente de cualquier especificacion adicional referida al apendice. Lo siguiente incluye un adjunto dentro de cualquier idioma, pero si solamente existe. No se comunica un error si el adjunto no existe. [type: pod] script $lang:doc/$lang/script.1 add_$lang:?doc/l10n/script.$lang.add Lo siguiente incluye un listado de adjuntos por cada idioma: [type: pod] script $lang:doc/$lang/script.1 add_$lang:@doc/l10n/script.$lang.add Filtrar las cadenas traducidas A veces, desea ocultar algunos segmentos desde el proceso de traduccion. Para eso extender, puede proporcionar un parametro "pot_in" a su fichero maestro para especificar el nombre del fichero a utilizar en lugar del maestro real cuando compile el fichero POT. Aqui hay un ejemplo: [type:docbook] libro.xml \ pot_in:book-filtered.xml \ $lang:book.$lang.xml Con este parametro, los segmentos a traducir seran extraidos desde el libro.filtrado.xml (ese debe ser generado antes de invocar po4a) mientras los ficheros traducidos seran compilados desde libro.xml. Como un resultado, cualquier segmento que es parte de libro.xml pero no esta dentro del libro-filtrado.xml no sera incluido dentro de los ficheros PO, impidiendo a los traductores desde proporionar una traduccion para ellos. Por tanto estos segmentos seran dejados sin modificar cuando produzca los documentos traducidos. Esto naturalmente decrementa el nivel de traduccion, por lo que quiza necesita la opcion "--keep" para asegurar que el documento es generado a pesar de todo. VEASE TAMBIEN po4a-gettextize(1), po4a(7). AUTORES Denis Barbier Nicolas Francois Martin Quinson (mquinson#debian.org) TRADUCCION Jordi Vilalta Omar Campagne DERECHO DE COPIA Y LICENCIA Copyright 2002-2023 por SPI, inc. Este programa es software libre; puede redistribuirlo y/o modificarlo bajo los terminos de la GPL v2.0 o posterior (consulte el archivo COPYING). perl v5.38.2 2024-06-26 PO4A.1P(1)