Provided by: po-debconf_1.0.20_all bug

NOMBRE

       po-debconf - Introducción

DESCRIPCIÓN

       La meta de "debconf" es facilitar la configuración de paquetes. Para ello, es importante
       asegurar que la pregunta se planteará al usuario en su propio idioma. Los traductores
       necesitan un marco de trabajo para trabajar en las traducciones sin necesidad de seguir el
       desarrollo del paquete; "po-debconf" está diseñado para que pueda trabajar con
       herramientas estándar de "gettext" al traducir ficheros de plantillas de debconf.

AÑADIR CAPACIDAD DE I18N A FICHEROS DE PLANTILLAS DE DEBCONF

       Si está añadiendo a su paquete la compatibilidad con debconf, es que ha creado un fichero
       de plantilla que contiene texto en inglés. Para añadir la capacidad de i18n a su paquete,
       tiene que:

       - Crear debian/po/POTFILES.in
           Este fichero contiene la lista de plantillas originales. Generalmente, contiene una
           sola línea:

             [type: gettext/rfc822deb] templates

           Las rutas son relativas al directorio superior.

       - Anteponga un guión bajo antes de los campos traducibles en cada plantilla
           Habitualmente, se pueden traducir los campos "Description". "Choices" y "Default".

       - Ejecute debconf-updatepo
           Creará el fichero debian/po/templates.pot que los traductores traducirán a su idioma.

       - Añada una dependencia sobre "po-debconf" en debian/control

ACTUALIZACIÓN DE PLANTILLAS

       Para ayudar a los traductores, los ficheros PO en su paquete deberían estar siempre
       actualizados o, de no ser así, puede que pierdan el tiempo traduciendo cadenas en desuso.
       Para ello, invoque la siguiente orden sin argumentos:

         $ debconf-updatepo

       Debería ejecutar esta orden cada vez que modifique las plantillas en inglés, pero también
       cuando reciba una traducción nueva o actualizada, ya que puede que los traductores hayan
       trabajado con un fichero PO obsoleto.

       Si renombra, añade o elimina algunos ficheros de plantillas, recuerde también editar
       debian/po/POTFILES.in. En caso contrario, las cadenas en inglés se omiten en los ficheros
       PO, y se mostrarán a los usuarios incluso si los ficheros PO están totalmente traducidos.

       El programa debconf-updatepo es idempotente, modifica ficheros PO sólo si el contenido se
       ha actualizado. Por ello, la mejor forma de ofrecer ficheros actualizados en su paquete
       fuente es invocar esta orden desde el objetivo "clean" del fichero debian/rules.

       Tenga en cuenta que necesita ejecutar debconf-updatepo incluso si usa dh_installdebconf.
       El último invoca po2debconf, que solía invocar debconf-updatepo si se detectaban ficheros
       desactualizados, pero este ya no es el caso ya que no era una buena solución por dos
       motivos:

       1. po2debconf dependía de marcas de tiempo para detectar ficheros desactualizados, y puede
          provocar un fallo al usar "pbuilder" o si se ha guardado en el disco una traducción
          desactualizada después de modificar las marcas de tiempo.

       2. dh_installdebconf se invoca mucho después de generar el fichero ".diff.gz".

FUSIONAR LAS TRADUCCIONES Y EL ORIGINAL

       Debe comprobar que se incluyan las traducciones en el paquete generado al compilar el
       paquete. Puede hacerlo manualmente, o automáticamente usando el script dh_installdebconf
       (compruebe que tiene una dependencia de construcción versionada sobre "debhelper (>=
       4.1.16)").

       Para hacerlo manualmente, tendrá que fusionar las plantillas y las traducciones en durante
       la compilación (y tiene que especificar una dependencia de construcción sobre
       "po-debconf") como puede ver a continuación:

         $ po2debconf debian/templates > debian/tmp/DEBIAN/templates

       ADVERTENCIA: los dos ficheros llamados templates no son lo mismo. El primero sólo contiene
       el texto en inglés, con marcas que indican los campos a traducir, mientras que el segundo
       contiene todos los idiomas. Esto es, NO PUEDE guardar sólo las plantillas fusionadas, o no
       podrá tratar las traducciones a medida que las personas las envían.

