Provided by: po4a_0.41-1_all bug

NOM

       Locale::Po4a::Sgml - Convertir des documents SGML depuis ou vers des
       fichiers PO

DESCRIPTION

       L'objectif du projet po4a [PO for anything -- PO pour tout] est de
       simplifier la traduction (et de facon plus interessante, la maintenance
       des traductions) en utilisant les outils gettext dans des domaines pour
       lesquels ils n'etaient pas destines, comme la documentation.

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

       Ce module utilise nsgmls pour analyser les fichiers SGML. Assurez vous
       qu'il est bien installe et que la DTD des fichiers SGML est bien
       installee sur le systeme.

OPTIONS ACCEPT'EES PAR CE MODULE

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

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

       translate
           Liste de balises supplementaires (en plus de celles fournies par la
           DTD) separees par des espaces dont le contenu doit former des msgid
           additionnels.

       section
           Liste de balises supplementaires (en plus de celles fournies par la
           DTD) pouvant contenir d'autres balises, qui peuvent etre a traduire
           (categorie translate).

       indent
           Liste de balises, separees par des espaces, qui augmentent le
           niveau d'indentation.

       verbatim
           Le formatage du texte contenu dans ces balises ne doit pas etre
           modifie. Aucun retour a la ligne n'est ajoute dans les paragraphes
           et aucune espace pour l'indentation ou nouvelle ligne n'est ajoutee
           pour des raisons cosmetiques.

       empty
           Balises n'ayant pas besoin d'etre fermees.

       ignore
           Les balises ignorees et considerees comme etant du texte brut par
           po4a. C'est-a-dire qu'elles peuvent faire partie d'un msgid. Par
           exemple, <b> est un bon candidat pour cette categorie puisqu'en les
           mettant dans la categorie translate (a traduire), cela aurait eu
           pour consequence que des msgid n'auraient pas ete des phrases
           completes, ce qui n'est pas bien.

       attributes
           Une liste d'attributs de balises (separes par des espaces) que vous
           voulez traduire. Vous pouvez specifier les attributs par leur nom
           (par exemple, <<lang>>), mais vous pouvez aussi les faire preceder
           d'une hierarchie de balises pour indiquer que cet attribut ne sera
           traduit que quand il sera place a l'interieur 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-meme
           dans une balise <bbb>. Le nom des balises est en fait une
           expression rationnelle, ce qui vous permet de specifier
           <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 separes par des espaces pour lesquels la
           traduction doit etre qualifiee par le nom d'attribut. Notez que
           cette option ajoute aussi automatiquement l'attribut donne a la
           liste d'attributs.

       force
           Continue meme si la DTD est inconnue ou si nsgmls trouve des
           erreurs dans le document d'entree.

       include-all
           Par defaut, les msgid qui ne contiennent qu'une entite (comme
           <<&version;>>) sont sautes pour le confort du traducteur. Activer
           cette option arrete cette optimisation. Ceci peut etre utile si le
           document contient une construction telle que
           <<<title&Aacute;</title> >>,> meme si je doute que ca puisse
           arriver...

       ignore-inclusion
           Liste d'entites, separees par des espaces, qui ne seront pas
           inserees. Utilisez cette option avec precaution: elle peut forcer
           nsgmls (qui est utilise en interne) a ajouter des tags et rendre le
           document genere non valable.

'ETAT DE CE MODULE

       Le resultat est parfait. C'est-a-dire que les documents generes sont
       rigoureusement identiques. Mais il y a encore quelques problemes:

       o Les messages d'erreur de nsgmls sont rediriges vers /dev/null, ce qui
         n'est pas bien, mais je ne sais pas comment eviter cela.

         Le probleme est que j'ai a <<proteger>> les inclusions conditionnees
         (utilisant <<"<![%blah[">> et <<"]]>">>) de nsgml, parce que dans
         certains cas, nsgmls les elimine, et je ne sais pas les retablir dans
         le document final. Pour empecher cela, je les recrit dans
         "{PO4A-beg-blah}" et "{PO4A-end}".

         Le probleme 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 empechera de detecter que le document est mal formate.

       o Ceci ne marche qu'avec les DTD DebianDoc et DocBook. L'ajout de prise
         en charge d'une nouvelle DTD doit etre tres facile. Le mecanisme est
         le meme pour chaque DTD, vous n'avez qu'a donner la liste des balises
         existantes et certaines de leurs caracteristiques.

         Je comprend que ceci necessiterait plus de documentation, mais c'est
         toujours considere comme a l'etat beta, et je deteste documenter ce
         qui risque de/va changer.

       o Attention, le support des DTD est plutot experimental. Je n'ai lu
         aucun manuel de reference pour trouver la definition de toutes ces
         balises. J'ai ajoute des definitions de balises au module jusqu'a ce
         que ca marche pour certains documents trouves sur internet. Si votre
         document utilise plus de balises que les miens, ca ne marchera pas.
         Mais, comme je l'ai dit plus haut, corriger cela doit etre assez
         facile.

         J'ai teste le format DocBook avec le SAG (System Administrator Guide
         -- Guide de l'Administrateur Systeme) uniquement, mais comme ce
         document est assez important, il doit utiliser la plupart des
         specificites de DocBook.

         Pour le format DebianDoc, je l'ai teste avec certains manuels du DDP,
         mais pas encore avec tous.

       o En cas d'inclusion d'un fichier, les references des messages du PO
         (c.-a-d., les lignes de la forme "#: en/titletoc.sgml:9460") seront
         erronees.

         Ceci est du au fait que j'applique un pretraitement au fichier pour
         proteger les inclusions conditionnelles (utilisant <<"<![%blah[" et
         <<"]]>">>) et quelques entites (comme &version;) de nsgmls parce que
         je les veux telles quelles dans le document genere. Pour cela, je
         fait une copie temporaire du fichier d'entree et effectue toutes les
         modifications que je veux lui appliquer avant de le passer a nsgmls
         pour son analyse.

         Pour que ca fonctionne, je remplace les entites demandant l'inclusion
         d'un fichier par le contenu du fichier donne (comme ceci je peux
         egalement proteger ce qui doit etre dans le sous-fichier). Mais rien
         n'est fait a present pour corriger les references (c.-a-d. les noms
         des fichiers et les numeros de ligne) par la suite. Je ne sais pas ce
         qui est preferable.

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 ete faite par:

        Denis Barbier <barbier@linuxfr.org>
        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).