Provided by: po-debconf_1.0.21+nmu1_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>.

                                                   2020-12-30                                      PO-DEBCONF(7)