PO4A(1p)

NOM
po4a - met a jour a la fois les fichiers po et les documents traduits

SYNOPSIS
po4a [-dhvV] <fichier_de_configuration>

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.

Le programme "po4a" est charge de mettre a jour a la fois les fichiers po (les synchroniser avec les documents originaux) et les documents traduits (les synchroniser avec les fichiers po). Le principal avantage est de faciliter l'utilisation de po4a sans avoir besoin de se souvenir des options en lignes de commande.

Il vous permet de melanger des documents de differents formats dans le meme fichier pot de facon a n'en avoir qu'un seul par projet.

Ce comportement peut etre imite par les autres outils de la suite po4a (par exemple avec des makefiles), mais il est relativement difficile a faire, et fatiguant de toujours refaire les memes makefiles compliques pour chaque projet utilisant po4a.

Le flux des donnees peut se resummer de la facon suivante. Tout changement dans le document d'origine est reflete dans les fichiers po, et tout changement dans les fichiers po (qu'il soit manuel ou cause par une des etapes precedentes) sera reflete dans les documents traduits.

 document maitre --> fichiers po --> traductions

Le flux de donnees ne peut pas etre inverse dans cet outil, et les changements dans les traductions sont ecrases par le contenu des fichiers po. Cet outil ne peut donc pas etre utilise pour convertir les traductions existantes a po4a. Pour ceci, veuillez consulter po4a-gettextize(1).

SYNTAXE DU FICHIER DE CONFIGURATION
Le parametre (obligatoire) indique le chemin du fichier du fichier de configuration a utiliser. Sa syntaxe a vocation d'etre simple et proche des autres fichiers de configuration utilises par les projets d'internationalisation.

Des commentaires peuvent etre ajoutes a ce fichier avec le caractere X # X. Tout ce qui suit ce caractere sur une ligne est considere comme un commentaire. Les lignes peuvent se poursuivre en ajoutant un caractere d'echappement a la fin de la ligne. Toute ligne non vide doit debuter par une commande entre crochets, suivie de ses parametres. (Ca peut paraitre difficile a premiere vue, mais c'est en fait assez simple, enfin je l'espere ;)

  Specifier un modele pour les differentes langues
C'est une commande optionelle qui permet de simplifier le fichier de configuration lorsqu'il est utilise pour de nombreux langages. Il vous suffit de specifier les langues vers lesquelles vous voulez traduire les documents, ce qui se fait aussi simplement que :

 [po4a_langs] fr de

Ceci vous permettra de developper $lang en tous les langages specifies pour le reste du fichier de configuration.

  Specifier les chemins des fichiers des traducteurs
D'abord, vous devez specifier ou se trouvent les fichiers fournis aux traducteurs. Ceci peut etre fait de la facon suivante :

 [po4a_paths] doc/l10n/project.doc.pot fr:doc/l10n/fr.po de:doc/l10n/de.po

La commande est donc X po4a_paths X. Le premier parametre est le chemin du fichier pot a utiliser. Les autres parametres se comprennent par eux-memes :

    <langue>:<chemin vers le fichier po de cette langue>

Si vous avez defini un modele pour les langues, vous pouvez ecrire la ligne precedente de cette facon :

 [po4a_paths] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po

  Specification des documents a traduire
