
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NOM

po4a - Mettre à jour à la fois les fichiers PO et les documents traduits

=head1 SYNOPSIS

B<po4a> [I<options>] I<fichier_de_configuration>

=head1 DESCRIPTION

po4a (PO pour tout - PO for anything) facilite la maintenance de la
traduction de la documentation en utilisant les outils gettext
classiques. La principale caractéristique de po4a est qu'il découple la
traduction du contenu de la structure du document.  Référez-vous à la page
L<po4a(7)> pour une introduction en douceur à ce projet.

Lors de son exécution, B<po4a> analyse tous les fichiers de documentation
spécifiés dans son fichier de configuration. Il met à jour les fichiers PO
(contenant les traductions) pour refléter toute modification de la
documentation, et génère une documentation traduite en injectant la
traduction du contenu (trouvée dans les fichiers PO) dans la structure du
document d'origine.

Dans un premier temps, les fichiers PO ne contiennent que les chaines à
traduire de la documentation originale. Ce format de fichier permet aux
équipes de traduction de fournir manuellement une traduction pour chaque
paragraphe extrait par B<po4a>. Si la documentation est modifiée après la
traduction, B<po4a> marque les traductions correspondantes comme «
approximatives » (« fuzzy ») dans le fichier PO pour demander une révision
manuelle par les équipes de traductions. Celles-ci peuvent également fournir
ce que l'on appelle des « addendas », qui sont des contenus supplémentaires
indiquant, par exemple, qui a effectué la traduction et comment signaler les
bogues.

 master documents ---+---->-------->---------+
  (doc authoring)    |                       |
                     V   (po4a executions)   >-----+--> translated
                     |                       |     |     documents
 existing PO files -->--> updated PO files >-+     |
      ^                            |               |
      |                            V               |
      +----------<---------<-------+               ^
       (manual translation process)                |
                                                   |
 addendum -->--------------------------------------+

Le flux de travail de B<po4a> est asynchrone, comme il convient aux projets
de logiciels libres. Les rédacteurs de la documentation rédigent les
documents d'origine à leur propre rythme. Les équipes de traduction révisent
et actualisent les traductions dans les fichiers PO. Les responsables
exécutent B<po4a> de nouveau au besoin, pour refléter toute modification de
la documentation originale dans les fichiers PO, et pour produire des
traductions de documentation mises à jour, en injectant la dernière
traduction dans la dernière structure de document.

Par défaut, un document traduit est produit lorsqu’au moins 80 % de son
contenu est traduit. Le texte non traduit est conservé dans la langue
d'origine.  La documentation produite mélange donc les langues si la
traduction n'est pas complète. Vous pouvez modifier le seuil de 80 % avec
l'option I<--keep> décrite ci-dessous. Notez cependant qu'écarter les
traductions dès qu'elles ne sont pas complètes à 100 % peut être
décourageant pour les équipes de traduction dont le travail ne sera presque
jamais publié, tandis que montrer des traductions trop partielles peut être
troublant pour les personnes qui en dépendent.

Stocker les fichiers de documentation traduits dans le système de contrôle
de version est probablement une mauvaise idée, puisqu'ils sont générés
automatiquement. Les fichiers précieux sont les fichiers PO, qui contiennent
le dur labeur de vos équipes de traduction. Par ailleurs, certaines
personnes trouvent qu'il est plus facile d'interagir avec celles-ci par le
biais d'une plateforme en ligne telle que S<weblate>, mais cela est bien
entendu totalement facultatif.

=head2 Tutoriel de démarrage rapide