NUEVAS PLANTILLAS ORIGINALES

       El nuevo formato de fichero de plantilla fuente es casi idéntico a los ficheros de
       plantilla distribuidos, pero se antepone un guión bajo a los campos traducibles. Ejemplo:

         Template: debconf/frontend
         Type: select
         _Choices: Dialog, Readline, Gnome, Editor, Noninteractive
         Default: Dialog
         _Description: Interface to use for configuring packages:
          Packages that use debconf for configuration share a common look and
          feel.  You can select the type of user interface they use.
          .
          The dialog frontend is a full-screen, character based interface,
          while the readline frontend uses a more traditional plain text
          interface, and the gnome frontend is a modern X interface.  The
          editor frontend lets you configure things using your favorite text
          editor. The noninteractive frontend never asks you any questions.

   DIVIDIR LA LISTA DE ELECCIONES
       A partir de la versión 0.6.0 de "po-debconf", los ficheros localizados pueden contener dos
       guiones bajos prefijados. En este caso, se supone que el valor del campo es una lista de
       valores separados por comas, las cuales se ubican en msgids separados. Por ello, si el
       anterior ejemplo contenía

         __Choices: Dialog, Readline, Gnome, Editor, Noninteractive

       habría 5 msgids diferentes. Note que los espacios después de las comas no son
       significativos.

       "_Choices" es adecuado cuando la lista de elecciones nunca cambia. Por otra parte, dividir
       tales listas puede ayudar a evitar errores comunes en las traducciones tales como omitir
       una elección o usar comas no estándar. Debido a ello, el uso de "__Choices" facilitará el
       trabajo a los traductores y es altamente recomendado.

       Por desgracia, si decide cambiar "_Choices" a "__Choices", todas las traducciones se
       marcarán como difusas. Aquí tiene una explicación de cómo realizar este cambio sin pérdida
       de traducciones (requiere "po-debconf" >= 1.0). Suponga que desea cambiar el ejemplo
       anterior a "__Choices". Para ello, copie el fichero templates a un fichero temporal.

         $ cp debian/templates debian/foo

       Edite debian/foo y guarde sólo los campos "Template", "Type" y "_Choices", presentes en
       este ejemplo.

         Template: debconf/frontend
         Type: select
         _Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive

       Ejecute debconf-gettextize con las opciones "--merge" y "--choices" para construir
       ficheros PO como si se hubiese escrito "__Choices", y fusione estos ficheros PO con los
       existentes:

         $ debconf-gettextize --merge --choices debian/foo

       Por último, elimine foo y edite debian/templates manualmente para reemplazar "_Choices"
       con "__Choices" antes de ejecutar debconf-updatepo.

   INSERTAR COMENTARIOS PARA LOS TRADUCTORES
       Los desarrolladores de "dpkg" decidieron que, por convención, las líneas que comienzan con
       un signo de almohadilla ("#") son comentarios en ficheros debian/control, y "po-debconf"
       respeta esta regla. Estos comentarios se insertan en los ficheros PO a partir de la
       versión 0.8.0 de "po-debconf", y pueden contener información valiosa para los traductores.
       Incidentalmente, todas las versiones anteriores de "po-debconf" ignoran líneas que no
       contienen dos puntos y, por ello, si sus comentarios no contienen dos puntos no necesita
       añadir una dependencia de construcción versionada sobre "po-debconf". Aquí tiene un
       ejemplo:

         Template: debconf/button-yes
         Type: text
         # Translators, this text will appear on a button, so KEEP IT SHORT
         _Description: Yes

       La versión 1.0 de  "po-debconf" introduce comentarios especiales para tratar con cadenas
       compuestas de varios elementos (como el campo Choices), o párrafos (como Description). Con
       estas normas, los desarrolladores tienen un mayor control sobre lo que se muestra a los
       traductores. Tienen la forma "#flag:norma"; las normas se detallan a continuación.

       translate:spec, translate!:spec
          Sólo marca algunos elementos como traducibles; spec es una lista de números separados
          por comas, que define qué cadenas aparecen en los ficheros PO. También puede definir un
          rango mediante el signo de resta (por ejemplo "2-6"), y un asterisco ("*") implica a
          todas las cadenas. Por ejemplo, con

            Template: partman-basicfilesystems/fat_mountpoint
            Type: select
            #flag:translate:3,4
            __Choices: /dos, /windows, Enter manually, Do not mount it
            _Description: Mount point for this partition:

          "Enter manually" y "Do not mount it" aparecerán en los ficheros PO, pero no "/dos" ni
          "/windows".  Cuando un signo de exclamación sigue a la palabra clave translate, spec
          define qué cadenas descartar en los ficheros PO, y se muestran todas las demás cadenas.
          El ejemplo anterior es similar a

            Template: partman-basicfilesystems/fat_mountpoint
            Type: select
            #flag:translate!:1,2
            __Choices: /dos, /windows, Enter manually, Do not mount it
            _Description: Mount point for this partition:

          La misma palabra clave también se puede aplicar al campo Description para asegurar que
          no se traducen algunas cadenas.

            Template: partman-crypto/options_missing
            Type: error
            #flag:translate!:3
            _Description: Required encryption options missing
             The encryption options for ${DEVICE} are incomplete. Please
             return to the partition menu and select all required options.
             .
             ${ITEMS}

          Pero tiene peligro ya que puede que se pierda el contexto en algunos ficheros PO. En
          este caso, añada comentarios para que los traductores no se confundan.

       comment:spec, comment!:spec
          El comentario a continuación de esta norma afecta a las cadenas definidas con spec,
          definido anteriormente. Por omisión, un comentario escrito antes de un campo traducible
          aparece en todas las cadenas que pertenecen a ese campo. (Nota: con "po-debconf" < 1.0,
          el comentario sólo aparecía en la primera cadena.)

            Template: arcboot-installer/prom-variables
            Type: note
            # Translators, the 4th string of this description has been dropped
            # from PO files.  It contains shell commands and should not be
            # translated.
            #flag:comment:3
            # "Stop for Maintenance" should be left in English
            #flag:translate!:4
            _Description: Setting PROM variables for Arcboot
             If this is the first Linux installation on this machine, or if the
             hard drives have been repartitioned, some variables need to be set
             in the PROM before the system is able to boot normally.
             .
             At the end of this installation stage, the system will reboot.
             After this, enter the command monitor from the "Stop for
             Maintenance" option, and enter the following commands:
             .
                setenv OSLoader arcboot
                setenv OSLoadFilename Linux
             .
             You will only need to do this once.  Afterwards, enter the "boot"
             command or reboot the system to proceed to the next stage of the
             installation.

          El ejemplo anterior tiene un comentario sin la norma "#flag:comment", donde se añade
          implícitamente "#flag:comment:*". Este comentario aparece en todas las cadenas, pero el
          que se encuentra en torno a Stop for Maintenance sólo aparece antes de la cadena
          relevante.

       partial
          Esta palabra clave indica a po2debconf que mantenga cadenas traducidas incluso si no se
          han traducido todas las cadenas. Úselo con precaución, esta palabra clave se ha
          introducido con propósitos muy específicos.

   ENVIAR AVISOS A LOS TRADUCTORES ANTES DE ENVIAR EL PAQUETE
       Generalmente, los traductores se informan en las páginas web de estadísticas (véase a
       continuación) de las traducciones desactualizadas, enviando parches a incluir en futuros
       envíos de paquetes. Se anima a las desarrolladores que contacten con los responsables de
       las traducciones desactualizadas para una actualización previa al envío del paquete. Se ha
       creado una herramienta específica para ello, podebconf-report-po. ¡No dude en abusar de
       él!

