Provided by: po4a_0.73-2ubuntu1_all 

NOM
po4a - Mettre à jour à la fois les fichiers PO et les documents traduits
SYNOPSIS
po4a [options] fichier_de_configuration
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 po4a(7) pour une introduction
en douceur à ce projet.
Lors de son exécution, 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 po4a. Si la documentation est modifiée après la traduction, 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.
documents d'origine ----+---->-------->----------+
(écriture) | |
V (exécutions de po4a) >-----+--> documents
| | | traduits
fichiers PO existants -->--> fichiers PO mis à jour >--+ |
^ | |
| V |
+----------<---------<-------+ ^
(processus de traduction manuelle) |
|
addendum -->-----------------------------------------+
Le flux de travail de 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 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 --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
weblate, mais cela est bien entendu totalement facultatif.
Tutoriel de démarrage rapide
Supposons que vous mainteniez un programme nommé chapi ayant une page de manuel man/chapi.1 écrite en
anglais (la langue passerelle dans la plupart des projets libres, mais 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
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 à 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 po4a-gettextize, comme suit. Tel que détaillé dans la documentation de po4a-gettextize(1), ce
processus est rarement entièrement automatique. En revanche, une fois réalisé, le fichier de.po contenant
la traduction allemande peut être intégré dans votre flux de travail po4a.
po4a-gettextize --format man --master chapi.1 --localized chapi.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/chapi.1 $lang:man/translated/chapi.$lang.1
Elle spécifie que tous les fichiers PO (contenant le travail des équipes de traduction) se trouvent dans
le répertoire man/po4a/, et que vous n'avez qu'un seul fichier d'origine, 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
man/chapi.1 se trouve dans man/translated/chapi.de.1.
La dernière chose dont nous avons besoin pour terminer la configuration de 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 .pot dans le répertoire po_directory spécifié (par exemple
man/po4a/chapi.pot), et po4a le remplira avec le contenu attendu.
Voici un récapitulatif des fichiers de cette configuration :
├── man/
│ ├── chapi.1 ← La page de manuel originale, en anglais.
│ ├── po4a/
│ │ ├── de.po ← Le fichier PO en allemand, issu de la gettextisation.
│ │ └── chapi.pot ← Le modèle POT pour les traductions futures (vide au départ).
│ └── translated/ ← Répertoire où les fichiers de traduction seront créés.
└── po4a.cfg ← Le fichier de configuration.
Une fois configuré, l'exécution de 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 po4a.cfg
C’est tout. po4a est maintenant entièrement configuré. Une fois que vous aurez corrigé votre erreur dans
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 chapi.pot en
ja.po, puis effectuer la traduction. Une fois le fichier en votre possession, déposez-le simplement dans
man/po4a/po/. La page traduite apparaitra sous la forme man/translated/chapi.ja.1 (à condition que
suffisamment de contenu soit traduit) lorsque vous exécuterez po4a à nouveau.
OPTIONS
-k, --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.
-w, --width
Nombre de colonnes dans le fichier de sortie, si le format le prend en charge (par défaut : 76).
-h, --help
Affiche un message d’aide.
-M, --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.
-L, --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.
-A, --addendum-charset
Jeu de caractères des addendas. Notez que tous les ajouts doivent partager le même jeu de caractères.
-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 débogage.
-o, --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 ».
-f, --force
Génère toujours les fichiers POT et PO, même si po4a considère que ce n’est pas nécessaire.
Le comportement par défaut (quand l’option --force n’est pas utilisée) est le suivant :
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 --no-update est utilisée). De plus, le fichier
POT est écrit dans un document temporaire, et 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 --keep), un fichier avec une
extension .po4a-stamp peut être créé (voir l’option --stamp).
Si un document d'origine inclut d’autres fichiers, vous devriez utiliser l’option --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 msgmerge -U.
--stamp
Indique à 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 .po4a-stamp au nom du fichier à générer.
Note : Cette option ne concerne que la création des fichiers .po4a-stamp. Ces fichiers d’horodatage
sont toujours utilisés s’ils existent et sont retirés quand l’option --rm-translations est utilisée
ou quand le fichier est finalement traduit.
--no-translations
Ne génère pas les documents traduits, ne met à jour que les fichiers POT et PO.
--no-update
Ne modifiez pas les fichiers POT et PO, seule la traduction peut être changée.
--keep-translations
Garde les traductions existantes même si la traduction ne satisfait pas le seuil spécifié par --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.
--rm-translations
Supprime les documents traduits (implique --no-translations).
--no-backups
Cette option ne fait rien depuis la version 0.41, et pourra être enlevée des prochaines versions.
--rm-backups
Cette option ne fait rien depuis la version 0.41, et pourra être enlevée des prochaines versions.
--translate-only 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.
--variable var=valeur
Définit une variable dont toutes les occurrences seront remplacées dans le fichier de configuration
de po4a. Les occurrences de $(var) seront remplacées par valeur. Cette option peut être utilisée
plusieurs fois.
--srcdir 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 po4a.
Si destdir et srcdir sont renseignés, les fichiers d’entrée sont cherchés dans les dossiers suivants
et dans cet ordre : destdir, le dossier courant et srcdir. Les fichiers de sortie sont écrits dans
destdir si renseigné, sinon dans le dossier courant.
--destdir RÉP_DEST
Définit le répertoire de base pour tous les documents de sortie indiqués dans le fichier de
configuration de po4a (voir --srcdir ci-dessus).
Options modifiant l’en-tête du POT
--porefs type
Indique le format des références. L’argument type peut-être never pour ne pas produire de référence,
file pour n’indiquer que le fichier sans le numéro de ligne, counter pour remplacer le numéro de
ligne par un décompte croissant, et full pour inclure des références complètes (par défaut, la valeur
full est utilisée).
--wrap-po no|newlines|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 à newlines, po4a ne séparera les msgit et msgstr qu’après les nouvelles lignes dans le
contenu. Si défini à 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.
--master-language
Langue des fichiers source contenant les documents à traduire. Notez que tous les fichiers d'origine
doivent partager la même langue.
--msgid-bugs-address 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.
--copyright-holder 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. ».
--package-name chaîne
Fixe le nom du paquet pour l’en-tête du fichier POT. La valeur par défaut est « PACKAGE ».
--package-version chaîne
Fixe la version du paquet pour l’en-tête du fichier POT. La valeur par défaut est « VERSION ».
Options de modification des fichiers PO
--msgmerge-opt options
Options additionnelles pour msgmerge(1).
Note : $lang sera remplacé par la langue en cours.
--no-previous
Cette option supprime --previous des options passées à msgmerge. Elle est nécessaire pour la prise en
charge des versions de gettext antérieures à 0.16.
--previous
Cette option ajoute --previous aux options passées à msgmerge. Elle nécessite une version 0.16 ou
ultérieure de gettext et est activée par défaut.
FICHIER DE CONFIGURATION
po4a attend un fichier de configuration en paramètre. Ce fichier doit contenir les éléments suivants :
• Le chemin vers les fichiers PO et la liste des langues existantes dans le projet ;
• 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 ;
• La liste de chaque fichier d'origine à traduire, avec les paramètres spécifiques.
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 "t/cfg" de la distribution source.
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 $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 XX.po, "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 ".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 "po_directory" et "po4a_paths". Le premier ("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 ("po4a_paths"), est plus explicite, probablement plus
lisible, et conseillé lorsque vous configurez votre premier projet avec po4a.
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 $master dans le nom
de vos fichiers PO sur la ligne "[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 "po4a_paths", avec $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 "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 : l10n/po/chapi.pot (contenant le
matériel de chapi/gui.xml) et l10n/po/chapo.pot (contenant le matériel de chapo/gui.xml et
chapo/cli.xml).
[po4a_langs] de fr ja
[po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po
[type: xml] chapi/gui.xml $lang:chapi/gui.$lang.xml pot=chapi
[type: xml] chapo/gui.xml $lang:chapo/gui.$lang.xml pot=chapo
[type: xml] chapo/cli.xml $lang:chapo/cli.$lang.xml pot=chapo
En mode réparti, 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, po4a marquera ces deux chaines comme étant approximatives (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.
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 $lang comme
ceci :
[type: sgml] doc/mon_truc.sgml $lang:doc/$lang/mon_truc.sgml
[type: man] script.1 $lang:po/$lang/script.1
[type: docbook] doc/script.xml $lang:doc/$lang/script.xml
Renseigner les options
Il y a deux types d'options : les options po4a sont les valeurs par défaut des options de ligne de
commande po4a tandis que les options de format sont utilisées pour changer le comportement des analyseurs
de format. En tant qu'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 --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.
Locale::Po4a::Xml(3pm). Vous pouvez par exemple passer 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 "opt:" et "opt_XX:" pour la langue "XX". Dans l'exemple suivant,
l'option 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 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 "--keep".
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, "--keep 0" est passé à chaque traduction italienne en utilisant ce type
"test", qui est une extension du type "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
Options globales par défaut
Vous pouvez également utiliser les lignes d’"[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
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 :
• Les lignes "[options]" fournissent les valeurs par défaut pouvant être remplacées par n’importe
quelle autre source.
• Puis les alias de types sont utilisés. Les paramètres spécifiques de langue remplacent ceux
applicables à toutes les langues.
• 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.
• Enfin, les paramètres fournis via la ligne de commande po4a remplacent tout paramètre du fichier de
configuration.
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
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 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.
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.
? Inclure l’addendum si le fichier existe, rien sinon.
@ 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.
! addendum n’est pas pris en compte, il n’est pas chargé et ne le sera pas lors de toute autre indication
d’addendum.
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
Filtrer les chaines traduites
Parfois, vous souhaitez masquer certaines chaines au processus de traduction. Pour cela, vous pouvez
donner un paramètre "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 book-filtered.xml (qui doit être créé avant
d'appeler po4a) tandis que les fichiers traduits seront construits à partir de book.xml. Par conséquent,
toute chaîne qui fait partie de book.xml mais pas de 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 "--keep" pour vous
assurer que le document est produit dans tous les cas.
VOIR AUSSI
po4a-gettextize(1), po4a(7).
AUTEURS
Denis Barbier <barbier@linuxfr.org>
Nicolas François <nicolas.francois@centraliens.net>
Martin Quinson (mquinson#debian.org)
TRADUCTION
Martin Quinson (mquinson#debian.org)
COPYRIGHT ET LICENCE
Copyright 2002-2023 SPI, inc.
Ce programme est un logiciel libre ; vous pouvez le copier et / ou le modifier sous les termes de la GPL
v2.0 ou suivante (voir le fichier COPYING).
perl v5.38.2 2024-08-28 PO4A.1P(1)