Supposons que vous mainteniez un programme nommé B<chapi> ayant une page de
manuel F<man/chapi.1> écrite en anglais (la langue passerelle dans la
plupart des projets libres, mais B<po4a> peut être utilisé depuis ou vers
n'importe quelle langue). Il y a quelque temps, quelqu'un a fourni une
traduction allemande nommée F<man/chapi.de.1> et a disparu.  C'est un
problème, car vous venez de recevoir un rapport de bogue signalant une
information gravement trompeuse devant être corrigée dans toutes les
langues. Mais, vous ne parlez pas allemand, et vous ne pouvez donc modifier
que l'original, pas la traduction. Maintenant, un autre contributeur veut
contribuer à une traduction en japonais, une langue que vous ne maitrisez
pas non plus.

Il est temps de convertir votre documentation à B<po4a> pour résoudre vos
cauchemars de maintenance de la documentation. Vous voulez actualiser la
documentation lorsque cela est nécessaire, faciliter le travail de vos
équipes de traduction, et vous assurer qu'une documentation périmée et donc
trompeuse n’est jamais publiée.

La conversion comprend deux étapes : la mise en place de l'infrastructure
po4a, et la conversion de la traduction allemande existante pour sauver le
travail précédent. Cette dernière partie est effectuée en utilisant
S<po4a-gettextize>, comme suit. Tel que détaillé dans la documentation de
L<po4a-gettextize(1)>, ce processus est rarement entièrement automatique. En
revanche, une fois réalisé, le fichier B<de.po> contenant la traduction
allemande peut être intégré dans votre flux de travail po4a.

  po4a-gettextize --format man --master foo.1 --localized foo.de.1 --po de.po

Configurons maintenant po4a. Avec la disposition appropriée des fichiers,
votre fichier de configuration pourrait être aussi simple que ceci :

 [po_directory] man/po4a/

 [type: man] man/foo.1 $lang:man/translated/foo.$lang.1

Elle spécifie que tous les fichiers PO (contenant le travail des équipes de
traduction) se trouvent dans le répertoire F<man/po4a/>, et que vous n'avez
qu'un seul fichier d'origine, F<man/chapi.1>. Si vous aviez plusieurs
fichiers d'origine, vous auriez plusieurs lignes semblables à la
seconde. Chacune de ces lignes spécifie également où écrire les fichiers de
traduction correspondants. Ici, la traduction allemande de F<man/chapi.1> se
trouve dans F<man/translated/chapi.de.1>.

La dernière chose dont nous avons besoin pour terminer la configuration de
B<po4a> est un fichier POT contenant le contenu modèle qui doit être utilisé
pour commencer une nouvelle traduction.  Il suffit de créer un fichier vide
avec l'extension S<.pot> dans le répertoire S<po_directory> spécifié (par
exemple F<man/po4a/chapi.pot>), et B<po4a> le remplira avec le contenu
attendu.

Voici un récapitulatif des fichiers de cette configuration :

  ├── man/
  │   ├── foo.1        <- The original man page, in English
  │   ├── po4a/
  │   │   ├── de.po    <- The German PO translation, from gettextization
  │   │   └── foo.pot  <- The POT template of future translations (empty at first)
  │   └── translated/  <- Directory where the translations will be created
  └── po4a.cfg         <- The configuration file

Une fois configuré, l'exécution de B<po4a> analysera votre documentation,
mettra à jour le fichier modèle POT, l'utilisera pour actualiser les
fichiers de traduction PO, qui permettront à leur tour de générer les
fichiers de traduction de la documentation mis à jour. Tout cela en une
seule commande :

        po4a --verbose po4a.cfg

C’est tout. B<po4a> est maintenant entièrement configuré. Une fois que vous
aurez corrigé votre erreur dans F<man/chapi.1>, le paragraphe incriminé dans
la traduction allemande sera remplacé par le texte corrigé en
anglais. Mélanger les langues n’est pas optimal, mais c’est le seul moyen de
supprimer les erreurs dans les traductions que vous ne comprenez pas et de
vous assurer que les contenus publié ne sont jamais erronés. La mise à jour
de la traduction allemande est également beaucoup plus facile dans le
fichier PO correspondant, de sorte que le mélimélo linguistique peut ne pas
durer longtemps. Enfin, lorsque l'équipe de traduction japonaise voudra
proposer une nouvelle traduction, elle devra renommer fichier S<chapi.pot>
en S<ja.po>, puis effectuer la traduction. Une fois le fichier en votre
possession, déposez-le simplement dans F<man/po4a/po/>. La page traduite
apparaitra sous la forme F<man/translated/chapi.ja.1> (à condition que
suffisamment de contenu soit traduit) lorsque vous exécuterez B<po4a> à
nouveau.