DEPURACIÓN

       Verá que debconf-loadtemplate no aceptará un fichero de plantillas con marcas de i18n. Sin
       embargo, aceptará un fichero fusionado, así que si ha estado depurando su configuración
       mediante debconf de la siguiente manera

         rm /tmp/{config,templates}.dat{,-old}
         debconf-loadtemplate debian/templates
         DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0

       ahora tendrá que hacer algo así:

         po2debconf debian/templates > debian/tmp/DEBIAN/templates
         rm /tmp/{config,templates}.dat{,-old}
         debconf-loadtemplate debian/tmp/DEBIAN/templates
         DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0

ADVERTENCIAS

       • "Debconf" 1.2.0 reconoce campos con la forma Nombre-idioma.codificación. Por ejemplo,
         "Description-de.ISO-8859-1" o "Choices-ru.KOI8-R". po2debconf escribe las plantillas en
         este nuevo formato de forma predefinida. Las versiones anteriores de "debconf" ignorarán
         estos campos, y se mostrará el texto en inglés. Para saber cómo cambiar la codificación
         y el formato de salida consulte po2debconf(1).

       • Una cadena dada en inglés puede tener una única traducción a un idioma dado. Es
         imposible dar dos traducciones, dependiendo del contexto. Para resolver este problema,
         debe añadir marcas especiales en las diferentes apariciones de la cadena dada para así
         diferenciarlas. (Estas marcas sólos son visibles para el traductor, y se eliminarán de
         la cadena antes de mostrarse al usuario.)

         Tales marcas se deben añadir al principio de las cadenas a traducir, y deben comenzar
         con "[ " (un paréntesis izquierdo seguido de un espacio) y finalizar con "]" (un
         paréntesis derecho), y puede contener cualquier carácter a excepción de paréntesis y
         nuevas líneas. Por ejemplo, "[ blahblah]" es una marca válida, mientras que "[
         bla[bla]bla]" no lo es. Para adictos a las expresiones regulares de Perl, las marcas se
         reconocen (y eliminan) con la siguiente regla:

           $msg =~ s/\[\s[^\[\]]*\]$//s;

       • "po-debconf" y "debconf-utils" no tratan el espaciado de la misma forma; el segundo
         reformatea párrafos al actualizar y fusionar traducciones. "debconf-utils" es muy
         astuto, y no considera los espacios como parte de la cadena al determinar las entradas
         difusas (esto es, las que necesitan la atención del traductor porque el original ha
         cambiado).

         Por otra parte, "po-debconf" depende de "gettext" para detectar entradas difusas, y no
         trata los espacios como caracteres especiales. Por ello, debe eliminar los espacios
         superfluos al final de las cadenas de los ficheros de plantilla originales, o aparecerán
         en los ficheros POT y PO.

         Por la misma razón, debconf-gettextize puede marcar el texto como difuso por la falta de
         coincidencia de caracteres de espacio, y los traductores tendrán que quitar la marca de
         difusa a tales cadenas manualmente. Esto sólo ocurre una vez al convertir las plantillas
         al formato "po-debconf", a menos que cambie al azar los espacios en los ficheros de
         plantillas originales, lo cuál dificultaría la labor de los traductores.

       • Habitualmente, el campo Default: no se debe traducir cuando el tipo de plantilla es
         Select o Multiselect. Bajo ciertas circunstancias (por ejemplo, al seleccionar el idioma
         para una aplicación) los valores localizados pueden ser significativos.

         El valor localizado no debe estar traducido, sino seleccionado de la lista de valores en
         inglés en el campo Choices. La mejor de forma de lograr esto es insertar un comentario
         en su fichero de plantillas que se copiará a los ficheros PO.

           Template: geneweb/lang
           Type: select
           __Choices: Danish (da), Dutch (nl), English (en), Esperanto (eo)
           #  You must NOT translate this string, but you can change its value.
           #  The comment between brackets is used to distinguish this msgid
           #  from the one in the Choices list; you do not have to worry about
           #  them, and have to simply choose a msgstr among the English values
           #  listed in the Choices field above, e.g. msgstr "Dutch (nl)"
           _Default: English (en)[ default language]
           _Description: Geneweb default language

         El valor predefinido también aparece en el campo Choices, y ambos tiene diferentes
         traducciones: el primero es un valor no traducido seleccionado entre los valores de
         Choices, mientras que el segundo es una traducción normal. Como "gettext" no puede tener
         dos traducciones diferentes para el mismo msgid, ambos msgids deben ser diferentes
         usando los comentarios entre paréntesis descritos en una sub-sección anterior.

         Antes de la versión 0.8.0 de "po-debconf", tales comentarios no estaban disponibles, y
         los desarrolladores tenían que reemplazar el campo _Default: con _DefaultChoice: para
         así resaltar esos campos en los ficheros PO:

           #. DefaultChoice
           msgid ""
           "English[ default: do not translate bracketed material, put your "
           "own language here but UNTRANSLATED.  If it is not in the list, "
           "put English (without bracketed material)]"
           msgstr ""
           "Swedish"

         Se recomienda usar comentarios sencillos en los ficheros de plantillas, menos proclives
         a causar un error.