Vous devez maintenant specifier quels documents doivent etre traduits, leur format et ou placer leur traduction. Ceci peut etre fait par ces lignes :

 [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \
              de:doc/de/mein_cram.sgml
 [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \
             add_fr:doc/l10n/script.fr.add

Ceci est plutot explicite. Notez que dans le second cas, doc/l10n/script.fr.add est un addendum a ajouter a la version francaise du document. Veuillez vous referer a po4a(7) pour plus d'informations a propos des addenda.

Plus formellement, le format est le suivant :

 [type: <format>] <doc_maitre> <lang>:<doc_traduit>* add_<lang>:<addendum>*

Si vous avez defini un modele pour les langues, vous pouvez ecrire la ligne precedente de cette facon :

 [type: pod] script $lang:doc/$lang/script.1 \
             add_fr:doc/l10n/script.fr.add

Sous toutes les langues ont des addenda situes dans des chemins similaires, vous pourriez egalement ecrire quelque chose comme :

 [type: pod] script $lang:doc/$lang/script.1 \
             add_$lang:doc/l10n/script.$lang.add

  Fournir des options aux modules
po4a accepte des options qui seront passees au module. Ces options sont specifiques au module et sont specifiees avec l'option -o.

Si vous voulez fournir une option specifique pour un des documents que vous voulez traduire, vous pouvez la preciser dans le fichier de configuration. Les options sont introduites par le mot cle opt. Les parametres du mot cle opt doivent etre places entre guillemets s'ils contiennent un espace (par exemple si vous precisez plusieurs options, ou une option avec un parametre). Vous pouvez egalement specifier des options qui ne s'appliqueront qu'a une seule langue en utilisant le mot cle opt_lang.

Il y a des limitations connues : vous ne pouvez pas specifier de parametre contenant un espace ou des guillemets pour une option d'un module.

Voici un exemple :
 [type:man] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
            opt:"-k 75" opt_it:"-L UTF-8" opt_fr:-v

  Specifier des alias
Si vous devez fournir les memes options pour plusieurs fichiers, vous avez interet a definir un alias de module. Ceci se fait de cette facon :

[po4a_alias:test] man opt:"-k 21" opt_es:"-o debug=splitargs"

Ceci definit un alias de module nomme test, base sur le module man. L'option -k 21 s'appliquera a tous les languages et l'option -o debug=splitargs uniquement a l'espagnol.

Cet alias de module peut ensuite etre utilise comme un module normal :

[type:test] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
            opt_it:"-L UTF-8" opt_fr:-v

Notez que vous pouvez encore ajouter des options fichier par fichier.

OPTIONS

-k, --keep
    Seuil a depasser afin que le fichier genere soit conserve et ecrit sur disque (80 par defaut). C'est-a-dire que par defaut, les fichiers generes doivent etre traduits a plus de 80% pour etre ecrits.

-h, --help
    Affiche un message d'aide.

-M, --master-charset
    Jeu de caracteres des fichiers contenant les documents a traduire. Notez que tous les documents maitres doivent partager le meme jeu de caracteres pour l'instant. C'est une limitation connue ; nous travaillons a sa resolution.

-L, --localized-charset
    Jeu de caracteres des fichiers contenant les documents traduits. Notez que tous les documents traduits doivent partager le meme jeu de caracteres pour l'instant. C'est une limitation connue ; nous travaillons a sa resolution.

-A, --addendum-charset
    Jeu de caracteres des addenda. Notez que tous les ajouts doivent partager le meme jeu de caracteres.

-V, --version
    Affiche la version du script et quitte.

-v, --verbose
    Rend le programme plus bavard.

-q, --quiet
    Rend le programme moins bavard.

-d, --debug
    Affiche quelques informations de debogage.

-f, --force
    Genere toujours les fichiers POT et PO, meme si po4a considere que ce n'est pas necessaire.

    Le comportement par defaut (quand l'option --force n'est pas utilisee) est le suivant :

        Si le fichier POT existe deja, il est regenere si un document maitre est plus recent. De plus, le fichier POTest ecrit dans un document temporaire, et po4a verifie que les modifications valent le cout.

        Les fichiers PO sont regenere en fonction du champ POT-Creation-Date du POT et des fichier PO.

--no-translations
    Ne genere pas les documents traduits, ne mets que a jour les fichiers POT et PO.

--rm-translations
    Supprime les documents traduits (implique --no-translations).

--no-backups
    Ne genere pas les fichiers .po~ de sauvegarde.

--rm-backups
    Supprime les fichiers .po~ de sauvegarde (implique --no-backups).

--variable var=valeur
    Definit une variable dont toutes les occurrences seront remplacees dans le fichier de configuration de po4a. Les occurrences de $(var) seront remplacees par valeur. Cette option peut etre utilisee plusieurs fois.

DEFAUTS

•   Duplique du code des autres programmes de la suite po4a.

Toute rustine est la bien venue ;)

VOIR AUSSI
po4a(7), po4a-gettextize(1), po4a-updatepo(1), po4a-translate(1), po4a-normalize(1).

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

TRADUCTION
 Martin Quinson (mquinson#debian.org)

COPYRIGHT ET LICENCE
Copyright 2002, 2003, 2004 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).