.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" ======================================================================== .\" .IX Title "PO4A 1p" .TH PO4A 1p "2013-08-21" "Herramientas de po4a" "Herramientas de po4a" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOMBRE" .IX Header "NOMBRE" po4a \- Actualiza los ficheros \s-1PO\s0 y los documentos traducidos a la vez .SH "SINOPSIS" .IX Header "SINOPSIS" \&\fBpo4a\fR [\fIopciones\fR] \fIfichero_de_configuración\fR .SH "DESCRIPCIÓN" .IX Header "DESCRIPCIÓN" El objetivo del proyecto po4a («PO for anything», \s-1PO\s0 para todo) es facilitar la traducción (y más interesante, el mantenimiento de las traducciones) usando las herramientas de gettext en áreas donde no eran de esperar, como la documentación. .PP El programa \fBpo4a\fR es útil cuando no desea invocar \fIpo4a\-gettextize\fR\|(1), \&\fIpo4a\-updatepo\fR\|(1), y \fIpo4a\-translate\fR\|(1) a través de complejos ficheros «Makefile» cuando tiene varios ficheros a traducir, diferentes formatos o necesita especificar diferentes opciones para cada documento. .SH "Tabla de contenidos" .IX Header "Tabla de contenidos" Este documento está organizado de la siguiente forma: .SS "DESCRIPCIÓN" .IX Subsection "DESCRIPCIÓN" .SS "INTRODUCCIÓN" .IX Subsection "INTRODUCCIÓN" .SS "\s-1SINTAXIS\s0 \s-1DEL\s0 \s-1FICHERO\s0 \s-1DE\s0 CONFIGURACIÓN" .IX Subsection "SINTAXIS DEL FICHERO DE CONFIGURACIÓN" \fIEspecificar las plantillas de idiomas\fR .IX Subsection "Especificar las plantillas de idiomas" .PP \fIEspecificar las rutas a las entradas del traductor\fR .IX Subsection "Especificar las rutas a las entradas del traductor" .PP \fIDetección automática de las rutas e idiomas\fR .IX Subsection "Detección automática de las rutas e idiomas" .PP \fIEspecificar los documentos a traducir\fR .IX Subsection "Especificar los documentos a traducir" .PP \fIEspecificar las opciones para los módulos\fR .IX Subsection "Especificar las opciones para los módulos" .PP \fIEspecificar un alias\fR .IX Subsection "Especificar un alias" .PP \fIModo dividido\fR .IX Subsection "Modo dividido" .SS "\s-1OPCIONES\s0" .IX Subsection "OPCIONES" .SS "\s-1EJEMPLO\s0" .IX Subsection "EJEMPLO" .SS "\s-1DEFICIENCIAS\s0" .IX Subsection "DEFICIENCIAS" .SS "VÉASE TAMBIÉN" .IX Subsection "VÉASE TAMBIÉN" .SS "\s-1AUTORES\s0" .IX Subsection "AUTORES" .SS "\s-1DERECHO\s0 \s-1DE\s0 \s-1COPIA\s0 Y \s-1LICENCIA\s0" .IX Subsection "DERECHO DE COPIA Y LICENCIA" \fI\fR .IX Subsection "" .SH "INTRODUCCIÓN" .IX Header "INTRODUCCIÓN" El programa \fBpo4a\fR se encarga de actualizar los ficheros \s-1PO\s0 (para sincronizarlos con los documentos originales) y los documentos traducidos (para sincronizarlos con los ficheros \s-1PO\s0). El objetivo es simplificar el uso de po4a sin tener que recordar las opciones de línea de órdenes. .PP También le permite mezclar documentos en diferentes formatos en un mismo fichero \s-1POT\s0, de manera que pueda tener un sólo fichero por proyecto. .PP Este comportamiento se puede imitar con las otras herramientas del paquete po4a (por ejemplo con ficheros «Makefile»), pero es bastante difícil y agotador el tener que rehacer los mismos ficheros «Makefile» para cada proyecto que usa po4a. .PP La corriente de datos se puede resumir de la siguiente manera. Todo cambio al documento original quedará reflejado en los ficheros \s-1PO\s0, y todo cambio en los ficheros \s-1PO\s0 (manual o causado por el paso anterior) quedará reflejado en los documentos traducidos. .PP .Vb 1 \& master document \-\-> ficheros PO \-\-> traducciones .Ve .PP No se puede invertir el flujo de datos con esta herramienta, y el contenido de los ficheros \s-1PO\s0 sobreescribirá los cambios en las traducciones. De hecho, no puede usar esta herramienta para convertir traducciones existentes al sistema de po4a. Para ello, consulte \fIpo4a\-gettextize\fR\|(1). .SH "SINTAXIS DEL FICHERO DE CONFIGURACIÓN" .IX Header "SINTAXIS DEL FICHERO DE CONFIGURACIÓN" El argumento (obligatorio) es la ruta al fichero de configuración a usar. Su sintaxis intenta ser simple y parecida a la de los ficheros de configuración usados por los proyectos intl-tools. .PP Los comentarios en estos ficheros se indican con el carácter «#». Comenta todo hasta el final de línea. Las líneas se pueden continuar escapando el final de línea. Todas las líneas con contenido deben empezar con una orden [], seguida por sus argumentos. (Suena difícil dicho así, pero es más bien fácil, espero ;). .SS "Especificar las plantillas de idiomas" .IX Subsection "Especificar las plantillas de idiomas" \&\fBNota:\fR Recomendamos usar \fB[po_directory]\fR en lugar de \fB[po4a_langs]\fR y \&\fB[po4a_paths]\fR. Consulte la sección \fBDetección automática de las rutas e idiomas\fR. .PP Ésta es una orden opcional que puede simplificar todo el fichero de configuración, y lo hará más escalable. Debe especificar una lista de los idiomas a los que desee traducir los documentos. Es así de simple: .PP .Vb 1 \& [po4a_langs] fr de .Ve .PP Esto le permitirá expandir \fB\f(CB$lang\fB\fR a todos los idiomas especificados en el resto del fichero de configuración. .SS "Especificar las rutas a las entradas del traductor" .IX Subsection "Especificar las rutas a las entradas del traductor" \&\fBNota:\fR Recomendamos usar \fB[po_directory]\fR en lugar de \fB[po4a_langs]\fR y \&\fB[po4a_paths]\fR. Consulte la sección \fBDetección automática de las rutas e idiomas\fR. .PP Primero debe especificar la ubicación de los ficheros de entrada del traductor (es decir, los ficheros que utilizan los traductores para hacer su trabajo). Puede hacer esto con la siguiente línea: .PP .Vb 2 \& [po4a_paths] doc/l10n/project.doc.pot \e \& fr:doc/l10n/fr.po de:doc/l10n/de.po .Ve .PP Por ello, la orden es \fB[po4a_paths]\fR. El primer argumento es la ruta del fichero \s-1POT\s0 a usar. Todos los argumentos posteriores tienen la siguiente forma, que se explica por si sola: .PP .Vb 1 \& : .Ve .PP Si ha definido la plantilla de idiomas, puede reescribir la linea anterior de la siguiente forma: .PP .Vb 1 \& [po4a_paths] doc/l10n/proyecto.doc.pot $lang:doc/l10n/$lang.po .Ve .PP También puede usar \fB\f(CB$master\fB\fR para referirse al nombre de fichero del documento. En este caso \fBpo4a\fR usará un modo dividido: se creará un \s-1POT\s0 y un \s-1PO\s0 (por cada idioma) por cada documento especificado en el fichero de configuración de \fBpo4a\fR. Consulte la sección \fBModo dividido\fR («Split Mode»). .PP .Vb 1 \& [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po .Ve .SS "Detección automática de las rutas e idiomas" .IX Subsection "Detección automática de las rutas e idiomas" Puede usar otra orden para especificar el nombre del directorio donde se ubican los ficheros \s-1POT\s0 y \s-1PO\s0. Si se usa, \fBpo4a\fR detectará el fichero \s-1POT\s0 como el único fichero \fI*.pot\fR en el directorio especificado. \fBpo4a\fR usará también la lista de ficheros \fI*.po\fR para definir la lista de idiomas (eliminando la extensión). Estos idiomas se usarán como sustitución de la variable \fB\f(CB$lang\fB\fR en el resto del fichero de configuración. .PP No debería usar esta orden en combinación con las órdenes \fB[po4a_langs]\fR o \&\fB[po4a_paths]\fR. .PP Al usar esta orden, tiene que crear un fichero \s-1POT\s0 vacío al ejecutar \fBpo4a\fR por primera vez para así dar a conocer el nombre del fichero \s-1POT\s0. .PP .Vb 1 \& [po_directory] po4a/po/ .Ve .SS "Especificar los documentos a traducir" .IX Subsection "Especificar los documentos a traducir" Naturalmente, debe especificar qué documentos están traducidos, su formato, y dónde guardar sus traducciones. Se puede hacer con líneas como las siguientes: .PP .Vb 4 \& [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \e \& de:doc/de/mein_kram.sgml \& [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \e \& add_fr:doc/l10n/script.fr.add .Ve .PP Esto también se debería explicar por si mismo. Tenga en cuenta que en el segundo caso, \fIdoc/l10n/script.fr.add\fR es un apéndice a («addenda») añadir a la versión francesa del documento. Consulte \fIpo4a\fR\|(7) para más información sobre los apéndices. .PP Más formalmente, el formato es: .PP .Vb 2 \& [type: ] (:)*\e \& (add_:*)* .Ve .PP De no existir argumentos, \fIruta_al_apéndice\fR es la ruta a un apéndice. Los argumentos son .IP "\fB?\fR" 2 .IX Item "?" Incluye \fIruta_al_apéndice\fR si el fichero sí existe, y no hace nada de lo contrario. .IP "\fB@\fR" 2 .IX Item "@" \&\fIruta_al_apéndice\fR no es un apéndice normal, sino un fichero que contiene una lista de apéndices, uno por línea. Cada apéndice puede ir precedido de argumentos. .IP "\fB!\fR" 2 .IX Item "!" Si \fIruta_al_apéndice\fR se descarta, no se cargará, independientemente de cualquier especificación adicional referida al apéndice. .PP Si ha definido la plantilla de idiomas, puede reescribir la linea anterior de la siguiente forma: .PP .Vb 2 \& [type: pod] script $lang:doc/$lang/script.1 \e \& add_fr:doc/l10n/script.fr.add .Ve .PP Si todos los idiomas tuviesen apéndices con rutas similares, también podría escribir algo así. .PP .Vb 2 \& [type: pod] script $lang:doc/$lang/script.1 \e \& add_$lang:doc/l10n/script.$lang.add .Ve .SS "Especificar las opciones para los módulos" .IX Subsection "Especificar las opciones para los módulos" \&\fBpo4a\fR acepta opciones que se introducirán al módulo. Estas opciones son específicas a cada módulo y se definen con la opción \fB\-o\fR. .PP Si precisa de una opción en particular para uno de los documentos que desea traducir, también puede especificarla en el fichero de configuración. Las opciones se introducen con la palabra clave \fBopt\fR. Debe entrecomillar el argumento de la palabra clave \fBopt\fR si éste contiene un espacio (por ejemplo, si especifica varias opciones, o una opción con un argumento). Puede también especificar opciones qué solo afectarán a un idioma en particular mediante la palabra clave \fBopt_\fR\fIlang\fR. .PP Este es un ejemplo: [type:man] data\-05/test2_man.1 \f(CW$lang:tmp\fR/test2_man.$lang.1 \e opt:\*(L"\-k 75\*(R" opt_it:\*(L"\-L \s-1UTF\-8\s0\*(R" opt_fr:\-v Los argumentos pueden contener espacios si usa comillas simples o unas comillas dobles con un escape: [po4a_alias:man] man opt:\*(L"\-o \e\*(R"mdoc=NAME,SEE ALSO\e\*(L" \-k 20\*(R" .PP Si desea especificar las mismas opciones para varios documentos, puede que quiera usar un alias (consulte a continuación la sección \fBEspecificar un alias\fR). .PP También puede configurar opciones para todos los documentos especificados en el fichero de configuración: [options] opt:\*(L"...\*(R" opt_fr:\*(L"...\*(R" .SS "Especificar un alias" .IX Subsection "Especificar un alias" Si tiene que especificar las mismas opciones para varios ficheros, puede que le interese definir un alias de módulo. Puede hacer esto de la siguiente forma: .PP .Vb 1 \& [po4a_alias:test] man opt:"\-k 21" opt_es:"\-o debug=splitargs" .Ve .PP Esto define un alias de módulo llamado \fBtest\fR, basado en el módulo \fBman\fR, y en el que \fB\-k 21\fR afecta a todos los idiomas, con \fB\-o debug=splitargs\fR afectando sólo a la traducción en español. .PP Este alias de módulo se puede usar como un módulo normal: .PP .Vb 2 \& [type:test] data\-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \e \& opt_it:"\-L UTF\-8" opt_fr:\-v .Ve .PP Tenga en cuenta que puede especificar opciones adicionales para cada fichero. .SS "Modo dividido" .IX Subsection "Modo dividido" El modo dividido («split mode») se usa cuando \fB\f(CB$master\fB\fR aparece en la línea de \fB[po4a_paths]\fR. .PP Cuando se usa el modo dividido, se usarán unos grandes ficheros \s-1POT\s0 y \s-1PO\s0 temporales. Esto permite compartir las traducciones entre todos los \s-1PO\s0. .PP Si dos \s-1PO\s0 tienen diferentes traducciones de la misma cadena, \fBpo4a\fR marcará esta cadena como difusa («fuzzy») y mandará ambas traducciones a todos los \&\s-1PO\s0 que contengan está cadena. Entonces, cuando un traductor actualice la traducción y elimine la etiqueta de cadena difusa en un sólo \s-1PO\s0, se actualizará automáticamente la traducción de esta cadena en cada \s-1PO\s0. .PP Si hay un conflicto porque varios ficheros tienen el mismo nombre de fichero, puede especificar el nombre del fichero maestro añadiendo la opción \&\f(CW\*(C`master:file=\*(C'\fR\fInombre\fR. .PP .Vb 4 \& [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 master:file=foo\-gui \& [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml master:file=bar\-gui .Ve .SH "OPCIONES" .IX Header "OPCIONES" .IP "\fB\-k\fR, \fB\-\-keep\fR" 4 .IX Item "-k, --keep" El umbral mínimo del porcentaje de traducción para crear (es decir, escribir) el fichero resultante (predefinido: 80). Es decir, por omisión los ficheros deben estar traducidos como mínimo en un 80% para que se escriba el el fichero resultante. .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Muestra un mensaje corto de ayuda. .IP "\fB\-M\fR, \fB\-\-master\-charset\fR" 4 .IX Item "-M, --master-charset" El juego de caracteres de los ficheros que contienen los documentos a traducir. Tenga en cuenta que por ahora todos los documentos originales deben usar el mismo juego de caracteres. Esta es una limitación conocida, y estamos trabajando para solucionarla. .IP "\fB\-L\fR, \fB\-\-localized\-charset\fR" 4 .IX Item "-L, --localized-charset" El juego de caracteres de los ficheros que contienen los documentos traducidos. Tenga en cuenta que por ahora todos los documentos traducidos deben usar el mismo juego de caracteres. Esta es una limitación conocida, y estamos trabajando para solucionarla. .IP "\fB\-A\fR, \fB\-\-addendum\-charset\fR" 4 .IX Item "-A, --addendum-charset" El juego de caracteres del apéndice. Todos los apéndices deben usar el mismo juego de caracteres. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Muestra la versión del script y cierra .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Aumenta la cantidad de mensajes informativos del programa. .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" Disminuye la cantidad de mensajes informativos del programa. .IP "\fB\-d\fR, \fB\-\-debug\fR" 4 .IX Item "-d, --debug" Devuelve por la salida información de depuración de fallos. .IP "\fB\-o\fR, \fB\-\-option\fR" 4 .IX Item "-o, --option" Opción(es) adicionales a introducir a la extensión del formato. Especifique cada opción con el formato «\fInombre\fR\fB=\fR\fIvalor\fR». Consulte la documentación de cada extensión para más información acerca de las opciones aceptadas y su significado. .IP "\fB\-f\fR, \fB\-\-force\fR" 4 .IX Item "-f, --force" Siempre genera los ficheros \s-1POT\s0 y \s-1PO\s0, incluso si \fBpo4a\fR no lo considera necesario. .Sp El comportamiento predefinido (cuando no se especifica \fB\-\-force\fR) es el siguiente: .RS 4 .Sp .RS 4 Si ya existe el fichero \s-1POT\s0, se generará otra vez si el documento original o el fichero de configuración es más reciente. El fichero \s-1POT\s0 se escribe también en un documento temporal y \fBpo4a\fR comprueba si los cambios son realmente necesarios. .Sp Así mismo, una traducción se genera otra vez sólo si el documento original, el fichero \s-1PO\s0, uno de sus apéndices o el fichero de configuración son más recientes. Para evitar generar otra vez las traducciones que no pasan el análisis del umbral (consulte \fB\-\-keep\fR), puede crear un fichero con la extensión \fI.po4a\-stamp\fR (consulte ). .RE .RE .RS 4 .Sp Debería usar la marca \fB\-\-force\fR si el documento original incluye ficheros, ya que no se toma en cuenta la fecha de modificación de estos ficheros incluidos. .Sp Los ficheros \s-1PO\s0 siempre se regeneran en base al \s-1POT\s0 con \fBmsgmerge \-U\fR. .RE .IP "\fB\-\-stamp\fR" 4 .IX Item "--stamp" Activa la creación de ficheros de marcas («stamp files») cuando no se ha generado una traducción al no alcanzar éste el umbral. Estos ficheros de marcas se nombran de acuerdo al documento traducido esperado, con la extensión \fI.po4a\-stamp\fR. .Sp Nota: Esto sólo activa la creación de ficheros \fI.po4a\-stamp\fR. En caso de existir siempre se usarán estos ficheros, y se eliminan con \&\fB\-\-rm\-translations\fR o cuando el fichero está completamente traducido. .IP "\fB\-\-no\-translations\fR" 4 .IX Item "--no-translations" No genera los documentos traducidos, sólo actualiza los ficheros \s-1POT\s0 y \s-1PO\s0. .IP "\fB\-\-rm\-translations\fR" 4 .IX Item "--rm-translations" Elimina los ficheros traducidos (implica \fB\-\-no\-translations\fR). .IP "\fB\-\-no\-backups\fR" 4 .IX Item "--no-backups" A partir de la versión 0.41, esta opción no tiene ningún efecto. Puede que se elimine en alguna futura publicación. .IP "\fB\-\-rm\-backups\fR" 4 .IX Item "--rm-backups" A partir de la versión 0.41, esta opción no tiene ningún efecto. Puede que se elimine en alguna futura publicación. .IP "\fB\-\-translate\-only\fR \fIfichero-traducido\fR" 4 .IX Item "--translate-only fichero-traducido" Traduce sólo el fichero especificado. Puede ser útil para agilizar el proceso si el fichero de configuración contiene muchos ficheros. Tenga en cuenta que esta opción no actualiza los ficheros \s-1PO\s0 y \s-1POT\s0. Puede usar esta opción varias veces. .IP "\fB\-\-variable\fR \fIvar\fR\fB=\fR\fIvalor\fR" 4 .IX Item "--variable var=valor" Define una variable que se expandirá en el fichero de configuración de \&\fBpo4a\fR. Cada aparición de \fI$(var)\fR se reemplazará por \fIvalor\fR. Puede introducir está opción varias veces. .IP "\fB\-\-srcdir\fR \fI\s-1SRCDIR\s0\fR" 4 .IX Item "--srcdir SRCDIR" Define el directorio base de todos los documentos de entrada especificados en el fichero de configuración de \fBpo4a\fR. .IP "\fB\-\-destdir\fR \fI\s-1DESTDIR\s0\fR" 4 .IX Item "--destdir DESTDIR" Define el directorio base de todos los documentos de salida especificados en el fichero de configuración de \fBpo4a\fR. .SS "\s-1OPCIONES\s0 \s-1DE\s0 MODIFICACIÓN \s-1DE\s0 \s-1CABECERA\s0 \s-1DE\s0 \s-1POT\s0" .IX Subsection "OPCIONES DE MODIFICACIÓN DE CABECERA DE POT" .IP "\fBporefs\fR \fItipo\fR[,\fBwrap\fR|\fBnowrap\fR]" 4 .IX Item "porefs tipo[,wrap|nowrap]" Define el formato de referencia. El argumento \fItipo\fR puede ser una de las siguientes opciones: \fBnone\fR, para no generar ninguna referencia, \fBnoline\fR Para no especificar el número de línea (todos los números de línea se sustituyen con 1), \fBcounter\fR para sustituir el número de línea con recuento ascendente, o \fBfull\fR para incluir las referencias completas. .Sp El argumento puede preceder a una coma y a la palabra clave \fBwrap\fR o \&\fBnowrap\fR. Las referencias se escriben en una sola línea por omisión. La opción \fBwrap\fR justifica las referencias en varias líneas, para imitar a las herramientas \fBgettext\fR (\fBxgettext\fR y \fBmsgmerge\fR). Esta opción será el comportamiento predefinido en el futuro, ya que es más inteligente. La opción \fBnowrap\fR está disponible para aquellos usuarios que deseen mantener el comportamiento antiguo. .IP "\fB\-\-msgid\-bugs\-address\fR \fIemail@address\fR" 4 .IX Item "--msgid-bugs-address email@address" Define el destinatario de los informes de fallo en los msgid. Por omisión, los ficheros \s-1POT\s0 creados no tienen el campo «Report\-Msgid\-Bugs\-To». .IP "\fB\-\-copyright\-holder\fR \fIstring\fR" 4 .IX Item "--copyright-holder string" Define el propietario del copyright en la cabecera del \s-1POT\s0. El valor predefinido es «Free Software Foundation, Inc». .IP "\fB\-\-package\-name\fR \fIstring\fR" 4 .IX Item "--package-name string" Define el nombre del paquete en la cabecera del \s-1POT\s0. El valor por omisión es «PACKAGE». .IP "\fB\-\-package\-version\fR \fIstring\fR" 4 .IX Item "--package-version string" Define la versión del paquete en la cabecera del \s-1POT\s0. El valor por omisión es «VERSION». .SS "\s-1OPCIONES\s0 \s-1DE\s0 MODIFICACIÓN \s-1DE\s0 \s-1FICHEROS\s0 \s-1PO\s0" .IX Subsection "OPCIONES DE MODIFICACIÓN DE FICHEROS PO" .IP "\fB\-\-msgmerge\-opt\fR \fIopciones\fR" 4 .IX Item "--msgmerge-opt opciones" Opciones adicionales para \fBmsgmerge\fR. .Sp Nota: \fB\f(CB$lang\fB\fR se expandirá al idioma actual. .IP "\fB\-\-no\-previous\fR" 4 .IX Item "--no-previous" Esta opción añade \fB\-\-previous\fR a las opciones introducidas a \&\fBmsgmerge\fR. Esto permite la compatibilidad con versiones de \fBgettext\fR anteriores a 0.16. .IP "\fB\-\-previous\fR" 4 .IX Item "--previous" Esta opción añade \fB\-\-previous\fR a las opciones introducidas a \&\fBmsgmerge\fR. Requiere \fBgettext\fR 0.16 o posterior, y está activada por omisión. .SS "\s-1EJEMPLO\s0" .IX Subsection "EJEMPLO" Supongamos que es el responsable de un programa llamado \fBfoo\fR, que tiene una página de manual \fIman/foo.1\fR que naturalmente sólo se mantiene en inglés. Ahora, al ser el mantenedor o encargado, desea crear y gestionar la traducción. Primero, cree el fichero \s-1POT\s0, necesario para su envío a los traductores, usando \fIpo4a\-gettextize\fR\|(1). .PP En nuestro caso, invocaríamos: .PP .Vb 1 \& cd man && po4a\-gettextize \-f man \-m foo.1 \-p foo.pot .Ve .PP Ahora puede enviar este fichero a las listas de idioma adecuados u ofrecerlo para su descarga en su página web. .PP Supongamos ahora que ha recibido tres traducciones antes de su siguiente publicación: \fIde.po\fR (incluyendo el apéndice, «addendum», \fIde.add\fR), \&\fIsv.po\fR y \fIpt.po\fR. Ya que no desea modificar el o los ficheros \fIMakefile\fR cada vez que recibe una traducción nueva, puede usar \fBpo4a\fR dentro de su \&\fIMakefile\fR creando un fichero de configuración adecuado. Le llamaremos \&\fIpo4a.cfg\fR. En nuestro ejemplo, presentaría el siguiente aspecto: .PP .Vb 1 \& [po_directory] man/po4a/po/ \& \& [type: man] man/foo.1 $lang:man/translated/$lang/foo.1 \e \& add_$lang:?man/po4a/add_$lang/$lang.add opt:"\-k 80" .Ve .PP En este ejemplo suponemos que sus páginas de manual generadas (y todos los ficheros \s-1PO\s0 y de apéndice) se guardan en \fIman/translated/$lang\fR, (respectivamente en \fIman/po4a/po/\fR y \fIman/po4a/add_$lang/\fR) bajo el directorio actual. En nuestro ejemplo, este directorio incluiría \fIde.po\fR, \&\fIde.add\fR, \fIpt.po\fR y \fIsv.po\fR, y el directorio \fIman/po4a/add_de/\fR incluiría \fIde.add\fR. .PP Note el uso del modificador \fB?\fR, ya que sólo la traducción al alemán (\fIde.po\fR) viene acompañado de un apéndice. .PP Para generar realmente las páginas de manual tendría que añadir (¡una sola vez!) la siguiente línea en el «target» de construcción del fichero \&\fBMakefile\fR adecuado: .PP .Vb 1 \& po4a po4a.cfg .Ve .PP Una vez que configure esto, no tendrá que tocar el \fBMakefile\fR cada vez que reciba una traducción nueva. Por ejemplo, si el equipo francés envía \&\fIfr.po\fR y \fIfr.add\fR simplemente tendría que guardarlo en \fIman/\fR, y la siguiente vez que construya el programa la traducción al francés se generará automáticamente. .PP Tenga en cuenta que es aún necesario un destino adecuado dónde instalar las páginas de manual traducidas con las páginas en inglés. .PP Por último, si no guarda los ficheros generados en su sistema de control de versiones, necesitara también una línea en su target \fBclean\fR: \-rm \-rf man/translated .SH "DEFICIENCIAS" .IX Header "DEFICIENCIAS" .IP "\(bu" 4 Dúplica el código de algunos de los programas \fBpo4a\-\fR\fI*\fR. .PP Los parches son bienvenidos ;) .SH "VÉASE TAMBIÉN" .IX Header "VÉASE TAMBIÉN" \&\fIpo4a\-build\fR\|(1), \fIpo4a\-gettextize\fR\|(1), \fIpo4a\-normalize\fR\|(1), \&\fIpo4a\-translate\fR\|(1), \fIpo4a\-updatepo\fR\|(1), \fIpo4a\-build.conf\fR\|(5), \fIpo4a\fR\|(7) .SH "AUTORES" .IX Header "AUTORES" .Vb 3 \& Denis Barbier \& Nicolas François \& Martin Quinson (mquinson#debian.org) .Ve .SH "TRADUCCION" .IX Header "TRADUCCION" .Vb 2 \& Jordi Vilalta \& Omar Campagne .Ve .SH "DERECHO DE COPIA Y LICENCIA" .IX Header "DERECHO DE COPIA Y LICENCIA" Copyright 2002\-2012 by \s-1SPI\s0, inc. .PP Esto es software libre; puede redistribuirlo y/o modificarlo bajo las condiciones de la licencia \s-1GPL\s0 (consulte el fichero \s-1COPYING\s0).