Provided by: po4a_0.69-1_all bug

NOMBRE

       Locale::Po4a::Sgml - Convierte documentos SGML desde/a ficheros PO

DESCRIPCIÓN

       El objetivo del proyecto po4a («PO for anything», PO para todo) es facilitar la traducción (y más
       interesante, el mantenimiento de las traducciones) usando las herramientas de gettext en ámbitos dónde no
       previstos, como la documentación.

       Locale::Po4a::Sgml es un módulo que asiste en la traducción de documentación en formato SGML a otros
       lenguajes (humanos).

       Este módulo usa onsgmls(1) para analizar los ficheros SGML. Asegúrese de que está instalado. Asegúrese
       también de que el DTD de los ficheros SGML están instalados en el sistema.

OPCIONES ACEPTADAS POR ESTE MODULO

       debug
           Es  una lista de palabras clave separadas por espacios que indican qué partes se quieren depurar. Los
           valores posibles son: «tag», «generic», «entities» y «refs».

       verbose
           Muestra más información sobre qué está pasando.

       translate
           Lista de etiquetas («tags») adicionales separados por espacios (aparte de los proporcionados por DTD)
           cuyo contenido debe generar un msgid adicional.

       section
           Lista separada por espacios de las etiquetas adicionales (aparte de los proporcionados  por  el  DTD)
           que pueden contener otras etiquetas, algunos de los cuales pueden ser de la categoría translate.

       indent
           Lista de todas las etiquetas que aumentan el nivel de sangrado, separadas por espacios.

       verbatim
           La  organización del contenido de estas etiquetas no se debe cambiar. El párrafo no se justificará ni
           se añadirán espacios de sangrado ni saltos de línea por motivos estéticos.

       empty
           Etiquetas que no necesitan cierre.

       ignore
           Las etiquetas ignoradas y consideradas por po4a como datos de caracteres  sencillos.  Esto  significa
           que  pueden  ser  parte de un msgid. Por ejemplo, <b> es un buen candidato para esta categoría ya que
           añadirlo en la sección «translate» crearía unos msgid que no serían la frase completa, lo cual no  es
           recomendable.

       attributes
           Lista  separada  por espacios de los atributos que necesita traducir. Puede especificar los atributos
           por su nombre (por ejemplo, «lang»), pero puede añadirle como prefijo una jerarquía de etiquetas para
           especificar que esta etiqueta sólo se debe traducir cuando esté dentro de la  etiqueta  especificada.
           Por  ejemplo: <bbb><aaa>lang indica que el atributo «lang» sólo se traducirá cuando esté dentro de la
           etiqueta <aaa>, y éste esté dentro  de  una  etiqueta  <bbb>.  Los  nombres  de  las  etiquetas  son,
           generalmente,  expresiones  regulares  que  le permiten escribir cosas tales como <aaa|bbbb>lang sólo
           para traducir atributos de «lang» que están dentro de una etiqueta <aaa> o <bbb>.

       qualify
           Lista de elementos separados por espacios de los atributos,  para  los  que  la  traducción  se  debe
           calificar  por  el  nombre  de  atributo.  Observe  que definir esto automáticamente también añade el
           atributo en la lista de 'attributes'.

       force
           Procede aunque se desconozca el DTD o si onsgmls encuentra errores en el fichero de entrada.

       include-all
           Por omisión, los msgid que contienen solamente una entidad (por ejemplo '&version;') se obvian,  para
           comodidad  de  los traductores. Evitará esta optimización si activa ésta opción. Puede ser útil si el
           documento contiene una construcción como «<title>&Aacute;</title>», aunque dudo que nunca  pase  algo
           así...

       ignore-inclusion
           Lista de entidades separadas por espacios que no se tratarán como elementos en línea. Use esta opción
           con  cuidado:  puede  causar  que  onsgmls (usado internamente) añada etiquetas, y por ello dejar sin
           valor el documento de salida.

