Provided by: po4a_0.36.1-1_all bug

NOM

       Locale::Po4a::Sgml - convertit des documents sgml depuis/vers des
       fichiers PO

DESCRIPTION

       L’objectif du projet po4a [po for anything -- po pour tout] est de
       simplifier la traduction (et de façon plus intéressante, la maintenance
       des traductions) en utilisant les outils gettext dans des domaines pour
       lesquels ils n’étaient pas destinés, comme la documentation.

       Locale::Po4a::Sgml est un module qui permet d’aider la traduction de
       documentations au format SGML vers d’autres langues.

       This module uses nsgmls to parse the SGML files. Make sure it is
       installed.  Also make sure that the DTD of the SGML files are installed
       in the system.

OPTIONS ACCEPTÉES PAR CE MODULE

       debug
           Liste de mots clef séparés par des espaces et indiquant quelles
           parties vous voulez déboguer. Les valeurs possibles sont: tag,
           generic, entities et refs.

       verbose
           Donne plus d’informations sur ce qu’il se passe.

       translate
           Liste de balises supplémentaires (en plus de celles fournies par le
           DTD) séparées par des espaces dont le contenu doit former des msgid
           additionnels.

       section
           Liste de balises supplémentaires (en plus de celles fournies par le
           DTD) pouvant contenir d’autres balises, qui peuvent être à traduire
           (catégorie «translate»).

       indent
           Liste de balises, séparées par des espaces, qui augmentent le
           niveau d’indentation.

       verbatim
           Le formatage du texte contenu dans ces balises ne doit pas être
           modifié. Aucun retour à la ligne n’est ajouté dans les paragraphes
           et aucun espace pour l’indentation ou nouvelle ligne n’est ajouté
           pour des raisons cosmétiques.

       empty
           Balises n’ayant pas besoin d’être fermées.

       ignore
           Les balises ignorées et considérées comme étant du texte brut par
           po4a. C’est-à-dire qu’elles peuvent faire partie d’un msgid. Par
           exemple, <b> est un bon candidat pour cette catégorie puisqu’en les
           mettant dans la catégorie translate (à traduire), cela aurait eu
           pour conséquence que des msgid n’auraient pas été des phrases
           complètes, ce qui n’est pas bien.

       attributes
           Une liste d’attributs de balises (séparés par des espaces) que vous
           voulez traduire. Vous pouvez spécifier les attributs par leur nom
           (par exemple, «lang»), mais vous pouvez aussi les faire précéder
           d’une hiérarchie de balises pour indiquer que cet attribut ne sera
           traduit que quand il sera placé à l’intérieur d’une balise. Par
           exemple: <bbb><aaa>lang indique que l’attribut lang ne sera traduit
           que s’il se trouve dans une balise <aaa>, se trouvant elle-même
           dans une balise <bbb>. Le nom des balises est en fait une
           expression rationnelle, ce qui vous permet de spécifier
           <aaa|bbbb>lang si vous ne voulez traduire que les attributs lang
           qui se trouvent dans une balise <aaa> ou <bbb>.

       qualify
           Une liste d’attributs séparés par des espaces pour lesquels la
           traduction doit être qualifiée par le nom d’attribut. Notez que
           cette option ajoute aussi automatiquement l’attribut donné à la
           liste d’attributs.

       force
           Continue même si le DTD est inconnu ou si nsgmls trouve des erreurs
           dans le document d’entrée.

       include-all
           Par défaut, les msgid qui ne contiennent qu’une entité (comme
           «&version;») sont sautés pour le confort du traducteur. Activer
           cette option arrête cette optimisation. Ceci peut être utile si le
           document contient une construction telle que
           «<title&Aacute;</title> »>, même si je doute que ça puisse
           arriver...

       ignore-inclusion
           Liste d’entités, séparées par des espaces, qui ne seront pas
           insérées. Utilisez cette option avec précaution: elle peut forcer
           nsgmls (qui est utilisé en interne) à ajouter des tags et rendre le
           document généré non valable.

