Man page - po4a(1)
Packages contains this manual
Available languages:
en fr pt_BR es it pt zh_Hans nl ja zh_Hant uk ru sr sr_Cyrl deManual
PO4A.1P
NOMSYNOPSIS
DESCRIPTION
Tutoriel de démarrage rapide
OPTIONS
Options modifiant lâen-tĂȘte du POT
Options de modification des fichiers PO
FICHIER DE CONFIGURATION
Trouver les fichiers PO et POT
Spécification des documents à traduire
Renseigner les options
Addendum : Ajouter des contenus dans la traduction
Filtrer les chaines traduites
VOIR AUSSI
AUTEURS
TRADUCTION
COPYRIGHT ET LICENCE
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).