Locale::Po4a::Sgml.3pm

Autres langues

Langue: fr

Version: 2008-11-05 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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 faA~Xon plus intA~Xressante, la maintenance des traductions) en utilisant les outils gettext dans des domaines pour lesquels ils n'A~Xtaient pas destinA~Xs, 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 ACCEPTA~XES PAR CE MODULE

debug
Liste de mots clef sA~XparA~Xs par des espaces et indiquant quelles parties vous voulez dA~Xboguer. Les valeurs possibles sont : tag, generic, entities et refs.
verbose
Donne plus d'informations sur ce qu'il se passe.
translate
Liste de balises supplA~Xmentaires (en plus de celles fournies par le DTD) sA~XparA~Xes par des espaces dont le contenu doit former des msgid additionnels.
section
Liste de balises supplA~Xmentaires (en plus de celles fournies par le DTD) pouvant contenir d'autres balises, qui peuvent A~Xtre A~  traduire (catA~Xgorie AX translate AX).
indent
Liste de balises, sA~XparA~Xes par des espaces, qui augmentent le niveau d'indentation.
verbatim
Le formatage du texte contenu dans ces balises ne doit pas A~Xtre modifiA~X. Aucun retour A~  la ligne n'est ajoutA~X dans les paragraphes et aucun espace pour l'indentation ou nouvelle ligne n'est ajoutA~X pour des raisons cosmA~Xtiques.
empty
Balises n'ayant pas besoin d'A~Xtre fermA~Xes.
ignore
Les balises ignorA~Xes et considA~XrA~Xes comme A~Xtant 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 catA~Xgorie puisqu'en les mettant dans la catA~Xgorie translate (A~  traduire), cela aurait eu pour consA~Xquence que des msgid n'auraient pas A~XtA~X des phrases complA~Xtes, ce qui n'est pas bien.
attributes
Une liste d'attributs de balises (sA~XparA~Xs par des espaces) que vous voulez traduire. Vous pouvez spA~Xcifier les attributs par leur nom (par exemple, AX lang AX), mais vous pouvez aussi les faire prA~XcA~Xder d'une hiA~Xrarchie de balises pour indiquer que cet attribut ne sera traduit que quand il sera placA~X A~  l'intA~Xrieur 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-mA~Xme dans une balise <bbb>. Le nom des balises est en fait une expression rationnelle, ce qui vous permet de spA~Xcifier <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 sA~XparA~Xs par des espaces pour lesquels la traduction doit A~Xtre qualifiA~Xe par le nom d'attribut. Notez que cette option ajoute aussi automatiquement l'attribut donnA~X A~  la liste d'attributs.
force
Continue mA~Xme si le DTD est inconnu ou si nsgmls trouve des erreurs dans le document d'entrA~Xe.
include-all
Par dA~Xfaut, les msgid qui ne contiennent qu'une entitA~X (comme AX &version; AX) sont sautA~Xs pour le confort du traducteur. Activer cette option arrA~Xte cette optimisation. Ceci peut A~Xtre utile si le document contient une construction telle que AX <title&Aacute;</title> AX>, mA~Xme si je doute que A~Xa puisse arriver...
ignore-inclusion
Liste d'entitA~Xs, sA~XparA~Xes par des espaces, qui ne seront pas insA~XrA~Xes. Utilisez cette option avec prA~Xcaution : elle peut forcer nsgmls (qui est utilisA~X en interne) A~  ajouter des tags et rendre le document gA~XnA~XrA~X non valable.

A~XTAT DE CE MODULE

Le rA~Xsultat est parfait. C'est-A~ -dire que les documents gA~XnA~XrA~Xs sont rigoureusement identiques. Mais il y a encore quelques problA~Xmes :
Les messages d'erreur de nsgmls sont redirigA~Xs vers /dev/null, ce qui n'est pas bien, mais je ne sais pas comment A~Xviter cela.

Le problA~Xme est que j'ai A~  AX protA~Xger AX les inclusions conditionnA~Xes (utilisant AX "<! [ %blah [" AX et AX "]]>" AX) de nsgml, parce que dans certains cas, nsgmls les A~Xlimine, et je ne sais pas les rA~Xtablir dans le document final. Pour empA~Xcher cela, je les rA~Xcrit dans "{PO4A-beg-blah}" et "{PO4A-end}".

Le problA~Xme 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 empA~Xchera de dA~Xtecter que le document est mal formatA~X.

Ceci ne marche qu'avec les dtd debiandoc et docbook. L'ajout d'un support pour un nouveau dtd doit A~Xtre trA~Xs facile. Le mA~Xcanisme est le mA~Xme pour chaque dtd, vous n'avez qu'A~  donner la liste des balises existantes et certaines de leurs caractA~Xristiques.

Je comprend que ceci nA~Xcessiterait plus de documentation, mais c'est toujours considA~XrA~X comme A~  l'A~Xtat bA~Xta, et je dA~Xteste documenter ce qui risque de/va changer.

Attention, le support des dtd est plutA~Xt expA~Xrimental. Je n'ai lu aucun manuel de rA~XfA~Xrence pour trouver la dA~Xfinition de toutes ces balises. J'ai ajoutA~X des dA~Xfinitions de balises au module jusqu'A~  ce que A~Xa marche pour certains documents trouvA~Xs sur internet. Si votre document utilise plus de balises que les miens, A~Xa ne marchera pas. Mais, comme je l'ai dit plus haut, corriger cela doit A~Xtre assez facile.

J'ai testA~X le format docbook avec le SAG (System Administrator Guide --- Guide de l'Administrateur SystA~Xme) uniquement, mais comme ce document est assez important, il doit utiliser la plupart des spA~XcificitA~Xs de docbook.

Pour le format debiandoc, je l'ai testA~X avec certains des manuels du DDP, mais pas encore avec tous.

En cas d'inclusion d'un fichier, les rA~XfA~Xrences des messages du po (c.-A~ -d., les lignes de la forme "#: en/titletoc.sgml:9460") seront erronA~Xes.

Ceci est dA~X au fait que j'applique un prA~Xtraitement au fichier pour protA~Xger les inclusions conditionnelles (utilisant AX "<! [ %blah [" et AX "]]>" AX) et quelques entitA~Xs (comme &version;) de nsgmls parce que je les veux telles quelles dans le document gA~XnA~XrA~X. Pour cela, je fait une copie temporaire du fichier d'entrA~Xe et effectue toutes les modifications que je veux lui appliquer avant de le passer A~  nsgmls pour son analyse.

Pour que A~Xa fonctionne, je remplace les entitA~Xs demandant l'inclusion d'un fichier par le contenu du fichier donnA~X (comme ceci je peux A~Xgalement protA~Xger ce qui doit A~Xtre dans le sous-fichier). Mais rien n'est fait A~  prA~Xsent pour corriger les rA~XfA~Xrences (c.-A~ -d. les noms des fichiers et les numA~Xros de ligne) par la suite. Je ne sais pas ce qui est prA~XfA~Xrable.

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 A~XtA~X faite par :

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

TRADUCTION

  Martin Quinson (mquinson#debian.org)
 
 
  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).