ÉTAT DE CE MODULE

       Le résultat est parfait. C’est-à-dire que les documents générés sont
       rigoureusement identiques. Mais il y a encore quelques problèmes:

       · Les messages d’erreur de nsgmls sont redirigés vers /dev/null, ce qui
         n’est pas bien, mais je ne sais pas comment éviter cela.

         Le problème est que j’ai à «protéger» les inclusions conditionnées
         (utilisant «"<![%blah["» et «"]]>"») de nsgml, parce que dans
         certains cas, nsgmls les élimine, et je ne sais pas les rétablir dans
         le document final. Pour empêcher cela, je les récrit dans
         "{PO4A-beg-blah}" et "{PO4A-end}".

         Le problème avec cela est les "{PO4A-end}" et autres sont valides
         dans le document (pas dans une balise <p> ou autre).

         Tout marche bien avec cette redirection des messages de nsgmls, mais
         ceci empêchera de détecter que le document est mal formaté.

       · Ceci ne marche qu’avec les dtd debiandoc et docbook. L’ajout d’un
         support pour un nouveau dtd doit être très facile. Le mécanisme est
         le même pour chaque dtd, vous n’avez qu’à donner la liste des balises
         existantes et certaines de leurs caractéristiques.

         Je comprend que ceci nécessiterait plus de documentation, mais c’est
         toujours considéré comme à l’état bêta, et je déteste documenter ce
         qui risque de/va changer.

       · Attention, le support des dtd est plutôt expérimental. Je n’ai lu
         aucun manuel de référence pour trouver la définition de toutes ces
         balises. J’ai ajouté des définitions de balises au module jusqu’à ce
         que ça marche pour certains documents trouvés sur internet. Si votre
         document utilise plus de balises que les miens, ça ne marchera pas.
         Mais, comme je l’ai dit plus haut, corriger cela doit être assez
         facile.

         J’ai testé le format docbook avec le SAG (System Administrator Guide
         -- Guide de l’Administrateur Système) uniquement, mais comme ce
         document est assez important, il doit utiliser la plupart des
         spécificités de docbook.

         Pour le format debiandoc, je l’ai testé avec certains des manuels du
         DDP, mais pas encore avec tous.

       · En cas d’inclusion d’un fichier, les références des messages du po
         (c.-à-d., les lignes de la forme "#: en/titletoc.sgml:9460") seront
         erronées.

         Ceci est dû au fait que j’applique un prétraitement au fichier pour
         protéger les inclusions conditionnelles (utilisant «"<![%blah[" et
         «"]]>"») et quelques entités (comme &version;) de nsgmls parce que je
         les veux telles quelles dans le document généré. Pour cela, je fait
         une copie temporaire du fichier d’entrée et effectue toutes les
         modifications que je veux lui appliquer avant de le passer à nsgmls
         pour son analyse.

         Pour que ça fonctionne, je remplace les entités demandant l’inclusion
         d’un fichier par le contenu du fichier donné (comme ceci je peux
         également protéger ce qui doit être dans le sous-fichier). Mais rien
         n’est fait à présent pour corriger les références (c.-à-d. les noms
         des fichiers et les numéros de ligne) par la suite. Je ne sais pas ce
         qui est préférable.

AUTEURS

       Ce module est une adaptation de sgmlspl (postprocesseur SGML pour les
       analyseurs SGMLS et NSGMLS), avec le copyright suivant:

        Copyright (c) 1995 par David Megginson <dmeggins@aix1.uottawa.ca>

       L’adaptation de po4a a été faite par:

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

TRADUCTION

        Martin Quinson (mquinson#debian.org)

COPYRIGHT ET LICENCE

        Copyright (c) 1995 par David Megginson <dmeggins@aix1.uottawa.ca>
        Copyright 2002, 2003, 2004, 2005 par SPI, inc.

       Ce programme est un logiciel libre; vous pouvez le copier et / ou le
       modifier sous les termes de la GPL (voir le fichier COPYING).