=head1 OPTIONS

=over 4

=item B<-k>, B<--keep>

Seuil à dépasser afin que le fichier généré soit conservé et écrit sur
disque (80 par défaut). C’est-à-dire que par défaut, les fichiers générés
doivent être traduits à plus de 80% pour être écrits sur le disque.

=item B<-w>, B<--width>

Column at which we should wrap the resulting file if the format supports it
(default: 76).  If the provided value is 0 or negative, then the resulting
file will not be wraped at all.  This is useful with some formats that could
break when rewraped.

=item B<-h>, B<--help>

Affiche un message d’aide.

=item B<-M>, B<--master-charset>

Jeu de caractères des fichiers contenant les documents à traduire. Notez que
tous les fichiers d'origine doivent utiliser le même jeu de caractères.

=item B<-L>, B<--localized-charset>

Jeu de caractères des fichiers contenant les documents traduits. Notez que
tous les documents traduits doivent utiliser le même jeu de caractères.

=item B<-A>, B<--addendum-charset>

Jeu de caractères des addendas. Notez que tous les ajouts doivent partager
le même jeu de caractères.

=item B<-V>, B<--version>

Affiche la version du script et quitte.

=item B<-v>, B<--verbose>

Rend le programme plus bavard.

=item B<-q>, B<--quiet>

Rend le programme moins bavard.

=item B<-d>, B<--debug>

Affiche quelques informations de débogage.

=item B<-o>, B<--option>

Passe une ou des options supplémentaires au greffon de format. Référez-vous
à la documentation de chaque greffon pour la liste des options valides et
leurs significations. Par exemple, vous pourriez passer « -o tablecells » à
l'analyseur AsciiDoc, tandis que l'analyseur de texte accepterait « -o
tabs=split ».

=item B<-f>, B<--force>

Génère toujours les fichiers POT et PO, même si B<po4a> considère que ce
n’est pas nécessaire.

Le comportement par défaut (quand l’option B<--force> n’est pas utilisée)
est le suivant :

=over

Si le fichier POT existe déjà, il est recréé si un document d'origine ou le
fichier de configuration est plus récent (sauf si l'option B<--no-update>
est utilisée). De plus, le fichier POT est écrit dans un document
temporaire, et B<po4a> vérifie que les modifications valent le coup.

De plus, une traduction est mise à jour seulement si le document d'origine,
le fichier PO, un de ses addendas ou le fichier de configuration est plus
récent. Pour éviter de retenter de créer une traduction qui ne passe pas le
test du seuil (voir l’option B<--keep>), un fichier avec une extension
F<.po4a-stamp> peut être créé (voir l’option B<--stamp>).

=back

Si un document d'origine inclut d’autres fichiers, vous devriez utiliser
l’option B<--force> parce que les dates de modification de ces fichiers ne
sont pas prises en compte.

Les fichiers PO sont toujours recréés en fonction du POT avec B<msgmerge
-U>.

=item B<--stamp>

Indique à B<po4a> de créer des fichiers d’horodatage quand une traduction
n’a pas été générée parce qu’elle ne dépasse pas le seuil de traduction. Ces
fichiers d’horodatage sont nommés en ajoutant l’extension F<.po4a-stamp> au
nom du fichier à générer.

Note : Cette option ne concerne que la création des fichiers
F<.po4a-stamp>. Ces fichiers d’horodatage sont toujours utilisés s’ils
existent et sont retirés quand l’option B<--rm-translations> est utilisée ou
quand le fichier est finalement traduit.

=item B<--no-translations>

Ne génère pas les documents traduits, ne met à jour que les fichiers POT et
PO.

