Provided by: po4a_0.52-1_all 

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Á</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 :
• The error output of onsgmls is redirected to /dev/null by default, which is clearly bad. I don't know
how to avoid that.
Le problème est que j'ai à « protéger » les inclusions conditionnées (c'est à dire « "<!" [ %blah [ »
et « "]]>" truc ») 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-blah}" 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).
If you want to view the onsgmls output, just add the following to your command line (or po4a
configuration line):
-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 « "<!" [ %blah [ » et « "]]>" truc ») 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 (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).
Outils po4a 2017-08-26 Locale::Po4a::Sgml(3pm)