ESTADO DE ESTE MODULO

       El resultado es perfecto. Es decir, los documentos generados son idénticos.  A  pesar  de  todo  aún  hay
       algunos problemas:

       • La  salida  de  error  de  nsgmls se redirige a «/dev/null» de forma predefinida, lo cual es claramente
         negativo. No sé como evitarlo.

         El problema es que debo «proteger» la inclusión condicional (p. ej., las cosas como "<! [  %blah  ["  y
         "]]>")  de  onsgmls,  porque si no, onsgmls se lo come, y no sé como restaurarlo en el documento final.
         Para evitarlo, lo reescribo como "{PO4A-beg-blah}" y "{PO4A-end}".

         El problema con esto es que "{PO4A-end}" y otros que añado no son válidos en el documento (pero  no  en
         una etiqueta <p> o similar).

         Si  desea  observar  la  salidad  de  onsgmls,  simplemente añada lo siguiente a la línea de órdenes (o
         fichero de configuración de po4a):

           -o debug=onsgmls

       • Esto sólo funciona con DebianDoc y DocBook DTD. Añadir compatibilidad para un nuevo DTD debería ser muy
         fácil. El mecanismo es común para todos los DTD,  sólo  tiene  que  dar  una  lista  de  las  etiquetas
         existentes y algunas de sus características.

         Estoy  de  acuerdo,  esto  necesita  un  poco  más de documentación, pero aún se considera beta, y odio
         documentar cosas que probablemente cambiarán.

       • Advertencia: la compatibilidad con DTD es aún experimental. No leí ningún  manual  de  referencia  para
         mirar  la  definición  de  cada  etiqueta.  Fui añadiendo definiciones de etiquetas al módulo hasta que
         funcionaba para varios documentos que encontré en la red. Si su documento utiliza más etiquetas que  el
         mío, no funcionará. Pero tal y como he dicho, arreglar esto debe ser muy fácil.

         Sólo  probé DocBook con SAG (System Administrator Guide, Guia del administrador de sistemas), pero este
         documento es muy grande, y debe usar la mayoría de las características específicas de DocBook.

         Para DebianDoc, he probado algunos de los manuales de DDP, pero no todos aún.

       • En el caso de inclusión de ficheros, la cadena de referencia del mensaje del fichero PO  (p.e.,  líneas
         como "#: en/titletoc.sgml:9460") serán incorrectas.

         Esto  es debido a que proceso el fichero para proteger la inclusión condicional (p. ej., las cosas como
         "<! [ %blah [" y "]]>") y algunas entidades (como &version;) de onsgmls porque lo quiero  igual  en  el
         documento generado. Por eso hago una copia temporal del fichero de entrada y hago todos los cambios que
         quiero en éste antes de pasarlo por onsgmls para su análisis.

         Para  que  esto  funcione, reemplazo las entidades que incluyen un fichero con el contenido del fichero
         dado (de forma que puedo proteger lo que convenga del subfichero también). Pero por ahora  no  se  hace
         nada  para  corregir  las  referencias  después (p. ej., nombre de fichero y número de línea). No estoy
         seguro de cuál es la mejor solución.

AUTORES

       Este módulo es una versión adaptada de  sgmlspl  (postprocesador  SGML  para  los  analizadores  SGMLS  y
       ONSGMLS) que hizo:

        Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>

       La adaptación a po4a la realizó:

        Denis Barbier <barbier@linuxfr.org>
        Martin Quinson (mquinson#debian.org)

TRADUCCION

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

DERECHO DE COPIA Y LICENCIA

        Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>.
        Copyright © 2002-2005 SPI, Inc.

       Esto  es  software  libre;  puede  redistribuirlo y/o modificarlo bajo las condiciones de la licencia GPL
       (consulte el fichero COPYING).

Herramientas de po4a                               2023-01-03                            Locale::Po4a::Sgml(3pm)