=item B<--no-update>

Ne modifiez pas les fichiers POT et PO, seule la traduction peut être
changée.

=item B<--keep-translations>

Garde les traductions existantes même si la traduction ne satisfait pas le
seuil spécifié par B<--keep>. Cette option ne va pas créer de fichiers peu
traduits, mais elle préservera les fichiers existants dont la quantité de
traduction décroit à cause de changements dans les fichiers d'origine.

ATTENTION ! Cette option change profondément le comportement de po4a. Vos
fichiers traduits ne seront plus modifiés jusqu'à ce que la traduction soit
améliorée. N'utilisez cette option que si vous préférez distribuer une
traduction obsolète bien traduite plutôt qu'une traduction à jour, mais mal
traduite.

=item B<--rm-translations>

Supprime les documents traduits (implique B<--no-translations>).

=item B<--no-backups>

Cette option ne fait rien depuis la version 0.41, et pourra être enlevée des
prochaines versions.

=item B<--rm-backups>

Cette option ne fait rien depuis la version 0.41, et pourra être enlevée des
prochaines versions.

=item B<--translate-only> I<fichier-traduit>

Traduit uniquement le fichier indiqué. Il est parfois utile d’accélérer le
processus si le fichier de configuration contient beaucoup de
fichiers. Remarquez qu’avec cette option, les fichiers PO et POT ne seront
pas mis à jour. Cette option peut être utilisée plusieurs fois.

=item B<--variable> I<var>B<=>I<valeur>

Définit une variable dont toutes les occurrences seront remplacées dans le
fichier de configuration de B<po4a>. Les occurrences de I<$(var)> seront
remplacées par I<valeur>. Cette option peut être utilisée plusieurs fois.

=item B<--target-lang> I<LANG>

Update PO files and generate translated documents only for the specified
language. This option can be used multiple times.

=item B<--srcdir> I<RÉP_SRC>

Définit le répertoire de base pour tous les documents d’entrée indiqués dans
le fichier de configuration de B<po4a>.

Si I<destdir> et I<srcdir> sont renseignés, les fichiers d’entrée sont
cherchés dans les dossiers suivants et dans cet ordre : I<destdir>, le
dossier courant et I<srcdir>. Les fichiers de sortie sont écrits dans
I<destdir> si renseigné, sinon dans le dossier courant.

=item B<--destdir> I<RÉP_DEST>

Définit le répertoire de base pour tous les documents de sortie indiqués
dans le fichier de configuration de B<po4a> (voir B<--srcdir> ci-dessus).

=back

=head2 Options modifiant l’en-tête du POT

=over 4

=item B<--porefs> I<type>

Indique le format des références. L’argument I<type> peut-être B<never> pour
ne pas produire de référence, B<file> pour n’indiquer que le fichier sans le
numéro de ligne, B<counter> pour remplacer le numéro de ligne par un
décompte croissant, et B<full> pour inclure des références complètes (par
défaut, la valeur full est utilisée).

=item B<--wrap-po> B<no>|B<newlines>|I<nombre> (par défaut : 76)

Détermine la façon de formater le fichier po. Cela donne le choix entre des
fichiers joliment reformatés mais pouvant mener à des conflits git, ou des
fichiers plus facile à prendre en main automatiquement, mais plus difficile
à lire pour les humains.

Historiquement, la suite gettext a formaté les fichiers po à la 77e colonne
pour des raisons cosmétiques. Cette option indique le comportement de
po4a. Si défini en tant qu’entier, po4a va restreindre la largeur du fichier
après cette colonne et après les nouvelles lignes de contenu. Si défini à
B<newlines>, po4a ne séparera les msgit et msgstr qu’après les nouvelles
lignes dans le contenu. Si défini à B<no>, po4a ne restreindra pas du tout
le fichier. Les commentaires de référence sont toujours limités par les
outils gettext que nous utilisons en interne.

