PO4A.1P(1) User Contributed Perl Documentation PO4A.1P(1) NOM po4a - Mettre a jour a 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 caracteristique de po4a est qu'il decouple la traduction du contenu de la structure du document. Referez-vous a la page po4a(7) pour une introduction en douceur a ce projet. Lors de son execution, po4a analyse tous les fichiers de documentation specifies dans son fichier de configuration. Il met a jour les fichiers PO (contenant les traductions) pour refleter toute modification de la documentation, et genere une documentation traduite en injectant la traduction du contenu (trouvee dans les fichiers PO) dans la structure du document d'origine. Dans un premier temps, les fichiers PO ne contiennent que les chaines a traduire de la documentation originale. Ce format de fichier permet aux equipes de traduction de fournir manuellement une traduction pour chaque paragraphe extrait par po4a. Si la documentation est modifiee apres la traduction, po4a marque les traductions correspondantes comme << approximatives >> (<< fuzzy >>) dans le fichier PO pour demander une revision manuelle par les equipes de traductions. Celles-ci peuvent egalement fournir ce que l'on appelle des << addendas >>, qui sont des contenus supplementaires indiquant, par exemple, qui a effectue la traduction et comment signaler les bogues. documents d'origine ----+---->-------->----------+ (ecriture) | | V (executions de po4a) >-----+--> documents | | | traduits fichiers PO existants -->--> fichiers PO mis a jour >--+ | ^ | | | V | +----------<---------<-------+ ^ (processus de traduction manuelle) | | addendum -->-----------------------------------------+ Le flux de travail de po4a est asynchrone, comme il convient aux projets de logiciels libres. Les redacteurs de la documentation redigent les documents d'origine a leur propre rythme. Les equipes de traduction revisent et actualisent les traductions dans les fichiers PO. Les responsables executent po4a de nouveau au besoin, pour refleter toute modification de la documentation originale dans les fichiers PO, et pour produire des traductions de documentation mises a jour, en injectant la derniere traduction dans la derniere structure de document. Par defaut, un document traduit est produit lorsqu'au moins 80 % de son contenu est traduit. Le texte non traduit est conserve dans la langue d'origine. La documentation produite melange donc les langues si la traduction n'est pas complete. Vous pouvez modifier le seuil de 80% avec l'option --keep decrite ci-dessous. Notez cependant qu'ecarter les traductions des qu'elles ne sont pas completes a 100% peut etre decourageant pour les equipes de traduction dont le travail ne sera presque jamais publie, tandis que montrer des traductions trop partielles peut etre troublant pour les personnes qui en dependent. Stocker les fichiers de documentation traduits dans le systeme de controle de version est probablement une mauvaise idee, puisqu'ils sont generes automatiquement. Les fichiers precieux sont les fichiers PO, qui contiennent le dur labeur de vos equipes 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 demarrage rapide Supposons que vous mainteniez un programme nomme chapi ayant une page de manuel man/chapi.1 ecrite en anglais (la langue passerelle dans la plupart des projets libres, mais po4a peut etre utilise depuis ou vers n'importe quelle langue). Il y a quelque temps, quelqu'un a fourni une traduction allemande nommee man/chapi.de.1 et a disparu. C'est un probleme, car vous venez de recevoir un rapport de bogue signalant une information gravement trompeuse devant etre corrigee 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 a une traduction en japonais, une langue que vous ne maitrisez pas non plus. Il est temps de convertir votre documentation a po4a pour resoudre vos cauchemars de maintenance de la documentation. Vous voulez actualiser la documentation lorsque cela est necessaire, faciliter le travail de vos equipes de traduction, et vous assurer qu'une documentation perimee et donc trompeuse n'est jamais publiee. La conversion comprend deux etapes : la mise en place de l'infrastructure po4a, et la conversion de la traduction allemande existante pour sauver le travail precedent. Cette derniere partie est effectuee en utilisant po4a-gettextize, comme suit. Tel que detaille dans la documentation de po4a-gettextize(1), ce processus est rarement entierement automatique. En revanche, une fois realise, le fichier de.po contenant la traduction allemande peut etre integre 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 appropriee des fichiers, votre fichier de configuration pourrait etre aussi simple que ceci : [po_directory] man/po4a/ [type: man] man/chapi.1 $lang:man/translated/chapi.$lang.1 Elle specifie que tous les fichiers PO (contenant le travail des equipes de traduction) se trouvent dans le repertoire 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 a la seconde. Chacune de ces lignes specifie egalement ou ecrire les fichiers de traduction correspondants. Ici, la traduction allemande de man/chapi.1 se trouve dans man/translated/chapi.de.1. La derniere chose dont nous avons besoin pour terminer la configuration de po4a est un fichier POT contenant le contenu modele qui doit etre utilise pour commencer une nouvelle traduction. Il suffit de creer un fichier vide avec l'extension .pot dans le repertoire po_directory specifie (par exemple man/po4a/chapi.pot), et po4a le remplira avec le contenu attendu. Voici un recapitulatif 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 modele POT pour les traductions futures (vide au depart). | translated/ <- Repertoire ou les fichiers de traduction seront crees. po4a.cfg <- Le fichier de configuration. Une fois configure, l'execution de po4a analysera votre documentation, mettra a jour le fichier modele POT, l'utilisera pour actualiser les fichiers de traduction PO, qui permettront a leur tour de generer les fichiers de traduction de la documentation mis a jour. Tout cela en une seule commande : po4a po4a.cfg C'est tout. po4a est maintenant entierement configure. Une fois que vous aurez corrige votre erreur dans man/chapi.1, le paragraphe incrimine dans la traduction allemande sera remplace par le texte corrige en anglais. Melanger 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 publie ne sont jamais errones. La mise a jour de la traduction allemande est egalement beaucoup plus facile dans le fichier PO correspondant, de sorte que le melimelo linguistique peut ne pas durer longtemps. Enfin, lorsque l'equipe 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, deposez-le simplement dans man/po4a/po/. La page traduite apparaitra sous la forme man/translated/chapi.ja.1 (a condition que suffisamment de contenu soit traduit) lorsque vous executerez po4a a nouveau. 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 sur le disque. -w, --width Nombre de colonnes dans le fichier de sortie, si le format le prend en charge (par defaut: 76). -h, --help Affiche un message d'aide. -M, --master-charset Jeu de caracteres des fichiers contenant les documents a traduire. Notez que tous les fichiers d'origine doivent utiliser le meme jeu de caracteres. -L, --localized-charset Jeu de caracteres des fichiers contenant les documents traduits. Notez que tous les documents traduits doivent utiliser le meme jeu de caracteres. -A, --addendum-charset Jeu de caracteres des addendas. 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. -o, --option Passe une ou des options supplementaires au greffon de format. Referez-vous a la documentation de chaque greffon pour la liste des options valides et leurs significations. Par exemple, vous pourriez passer << -o tablecells >> a l'analyseur AsciiDoc, tandis que l'analyseur de texte accepterait << -o tabs=split >>. -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 recree si un document d'origine ou le fichier de configuration est plus recent (sauf si l'option --no-update est utilisee). De plus, le fichier POT est ecrit dans un document temporaire, et po4a verifie que les modifications valent le coup. De plus, une traduction est mise a jour seulement si le document d'origine, le fichier PO, un de ses addendas ou le fichier de configuration est plus recent. Pour eviter de retenter de creer une traduction qui ne passe pas le test du seuil (voir l'option --keep), un fichier avec une extension .po4a-stamp peut etre cree (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 recrees en fonction du POT avec msgmerge -U. --stamp Indique a po4a de creer des fichiers d'horodatage quand une traduction n'a pas ete generee parce qu'elle ne depasse pas le seuil de traduction. Ces fichiers d'horodatage sont nommes en ajoutant l'extension .po4a-stamp au nom du fichier a generer. Note : Cette option ne concerne que la creation des fichiers .po4a-stamp. Ces fichiers d'horodatage sont toujours utilises s'ils existent et sont retires quand l'option --rm-translations est utilisee ou quand le fichier est finalement traduit. --no-translations Ne genere pas les documents traduits, ne met a jour que les fichiers POT et PO. --no-update Ne modifiez pas les fichiers POT et PO, seule la traduction peut etre changee. --keep-translations Garde les traductions existantes meme si la traduction ne satisfait pas le seuil specifie par --keep. Cette option ne va pas creer de fichiers peu traduits, mais elle preservera les fichiers existants dont la quantite de traduction decroit a cause de changements dans les fichiers d'origine. ATTENTION! Cette option change profondement le comportement de po4a. Vos fichiers traduits ne seront plus modifies jusqu'a ce que la traduction soit amelioree. N'utilisez cette option que si vous preferez distribuer une traduction obsolete bien traduite plutot qu'une traduction a 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 etre enlevee des prochaines versions. --rm-backups Cette option ne fait rien depuis la version 0.41, et pourra etre enlevee des prochaines versions. --translate-only fichier-traduit Traduit uniquement le fichier indique. Il est parfois utile d'accelerer 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 a jour. Cette option peut etre utilisee plusieurs fois. --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. --srcdir REP_SRC Definit le repertoire de base pour tous les documents d'entree indiques dans le fichier de configuration de po4a. Si destdir et srcdir sont renseignes, les fichiers d'entree sont cherches dans les dossiers suivants et dans cet ordre : destdir, le dossier courant et srcdir. Les fichiers de sortie sont ecrits dans destdir si renseigne, sinon dans le dossier courant. --destdir REP_DEST Definit le repertoire de base pour tous les documents de sortie indiques dans le fichier de configuration de po4a (voir --srcdir ci-dessus). Options modifiant l'en-tete du POT --porefs type Indique le format des references. L'argument type peut-etre never pour ne pas produire de reference, file pour n'indiquer que le fichier sans le numero de ligne, counter pour remplacer le numero de ligne par un decompte croissant, et full pour inclure des references completes (par defaut, la valeur full est utilisee). --wrap-po no|newlines|nombre (par defaut : 76) Determine la facon de formater le fichier po. Cela donne le choix entre des fichiers joliment reformates mais pouvant mener a des conflits git, ou des fichiers plus facile a prendre en main automatiquement, mais plus difficile a lire pour les humains. Historiquement, la suite gettext a formate les fichiers po a la 77e colonne pour des raisons cosmetiques. Cette option indique le comportement de po4a. Si defini en tant qu'entier, po4a va restreindre la largeur du fichier apres cette colonne et apres les nouvelles lignes de contenu. Si defini a newlines, po4a ne separera les msgit et msgstr qu'apres les nouvelles lignes dans le contenu. Si defini a no, po4a ne restreindra pas du tout le fichier. Les commentaires de reference sont toujours limites par les outils gettext que nous utilisons en interne. Veuillez noter que cette option n'a pas d'impact sur la facon dont les msgid et msgstr sont renvoyees, c'est-a-dire sur la facon dont les nouvelles lignes sont ajoutees au contenu de ces chaines. --master-language Langue des fichiers source contenant les documents a traduire. Notez que tous les fichiers d'origine doivent partager la meme langue. --msgid-bugs-address adresse@email Fixe l'adresse a laquelle les bogues des msgid doivent etre envoyes. Par defaut, les fichiers POT crees n'ont pas de champ Report-Msgid-Bugs-To. --copyright-holder chaine Fixe le detenteur du copyright dans l'en-tete du fichier POT. La valeur par defaut est << Free Software Foundation, Inc. >>. --package-name chaine Fixe le nom du paquet pour l'en-tete du fichier POT. La valeur par defaut est << PACKAGE >>. --package-version chaine Fixe la version du paquet pour l'en-tete du fichier POT. La valeur par defaut est << VERSION >>. Options de modification des fichiers PO --msgmerge-opt options Options additionnelles pour msgmerge(1). Note : $lang sera remplace par la langue en cours. --no-previous Cette option supprime --previous des options passees a msgmerge. Elle est necessaire pour la prise en charge des versions de gettext anterieures a 0.16. --previous Cette option ajoute --previous aux options passees a msgmerge. Elle necessite une version 0.16 ou ulterieure de gettext et est activee par defaut. FICHIER DE CONFIGURATION po4a attend un fichier de configuration en parametre. Ce fichier doit contenir les elements suivants : o Le chemin vers les fichiers PO et la liste des langues existantes dans le projet; o En option, quelques options globales et ce qu'on appelle des alias de configuration utilises en tant que modeles pour configurer des fichiers d'origine individuels; o La liste de chaque fichier d'origine a traduire, avec les parametres specifiques. Toutes les lignes contiennent une commande entre crochets, suivie de ses parametres. Les commentaires commencent par le caractere <<#>> et vont jusqu'a la fin de la ligne. Vous pouvez echapper la fin de la ligne (avec \) pour etaler une commande sur plusieurs lignes. Quelques exemples complets sont presentes sur cette page, tandis que d'autres exemples peuvent etre trouves dans le repertoire "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 specifie d'abord le chemin d'acces au fichier POT, puis les chemins d'acces aux fichiers PO allemand et francais. La meme information peut etre ecrite comme suit pour reduire le risque d'erreurs de copier/coller : [po4a_langs] fr de [po4a_paths] man/po/project.pot $lang:man/po/$lang.po L'element $lang est automatiquement developpe a l'aide de la liste des langues fournie, ce qui reduit le risque d'erreur de copier/coller lorsqu'une nouvelle langue est ajoutee. Vous pouvez en outre compacter les memes informations en fournissant uniquement le chemin d'acces au repertoire contenant votre projet de traduction, comme suit. [po_directory] man/po/ Le repertoire fourni doit contenir un ensemble de fichiers PO, nommes XX.po, "XX" etant le code ISO 639-1 de la langue utilisee dans ce fichier. Le repertoire doit egalement contenir un seul fichier POT, avec l'extension de fichier ".pot". Pour la premiere execution, ce fichier peut etre vide, mais il doit exister (po4a ne peut pas deviner le nom a utiliser avant l'extension). Notez bien que vous devez choisir entre "po_directory" et "po4a_paths". Le premier ("po_directory") est plus compact, reduit le risque d'erreur de copier/coller, mais vous oblige a utiliser la structure de projet et les noms de fichiers attendus. Le second ("po4a_paths"), est plus explicite, probablement plus lisible, et conseille lorsque vous configurez votre premier projet avec po4a. Fichier PO unique ou fractionne ? Par defaut, po4a produit un seul fichier PO par langue cible, contenant tout le contenu de votre projet de traduction. A mesure que votre projet se developpe, la taille de ces fichiers peut devenir problematique. Lors de l'utilisation de weblate, il est possible de specifier des priorites pour chaque segment de traduction (c'est-a-dire, msgid) afin que les plus importants soient traduits en premier. Toutefois, certaines equipes de traduction preferent 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 separes pour chaque document a traduire. Par exemple, si vous avez 3 documents et 5 langues, vous obtiendrez 3 fichiers POT et 15 fichiers PO. Ces fichiers sont nommes comme indique dans le modele "po4a_paths", avec $master substitue au nom de base de chaque document a traduire. En cas de conflit de noms, vous pouvez specifier le fichier POT a utiliser comme suit, avec le parametre "pot=". Cette fonction peut egalement etre utilisee pour regrouper plusieurs fichiers traduits dans un meme fichier POT. L'exemple suivant ne produit que deux fichiers POT: l10n/po/chapi.pot (contenant le materiel de chapi/gui.xml) et l10n/po/chapo.pot (contenant le materiel 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 reparti, po4a construit un compendium temporaire pendant la mise a jour des PO afin de partager les traductions entre l'ensemble des fichiers PO. Si deux fichiers PO ont des traductions differentes pour la meme chaine, po4a marquera ces deux chaines comme etant approximatives (fuzzy) et ajoutera les deux traductions dans tous les fichiers PO contenant cette chaine. Une fois corrigee par les equipes de traduction, la traduction sera automatiquement utilisee dans tous les fichiers PO. Specification des documents a traduire Vous devez egalement lister les documents a traduire. Pour chaque fichier d'origine, vous devez specifier l'analyseur de format a utiliser, l'emplacement du document traduit et eventuellement une configuration. Les noms de fichiers devraient etre fournis entre guillemets ou en utilisant des sequences d'echappement 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 la aussi, ces lignes complexes sont difficiles a lire et a modifier, par ex. lors de l'ajout d'une nouvelle langue. Il est beaucoup plus simple de reorganiser les choses en utilisant le modele $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 defaut des options de ligne de commande po4a tandis que les options de format sont utilisees pour changer le comportement des analyseurs de format. En tant qu'options po4a, vous pouvez par exemple specifier dans votre fichier de configuration que la valeur par defaut du parametre de ligne de commande --keep est 50% au lieu de 80%. Les sont documentees sur la page specifique de chaque module d'analyse, par ex. Locale::Po4a::Xml(3pm). Vous pouvez par exemple passer nostrip a l'analyseur XML pour ne pas supprimer les espaces autour des chaines extraites. Vous pouvez transmettre ces options pour un fichier d'origine specifique, ou meme pour une traduction specifique de ce fichier, en utilisant "opt:" et "opt_XX:" pour la langue "XX". Dans l'exemple suivant, l'option nostrip est passee a l'analyseur XML (pour toutes les langues), tandis que le seuil sera reduit a 0% pour la traduction francaise (qui est donc toujours conservee). [type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_fr:"--keep 0" Dans tous les cas, ces blocs de configuration doivent etre situes a la fin de la ligne. La declaration des fichiers doit venir en premier, puis l'addendum le cas echeant (voir plus loin), et ensuite seulement les options. Le regroupement des blocs de configuration n'est pas tres important, car les elements sont concatenes en interne sous forme de chaines. Les exemples suivants sont tous equivalents: [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 specifiques a la langue ne sont pas utilisees lors de la creation du fichier POT. Il est par exemple impossible de passer nostrip a l'analyseur uniquement lors de la construction de la traduction francaise, car le meme fichier POT est utilise pour mettre a jour toutes les langues. Ainsi, les seules options qui peuvent etre specifiques a la langue sont celles qui sont utilisees lors de la production de la traduction, comme l'option "--keep". Configuration des alias Pour transmettre les memes options a plusieurs fichiers, le mieux est de definir un alias de type comme suit. Dans l'exemple suivant, "--keep 0" est passe a 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 egalement etendre un type existant en reutilisant le meme nom pour l'alias comme suit. Cela n'est pas interprete en tant que definition recursive erronee. [po4a_alias:man] man opt_it:"--keep 0" [type: man] man/page.1 $lang:man/$lang/page.1 Options globales par defaut Vous pouvez egalement utiliser les lignes d'"[options]" pour definir des options devant etre utilisees pour tous les fichiers, independamment de leur type. [options] --keep 20 --option nostrip Comme pour les options en ligne de commande, vous pouvez abreger les parametres passes dans le fichier de configuration: [options] -k 20 -o nostrip Priorites des options Les options de toutes les sources sont concatenees, assurant que les valeurs par defaut puissent facilement etre remplacees par des options plus specifiques. L'ordre est le suivant : o Les lignes "[options]" fournissent les valeurs par defaut pouvant etre remplacees par n'importe quelle autre source. o Puis les alias de types sont utilises. Les parametres specifiques de langue remplacent ceux applicables a toutes les langues. o Les parametres qui sont specifiques a un fichier master remplacent les valeurs par defaut et celles venant du type alias. Dans ce cas egalement, les parametres specifiques de langue remplacent les valeurs globales. o Enfin, les parametres fournis via la ligne de commande po4a remplacent tout parametre 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 supplementaire a la traduction, par exemple pour mentionner les equipes de traduction, vous devez definir un addendum a la ligne definissant votre fichier d'origine. Referez-vous a 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 egalement utiliser des modeles 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 echoue, la traduction est rejetee. Modificateurs pour la declaration d'un addendum Les modificateurs d'addendum peuvent simplifier le fichier de configuration dans le cas ou toutes les langues ne fournissent pas d'addendum, ou lorsque la liste des addendas change d'une langue a l'autre. Le modificateur est un seul caractere situe 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 etre precede de modificateurs. ! addendum n'est pas pris en compte, il n'est pas charge 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 signalee 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 parametre "pot_in" a votre fichier d'origine pour specifier le nom du fichier a utiliser a 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 parametre, les chaines a traduire seront extraites du book-filtered.xml (qui doit etre cree avant d'appeler po4a) tandis que les fichiers traduits seront construits a partir de book.xml. Par consequent, toute chaine qui fait partie de book.xml mais pas de book-filtered.xml ne sera pas incluse dans les fichiers PO, empechant les equipes de traduction de fournir une traduction qui leur corresponde. Ainsi, ces chaines ne seront pas modifiees 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 Nicolas Francois 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-06-26 PO4A.1P(1)