PÁGINAS WEB DE ESTADÍSTICAS

       Las estadísticas de traducciones basadas en "po-debconf" están disponibles en
       <http://www.debian.org/intl/l10n/po-debconf/> (o réplicas); se actualizan automáticamente
       cuando se envían paquetes nuevos. Sólo se consideran los paquetes que contienen ficheros
       debian/po/templates.pot y debian/po/POTFILES.in, compruebe que su paquete fuente los
       proporciona.

       Los traductores pueden obtener aquí ficheros PO y POT, pero siempre deben contactar con el
       anterior traductor (la dirección de correo electrónico está dentro del fichero PO) y puede
       que también con los otros traductores del equipo en debian-l10n-<idioma>@lists.debian.org
       (si existe tal lista de correo) para comprobar que nadie está trabajando en la misma
       traducción, y también revisar los informes de fallo remitidos al paquete que van a
       traducir para ver si ya se ha enviado una traducción.

       Después de traducir estos ficheros, deberían enviar su trabajo al desarrollador como un
       informe de fallo con severidad wishlist, y la etiqueta patch.

VÉASE TAMBIÉN

       debconf-gettextize(1), debconf-updatepo(1), dh_installdebconf(1), podebconf-report-po(1),
       po2debconf(1), debconf-devel(7).

AUTORES

         Martin Quinson <Martin.Quinson@ens-lyon.fr>
         Denis Barbier <barbier@linuxfr.org>

TRADUCCIÓN

         Omar Campagne Polaino <ocampagne@gmail.com>, 2010.

         Esta traducción se ha realizado como parte del equipo de
         traducción al español de Debian, <debian-l10n-spanish.org>.

                                            2016-10-01                              PO-DEBCONF(7)