Veuillez noter que cette option n’a pas d’impact sur la façon dont les msgid
et msgstr sont renvoyées, c'est-à-dire sur la façon dont les nouvelles
lignes sont ajoutées au contenu de ces chaînes.

=item B<--master-language>

Langue des fichiers source contenant les documents à traduire. Notez que
tous les fichiers d'origine doivent partager la même langue.

=item B<--msgid-bugs-address> B<adresse@email>

Fixe l’adresse à laquelle les bogues des msgid doivent être envoyés. Par
défaut, les fichiers POT créés n’ont pas de champ Report-Msgid-Bugs-To.

=item B<--copyright-holder> I<chaîne>

Fixe le détenteur du copyright dans l’en-tête du fichier POT. La valeur par
défaut est « Free Software Foundation, Inc. ».

=item B<--package-name> I<chaîne>

Fixe le nom du paquet pour l’en-tête du fichier POT. La valeur par défaut
est « PACKAGE ».

=item B<--package-version> I<chaîne>

Fixe la version du paquet pour l’en-tête du fichier POT. La valeur par
défaut est « VERSION ».

=back

=head2 Options de modification des fichiers PO

=over 4

=item B<--msgmerge-opt> I<options>

Options additionnelles pour B<msgmerge>(1).

Note : B<$lang> sera remplacé par la langue en cours.

=item B<--no-previous>

Cette option supprime B<--previous> des options passées à B<msgmerge>. Elle
est nécessaire pour la prise en charge des versions de B<gettext>
antérieures à 0.16.

=item B<--previous>

Cette option ajoute B<--previous> aux options passées à B<msgmerge>. Elle
nécessite une version 0.16 ou ultérieure de B<gettext> et est activée par
défaut.

=back

=head1 FICHIER DE CONFIGURATION

po4a attend un fichier de configuration en paramètre. Ce fichier doit
contenir les éléments suivants :

=over

=item

Le chemin vers les fichiers PO et la liste des langues existantes dans le
projet ;

=item

En option, quelques options globales et ce qu’on appelle des alias de
configuration utilisés en tant que modèles pour configurer des fichiers
d'origine individuels ;

=item

La liste de chaque fichier d'origine à traduire, avec les paramètres
spécifiques.

=back

Toutes les lignes contiennent une commande entre crochets, suivie de ses
paramètres. Les commentaires commencent par le caractère «#» et vont jusqu'à
la fin de la ligne. Vous pouvez échapper la fin de la ligne (avec \) pour
étaler une commande sur plusieurs lignes.

Quelques exemples complets sont présentés sur cette page, tandis que
d'autres exemples peuvent être trouvés dans le répertoire C<t/cfg> de la
distribution source.

=head2 Trouver les fichiers PO et POT

