Provided by: po4a_0.66-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 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.

       Ce module utilise onsgmls(1) pour analyser les fichiers SGML. Assurez vous qu’il est bien installé et que
       la DTD des fichiers SGML est bien installée sur le système.

OPTIONS ACCEPTÉES PAR CE MODULE

       debug
           Liste  de  mots  clefs 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 la 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 la 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 aucune espace pour l’indentation ou nouvelle ligne n’est ajoutée
           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 la DTD est inconnue ou si onsgmls 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 onsgmls (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 onsgmls sont redirigés vers /dev/null par défaut, 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 (c’est à dire « "<!" [ %truc  [  »
         et  «  "]]>"  machin  ») de onsgmls. Sinon, onsgmls les élimine, et je ne sais pas les rétablir dans le
         document final. Pour empêcher cela, je les récris dans "{PO4A-beg-truc}" et "{PO4A-end}".

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

         Si  vous  souhaitez  afficher  la  sortie  d’onsgmls,  il suffit d’ajouter ce qui suit à votre ligne de
         commande (ou à la ligne de configuration po4a) :

           -o debug=onsgmls

       • Cela ne marche qu’avec les DTD DebianDoc et DocBook. L’ajout de prise en charge d’une nouvelle 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 cela 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, la prise en charge des DTD est plutôt expérimentale. 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 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.

         Cela est dû  au  fait  que  j’applique  un  prétraitement  au  fichier  pour  protéger  les  inclusions
         conditionnelles  (utilisant  «  "<!"  [  %truc  [  »  et  «  "]]>" machin ») et quelques entités (comme
         &version;) de onsgmls parce que je les veux telles quelles dans le document généré. Pour cela, je  fais
         une copie temporaire du fichier d’entrée et effectue toutes les modifications que je veux lui appliquer
         avant de le passer à onsgmls 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 cela 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 l’analyseur ONSGMLS), qui était :

        Copyright © 1995 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 © 1995 David Megginson <dmeggins@aix1.uottawa.ca>
        Copyright © 2002, 2003, 2004, 2005 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).

Outils po4a                                        2022-01-02                            Locale::Po4a::Sgml(3pm)