La solution la plus simple est de donner explicitement le chemin des
fichiers POT et PO, comme ceci :

 [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po

Cela spécifie d'abord le chemin d'accès au fichier POT, puis les chemins
d'accès aux fichiers PO allemand et français.

La même information peut être écrite comme suit pour réduire le risque
d'erreurs de copier/coller :

 [po4a_langs] fr de
 [po4a_paths] man/po/project.pot $lang:man/po/$lang.po

L'élément C<$lang> est automatiquement développé à l'aide de la liste des
langues fournie, ce qui réduit le risque d'erreur de copier/coller
lorsqu'une nouvelle langue est ajoutée.

Vous pouvez en outre compacter les mêmes informations en fournissant
uniquement le chemin d'accès au répertoire contenant votre projet de
traduction, comme suit.

 [po_directory] man/po/

Le répertoire fourni doit contenir un ensemble de fichiers PO, nommés
F<XX.po>, C<XX> étant le code ISO 639-1 de la langue utilisée dans ce
fichier. Le répertoire doit également contenir un seul fichier POT, avec
l'extension de fichier C<.pot>. Pour la première exécution, ce fichier peut
être vide, mais il doit exister (po4a ne peut pas deviner le nom à utiliser
avant l'extension).

Notez bien que vous devez choisir entre C<po_directory> et C<po4a_paths>. Le
premier (C<po_directory>) est plus compact, réduit le risque d'erreur de
copier/coller, mais vous oblige à utiliser la structure de projet et les
noms de fichiers attendus. Le second (C<po4a_paths>), est plus explicite,
probablement plus lisible, et conseillé lorsque vous configurez votre
premier projet avec po4a.

=head3 Fichier PO unique ou fractionné ?

Par défaut, po4a produit un seul fichier PO par langue cible, contenant tout
le contenu de votre projet de traduction. À mesure que votre projet se
développe, la taille de ces fichiers peut devenir problématique. Lors de
l'utilisation de weblate, il est possible de spécifier des priorités pour
chaque segment de traduction (c'est-à-dire, msgid) afin que les plus
importants soient traduits en premier. Toutefois, certaines équipes de
traduction préfèrent diviser le contenu en plusieurs fichiers.

Pour avoir un fichier PO par fichier d'origine, il vous suffit d'utiliser la
chaine C<$master> dans le nom de vos fichiers PO sur la ligne
C<[po4a_paths]>, comme suit.

 [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po

Avec cette ligne, po4a produira des fichiers POT et PO séparés pour chaque
document à traduire.  Par exemple, si vous avez 3 documents et 5 langues,
vous obtiendrez 3 fichiers POT et 15 fichiers PO. Ces fichiers sont nommés
comme indiqué dans le modèle C<po4a_paths>, avec C<$master> substitué au nom
de base de chaque document à traduire. En cas de conflit de noms, vous
pouvez spécifier le fichier POT à utiliser comme suit, avec le paramètre
C<pot=>.

Cette fonction peut également être utilisée pour regrouper plusieurs
fichiers traduits dans un même fichier POT. L'exemple suivant ne produit que
deux fichiers POT : F<l10n/po/chapi.pot> (contenant le matériel de
F<chapi/gui.xml>) et F<l10n/po/chapo.pot> (contenant le matériel de
F<chapo/gui.xml> et F<chapo/cli.xml>).

 [po4a_langs] de fr ja
 [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po
 [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml pot=foo
 [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml pot=bar
 [type: xml] bar/cli.xml $lang:bar/cli.$lang.xml pot=bar

En mode réparti, B<po4a> construit un compendium temporaire pendant la mise
à jour des PO afin de partager les traductions entre l’ensemble des fichiers
PO. Si deux fichiers PO ont des traductions différentes pour la même chaine,
B<po4a> marquera ces deux chaines comme étant approximatives (I<fuzzy>) et
ajoutera les deux traductions dans tous les fichiers PO contenant cette
chaine. Une fois corrigée par les équipes de traduction, la traduction sera
automatiquement utilisée dans tous les fichiers PO.

=head2 Spécification des documents à traduire

Vous devez également lister les documents à traduire. Pour chaque fichier
d'origine, vous devez spécifier l'analyseur de format à utiliser,
l'emplacement du document traduit et éventuellement une configuration. Les
noms de fichiers devraient être fournis entre guillemets ou en utilisant des
séquences d'échappement s'ils contiennent des espaces. Voici un exemple :

 [type: sgml] "doc/my stuff.sgml"  "fr:doc/fr/mon truc.sgml"  de:doc/de/mein\ kram.sgml
 [type: man] script fr:doc/fr/script.1 de:doc/de/script.1
 [type: docbook] doc/script.xml fr:doc/fr/script.xml \
             de:doc/de/script.xml

Mais là aussi, ces lignes complexes sont difficiles à lire et à modifier,
par ex. lors de l'ajout d'une nouvelle langue. Il est beaucoup plus simple
de réorganiser les choses en utilisant le modèle C<$lang> comme ceci :

 [type: sgml]    doc/my_stuff.sgml $lang:doc/$lang/my_stuff.sgml
 [type: man]     script.1          $lang:po/$lang/script.1
 [type: docbook] doc/script.xml    $lang:doc/$lang/script.xml

=head2 Renseigner les options

Il y a deux types d'options : les I<options po4a> sont les valeurs par
défaut des options de ligne de commande po4a tandis que les I<options de
format> sont utilisées pour changer le comportement des analyseurs de
format. En tant qu'I<options po4a>, vous pouvez par exemple spécifier dans
votre fichier de configuration que la valeur par défaut du paramètre de
ligne de commande B<--keep> est 50% au lieu de 80%. Les <Options de format>
sont documentées sur la page spécifique de chaque module d'analyse, par
ex. L<Locale::Po4a::Xml(3pm)>. Vous pouvez par exemple passer B<nostrip> à
l'analyseur XML pour ne pas supprimer les espaces autour des chaînes
extraites.

Vous pouvez transmettre ces options pour un fichier d'origine spécifique, ou
même pour une traduction spécifique de ce fichier, en utilisant C<opt:> et
C<opt_XX:> pour la langue C<XX>. Dans l'exemple suivant, l'option B<nostrip>
est passée à l'analyseur XML (pour toutes les langues), tandis que le seuil
sera réduit à 0% pour la traduction française (qui est donc toujours
conservée).

 [type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_fr:"--keep 0"

Dans tous les cas, ces blocs de configuration doivent être situés à la fin
de la ligne. La déclaration des fichiers doit venir en premier, puis
l'addendum le cas échéant (voir plus loin), et ensuite seulement les
options. Le regroupement des blocs de configuration n'est pas très
important, car les éléments sont concaténés en interne sous forme de
chaines. Les exemples suivants sont tous équivalents :

  [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20" opt:"-o nostrip" opt_fr:"--keep 0"
  [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20 -o nostrip" opt_fr:"--keep 0"
  [type:xml] toto.xml $lang:toto.$lang.xml opt:--keep opt:20 opt:-o opt:nostrip opt_fr:--keep opt_fr:0

Notez que les options spécifiques à la langue ne sont pas utilisées lors de
la création du fichier POT. Il est par exemple impossible de passer
B<nostrip> à l'analyseur uniquement lors de la construction de la traduction
française, car le même fichier POT est utilisé pour mettre à jour toutes les
langues. Ainsi, les seules options qui peuvent être spécifiques à la langue
sont celles qui sont utilisées lors de la production de la traduction, comme
l'option C<--keep>.

=head3 Configuration des alias

Pour transmettre les mêmes options à plusieurs fichiers, le mieux est de
définir un alias de type comme suit. Dans l'exemple suivant, C<--keep 0> est
passé à chaque traduction italienne en utilisant ce type C<test>, qui est
une extension du type C<man>.

  [po4a_alias:test] man opt_it:"--keep 0"
  [type: test] man/page.1 $lang:man/$lang/page.1

Vous pouvez également étendre un type existant en réutilisant le même nom
pour l'alias comme suit. Cela n’est pas interprété en tant que définition
récursive erronée.

  [po4a_alias:man] man opt_it:"--keep 0"
  [type: man] man/page.1 $lang:man/$lang/page.1

=head3 Options globales par défaut

Vous pouvez également utiliser les lignes d’C<[options]> pour définir des
options devant être utilisées pour tous les fichiers, indépendamment de leur
type.

  [options] --keep 20 --option nostrip

Comme pour les options en ligne de commande, vous pouvez abréger les
paramètres passés dans le fichier de configuration :

  [options] -k 20 -o nostrip

=head3 Priorités des options

Les options de toutes les sources sont concaténées, assurant que les valeurs
par défaut puissent facilement être remplacées par des options plus
spécifiques. L’ordre est le suivant :

=over

=item

Les lignes C<[options]> fournissent les valeurs par défaut pouvant être
remplacées par n’importe quelle autre source.

=item

Puis les alias de types sont utilisés. Les paramètres spécifiques de langue
remplacent ceux applicables à toutes les langues.

=item

Les paramètres qui sont spécifiques à un fichier master remplacent les
valeurs par défaut et celles venant du type alias. Dans ce cas également,
les paramètres spécifiques de langue remplacent les valeurs globales.

=item

Enfin, les paramètres fournis via la ligne de commande B<po4a> remplacent
tout paramètre du fichier de configuration.

=back

=head3 Exemple

Voici un exemple montrant comment renseigner les espaces et apostrophes :

 [po_directory] man/po/
 
 [options] --master-charset UTF-8
 
 [po4a_alias:man] man opt:"-o \"mdoc=NAME,SEE ALSO\""
 [type:man] t-05-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \
            opt:"-k 75" opt_it:"-L UTF-8" opt_fr:--verbose

=head2 Addendum : Ajouter des contenus dans la traduction

Si vous souhaitez ajouter une section supplémentaire à la traduction, par
exemple pour mentionner les équipes de traduction, vous devez définir un
addendum à la ligne définissant votre fichier d'origine. Référez-vous à la
page L<po4a(7)> pour en savoir plus sur la syntaxe des fichiers addendum.

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

Vous pouvez également utiliser des modèles de langue comme suit :

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

Si l'application d'un addendum échoue, la traduction est rejetée.

=head3 Modificateurs pour la déclaration d'un addendum

Les modificateurs d'addendum peuvent simplifier le fichier de configuration
dans le cas où toutes les langues ne fournissent pas d'addendum, ou lorsque
la liste des addendas change d'une langue à l'autre. Le modificateur est un
seul caractère situé avant le nom du fichier.

=over 2

=item B<?>

Inclure l’I<addendum> si le fichier existe, rien sinon.

=item B<@>

I<addendum> n’est pas un fichier addendum normal, mais un fichier contenant
une liste d’addendas, un par ligne. Chaque addendum peut être précédé de
modificateurs.

=item B<!>

I<addendum> n’est pas pris en compte, il n’est pas chargé et ne le sera pas
lors de toute autre indication d’addendum.

=back

Ce qui suit inclut un addendum dans n'importe quelle langue, mais seulement
s'il existe. Aucune erreur n'est signalée si l'addendum n'existe pas.

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

Ce qui suit inclut un addendum pour chaque langue :

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

=head2 Filtrer les chaines traduites

Parfois, vous souhaitez masquer certaines chaines au processus de
traduction. Pour cela, vous pouvez donner un paramètre C<pot_in> à votre
fichier d'origine pour spécifier le nom du fichier à utiliser à la place du
vrai fichier d'origine lors de la construction du fichier POT. Voici un
exemple :

  [type:docbook] book.xml          \
          pot_in:book-filtered.xml \
          $lang:book.$lang.xml

Avec ce paramètre, les chaînes à traduire seront extraites du
F<book-filtered.xml> (qui doit être créé avant d'appeler B<po4a>) tandis que
les fichiers traduits seront construits à partir de F<book.xml>. Par
conséquent, toute chaîne qui fait partie de F<book.xml> mais pas de
F<book-filtered.xml> ne sera pas incluse dans les fichiers PO, empêchant les
équipes de traduction de fournir une traduction qui leur corresponde. Ainsi,
ces chaînes ne seront pas modifiées lors de la production des documents
traduits. Cela diminue naturellement le niveau de traduction, vous pouvez
donc avoir besoin de l'option C<--keep> pour vous assurer que le document
est produit dans tous les cas.

=head1 VOIR AUSSI

L<po4a-gettextize(1)>, L<po4a(7)>.

=head1 AUTEURS

 Denis Barbier <barbier@linuxfr.org>
 Nicolas François <nicolas.francois@centraliens.net>
 Martin Quinson (mquinson#debian.org)


=head1 TRADUCTION

 Martin Quinson (mquinson#debian.org)

=head1 COPYRIGHT ET LICENCE

Copyright 2002-2023 SPI, inc.

Ce programme est un logiciel S<libre ;> vous pouvez le copier et / ou le
modifier sous les termes de la GPL v2.0 ou suivante (voir le fichier
COPYING).
