po4a 0.40-1 - en to fr translation catalogue (1004 entries)

note: type: Attribute 'xml:lang' of: <refentry>
en: en
fr: fr

note: type: Content of: <refentry><refmeta><refmiscinfo>
en: Po4a Tools
fr: Outils po4a

note: type: Content of: <refentry><refnamediv><refpurpose>
en: display a translated man page according to a PO
fr: Afficher une page de manuel traduite à partir d'un PO

note: type: Content of: <refentry><refsynopsisdiv><cmdsynopsis>
en: <command>po4a-display-man</command> <arg choice='plain'><option>-p</option> </arg> <arg choice='plain'><replaceable>PO_FILE</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-m</option> </arg><arg choice='plain'><replaceable>MASTER_FILE</replaceable></arg></arg> <arg choice='opt'><arg choice='plain'><option>-o</option> </arg><arg choice='plain'><replaceable>PO4A_OPT</replaceable></arg></arg>
fr: <command>po4a-display-man</command> <arg choice='plain'><option>-p</option> </arg> <arg choice='plain'><replaceable>FICHIER_PO</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-m</option> </arg><arg choice='plain'><replaceable>FICHIER_ORIGINAL</replaceable></arg></arg> <arg choice='opt'><arg choice='plain'><option>-o</option> </arg><arg choice='plain'><replaceable>OPTIONS_PO4A</replaceable></arg></arg>

note: type: Content of: <refentry><refsect1><para>
en: Translators can use <command>po4a-display-man</command> to see how their translation of a man page will be rendered to the end users, without recompiling and reinstalling the whole project.
fr: Les équipes de traduction peuvent utiliser <command>po4a-display-man</command> pour vérifier l’apparence de la page man traduite en conditions d'utilisation, sans recompiler et installer l’ensemble du projet.

note: type: Content of: <refentry><refsect1><para>
en: This script only works with man pages written directly in <emphasis remap='I'>nroff</emphasis> and handled by the po4a's <emphasis remap='I'>man</emphasis> module.  Manual pages generated from other formats, like DocBook or POD, are not supported.  See <citerefentry><refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</manvolnum></citerefentry> for an equivalent supporting <emphasis remap='I'>POD</emphasis> documents.
fr: Ce script fonctionne seulement avec des pages man écrites directement en <emphasis remap='I'>nroff</emphasis> et gérées par le module <emphasis remap='I'>man</emphasis> de po4a. Les pages de manuel générées depuis d’autres formats, comme DocBook ou POD, ne sont pas prises en charge. Consultez <citerefentry><refentrytitle>po4a-display-po</refentrytitle><manvolnum>1</manvolnum></citerefentry> pour un équivalent prenant en charge les documents <emphasis remap='I'>POD</emphasis>.

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-p </option><replaceable>PO_FILE</replaceable>
fr: <option>-p </option><replaceable>FICHIER_PO</replaceable>

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The PO file containing the translations.
fr: Le fichier PO contenant les traductions.

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-m </option><replaceable>MASTER_FILE</replaceable>
fr: <option>-m </option><replaceable>FICHIER_ORIGINAL</replaceable>

note: .br type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The original man page.  It can be the absolute or relative path to the original man page (gzipped or not), the name of the man page or the name and section of the man page (using the man.section format).  When the master document is not provided with the <option>-m</option> option, <command>po4a-display-man</command> tries to find the original man page based on the line reference of the first string in the PO.
fr: La page de manuel d’origine. Il peut s’agir d’un chemin absolu ou relatif vers la page de manuel (qui peut être compressé avec gzip ou non), le nom de la page ou le nom et la section de la page de manuel (en utilisant le format nom.section). Lorsque le document d’origine n’est pas fourni avec l’option <option>-m</option>, <command>po4a-display-man</command> essaie de trouver la page originale en fonction de la référence de ligne de la première chaine du fichier PO.

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-o </option><replaceable>PO4A_OPT</replaceable>
fr: <option>-o </option><replaceable>OPTIONS_PO4A</replaceable>

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: Some options to pass to <citerefentry><refentrytitle>po4a-translate</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
fr: Des options à passer à <citerefentry><refentrytitle>po4a-translate</refentrytitle><manvolnum>1</manvolnum></citerefentry>.

note: type: =head1
en: SEE ALSO
fr: VOIR AUSSI

note: type: Content of: <refentry><refsect1><title>
en: AUTHOR
fr: AUTEUR

note: type: Content of: <refentry><refnamediv><refpurpose>
en: display of a translated POD file according to a PO
fr: affichage d'un document POD traduit à partir d’un PO

note: type: Content of: <refentry><refsynopsisdiv><cmdsynopsis>
en: <command>po4a-display-pod</command> <arg choice='plain'><option>-p </option></arg> <arg choice='plain'><replaceable>PO_FILE</replaceable></arg> <arg choice='plain'><option>-m </option></arg> <arg choice='plain'><replaceable>POD_FILE</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-o </option></arg><arg choice='plain'><replaceable>PO4A_OPT</replaceable></arg></arg>
fr: <command>po4a-display-pod</command> <arg choice='plain'><option>-p </option></arg> <arg choice='plain'><replaceable>FICHIER_PO</replaceable></arg> <arg choice='plain'><option>-m </option></arg> <arg choice='plain'><replaceable>FICHIER_POD</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-o </option></arg><arg choice='plain'><replaceable>OPTIONS_PO4A</replaceable></arg></arg>

note: type: Content of: <refentry><refsect1><para>
en: Translators can use <command>po4a-display-pod</command> to see how their translation of a man page will be rendered to the end users, without recompiling and reinstalling the whole project.  Most of the time, the POD file is only available in source package or embedded in Perl script.
fr: Les équipes de traduction peuvent utiliser <command>po4a-display-pod</command> pour vérifier l’apparence de la page man traduite en conditions d'utilisation sans avoir besoin de recompiler ou de réinstaller la totalité du projet. La plupart du temps, le fichier POD n’est disponible que dans le paquet source ou inclut dans le script Perl.

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-m </option><replaceable>POD_FILE</replaceable>
fr: <option>-m </option><replaceable>FICHIER_POD</replaceable>

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The original POD file used by po4a to generate PO file.
fr: Le fichier POD original utilisé par po4a pour produire le fichier PO.

note: type: =head1
en: NAME
fr: NOM

note: type: textblock
en: po4a - update both the PO files and translated documents in one shot
fr: po4a - Mettre à jour à la fois les fichiers PO et les documents traduits

note: type: textblock
en: B<po4a> [I<options>] I<config_file>
fr: B<po4a> [I<options>] I<fichier_de_configuration>

note: type: textblock
en: po4a (PO for anything) eases the maintenance of documentation translation using the classical gettext tools. The main feature of po4a is that it decouples the translation of content from its document structure.  Please refer to the page L<po4a(7)> for a gentle introduction to this project.
fr: 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.

note: type: textblock
en: Upon execution, B<po4a> parses all documentation files specified in its configuration file. It updates the PO files (containing the translation) to reflect any change to the documentation, and produce a translated documentation by injecting the content's translation (found in the PO files) into the structure of the original master document.
fr: 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.

note: type: textblock
en: At first, the PO files only contain the strings to translate from the original documentation. This file format allows the translators to manually provide a translation for each paragraph extracted by B<po4a>. If the documentation is modified after translation, B<po4a> marks the corresponding translations as "fuzzy" in the PO file to request a manual review by the translators. The translators can also provide so-called "addendum", that are extra content stating for example who did the translation and how to report bugs.
fr: 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.

note: type: textblock
en: The workflow of B<po4a> is asynchronous, as suited to open-source projects. The documentation writers author the master documents at their own pace. The translators review and update the translations in the PO files. The maintainers rerun B<po4a> on need, to reflect any change to the original documentation to the PO files, and to produce updated documentation translations, by injecting the latest translation into the latest document structure.
fr: 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.

note: type: textblock
en: By default, a given translated document is produced when at least 80% of its content is translated. The untranslated text is kept in the original language.  The produced documentation thus mixes languages if the translation is not complete. You can change the 80% threshold with the I<--keep> option described below. Note however that discarding translations as soon as they are not 100% may be discouraging for the translators whose work will almost never be shown to the users, while showing "translations" that are too incomplete may be troubling for the end users.
fr: 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.

note: type: textblock
en: Storing the translated documentation files in the version control system is probably a bad idea, since they are automatically generated. The precious files are the PO files, that contain the hard work of your fellow translators. Also, some people find it easier to interact with the translators through an online platform such as S<weblate>, but this is naturally fully optional.
fr: 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.

note: type: =head2
en: Quick start tutorial
fr: Tutoriel de démarrage rapide

note: type: textblock
en: Let's assume you maintain a program named B<foo> which has a man page F<man/foo.1> written in English (the bridge language in most open-source projects, but B<po4a> can be used from or to any language). Some times ago, someone provided a German translation named F<man/foo.de.1> and disappeared.  This is a problem because you just got a bug report saying that your documentation contains a gravely misleading information that must be fixed in all languages, but you don't speak German so you can only modify the original, not the translation. Now, another contributor wants to contribute a translation to Japanese, a language that you don't master either.
fr: 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.

note: type: textblock
en: It is time to convert your documentation to B<po4a> to solve your documentation maintenance nightmares. You want to update the doc when needed, you want to ease the work of your fellow translators, and you want to ensure that your users never see any outdated and thus misleading documentation.
fr: 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.

note: type: textblock
en: The conversion includes two steps: setup the po4a infrastructure, and convert the previous German translation to salvage the previous work. This latter part is done using S<po4a-gettextize>, as follows. As detailed in the documentation of L<po4a-gettextize(1)>, this process rarely fully automatic, but once it's done, the B<de.po> file containing the German translation can be integrated in your po4a workflow.
fr: 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.

note: type: textblock
en: Let's now configure po4a. With the appropriate file layout, your configuration file could be as simple as this:
fr: Configurons maintenant po4a. Avec la disposition appropriée des fichiers, votre fichier de configuration pourrait être aussi simple que ceci :

note: type: textblock
en: It specifies that all PO files (containing the work of the translators) are in the F<man/po4a/> directory, and that you have only one master file, F<man/foo.1>. If you had several master files, you would have several lines similar to the second one. Each such line also specify where to write the corresponding translation files. Here, the German translation of F<man/foo.1> is in F<man/translated/foo.de.1>.
fr: 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>.

note: type: textblock
en: The last thing we need to complete the configuration of B<po4a> is a POT file containing the template material that should be used to start a new translation.  Simply create an empty file with the S<.pot> extension in the specified S<po_directory> (e.g. F<man/po4a/foo.pot>), and B<po4a> will fill it with the expected content.
fr: 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.

note: type: textblock
en: Here is a recap of the files in this setup:
fr: Voici un récapitulatif des fichiers de cette configuration :

note: type: textblock
en: Once setup, executing B<po4a> will parse your documentation, update the POT template file, use it to update the PO translation files, and use them to update the documentation translation files. All in one command:
fr: 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 :

note: type: textblock
en: This is it. B<po4a> is now fully configured. Once you've fixed your error in F<man/foo.1>, the offending paragraph in the German translation will be replaced by the fixed text in English. Mixing languages is not optimal, but it's the only way to remove errors in translations that you don't even understand, and ensure that the content presented to the users is never misleading. Updating the German translation is also much easier in the corresponding PO file, so the language mix-up may not last long. Finally, when a Japanese translator wants to contribute a new translation, she should rename the S<foo.pot> into S<ja.po> and complete the translation. Once you have this file, just drop it in F<man/po4a/po/>. A translated page will appear as F<man/translated/foo.ja.1> (provided that enough content is translated) when you run B<po4a> again.
fr: 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.

note: type: textblock
en: Minimal threshold for translation percentage to keep (i.e. write) the resulting file (default: 80). I.e. by default, files have to be translated at least at 80% to be written on disk.
fr: 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.

note: type: textblock
en: Show a short help message.
fr: Affiche un message d’aide.

note: type: textblock
en: Charset of the files containing the documents to translate. Note that all master documents must use the same charset.
fr: 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.

note: type: textblock
en: Charset of the files containing the localized documents. Note that all translated documents will use the same charset.
fr: 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.

note: type: textblock
en: Charset of the addenda. Note that all the addenda should be in the same charset.
fr: Jeu de caractères des addendas. Notez que tous les ajouts doivent partager le même jeu de caractères.

note: type: textblock
en: Display the version of the script and exit.
fr: Affiche la version du script et quitte.

note: type: textblock
en: Increase the verbosity of the program.
fr: Rend le programme plus bavard.

note: type: textblock
en: Decrease the verbosity of the program.
fr: Rend le programme moins bavard.

note: type: textblock
en: Output some debugging information.
fr: Affiche quelques informations de débogage.

note: type: textblock
en: Extra option(s) to pass to the format plugin. See the documentation of each plugin for more information about the valid options and their meanings. For example, you could pass '-o tablecells' to the AsciiDoc parser, while the text parser would accept '-o tabs=split'.
fr: 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 ».

note: type: textblock
en: Always generate the POT and PO files, even if B<po4a> considers it is not necessary.
fr: Génère toujours les fichiers POT et PO, même si B<po4a> considère que ce n’est pas nécessaire.

note: type: textblock
en: The default behavior (when B<--force> is not specified) is the following:
fr: Le comportement par défaut (quand l’option B<--force> n’est pas utilisée) est le suivant :

note: type: textblock
en: If the POT file already exists, it is regenerated if a master document or the configuration file is more recent (unless B<--no-update> is provided).  The POT file is also written in a temporary document and B<po4a> verifies that the changes are really needed.
fr: 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.

note: type: textblock
en: Also, a translation is regenerated only if its master document, the PO file, one of its addenda or the configuration file is more recent.  To avoid trying to regenerate translations which do not pass the threshold test (see B<--keep>), a file with the F<.po4a-stamp> extension can be created (see B<--stamp>).
fr: 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>).

note: type: textblock
en: If a master document includes files, you should use the B<--force> flag because the modification time of these included files are not taken into account.
fr: 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.

note: type: textblock
en: The PO files are always re-generated based on the POT with B<msgmerge -U>.
fr: Les fichiers PO sont toujours recréés en fonction du POT avec B<msgmerge -U>.

note: type: textblock
en: Tells B<po4a> to create stamp files when a translation is not generated because it does not reach the threshold. These stamp files are named according to the expected translated document, with the F<.po4a-stamp> extension.
fr: 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: type: textblock
en: Note: This only activates the creation of the F<.po4a-stamp> files. The stamp files are always used if they exist, and they are removed with B<--rm-translations> or when the file is finally translated.
fr: 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.

note: type: textblock
en: Do not generate the translated documents, only update the POT and PO files.
fr: Ne génère pas les documents traduits, ne met à jour que les fichiers POT et PO.

note: type: textblock
en: Do not change the POT and PO files, only the translation may be updated.
fr: Ne modifiez pas les fichiers POT et PO, seule la traduction peut être changée.

note: type: textblock
en: Keeps the existing translation files even if the translation doesn't meet the threshold specified by B<--keep>.  This option does not create new translation files with few content, but it will save existing translations which decay because of changes to the master files.
fr: 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.

note: type: textblock
en: WARNING: This flag changes the po4a behavior in a rather drastic way: your translated files will not get updated at all until the translation improves. Only use this flag if you prefer shipping an outdated translated documentation rather than only shipping an accurate untranslated documentation.
fr: 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.

note: type: textblock
en: Remove the translated files (implies B<--no-translations>).
fr: Supprime les documents traduits (implique B<--no-translations>).

note: type: textblock
en: This flag does nothing since 0.41, and may be removed in later releases.
fr: Cette option ne fait rien depuis la version 0.41, et pourra être enlevée des prochaines versions.

note: type: =item
en: B<--translate-only> I<translated-file>
fr: B<--translate-only> I<fichier-traduit>

note: type: textblock
en: Translate only the specified file.  It may be useful to speed up processing if a configuration file contains a lot of files.  Note that this option does not update PO and POT files.  This option can be used multiple times.
fr: 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.

note: type: =item
en: B<--variable> I<var>B<=>I<value>
fr: B<--variable> I<var>B<=>I<valeur>

note: type: textblock
en: Define a variable that will be expanded in the B<po4a> configuration file.  Every occurrence of I<$(var)> will be replaced by I<value>.  This option can be used multiple times.
fr: 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.

note: type: =item
en: B<--srcdir> I<SRCDIR>
fr: B<--srcdir> I<RÉP_SRC>

note: type: textblock
en: Set the base directory for all input documents specified in the B<po4a> configuration file.
fr: Définit le répertoire de base pour tous les documents d’entrée indiqués dans le fichier de configuration de B<po4a>.

note: type: textblock
en: If both I<destdir> and I<srcdir> are specified, input files are searched in the following directories, in order: I<destdir>, the current directory and I<srcdir>. Output files are written to I<destdir> if specified, or to the current directory.
fr: 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.

note: type: =item
en: B<--destdir> I<DESTDIR>
fr: B<--destdir> I<RÉP_DEST>

note: type: textblock
en: Set the base directory for all the output documents specified in the B<po4a> configuration file (see B<--srcdir> above).
fr: 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).

note: type: =head2
en: Options modifying the POT header
fr: Options modifiant l’en-tête du POT

note: type: textblock
en: Specify the reference format. Argument I<type> can be one of B<never> to not produce any reference, B<file> to only specify the file without the line number, B<counter> to replace line number by an increasing counter, and B<full> to include complete references (default: full).
fr: 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).

note: type: =item
en: B<--wrap-po> B<no>|B<newlines>|I<number> (default: 76)
fr: B<--wrap-po> B<no>|B<newlines>|I<nombre> (par défaut : 76)

note: type: textblock
en: Specify how the po file should be wrapped. This gives the choice between either files that are nicely wrapped but could lead to git conflicts, or files that are easier to handle automatically, but harder to read for humans.
fr: 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.

note: type: textblock
en: Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after this column and after newlines in the content. If set to B<newlines>, po4a will only split the msgid and msgstr after newlines in the content. If set to B<no>, po4a will not wrap the po file at all.  The reference comments are always wrapped by the gettext tools that we use internally.
fr: 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.

note: type: textblock
en: Note that this option has no impact on how the msgid and msgstr are wrapped, i.e.  on how newlines are added to the content of these strings.
fr: 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.

note: type: textblock
en: Language of the source files containing the documents to translate. Note that all master documents must use the same language.
fr: Langue des fichiers source contenant les documents à traduire. Notez que tous les fichiers d'origine doivent partager la même langue.

note: type: =item
en: B<--msgid-bugs-address> I<email@address>
fr: B<--msgid-bugs-address> B<adresse@email>

note: type: textblock
en: Set the report address for msgid bugs. By default, the created POT files have no Report-Msgid-Bugs-To fields.
fr: 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.

note: type: =item
en: B<--copyright-holder> I<string>
fr: B<--copyright-holder> I<chaîne>

note: type: textblock
en: Set the copyright holder in the POT header. The default value is "Free Software Foundation, Inc."
fr: Fixe le détenteur du copyright dans l’en-tête du fichier POT. La valeur par défaut est « Free Software Foundation, Inc. ».

note: type: =item
en: B<--package-name> I<string>
fr: B<--package-name> I<chaîne>

note: type: textblock
en: Set the package name for the POT header. The default is "PACKAGE".
fr: Fixe le nom du paquet pour l’en-tête du fichier POT. La valeur par défaut est « PACKAGE ».

note: type: =item
en: B<--package-version> I<string>
fr: B<--package-version> I<chaîne>

note: type: textblock
en: Set the package version for the POT header. The default is "VERSION".
fr: Fixe la version du paquet pour l’en-tête du fichier POT. La valeur par défaut est « VERSION ».

note: type: =head2
en: Options to modify the PO files
fr: Options de modification des fichiers PO

note: type: textblock
en: Extra options for B<msgmerge>(1).
fr: Options additionnelles pour B<msgmerge>(1).

note: type: textblock
en: Note: B<$lang> will be extended to the current language.
fr: Note : B<$lang> sera remplacé par la langue en cours.

note: type: textblock
en: This option removes B<--previous> from the options passed to B<msgmerge>.  This is necessary to support versions of B<gettext> earlier than 0.16.
fr: 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.

note: type: textblock
en: This option adds B<--previous> to the options passed to B<msgmerge>.  It requires B<gettext> 0.16 or later, and is activated by default.
fr: 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.

note: type: =head1
en: CONFIGURATION FILE
fr: FICHIER DE CONFIGURATION

note: type: textblock
en: po4a expects a configuration file as argument. This file must contain the following elements:
fr: po4a attend un fichier de configuration en paramètre. Ce fichier doit contenir les éléments suivants :

note: type: =item
en: The path to the PO files and the list of languages existing in the project;
fr: Le chemin vers les fichiers PO et la liste des langues existantes dans le projet ;

note: type: =item
en: Optionally, some global options and so-called configuration aliases that are used as templates to configure individual master files;
fr: 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 ;

note: type: =item
en: The list of each master file to translate, along with specific parameters.
fr: La liste de chaque fichier d'origine à traduire, avec les paramètres spécifiques.

note: type: textblock
en: All lines contain a command between square braces, followed by its parameters.  Comments begin with the char '#' and run until the end of the line. You can escape the end of line to spread a command over several lines.
fr: 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.

note: type: textblock
en: Some full examples are presented on this page, while other examples can be found in the C<t/cfg> directory of the source distribution.
fr: 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.

note: type: =head2
en: Finding the PO and POT files
fr: Trouver les fichiers PO et POT

note: type: textblock
en: The simplest solution is to explicitly give the path to POT and PO files, as follows:
fr: La solution la plus simple est de donner explicitement le chemin des fichiers POT et PO, comme ceci :

note: type: textblock
en: This specifies the path to the POT file first, and then the paths to the German and French PO files.
fr: 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.

note: type: textblock
en: The same information can be written as follows to reduce the risk of copy/paste errors:
fr: La même information peut être écrite comme suit pour réduire le risque d'erreurs de copier/coller :

note: type: textblock
en: The C<$lang> component is automatically expanded using the provided languages list, reducing the risk of copy/paste error when a new language is added.
fr: 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.

note: type: textblock
en: You can further compact the same information by only providing the path to the directory containing your translation project, as follows.
fr: 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.

note: type: textblock
en: The provided directory must contain a set of PO files, each named F<XX.po> with C<XX> the ISO 639-1 of the language used in this file. The directory must also contain a single POT file, with the C<.pot> file extension. For the first run, this file can be empty but it must exist (po4a cannot guess the name to use before the extension).
fr: 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).

note: type: textblock
en: Note that you must choose only one between C<po_directory> and C<po4a_paths>. The first one (C<po_directory>) is more compact, further reduces the risk of copy/paste error, but forces you to use the expected project structure and file names. The second one (C<po4a_paths>), is more explicit, probably more readable, and advised when you setup your first project with po4a.
fr: 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.

note: type: =head3
en: Centralized or split PO files?
fr: Fichier PO unique ou fractionné ?

note: type: textblock
en: By default, po4a produces one single PO file per target language, containing the whole content of your translation project. As your project grows, the size of these files may become problematic. When using weblate, it is possible to specify priorities for each translation segment (i.e., msgid) so that the important ones get translated first. Still, some translation teams prefer to split the content in several files.
fr: 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.

note: type: textblock
en: To have one PO file per master file, you simply have to use the string C<$master> in the name of your PO files on the C<[po4a_paths]> line, as follows.
fr: 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.

note: type: textblock
en: With this line, po4a will produce separate POT and PO files for each document to translate.  For example, if you have 3 documents and 5 languages, this will result in 3 POT files and 15 PO files. These files are named as specified on the C<po4a_paths> template, with C<$master> substituted to the basename of each document to translate. In case of name conflict, you can specify the POT file to use as follows, with the C<pot=> parameter.
fr: 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=>.

note: type: textblock
en: This feature can also be used to group several translated files into the same POT file. The following example only produces 2 POT files: F<l10n/po/foo.pot> (containing the material from F<foo/gui.xml>) and F<l10n/po/bar.pot> (containing the material from both F<bar/gui.xml> and F<bar/cli.xml>).
fr: 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>).

note: type: textblock
en: In split mode, B<po4a> builds a temporary compendium during the PO update, to share the translations between all the PO files. If two PO files have different translations for the same string, B<po4a> will mark this string as fuzzy and will submit both translations in all the PO files containing this string. When unfuzzied by the translator, the translation is automatically used in every PO files.
fr: 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.

note: type: =head2
en: Specifying the documents to translate
fr: Spécification des documents à traduire

note: type: textblock
en: You must also list the documents that should be translated. For each master file, you must specify the format parser to use, the location of the translated document to produce, and optionally some configuration. File names should be quoted or escaped if they contain spaces. Here is an example:
fr: 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 :

note: type: textblock
en: But again, these complex lines are difficult to read and modify, e.g. when adding a new language. It is much simpler to reorganize things using the C<$lang> template as follows:
fr: 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 :

note: type: =head2
en: Specifying options
fr: Renseigner les options

note: type: textblock
en: There is two types of options: I<po4a options> are default values to the po4a command line options while I<format options> are used to change the behavior of the format parsers. As a I<po4a options>, you could for example specify in your configuration file that the default value of the B<--keep> command line parameter is 50% instead of 80%. I<Format options> are documented on the specific page of each parsing module, e.g. L<Locale::Po4a::Xml(3pm)>. You could for example pass B<nostrip> to the XML parser to not strip the spaces around the extracted strings.
fr: 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.

note: type: textblock
en: You can pass these options for a specific master file, or even for a specific translation of that file, using C<opt:> and C<opt_XX:> for the C<XX> language.  In the following example, the B<nostrip> option is passed to the XML parser (for all languages), while the threshold will be reduced to 0% for the French translation (that is thus always kept).
fr: 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).

note: type: textblock
en: In any case, these configuration chunks must be located at the end of the line.  The declaration of files must come first, then the addendum if any (see below), and then only the options. The grouping of configuration chunks is not very important, since elements are internally concatenated as strings. The following examples are all equivalent:
fr: 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 :

note: type: textblock
en: Note that language specific options are not used when building the POT file. It is for example impossible to pass B<nostrip> to the parser only when building the French translation, because the same POT file is used to update every languages. So the only options that can be language-specific are the ones that are used when producing the translation, as the C<--keep> option.
fr: 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>.

note: type: =head3
en: Configuration aliases
fr: Configuration des alias

note: type: textblock
en: To pass the same options to several files, the best is to define a type alias as follows. In the next example, C<--keep 0> is passed to every Italian translation using this C<test> type, that is an extension of the C<man> type.
fr: 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>.

note: type: textblock
en: You can also extend an existing type reusing the same name for the alias as follows. This is not interpreted as as an erroneous recursive definition.
fr: 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.

note: type: =head3
en: Global default options
fr: Options globales par défaut

note: type: textblock
en: You can also use C<[options]> lines to define options that must be used for all files, regardless of their type.
fr: 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.

note: type: textblock
en: As with the command line options, you can abbreviate the parameters passed in the configuration file:
fr: Comme pour les options en ligne de commande, vous pouvez abréger les paramètres passés dans le fichier de configuration :

note: type: =head3
en: Option priorities
fr: Priorités des options

note: type: textblock
en: The options of every sources are concatenated, ensuring that the default values can easily be overridden by more specific options. The order is as follows:
fr: 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 :

note: type: =item
en: C<[options]> lines provide default values that can be overridden by any other source.
fr: Les lignes C<[options]> fournissent les valeurs par défaut pouvant être remplacées par n’importe quelle autre source.

note: type: =item
en: Type aliases are then used. Language specific settings override the ones applicable to all languages.
fr: Puis les alias de types sont utilisés. Les paramètres spécifiques de langue remplacent ceux applicables à toutes les langues.

note: type: =item
en: Settings that are specific to a given master file override both the default ones and the ones coming from the type alias. In this case also, language specific settings override the global ones.
fr: 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.

note: type: =item
en: Finally, parameters provided on the B<po4a> command line override any settings from the configuration file.
fr: Enfin, les paramètres fournis via la ligne de commande B<po4a> remplacent tout paramètre du fichier de configuration.

note: type: =head3
en: Example
fr: Exemple

note: type: textblock
en: Here is an example showing how to quote the spaces and quotes:
fr: Voici un exemple montrant comment renseigner les espaces et apostrophes :

note: type: =head2
en: Addendum: Adding extra content in the translation
fr: Addendum : Ajouter des contenus dans la traduction

note: type: textblock
en: If you want to add an extra section to the translation, for example to give credit to the translator, then you need to define an addendum to the line defining your master file. Please refer to the page L<po4a(7)> for more details on the syntax of addendum files.
fr: 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.

note: type: textblock
en: You can also use language templates as follow:
fr: Vous pouvez également utiliser des modèles de langue comme suit :

note: type: textblock
en: If an addendum fails to apply, the translation is discarded.
fr: Si l'application d'un addendum échoue, la traduction est rejetée.

note: type: =head3
en: Modifiers for the addendum declaration
fr: Modificateurs pour la déclaration d'un addendum

note: type: textblock
en: Addendum modifiers can simplify the configuration file in the case where not all languages provide an addendum, or when the list of addenda changes from one language to the other. The modifier is a single char located before the file name.
fr: 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.

note: type: textblock
en: Include I<addendum_path> if this file does exist, otherwise do nothing.
fr: Inclure l’I<addendum> si le fichier existe, rien sinon.

note: type: textblock
en: I<addendum_path> is not a regular addendum but a file containing a list of addenda, one by line.  Each addendum may be preceded by modifiers.
fr: 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.

note: type: textblock
en: I<addendum_path> is discarded, it is not loaded and will not be loaded by any further addendum specification.
fr: 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.

note: type: textblock
en: The following includes an addendum in any language, but if only it exists. No error is reported if the addendum does not exist.
fr: 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.

note: type: textblock
en: The following includes a list of addendum for every language:
fr: Ce qui suit inclut un addendum pour chaque langue :

note: type: =head2
en: Filtering the translated strings
fr: Filtrer les chaines traduites

note: type: textblock
en: Sometimes, you want to hide some strings from the translation process. To that extend, you can give a C<pot_in> parameter to your master file to specify the name of the file to use instead of the real master when building the POT file. Here is an example:
fr: 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 :

note: type: textblock
en: With this setting, the strings to translate will be extracted from the F<book-filtered.xml> (that must be produced before calling B<po4a>) while the translated files will be built from F<book.xml>. As a result, any string that is part of F<book.xml> but not in F<book-filtered.xml> will not be included in the PO files, preventing the translators from providing a translation for them. So these strings will be left unmodified when producing the translated documents.  This naturally decreases the level of translation, so you may need the C<--keep> option to ensure that the document is produced anyway.
fr: 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.

note: type: =head1
en: AUTHORS
fr: AUTEURS

note: type: =head1
en: COPYRIGHT AND LICENSE
fr: COPYRIGHT ET LICENCE

note: type: textblock
en: Copyright 2002-2023 by SPI, inc.
fr: Copyright 2002-2023 SPI, inc.

note: type: textblock
en: This program is free software; you may redistribute it and/or modify it under the terms of GPL v2.0 or later (see the COPYING file).
fr: 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).

note: type: textblock
en: po4a-gettextize - convert an original file (and its translation) to a PO file
fr: po4a-gettextize - Convertir un fichier original (et sa traduction) en fichier PO

note: type: textblock
en: B<po4a-gettextize> B<-f> I<fmt> B<-m> I<master.doc> B<-l> I<XX.doc> B<-p> I<XX.po>
fr: B<po4a-gettextize> B<-f> I<fmt> B<-m> I<chapi.doc> B<-l> I<XX.doc> B<-p> I<XX.po>

note: type: textblock
en: (I<XX.po> is the output, all others are inputs)
fr: (I<XX.po> est le fichier de sortie, tous les autres sont des entrées)

note: type: textblock
en: The B<po4a-gettextize> script helps you converting your previously existing translations into a po4a-based workflow. This is only to be done once to salvage an existing translation while converting to po4a, not on a regular basis after the conversion of your project. This tedious process is explained in details in Section 'Converting a manual translation to po4a' below.
fr: Le script B<po4a-gettextize> vous aide à porter vos traductions existantes vers un flux de travail basé sur po4a. Cette opération ne doit être effectuée qu'une seule fois pour sauver une traduction existante lors de la conversion à po4a, et non de manière régulière après la conversion de votre projet. Ce processus fastidieux est expliqué en détail dans la section « Conversion d'une traduction manuelle à po4a » ci-dessous.

note: type: textblock
en: You must provide both a master file (e.g., the source in English) and an existing translated file (e.g., a previous translation attempt without po4a). If you provide more than one master or translation files, they will be used in sequence, but it may be easier to gettextize each page or chapter separately and then use B<msgmerge> to merge all produced PO files. As you wish.
fr: Vous devez fournir à la fois un fichier d'origine (par exemple, la source en anglais) et un fichier traduit existant (par exemple, une tentative de traduction précédente sans po4a). Si vous fournissez plus d'un fichier d'origine ou de traduction, ils seront utilisés en séquence, mais il peut être plus facile de gettextiser chaque page ou chapitre séparément, puis d'utiliser B<msgmerge> pour fusionner tous les fichiers PO produits. Comme vous le souhaitez.

note: type: textblock
en: If the master document has non-ASCII characters, the new generated PO file will be in UTF-8. If the master document is completely in ASCII, the generated PO will use the encoding of the translated input document.
fr: Si le document d'origine contient des caractères non ASCII, le nouveau fichier PO généré sera en UTF-8 (si ce n’est pas déjà le cas). Si le document d'origine ne contient que des caractères ASCII, le fichier PO généré utilisera l’encodage du document traduit donné en entrée.

note: type: textblock
en: Format of the documentation you want to handle. Use the B<--help-format> option to see the list of available formats.
fr: Type de format de la documentation que vous souhaitez traiter. Utilisez l’option B<--help-format> pour afficher la liste des formats disponibles.

note: type: textblock
en: File containing the master document to translate. You can use this option multiple times if you want to gettextize multiple documents.
fr: Fichier contenant le document d'origine à traduire. Vous pouvez utiliser cette option plusieurs fois si vous voulez gettextiser plusieurs documents.

note: type: textblock
en: Charset of the file containing the document to translate.
fr: Jeu de caractères du fichier contenant les documents à traduire.

note: type: textblock
en: File containing the localized (translated) document. If you provided multiple master files, you may wish to provide multiple localized file by using this option more than once.
fr: Fichier contenant le document traduit. Si vous fournissez plusieurs fichiers d'origine, vous voudrez sûrement fournir également plusieurs documents traduits en utilisant cette option plusieurs fois.

note: type: textblock
en: Charset of the file containing the localized document.
fr: Jeu de caractères du fichier contenant le document traduit.

note: type: textblock
en: File where the message catalog should be written. If not given, the message catalog will be written to the standard output.
fr: Fichier où le catalogue de messages sera écrit. S’il n’est pas spécifié, le catalogue de messages sera écrit sur la sortie standard.

note: type: textblock
en: List the documentation formats understood by po4a.
fr: Énumère les formats de documentations connus de po4a.

note: type: textblock
en: Keep the temporary master and localized POT files built before merging.  This can be useful to understand why these files get desynchronized, leading to gettextization problems.
fr: Conservez les fichiers POT d'origine et localisés temporaires générés avant la fusion. Cela peut être utile pour comprendre pourquoi ces fichiers sont désynchronisés, conduisant à des problèmes de gettextisation.

note: type: =head2
en: Converting a manual translation to po4a
fr: Convertir une traduction manuelle vers po4a

note: type: textblock
en: B<po4a-gettextize> synchronizes the master and localized files to extract their content into a PO file. The content of the master file gives the B<msgid> while the content of the localized file gives the B<msgstr>. This process is somewhat fragile: the Nth string of the translated file is supposed to be the translation of the Nth string in the original.
fr: B<po4a-gettextize> synchronise les fichiers d'origine et localisé pour extraire leur contenu dans un fichier PO. Le contenu du fichier d'origine donne le B<msgid> tandis que le contenu du fichier localisé donne le B<msgstr>. Ce processus est quelque peu fragile : la Nième chaîne du fichier traduit est censée être la traduction de la Nième chaîne de l'original.

note: type: textblock
en: Gettextization works best if you manage to retrieve the exact version of the original document that was used for translation. Even so, you may need to fiddle with both master and localized files to align their structure if it was changed by the original translator, so working on files' copies is advised.
fr: La gettextisation fonctionne mieux si vous parvenez à récupérer la version exacte du document original utilisée pour la traduction. Même dans ce cas, il se peut que vous deviez manipuler les fichiers d'origine et localisé pour aligner leurs structures si elles ont été désynchronisées par les équipes de traduction d'origine. Il est donc conseillé de travailler sur des copies des fichiers.

note: type: textblock
en: Internally, each po4a parser reports the syntactical type of each extracted strings. This is how desynchronization are detected during the gettextization.  In the example depicted below, it is very unlikely that the 4th string in translation (of type 'chapter') is the translation of the 4th string in original (of type 'paragraph'). It is more likely that a new paragraph was added to the original, or that two original paragraphs were merged together in the translation.
fr: En interne, chaque analyseur po4a rapporte le type syntaxique de chaque chaîne extraite. C’est ainsi que les désynchronisations sont détectées durant la transformation en gettext.  Dans l'exemple illustré ci-dessous, il y a très peu de chance pour que la quatrième chaîne de la traduction (de type « chapitre ») soit la traduction de la quatrième chaîne du document original (de type « paragraphe »). Il est plus probable qu’un nouveau paragraphe ait été ajouté à l’original, ou que deux paragraphes originaux aient été fusionnés en un seul dans la traduction.

note: type: textblock
en: B<po4a-gettextize> will verbosely diagnose any structure desynchronization. When this happens, you should manually edit the files to add fake paragraphs or remove some content here and there until the structure of both files actually match. Some tricks are given below to salvage the most of the existing translation while doing so.
fr: B<po4a-gettextize> diagnostiquera de manière verbeuse toute désynchronisation de structure. Lorsque cela se produit, vous devez manuellement modifier les fichiers pour ajouter de faux paragraphes ou supprimer du contenu ici et là jusqu'à ce que la structure des deux fichiers corresponde réellement. Quelques astuces sont données ci-dessous pour sauver le maximum de la traduction existante par ces moyens.

note: type: textblock
en: If you are lucky enough to have a perfect match in the file structures out of the box, building a correct PO file is a matter of seconds. Otherwise, you will soon understand why this process has such an ugly name :) Even so, gettextization often remains faster than translating everything again. I gettextized the French translation of the whole Perl documentation in one day despite the I<many> synchronization issues. Given the amount of text (2MB of original text), restarting the translation without first salvaging the old translations would have required several months of work. In addition, this grunt work is the price to pay to get the comfort of po4a. Once converted, the synchronization between master documents and translations will always be fully automatic.
fr: Si vous avez assez de chance pour avoir une correspondance parfaite dans les structures de fichiers prête à l’emploi, générer un fichier PO correct est une affaire de secondes. Dans le cas contraire, vous comprendrez vite pourquoi ce processus porte un nom si affreux :) Malgré cela, la gettextisation reste souvent plus rapide que de tout retraduire. J'ai gettextisé la traduction française de toute la documentation Perl en une journée malgré les I<nombreux> problèmes de synchronisation. Vu la quantité de texte (2 Mo de texte original), recommencer la traduction sans avoir au préalable récupéré les anciennes traductions aurait nécessité plusieurs mois de travail. De plus, ce travail fastidieux est le prix à payer pour bénéficier du confort de po4a. Une fois converti, la synchronisation entre les documents d'origine et les traductions sera toujours entièrement automatique.

note: type: textblock
en: After a successful gettextization, the produced documents should be manually checked for undetected disparities and silent errors, as explained below.
fr: Après une gettextisation réussie, les documents produits doivent être vérifiés manuellement pour détecter les disparités non détectées et les erreurs silencieuses, comme expliqué ci-dessous.

note: type: =head3
en: Hints and tricks for the gettextization process
fr: Trucs et astuces pour le processus de «gettextisation»

note: type: textblock
en: The gettextization stops as soon as a desynchronization is detected. When this happens, you need to edit the files as much as needed to re-align the files' structures. B<po4a-gettextize> is rather verbose when things go wrong. It reports the strings that don't match, their positions in the text, and the type of each of them. Moreover, the PO file generated so far is dumped as F<gettextization.failed.po> for further inspection.
fr: La gettextisation s'arrête dès qu'une désynchronisation est détectée. Lorsque cela se produit, vous devez modifier les fichiers autant que nécessaire pour réaligner les structures des fichiers. B<po4a-gettextize> est plutôt verbeux lorsque les choses se passent mal. Il signale les chaînes de caractères qui ne correspondent pas, leur position dans le texte et le type de chacune d'entre elles. De plus, le fichier PO généré jusqu'à présent est sauvegardé sous F<gettextization.failed.po> pour une inspection plus approfondie.

note: type: textblock
en: Here are some tricks to help you in this tedious process and ensure that you salvage the most of the previous translation:
fr: Voici quelques astuces pour vous aider dans ce processus fastidieux et vous assurer de récupérer le maximum de la traduction précédente :

note: type: =item
en: Remove all extra content of the translations, such as the section giving credits to the translators. They should be added separately to B<po4a> as addenda (see L<po4a(7)>).
fr: Supprimez tout le contenu superflu des traductions, comme la section mentionnant les équipes de traduction. Ils doivent être ajoutés séparément en tant qu'addendas (voir L<po4a(7)>).

note: type: =item
en: When editing the files to align their structures, prefer editing the translation if possible. Indeed, if the changes to the original are too intrusive, the old and new versions will not be matched during the first po4a run after gettextization (see below). Any unmatched translation will be dumped anyway.  That being said, you still want to edit the original document if it's too hard to get the gettextization to proceed otherwise, even if it means that one paragraph of the translation is dumped. The important thing is to get a first PO file to start with.
fr: Lorsque vous éditez les fichiers pour aligner leurs structures, préférez si possible éditer la traduction. En effet, si les modifications de l'original sont trop intrusives, l'ancienne et la nouvelle version ne seront pas appariées lors de la première exécution de po4a après la gettextisation (voir ci-dessous). Toute traduction non appariée sera de toute façon abandonnée.  Ceci étant dit, vous pouvez toujours éditer le document original s'il est trop difficile d'obtenir la gettextisation autrement, même si cela signifie qu'un paragraphe de la traduction est abandonné. L'important est d'obtenir un premier fichier PO pour commencer.

note: type: =item
en: Do not hesitate to kill any original content that would not exist in the translated version. This content will be automatically reintroduced afterward, when synchronizing the PO file with the document.
fr: N'hésitez pas à supprimer tout contenu original qui n'existe pas dans la version traduite. Ce contenu sera automatiquement réintroduit par la suite, lors de la synchronisation du fichier PO avec le document.

note: type: =item
en: You should probably inform the original author of any structural change in the translation that seems justified. Issues in the original document should reported to the author. Fixing them in your translation only fixes them for a part of the community. Plus, it is impossible to do so when using po4a ;) But you probably want to wait until the end of the conversion to B<po4a> before changing the original files.
fr: Vous devriez probablement informer l’auteur original de toute modification structurelle dans la traduction qui semble nécessaire. Les problèmes du document originel doivent être signalés à l’auteur. Faire la correction dans votre traduction n’en fait bénéficier qu’une partie de la communauté. Et de plus, c’est impossible avec po4a ;) Mais vous voudrez probablement attendre la fin de la conversion vers B<po4a> avant de modifier les fichiers originaux.

note: type: =item
en: Sometimes, the paragraph content does match, but not their types. Fixing it is rather format-dependent. In POD and man, it often comes from the fact that one of them contains a line beginning with a white space while the other does not.  In those formats, such paragraph cannot be wrapped and thus become a different type. Just remove the space and you are fine. It may also be a typo in the tag name in XML.
fr: Parfois, le contenu des paragraphes correspond, mais pas leur type. Corriger cela dépend du format. Pour les formats POD et man, cela provient souvent du fait qu’un des deux contient une ligne commençant par des espaces et pas l’autre. Pour ces formats, cela signifie que ce paragraphe ne doit pas être reformaté, il a donc un type différent. Retirez simplement les espaces et vous serez tranquille. Il se peut aussi qu’il s’agisse d’une petite erreur dans le nom d’une balise en XML.

note: type: textblock
en: Likewise, two paragraphs may get merged together in POD when the separating line contains some spaces, or when there is no empty line between the B<=item> line and the content of the item.
fr: De la même façon, deux paragraphes peuvent avoir été combinés, dans le format POD, si la ligne qui les sépare contient des espaces, ou s’il n’y a pas de ligne vide entre la ligne B<=item> et le contenu de cet élément.

note: type: =item
en: Sometimes, the desynchronization message seems odd because the translation is attached to the wrong original paragraph. It is the sign of an undetected issue earlier in the process. Search for the actual desynchronization point by inspecting the file F<gettextization.failed.po> that was produced, and fix the problem where it really is.
fr: Parfois, le message de désynchronisation semble étrange car la traduction est attachée au mauvais paragraphe source. C’est le signe d’un problème non détecté en amont dans le processus. Cherchez le point de synchronisation réel en inspectant le fichier F<gettextization.failed.po> généré, et corrigez le problème là où est vraiment.

note: type: =item
en: Other issues may come from duplicated strings in either the original or translation. Duplicated strings are merged in PO files, with two references.  This constitutes a difficulty for the gettextization algorithm, that is a simple one to one pairing between the B<msgid>s of both the master and the localized files. It is however believed that recent versions of po4a deal properly with duplicated strings, so you should report any remaining issue that you may encounter.
fr: D'autres problèmes peuvent provenir de chaînes de caractères dupliquées, que ce soit dans l'original ou dans la traduction. Les chaînes dupliquées sont fusionnées dans les fichiers PO, avec deux références.  Cela constitue une difficulté pour l'algorithme de gettextisation, qui est un simple appariement un à un entre les B<msgid>s du fichier d'origine et du fichier localisé. Cependant, les versions récentes de po4a devraient correctement traiter les chaînes de caractères dupliquées, et vous devriez donc signaler tout problème restant que vous pourriez rencontrer.

note: type: =head2
en: Reviewing files produced by B<po4a-gettextize>
fr: Examen des fichiers produits par B<po4a-gettextize>

note: type: textblock
en: Any file produced by B<po4a-gettextize> should be manually reviewed, even when the script terminates successfully. You should skim over the PO file, ensuring that the B<msgid> and B<msgstr> actually match. It is not necessary to ensure that the translation is perfectly correct yet, as all entries are marked as fuzzy translations anyway. You only need to check for obvious matching issues because badly matched translations will be dumped in subsequent steps while you want to salvage them.
fr: Tout fichier produit par B<po4a-gettextize> doit être examiné manuellement, même lorsque le script se termine avec succès. Vous devez parcourir le fichier PO en vous assurant que les B<msgid> et B<msgstr> correspondent réellement. Il n'est pas encore nécessaire de s'assurer que la traduction est parfaitement correcte, car toutes les entrées sont de toute façon marquées comme des traductions approximatives ("fuzzy"). Vous devez seulement vérifier les problèmes de correspondance évidents, car les traductions mal assorties seront abandonnées lors des étapes suivantes si vous voulez les sauver.

note: type: textblock
en: Fortunately, this step does not require to master the target languages as you only want to recognize similar elements in each B<msgid> and its corresponding B<msgstr>. As a speaker of French, English, and some German myself, I can do this for all European languages at least, even if I cannot say one word of most of these languages. I sometimes manage to detect matching issues in non-Latin languages by looking at string length, phrase structures (does the amount of interrogation marks match?) and other clues, but I prefer when someone else can review those languages.
fr: Heureusement, cette étape ne nécessite pas de maîtriser les langues cibles puisque vous voulez seulement reconnaître des éléments similaires dans chaque B<msgid> et son B<msgstr> correspondant. Parlant moi-même le français, l'anglais et un peu l'allemand, je peux faire cela pour toutes les langues européennes au moins, même si je ne peux pas dire un mot de la plupart de ces langues. Je parviens parfois à détecter des problèmes de correspondance dans les langues non latines en examinant la longueur des chaînes de caractères, les structures des phrases (la quantité de points d'interrogation correspond-elle ?) et d'autres indices, mais je préfère que quelqu'un d'autre examine ces langues.

note: type: textblock
en: If you detect a mismatch, edit the original and translation files as if B<po4a-gettextize> reported an error, and try again. Once you have a decent PO file for your previous translation, backup it until you get po4a working correctly.
fr: Si vous détectez une discordance, éditez les fichiers d'origine et de traduction comme si B<po4a-gettextize> avait signalé une erreur, et réessayez. Une fois que vous avez un fichier PO décent pour votre traduction existante, sauvegardez-le jusqu'à ce que vous obteniez un fonctionnement correct de po4a.

note: type: =head2
en: Running B<po4a> for the first time
fr: Exécuter B<po4a> pour la première fois

note: type: textblock
en: The easiest way to setup po4a is to write a B<po4a.conf> configuration file, and use the integrated B<po4a> program (B<po4a-updatepo> and B<po4a-translate> are deprecated). Please check the "CONFIGURATION FILE" Section in L<po4a(1)> documentation for more details.
fr: La manière la plus simple de configurer po4a est d'écrire un fichier de configuration B<po4a.conf>, et d'utiliser le programme B<po4a> unifié (B<po4a-updatepo> et B<po4a-translate> sont obsolètes). Consultez la section « FICHIER DE CONFIGURATION » dans la documentation de L<po4a(1)> pour en savoir plus.

note: type: textblock
en: When B<po4a> runs for the first time, the current version of the master documents will be used to update the PO files containing the old translations that you salvaged through gettextization. This can take quite a long time, because many of the B<msgid>s of from the gettextization do not exactly match the elements of the POT file built from the recent master files. This forces gettext to search for the closest one using a costly string proximity algorithm.  For example, the first run over the Perl documentation's French translation (5.5 MB PO file) took about 48 hours (yes, two days) while the subsequent ones only take seconds.
fr: Lorsque B<po4a> est exécuté pour la première fois, la version actuelle des documents d'origine sera utilisée pour mettre à jour les fichiers PO contenant les anciennes traductions que vous avez récupérées par gettextisation. Cela peut prendre beaucoup de temps, car beaucoup des B<msgid>s de la gettextisation ne correspondent pas exactement aux éléments du fichier POT construit à partir des fichiers d'origine récents. Cela oblige gettext à rechercher le plus proche en utilisant un algorithme coûteux de proximité des chaînes de caractères.  Par exemple, le premier passage sur la traduction française de la documentation Perl (fichier PO de 5,5 Mo) a pris environ 48 heures (oui, deux jours) alors que les suivants ne prennent que quelques secondes.

note: type: =head2
en: Moving your translations to production
fr: Mise en production de vos traductions

note: type: textblock
en: After this first run, the PO files are ready to be reviewed by translators. All entries were marked as fuzzy in the PO file by B<po4a-gettextization>, forcing their careful review before use. Translators should take each entry to verify that the salvaged translation actually match the current original text, update the translation on need, and remove the fuzzy markers.
fr: Après ce premier passage, les fichiers PO sont prêts à être revus par les équipes de traduction. Toutes les entrées ont été marquées comme approximatives ("fuzzy") dans le fichier PO par B<po4a-gettextization>, ce qui oblige à les relire attentivement avant de les utiliser. Les équipes de traduction doivent examiner chaque entrée pour vérifier que la traduction récupérée correspond bien au texte original actuel, actualiser la traduction si nécessaire, et supprimer les marqueurs flous.

note: type: textblock
en: Once enough fuzzy markers are removed, B<po4a> will start generating the translation files on disk, and you're ready to move your translation workflow to production. Some projects find it useful to rely on weblate to coordinate between translators and maintainers, but that's beyond B<po4a>' scope.
fr: Une fois que suffisamment de marqueurs flous sont supprimés, B<po4a> commencera à générer les fichiers de traduction sur le disque, et vous serez prêt à passer votre flux de traduction à la production. Certains projets trouvent utile de s'appuyer sur Weblate pour assurer la coordination entre les équipes de traduction et les responsables, mais cela dépasse le cadre de B<po4a>.

note: type: textblock
en: L<po4a(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(1)>, L<po4a(7)>.
fr: L<po4a-gettextize(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(1)>, L<po4a(7)>.

note: type: textblock
en: po4a-normalize - normalize a documentation file by parsing it in po4a, and writing it back
fr: po4a-normalize - Normaliser un fichier de documentation en le faisant analyser puis réécrire par po4a

note: type: textblock
en: B<po4a-normalize> B<-f> I<fmt> I<master.doc>
fr: B<po4a-normalize> B<-f> I<fmt> I<chapi.doc>

note: type: textblock
en: The po4a (PO for anything) project goal is to ease translations (and more interestingly, the maintenance of translations) using gettext tools on areas where they were not expected like documentation.
fr: L’objectif du projet po4a [PO for anything — PO pour tout] est de simplifier la traduction (et de façon plus intéressante, la maintenance des traductions) en utilisant les outils gettext dans des domaines pour lesquels ils n’étaient pas destinés, comme la documentation.

note: type: textblock
en: The B<po4a-normalize> script is a debugging tool used to make sure that po4a don't change the document when it's not supposed to. Only use it if you're developing a new module, or if you doubt the sanity of the tools.
fr: Le script B<po4a-normalize> est un outil de débogage permettant de s’assurer que po4a ne modifie pas les documents plus que de raison. Il ne devrait être utile que lors du développement d’un nouveau module ou si vous doutez de la qualité d’un module.

note: type: textblock
en: The generated document will be written to F<po4a-normalize.output> while the generated POT file will be written to F<po4a-normalize.po> by default, but you can use the B<--localized> and B<--pot> options to change that.
fr: Le document généré est écrit dans F<po4a-normalize.output> tandis que le fichier POT généré est écrit dans F<po4a-normalize.po> par défaut mais il est possible d'utiliser les options B<--localized> et B<--pot> pour modifier ceci.

note: type: textblock
en: Create a blank translated document.  The generated translated document will be generated assuming all messages are translated by a space or new line.
fr: Crée une traduction « blanche » du document. Le document traduit sera généré en supposant que tous les messages sont traduits en une espace ou une nouvelle ligne.

note: type: textblock
en: This is useful to check what parts of the document cannot be translated.
fr: C’est utile pour vérifier les parties d’un document qui ne peuvent pas être traduites.

note: type: textblock
en: Both B<--blank> and B<--capitalize> can't be specified at the same time.
fr: Les options B<--blank> et B<--capitalize> ne peuvent pas être utilisées en même temps.

note: type: textblock
en: Create a translated document and corresponding po-file with original strings translated as their capitalized versions.
fr: Crée une traduction du document et des fichiers po correspondants avec les chaînes originales traduites dans leur version majuscule.

note: type: textblock
en: This is useful to check what parts of the document cannot be translated and generate test data for po4a.
fr: C’est utile pour vérifier les parties d’un document qui ne peuvent pas être traduites et générer des données de test pour po4a.

note: type: textblock
en: Name of the normalized file to produce (I<po4a-normalize.output> by default).
fr: Nom du fichier normalisé à produire (I<po4a-normalize.output> par défaut).

note: type: textblock
en: Pot file to produce (I<po4a-normalize.po> by default).
fr: Fichier pot à produire (I<po4a-normalize.po> par défaut).

note: type: textblock
en: po4a-translate - convert a PO file back to documentation format
fr: po4a-translate - Convertir un fichier PO en fichier de documentation

note: type: textblock
en: B<po4a-translate> B<-f> I<fmt> B<-m> I<master.doc> B<-p> I<XX.po> B<-l> I<XX.doc>
fr: B<po4a-translate> B<-f> I<fmt> B<-m> I<chapi.doc> B<-p> I<XX.po> B<-l> I<XX.doc>

note: type: textblock
en: (I<XX.doc> is the output, all others are inputs)
fr: (I<XX.doc> est le fichier de sortie, les autres sont des entrées)

note: type: textblock
en: The B<po4a-translate> script is in charge of converting the translation (which was done in a PO file) back into the documentation format. The provided PO file should be the translation of the POT file which was produced by L<po4a-gettextize(1)>.
fr: Le script B<po4a-translate> sert à reconvertir la traduction (faite dans un fichier PO) dans le format d’origine. Le fichier PO fourni devrait être la traduction du fichier POT produit par L<po4a-gettextize(1)>.

note: type: textblock
en: Add a file to the resulting file (to put translator's name or a section "About this translation", for example). The first line of the file to insert should be a PO4A header indicating where it should be added (see section B<HOWTO add extra text to translations> in L<po4a(7)>).
fr: Ajoute le contenu d’un fichier dans le résultat (pour ajouter le nom des membres des équipes de traduction ou une section nommée S<« À> propos de cette S<traduction »>, par exemple). La première ligne du fichier à ajouter (l’S<« addendum »>) doit être un en-tête valable indiquant où l’ajout doit avoir lieu (voir la section B<Comment ajouter des choses qui ne sont pas des traductions> dans L<po4a(7)>).

note: type: textblock
en: File containing the master document to translate.
fr: Fichier contenant les documents d'origine à traduire.

note: type: textblock
en: File where the localized (translated) document should be written.
fr: Fichier où sera écrit le document traduit.

note: type: textblock
en: File from which the message catalog should be read.
fr: Fichier contenant le catalogue de messages à lire.

note: type: textblock
en: Minimal threshold for translation percentage to keep (i.e. write) the resulting file (default: 80). I.e. by default, files have to be translated at least at 80% to get written.
fr: 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.

note: type: =head1
en: Adding content (beside translations) to generated files
fr: Ajouter du contenu (en plus de la traduction) aux fichiers générés

note: type: textblock
en: To add some extra content to the generated document beside what you translated (like the name of the translator, or an "About this translation" section), you should use the B<--addendum> option.
fr: Pour ajouter du contenu autre que la traduction aux fichiers générés (comme le nom des membres des équipes de traduction ou une section à propos de la traduction), vous devez utiliser l’option B<--addendum>.

note: type: textblock
en: The first line of the addendum must be a header indicating where to put it in the document (it can be before or after a given part of the document).  The rest of the file will be added verbatim to the resulting file without further processing.
fr: La première ligne de l’addendum doit être un en-tête indiquant où l’ajout doit avoir lieu dans le fichier généré (cela peut être après ou avant une partie donnée du document). Le reste du fichier sera ajouté sans modification dans le fichier généré.

note: type: textblock
en: Note that if po4a-translate fails to add one of the given files, it discards the whole translation (because the missing file could be the one indicating the author, what would prevent the users to contact him to report bugs in the translation).
fr: Remarquez que si l’ajout de l’un des fichiers échoue, la traduction complète est abandonnée (car le fichier manquant pourrait être celui indiquant le nom des responsables, ce qui empêcherait de les contacter pour leur signaler des erreurs de traduction).

note: type: textblock
en: The header has a pretty rigid syntax. For more information on how to use this feature and how it works, please refer to the L<po4a(7)> man page.
fr: Les en-têtes ont une syntaxe relativement rigide. Référez-vous à la page de manuel L<po4a(7)> pour en savoir plus.

note: type: textblock
en: po4a-updatepo - update the translation (in PO format) of documentation
fr: po4a-updatepo - Mettre la traduction (au format PO) de la documentation à jour

note: type: textblock
en: B<po4a-updatepo> B<-f> I<fmt> (B<-m> I<master.doc>)+ (B<-p> I<XX.po>)+
fr: B<po4a-updatepo> B<-f> I<fmt> (B<-m> I<chapi.doc>)+ (B<-p> I<XX.po>)+

note: type: textblock
en: (I<XX.po> are the outputs, all others are inputs)
fr: (I<XX.po> sont les fichiers de sortie, tous les autres sont des entrées)

note: type: textblock
en: The B<po4a-updatepo> script is in charge of updating PO files to make them reflect the changes made to the original documentation file. For that, it converts the documentation file to a POT file, and call L<msgmerge(1)> on this new POT and on the provided PO files.
fr: Le script B<po4a-updatepo> met à jour un fichier PO afin qu’il reflète les changements apportés au fichier original. Pour cela, il convertit le fichier POD en fichier POT, puis invoque L<msgmerge(1)> sur ce nouveau POT et sur les fichiers PO fournis.

note: type: textblock
en: It is possible to give more than one PO file (if you want to update several languages at once), and several documentation files (if you want to store the translations of several documents in the same PO file).
fr: Il est possible de donner plus d’un fichier PO à la fois (si vous voulez mettre plusieurs langues à jour d’un coup), et plusieurs fichiers de documentation (si vous voulez stocker la traduction de plusieurs documents dans le même fichier PO).

note: type: textblock
en: If the master document has non-ASCII characters, this script will convert the PO files to UTF-8 (if they weren't already), for a transparent handling of non-standard characters.
fr: Si le document d'origine contient des caractères non ASCII, ce script convertira les fichiers PO en UTF-8 (s’ils ne l’étaient pas déjà), pour une gestion transparente des caractères non standard.

note: type: textblock
en: File(s) containing the master document to translate.
fr: Fichier(s) contenant les documents d'origine à traduire.

note: type: textblock
en: Charset of the files containing the document to translate. Note that all files must have the same charset.
fr: Jeu de caractères des fichiers contenant les documents à traduire. Notez que tous les fichiers doivent partager le même jeu de caractères.

note: type: textblock
en: PO file(s) to update. If these files do not exist, they are created by B<po4a-updatepo>.
fr: Fichier(s) PO à mettre à jour. Si ces fichiers n’existent pas, ils sont créés par B<po4a-updatepo>.

note: type: textblock
en: This option removes B<--previous> from the options passed to B<msgmerge>.  This helps supporting old versions of B<gettext> (before v0.16).
fr: Cette option supprime B<--previous> des options passées à B<msgmerge>. Elle permet de prendre en charge les versions de B<gettext> (avant v0.16).

note: type: textblock
en: Argument can be followed by a comma and either B<wrap> or B<nowrap> keyword.  References are written by default on a single line.  The B<wrap> option wraps references on several lines, to mimic B<gettext> tools (B<xgettext> and B<msgmerge>).  This option will become the default in a future release, because it is more sensible.  The B<nowrap> option is available so that users who want to keep the old behavior can do so.
fr: L’argument peut être suivi d’une virgule et d’un des mots clefs B<wrap> ou B<nowrap>. Les références sont écrites par défaut sur une seule ligne. Avec l’option B<wrap>, les références sont placées sur plusieurs lignes, pour imiter le comportement des outils B<gettext> (B<xgettext> et B<msgmerge>). Cette option deviendra la valeur par défaut dans une prochaine version, car elle est plus pertinente. L’option B<nowrap> est disponible pour permettre aux responsables de conserver l’ancien comportement s’ils le désirent.

note: type: textblock
en: Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after this column and after newlines in the content. If set to B<newlines>, po4a will only split the msgid and msgstr after newlines in the content. If set to B<no>, po4a will not wrap the po file at all.  The wrapping of the reference comments is controlled by the B<--porefs> option.
fr: Historiquement, la suite gettext a reformaté les fichiers po à la 77e colonne pour des raisons cosmétiques. Cette option spécifie le comportement de po4a. S'il est défini sur une valeur numérique, po4a reformatera le fichier po après cette colonne et après les retours à la ligne dans le contenu. S'il est défini sur B<newlines>, po4a ne divisera le «msgid» et «msgstr» qu'après les retours à la ligne dans le contenu. S'il est défini sur B<no>, po4a ne reformatera pas du tout le fichier po. Le reformatage des commentaires de référence est contrôlée par l'option B<--porefs>.

note: type: textblock
en: msguntypot - update PO files when a typo is fixed in POT file
fr: msguntypot - Mettre à jour des fichiers PO quand une typo est corrigée dans un fichier POT

note: type: textblock
en: B<msguntypot> B<-o> I<old_pot> B<-n> I<new_pot> I<pofiles> ...
fr: B<msguntypot> B<-o> I<ancien_pot> B<-n> I<nouveau_pot> I<fichier_po> ...

note: type: textblock
en: When you fix a trivial error which surely doesn't affect translations (e.g.  a typo) in a POT file, you should unfuzzy the corresponding msgstr in the translated PO files to avoid so extra work to the translators.
fr: Lorsque vous corrigez une erreur triviale qui n’affectera pas les traductions (par exemple une faute d’orthographe) dans un fichier POT, vous devriez retirer l’étiquette I<fuzzy> sur les msgstr correspondantes dans les fichier PO afin d’éviter du travail supplémentaire aux équipes de traduction.

note: type: textblock
en: This task is difficult and error prone when done manually, and this tool is there to help doing so correctly. You just need to provide the two versions of the POT file: before the edition and after as marked in the above synopsis, and it all becomes automatic.
fr: Cette tâche est difficile et peut générer des erreurs quand elle est faite manuellement. Cet outil est là pour vous aider à faire ceci correctement. Vous n’avez qu’à fournir les deux versions du fichier S<POT :> avant la correction et après, comme indiqué dans la synopsis ci-dessus. Tout le reste est fait automatiquement.

note: type: =head1
en: HOW TO USE IT
fr: COMMENT L’UTILISER

note: type: textblock
en: In short, when you discover a typo in one of your [english] message, do the following:
fr: En bref, quand vous découvrez une erreur dans un de vos messages (en anglais), faites comme suit :

note: type: =item
en: - Regenerate your POT and PO files.
fr: - Recréez vos fichiers POT et PO.

note: type: textblock
en: or something else, depending on your project's building settings. You know how to make sure your POT and PO files are uptodate, don't you??
fr: ou quelque chose d’autre en fonction de votre projet. Vous savez comment mettre à jour vos fichiers POT et PO, n’est-ce pas ?

note: type: =item
en: - Make a copy of your POT file.
fr: - Faites une copie de votre fichier POT.

note: type: =item
en: - Make a copy of all your PO files.
fr: - Faites une copie de tous vos fichiers PO.

note: type: =item
en: - Fix your typo.
fr: - Corrigez l’erreur.

note: type: textblock
en: $EDITOR the_file_in_which_there_is_a_typo
fr: $EDITOR le_fichier_à_corriger

note: type: textblock
en: See above.
fr: Voir ci-dessus.

note: type: textblock
en: At this point, the typo fix fuzzied all the translations, and this unfortunate change is the only one between the PO files of your main directory and the one from the fridge. Here is how to solve this.
fr: À ce moment là, la correction a marqué certaines chaines I<fuzzy>, et ce changement malheureusement est la seule modification entre les fichiers PO de votre répertoire et ceux de po_orig. Voici comment corriger cela.

note: type: =item
en: - Discard fuzzy translation, restore the ones from the fridge.
fr: - Abandonner les traductions I<fuzzy>, récupérer celles du répertoire originel.

note: type: =item
en: - Manually merge the PO files with the new POT file, but taking the useless fuzzy into account.
fr: - Fusionner manuellement les fichiers PO avec le nouveau fichier POT, en prenant en compte le fait que les étiquettes I<fuzzy> sont inutiles.

note: type: =item
en: - Cleanups.
fr: - Nettoyages.

note: type: textblock
en: You're done. The typo was eradicated from msgstr of both your POT and PO files, and the PO files were not fuzzyied in the process. Your translators love you already.
fr: C’est fini. L’erreur a été supprimée des messages de vos fichiers POT et PO, et les fichiers PO n’ont pas été I<fuzzy>fiés au passage. Maintenant, vos équipes de traduction vous aiment.

note: type: textblock
en: Despite its name, this tool is not part of the gettext tool suite. It is instead part of po4a. More precisely, it's a random Perl script using the fine po4a modules. For more information about po4a, please see:
fr: Contrairement à ce que son nom indique, cet outil ne fait pas partie de la suite d’outils gettext. Il fait partie de po4a. Plus précisément, il s’agit d’un script Perl utilisant les modules de po4a. Pour en savoir plus sur po4a, consultez :

note: type: textblock
en: Copyright 2005 by SPI, inc.
fr: Copyright 2005 par SPI, inc.

note: type: textblock
en: po4a - framework to translate documentation and other materials
fr: po4a - Cadre de travail pour la traduction de documentations et autres documents

note: type: textblock
en: po4a (PO for anything) eases the maintenance of documentation translation using the classical gettext tools. The main feature of po4a is that it decouples the translation of content from its document structure.
fr: po4a (PO pour tout – PO for anything) facilite la maintenance de la traduction de la documentation en utilisant les outils classiques de gettext. La principale caractéristique de po4a est qu'il dissocie la traduction du contenu et la structure du document.

note: type: textblock
en: This document serves as an introduction to the po4a project with a focus on potential users considering whether to use this tool and on the curious wanting to understand why things are the way they are.
fr: Ce document sert d'introduction au projet po4a en mettant l'accent sur personnes qui envisagent éventuellement d'utiliser cet outil et qui sont simplement curieuses et souhaitent comprendre pourquoi les choses sont comme elles sont.

note: type: =head1
en: Why po4a?
fr: Pourquoi po4a ?

note: type: textblock
en: The philosophy of Free Software is to make the technology truly available to everyone. But licensing is not the only consideration: untranslated free software is useless for non-English speakers. Therefore, we still have some work to do to make software available to everybody.
fr: La philosophie des logiciels libres est de rendre la technologie réellement disponible à tout le monde. Cependant, la licence n’est pas la seule préoccupation car un logiciel libre non traduit est inutilisable par des publics non anglophones. En conséquence, nous avons encore du travail pour rendre les logiciels globalement disponibles.

note: type: textblock
en: This situation is well understood by most projects and everybody is now convinced of the necessity to translate everything. Yet, the actual translations represent a huge effort of many individuals, crippled by small technical difficulties.
fr: Cette situation est bien comprise par la plupart des projets et tout le monde est désormais convaincu de la nécessité de tout traduire. Pourtant, les traductions représentent un effort énorme de nombreuses personnes, paralysées par de petites difficultés techniques.

note: type: textblock
en: Thankfully, Open Source software is actually very well translated using the gettext tool suite. These tools are used to extract the strings to translate from a program and present the strings to translate in a standardized format (called PO files, or translation catalogs). A whole ecosystem of tools has emerged to help the translators actually translate these PO files. The result is then used by gettext at run time to display translated messages to the end users.
fr: Heureusement, les logiciels libres sont réellement très bien traduits grâce à la suite d’outils gettext. Ces outils sont utilisés pour extraire les chaines traduisibles d’un programme et pour présenter ces dans un format standardisé (appelés fichiers PO, ou catalogue de traduction). Tout un écosystème d’outils a émergé pour aider les équipes de traduction à traduire ces fichiers PO. Le résultat est alors utilisé par gettext à l'exécution du logiciel pour afficher les messages traduits dans l’interface d’utilisation.

note: type: textblock
en: Regarding documentation, however, the situation still somewhat disappointing.  At first translating documentation may seem to be easier than translating a program as it would seem that you just have to copy the documentation source file and start translating the content. However, when the original documentation is modified, keeping track of the modifications quickly turns into a nightmare for the translators. If done manually, this task is unpleasant and error-prone.
fr: En ce qui concerne la documentation, cependant, la situation est quelque peu décevante. Au début, la traduction de la documentation peut sembler plus facile que la traduction d'un programme, car il semblerait que vous deviez simplement copier le fichier source de la documentation et commencer à traduire le contenu. Cependant, lorsque la documentation originale est modifiée, le suivi des modifications se transforme rapidement en cauchemar pour les équipes de traduction. Si elle est effectuée manuellement, cette tâche est désagréable et sujette aux erreurs.

note: type: textblock
en: Outdated translations are often worse than no translation at all. End-users can be tricked by documentation describing an old behavior of the program.  Furthermore, they cannot interact directly with the maintainers since they don't speak English. Additionally, the maintainer cannot fix the problem as they don't know every language in which their documentation is translated.  These difficulties, often caused by poor tooling, can undermine the motivation of volunteer translators, further aggravating the problem.
fr: Les traductions obsolètes sont souvent pires qu’une absence de traduction. Une documentation qui décrit un comportement désormais obsolète du programme sera trompeuse. De plus, la prise de contact avec les responsables du logiciels est impossible à cause de la barrière de la langue. De plus, les responsables ne peuvent pas forcément résoudre les problèmes sans une connaissance de toutes les langues dans lesquelles la documentation est traduite. Ces difficultés, souvent causées par un mauvais outillage, peuvent miner la motivation des équipes de traduction, aggravant encore les problèmes.

note: type: textblock
en: B<The goal of the po4a project is to ease the work of documentation translators>.  In particular, it makes documentation translations I<maintainable>.
fr: B<Le but du projet po4a est de faciliter le travail de traduction de la documentation>. En particulier, il facilite la I<maintenance> des traductions de documentation.

note: type: textblock
en: The idea is to reuse and adapt the gettext approach to this field. As with gettext, texts are extracted from their original locations and presented to translators as PO translation catalogs. The translators can leverage the classical gettext tools to monitor the work to do, collaborate and organize as teams. po4a then injects the translations directly into the documentation structure to produce translated source files that can be processed and distributed just like the English files. Any paragraph that is not translated is left in English in the resulting document, ensuring that the end users never see an outdated translation in the documentation.
fr: L'idée est de réutiliser et d'adapter l'approche gettext à ce domaine. Comme pour gettext, les textes sont extraits de leur emplacement d'origine et présentés aux équipes de traduction sous forme de catalogues de traduction PO. Les équipes de traduction peuvent utiliser les outils classiques de gettext pour suivre le travail à faire, collaborer et s'organiser. po4a injecte ensuite les traductions directement dans la structure de la documentation pour produire des fichiers traduits qui peuvent être traités et distribués comme les fichiers anglais. Tout paragraphe qui n'est pas traduit est laissé en anglais dans le document résultant, garantissant que des traductions obsolètes ne voient jamais le jour.

note: type: textblock
en: This automates most of the grunt work of the translation maintenance.  Discovering the paragraphs needing an update becomes very easy, and the process is completely automated when elements are reordered without further modification. Specific verification can also be used to reduce the chance of formatting errors that would result in a broken document.
fr: Ceci automatise la plupart des gros travaux de maintenance de la traduction. La découverte des paragraphes nécessitant une mise à jour devient très facile et le processus est complètement automatisé lorsque les éléments sont réorganisés sans autre modification. Une vérification spécifique peut également être utilisée pour réduire le risque d'erreurs de formatage qui entraineraient un document altéré.

note: type: textblock
en: Please also see the B<FAQ> below in this document for a more complete list of the advantages and disadvantages of this approach.
fr: Veuillez également consulter la B<FAQ> plus bas dans ce document pour une liste plus complète des avantages et inconvénients de cette approche.

note: type: =head2
en: Supported formats
fr: Formats pris en charge

note: type: textblock
en: Currently, this approach has been successfully implemented to several kinds of text formatting formats:
fr: Actuellement, cette approche a été implémentée avec succès pour un certain nombre de formats de mise en page de texte :

note: type: =item
en: man (mature parser)
fr: man (analyseur stable)

note: type: textblock
en: The good old manual pages' format, used by so many programs out there. po4a support is very welcome here since this format is somewhat difficult to use and not really friendly to newbies.
fr: Le bon vieux format des pages de manuel, utilisé par beaucoup de programmes. Le support de po4a pour ce format est très utile parce que ce format est assez compliqué, surtout pour les débutants.

note: type: textblock
en: The L<Locale::Po4a::Man(3pm)|Man> module also supports the mdoc format, used by the BSD man pages (they are also quite common on Linux).
fr: Le module L<Locale::Po4a::Man(3pm)|Man> prend également en charge le format mdoc, utilisé par les pages de manuel BSD (ils sont également assez courants sous Linux).

note: type: =item
en: AsciiDoc (mature parser)
fr: AsciiDoc (analyseur stable)

note: type: textblock
en: This format is a lightweight markup format intended to ease the authoring of documentation. It is for example used to document the git system. Those manpages are translated using po4a.
fr: Ce format est un format de balisage léger destiné à faciliter la création de documentation. Il est par exemple utilisé pour documenter le système git. Ces pages de manuel sont traduites à l'aide de po4a.

note: type: textblock
en: See L<Locale::Po4a::AsciiDoc> for details.
fr: Voir L<Locale::Po4a::AsciiDoc> pour en savoir plus.

note: type: =item
en: pod (mature parser)
fr: pod (analyseur stable)

note: type: textblock
en: This is the Perl Online Documentation format. The language and extensions themselves are documented using this format in addition to most existing Perl scripts. It makes easy to keep the documentation close to the actual code by embedding them both in the same file. It makes programmer's life easier, but unfortunately, not the translator's, until you use po4a.
fr: C’est le format pour la documentation en ligne de Perl (« S<P>erl S<O>nline S<D>ocumentation> »). Le langage et ses documentations sont documentés en utilisant ce format en plus de la majorité des scripts Perl existants. Il permet de garder la documentation plus fidèle au code en les intégrant tous deux au même fichier. Il rend la vie du programmeur plus simple, mais malheureusement pas celle des équipes de traduction jusqu'à ce que vous utilisiez po4a.

note: type: textblock
en: See L<Locale::Po4a::Pod> for details.
fr: Voir L<Locale::Po4a::Pod> pour en savoir plus.

note: type: =item
en: sgml (mature parser)
fr: sgml (analyseur stable)

note: type: textblock
en: Even if superseded by XML nowadays, this format is still used for documents which are more than a few screens long. It can even be used for complete books.  Documents of this length can be very challenging to update. B<diff> often reveals useless when the original text was re-indented after update.  Fortunately, po4a can help you after that process.
fr: Même s’il est de plus en plus remplacé par le XML, ce format est encore assez utilisé pour les documents dont la taille dépasse plusieurs écrans. Il permet même de faire des livres complets. Des documents aussi longs peuvent être vraiment complexes à traduire. B<diff> se montre souvent inutile quand le document original a été réindenté après une mise à jour. Heureusement, po4a vous aide dans cette tâche.

note: type: textblock
en: Currently, only DebianDoc and DocBook DTD are supported, but adding support for a new one is really easy. It is even possible to use po4a on an unknown SGML DTD without changing the code by providing the needed information on the command line. See L<Locale::Po4a::Sgml(3pm)> for details.
fr: Actuellement, seules les DTD DebianDoc et DocBook sont prises en charge, mais l’ajout d’une nouvelle DTD est très facile. Il est même possible d’utiliser po4a avec une DTD SGML inconnue sans modifier le code en fournissant les informations nécessaires sur la ligne de commande. Consultez L<Locale::Po4a::Sgml(3pm)> pour en savoir plus.

note: type: =item
en: TeX / LaTeX (mature parser)
fr: TeX / LaTeX (analyseur stable)

note: type: textblock
en: The LaTeX format is a major documentation format used in the Free Software world and for publications.
fr: Le format LaTeX est un format majeur utilisé pour les documentations dans le monde du logiciel libre ou pour des publications.

note: type: textblock
en: The L<Locale::Po4a::LaTeX(3pm)|LaTeX> module was tested with the Python documentation, a book and some presentations.
fr: Le module L<Locale::Po4a::LaTeX(3pm)|LaTeX> a été testé avec la documentation de Python, un livre et avec quelques présentations.

note: type: =item
en: text (mature parser)
fr: text (analyseur stable)

note: type: textblock
en: The Text format is the base format for many formats that include long blocks of text, including Markdown, fortunes, YAML front matter section, debian/changelog, and debian/control.
fr: Le format Text est le format de base pour de nombreux formats qui incluent de longs blocs de texte, y compris Markdown, fortunes, sections préliminaires YAML, debian/changelog et debian/control.

note: type: textblock
en: This supports the common format used in Static Site Generators, READMEs, and other documentation systems. See L<Locale::Po4a::Text(3pm)|Text> for details.
fr: Ceci prend en charge le format commun utilisé dans les générateurs de sites statiques, les README et d'autres systèmes de documentation. Voir L<Locale::Po4a::Text(3pm)|Text> pour en savoir plus.

note: type: =item
en: xml and XHMTL (probably mature parser)
fr: xml and XHMTL (analyseur probablement stable)

note: type: textblock
en: The XML format is a base format for many documentation formats.
fr: Le format XML est à la base de beaucoup de formats pour la documentation.

note: type: textblock
en: Currently, the DocBook DTD (see L<Locale::Po4a::Docbook(3pm)> for details) and XHTML are supported by po4a.
fr: À ce jour, la DTD DocBook et XHTML sont pris en charge par po4a. Consultez L<Locale::Po4a::Docbook(3pm)> pour en savoir plus.

note: type: =item
en: BibTex (probably mature parser)
fr: BibTex (analyseur probablement stable)

note: type: textblock
en: The BibTex format is used alongside LaTex for formatting lists of references (bibliographies).
fr: Le format BibTex est utilisé conjointement avec LaTeX pour la mise en forme des listes de références (bibliographies).

note: type: textblock
en: See L<Locale::Po4a::BibTex> for details.
fr: Voir L<Locale::Po4a::BibTex> pour en savoir plus.

note: type: =item
en: Docbook (probably mature parser)
fr: DocBook (analyseur probablement stable)

note: type: textblock
en: A XML-based markup language that uses semantic tags to describe documents.
fr: Un langage de balisage basé sur XML qui utilise des balises sémantiques pour décrire des documents.

note: type: textblock
en: See L<Locale::Po4a:Docbook> for greater details.
fr: Voir L<Locale::Po4a:Docbook> pour en savoir plus.

note: type: =item
en: Guide XML (probably mature parser)
fr: Guide XML (analyseur probablement stable)

note: type: textblock
en: A XML documentation format. This module was developed specifically to help with supporting and maintaining translations of Gentoo Linux documentation up until at least March 2016 (Based on the Wayback Machine). Gentoo have since moved to the DevBook XML format.
fr: Un format de documentation XML. Ce module a été développé spécifiquement pour aider à prendre en charge et à maintenir les traductions de la documentation de Gentoo Linux jusqu'à au moins mars 2016 (basé sur la Wayback Machine). Gentoo est depuis passé au format DevBook XML.

note: type: textblock
en: See L<Locale::Po4a:Guide> for greater details.
fr: Voir L<Locale::Po4a:Guide> pour en savoir plus.

note: type: =item
en: Wml (probably mature parser)
fr: Wml (analyseur probablement stable)

note: type: textblock
en: The Web Markup Language, do not mixup WML with the WAP stuff used on cell phones.  This module relies on the Xhtml module, which itself relies on the XmL module.
fr: Le Web Markup Language, ne pas confondre le WML avec le WAP utilisé sur les téléphones portables.  Ce module s'appuie sur le module Xhtml, qui lui-même s'appuie sur le module XmL.

note: type: textblock
en: See L<Locale::Po4a::Wml> for greater details.
fr: Voir L<Locale::Po4a::Wml> pour en savoir plus.

note: type: =item
en: Yaml (probably mature parser)
fr: Yaml (analyseur probablement stable)

note: type: textblock
en: A strict superset of JSON. YAML is often used as systems or configuration projects.  YAML is at the core of Red Hat's Ansible.
fr: Un surensemble strict de JSON. YAML est souvent utilisé comme systèmes ou projets de configuration.  YAML est au cœur d’Ansible de Red Hat.

note: type: textblock
en: See L<Locale::Po4a::Yaml> for greater details.
fr: Voir L<Locale::Po4a::Yaml> pour en savoir plus.

note: type: =item
en: RubyDoc (probably mature parser)
fr: RubyDoc (analyseur probablement stable)

note: type: textblock
en: The Ruby Document (RD) format, originally the default documentation format for Ruby and Ruby projects before converted to RDoc in 2002. Though apparently the Japanese version of the Ruby Reference Manual still use RD.
fr: Le format Ruby Document (RD), à l'origine le format de documentation par défaut pour Ruby et les projets Ruby avant d'être la conversion à RDoc en 2002. Bien qu'apparemment la version japonaise du Manuel de Référence Ruby utilise toujours le RD.

note: type: textblock
en: See L<Locale::Po4a::RubyDoc> for greater details.
fr: Voir L<Locale::Po4a::RubyDoc> pour en savoir plus.

note: type: =item
en: Halibut (probably experimental parser)
fr: Halibut (analyseur très expérimental)

note: type: textblock
en: A documentation production system, with elements similar to TeX, debiandoc-sgml, TeXinfo, and others, developed by Simon Tatham, the developer of PuTTY.
fr: Un système de production de documentation, avec des éléments similaires à TeX, debiandoc-sgml, TeXinfo, et autres, développé par Simon Tatham, le développeur de PuTTY.

note: type: textblock
en: See L<Locale::Po4a:Halibut> for greater details.
fr: Voir L<Locale::Po4a:Halibut> pour en savoir plus.

note: type: =item
en: Ini (probably experimental parser)
fr: Ini (analyseur très expérimental)

note: type: textblock
en: Configuration file format popularized by MS-DOS.
fr: Format de fichier de configuration popularisé par MS-DOS.

note: type: textblock
en: See L<Locale::Po4a::Ini> for greater details.
fr: Voir L<Locale::Po4a::Ini> pour en savoir plus.

note: type: =item
en: texinfo (very highly experimental parser)
fr: texinfo (analyseur très expérimental)

note: type: textblock
en: All of the GNU documentation is written in this format (it's even one of the requirements to become an official GNU project). The support for L<Locale::Po4a::Texinfo(3pm)|Texinfo> in po4a is still at the beginning.  Please report bugs and feature requests.
fr: Toutes les documentations du projet GNU sont écrites dans ce format (c’est même une des exigences pour devenir un projet officiel du projet GNU). La prise en charge pour L<Locale::Po4a::Texinfo(3pm)|Texinfo> dans po4a en est encore à ses débuts. N’hésitez pas à nous envoyer des rapports de bogue ou des demandes de nouvelle fonctionnalité.

note: type: =item
en: gemtext (very highly experimental parser)
fr: gemtext (analyseur très expérimental)

note: type: =item
en: Others supported formats
fr: Autres formats supportés

note: type: =item
en: Unsupported formats
fr: Formats non supportés

note: type: textblock
en: Unfortunately, po4a still lacks support for several documentation formats. Many of them would be easy to support in po4a. This includes formats not just used for documentation, such as, package descriptions (deb and rpm), package installation scripts questions, package changelogs, and all the specialized file formats used by programs such as game scenarios or wine resource files.
fr: Malheureusement, po4a soufre d’un manque de prise en charge de divers formats de documentation. Beaucoup d’entre eux seraient simples à prendre en charge dans po4a. Cela inclut des formats étant utilisés pour plus que de la documentation, tels que les descriptions de paquets (deb et rpm), aux questions posées par les scripts d’installation, en passant par les fichiers changelog, et de tous les formats spécifiques tels que les scénarios de jeux ou les fichiers de ressource pour wine.

note: type: =head1
en: Using po4a
fr: Utiliser po4a

note: type: textblock
en: The easiest way to use this tool in your project is to write a configuration file for the B<po4a> program, and only interact with this program. Please refer to its documentation, in L<po4a(1)>. The rest of this section provides more details for the advanced users of po4a wanting to deepen their understanding.
fr: La manière la plus simple d'utiliser cet outil dans votre projet est d'écrire un fichier de configuration pour le programme B<po4a>, et de n'interagir qu'avec ce programme. Référez-vous à sa documentation, dans L<po4a(1)>. Le reste de cette section fournit plus de détails pour une utilisation avancée et une compréhension approfondie de po4a.

note: type: =head2
en: Detailed schema of the po4a workflow
fr: Schéma détaillé du flux de travail de po4a

note: type: textblock
en: Make sure to read L<po4a(1)> before this overly detailed section to get a simplified overview of the po4a workflow. Come back here when you want to get the full scary picture, with almost all details.
fr: Assurez-vous d'avoir lu L<po4a(1)> avant d'aborder cette section trop détaillée afin d'obtenir une vue d'ensemble simplifiée du flux de travail de po4a. Revenez ici pour obtenir l'image complète et effrayante, avec presque tous les détails.

note: type: textblock
en: Transitions with square brackets such as C<[po4a updates po]> represent the execution of a po4a tool while transitions with curly brackets such as C<{update of master.doc}> represent a manual modification of the project's files.
fr: Les transitions entre crochets telles que C<[po4a met à jour le po]> représentent l'exécution d'un outil po4a, tandis que les transitions entre accolades telles que C<{mise à jour de chapi.doc}> représentent une modification manuelle des fichiers du projet.

note: type: textblock
en: Again, this schema is overly complicated. Check on L<po4a(1)> for a simplified overview.
fr: Là encore, ce schéma est particulièrement compliqué. Consultez L<po4a(1)> pour un aperçu simplifié.

note: type: textblock
en: The left part depicts how L<po4a-gettextize(1)> can be used to convert an existing translation project to the po4a infrastructure. This script takes an original document and its translated counterpart, and tries to build the corresponding PO file. Such manual conversion is rather cumbersome (see the L<po4a-gettextize(1)> documentation for more details), but it is only needed once to convert your existing translations. If you don't have any translation to convert, you can forget about this and focus on the right part of the schema.
fr: La partie à gauche montre comment L<po4a-gettextize(1)> peut être utilisé pour convertir un projet de traduction existant en infrastructure po4a. Ce script prend un document original et son équivalent traduit, et essaie de créer le fichier PO correspondant. Une telle conversion manuelle est assez lourde (voir la documentation L<po4a-gettextize(1)> pour en savoir plus), mais elle n'est nécessaire qu'une seule fois pour convertir vos traductions existantes. Si vous n'avez aucune traduction à convertir, vous pouvez oublier cela et vous concentrer sur la partie droite du schéma.

note: type: textblock
en: On the top right part, the action of the original author is depicted, updating the documentation.  The middle right part depicts the automatic updates of translation files: the new material is extracted and compared against the exiting translation. The previous translation is used for the parts that didn't change, while partially modified parts are connected to the previous translation with a "fuzzy" marker indicating that the translation must be updated. New or heavily modified material is left untranslated.
fr: En haut à droite est décrit ce qui relève de l’auteur du document d’origine, la mise à jour de la documentation. Au milieu à droite sont décrites les mises à jour automatisées des fichiers à traduire : les nouvelles chaines sont extraites et comparées avec la traduction existante. La traduction existante est utilisée pour les parties n’ayant pas changé, alors que celles qui ont été en partie modifiées sont également associées à leur ancienne traduction, mais avec un marquage « fuzzy » indiquant que la traduction doit être mise à jour. Un contenu nouveau ou fortement modifié est laissé non traduit.

note: type: textblock
en: Then, the I<manual editing> block depicts the action of the translators, that modify the PO files to provide translations to every original string and paragraph. This can be done using either a specific editor such as the B<GNOME Translation Editor>, KDE's B<Lokalize> or B<poedit>, or using an online localization platform such as B<weblate> or B<pootle>. The translation result is a set of PO files, one per language. Please refer to the gettext documentation for more details.
fr: Ensuite, le bloc I<modifications manuelles> décrit l'action des équipes de traduction qui modifient les fichiers PO pour fournir des traductions à chaque chaine et paragraphe d'origine. Cela peut être fait en utilisant un éditeur spécifique tel que B<GNOME Translation Editor>, B<Lokalize> de KDE ou B<poedit>, ou en utilisant une plateforme de localisation en ligne telle que B<weblate> ou B<pootle>. Le résultat de la traduction est un ensemble de fichiers PO, un par langue. Référez-vous à la documentation de gettext pour en savoir plus.

note: type: textblock
en: The bottom part of the figure shows how B<po4a> creates a translated source document from the F<master.doc> original document and the F<doc.XX.po> translation catalog that was updated by the translators. The structure of the document is reused, while the original content is replaced by its translated counterpart. Optionally, an addendum can be used to add some extra text to the translation. This is often used to add the name of the translator to the final document. See below for details.
fr: La partie inférieure de la figure montre comment B<po4a> crée un document source traduit à partir du document original F<chapi.doc> et du catalogue de traduction F<doc.XX.po> mis à jour par les équipes de traduction. La structure du document est réutilisée, tandis que le contenu original est remplacé par son équivalent traduit. En option, un addendum peut être utilisé pour ajouter du texte supplémentaire à la traduction. Ceci est souvent utilisé pour ajouter le nom des membres des équipes de traduction au document final. Voir ci-dessous pour en savoir plus.

note: type: textblock
en: Upon invocation, B<po4a> updates both the translation files and the translated documentation files automatically.
fr: L'appel à B<po4a> met à jour automatiquement aussi bien les fichiers à traduire que les fichiers traduits.

note: type: =head2
en: Starting a new translation project
fr: Commencer un nouveau projet de traduction

note: type: textblock
en: If you start from scratch, you just have to write a configuration file for po4a, and you are set.  The relevant templates are created for the missing files, allowing your contributors to translate your project to their language. Please refer to L<po4a(1)> for a quick start tutorial and for all details.
fr: Si vous partez de zéro, il vous suffit d'écrire un fichier de configuration pour po4a pour commencer. Des modèles appropriés sont créés pour les fichiers manquants, ce qui permet à vos contributeurs de traduire votre projet dans leur langue. Consultez L<po4a(1)> pour un tutoriel de démarrage rapide et pour tous les détails.

note: type: textblock
en: If you have an existing translation, i.e. a documentation file that was translated manually, you can integrate its content in your po4a workflow using B<po4a-gettextize>. This task is a bit cumbersome (as described in the tool's manpage), but once your project is converted to po4a workflow, everything will be updated automatically.
fr: Si vous disposez d'une traduction existante, c'est-à-dire d'un fichier de documentation qui a été traduit manuellement, vous pouvez intégrer son contenu dans votre flux de travail po4a en utilisant B<po4a-gettextize>. Cette tâche est un peu lourde (comme décrit dans la page de man de l'outil), mais une fois que votre projet est mis en adaptation au flux de travail po4a, tout sera mis à jour automatiquement.

note: type: =head2
en: Updating the translations and documents
fr: Mettre à jour les traductions et les documents

note: type: textblock
en: Once setup, invoking B<po4a> is enough to update both the translation PO files and translated documents. You may pass the C<--no-translations> to B<po4a> to not update the translations (thus only updating the PO files) or C<--no-update> to not update the PO files (thus only updating the translations). This roughly corresponds to the individual B<po4a-updatepo> and B<po4a-translate> scripts which are now deprecated (see "Why are the individual scripts deprecated" in the FAQ below).
fr: Une fois configuré, il suffit d'invoquer B<po4a> pour mettre à jour à la fois les fichiers PO de traduction et les documents traduits. Vous pouvez passer l'argument C<--no-translations> à B<po4a> pour ne pas mettre à jour les traductions (et donc juste mettre à jour les fichiers PO) ou l'argument C<--no-update> pour ne pas mettre à jour les fichiers PO (et donc juste mettre à jour les traductions). Cela correspond à peu près aux scripts individuels B<po4a-updatepo> et B<po4a-translate> qui sont maintenant obsolètes (voir «Pourquoi les scripts individuels sont-ils obsolètes» dans la FAQ ci-dessous).

note: type: =head2
en: Using addenda to add extra text to translations
fr: Utiliser les addendas pour ajouter du texte supplémentaire aux traductions

note: type: textblock
en: Adding new text to the translation is probably the only thing that is easier in the long run when you translate files manually :). This happens when you want to add an extra section to the translated document, not corresponding to any content in the original document. The classical use case is to give credits to the translation team, and to indicate how to report translation-specific issues.
fr: Ajouter un nouveau texte à la traduction est probablement la seule chose qui soit plus facile à long terme lorsque vous traduisez des fichiers manuellement :). Cela se produit lorsque vous souhaitez ajouter une section supplémentaire au document traduit, ne correspondant à aucun contenu du document d'origine. Le cas d'usage classique consiste à mentionner l'équipe de traduction et à indiquer comment signaler les problèmes spécifiques à la traduction.

note: type: textblock
en: With po4a, you have to specify B<addendum> files, that can be conceptually viewed as patches applied to the localized document after processing. Each addendum must be provided as a separate file, which format is however very different from the classical patches. The first line is a I<header line>, defining the insertion point of the addendum (with an unfortunately cryptic syntax -- see below) while the rest of the file is added verbatim at the determined position.
fr: Avec po4a, vous devez spécifier les fichiers B<addendum>, qui peuvent être conceptuellement considérés comme des correctifs appliqués au document localisé après traitement. Chaque addendum doit être fourni dans un fichier séparé, dont le format est cependant très différent des correctifs classiques. La première ligne est une I<ligne d'en-tête>, définissant le point d'insertion de l'addendum (avec une syntaxe malheureusement obscure - voir ci-dessous) tandis que le reste du fichier est ajouté textuellement à la position déterminée.

note: type: textblock
en: The header line must begin with the string B<PO4A-HEADER:>, followed by a semi-colon separated list of I<key>B<=>I<value> fields.
fr: La ligne d'entête doit commencer par la chaine B<PO4A-HEADER:>, suivie d'une liste de champs I<clé>B<=>I<valeur> séparés par des points-virgules.

note: type: textblock
en: For example, the following header declares an addendum that must be placed at the very end of the translation.
fr: Par exemple, l'entête suivant déclare un addendum qui doit être placé à la toute fin de la traduction.

note: type: textblock
en: Things are more complex when you want to add your extra content in the middle of the document. The following header declares an addendum that must be placed after the XML section containing the string C<About this document> in translation.
fr: Les choses sont plus complexes lorsque vous souhaitez ajouter votre contenu supplémentaire au milieu du document. L'entête suivant déclare un addendum qui doit être placé après la section XML contenant la chaine C<À propos de ce document> en traduction.

note: type: textblock
en: In practice, when trying to apply an addendum, po4a searches for the first line matching the C<position> argument (this can be a regexp). Do not forget that po4a considers the B<translated> document here. This documentation is in English, but your line should probably read as follows if you intend your addendum to apply to the French translation of the document.
fr: En pratique, en essayant d'appliquer un addendum, po4a recherche la première ligne correspondant à l'argument C<position> (cela peut être une expression régulière regexp). N'oubliez pas que po4a considère ici le document B<traduit>. Cette documentation est en anglais, mais votre ligne devrait probablement se lire comme suit si vous souhaitez que votre addendum s'applique à la traduction française du document.

note: type: textblock
en: Once the C<position> is found in the target document, po4a searches for the next line after the C<position> that matches the provided C<endboundary>. The addendum is added right B<after> that line (because we provided an I<endboundary>, i.e. a boundary ending the current section).
fr: Une fois que la C<position> est trouvée dans le document cible, po4a recherche la ligne suivante après la C<position> qui correspond au C<endboundary> fourni. L'addendum est ajouté juste B<après> cette ligne (car nous avons fourni un I<endboundary>, c'est-à-dire une limite terminant la section courante).

note: type: textblock
en: The exact same effect could be obtained with the following header, that is equivalent:
fr: Le même effet pourrait être obtenu avec l'entête suivant, qui est équivalent :

note: type: textblock
en: Here, po4a searches for the first line matching C<< <section> >> after the line matching C<About this document> in the translation, and add the addendum B<before> that line since we provided a I<beginboundary>, i.e. a boundary marking the beginning of the next section. So this header line requires placing the addendum after the section containing C<About this document>, and instruct po4a that a section starts with a line containing the C<< <section> >> tag. This is equivalent to the previous example because what you really want is to add this addendum either after C<< </section> >> or before C<< <section> >>.
fr: Ici, po4a recherche la première ligne correspondant à C<< <section> >> après la ligne correspondant à C<À propos de ce document> dans la traduction, et ajoute l'addendum B<avant> cette ligne puisque nous avons fourni un I<beginboundary>, c'est-à-dire une limite marquant le début de la section suivante. Donc, cette ligne d'entête impose de placer l'addendum après la section contenant C<À propos de ce document>, et d'informer po4a qu'une section commence par une ligne contenant la balise C<< <section> >>. C'est équivalent à l'exemple précédent, car ce que vous voulez vraiment, c'est ajouter cet addendum soit après C<< </section> >> soit avant C<< <section. >>.

note: type: textblock
en: You can also set the insertion I<mode> to the value C<before>, with a similar semantic: combining C<mode=before> with an C<endboundary> will put the addendum just B<after> the matched boundary, that is the last potential boundary line before the C<position>. Combining C<mode=before> with an C<beginboundary> will put the addendum just B<before> the matched boundary, that is the last potential boundary line before the C<position>.
fr: Vous pouvez également définir le I<mode> insertion sur la valeur C<before>, avec une sémantique similaire : combiner C<mode=before> avec un C<endboundary> mettra l'addendum juste B<après> la limite correspondante, qui est la dernière limite potentielle avant la C<position>. La combinaison de C<mode=before> avec un C<beginboundary> placera l'addendum juste B<avant> la limite correspondante, c'est-à-dire la dernière limite potentielle avant la C<position>.

note: type: =head3
en: Hint and tricks about addenda
fr: Trucs et astuces sur les addendas

note: type: =item
en: Remember that these are regexp. For example, if you want to match the end of a nroff section ending with the line C<.fi>, do not use C<.fi> as B<endboundary>, because it will match with C<the[ fi]le>, which is obviously not what you expect. The correct B<endboundary> in that case is: C<^\.fi$>.
fr: Gardez à l’esprit que ce sont des expressions rationnelles. Par exemple, si vous voulez correspondre à la fin d’une section nroff terminant par la ligne C<.fi>, n’utilisez pas C<.fi> comme valeur pour B<endboundary>, parce que cala correspondra également à C<ce[ fi]chier>, ce qui n’est évidemment pas ce que vous voulez. La valeur du champ B<endboundary> dans ce cas est C<^\.fi$>.

note: type: =item
en: White spaces ARE important in the content of the C<position> and boundaries. So the two following lines B<are different>. The second one will only be found if there is enough trailing spaces in the translated document.
fr: Les espaces SONT importants dans le contenu de la C<position> et des limites. Donc les deux lignes suivantes B<sont différentes>. La seconde ne sera trouvé que s'il y a suffisamment d'espaces de fin dans le document traduit.

note: type: =item
en: Although this context search may be considered to operate roughly on each line of the B<translated> document, it actually operates on the internal data string of the translated document. This internal data string may be a text spanning a paragraph containing multiple lines or may be a XML tag itself alone. The exact I<insertion point> of the addendum must be before or after the internal data string and can not be within the internal data string.
fr: Bien que cette recherche contextuelle puisse être considérée comme opérant à peu près sur toutes les lignes du document B<traduit>, elle opère en fait sur la chaîne de caractères des données internes à po4a. Cette chaîne de caractères des données internes peut être aussi bien un texte s'étendant sur un paragraphe et contenant plusieurs lignes, ou bien peut être un marqueur XML isolé. Le I<point d'insertion> exact de l'addendum doit donc être placé avant ou après cette chaîne de caractères des données internes et ne peut pas être à l'intérieur de celle-ci.

note: type: =item
en: Pass the C<-vv> argument to B<po4a> to understand how the addenda are added to the translation. It may also help to run B<po4a> in debug mode to see the actual internal data string when your addendum does not apply.
fr: Passez l'argument C<-vv> à B<po4a> pour comprendre comment les addendas sont ajoutés à la traduction. Il peut également être utile d'exécuter B<po4a> en mode débogage pour voir la chaîne de données interne réelle lorsque votre addendum ne s'applique pas.

note: type: =head3
en: Addenda examples
fr: Exemples d'addenda

note: type: =item
en: If you want to add something after the following nroff section:
fr: Si vous voulez ajouter quelque chose après la section nroff suivante :

note: type: textblock
en: You should select a two-step approach by setting B<mode=after>. Then you should narrow down search to the line after B<AUTHORS> with the B<position> argument regex. Then, you should match the beginning of the next section (i.e., B<^\.SH>) with the B<beginboundary> argument regex. That is to say:
fr: Vous devez sélectionner une approche en deux étapes en définissant B<mode=after>. D'abord, vous devez restreindre la recherche à la ligne après B<AUTHORS> avec l'argument de B<position>. Ensuite, vous devez faire correspondre le début de la section suivante (c'est-à-dire, B<^\.SH>) avec l'argument de B<beginboundary>. C'est-à-dire :

note: type: =item
en: If you want to add something right after a given line (e.g. after the line "Copyright Big Dude"), use a B<position> matching this line, B<mode=after> and give a B<beginboundary> matching any line.
fr: Si vous voulez ajouter quelque chose juste après une ligne donnée (par exemple après « Copyright Bidule »), utilisez une B<position> correspondant à cette ligne, un B<mode=after> et renseignez un champ B<beginboundary> correspondant à n’importe quelle ligne.

note: type: =item
en: If you want to add something at the end of the document, give a B<position> matching any line of your document (but only one line. Po4a won't proceed if it's not unique), and give an B<endboundary> matching nothing. Don't use simple strings here like B<"EOF">, but prefer those which have less chance to be in your document.
fr: Si vous voulez ajouter quelque chose à la fin du document, donnez une position correspondant à n’importe quelle ligne du document (mais à une seule ligne, puisque po4a n’acceptera pas que la position ne corresponde pas à une ligne unique), et donnez un champ B<endboundary> ne correspondant à aucune ligne. N’utilisez pas de chaîne simple, comme B<"EOF">, mais préférez-en une qui a une chance moindre de se trouver dans votre document.

note: type: =head3
en: More detailed example
fr: Exemple plus détaillé

note: type: textblock
en: Original document (POD formatted):
fr: Document original (au format POD :

note: type: textblock
en: Then, the following addendum will ensure that a section (in French) about the translator is added at the end of the file (in French, "TRADUCTEUR" means "TRANSLATOR", and "moi" means "me").
fr: Voici maintenant un addendum qui s’assure qu’une section est ajoutée à la fin du fichier pour indiquer le nom des membres des équipes de traduction.

note: type: textblock
en: To put your addendum before the AUTHOR, use the following header:
fr: Pour placer l’addendum avant l’AUTEUR (section nommée AUTHOR dans le document original), utilisez l’en-tête suivant :

note: type: textblock
en: This works because the next line matching the B<beginboundary> C</^=head1/> after the section "NAME" (translated to "NOM" in French), is the one declaring the authors. So, the addendum will be put between both sections. Note that if another section is added between NAME and AUTHOR sections later, po4a will wrongfully put the addenda before the new section.
fr: Ceci fonctionne parce que la première ligne correspondant à l’expression rationnelle donnée dans le champ B<beginboundary> C</^=head1/> après la section S<« NOM »> (correspondant à la section S<« NAME »> dans le document original), est celle indiquant les auteurs. De cette façon, l’addendum est placé entre les deux sections. Notez que si une autre section est ajoutée entre NOM et AUTEUR, po4a ajoutera l’addendum par erreur avant la nouvelle section.

note: type: textblock
en: To avoid this you may accomplish the same using B<mode>=I<before>:
fr: Pour éviter cela, vous pouvez utiliser B<mode>=I<before> :

note: type: =head1
en: How does it work?
fr: Comment ça marche ?

note: type: textblock
en: This chapter gives you a brief overview of the po4a internals, so that you may feel more confident to help us to maintain and to improve it. It may also help you to understand why it does not do what you expected, and how to solve your problems.
fr: Cette section vous donne un bref aperçu des rouages internes de po4a afin que vous vous sentiez plus à même de nous aider à le maintenir et l’améliorer. Elle peut également vous permettre de comprendre pourquoi cela ne fait pas ce que vous souhaitez et corriger vos problèmes par vous-même.

note: type: =head2
en: TransTractors and project architecture
fr: TransTractors et l'architecture du projet

note: type: textblock
en: At the core of the po4a project, the L<Locale::Po4a::TransTractor(3pm)|TransTractor> class is the common ancestor to all po4a parsers. This strange name comes from the fact that it is at the same time in charge of translating document and extracting strings.
fr: Au cœur du projet po4a se trouve la classe L<Locale::Po4a::TransTractor(3pm)|TransTractor> qui est l’ancêtre commun à tous les analyseurs de po4a. Ce nom étrange provient du fait qu'elle est à la fois chargée de la traduction et de l’extraction des chaînes du document.

note: type: textblock
en: More formally, it takes a document to translate plus a PO file containing the translations to use as input while producing two separate outputs: Another PO file (resulting of the extraction of translatable strings from the input document), and a translated document (with the same structure as the input one, but with all translatable strings replaced with content of the input PO). Here is a graphical representation of this:
fr: Plus formellement, il prend un document à traduire et un fichier PO contenant les traductions en entrée et produit en sortie deux autres fichiers : un autre fichier PO (résultant de l’extraction des chaînes à traduire du document d’entrée), et un document traduit (avec la même structure que le document d’entrée, mais dont toutes les chaînes à traduire ont été remplacées par leur traduction donnée par le PO fournit en entrée). Voici une représentation graphique de tout ceci :

note: type: textblock
en: This little bone is the core of all the po4a architecture. If you provide both input and disregard the output PO, you get B<po4a-translate>. If you disregard the output document instead, you get B<po4a-updatepo>. The B<po4a> uses a first TransTractor to get an up-to-date output POT file (disregarding the output documents), calls B<msgmerge -U> to update the translation PO files on disk, and builds a second TransTractor with these updated PO files to update the output documents. In short, B<po4a> provides one-stop solution to update what needs to be, using a single configuration file.
fr: Cette forme d’os est le cœur de l’architecture de po4a. Si vous fournissez l'entrée mais ignorez la sortie PO, vous obtenez B<po4a-translate>. Si vous ignorez la sortie document à la place, vous obtenez B<po4a-updatepo>. <po4a> utilise un premier TransTractor pour obtenir un fichier de sortie POT mis à jour (en ignorant les documents en sortie), appelle B<msgmerge -U> pour mettre à jour les fichiers PO de traduction sur le disque et crée un second TransTractor à l'aide de ces fichiers PO mis à jour pour mettre à jour les documents de sortie. En d'autres termes, B<po4a> vous offre une solution unique pour mettre à jour ce qui doit l'être, à l'aide d'un seul fichier de configuration.

note: type: textblock
en: B<po4a-gettextize> also uses two TransTractors, but another way: It builds one TransTractor per language, and then build a new PO file using the msgids of the original document as msgids, and the msgids of the translated document as msgstrs. Much care is needed to ensure that the strings matched this way actually match, as described in L<po4a-gettextize(1)>.
fr: B<po4a-gettextize> utilise également deux TransTractors, mais d'une autre manière : il construit un TransTractor par langue, puis construit un nouveau fichier PO en utilisant les msgids du document originel en tant que msgids, et les msgids du document traduit en tant que msgstrs. Il faut faire très attention à ce que les chaînes qui sont ainsi mises en correspondance correspondent réellement, comme indiqué dans L<po4a-gettextize(1)>.

note: type: =head2
en: Format-specific parsers
fr: Analyseurs spécifiques aux formats

note: type: textblock
en: All po4a format parsers are implemented on top of the TransTractor. Some of them are very simple, such as the Text, Markdown and AsciiDoc ones. They load the lines one by one using C<TransTractor::shiftline()>, accumulate the paragraphs' content or whatever. Once a string is completely parsed, the parser uses C<TransTractor::translate()> to (1) add this string to the output PO file and (2) get the translation from the input PO file. The parser then pushes the result to the output file using C<TransTractor::pushline()>.
fr: Tous les analyseurs de format sont implémentés au-dessus de TransTractor. Certains sont très simples, comme les analyseurs Text, Markdown et AsciiDoc. Ils chargent les lignes une par une en utilisant C<TransTractor::shiftline()> et accumulent le contenu des paragraphes ou autre. Une fois qu'une chaîne est complètement analysée, l'analyseur utilise C<TransTractor::translate()> pour (1) ajouter cette chaîne au fichier PO de sortie et (2) obtenir la traduction du fichier PO d'entrée. L'analyseur pousse ensuite le résultat vers le fichier de sortie à l'aide de C<TransTractor::pushline()>.

note: type: textblock
en: Some other parsers are more complex because they rely on an external parser to analyze the input document. The Xml, HTML, SGML and Pod parsers are built on top of SAX parsers. They declare callbacks to events such as "I found a new title which content is the following" to update the output document and output POT files according to the input content using C<TransTractor::translate()> and C<TransTractor::pushline()>. The Yaml parser is similar but different: it serializes a data structure produced by the YAML::Tiny parser. This is why the Yaml module of po4a fails to declare the reference lines: the location of each string in the input file is not kept by the parser, so we can only provide "$filename:1" as a string location. The SAX-oriented parsers use globals and other tricks to save the file name and line numbers of references.
fr: D'autres analyseurs sont plus complexes, car ils s'appuient sur un analyseur externe pour analyser le document d'entrée. Les analyseurs Xml, HTML, SGML et Pod sont construits sur les analyseurs SAX. Ils déclarent des rappels à des événements tels que "J'ai trouvé un nouveau titre dont le contenu est ceci" pour mettre à jour le document de sortie et les fichiers POT de sortie en fonction du contenu d'entrée en utilisant C<TransTractor::translate()> et C<TransTractor::pushline()>. L'analyseur Yaml est similaire, mais différent : il sérialise une structure de données produite par l'analyseur YAML::Tiny. C'est pourquoi le module Yaml de po4a ne parvient pas à déclarer les lignes de référence : l'emplacement de chaque chaîne dans le fichier d'entrée n'est pas conservé par l'analyseur, de sorte que nous ne pouvons fournir que "$filename:1" comme emplacement de la chaîne. Les analyseurs orientés SAX utilisent des globaux et d'autres astuces pour enregistrer le nom de fichier et les numéros de ligne des références.

note: type: textblock
en: One specific issue arises from file encodings and BOM markers. Simple parsers can forget about this issue, that is handled by C<TransTractor::read()> (used internally to get the lines of an input document), but the modules relying on an external parser must ensure that all files are read with an appropriate PerlIO decoding layer. The easiest is to open the file yourself, and provide an filehandle or directly the full string to your external parser. Check on C<Pod::read()> and C<Pod::parse()> for an example. The content read by the TransTractor is ignored, but a fresh filehandle is passed to the external parser. The important part is the C<< "<:encoding($charset)" >> mode that is passed to the B<open()> perl function.
fr: Un problème spécifique est lié à l'encodage des fichiers et aux marqueurs BOM. Les analyseurs simples peuvent ignorer ce point qui est géré par C<TransTractor::read()> (utilisé en interne pour obtenir les lignes d'un document d'entrée), mais les modules qui s'appuient sur un analyseur externe doivent s'assurer que tous les fichiers sont lus avec une couche de décodage PerlIO appropriée. Le plus simple est d'ouvrir le fichier vous-même, et de fournir un identificateur de fichier ou directement la chaine complète à votre analyseur externe. Consultez C<Pod::read()> et C<Pod::parse()> pour un exemple. Le contenu lu par le TransTractor est ignoré, mais un nouvel identificateur de fichier est transmis à l'analyseur externe. La partie importante est le mode C<<"<:encoding($charset)">> qui est transmis à la fonction perl B<open()>.

note: type: =head2
en: Po objects
fr: Objets Po

note: type: textblock
en: The L<Locale::Po4a::Po(3pm)|Po> class is in charge of loading and using PO and POT files. Basically, you can read a file, add entries, get translations with the B<gettext()> method, write the PO into a file. More advanced features such as merging a PO file against a POT file or validating a file are delegated to B<msgmerge> and B<msgfmt> respectively.
fr: La classe L<Locale::Po4a::Po(3pm)|Po> a la tâche de charger et d'utiliser les fichiers PO et POT. En principe, vous pouvez lire un fichier, ajouter des entrées, obtenir des traductions avec la méthode B<gettext()>, puis écrire le PO dans un fichier. Les fonctions plus avancées telles que la fusion d'un fichier PO avec un fichier POT ou la validation d'un fichier sont respectivement déléguées à B<msgmerge> et B<msgfmt>.

note: type: =head2
en: Contributing to po4a
fr: Contribuer à po4a

note: type: textblock
en: Even if you have never contributed to any Open Source project in the past, you are welcome: we are willing to help and mentor you here. po4a is best maintained by its users nowadays. As we lack manpower, we try to make the project welcoming by improving the doc and the automatic tests to make you confident in contributing to the project. Please refer to the CONTRIBUTING.md file for more details.
fr: Même si vous n'avez jamais contribué à un projet libre, bienvenue ! Nous sommes prêts à vous aider et à vous encadrer. po4a est aujourd'hui mieux maintenu par sa communauté. Comme nous manquons d'aide, nous essayons de rendre le projet accueillant en améliorant la documentation et les tests automatiques afin de vous rendre la contribution au projet plus facile. Consultez le fichier CONTRIBUTING.md pour en savoir plus.

note: type: =head1
en: Open-source projects using po4a
fr: Projets open-source utilisant po4a

note: type: textblock
en: Here is a very partial list of projects that use po4a in production for their documentation. If you want to add your project to the list, just drop us an email (or a Merge Request).
fr: Voici une liste très partielle des projets qui utilisent po4a en production pour leur documentation. Si vous souhaitez ajouter votre projet à la liste, envoyez-nous simplement un e-mail (ou une demande de fusion (Merge Request)).

note: type: =item
en: adduser (man): users and groups management tool.
fr: adduser (man) : outil de gestion des utilisateurs et des groupes.

note: type: =item
en: apt (man, docbook): Debian package manager.
fr: apt (man, docbook) : Gestionnaire de paquets Debian.

note: type: =item
en: aptitude (docbook, svg): terminal-based package manager for Debian
fr: aptitude (docbook, svg) : gestionnaire de paquets en mode commande pour Debian

note: type: =item
en: L<F-Droid website|https://gitlab.com/fdroid/fdroid-website> (markdown): installable catalog of FOSS (Free and Open Source Software) applications for the Android platform.
fr: L<site internet F-Droid|https://gitlab.com/fdroid/fdroid-website> (markdown) : catalogue de logiciels libres pour la plateforme Android.

note: type: =item
en: L<git|https://github.com/jnavila/git-manpages-l10n> (asciidoc): distributed version-control system for tracking changes in source code.
fr: L<git|https://github.com/jnavila/git-manpages-l10n> (asciidoc) : système de contrôle de version distribué pour suivre les modifications du code source.

note: type: =item
en: L<Linux manpages|https://salsa.debian.org/manpages-l10n-team/manpages-l10n> (man)
fr: L<manuel Linux|https://salsa.debian.org/manpages-l10n-team/manpages-l10n> (man)

note: type: textblock
en: This project provides an infrastructure for translating many manpages to different languages, ready for integration into several major distributions (Arch Linux, Debian and derivatives, Fedora).
fr: Ce projet fournit une infrastructure pour traduire de nombreuses pages de manuel dans différents langages, prête à être intégrée dans plusieurs distributions majeures (Arch Linux, Debian et dérivés, Fedora).

note: type: =item
en: L<Stellarium|https://github.com/Stellarium/stellarium> (HTML): a free open source planetarium for your computer. po4a is used to translate the sky culture descriptions.
fr: L<Stellarium|https://github.com/Stellarium/stellarium> (HTML) : un planétarium open source gratuit pour votre ordinateur. po4a est utilisé pour traduire les descriptions des objets célestes.

note: type: =item
en: L<Jamulus|https://jamulus.io/> (markdown, yaml, HTML): a FOSS application for online jamming in real time. The website documentation is maintained in multiple languages using po4a.
fr: L<Jamulus|https://jamulus.io/> (markdown, yaml, HTML) : une application FOSS pour le brouillage en ligne en temps réel. La documentation du site web est maintenue en plusieurs langues à l'aide de po4a.

note: type: =item
en: Other item to sort out: L<https://gitlab.com/fdroid/fdroid-website/> L<https://github.com/fsfe/reuse-docs/pull/61>
fr: Autres éléments à trier : L<https://gitlab.com/fdroid/fdroid-website/> L<https://github.com/fsfe/reuse-docs/pull/61>

note: type: =head2
en: How do you pronounce po4a?
fr: Comment prononcer po4a ?

note: type: textblock
en: I personally vocalize it as L<pouah|https://en.wiktionary.org/wiki/pouah>, which is a French onomatopoetic that we use in place of yuck :) I may have a strange sense of humor :)
fr: Personnellement, je le prononce comme L<pouah|https://en.wiktionary.org/wiki/pouah>, qui est une interjection française équivalente à l'anglais yuck :) J'ai peut-être un étrange sens de l'humour :)

note: type: =head2
en: Why are the individual scripts deprecated?
fr: Pourquoi les scripts individuels sont-ils obsolètes ?

note: type: textblock
en: In the long run, I would like to drop the individual scripts and only maintain one version of this code. The sure thing is that the individual scripts will not get improved anymore, so only B<po4a> will get the new features. That being said, there is no deprecation urgency. I plan to keep the individual scripts as long as possible, and at least until 2030. If your project still use B<po4a-updatepo> and B<po4a-translate> in 2030, you may have a problem.
fr: À long terme, j'aimerais abandonner les scripts individuels et ne maintenir qu'une seule version de ce code. Ce qui est sûr, c'est que les scripts individuels ne seront plus améliorés, et que seul B<po4a> bénéficiera de nouvelles fonctionnalités. Ceci étant dit, la dépréciation n'est pas immédiate. Je prévois de conserver les scripts individuels aussi longtemps que possible, et au moins jusqu'en 2030. Cependant, si votre projet utilise encore B<po4a-updatepo> et B<po4a-translate> à cette date, vous pourriez avoir un problème.

note: type: textblock
en: We may also remove the deprecation of these scripts at some point, if a refactoring reduces the code duplication to zero. If you have an idea (or better: a patch), your help is welcome.
fr: Nous pourrions également annuler la dépréciation de ces scripts à un moment donné, si une réécriture élimine la duplication du code. Si vous avez des idées (ou mieux : un correctif), votre aide est la bienvenue.

note: type: =head2
en: What about the other translation tools for documentation using gettext?
fr: Qu’en est-il des autres outils de traduction de documentation utilisant gettext ?

note: type: textblock
en: There are a few of them. Here is a possibly incomplete list, and more tools are coming at the horizon.
fr: Il y en a quelques-uns. Voici une liste potentiellement incomplète, et d’autres outils arrivent à l’horizon.

note: type: textblock
en: This is the tool developed by KDE people to handle DocBook XML. AFAIK, it was the first program to extract strings to translate from documentation to PO files, and inject them back after translation.
fr: C’est l’outil développé au sein du projet KDE pour gérer les XML DocBook. C’est à notre connaissance le premier programme qui a extrait des chaînes à traduire d’une documentation pour les mettre dans un fichier PO, et les réinjecter ensuite dans le document après la traduction.

note: type: textblock
en: It can only handle XML, and only a particular DTD. I'm quite unhappy with the handling of lists, which end in one big msgid. When the list become big, the chunk becomes harder to swallow.
fr: Il ne peut gérer que le format XML, avec une DTD particulière. Je n’aime pas beaucoup la façon dont les listes sont gérées, elles sont rassemblées en un seul gros msgid. Lorsque la liste est de taille importante, les éléments sont assez durs à gérer.

note: type: textblock
en: This program done by Denis Barbier is a sort of precursor of the po4a SGML module, which more or less deprecates it. As the name says, it handles only the DebianDoc DTD, which is more or less a deprecated DTD.
fr: Ce programme écrit par Denis Barbier est un précurseur du module SGML de po4a, qui le remplace plus ou moins. Comme son nom l’indique, il ne gère que la DTD DebianDoc, qui est en voie d’extinction.

note: type: textblock
en: Used by the GIMP Documentation Team since 2004, works quite well even if, as the name suggests, only with XML files and needs specially configured makefiles.
fr: Utilisé par l'équipe de documentation de GIMP depuis 2004, il fonctionne assez bien même si, comme son nom l'indique, il ne fonctionne qu'avec des fichiers XML et nécessite des makefiles spécialement configurés.

note: type: textblock
en: The Sphinx Documentation Project also uses gettext extensively to manage its translations. Unfortunately, it works only for a few text formats, rest and markdown, although it is perhaps the only tool that does this managing the whole translation process.
fr: Le projet de documentation Sphinx utilise également gettext de manière intensive pour gérer ses traductions. Malheureusement, il ne fonctionne que pour quelques formats de texte, rest et markdown, bien qu'il soit peut-être le seul outil à faire cela en gérant l'ensemble du processus de traduction.

note: type: textblock
en: The main advantages of po4a over them are the ease of extra content addition (which is even worse there) and the ability to achieve gettextization.
fr: Le principal avantage de po4a par rapport à eux est la facilité d’ajouter du contenu additionnel (ce qui est encore plus difficile avec ces outils) et la possibilité de faire une gettextisation.

note: type: =head2
en: SUMMARY of the advantages of the gettext based approach
fr: RÉSUMÉ des avantages de l’approche basée sur gettext

note: type: =item
en: The translations are not stored along with the original, which makes it possible to detect if translations become out of date.
fr: Les traductions ne sont pas stockées indépendamment de l’original, ce qui rend possible la détection des parties à mettre à jour.

note: type: =item
en: The translations are stored in separate files from each other, which prevents translators of different languages from interfering, both when submitting their patch and at the file encoding level.
fr: Les traductions sont stockées dans des fichiers différents pour chaque langue, ce qui évite les interférences entre équipes de traduction. Que ce soit pour la soumission de rustines ou pour le choix d’un encodage.

note: type: =item
en: It is based internally on B<gettext> (but B<po4a> offers a very simple interface so that you don't need to understand the internals to use it).  That way, we don't have to re-implement the wheel, and because of their wide use, we can think that these tools are more or less bug free.
fr: En interne, tout est basé sur B<gettext> (mais B<po4a> offre une interface simple qui ne nécessite pas de comprendre comment tout marche en interne pour pouvoir l’utiliser). Ce qui permet de ne pas réinventer la roue, et du fait de leur utilisation importante, nous pouvons supposer qu’ils ont peu ou pas de bogue.

note: type: =item
en: Nothing changed for the end-user (beside the fact translations will hopefully be better maintained). The resulting documentation file distributed is exactly the same.
fr: Pour l’utilisation finale, rien ne change (à part que les documentations seront probablement mieux S<maintenues :)>. La documentation distribuée reste la même.

note: type: =item
en: No need for translators to learn a new file syntax and their favorite PO file editor (like Emacs' PO mode, Lokalize or Gtranslator) will work just fine.
fr: Il n’est pas nécessaire pour les membres des équipes de traduction d’apprendre une nouvelle syntaxe et leur éditeur de fichier PO préféré (qui peut être le mode PO d’Emacs, Lokalize ou Gtranslator) sera parfait.

note: type: =item
en: gettext offers a simple way to get statistics about what is done, what should be reviewed and updated, and what is still to do. Some example can be found at those addresses:
fr: gettext permet d’obtenir facilement des statistiques sur ce qui a été fait, ce qui doit être revu et mis à jour, et sur ce qu’il reste à faire. Vous trouverez des exemples à ces adresses :

note: type: textblock
en: But everything isn't green, and this approach also has some disadvantages we have to deal with.
fr: Mais tout n’est pas rose, et cette approche a aussi quelques désavantages que nous devons gérer.

note: type: =item
en: Addenda are somewhat strange at the first glance.
fr: Les addendas sont surprenants au premier abord.

note: type: =item
en: You can't adapt the translated text to your preferences, like splitting a paragraph here, and joining two other ones there. But in some sense, if there is an issue with the original, it should be reported as a bug anyway.
fr: Il n’est pas possible d’adapter le texte traduit à votre goût, comme de décomposer ou recomposer des paragraphes. Mais d’un autre côté, s’il s’agit d’un problème dans le document original, celui-ci doit être signalé de toute façon.

note: type: =item
en: Even with an easy interface, it remains a new tool people have to learn.
fr: Même s’il a une interface simple, il reste un nouvel outil qu’il faudra apprendre à maîtriser.

note: type: textblock
en: One of my dreams would be to integrate somehow po4a to Gtranslator or Lokalize. When a documentation file is opened, the strings are automatically extracted, and a translated file + po file can be written to disk. If we manage to do an MS Word (TM) module (or at least RTF) professional translators may even use it.
fr: Un de mes rêves serait d’intégrer po4a à Gtranslator ou Lokalize. Lorsqu’un fichier de documentation serait ouvert, ses chaînes seraient extraites automatiquement. Lors de l’enregistrement, le fichier traduit + un fichier po seraient écrits sur le disque. Si nous arrivions à faire un module pour MS Word (TM) (ou au moins pour le format RTF), po4a pourrait même être utilisés dans le milieu de la traduction professionnelle.

note: type: =item
en: The documentation of the all-in-one tool that you should use: L<po4a(1)>.
fr: La documentation de l'outil tout-en-un que vous devriez utiliser : L<po4a(1)>.

note: type: =item
en: The documentation of the individual po4a scripts: L<po4a-gettextize(1)>, L<po4a-updatepo(1)>, L<po4a-translate(1)>, L<po4a-normalize(1)>.
fr: La documentation des scripts po4a individuels : L<po4a-gettextize(1)>, L<po4a-updatepo(1)>, L<po4a-translate(1)>, L<po4a-normalize(1)>.

note: type: =item
en: The additional helping scripts: L<msguntypot(1)>, L<po4a-display-man(1)>, L<po4a-display-pod(1)>.
fr: Les scripts d'assistance supplémentaires : L<msguntypot(1)>, L<po4a-display-man(1)>, L<po4a-display-pod(1)>.

note: type: =item
en: The implementation of the core infrastructure: L<Locale::Po4a::TransTractor(3pm)> (particularly important to understand the code organization), L<Locale::Po4a::Chooser(3pm)>, L<Locale::Po4a::Po(3pm)>, L<Locale::Po4a::Common(3pm)>. Please also check the F<CONTRIBUTING.md> file in the source tree.
fr: La mise en œuvre de l'infrastructure de base : L<Locale::Po4a::TransTractor(3pm)> (particulièrement important pour comprendre l'organisation du code), L<Locale::Po4a::Chooser(3pm)>, L<Locale::Po4a::Po(3pm)>, L<Locale::Po4a::Common(3pm)>. Consultez également le fichier F<CONTRIBUTING.md> dans l'arborescence des sources.

note: type: textblock
en: Locale::Po4a::AsciiDoc - convert AsciiDoc documents from/to PO files
fr: Locale::Po4a::AsciiDoc - Convertir les documents AsciiDoc depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::AsciiDoc is a module to help the translation of documentation in the AsciiDoc format.
fr: Locale::Po4a::AsciiDoc est un module qui permet d’aider la traduction de documentations au format AsciiDoc.

note: type: =head1
en: OPTIONS ACCEPTED BY THIS MODULE
fr: OPTIONS ACCEPTÉES PAR CE MODULE

note: type: textblock
en: These are this module's particular options:
fr: Voici les options particulières à ce module :

note: type: textblock
en: The name of a file containing definitions for po4a, as defined in the B<INLINE CUSTOMIZATION> section.  You can use this option if it is not possible to put the definitions in the document being translated.
fr: Le nom d’un fichier contenant des définitions pour po4a, telles qu’elles sont décrites dans la section B<PERSONNALISATION EN LIGNE>. Vous pouvez utiliser cette option s’il n’est pas possible de placer les définitions dans le document à traduire.

note: type: textblock
en: In a definitions file, lines must not start by two slashes, but directly by B<po4a:>.
fr: Dans un fichier de définitions, les lignes ne doivent pas commencer par deux barres obliques, mais directement par B<po4a:>.

note: type: textblock
en: Space-separated list of attribute entries you want to translate.  By default, no attribute entries are translatable.
fr: Liste d’entrées d’attribut, séparées par des espaces, que vous souhaitez traduire. Par défaut, aucune entrée d’attribut ne peut être traduite.

note: type: textblock
en: Space-separated list of macro definitions.
fr: Liste de définitions de macro, séparées par des espaces.

note: type: textblock
en: Space-separated list of style definitions.
fr: Liste de définitions de style, séparées par des espaces.

note: type: textblock
en: Enable automatic line wrapping in non-verbatim blocks, even if the result could be misinterpreted by AsciiDoc formatters.
fr: Activer le retour à la ligne automatique dans les blocs non textuels, même si le résultat peut être mal interprété par les convertisseurs AsciiDoc.

note: type: textblock
en: By default, po4a will not wrap the produced AsciiDoc files because a manual inspection is mandated to ensure that the wrapping does not change the formatting. Consider for instance the following list item:
fr: Par défaut, po4a n'ajoutera pas de retour à la ligne dans les fichiers AsciiDoc produits car une inspection manuelle est requise pour s'assurer que ceci ne modifie pas le formatage. Considérez par exemple l'élément de liste suivant :

note: type: textblock
en: If the wrapping leads to the following presentation, the item is split into a numbered sub-list. To make things worse, only the speakers of the language used in the translation can inspect the situation.
fr: Si l'habillage mène à la présentation suivante, l'élément est divisé en une sous-liste numérotée. Pour aggraver les choses, seuls les locuteurs de la langue utilisée dans la traduction peuvent inspecter la situation.

note: type: textblock
en: Note that not wrapping the files produced by po4a should not be a problem since those files are meant to be processed automatically.  They should not be regarded as source files anyway.
fr: Notez que ne pas rajouter de retour à la ligne dans les fichiers produits par po4a ne devrait pas être un problème puisque ces fichiers sont destinés à être traités automatiquement. Ils ne doivent de toute façon pas être considérés comme des fichiers source.

note: type: textblock
en: With this option, po4a will produce better-looking AsciiDoc files, but it may lead to possibly erroneous formatted outputs.
fr: Avec cette option, po4a produira des fichiers AsciiDoc plus lisibles, mais ceci peut conduire éventuellement à des sorties formatées erronées.

note: type: textblock
en: By default, the targets of block images are translatable to give opportunity to make the content point to translated images. This can be stopped by setting this option.
fr: Par défaut, les cibles de blocs images sont traduisibles pour donner la possibilité de faire pointer le contenu vers des images traduites. Ceci peut être empêché en définissant cette option.

note: type: textblock
en: This option is a flag that enables sub-table segmentation into cell content.  The segmentation is limited to cell content, without any parsing inside of it.
fr: Cette option est un indicateur qui active la segmentation des sous-tableaux en contenu de cellule.  La segmentation est limitée au contenu de la cellule, sans aucune analyse à l'intérieur de celle-ci.

note: type: textblock
en: Switch parsing rules to compatibility with different tools. Available options are "asciidoc" or "asciidoctor". Asciidoctor has stricter parsing rules, such as equality of length of opening and closing block fences.
fr: Bascule les règles d'analyse sur la compatibilité avec différents outils. Les options disponibles sont "asciidoc" ou "asciidoctor". Asciidoctor a des règles d'analyse plus strictes, telles que l'égalité de longueur des marques d'ouverture et de fermeture des blocs de code.

note: type: textblock
en: Disable linting messages. When the source code cannot be fixed for clearer document structure, these messages are useless.
fr: Désactiver les messages de vérification. Lorsque le code source ne peut pas être corrigé pour une structure de document plus claire, ces messages sont inutiles.

note: type: textblock
en: Remove extra spaces from the source segments in no-wrap mode. This is useful when the translation tools are sensitive to the number of spaces.
fr: Supprime les espaces supplémentaires des segments source en mode "no-wrap". Ceci est utile lorsque les outils de traduction sont sensibles au nombre d'espaces.

note: type: textblock
en: Comma-separated list of keys to process for translation in the YAML Front Matter section. All other keys are skipped. Keys are matched with a case-sensitive match. If B<yfm_paths> and B<yfm_keys> are used together, values are included if they are matched by at least one of the options. Array values are always translated, unless the B<yfm_skip_array> option is provided.
fr: Liste des clés à traiter, séparées par des virgules, pour la traduction de la section d'en-tête YAML. Toutes les autres clés sont ignorées. Les clés sont associées avec une correspondance sensible à la casse. Si B<yfm_paths> et B<yfm_keys> sont utilisées ensemble, les valeurs sont incluses si elles correspondent à au moins une des options. Les valeurs du tableau sont toujours traduites, sauf si l'option B<yfm_skip_array> est fournie.

note: type: textblock
en: Do not translate array values in the YAML Front Matter section.
fr: Ne pas traduire les valeurs des tableaux dans la section préliminaire de YAML.

note: type: textblock
en: Comma-separated list of hash paths to process for extraction in the YAML Front Matter section, all other paths are skipped. Paths are matched with a case-sensitive match. If B<yfm_paths> and B<yfm_keys> are used together, values are included if they are matched by at least one of the options.  Arrays values are always returned unless the B<yfm_skip_array> option is provided.
fr: Liste des chemins de hachage à traiter, séparées par des virgules, pour l'extraction de la section d'en-tête YAML. Tous les autres chemins sont ignorés. Les chemins sont associés avec une correspondance sensible à la casse. Si B<yfm_paths> et B<yfm_keys> sont utilisées ensemble, les valeurs sont incluses si elles correspondent à au moins une des options. Les valeurs des tableaux sont toujours retournées, sauf si l'option B<yfm_skip_array> est fournie.

note: type: =head1
en: INLINE CUSTOMIZATION
fr: PERSONNALISATION EN LIGNE

note: type: textblock
en: The AsciiDoc module can be customized with lines starting by B<//po4a:>.  These lines are interpreted as commands to the parser.  The following commands are recognized:
fr: Le module AsciiDoc peut être personnalisé à l’aide de lignes commençant par B<//po4a:>. Ces lignes sont interprétées comme des commandes pour l’analyseur. Les commandes suivantes sont reconnues :

note: type: =item
en: B<//po4a: macro >I<name>B<[>I<attribute list>B<]>
fr: B<//po4a: macro> I<nom>B<[>I<liste d’attributs>B<]>

note: type: textblock
en: This describes in detail the parameters of a B<macro>; I<name> must be a valid macro name, and it ends with an underscore if the target must be translated.
fr: Ceci décrit en détail les paramètres d’une B<macro>. Le I<nom> doit être un nom de macro existant, et se termine par un tiret bas si la cible doit être traduite.

note: type: textblock
en: The I<attribute list> argument is a comma separated list which contains information about translatable arguments.  This list contains either numbers, to define positional parameters, or named attributes.
fr: L’argument I<liste d’attributs> est une liste, séparées par des virgules, qui contient des renseignements sur les argument traduisibles. Cette liste contient soit des nombres, pour définir des paramètres positionnels, soit des attributs nommés.

note: type: textblock
en: If a plus sign (B<+>) is prepended to I<name>, then the macro and its arguments are translated as a whole.  There is no need to define attribute list in this case, but brackets must be present.
fr: Si un signe plus (B<+>) précède le I<nom>, alors la macro et ses arguments sont traduits comme un ensemble. Il n’est pas nécessaire de définir de liste d’attributs dans ce cas, mais les crochets doivent être présents.

note: type: =item
en: B<//po4a: style >B<[>I<attribute list>B<]>
fr: B<//po4a: style >B<[>I<liste d’attributs>B<]>

note: type: textblock
en: This describes in detail which attributes of a style must be translated.
fr: Ceci décrit en détail quels attributs d'un style doivent être traduits.

note: type: textblock
en: The I<attribute list> argument is a comma separated list which contains information about translatable arguments.  This list contains either numbers, to define positional parameters, or named attributes.  The first attribute is the style name, it will not be translated.
fr: L’argument I<liste d’attributs> est une liste, séparées par des virgules, qui contient des informations sur les argument traduisibles. Cette liste contient soit des nombres, pour définir des paramètres positionnels, soit des attributs nommés. Le premier attribut est le nom du style, il ne sera pas traduit.

note: type: textblock
en: If a plus sign (B<+>) is prepended to the style name, then the attribute list is translated as a whole.  There is no need to define translatable attributes.
fr: Si un signe plus (B<+>) précède le nom du style, alors la liste d’attributs est traduite comme un ensemble. Il n’est pas nécessaire de définir les attributs à traduire dans ce cas.

note: type: textblock
en: If a minus sign (B<->) is prepended to the style name, then this attribute is not translated.
fr: Si un signe moins (B<->) précède le nom du style, alors cet attribut n’est pas traduit.

note: type: =item
en: B<//po4a: entry >I<name>
fr: B<//po4a: entry >I<nom>

note: type: textblock
en: This declares an attribute entry as being translatable.  By default, they are not translated.
fr: Cela déclare une entrée d’attribut à traduire. Par défaut, elles ne sont pas traduites.

note: type: =head1
en: STATUS OF THIS MODULE
fr: ÉTAT DE CE MODULE

note: type: textblock
en: Tested successfully on simple AsciiDoc files.
fr: Testé avec succès sur des fichiers AsciiDoc simples.

note: type: textblock
en: Locale::Po4a::BibTeX - convert BibTeX documents from/to PO files
fr: Locale::Po4a::BibTeX - Convertir les bibliographies BibTeX depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::BibTeX is a module to help the translation of bibliographies in the BibTeX format into other [human] languages.
fr: Locale::Po4a::BibTeX est un module permettant d’aider la traduction de bibliographies BibTeX dans d’autres langues.

note: type: textblock
en: Fields values are extracted and proposed for translation.
fr: Les valeurs des champs sont extraites et proposées pour la traduction.

note: type: textblock
en: NONE.
fr: AUCUNE.

note: type: textblock
en: It is a very simple module, but still young.
fr: C’est un module très simple, mais encore jeune.

note: type: textblock
en: Locale::Po4a::Chooser - manage po4a modules
fr: Locale::Po4a::Chooser - Gérer les modules po4a

note: type: textblock
en: Locale::Po4a::Chooser is a module to manage po4a modules. Previously, all po4a binaries used to know all po4a modules (pod, man, sgml, etc). This made the addition of a new module boring, because you had to make sure that the documentation is synchronized in all modules, and that each of them can access the new module.
fr: Locale::Po4a::Chooser est un module permettant de gérer les modules po4a. Tous les outils de po4a avaient auparavant connaissance de tous les modules pour po4a (pod, man, sgml, etc.). Ceci rendait l’ajout d’un nouveau module assez embêtant, car vous deviez vous assurer que la documentation était synchronisée dans tous les modules, et que chacun d’eux puisse accéder au nouveau module.

note: type: textblock
en: Now, you just have to call the Locale::Po4a::Chooser::new() function, passing the name of module as argument.
fr: Désormais, il n’y a qu’à appeler la fonction Locale::Po4a::Chooser::new() en lui passant le nom du module en paramètre.

note: type: textblock
en: The function Locale::Po4a::Chooser::list() lists the available formats, and exits with the value passed as argument. So, we call Locale::Po4a::Chooser::list(0) when requested for the list of formats, and Locale::Po4a::Chooser::list(1) when passed an invalid format name.
fr: La fonction Locale::Po4a::Chooser::list() liste les formats disponibles, et sort avec la valeur passé en argument. Ainsi, nous pouvons appeler Locale::Po4a::Chooser::list(0) quand la liste des formats est demandée, et Locale::Po4a::Chooser::list(1) quand un nom est donné avec un format invalide.

note: type: =item
en: About po4a:
fr: À propos de po4a :

note: type: =item
en: About modules:
fr: À propos des modules :

note: type: textblock
en: Copyright © 2002-2005, 2014, 2017 SPI, Inc.
fr: Copyright © 2002, 2003, 2004, 2005, 2014, 2017 SPI, inc.

note: type: textblock
en: Locale::Po4a::Common - common parts of the po4a scripts and utils
fr: Locale::Po4a::Common - Utilitaires et parties communes des scripts po4a

note: type: textblock
en: Locale::Po4a::Common contains common parts of the po4a scripts and some useful functions used along the other modules.
fr: Locale::Po4a::Common comprend les parties communes des scripts po4a et quelques fonctions utiles pour certains modules.

note: type: textblock
en: If needed, you can disable the use of Text::WrapI18N as such:
fr: Si nécessaire, vous pouvez désactiver l'utilisation de Text::WrapI18N comme ceci :

note: type: textblock
en: instead of:
fr: au lieu de :

note: type: textblock
en: The ordering is important here: as most Locale::Po4a modules load themselves Locale::Po4a::Common, the first time this module is loaded determines whether Text::WrapI18N is used.
fr: L’ordre est important ici puisque la plupart des modules Locale::Po4a chargent eux-même Locale::Po4a::Common et que la première fois que ce module est chargé détermine si Text::WrapI18N est utilisé.

note: type: =head1
en: FUNCTIONS
fr: FONCTIONS

note: type: =head2
en: Showing output messages
fr: Affichage de messages

note: type: textblock
en: Shows the current version of the script, and a short copyright message. It takes the name of the script as an argument.
fr: Affiche la version courante du script, et un court message de copyright. Il prend le nom du script comme paramètre.

note: type: textblock
en: This function displays a message the same way as sprintf() does, but wraps the result so that they look nice on the terminal.
fr: Cette fonction affiche un message de la même façon que sprintf(), mais met en plus le résultat en forme de telle sorte qu’il soit bien mis en forme sur un terminal.

note: type: textblock
en: This function works like wrap_msg(), but it takes a module name as the first argument, and leaves a space at the left of the message.
fr: Cette fonction fonctionne de la même façon que wrap_msg(), mais elle prend le nom d’un module comme premier paramètre, et ajoute une espace à gauche du message.

note: type: textblock
en: This function works like wrap_msg(), but it takes a file:line reference as the first argument, a module name as the second one, and leaves a space at the left of the message.
fr: Cette fonction fonctionne comme wrap_msg(), mais elle prend une référence de la forme fichier:ligne comme premier paramètre, un nom de module comme second paramètre, et ajoute une espace à gauche du message.

note: type: =head2
en: Wrappers for other modules
fr: Encapsulateur pour d’autres modules

note: type: textblock
en: When the Locale::Gettext module cannot be loaded, this module provide dummy (empty) implementation of the following functions. In that case, po4a messages won't get translated but the program will continue to work.
fr: Quand le module Locale::Gettext ne peut pas être chargé, ce module fournit une fausse implémentation (vide) pour les fonctions suivantes. Dans ce cas, les messages ne seront pas traduits, mais le programme continuera à fonctionner.

note: type: textblock
en: If Locale::gettext is present, this wrapper also calls setlocale(LC_MESSAGES, "") so callers don't depend on the POSIX module either.
fr: Si Locale::gettext est présent, cette encapsulation appellera setlocale(LC_MESSAGES, "") de telle sorte que les appelants ne dépendent pas non plus du module POSIX.

note: type: textblock
en: Copyright © 2005 SPI, Inc.
fr: Copyright © 2005 SPI, inc.

note: type: textblock
en: Locale::Po4a::Dia - convert uncompressed Dia diagrams from/to PO files
fr: Locale::Po4a::Dia - Convertir les diagrammes Dia non compressés depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Dia is a module to help the translation of diagrams in the uncompressed Dia format into other [human] languages.
fr: Locale::Po4a::Dia est un module permettant d’aider la traduction de diagrammes Dia non compressés dans d’autres langues.

note: type: =head1
en: TRANSLATING WITH PO4A::DIA
fr: TRADUIRE AVEC PO4A::DIA

note: type: textblock
en: This module only translates uncompressed Dia diagrams.  You can save your uncompressed diagrams with Dia itself, unchecking the "Compress diagram files" at the "Save Diagram" dialog.
fr: Ce module ne traduit que les diagrammes Dia non compressés. Vous pouvez sauvegarder vos diagrammes au format non compressé à partir de Dia en décochant S<« Compresser> les fichiers S<enregistrés »> (ou S<« Compress> diagram S<files »>) dans la boite de dialogue S<« Enregistrer> le S<diagramme »> (ou S<« Save> S<Diagram »>).

note: type: textblock
en: This module is fully functional, as it relies in the L<Locale::Po4a::Xml> module. This only defines the translatable tags (E<lt>dia:stringE<gt>), and filters the internal strings (the content of the E<lt>dia:diagramdataE<gt> tag), not interesting for translation.
fr: Ce module est complètement fonctionnel, puisqu’il repose sur le module L<Locale::Po4a::Xml>. Il ne fait que définir les balises à traduire (E<lt>dia:stringE<gt>) et filtre les chaines internes (le contenu des balises E<lt>dia:diagramdataE<gt>), qui ne sont pas intéressantes pour la traduction.

note: type: textblock
en: Locale::Po4a::Docbook - convert DocBook XML documents from/to PO files
fr: Locale::Po4a::Docbook - Convertir les documents XML DocBook depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Docbook is a module to help the translation of DocBook XML documents into other [human] languages.
fr: Locale::Po4a::Docbook est un module permettant d’aider la traduction de documents XML DocBook dans d’autres langues.

note: type: textblock
en: This module is fully functional, as it relies in the L<Locale::Po4a::Xml> module. This only defines the translatable tags and attributes.
fr: Ce module est complètement fonctionnel, puisqu’il repose sur le module L<Locale::Po4a::Xml>. Il ne fait que définir les balises et attributs à traduire.

note: type: textblock
en: The only known issue is that it doesn't handle entities yet, and this includes the file inclusion entities, but you can translate most of those files alone (except the typical entities files), and it's usually better to maintain them separated.
fr: Le seul problème connu est qu’il ne supporte toujours pas les entités, cela comprend l’inclusion d’entités dans des fichiers, mais vous pouvez traduire la plupart de ces fichiers séparément (à l’exception des fichiers d’entités typiques), et il est généralement mieux de les maintenir séparés.

note: type: =head2
en: OVERRIDE THE DEFAULT BEHAVIOR WITH COMMAND LINE OPTIONS
fr: REMPLACER LE COMPORTEMENT PAR DÉFAUT AVEC LES OPTIONS EN LIGNE DE COMMANDE

note: type: textblock
en: The default behavior of system provided modules is set to be on the safe side.
fr: Le comportement par défaut des modules fournis par le système est réglé pour être sûr.

note: type: textblock
en: For example, the default of B<< <author> >> tag is aiming it to appear under B<< <para> >>.  But you may be using it only under B<< <bookinfo> >>.  For this case, you may want to translate it independently for each author.
fr: Par exemple, la valeur par défaut de la balise B<< <author> >> vise à ce qu'elle apparaisse sous B<< <para> >>.  Mais il se peut que vous ne l'utilisiez que sous B<< <bookinfo> >>.  Dans ce cas, vous pouvez vouloir le traduire indépendamment pour chaque auteur.

note: type: textblock
en: If you don't like the default behavior of the xml module and its derivative modules, you can provide command line options to change their behavior.  For example, you can add the following to the po4a configuration file:
fr: Si vous n'appréciez pas le comportement par défaut du module xml et de ses dérivés, vous pouvez spécifier certaines options par lignes de commande afin de changer leur comportement. Par exemple, vous pouvez ajouter ce qui suit au fichier de configuration po4a :

note: type: textblock
en: This overrides the default behavior for B<< <bookinfo> >> and B<< <author> >>, set B<< <bookinfo> >> and B<< <author> >> to break input data stream on these tags, set B<< <bookinfo> >> not to translate its tagged content, and set B<< <author> >> to translate its tagged content.
fr: Ceci remplace le comportement par défaut de B<< <bookinfo> >> et B<< < <author> >>, définit B<< <bookinfo> >> et B<< <author> >> pour interrompre le flux de données d'entrée sur ces balises, définit B<< <bookinfo> >> pour ne pas traduire son contenu balisé, et définit B<< <author> >> pour traduire son contenu balisé.

note: type: textblock
en: Locale::Po4a::Guide - convert Guide XML documents from/to PO files
fr: Locale::Po4a::Guide - Convertit les documents XML Guide depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Guide is a module to help in the translation of the Gentoo Linux documentation in the Guide XML format into other [human] languages.
fr: Locale::Po4a::Guide est un module permettant d’aider la traduction de la documentation de Gentoo Linux au format XML Guide vers d’autres langues.

note: type: textblock
en: This format is documented here: http://www.gentoo.org/doc/en/xml-guide.xml
fr: Ce format est documenté à S<l’adresse :> http://www.gentoo.org/doc/en/xml-guide.xml

note: type: textblock
en: The only known issue is that it doesn't include files with the <include href="..."> tag, but you can translate all those files alone, and it's usually better to have them separated.
fr: Le seul problème connu est qu’il n’inclut pas les fichiers inclus par une balise <include href="...">, mais vous pouvez traduire tous ces fichiers séparément, ce qui est en général préférable.

note: type: textblock
en: Locale::Po4a::Halibut - convert Halibut documents and derivates from/to PO files
fr: Locale::Po4a::Halibut - Convertir les documents Halibut (ou dérivés) depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Halibut is a module to help the translation of Halibut documents into other [human] languages.
fr: Locale::Po4a::Halibut est un module permettant d’aider la traduction de documents Halibut dans d’autres langues.

note: type: textblock
en: This module contains the definitions of common Halibut commands and environments.
fr: Ce module contient les définitions de commandes et environnements couramment rencontrés dans des documents Halibut.

note: type: textblock
en: This module is still beta.  Please send feedback and feature requests.
fr: Ce module est encore à l’état bêta. Nous sommes intéressés par tout retour ou par des demandes de nouvelles fonctionnalités.

note: type: =head1
en: CAVEAT
fr: AVERTISSEMENTS

note: type: textblock
en: Some constructs are badly supported. The known ones are documented below.
fr: Certaines formes ne sont pas bien prises en charge. Celles qui sont connues sont documentées ci-dessous.

note: type: =head2
en: Verbatim blocks
fr: Blocs verbatim

note: type: textblock
en: The verbatim block is not considered as a whole. Each line will be translated separately.
fr: Les blocs verbatim ne sont pas considérés comme un tout. Chaque ligne sera traduite séparément.

note: type: textblock
en: Locale::Po4a::Ini - convert INI files from/to PO files
fr: Locale::Po4a::Ini - Convertir des fichiers INI depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Ini is a module to help the translation of INI files into other [human] languages.
fr: Locale::Po4a::Ini est un module permettant d’aider la traduction de fichiers INI dans d’autres langues.

note: type: textblock
en: The module searches for lines of the following format and extracts the quoted text:
fr: Le module recherche des lignes au format suivant et extrait le texte entre guillemets :

note: type: textblock
en: identificator="text than can be translated"
fr: identifiant="texte qui peut être traduit"

note: type: textblock
en: NOTE: If the text is not quoted, it will be ignored.
fr: Remarquez que si le texte n’est pas entre guillemets, il sera ignoré.

note: type: textblock
en: Locale::Po4a::KernelHelp - convert kernel configuration help from/to PO files
fr: Locale::Po4a::KernelHelp - Convertir l’aide à la configuration du noyau depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::KernelHelp is a module to help the translation of documentation for the Linux kernel configuration options into other [human] languages.
fr: Locale::Po4a::KernelHelp est un module permettant d’aider à la traduction de la documentation des options de configuration du noyau Linux vers d’autres langues.

note: type: textblock
en: This module is just written, and needs more tests. Most of the needed work will concern the tools used to parse this file (and configure the kernel), so that they accept to read the documentation from another (translated)  file.
fr: Ce module vient juste d’être écrit et nécessite plus de tests. Le plus gros du travail concernera les outils chargés de lire ce fichier (et de configurer le noyau), afin qu’ils acceptent de lire la documentation depuis un autre fichier (traduit).

note: type: textblock
en: Locale::Po4a::LaTeX - convert LaTeX documents and derivates from/to PO files
fr: Locale::Po4a::LaTeX - Convertir les documents LaTeX (ou dérivés) depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::LaTeX is a module to help the translation of LaTeX documents into other [human] languages. It can also be used as a base to build modules for LaTeX-based documents.
fr: Locale::Po4a::LaTeX est un module qui permet d’aider à traduire des documents LaTeX dans d’autres langues. Il peut aussi servir de base pour créer d’autres modules pour des documents basés sur le format LaTeX.

note: type: textblock
en: This module contains the definitions of common LaTeX commands and environments.
fr: Ce module contient les définitions de commandes et environnements couramment rencontrés dans des documents LaTeX.

note: type: textblock
en: See the L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX> manpage for the list of recognized options.
fr: Consultez la page de manuel L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX> pour la liste des options valables.

note: type: textblock
en: Locale::Po4a::Man - convert manual pages from/to PO files
fr: Locale::Po4a::Man - Convertir des pages de manuel depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Man is a module to help the translation of documentation in the nroff format (the language of manual pages) into other [human] languages.
fr: Locale::Po4a::Man est un module qui permet d’aider la traduction de documentations écrites au format nroff (utilisé pour les pages de manuel) vers d’autres langues.

note: type: =head1
en: TRANSLATING WITH PO4A::MAN
fr: TRADUIRE AVEC PO4A::MAN

note: type: textblock
en: This module tries pretty hard to make translator's life easier. For that, the text presented to translators isn't a verbatim copy of the text found in the man page. Indeed, the cruder parts of the nroff format are hidden, so that translators can't mess up with them.
fr: Ce module essaie autant que possible de faciliter le travail des équipes de traduction. Dans ce but, il ne présente pas le texte tel qu’il se trouve dans la page de manuel, mais cache les parties au format nroff les plus brutes, de façon à ce qu’elles soient protégées des maladresses des équipes de traduction.

note: type: =head2
en: Text wrapping
fr: Retours à la ligne

note: type: textblock
en: Unindented paragraphs are automatically rewrapped for the translator.  This can lead to some minor difference in the generated output, since the rewrapping rules used by groff aren't very clear. For example, two spaces after a parenthesis are sometimes preserved.
fr: Les paragraphes non indentés sont automatiquement remis en forme pour les équipes de traduction. Ceci peut générer de légères différences dans le document généré parce que les règles de remise en forme utilisées par groff ne sont pas des plus claires. Par exemple, deux espaces après une parenthèse peuvent être conservés.

note: type: textblock
en: Anyway, the difference will only be about the position of the extra spaces in wrapped paragraph, and I think it's worth.
fr: De toute façon, la seule différence concernera l’emplacement d’espaces additionnelles dans des paragraphes remis en forme, et je pense que cela en vaut le cout.

note: type: =head2
en: Font specification
fr: Spécification de la police

note: type: textblock
en: The first change is about font change specifications.  In nroff, there are several ways to specify if a given word should be written in small, bold or italics. In the text to translate, there is only one way, borrowed from the POD (Perl online documentation) format:
fr: La première modification concerne les demandes de changement de police. Dans nroff, il y a plusieurs façons d’indiquer qu’un mot doit être affiché avec une police plus petite, en gras ou en italique. Dans le texte à traduire, il n’y a qu’une façon, empruntée au format POD (Perl Online Documentation) :

note: type: =item
en: IE<lt>textE<gt> -- italic text
fr: IE<lt>texteE<gt> -- texte en italique

note: type: textblock
en: equivalent to \fItext\fP or ".I text"
fr: équivalent à \fItexte\fP ou S<« .I texte »>

note: type: =item
en: BE<lt>textE<gt> -- bold text
fr: BE<lt>texteE<gt> -- texte en gras

note: type: textblock
en: equivalent to \fBtext\fP or ".B text"
fr: équivalent à \fBtexte\fP ou S<« .B texte »>

note: type: =item
en: RE<lt>textE<gt> -- roman text
fr: RE<lt>textE<gt> -- texte roman

note: type: textblock
en: equivalent to \fRtext\fP
fr: équivalent à \fRtexte\fP

note: type: =item
en: CWE<lt>textE<gt> -- constant width text
fr: CWE<lt>textE<gt> -- texte à chasse fixe

note: type: textblock
en: equivalent to \f(CWtext\fP or ".CW text"
fr: équivalent à \f(CWtexte\fP ou S<« .CW texte »>

note: type: textblock
en: Remark: The CW face is not available for all groff devices. It is not recommended to use it. It is provided for your convenience.
fr: S<Remarque :> La police CW n’est pas disponible pour tous les formats de sortie de groff. Il n’est pas recommandé de l’utiliser, mais elle est fournie pour vous rendre service.

note: type: =head2
en: Automatic characters transliteration
fr: Modification automatique de caractères

note: type: textblock
en: Po4a automatically transliterate some characters to ease the translation or the review of the translation.  Here is the list of the transliterations:
fr: Po4a modifie automatiquement certains caractères afin de faciliter la traduction ou la revue de la traduction. Voici la liste de ces modifications :

note: type: =item
en: hyphens
fr: tirets

note: type: textblock
en: Hyphens (-) and minus signs (\-) in man pages are all transliterated as simple dashes (-) in the PO file.  Then all dash are transliterated into roff minus signs (\-) when the translation is inserted into the output document.
fr: Les traits d’union (-) et les signes moins (\-) des pages de manuel sont changés en simple tiret (-) dans le fichier PO. Par la suite, tous les tirets sont changés en signes moins roff (\-) lorsque la traduction est insérée dans le document de sortie.

note: type: textblock
en: Translators can force an hyphen by using the roff glyph '\[hy]' in their translations.
fr: Les équipes de traduction peuvent forcer l’utilisation d’un trait d’union en utilisant le caractère roff « \[hy] » dans leurs traductions.

note: type: =item
en: non-breaking spaces
fr: espaces insécables

note: type: textblock
en: Translators can use non-breaking spaces in their translations.  These non-breaking spaces (0xA0 in latin1) will be transliterated into a roff non-breaking space ('\ ').
fr: Les équipes de traduction peuvent utiliser des espaces insécables dans leurs traductions. Ces espaces insécables (0xA0 en latin1) seront modifiées en une espace insécable roff ('\ ').

note: type: =item
en: quotes transliterations
fr: modifications de guillemets

note: type: textblock
en: `` and '' are respectively tranliterated into \*(lq and \*(rq.
fr: `` et '' sont respectivement changés en \*(lq and \*(rq.

note: type: textblock
en: To avoid these transliterations, translators can insert a zero width roff character (i.e., using `\&` or '\&' respectively).
fr: Pour éviter ces modifications, les équipes de traduction peuvent insérer une espace roff de taille nulle (c’est-à-dire en utilisant respectivement `\&` ou '\&').

note: type: =head2
en: Putting 'E<lt>' and 'E<gt>' in translations
fr: Utiliser des S<« E<lt> »> ou des S<« E<gt> »> dans les traductions

note: type: textblock
en: Since these chars are used to delimit parts under font modification, you can't use them verbatim. Use EE<lt>ltE<gt> and EE<lt>gtE<gt> instead (as in POD, one more time).
fr: Puisque ces caractères sont utilisés pour délimiter les changements de police, vous ne pouvez pas les utiliser tels quels. Utilisez EE<lt>ltE<gt> et EE<lt>gtE<gt> à la place (comme pour le format POD, encore une fois).

note: type: textblock
en: Activate debugging for some internal mechanisms of this module.  Use the source to see which parts can be debugged.
fr: Active le débogage pour certains mécanismes internes du module. Regardez les sources pour savoir ce qui peut être débogué.

note: type: textblock
en: Increase verbosity.
fr: Augmente le niveau de bavardage.

note: type: textblock
en: This option controls the behavior of the module when it encounter a .de, .ie or .if section. It can take the following values:
fr: Cette option contrôle le comportement du module lorsqu’il rencontre une section .de, .ie ou .if. Elle peut prendre les valeurs suivantes :

note: type: textblock
en: This is the default value.  The module will fail when a .de, .ie or .if section is encountered.
fr: Il s’agit de la valeur par défaut. Ce module échouera lorsqu’il rencontrera une section .de, .ie ou .if.

note: type: textblock
en: Indicates that the .de, .ie or .if sections must be copied as is from the original to the translated document.
fr: Indique que les sections .de, .ie ou .if doivent être copiées telles quelles depuis l’original vers le document traduit.

note: type: textblock
en: Indicates that the .de, .ie or .if sections will be proposed for the translation.  You should only use this option if a translatable string is contained in one of these section. Otherwise, I<verbatim> should be preferred.
fr: Indique que les sections .de, .ie ou .if doivent être proposées à la traduction. Vous ne devriez utiliser cette option que si une de ces sections contient une chaîne à traduire. Sinon, I<verbatim> doit lui être préférée.

note: type: textblock
en: This option specifies that the file was generated, and that po4a should not try to detect if the man pages was generated from another format.  This option is mandatory to use po4a on generated man pages.  Note that translating generated pages instead of sources ones is often more fragile, and thus a bad idea.
fr: Cette option spécifie que le fichier a été généré, et que po4a ne doit pas chercher à détecter si la page de manuel à été généré depuis un autre format. Elle est obligatoire pour utiliser po4a sur des pages de manuel générées. Notez que la traduction des pages générées au lieu des pages sources est souvent plus fragile, et donc une mauvaise idée.

note: type: textblock
en: This option is only useful for mdoc pages.
fr: Cette option n’est utile que pour les pages au format mdoc.

note: type: textblock
en: It selects a stricter support of the mdoc format by telling po4a not to translate the 'NAME' section.  mdoc pages whose 'NAME' section is translated won't generate any header or footer.
fr: Elle permet de sélectionner une gestion du format mdoc plus stricte, en demandant à po4a de ne pas traduire la section « NAME ». En effet, les pages mdoc dont la section « NAME » est traduite n’auront ni en-tête ni pied de page.

note: type: textblock
en: The following options specify the behavior of a user-defined macro (with a .de request), or of a classical macro that is not supported by po4a.  They take as argument a comma-separated list of macros.  For example:
fr: Les options suivantes spécifient le comportement d’une macro utilisateur (avec une requête .de), ou d’une macro classique qui n'est pas supportée par po4a. Elles prennent en paramètre une liste de macros séparées par des virgules. Par exemple :

note: type: textblock
en: Note: if a macro is not supported by po4a and if you consider that it is a standard roff macro, you should submit it to the po4a development team.
fr: S<Note :> si une macro n’est pas supportée par po4a, et si vous considérez qu’il s’agit d’une macro roff standard, vous devriez la soumettre à l’équipe de développement de po4a.

note: type: textblock
en: B<untranslated> indicates that this macro (at its arguments) don't have to be translated.
fr: B<untranslated> indique que cette macro (et ses paramètres) ne doivent pas être traduits.

note: type: textblock
en: B<noarg> is like B<untranslated>, except that po4a will verify that no argument is added to this macro.
fr: B<noarg> est comme B<untranslated>, à l’exception que po4a vérifiera qu’aucun paramètre n’est fourni à la macro.

note: type: textblock
en: B<translate_joined> indicates that po4a must propose to translate the arguments of the macro.
fr: B<translate_joined> indique que po4a doit proposer de traduire les paramètres de la macro.

note: type: textblock
en: With B<translate_each>, the arguments will also be proposed for the translation, except that each one will be translated separately.
fr: Avec B<translate_each>, les paramètres de po4a seront également proposés à la traduction, mais chacun d’entre eux sera traduit séparément.

note: type: textblock
en: This option takes as argument a list of comma-separated couples I<begin>:I<end>, where I<begin> and I<end> are commands that delimit the begin and end of a section that should not be rewrapped.
fr: Cette option prend en paramètre une liste de couples I<début>:I<fin> séparés par des virgules, dans lesquels I<début> et I<fin> sont des commandes qui délimitent le début et la fin d’une section qui ne doit pas être remise en forme.

note: type: textblock
en: Note: no test is done to ensure that an I<end> command matches its I<begin> command; any ending command stop the no_wrap mode.  If you have a I<begin> (respectively I<end>) macro that has no I<end> (respectively I<begin>), you can specify an existing I<end> (like fi) or I<begin> (like nf) as a counterpart.  These macros (and their arguments) won't be translated.
fr: S<Note :> aucun test n’est effectué pour s’assurer que la commande I<end> correspond à sa commande I<begin> ; toute commande de fin termine le mode d’absence de renvoi à la ligne. Si vous avez une macro I<début> (respectivement I<fin>) qui n'a pas de I<end> (respectivement I<begin>), vous pouvez spécifier une I<fin> existante (comme fi), ou un I<début> existant (comme nf) comme correspondance. Ces macros (et leurs paramètres) ne seront pas traduites.

note: type: textblock
en: This option specifies a list of comma-separated macros that must not split the current paragraph. The string to translate will then contain I<foo E<lt>.bar baz quxE<gt> quux>, where I<bar> is the command that should be inlined, and I<baz qux> its arguments.
fr: Cette option permet de spécifier une liste de macros séparées par des virgules qui ne doivent pas couper le paragraphe en cours. La chaîne à traduire contiendra alors I<tata E<lt>.tete titi totoE<gt> tutu>, où I<tete> est la commande qui ne doit pas provoquer de coupure.

note: type: textblock
en: This option indicates how po4a should behave when an unknown macro is found.  By default, po4a fails with a warning.  It can take the following values: B<failed> (the default value), B<untranslated>, B<noarg>, B<translate_joined>, or B<translate_each> (see above for an explanation of these values).
fr: Cette option indique à po4a comment traiter les macros inconnues. Par défaut, po4a échoue en émettant un avertissement. Les valeurs suivantes sont autorisées : B<failed> (la valeur par défaut), B<untranslated>, B<noarg>, B<translate_joined>, B<translate_each> (consultez les définitions de ces valeurs ci-dessus).

note: type: =head1
en: AUTHORING MAN PAGES COMPLIANT WITH PO4A::MAN
fr: ÉCRITURE DE PAGES DE MANUEL COMPATIBLES AVEC PO4A::MAN

note: type: textblock
en: This module is still very limited, and will always be, because it's not a real nroff interpreter. It would be possible to do a real nroff interpreter, to allow authors to use all the existing macros, or even to define new ones in their pages, but we didn't want to. It would be too difficult, and we thought it wasn't necessary. We do think that if manpages' authors want to see their productions translated, they may have to adapt to ease the work of translators.
fr: Ce module est encore très limité, et le sera probablement toujours, parce qu’il n’est pas un véritable interpréteur nroff. Il devrait être possible de faire un vrai interpréteur nroff, qui permettrait aux auteurs d’utiliser toutes les macros existantes ou même d’en définir de nouvelle dans leurs pages, mais nous n’en avons pas envie. Ce serait trop difficile, et nous ne pensons pas que cela soit nécessaire. Nous pensons que si les auteurs de pages de manuel veulent voir leurs travaux traduits, ils doivent s’adapter pour faciliter le travail des équipes de traduction.

note: type: textblock
en: So, the man parser implemented in po4a have some known limitations we are not really inclined to correct, and which will constitute some pitfalls you'll have to avoid if you want to see translators taking care of your documentation.
fr: Il y a donc des limitations connues de l’analyseur de pages de manuel implémenté dans po4a, que nous ne sommes pas prêts à corriger, et qui resteront des difficultés qu’il vous faudra éviter si vous voulez que des personnes s’occupent de la traduction de votre documentation.

note: type: =head2
en: Don't program in nroff
fr: Ne programmez pas en nroff

note: type: textblock
en: nroff is a complete programming language, with macro definition, conditionals and so on. Since this parser isn't a fully featured nroff interpreter, it will fail on pages using these facilities (There are about 200 such pages on my box).
fr: nroff est un langage de programmation complet, avec des définitions de macros, des opérations conditionnées, etc. Comme cet analyseur n’est pas un analyseur complet pour nroff, il ne pourra pas gérer les pages utilisant ces possibilités (il y en a environ 200 sur ma machine).

note: type: =head2
en: Use the plain macro set
fr: Utilisez un jeu de macros simple

note: type: textblock
en: There are still some macros which are not supported by po4a::man. This is only because I failed to find any documentation about them. Here is the list of unsupported macros used on my box. Note that this list isn't exhaustive since the program fails on the first encountered unsupported macro. If you have any information about some of these macros, I'll happily add support for them. Because of these macros, about 250 pages on my box are inaccessible to po4a::man.
fr: Il y a encore quelques macros qui ne sont pas supportées par po4a::man. La raison à cela est que nous n’arrivons pas à trouver leur documentation. Voici la liste des macros non supportées mais tout de même utilisées sur ma machine. Notez que cette liste n’est pas exhaustive puisque le programme échoue lorsque la première macro non supportée est rencontrée. Si vous trouvez des informations à propos de ces macros, nous ajouterons leur support avec plaisir. Ces macros rendent environ 250 pages non utilisables avec po4a::man.

note: type: =head2
en: Hiding text from po4a
fr: Cacher du texte à po4a

note: type: textblock
en: Sometimes, the author knows that some parts are not translatable, and should not be extracted by po4a. For example, an option may accept an I<other> argument, and I<other> may also appear as the last item of a list. In the first case, I<other> should be not be translatable. And in the second case, I<other> should be translated.
fr: Parfois, un auteur sait que certaines parties ne peuvent pas être traduite, et ne doivent pas être extraites par po4a. Par exemple, une option peut recevoir un paramètre I<other>, qui ne doit pas être traduit et I<other> est également le dernier élément d’une liste. Dans le premier cas, I<other> ne doit pas être traduit et dans le second, il doit être traduit.

note: type: textblock
en: In such case, the author can avoid po4a to extract some strings, using some special groff constructs:
fr: Dans ce cas, l’auteur peut éviter l’extraction de certaines chaînes par po4a en utilisant une construction groff particulière :

note: type: textblock
en: (this will require the B<-o groff_code=verbatim> option)
fr: (nécessite l’option B<-o groff_code=verbatim>)

note: type: textblock
en: (this will require the options B<-o groff_code=verbatim> and B<-o untranslated=IR_untranslated>; with this construct, the B<.if !'po4a'hide'> conditional is not strictly needed since po4a will not parse the internal of the macro definition)
fr: (nécessitera les options B<-o groff_code=verbatim> et B<-o untranslated=IR_untranslated> ; avec cette construction, la condition B<.if !'po4a'hide'> n’est pas strictement nécessaire puisque po4a n’analysera pas le contenu de la définition de la macro)

note: type: textblock
en: This will require the B<-o untranslated=als,IR_untranslated> option.
fr: Cela nécessitera l’option B<-o untranslated=als,IR_untranslated>.

note: type: textblock
en: To summarise this section, keep simple, and don't try to be clever while authoring your man pages. A lot of things are possible in nroff, and not supported by this parser. For example, don't try to mess with \c to interrupt the text processing (like 40 pages on my box do). Or, be sure to put the macro arguments on the same line that the macro itself. I know that it's valid in nroff, but would complicate too much the parser to be handled.
fr: Pour résumer cette section, faites simple et n’essayez pas d’être trop astucieux lors de l’écriture de vos pages de manuel. Beaucoup de choses sont possibles en nroff et ne sont pas supportées par cet analyseur. Par exemple, n’essayez pas de jouer avec des \c pour interrompre le traitement du texte (c’est le cas de 40 pages sur ma machine). Aussi, assurez-vous de spécifier les paramètres des macros sur la même ligne que la macro. Même si c’est valable en nroff, cela compliquerait trop l’analyseur pour être géré.

note: type: textblock
en: Of course, another possibility is to use another format, more translator friendly (like POD using po4a::pod, or one of the XML family like SGML), but thanks to po4a::man it isn't needed anymore. That being said, if the source format of your documentation is POD, or XML, it may be clever to translate the source format and not this generated one. In most cases, po4a::man will detect generated pages and issue a warning. It will even refuse to process POD generated pages, because those pages are perfectly handled by po4a::pod, and because their nroff counterpart defines a lot of new macros I didn't want to write support for. On my box, 1432 of the 4323 pages are generated from POD and will be ignored by po4a::man.
fr: Bien sûr, une autre possibilité est d’utiliser un autre format, plus pratique pour les équipes de traduction (comme POD en utilisant po4a::pod ou un format de la famille XML comme le SGML), mais grâce à po4a::man, ce n’est plus nécessaire. Cela étant dit, si la documentation provient d’une source au format POD ou XML, il serait préférable de traduire le format source et non pas celui généré. Dans la plupart des cas, po4a::man détectera les pages de manuel générées et affichera un avertissement. Il refusera même de traiter les pages générées depuis un format POD, parce que ces pages sont parfaitement traitées par po4a::pod et parce que leur contrepartie nroff définit beaucoup de nouvelles macros pour lesquelles je ne veux pas écrire de support. Sur ma machine, 1432 des 4323 pages sont générées depuis le format POD et seront ignorées par po4a::man.

note: type: textblock
en: In most cases, po4a::man will detect the problem and refuse to process the page, issuing an adapted message. In some rare cases, the program will complete without warning, but the output will be wrong. Such cases are called "bugs" ;) If you encounter such case, be sure to report this, along with a fix when possible…
fr: Dans la plupart des cas, po4a::man détectera le problème et refusera de traiter la page, en affichant un message d’avertissement. Dans quelques rares cas, le programme se terminera sans avertissement, mais la sortie sera erronée. Ces cas sont des S<« bogues » ;)> Si vous rencontrez un de ces cas, assurez-vous de le signaler, avec un correctif si possible…

note: type: textblock
en: This module can be used for most of the existing man pages.
fr: Ce module peut être utilisé avec presque toutes les pages de manuel existantes.

note: type: textblock
en: Some tests are regularly run on Linux boxes:
fr: Des tests sont régulièrement effectués sur une machine Linux :

note: type: =item
en: one third of the pages are refused because they were generated from another format supported by po4a (e.g. POD or SGML).
fr: un tiers des pages est refusé parce qu’elles ont été générées à partir d’un autre format supporté par po4a (par exemple POD ou SGML).

note: type: =item
en: 10% of the remaining pages are rejected with an error (e.g. a groff macro is not supported).
fr: 10% des pages restantes sont rejetées avec une erreur (par exemple lorsqu’une macro groff n’est pas supportée).

note: type: =item
en: Then, less than 1% of the pages are accepted silently by po4a, but with significant issues (i.e. missing words, or new words inserted)
fr: Ensuite, moins d’1% des pages est accepté par po4a, mais présente des erreurs significatives (c’est-à-dire certains mots disparaissent ou des mots sont ajoutés)

note: type: =item
en: The other pages are usually handled without differences more important than spacing differences or line rewrapped (font issues in less than 10% of the processed pages).
fr: les autres pages sont généralement supportées sans problème plus important que des différences d’espacement ou de remise en forme des lignes (également des problèmes de police dans moins de 10% des pages sur lesquelles po4a opère).

note: type: textblock
en: Locale::Po4a::Po - PO file manipulation module
fr: Locale::Po4a::Po - Module de manipulation des fichiers PO

note: type: textblock
en: Locale::Po4a::Po is a module that allows you to manipulate message catalogs. You can load and write from/to a file (which extension is often I<po>), you can build new entries on the fly or request for the translation of a string.
fr: Locale::Po4a::Po est un module qui permet de manipuler des catalogues de messages. Vous pouvez lire et écrire dans ou depuis un fichier (dont l’extension classique est I<po>), vous pouvez construire de nouvelles entrées ou demander la traduction d’une chaîne.

note: type: textblock
en: For a more complete description of message catalogs in the PO format and their use, please refer to the info documentation of the gettext program (node "`PO Files"').
fr: Pour une description plus complète des catalogues de messages dans le format PO et leur utilisation, référez-vous à la documentation au format info du programme gettext (section « Fichiers PO »).

note: type: textblock
en: This module is part of the po4a project, which objective is to use PO files (designed at origin to ease the translation of program messages) to translate everything, including documentation (man page, info manual), package description, debconf templates, and everything which may benefit from this.
fr: Ce module fait partie du projet po4a, dont l’objectif est d’utiliser les fichiers PO (conçus à l’origine pour la traduction des programmes) pour la traduction d’autres formats tels que la documentation (pages de manuel, manuels info), la description des paquets, les questionnaires debconf et toute chose pouvant bénéficier de ces mécanismes.

note: type: =head1
en: Functions concerning entire message catalogs
fr: Fonctions concernant les catalogues de messages entiers

note: type: textblock
en: Creates a new message catalog. If an argument is provided, it's the name of a PO file we should load.
fr: Crée un nouveau catalogue. Si un paramètre est fourni, il s’agit du nom du fichier PO à lire.

note: type: textblock
en: Reads a PO file (which name is given as argument).  Previously existing entries in self are not removed, the new ones are added to the end of the catalog.
fr: Lit un fichier PO (dont le nom est fourni en paramètre). Les entrées pré-existantes dans self ne sont pas oubliées, et les nouvelles sont ajoutées à la fin du catalogue.

note: type: textblock
en: Writes the current catalog to the given file.
fr: Écrit le catalogue courant dans le fichier spécifié.

note: type: textblock
en: Like write, but if the PO or POT file already exists, the object will be written in a temporary file which will be compared with the existing file to check if the update is needed (this avoids to change a POT just to update a line reference or the POT-Creation-Date field).
fr: Comme write, mais si le fichier PO ou POT existe déjà, l’objet sera écrit dans un fichier temporaire qui sera ensuite comparé avec le fichier existant pour vérifier que la mise à jour est nécessaire (ceci permet d’éviter de changer le fichier POT juste pour mettre à jour une référence de ligne ou le champ POT-Creation-Date).

note: type: textblock
en: This function extracts a catalog from an existing one. Only the entries having a reference in the given file will be placed in the resulting catalog.
fr: Cette fonction extrait un catalogue d’un autre. Seules les entrées ayant une référence dans le fichier donné seront placées dans le catalogue résultant.

note: type: textblock
en: This function parses its argument, converts it to a Perl function definition, evals this definition and filters the fields for which this function returns true.
fr: Cette fonction analyse son paramètre, le convertit en une définition de fonction Perl, évalue cette définition et filtre les champs pour lesquels cette fonction renvoie S<« true »>.

note: type: textblock
en: I love Perl sometimes ;)
fr: J’aime Perl par S<moments ;)>

note: type: =head1
en: Functions to use a message catalog for translations
fr: Fonctions pour utiliser un catalogue de messages pour les traductions

note: type: textblock
en: Request the translation of the string given as argument in the current catalog.  The function returns the original (untranslated) string if the string was not found.
fr: Recherche la traduction de la chaîne, fournie en paramètre, dans le catalogue courant. Cette fonction renvoie la chaîne originelle (non traduite) si la chaîne cherchée est introuvable.

note: type: textblock
en: After the string to translate, you can pass a hash of extra arguments. Here are the valid entries:
fr: Après la chaîne à traduire, vous pouvez passer un hachage de paramètres supplémentaires. Voici la liste des valeurs valables :

note: type: textblock
en: boolean indicating whether we can consider that whitespaces in string are not important. If yes, the function canonizes the string before looking for a translation, and wraps the result.
fr: booléen indiquant si les espaces et retours chariot de la chaîne peuvent être modifiés. Si oui, la fonction utilise une forme canonique de la chaîne lors de la recherche d’une traduction, et ajoute des retours à la ligne.

note: type: textblock
en: the column at which we should wrap (default: 76).
fr: la colonne à laquelle les retours à la ligne doivent avoir lieu (76 par défaut).

note: type: textblock
en: Returns statistics about the hit ratio of gettext since the last time that stats_clear() was called. Please note that it's not the same statistics than the one printed by msgfmt --statistic. Here, it's statistics about recent usage of the PO file, while msgfmt reports the status of the file.  Example of use:
fr: Renvoie les statistiques sur le taux de réussite des requêtes de traduction depuis la dernière fois que stats_clear() a été appelé. Notez qu’il ne s’agit pas des statistiques obtenues avec l’option --statistic de msgfmt. Ici, ce sont les statistiques de l’usage récent du fichier PO tandis que msgfmt indique l’état du fichier. Exemple d’utilisation :

note: type: textblock
en: Clears the statistics about gettext hits.
fr: Oublie les statistiques sur la réussite de gettext.

note: type: =head1
en: Functions to build a message catalog
fr: Fonctions pour construire un catalogue de messages

note: type: textblock
en: Push a new entry at the end of the current catalog. The arguments should form a hash table. The valid keys are:
fr: Ajoute une nouvelle entrée dans le catalogue courant. Les paramètres doivent être un hachage. Les valeurs de clé valides sont :

note: type: textblock
en: the string in original language.
fr: la chaîne dans la langue originale.

note: type: textblock
en: the translation.
fr: la traduction.

note: type: textblock
en: an indication of where this string was found. Example: file.c:46 (meaning in 'file.c' at line 46). It can be a space-separated list in case of multiple occurrences.
fr: une indication de la localisation de cette chaîne. Par S<exemple :> file.c:46 (ce qui désigne la ligne 46 du fichier file.c). Il peut s’agir d’une liste séparée par des espaces dans le cas d’occurrences multiples.

note: type: textblock
en: a comment added here manually (by the translators). The format here is free.
fr: un commentaire ajouté manuellement (par l’équipe de traduction). Le format est libre.

note: type: textblock
en: a comment which was automatically added by the string extraction program. See the B<--add-comments> option of the B<xgettext> program for more information.
fr: un commentaire ajouté automatiquement par le programme d’extraction des chaînes. Référez-vous à l’option B<--add-comments> du programme B<xgettext> pour en savoir plus.

note: type: textblock
en: space-separated list of all defined flags for this entry.
fr: liste de tous les drapeaux utilisés pour cette entrée (séparés par des espaces).

note: type: textblock
en: Valid flags are: B<c-text>, B<python-text>, B<lisp-text>, B<elisp-text>, B<librep-text>, B<smalltalk-text>, B<java-text>, B<awk-text>, B<object-pascal-text>, B<ycp-text>, B<tcl-text>, B<wrap>, B<no-wrap> and B<fuzzy>.
fr: Les valeurs valides S<sont :> B<c-text>, B<python-text>, B<lisp-text>, B<elisp-text>, B<librep-text>, B<smalltalk-text>, B<java-text>, B<awk-text>, B<object-pascal-text>, B<ycp-text>, B<tcl-text>, B<wrap>, B<no-wrap> et B<fuzzy>.

note: type: textblock
en: See the gettext documentation for their meaning.
fr: Voir la documentation de gettext pour leur signification.

note: type: textblock
en: this is mostly an internal argument: it is used while gettextizing documents. The idea here is to parse both the original and the translation into a PO object, and merge them, using one's msgid as msgid and the other's msgid as msgstr. To make sure that things get ok, each msgid in PO objects are given a type, based on their structure (like "chapt", "sect1", "p" and so on in DocBook). If the types of strings are not the same, that means that both files do not share the same structure, and the process reports an error.
fr: il s’agit principalement d’un paramètre interne utilisé lors de la gettextisation des documents. Le but est d’analyser à la fois le document d’origine et la traduction sous la forme d’objet PO, et de les combiner en utilisant les msgid de l’un comme msgid et les msgid de l’autre comme msgstr. Afin de s’assurer que les choses se déroulent correctement, un type dépendant de son rôle syntaxique dans le document (comme S<« chapt »>, S<« sect1 »>, S<« p »>, etc. dans DocBook) est attribué à chaque chaîne. Si deux chaînes sur le point d’être appariées sont de types différents, cela signifie que les deux fichiers ne partagent pas la même structure, et le processus se termine par une erreur.

note: type: textblock
en: This information is written as automatic comment in the PO file since this gives to translators some context about the strings to translate.
fr: Cette information est également reportée dans le fichier PO sous forme de commentaire automatique car elle indique le contexte des chaînes à traduire.

note: type: textblock
en: boolean indicating whether whitespaces can be mangled in cosmetic reformattings. If true, the string is canonized before use.
fr: booléen indiquant si les espaces peuvent être modifiées lors de remises en forme esthétiques. Si vrai, les chaînes sont mises sous forme canonique avant usage.

note: type: textblock
en: This information is written to the PO file using the B<wrap> or B<no-wrap> flag.
fr: Cette information est reportée dans le fichier PO grâce aux drapeaux B<wrap> (si vrai) et B<no-wrap> (sinon).

note: type: textblock
en: ignored; the key is kept for backward computability.
fr: ignorée ; la clef est conservée pour la rétro-compatibilité.

note: type: =head1
en: Miscellaneous functions
fr: Fonctions diverses

note: type: textblock
en: Returns the number of entries in the catalog (without the header).
fr: Renvoie le nombre d’entrées dans le catalogue (sans compter l’en-tête).

note: type: textblock
en: Returns the number of entries in document. If a string appears multiple times in the document, it will be counted multiple times.
fr: Renvoie le nombre d’entrées dans le document. Si une chaîne apparaît plusieurs fois dans le document, elle sera comptée plusieurs fois.

note: type: textblock
en: Returns the msgid of the given number.
fr: Renvoie le msgid du numéro fourni.

note: type: textblock
en: Returns the msgid with the given position in the document.
fr: Renvoie le msgid qui a la position donnée dans le document.

note: type: textblock
en: Returns the type of the msgid with the given position in the document. This is probably only useful to gettextization, and it's stored separately from {$msgid}{'type'} because the later location may be overwritten by another type when the $msgid is duplicated in the master document.
fr: Retourne le type du msgid à la position donnée dans le document. Ceci n'est probablement utile que pour la gettextisation, et il est stocké séparément de {$msgid}{'type'} parce que ce dernier peut être écrasé par un autre type lorsque le $msgid est dupliqué dans le document d'origine.

note: type: textblock
en: Returns the character set specified in the PO header. If it hasn't been set, it will return "UTF-8".
fr: Renvoie le jeu de caractères spécifié dans l’en-tête du PO. S’il n’a pas été défini, il renvoie « UTF-8 ».

note: type: textblock
en: Locale::Po4a::Pod - convert POD data from/to PO files
fr: Locale::Po4a::Pod - Convertir des données POD depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Pod is a module to help the translation of documentation in the POD format (the preferred language for documenting Perl) into other [human] languages.
fr: Locale::Po4a::Pod est un module qui permet d’aider la traduction de documentation au format POD (le langage de préférence pour la documentation Perl) vers d’autres langues.

note: type: textblock
en: I think that this module is rock stable, and there is only one known bug with F</usr/lib/perl5/Tk/MainWindow.pod> (and some other pages, see below) which contains:
fr: Je pense que ce module est extrêmement stable, et il n’y a qu’un seul problème connu avec F</usr/lib/perl5/Tk/MainWindow.pod> (et certaines autres pages, voir ci-dessous), qui contient :

note: type: textblock
en: Lack of luck, in the po4a version, this was split on the space by the wrapping. As result, in the original version, the man page contains:
fr: Manque de chance, dans la version créée par po4a, c’est découpé par les retours à la ligne. Comme résultat, dans la version d’origine, la page de manuel contient :

note: type: textblock
en: and mine contains:
fr: et le mien contient :

note: type: textblock
en: which is logic since CE<lt>foobarE<gt> is rewritten "foobar".
fr: Ce qui est logique puisque « CE<lt>blablaE<gt> » est converti en « "blabla" ».

note: type: textblock
en: Complete list of pages having this problem on my box (from 564 pages; note that it depends on the chosen wrapping column):
fr: Voici la liste complète des pages présentant ce problème sur ma machine (pour un total de 564 pages ; notez également que cela dépend de la colonne de retour à la ligne) :

note: type: =head1
en: INTERNALS
fr: FONCTIONNEMENT INTERNE

note: type: textblock
en: As a derived class from Pod::Parser, Locale::Po4a::Pod supports the same methods and interfaces.  See L<Pod::Parser> for all the details; briefly, one creates a new parser with C<< Locale::Po4a::Pod->new() >> and then calls either parse_from_filehandle() or parse_from_file().
fr: En tant que classe dérivée de Pod::Parser, Locale::Po4a::Pod comprend les mêmes méthodes et interfaces. Consultez L<Pod::Parser> pour en savoir S<plus;> en bref, on crée un nouvel analyseur avec C<< Locale::Po4a::Pod->new() >> puis on appelle parse_from_filehandle() ou parse_from_file().

note: type: textblock
en: Locale::Po4a::RubyDoc -- Convert Ruby Document data from/to PO files
fr: Locale::Po4a::RubyDoc - Convertir des documents Ruby depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::RubyDoc is a module to help the translation of documentation in the Ruby Document (RD) format (a language used to document Ruby) into other [human] languages.
fr: Locale::Po4a::RubyDoc est un module qui permet d’aider la traduction de documentation au format de document Ruby (RD) (le langage de préférence pour la documentation Ruby) vers d’autres langues.

note: type: textblock
en: This module has been successfully tested on simple Ruby Document files covering a good part of the format syntax.
fr: Ce module a été testé avec succès sur des fichiers Ruby Document simples couvrant une bonne partie de la syntaxe du format.

note: type: textblock
en: A known limitation is that it fails to properly recognize the stacked structure of input Ruby Document: this implies that when, for instance, an EnumListItem consists of more than one Block, only the first Block is actually recognized as EnumListItem, while the subsequent ones are considered just as TextBlocks...
fr: Une limitation connue est que la structure empilée du document Ruby en entrée échoue à être reconnue : cela implique que lorsque, par exemple, un EnumListItem consiste en plus d'un bloc, seul le premier bloc est reconnu comme EnumListItem, tandis que les suivants sont considérés comme des TextBlocks...

note: type: textblock
en: This module supports the following option:
fr: Il est possible d’utiliser ce module avec les options suivantes :

note: type: textblock
en: Handle files entirely made of Ruby Document formatted text (without any "=begin" line).
fr: Gère les fichiers entièrement constitués de texte au format Ruby Document (sans aucune ligne "=begin").

note: type: textblock
en: By default, this module only handles Ruby Document formatted text between "=begin" and "=end" lines (hence ignoring, among other things, everything that precedes the first "=begin" line).
fr: Par défaut, ce module ne gère que le texte au format Ruby Document entre les lignes "=begin" et "=end" (donc en ignorant, entre autres, tout ce qui précède la première ligne "=begin").

note: type: textblock
en: This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
fr: Ce travail est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU telle que publiée par la Free Software Foundation ; soit la version 2 de la Licence, soit (à votre choix) toute version ultérieure.

note: type: textblock
en: This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
fr: Ce travail est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d’ADÉQUATION À UN USAGE PARTICULIER.  Voir la Licence Publique Générale GNU pour en savoir plus.

note: type: textblock
en: You should have received a copy of the GNU General Public License along with this work; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
fr: Vous devriez avoir reçu une copie de la Licence Publique Générale GNU avec cet ouvrage ; si ce n'est pas le cas, écrivez à la Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

note: type: textblock
en: Parts of the code (such as many regular expressions) were adapted from the source of rdtool, under the terms of the GNU General Public License, version 2 or later.  These parts are originally:
fr: Certaines parties du code (telles que de nombreuses expressions régulières) ont été adaptées à partir des sources de rdtool, selon les termes de la licence publique générale GNU, version 2 ou ultérieure.  Ces parties sont à l'origine :

note: type: textblock
en: The initialize code was adapted from the source of Locale::Po4a::Text, under the terms of the GNU General Public License, version 2 or later.  This code was originally:
fr: Le code d'initialisation a été adapté à partir des sources de Locale::Po4a::Text, selon les termes de la GNU General Public License, version 2 ou ultérieure.  Ce code était à l'origine :

note: type: textblock
en: Locale::Po4a::Sgml - convert SGML documents from/to PO files
fr: Locale::Po4a::Sgml - Convertir des documents SGML depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Sgml is a module to help the translation of documentation in the SGML format into other [human] languages.
fr: Locale::Po4a::Sgml est un module qui permet d’aider la traduction de documentations au format SGML vers d’autres langues.

note: type: textblock
en: This module uses B<onsgmls>(1) to parse the SGML files. Make sure it is installed.  Also make sure that the DTD of the SGML files are installed in the system.
fr: Ce module utilise B<onsgmls>(1) pour analyser les fichiers SGML. Assurez vous qu’il est bien installé et que la DTD des fichiers SGML est bien installée sur le système.

note: type: textblock
en: Space-separated list of keywords indicating which category of extra debug messages should be shown. Possible values are: C<entities>, C<generic>, C<onsgml>, C<refs> and C<tag>.
fr: Liste de mots clefs séparés par des espaces et indiquant quelles catégories de messages de débogage supplémentaire devraient être affichées. Les valeurs possibles sont C<entities>, C<generic>, C<onsgml>, C<refs> et C<tag>.

note: type: textblock
en: Give more information about what's going on.
fr: Donne plus d’informations sur ce qu’il se passe.

note: type: textblock
en: Space-separated list of extra tags (beside the DTD provided ones) whose content should form an extra msgid, i.e that should be translated.
fr: Liste de balises supplémentaires (en plus de celles fournies par la DTD) séparées par des espaces dont le contenu doit former des msgid additionnels, c’est-à-dire pour être traduites.

note: type: textblock
en: Space-separated list of extra tags (beside the DTD provided ones)  containing other tags, some of them being of category B<translate>.
fr: Liste de balises supplémentaires (en plus de celles fournies par la DTD) pouvant contenir d’autres balises, qui peuvent être à traduire (catégorie B<translate>).

note: type: textblock
en: The layout within those tags should not be changed. The paragraph won't get wrapped, and no extra indentation space or new line will be added for cosmetic purpose.
fr: Le formatage du texte contenu dans ces balises ne doit pas être modifié. Aucun retour à la ligne n’est ajouté dans les paragraphes et aucune espace pour l’indentation ou nouvelle ligne n’est ajoutée pour des raisons cosmétiques.

note: type: textblock
en: Tags not needing to be closed.
fr: Balises n’ayant pas besoin d’être fermées.

note: type: textblock
en: A space-separated list of attributes that need to be translated. You can specify the attributes by their name (for example, C<lang>), but you can also prefix it with a tag hierarchy, to specify that this attribute will only be translated when it is into the specified tag. For example: C<< <bbb><aaa>lang >> specifies that the lang attribute will only be translated if it is in an C<< <aaa> >> tag, which is in a C<< <bbb> >> tag.  The tag names are actually regular expressions so you can also write things like C<< <aaa|bbb>lang >> to only translate C<lang> attributes that are in an C<< <aaa> >> or a C<< <bbb> >> tag.
fr: Une liste d’attributs de balises (séparés par des espaces) que vous voulez traduire. Vous pouvez spécifier les attributs par leur nom (par exemple, C<lang>), mais vous pouvez aussi les faire précéder d’une hiérarchie de balises pour indiquer que cet attribut ne sera traduit que quand il sera placé à l’intérieur d’une balise. Par exemple : C<< <bbb><aaa>lang >> indique que l’attribut lang ne sera traduit que s’il se trouve dans une balise C<< <aaa> >>, se trouvant elle-même dans une balise C<< <bbb> >>. Le nom des balises est en fait une expression rationnelle, ce qui vous permet de spécifier C<< <aaa|bbb>lang >> si vous ne voulez traduire que les attributs C<lang> qui se trouvent dans une balise C<< <aaa> >> ou C<< <bbb> >>.

note: type: textblock
en: Proceed even if the DTD is unknown or if B<onsgmls> finds errors in the input file.
fr: Continue même si la DTD est inconnue ou si B<onsgmls> trouve des erreurs dans le document d’entrée.

note: type: textblock
en: By default, msgids containing only one entity (like C<&version;>) are skipped for the translators' comfort. Activating this option prevents this optimisation. It can be useful if the document contains a construction like C<< <title>&Aacute;</title> >>, even if I doubt such things to ever happen...
fr: Par défaut, les msgid qui ne contiennent qu’une entité (comme « C<&version;> ») sont sautés pour le confort des équipes de traduction. Activer cette option arrête cette optimisation. Ceci peut être utile si le document contient une construction telle que C<< <title>&Aacute;</title> >>, même s’il est peu probable que cela arrive...

note: type: textblock
en: Space-separated list of entities that won't be inlined.  Use this option with caution: it may cause B<onsgmls> (used internally) to add tags and render the output document invalid.
fr: Liste d’entités, séparées par des espaces, qui ne seront pas insérées. Utilisez cette option avec précaution : elle peut forcer B<onsgmls> (qui est utilisé en interne) à ajouter des tags et rendre le document généré non valable.

note: type: textblock
en: The result is perfect. I.e., the generated documents are exactly the same as the originals. But there are still some problems:
fr: Le résultat est parfait. C’est-à-dire que les documents générés sont rigoureusement identiques aux originaux. Mais il reste encore quelques problèmes :

note: type: =item
en: The error output of B<onsgmls> is redirected to /dev/null by default, which is clearly bad. I don't know how to avoid that.
fr: Les messages d’erreur de B<onsgmls> sont redirigés vers /dev/null par défaut, ce qui n’est pas bien, mais je ne sais pas comment éviter cela.

note: type: textblock
en: The problem is that I have to "protect" the conditional inclusions (i.e. the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) from B<onsgmls>. Otherwise B<onsgmls> eats them, and I don't know how to restore them in the final document. To prevent that, I rewrite them to C<{PO4A-beg-foo}> and C<{PO4A-end}>.
fr: Le problème est que j’ai à « protéger » les inclusions conditionnées (c’est à dire « C<E<lt>! [ %truc [> » et « C<]]E<gt>> machin ») de B<onsgmls>. Sinon, B<onsgmls> les élimine, et je ne sais pas les rétablir dans le document final. Pour empêcher cela, je les récris dans C<{PO4A-beg-truc}> et C<{PO4A-end}>.

note: type: textblock
en: The problem with this is that the C<{PO4A-end}> and such I add are invalid in the document (not in a E<lt>pE<gt> tag or so).
fr: Le problème avec cela est que les C<{PO4A-end}> et autres sont non valables dans le document (sauf dans une balise E<lt>pE<gt> ou autre).

note: type: textblock
en: If you want to view the B<onsgmls> output, just add the following to your command line (or po4a configuration line):
fr: Si vous souhaitez afficher la sortie d’B<onsgmls>, il suffit d’ajouter ce qui suit à votre ligne de commande (ou à la ligne de configuration po4a) :

note: type: =item
en: It does work only with the DebianDoc and DocBook DTD. Adding support for a new DTD should be very easy. The mechanism is the same for every DTD, you just have to give a list of the existing tags and some of their characteristics.
fr: Cela ne marche qu’avec les DTD DebianDoc et DocBook. L’ajout de prise en charge d’une nouvelle DTD doit être très facile. Le mécanisme est le même pour chaque DTD, vous n’avez qu’à donner la liste des balises existantes et certaines de leurs caractéristiques.

note: type: textblock
en: I agree, this needs some more documentation, but it is still considered as beta, and I hate to document stuff which may/will change.
fr: Je comprend que cela nécessiterait plus de documentation, mais c’est toujours considéré comme à l’état bêta, et je déteste documenter ce qui risque de/va changer.

note: type: =item
en: Warning, support for DTDs is quite experimental. I did not read any reference manual to find the definition of every tag. I did add tag definition to the module 'till it works for some documents I found on the net. If your document use more tags than mine, it won't work. But as I said above, fixing that should be quite easy.
fr: Attention, la prise en charge des DTD est plutôt expérimentale. Je n’ai lu aucun manuel de référence pour trouver la définition de toutes ces balises. J’ai ajouté des définitions de balises au module jusqu’à ce que ça marche pour certains documents trouvés sur Internet. Si votre document utilise plus de balises que les miens, ça ne marchera pas. Mais, comme je l’ai dit plus haut, corriger cela doit être assez facile.

note: type: textblock
en: I did test DocBook against the SAG (System Administrator Guide) only, but this document is quite big, and should use most of the DocBook specificities.
fr: J’ai testé le format DocBook avec le SAG (System Administrator Guide -- Guide de l’Administrateur Système) uniquement, mais comme ce document est assez important, il doit utiliser la plupart des spécificités de DocBook.

note: type: textblock
en: For DebianDoc, I tested some of the manuals from the DDP, but not all yet.
fr: Pour le format DebianDoc, je l’ai testé avec certains manuels du DDP, mais pas encore avec tous.

note: type: =item
en: In case of file inclusion, string reference of messages in PO files (i.e. lines like C<#: en/titletoc.sgml:9460>) will be wrong.
fr: En cas d’inclusion d’un fichier, les références des messages du PO (c.-à-d., les lignes de la forme C<#: en/titletoc.sgml:9460>) seront erronées.

note: type: textblock
en: This is because I preprocess the file to protect the conditional inclusion (i.e. the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) and some entities (like C<&version;>) from B<onsgmls> because I want them verbatim to the generated document. For that, I make a temp copy of the input file and do all the changes I want to this before passing it to B<onsgmls> for parsing.
fr: Cela est dû au fait que j’applique un prétraitement au fichier pour protéger les inclusions conditionnelles (utilisant « C<E<lt>! [ %truc [> » et « C<]]E<gt>> machin ») et quelques entités (comme C<&version;>) de B<onsgmls> parce que je les veux telles quelles dans le document généré. Pour cela, je fais une copie temporaire du fichier d’entrée et effectue toutes les modifications que je veux lui appliquer avant de le passer à B<onsgmls> pour son analyse.

note: type: textblock
en: So that it works, I replace the entities asking for a file inclusion by the content of the given file (so that I can protect what needs to be in a subfile also). But nothing is done so far to correct the references (i.e., filename and line number) afterward. I'm not sure what the best thing to do is.
fr: Pour que ça fonctionne, je remplace les entités demandant l’inclusion d’un fichier par le contenu du fichier donné (comme cela je peux également protéger ce qui doit être dans le sous-fichier). Mais rien n’est fait à présent pour corriger les références (c.-à-d. les noms des fichiers et les numéros de ligne) par la suite. Je ne sais pas ce qui est préférable.

note: type: textblock
en: This module is an adapted version of sgmlspl (SGML postprocessor for the ONSGMLS parser) which was:
fr: Ce module est une adaptation de sgmlspl (postprocesseur SGML pour l’analyseur ONSGMLS), qui était :

note: type: textblock
en: The adaptation for po4a was done by:
fr: L’adaptation de po4a a été faite par :

note: type: textblock
en: __END__
fr: __FIN__

note: type: textblock
en: Locale::Po4a::TeX - convert TeX documents and derivatives from/to PO files
fr: Locale::Po4a::TeX - Convertir les documents TeX (ou dérivés) depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::TeX is a module to help the translation of TeX documents into other [human] languages. It can also be used as a base to build modules for TeX-based documents.
fr: Locale::Po4a::TeX est un module qui permet d’aider à traduire des documents TeX dans d’autres langues. Il peut aussi servir de base pour créer d’autres modules pour des documents basés sur le format TeX.

note: type: textblock
en: Users should probably use the LaTeX module, which inherits from the TeX module and contains the definitions of common LaTeX commands.
fr: Il est préférable d’utiliser le module LaTeX, qui hérite du module TeX et contient les définitions des commandes LaTeX les plus courantes.

note: type: =head1
en: TRANSLATING WITH PO4A::TEX
fr: TRADUCTION AVEC PO4A::TEX

note: type: textblock
en: This module can be used directly to handle generic TeX documents.  This will split your document in smaller blocks (paragraphs, verbatim blocks, or even smaller like titles or indexes).
fr: Ce module peut être utilisé directement pour traiter des documents dans un format générique TeX. Il découpera le document en blocs plus petits (paragraphes, blocs verbatim, ou des éléments encore plus petits comme les titres ou index).

note: type: textblock
en: This module can also be customized by lines starting with "% po4a:" in the TeX file. This process is described in the B<INLINE CUSTOMIZATION> section.
fr: Ce module peut également être configuré à l’aide de lignes commençant par « % po4a: » dans le fichier TeX. Ce processus est décrit dans la section B<PERSONNALISATION EN LIGNE>.

note: type: textblock
en: Comma-separated list of environments which should not be re-wrapped.
fr: Liste d’environnements, séparés par des virgules, dont les retours à la ligne ne doivent pas être modifiés.

note: type: textblock
en: Note that there is a difference between verbatim and no_wrap environments.  There is no command and comments analysis in verbatim blocks.
fr: Notez qu’il y a une différence entre un environnement sans remise en forme et un environnement verbatim. Il n’y a pas d’analyse des commandes et des commentaires dans les blocs verbatim.

note: type: textblock
en: If this environment was not already registered, po4a will consider that this environment does not take any parameters.
fr: Si cet environnement n’était pas déjà enregistré, po4a considérera que cet environnement ne prend pas de paramètre.

note: type: textblock
en: Colon-separated list of files that should not be included by \input and \include.
fr: Liste de fichiers, séparés par des deux-points, qui ne doivent pas être inclus par les commandes \input et \include.

note: type: textblock
en: Comma-separated list of environments which should be taken as verbatim.
fr: Liste d’environnements, séparés par des virgules, qui doivent être considérés comme verbatim.

note: type: textblock
en: Use these options to override the default behavior of the defined commands.
fr: Utilisez ces options pour remplacer le comportement par défaut des commandes définies.

note: type: textblock
en: The TeX module can be customized with lines starting by B<% po4a:>.  These lines are interpreted as commands to the parser.  The following commands are recognized:
fr: Le module TeX peut être personnalisé à l’aide de lignes commençant par B<% po4a:>. Ces lignes sont interprétées comme des commandes pour l’analyseur. Les commandes suivantes sont reconnues :

note: type: =item
en: B<% po4a: command> I<command1> B<alias> I<command2>
fr: B<% po4a: command> I<commande1> B<alias> I<commande2>

note: type: textblock
en: Indicates that the arguments of the I<command1> command should be treated as the arguments of the I<command2> command.
fr: Indique que les paramètres de la commande I<commande1> doivent être traités de la même façon que les paramètres de la commande I<commande2>.

note: type: =item
en: B<% po4a: command> I<command1> I<parameters>
fr: B<% po4a: commande> I<commande1> I<paramètres>

note: type: textblock
en: This describes in detail the parameters of the I<command1> command.  This information will be used to check the number of arguments and their types.
fr: Ceci permet de décrire en détail les paramètres de la commande I<commande1>. Cette information est ensuite utilisée pour vérifier le nombre de paramètres et leurs types.

note: type: textblock
en: You can precede the I<command1> command by
fr: Vous pouvez précéder la commande I<commande1> S<par :>

note: type: =item
en: an asterisk (B<*>)
fr: un astérisque (B<*>)

note: type: textblock
en: po4a will extract this command from paragraphs (if it is located at the beginning or the end of a paragraph).  The translators will then have to translate the parameters that are marked as translatable.
fr: po4a extraira cette commande des paragraphes (si elle est située à une extrémité du paragraphe). Les équipes de traduction auront alors à traduire les paramètres qui ont été marqués comme pouvant être traduits.

note: type: =item
en: a plus (B<+>)
fr: un plus (B<+>)

note: type: textblock
en: As for an asterisk, the command will be extracted if it appear at an extremity of a block, but the parameters won't be translated separately.  The translator will have to translate the command concatenated to all its parameters.  This keeps more context, and is useful for commands with small words in parameter, which can have multiple meanings (and translations).
fr: Comme pour un astérisque, la commande sera extraite si elle apparaît à une extrémité d’un bloc, mais ses paramètres ne seront pas traduits séparément. Les équipes de traduction auront à traduire la commande concaténée à tous ses paramètres. Ceci permet de conserver plus de contexte, et est utile pour les commandes avec des mots courts en paramètre, qui peuvent avoir plusieurs significations (et traductions).

note: type: textblock
en: Note: In this case you don't have to specify which parameters are translatable, but po4a must know the type and number of parameters.
fr: S<Note :> dans ce cas, vous n’avez pas à préciser quels paramètres sont traduisibles, mais po4a doit connaître les types et le nombre de paramètres.

note: type: =item
en: a minus (B<->)
fr: un moins (B<->)

note: type: textblock
en: In this case, the command won't be extracted from any block.  But if it appears alone on a block, then only the parameters marked as translatable will be presented to the translator.  This is useful for font commands.  These commands should generally not be separated from their paragraph (to keep the context), but there is no reason to annoy the translator with them if a whole string is enclosed in such a command.
fr: Dans ce cas, la commande ne sera jamais extraite d’un bloc. Mais si elle apparaît seule dans un bloc, alors seuls les paramètres marqués comme traduisibles seront présentés aux équipes de traduction. C’est utile pour les commandes de police. Ces commandes ne doivent généralement pas être séparées de leur paragraphe (pour conserver le contexte), mais il n’y a pas de raison de déranger les équipes de traduction avec ces commandes si la chaîne entière est englobée dans cette commande.

note: type: textblock
en: In this case, the information indicating which arguments must be translated is only used if a paragraph is only composed of this href command.
fr: Dans ce cas, l’information indiquant quels paramètres doivent être traduits n’est utilisée que si un paragraphe n’est composé que de cette commande.

note: type: =item
en: B<% po4a: environment> I<env> I<parameters>
fr: B<% po4a: environnent> I<env> I<paramètres>

note: type: textblock
en: As for the commands, I<env> can be preceded by a plus (+) to indicate that the \begin command must be translated with all its arguments.
fr: Comme pour les commandes, I<env> peut être précédé d’un plus (+) pour indiquer que la commande \begin doit être traduite avec tous ses paramètres.

note: type: =item
en: B<% po4a: separator> I<env> B<">I<regex>B<">
fr: B<% po4a: séparateur> I<env> B<">I<regex>B<">

note: type: textblock
en: Indicates that an environment should be split according to the given regular expression.
fr: Indique que l’environnement doit être découpé suivant l’expression rationnelle donnée.

note: type: textblock
en: The regular expression is delimited by quotes.  It should not create any back-reference.  You should use (?:) if you need a group.  It may also need some escapes.
fr: L’expression rationnelle doit être délimitée par des guillemets. Elle ne doit pas créer de rétro-référence. Vous devriez utiliser (?:) si vous avez besoin d’un groupe. Elle peut aussi nécessiter des caractères d’échappement.

note: type: textblock
en: For example, the LaTeX module uses the "(?:&|\\\\)" regular expression to translate separately each cell of a table (lines are separated by '\\' and cells by '&').
fr: Par exemple, le module LaTeX utilise l’expression rationnelle "(?:&|\\\\)" pour traduire séparément chaque cellule d’un tableau (les lignes sont séparées par '\\' et les cellules par '&').

note: type: textblock
en: The notion of environment is expanded to the type displayed in the PO file.  This can be used to split on "\\\\" in the first mandatory argument of the title command.  In this case, the environment is title{#1}.
fr: La notion d’environnement est étendue au type affiché dans le fichier PO. Ceci peut être utilisé pour réaliser un découpage suivant "\\\\" dans le premier paramètre obligatoire de la commande title. Dans ce cas, l’environnement à utiliser est title{#1}.

note: type: =item
en: B<% po4a: verbatim environment> I<env>
fr: B<% po4a: verbatim environnent> I<env>

note: type: textblock
en: Indicate that I<env> is a verbatim environment.  Comments and commands will be ignored in this environment.
fr: Indique que I<env> est un environnement verbatim. Les commentaires et les commandes seront ignorés dans cet environnement.

note: type: =head1
en: WRITING DERIVATE MODULES
fr: ÉCRITURE DE MODULES DÉRIVÉS

note: type: textblock
en: Add a string as a comment to be added around the next translated element.  This is mostly useful to the texinfo module, as comments are automatically handled in TeX.
fr: Ajoute une chaîne en tant que commentaire à ajouter autour du prochain élément traduit. Ceci est surtout utile pour le module texinfo, car les commentaires sont automatiquement gérés dans TeX.

note: type: textblock
en: Wrapper around Transtractor's translate, with pre- and post-processing filters.
fr: Encapsulation de l’appel à la fonction translate du module Transtractor, en ajoutant des filtres avant et après la traduction.

note: type: textblock
en: Comments of a paragraph are inserted as a PO comment for the first translated string of this paragraph.
fr: Les commentaires d’un paragraphe sont insérés comme commentaires au fichier PO pour la première chaîne de ce paragraphe.

note: type: textblock
en: This function returns:
fr: Cette fonction renvoie :

note: type: =item
en: A command name
fr: Un nom de commande

note: type: textblock
en: If no command is found at the beginning of the given buffer, this string will be empty.  Only commands that can be separated are considered.  The %separated_command hash contains the list of these commands.
fr: Si aucune commande n’est trouvée au début du buffer, cette chaîne sera vide. Seules les commandes qui peuvent être séparées sont prises en compte. La table de hachage %separated_command contient la liste de ces commandes.

note: type: =item
en: A variant
fr: Une variante

note: type: textblock
en: This indicates if a variant is used.  For example, an asterisk (*) can be added at the end of sections command to specify that they should not be numbered.  In this case, this field will contain "*".  If there is no variant, the field is an empty string.
fr: Indique si une variante est utilisée. Par exemple, un astérisque (*) peut être ajouté à la fin des commandes de section pour indiquer qu’elles ne doivent pas être numérotées. Dans ce cas, ce champ contiendra S<« * »>. S’il n’y a pas de variante, ce champ est une chaîne vide.

note: type: =item
en: An array of tuples (type of argument, argument)
fr: Un tableau de couples (type de paramètre, paramètre)

note: type: textblock
en: The type of argument can be either '{' (for mandatory arguments) or '[' (for optional arguments).
fr: Le type de paramètre peut être soit S<« { »> (pour les paramètres obligatoires) ou S<« [ »> (pour les paramètres optionnels).

note: type: =item
en: The remaining buffer
fr: Le reste du buffer

note: type: textblock
en: The rest of the buffer after the removal of this leading command and its arguments.  If no command is found, the original buffer is not touched and returned in this field.
fr: Le reste du buffer après le retrait de la commande de tête et de ses paramètres. Si aucune commande n’est trouvée, le buffer original n’est pas modifié et est renvoyé dans ce champ.

note: type: textblock
en: The same as B<get_leading_command>, but for commands at the end of a buffer.
fr: Comme B<get_leading_command>, mais pour les commandes à la fin du buffer.

note: type: textblock
en: Recursively translate a buffer by separating leading and trailing commands (those which should be translated separately) from the buffer.
fr: Traduit récursivement un buffer en séparant du buffer les commandes de tête et de queue (pour celles qui peuvent être traduites séparément).

note: type: textblock
en: If a function is defined in %translate_buffer_env for the current environment, this function will be used to translate the buffer instead of translate_buffer().
fr: Si une fonction est définie dans %translate_buffer_env pour l’environnement en cours, cette fonction sera utilisée pour traduire le bloc au lieu d’utiliser translate_buffer().

note: type: textblock
en: Overloads Transtractor's read().
fr: Surcharge la fonction read() du module Transtractor.

note: type: textblock
en: Recursively read a file, appending included files which are not listed in the @exclude_include array.  Included files are searched using the B<kpsewhich> command from the Kpathsea library.
fr: Lit récursivement un fichier, en insérant les fichiers inclus (s’ils ne sont pas listés dans le tableau @exclude_include. Les fichiers inclus sont recherchés à l’aide de la commande B<kpsewhich> de la bibliothèque Kpathsea.

note: type: textblock
en: Except from the file inclusion part, it is a cut and paste from Transtractor's read.
fr: Mis à part l’insertion des fichiers, c’est un simple copier-coller de la fonction read du Transtractor.

note: type: textblock
en: Subroutine for parsing a file with po4a directives (definitions for new commands).
fr: Sous-routine permettant d’analyser un fichier contenant des directives pour po4a (par exemple pour les nouvelles commandes).

note: type: textblock
en: Parse a definition line of the form "% po4a: ".
fr: Analyse une ligne de configuration de la forme S<« %po4a : »>.

note: type: textblock
en: See the B<INLINE CUSTOMIZATION> section for more details.
fr: Consultez la section B<PERSONNALISATION EN LIGNE> pour en savoir plus.

note: type: =head1
en: INTERNAL FUNCTIONS used to write derivative parsers
fr: FONCTIONS INTERNES utilisées pour écrire un analyseur (parser) dérivé

note: type: textblock
en: Command and environment functions take the following arguments (in addition to the $self object):
fr: Les fonctions pour les commandes et les environnements prennent, en plus de l’objet $self, les paramètres suivants :

note: type: =item
en: An array of (type, argument) tuples
fr: Un tableau de couples (type, paramètre)

note: type: =item
en: The current environment
fr: L’environnement actuel

note: type: textblock
en: The first 3 arguments are extracted by get_leading_command or get_trailing_command.
fr: Les 3 premiers paramètres sont extraits par get_leading_command ou get_trailing_command.

note: type: textblock
en: Command and environment functions return the translation of the command with its arguments and a new environment.
fr: Les fonctions pour les environnements ou les commandes renvoient la traduction de la commande avec ses paramètres et le nouvel environnement.

note: type: textblock
en: Environment functions are called when a \begin command is found. They are called with the \begin command and its arguments.
fr: Les fonctions pour les environnements sont appelées lorsqu’une commande \begin est trouvée. Elles sont appelées avec la commande \begin et ses paramètres.

note: type: textblock
en: The TeX module only proposes one command function and one environment function: generic_command and generic_environment.
fr: Le module TeX ne fournit qu’une fonction pour les commandes et une fonction pour les S<environnements :> generic_command et generic_environment.

note: type: textblock
en: Both functions will only translate the parameters that were specified as translatable (with a '_').  generic_environment will append the name of the environment to the environment stack and generic_command will append the name of the command followed by an identifier of the parameter (like {#7} or [#2]).
fr: Ces deux fonctions ne traduisent que les paramètres qui ont été indiqués comme étant à traduire (avec un S<« _ »>). generic_environment ajoutera le nom de l’environnement à la pile des environnements et generic_command ajoutera le nom de la commande suivi par un identifiant du paramètre (comme {#7} ou [#2]).

note: type: textblock
en: This module needs more tests.
fr: Ce module a besoin de plus de tests.

note: type: textblock
en: It was tested on a book and with the Python documentation.
fr: Il a été testé avec un livre et la documentation Python.

note: type: =head1
en: TODO LIST
fr: LISTE DES CHOSES À FAIRE

note: type: =item
en: Automatic detection of new commands
fr: Détection automatique des nouvelles commandes

note: type: textblock
en: The TeX module could parse the newcommand arguments and try to guess the number of arguments, their type and whether or not they should be translated.
fr: Le module TeX pourrait analyser les paramètres de la commande newcommand et essayer de trouver le nombre de paramètres, leurs types et si oui ou non ils doivent être traduits.

note: type: =item
en: Translation of the environment separator
fr: Traduction des séparateurs dans les environnements

note: type: textblock
en: When \item is used as an environment separator, the item argument is attached to the following string.
fr: Quand \item est utilisé comme séparateur dans un environnement, le paramètre de item est attaché à la chaîne qui suit.

note: type: =item
en: Some commands should be added to the environment stack
fr: Certaines commandes devraient être ajoutées à la pile des environnements

note: type: textblock
en: These commands should be specified by couples.  This can be used to specify commands beginning or ending a verbatim environment.
fr: Ces commandes devraient être fournies par paires. Ceci peut être utilisé pour définir des commandes qui débutent ou terminent un environnement verbatim.

note: type: =item
en: Others
fr: Autres

note: type: textblock
en: Various other points are tagged TODO in the source.
fr: Divers autres points sont marqués TODO dans les sources.

note: type: =head1
en: KNOWN BUGS
fr: BOGUES CONNUS

note: type: textblock
en: Various points are tagged FIXME in the source.
fr: Divers points sont marqués FIXME dans les sources.

note: type: textblock
en: Locale::Po4a::Texinfo - convert Texinfo documents and derivates from/to PO files
fr: Locale::Po4a::Texinfo - Convertir les documents Texinfo (ou dérivés) depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Texinfo is a module to help the translation of Texinfo documents into other [human] languages.
fr: Locale::Po4a::Texinfo est un module permettant d’aider la traduction de documents Texinfo dans d’autres langues.

note: type: textblock
en: This module contains the definitions of common Texinfo commands and environments.
fr: Ce module contient les définitions de commandes et environnements couramment rencontrés dans des documents Texinfo.

note: type: textblock
en: Only the comments starting with 'TRANSLATORS' are added to the PO files to guide the translators.
fr: Seuls les commentaires commençant par 'TRANSLATORS' sont ajoutés aux fichiers PO pour guider les équipes de traduction.

note: type: textblock
en: This module is still beta and not ready for production use.  Please send patches to contribute, not bug reports as we don't know how to deal with them.
fr: Ce module est encore en version bêta et n’est pas prêt pour la production. Veuillez envoyer des patchs pour contribuer, et non des rapports de bogues, car nous ne savons pas encore comment les traiter.

note: type: textblock
en: Do not warn about the current state of this module.
fr: Ne pas alerter sur l’état actuel de ce module.

note: type: textblock
en: Locale::Po4a::Text - convert text documents from/to PO files
fr: Locale::Po4a::Text - Convertir les documents texte depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Text is a module to help the translation of text documents into other [human] languages.
fr: Locale::Po4a::Text est un module permettant d’aider la traduction de documents texte dans d’autres langues.

note: type: textblock
en: Paragraphs are split on empty lines (or lines containing only spaces or tabulations).
fr: Les paragraphes sont séparés par des lignes vides (ou des lignes ne contenant que des espaces ou tabulations).

note: type: textblock
en: If a paragraph contains a line starting by a space (or tabulation), this paragraph won't be rewrapped.
fr: Si un paragraphe contient une ligne commençant par une espace (ou une tabulation), ce paragraphe ne sera pas remis en forme.

note: type: textblock
en: Treat paragraphs that look like a colon-separated key-value pair as verbatim (with the C<no-wrap> flag in the PO file). A key-value pair string is a string like C<key: value>, containing one or more non-colon and non-space characters followed by a colon followed by at least one non-space character before the end of the line.
fr: Traite les paragraphes ressemblant à des listes de clé/valeur séparées par des virgules comme du texte verbatim (avec le drapeau C<no-wrap> dans le fichier PO). Une chaine qui associe une clé à une valeur est une chaine du type C<clé: valeur> qui contient une suite de caractères qui ne sont ni des « : » ni des espaces, suivie par le caractère « : » suivi lui-même par au moins un caractère qui n’est pas une espace avant la fin de la ligne.

note: type: textblock
en: Deactivate the detection of bullets.
fr: Désactive la détection des puces.

note: type: textblock
en: By default, when a bullet is detected, the bullet paragraph is not considered as a verbatim paragraph (with the C<no-wrap> flag in the PO file). Instead, the corresponding paragraph is rewrapped in the translation.
fr: Par défaut, quand une puce est détectée, le paragraphe de la puce n’est pas considéré comme un paragraphe verbatim (avec le flag C<no-wrap> dans le fichier PO). À la place, le module remet en forme le paragraphe dans la traduction.

note: type: textblock
en: Specify how tabulations shall be handled. The I<mode> can be any of:
fr: Indique comment les tabulations doivent être prises en charge. Le I<mode> peut prendre une des valeurs suivantes :

note: type: textblock
en: Lines with tabulations introduce breaks in the current paragraph.
fr: Les lignes avec des tabulations introduisent une césure du paragraphe en cours.

note: type: textblock
en: Paragraph containing tabulations will not be re-wrapped.
fr: Les paragraphes contenant des tabulations ne sont pas remis en forme.

note: type: textblock
en: By default, tabulations are considered as spaces.
fr: Par défaut, les tabulations sont considérées comme des espaces.

note: type: textblock
en: A regular expression matching lines which introduce breaks.  The regular expression will be anchored so that the whole line must match.
fr: Les ligne correspondant à cette expression rationnelle introduisent une césure. L’expression rationnelle devra correspondre avec la ligne entière.

note: type: textblock
en: Handle the header and footer of released versions, which only contain non translatable information.
fr: Gère les en-têtes et pieds de page des versions publiées, qui ne contiennent que des informations non traduisibles.

note: type: textblock
en: Handle the fortunes format, which separate fortunes with a line which consists in '%' or '%%', and use '%%' as the beginning of a comment.
fr: Prendre en charge le format des fichiers « fortunes », qui sépare chaque bloc avec une ligne « % » ou « %% » et utilise « %% » pour indiquer un commentaire.

note: type: textblock
en: Handle some special markup in Markdown-formatted texts.
fr: Prendre en charge les marqueurs utilisés dans les textes au format Markdown.

note: type: =item
en: B<yfm_keys> (markdown-only)
fr: B<yfm_keys> (markdown uniquement)

note: type: =item
en: B<yfm_lenient> (markdown only)
fr: B<yfm_keys> (markdown uniquement)

note: type: textblock
en: Allow the YAML Front Matter parser to fail on malformated headers. This is particularly helpful when your file starts with a horizontal ruler instead of a YAML Front Matter, but you insist on using three dashes only for your ruler.
fr: Autoriser l'analyseur de section préliminaire YAML à échouer en cas d'en-têtes malformés. Ceci est particulièrement utile lorsque votre fichier commence par une règle horizontale au lieu d'une section préliminaire YAML, mais que vous insistez pour utiliser uniquement trois tirets pour votre règle.

note: type: =item
en: B<yfm_paths> (markdown only)
fr: B<yfm_path> (markdown uniquement)

note: type: =item
en: B<yfm_skip_array> (markdown-only)
fr: B<yfm_skip_array> (markdown uniquement)

note: type: =item
en: B<control>[B<=>I<field_list>]
fr: B<control>[B<=>I<liste_de_champs>]

note: type: textblock
en: Handle Debian's control files.  A comma-separated list of fields to be translated can be provided.
fr: Prendre en charge les fichiers de contrôle Debian. Une I<liste_de_champs> à traduire, séparés par des virgules, peut être fournie.

note: type: textblock
en: Prevent po4a from wrapping any lines. This means that every content is handled verbatim, even simple paragraphs.
fr: Empêche po4a de rajouter des retours à la ligne. Cela signifie que chaque contenu est traité textuellement, même des paragraphes simples.

note: type: textblock
en: Tested successfully on simple text files and NEWS.Debian files.
fr: Testé avec succès sur des fichiers texte simples et avec des fichiers NEWS.Debian.

note: type: textblock
en: Locale::Po4a::TransTractor - generic trans(lator ex)tractor.
fr: Locale::Po4a::TransTractor - Traduction et extraction générique.

note: type: textblock
en: This class is the ancestor of every po4a parser used to parse a document, to search translatable strings, to extract them to a PO file and to replace them by their translation in the output document.
fr: Cette classe est l’ancêtre de tous les analyseurs po4a utilisés pour lire un document, y chercher les chaînes traduisibles, les extraire dans un fichier PO, et les remplacer par leur traduction dans le document généré.

note: type: textblock
en: More formally, it takes the following arguments as input:
fr: Plus formellement, elle prend les paramètres d’entrée suivants :

note: type: textblock
en: a document to translate;
fr: un document à traduire ;

note: type: textblock
en: a PO file containing the translations to use.
fr: un fichier PO contenant les traductions à utiliser.

note: type: textblock
en: As output, it produces:
fr: En sortie, elle S<produit :>

note: type: textblock
en: another PO file, resulting of the extraction of translatable strings from the input document;
fr: un autre fichier PO, résultat de l’extraction des chaînes traduisibles du document en entrée ;

note: type: textblock
en: a translated document, with the same structure than the one in input, but with all translatable strings replaced with the translations found in the PO file provided in input.
fr: un document traduit, partageant la même structure que celui en entrée, mais dont toutes les chaînes traduisibles ont été remplacées par les traductions trouvées dans le fichier PO fourni en entrée.

note: type: textblock
en: Here is a graphical representation of this:
fr: Voici une représentation graphique de tout cela :

note: type: =head1
en: FUNCTIONS YOUR PARSER SHOULD OVERRIDE
fr: FONCTIONS QUE VOTRE ANALYSEUR DOIT SURCHARGER

note: type: textblock
en: This is where all the work takes place: the parsing of input documents, the generation of output, and the extraction of the translatable strings. This is pretty simple using the provided functions presented in the section B<INTERNAL FUNCTIONS> below. See also the B<SYNOPSIS>, which presents an example.
fr: Il s’agit de la fonction principale où tout le travail a S<lieu :> la lecture des documents en entrée, la génération des documents en sortie et l’extraction des chaînes traduisibles. Tout ceci est assez simple avec les fonctions fournies et présentées dans la section B<FONCTIONS INTERNES> ci-dessous. Référez-vous à la section B<SYNOPSIS>, qui présente un exemple.

note: type: textblock
en: This function is called by the process() function below, but if you choose to use the new() function, and to add content manually to your document, you will have to call this function yourself.
fr: Cette fonction est appelée par la fonction process() ci-dessous, mais si vous choisissez d’utiliser la fonction new(), et d’ajouter le contenu manuellement, vous devrez appeler cette fonction vous-même.

note: type: textblock
en: This function returns the header we should add to the produced document, quoted properly to be a comment in the target language.  See the section B<Educating developers about translations>, from L<po4a(7)|po4a.7>, for what it is good for.
fr: Cette fonction renvoie l’en-tête que nous devons ajouter au document produit, formaté comme il faut pour qu’il soit un commentaire pour le langage cible. Référez-vous à la section B<Éduquer les développeurs au problème des traductions>, dans L<po4a(7)|po4a.7>.

note: type: textblock
en: The following example parses a list of paragraphs beginning with "<p>". For the sake of simplicity, we assume that the document is well formatted, i.e. that '<p>' tags are the only tags present, and that this tag is at the very beginning of each paragraph.
fr: L’exemple suivant analyse une liste de paragraphes commençant par « <p> ». Pour simplifier, nous supposons que le document est bien formaté, c’est-à-dire que la balise <p> est la seule présente et que cette balise se trouve au début de chaque paragraphe.

note: type: textblock
en: Once you've implemented the parse function, you can use your document class, using the public interface presented in the next section.
fr: Une fois que vous avez implémenté la fonction parse, vous pouvez utiliser cette nouvelle classe en utilisant l’interface publique présentée dans la section suivante.

note: type: =head1
en: PUBLIC INTERFACE for scripts using your parser
fr: INTERFACE PUBLIQUE pour les scripts utilisant votre analyseur

note: type: =head2
en: Constructor
fr: Constructeur

note: type: textblock
en: This function can do all you need to do with a po4a document in one invocation. Its arguments must be packed as a hash. ACTIONS:
fr: Cette fonction peut faire tout ce dont vous avez besoin avec un document po4a en une seule invocation. Ses paramètres doivent être fournis sous forme de table de hachage. Voici les différentes actions possibles :

note: type: textblock
en: Reads all the PO files specified in po_in_name
fr: Lit tous les fichiers PO spécifiés dans po_in_name

note: type: textblock
en: Reads all original documents specified in file_in_name
fr: Lit tous les documents originaux spécifiés dans file_in_name

note: type: textblock
en: Parses the document
fr: Analyse le document

note: type: textblock
en: Reads and applies all the addenda specified
fr: Lit et applique tous les addendas spécifiés

note: type: textblock
en: Writes the translated document to file_out_name (if given)
fr: Écrit le document traduit dans file_out_name (si spécifié)

note: type: textblock
en: Writes the extracted PO file to po_out_name (if given)
fr: Écrit le fichier PO extrait dans po_out_name (si spécifié)

note: type: textblock
en: ARGUMENTS, beside the ones accepted by new() (with expected type):
fr: PARAMÈTRES, en plus de ceux acceptés par new(), ainsi que leur type :

note: type: textblock
en: List of filenames where we should read the input document.
fr: Liste de noms de fichiers d’où lire les documents en entrée.

note: type: textblock
en: Charset used in the input document (if it isn't specified, use UTF-8).
fr: Le jeu de caractères du document d'entrée (s’il n’est pas spécifié, UTF-8 sera utilisé).

note: type: textblock
en: Filename where we should write the output document.
fr: Nom de fichier où écrire le document en sortie.

note: type: textblock
en: Charset used in the output document (if it isn't specified, use UTF-8).
fr: Le jeu de caractères du document de sortie (s’il n’est pas spécifié, UTF-8 sera utilisé).

note: type: textblock
en: List of filenames where we should read the input PO files from, containing the translation which will be used to translate the document.
fr: Liste de noms de fichiers d’où lire les fichiers PO d’entrée (ceux contenant les traductions à utiliser pour la traduction du document).

note: type: textblock
en: Filename where we should write the output PO file, containing the strings extracted from the input document.
fr: Nom de fichier où écrire le fichier PO de sortie (celui contenant les chaînes extraites du document d’entrée).

note: type: textblock
en: List of filenames where we should read the addenda from.
fr: Liste de noms de fichiers d’où lire les addendas à appliquer.

note: type: =item
en: addendum_charset ($)
fr: addendum-charset ($)

note: type: textblock
en: Charset for the addenda.
fr: Jeu de caractères des addendas.

note: type: textblock
en: Create a new po4a document. Accepted options (in the hash passed as a parameter):
fr: Créer un nouveau document po4a. Options acceptées (dans le hachage passé en tant que paramètre) :

note: type: textblock
en: Sets the verbosity.
fr: Règle le niveau de bavardage.

note: type: textblock
en: Sets the debugging.
fr: Règle le niveau de débogage.

note: type: textblock
en: The column at which we should wrap text in output document (default: 76).
fr: La colonne à laquelle le texte doit être tronqué dans le document généré (76 par défaut).

note: type: textblock
en: The negative value means not to wrap lines at all.
fr: Une valeur négative signifie de ne pas du tout tronquer les lignes.

note: type: textblock
en: Also it accepts next options for underlying Po-files: B<porefs>, B<copyright-holder>, B<msgid-bugs-address>, B<package-name>, B<package-version>, B<wrap-po>.
fr: Le logiciel accepte également les options suivantes pour les fichiers Po sous-jacents : B<porefs>, B<copyright-holder>, B<msgid-bugs-address>, B<package-name>, B<package-version>, B<wrap-po>.

note: type: =head2
en: Manipulating document files
fr: Manipuler les documents

note: type: textblock
en: Please note that it does not parse anything. You should use the parse()  function when you're done with packing input files into the document.
fr: Notez que cette fonction n’analyse pas le fichier donné. Il faut utiliser parse() pour cela une fois que vous avez ajouté au document tous les fichiers que vous souhaitez analyser.

note: type: textblock
en: Write the translated document to the given filename.
fr: Écrire le document traduit dans le fichier dont le nom est passé en paramètre.

note: type: =head2
en: Manipulating PO files
fr: Manipuler les fichiers PO

note: type: textblock
en: Add the content of a file (which name is passed as argument) to the existing input PO. The old content is not discarded.
fr: Ajouter le contenu du fichier dont le nom est passé en paramètre au PO d’entrée. Notez que l’ancien contenu du PO d’entrée n’est pas effacé.

note: type: textblock
en: Write the extracted PO file to the given filename.
fr: Écrire le PO extrait dans le fichier dont le nom est passé en paramètre.

note: type: textblock
en: Returns some statistics about the translation done so far. Please note that it's not the same statistics than the one printed by msgfmt --statistic. Here, it's stats about recent usage of the PO file, while msgfmt reports the status of the file. It is a wrapper to the Locale::Po4a::Po::stats_get function applied to the input PO file. Example of use:
fr: Renvoie des statistiques à propos de la traduction. Notez que ce ne sont pas les statistiques affichées par msgfmt --statistic. Dans ce cas, il s’agit des statistiques concernant l’utilisation récente du fichier PO, tandis que msgfmt renseigne sur le statut du fichier PO. Il s’agit d’une encapsulation autour de la fonction Locale::Po4a::Po::stats_get en utilisant le fichier PO en entrée. Voici un exemple d’utilisation :

note: type: =head2
en: Manipulating addenda
fr: Manipuler les addenda

note: type: textblock
en: Please refer to L<po4a(7)|po4a.7> for more information on what addenda are, and how translators should write them. To apply an addendum to the translated document, simply pass its filename to this function and you are done ;)
fr: Référez-vous à L<po4a(7)|po4a.7> pour en savoir plus sur ce que sont les addendas et comment les équipes de traduction doivent les écrire. Pour appliquer un addendum au document traduit, il suffit de fournir le nom du fichier à cette fonction, et c’est S<fini  ;-)>

note: type: textblock
en: This function returns a non-null integer on error.
fr: Cette fonction renvoie un entier non nul en cas d’erreur.

note: type: =head2
en: Getting input, providing output
fr: Récupération de l’entrée, génération de la sortie

note: type: textblock
en: Four functions are provided to get input and return output. They are very similar to shift/unshift and push/pop of Perl.
fr: Quatre fonctions sont prévues pour obtenir l'entrée et retourner la sortie. Elles sont très similaires aux fonctions shift/unshift et push/pop de Perl.

note: type: textblock
en: The first pair is about input, while the second is about output. Mnemonic: in input, you are interested in the first line, what shift gives, and in output you want to add your result at the end, like push does.
fr: La première paire concerne l’entrée, et la seconde la sortie. Moyen S<mnémotechnique :> en entrée, on veut récupérer la première ligne, ce que shift S<permet ;> en sortie on veut ajouter le résultat à la fin, ce que fait push.

note: type: textblock
en: This function returns the first line to be parsed and its corresponding reference (packed as an array) from the array C<< @{$self->{TT}{doc_in}} >> and drop these first 2 array items.  Here, the reference is provided by a string C<< $filename:$linenum >>.
fr: Cette fonction renvoie la première ligne à analyser et sa référence correspondante (présentée sous forme de tableau) à partir du tableau C<<@{$self->{TT}{doc_in}}>> et supprime ces 2 premiers éléments du tableau. Ici, la référence est fournie par une chaîne C<<$filename:$linenum>>.

note: type: textblock
en: Unshifts the last shifted line of the input document and its corresponding reference back to the head of C<< {$self->{TT}{doc_in}} >>.
fr: Remets la dernière ligne récupérée avec shiftline() au début du tableau C<< {$self->{TT}{doc_in}} >>.

note: type: textblock
en: Push a new line to the end of C<< {$self->{TT}{doc_out}} >>.
fr: Ajoute une nouvelle ligne à la fin de C<< {$self->{TT}{doc_out}} >>.

note: type: textblock
en: Pop the last pushed line from the end of C<< {$self->{TT}{doc_out}} >>.
fr: Récupère (pop) la dernière ligne poussée à la fin de C<< {$self->{TT}{doc_out}} >>.

note: type: =head2
en: Marking strings as translatable
fr: Marquage des chaînes à traduire

note: type: textblock
en: One function is provided to handle the text which should be translated.
fr: Une fonction est fournie pour gérer le texte qui doit être traduit.

note: type: textblock
en: Mandatory arguments:
fr: Paramètres obligatoires :

note: type: textblock
en: A string to translate
fr: Une chaîne à traduire

note: type: textblock
en: The reference of this string (i.e. position in inputfile)
fr: La référence de cette chaîne (c.-à-d., sa position dans le fichier d’entrée)

note: type: textblock
en: The type of this string (i.e. the textual description of its structural role; used in Locale::Po4a::Po::gettextization(); see also L<po4a(7)|po4a.7>, section B<Gettextization: how does it work?>)
fr: le type de la chaîne (c.-à-d., la description textuelle de son rôle S<structurel ;> utilisé dans S<Locale::Po4a::Po::gettextization() ;> consultez également L<po4a(7)|po4a.7>, section B<Gettextisation : Comment ça marche ?>).

note: type: textblock
en: This function can also take some extra arguments. They must be organized as a hash. For example:
fr: Cette fonction peut également prendre des paramètres supplémentaires. Ils doivent être organisés sous forme de table de hachage. Par exemple :

note: type: textblock
en: boolean indicating whether we can consider that whitespaces in string are not important. If yes, the function canonizes the string before looking for a translation or extracting it, and wraps the translation.
fr: booléen indiquant si on peut considérer que les espaces des chaînes ne sont pas importants. Dans ce cas, la fonction crée une forme canonique de la chaîne avant de rechercher une traduction ou de l’extraire et ajoute des retours à la ligne à la traduction.

note: type: textblock
en: the column at which we should wrap (default: the value of B<wrapcol> specified during creation of the TransTractor or 76).
fr: la colonne à laquelle nous devrions tronquer (par défaut : la valeur de B <wrapcol> renseignée lors de la création du TransTractor ou 76).

note: type: textblock
en: The negative value will be substracted from the default.
fr: La valeur négative sera soustraite de la valeur par défaut.

note: type: textblock
en: an extra comment to add to the entry.
fr: un commentaire additionnel à ajouter à l’entrée du PO.

note: type: textblock
en: Actions:
fr: Actions :

note: type: textblock
en: Pushes the string, reference and type to po_out.
fr: Pousse la chaîne, la référence et le type dans le PO de sortie.

note: type: textblock
en: Returns the translation of the string (as found in po_in) so that the parser can build the doc_out.
fr: Renvoie la traduction de la chaîne (trouvée dans po_in) de façon à ce que l’analyseur (parser) puisse construire doc_out.

note: type: textblock
en: Handles the charsets to recode the strings before sending them to po_out and before returning the translations.
fr: gère les jeux de caractères pour recoder les chaînes avant de les envoyer à po_out et avant de renvoyer la traduction.

note: type: =head2
en: Misc functions
fr: Fonctions diverses

note: type: textblock
en: Returns if the verbose option was passed during the creation of the TransTractor.
fr: Indique si le mode bavard a été activé lors de la création du Transtractor.

note: type: textblock
en: Returns if the debug option was passed during the creation of the TransTractor.
fr: Indique si l’option de débogage a été fournie lors de la création du Transtractor.

note: type: textblock
en: This function return the charset that was provided as master charset
fr: Cette fonction renvoie le jeu de caractères qui était fourni en tant que jeu de caractères d'origine

note: type: textblock
en: This function will return the charset that should be used in the output document (usually useful to substitute the input document's detected charset where it has been found).
fr: Cette fonction renverra le jeu de caractères qui doit être utilisé dans le document de sortie (souvent utile pour substituer le jeu de caractères qui a été détecté dans le document d’entrée).

note: type: textblock
en: It will use the output charset specified in the command line. If it wasn't specified, it will use the input PO's charset, and if the input PO has the default "CHARSET", it will return the input document's charset, so that no encoding is performed.
fr: Il utilisera le jeu de caractères spécifié sur la ligne de commande. S’il n’a pas été spécifié, il utilisera le jeu de caractère du fichier PO d’entrée, et si ce fichier PO utilise la valeur par défaut S<« CHARSET »>, et aucun encodage n’est réalisé.

note: type: =head1
en: FUTURE DIRECTIONS
fr: DIRECTIONS FUTURES

note: type: textblock
en: One shortcoming of the current TransTractor is that it can't handle translated document containing all languages, like debconf templates, or .desktop files.
fr: Une des imperfections du TransTractor actuel est qu’il ne peut pas gérer de documents traduits contenant toutes les langues, comme les modèles debconf ou les fichiers .desktop.

note: type: textblock
en: To address this problem, the only interface changes needed are:
fr: Pour répondre à ce problème, les seules modifications d’interface nécessaires sont :

note: type: textblock
en: take a hash as po_in_name (a list per language)
fr: utiliser une table de hachage pour po_in_name (une liste par langue)

note: type: textblock
en: add an argument to translate to indicate the target language
fr: ajouter un paramètre à traduire pour indiquer la langue cible

note: type: textblock
en: make a pushline_all function, which would make pushline of its content for all languages, using a map-like syntax:
fr: créer une fonction pushline_all, qui utiliserait pushline pour le contenu de toutes ses langues, en utilisant map :

note: type: textblock
en: Will see if it's enough ;)
fr: Nous verrons si c’est S<suffisant ;)>

note: type: textblock
en: Locale::Po4a::Wml - convert WML (web markup language) documents from/to PO files
fr: Locale::Po4a::Wml - Convertir les documents WML (web markup language) depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Wml is a module to help the translation of WML documents into other [human] languages. Do not mixup the WML we are speaking about here (web markup language) and the WAP crap used on cell phones.
fr: Locale::Po4a::Wml est un module qui permet d’aider à traduire des documents WML dans d’autres langues. Ne confondez pas le WML dont nous parlons ici (web markup language) avec cette connerie de WAP utilisée pour les téléphones mobiles.

note: type: textblock
en: Please note that this module relies upon the Locale::Po4a::Xhtml module, which also relies upon the Locale::Po4a::Xml module.  This means that all tags for web page expressions are assumed to be written in the XHTML syntax.
fr: Veuillez noter que ce module hérite du module Locale::Po4a::Xhtml, qui lui même hérite du module Locale::Po4a::Xml. Ceci signifie que toutes les balises des pages web doivent respecter la syntaxe XHTML.

note: type: textblock
en: This module works for some simple documents, but is still young.  Currently, the biggest issue of the module is probably that it cannot handle documents that contain non-XML inline tags such as <email "foo@example.org">, which are often defined in the WML.  Improvements will be added in the future releases.
fr: Ce module fonctionne pour des documents simples, mais est encore jeune. Actuellement le plus gros problème du module est principalement qu’il ne peut pas prendre en charge les balises en ligne incorrecte pour le XML, comme <email "chapi@example.org">, qui est souvent utilisé en WML. Des améliorations viendront dans les versions suivantes.

note: type: textblock
en: Locale::Po4a::Xhtml - convert XHTML documents from/to PO files
fr: Locale::Po4a::Xhtml - Convertir les documents XHTML depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Xhtml is a module to help the translation of XHTML documents into other [human] languages.
fr: Locale::Po4a::Xhtml est un module permettant d’aider à la traduction de documents XHTML dans d’autres langues.

note: type: =item
en: B<includessi>[B<=>I<rootpath>]
fr: B<includessi>[B<=>I<cheminracine>]

note: type: textblock
en: Include files specified by an include SSI (Server Side Includes) element (e.g. <!--#include virtual="/foo/bar.html" -->).
fr: Inclure les fichiers spécifiés par un élément SSI (Server Side Includes) de type include (comme <!--#include virtual="/chapi/chapo.html" -->).

note: type: textblock
en: B<Note:> You should use it only for static files.
fr: B<Note :> à n’utiliser que pour des fichiers statiques.

note: type: textblock
en: An additional I<rootpath> parameter can be specified. It specifies the root path to find files included by a B<virtual> attribute.
fr: Un paramètre supplémentaire I<cheminracine> peut être précisé. Il précise le chemin racine pour trouver les fichiers inclus par un attribut B<virtual>.

note: type: textblock
en: "It works for me", which means I use it successfully on my personal Web site.  However, YMMV: please let me know if something doesn't work for you.
fr: « Cela fonctionne pour moi », ce qui veut dire que je l’utilise avec succès pour mon site Web personnel. Cependant, il pourrait en être autrement pour vous : s'il vous plaît faites moi savoir si quelque chose ne fonctionne pas pour vous.

note: type: textblock
en: Locale::Po4a::Xml - convert XML documents and derivates from/to PO files
fr: Locale::Po4a::Xml - Convertir les documents XML (ou dérivés) depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Xml is a module to help the translation of XML documents into other [human] languages. It can also be used as a base to build modules for XML-based documents.
fr: Locale::Po4a::Xml est un module qui permet d’aider à traduire des documents XML dans d’autres langues. Il peut aussi servir de base pour créer d’autres modules pour des documents basés sur le format XML.

note: type: =head1
en: TRANSLATING WITH PO4A::XML
fr: TRADUCTION AVEC PO4A::XML

note: type: textblock
en: This module can be used directly to handle generic XML documents.  This will extract all tag's content, and no attributes, since it's where the text is written in most XML based documents.
fr: Ce module peut être utilisé directement pour traiter des documents dans un format générique XML. Le contenu des balises sera extrait, mais pas celui des attributs, parce que c’est ainsi que sont écrits la plupart des documents basés sur XML.

note: type: textblock
en: There are some options (described in the next section) that can customize this behavior.  If this doesn't fit to your document format you're encouraged to write your own module derived from this, to describe your format's details.  See the section B<WRITING DERIVATE MODULES> below, for the process description.
fr: Il y a quelques options (décrites dans la section suivante) qui peuvent permettre de paramétrer ce comportement. Si cela ne correspond pas au format de votre document, je vous encourage à écrire votre propre module dérivé de celui-ci, pour décrire en détails votre format. Consultez la section B<ÉCRITURE DE MODULES DÉRIVÉS> plus bas, pour un descriptif de la procédure.

note: type: textblock
en: The global debug option causes this module to show the excluded strings, in order to see if it skips something important.
fr: L’option globale de débogage permet d’indiquer à ce module d’afficher les chaînes exclues, de façon à voir s’il saute quelque chose d’important.

note: type: textblock
en: Prevents it to strip the spaces around the extracted strings.
fr: Évite que les espaces autour de la chaîne extraite ne soient éliminées.

note: type: textblock
en: Canonicalizes the string to translate, considering that whitespaces are not important, and wraps the translated document. This option can be overridden by custom tag options. See the B<translated> option below.
fr: Crée une forme canonique de la chaîne à traduire, en considérant que les espaces ne sont pas importants, et remet en forme le document traduit. Cette option peut être surchargée par l’option de personnalisation des balises. Référez-vous à l’option B<translated> qui suit.

note: type: textblock
en: Attributes are wrapped by default. This option disables wrapping.
fr: Les attributs sont mis en forme par défaut. Cette option désactive la mise en forme.

note: type: textblock
en: It makes the tags and attributes searching to work in a case insensitive way.  If it's defined, it will treat E<lt>BooKE<gt>laNG and E<lt>BOOKE<gt>Lang as E<lt>bookE<gt>lang.
fr: Rend la recherche des balises et attributs insensibles à la casse. Si elle n’est pas définie, E<lt>BooKE<gt>laNG et E<lt>BOOKE<gt>Lang seront traités comme E<lt>bookE<gt>lang.

note: type: textblock
en: Escape quotes in output strings.  Necessary, for example, for creating string resources for use by Android build tools.
fr: Guillemets d’échappement dans les chaînes de sortie. Nécessaires, par exemple, pour créer des ressources de chaîne pour être utilisées par les outils de construction d’Android.

note: type: textblock
en: See also: https://developer.android.com/guide/topics/resources/string-resource.html
fr: Voir également : https://developer.android.com/guide/topics/resources/string-resource.html

note: type: textblock
en: When defined, external entities are included in the generated (translated)  document, and for the extraction of strings.  If it's not defined, you will have to translate external entities separately as independent documents.
fr: Lorsque cette option est définie, les entités externes sont incluses dans le document généré (la traduction) et pour l’extraction des chaînes. Sinon, vous devrez traduire ces entités externes séparément, comme des documents indépendants.

note: type: textblock
en: This option defines the behavior of the module when it encounters invalid XML syntax (a closing tag which does not match the last opening tag).  It can take the following values:
fr: Cette option permet de changer le comportement du module lorsqu’il rencontre une syntaxe XML invalide (une balise est fermée ne correspondant pas à la dernière balise ouverte. Elle peut prendre les valeurs suivantes :

note: type: textblock
en: This is the default value.  The module will exit with an error.
fr: Il s’agit de la valeur par défaut. Le module échouera avec un message d’erreur.

note: type: textblock
en: The module will continue, and will issue a warning.
fr: Le module continuera, mais affichera un avertissement.

note: type: textblock
en: The module will continue without any warnings.
fr: Le module continuera, sans afficher de message d’avertissement.

note: type: textblock
en: Be careful when using this option.  It is generally recommended to fix the input file.
fr: Faites attention avec cette option. Il est généralement recommandé de corriger le fichier d’entrée.

note: type: textblock
en: Note: This option is deprecated.
fr: Note : Cette option est obsolète.

note: type: textblock
en: Extracts only the specified tags in the B<tags> option.  Otherwise, it will extract all the tags except the ones specified.
fr: N’extrait que les balises spécifiées par l’option B<tags>. Sinon, toutes seront extraites, sauf celles spécifiées.

note: type: textblock
en: String that will try to match with the first line of the document's doctype (if defined). If it doesn't, a warning will indicate that the document might be of a bad type.
fr: Chaîne qui sera comparée à la première ligne du doctype du document (s’il est défini). Si elle ne correspond pas, un avertissement indiquera que le document n’est peut-être pas du bon type.

note: type: textblock
en: String indicating the path (e.g. E<lt>bbbE<gt>E<lt>aaaE<gt>) of a tag where a lang="..." attribute shall be added. The language will be defined as the basename of the PO file without any .po extension.
fr: Chaîne indiquant le chemin (par exemple, E<lt>bbbE<gt>E<lt>aaaE<gt>) d’une balise pour laquelle un attribut lang="..." doit être ajouté. La langue sera définie comme étant le nom du fichier PO sans l’extension .po.

note: type: textblock
en: Boolean indicating whether closing tags are optional (as in HTML). By default, missing closing tags raise an error handled according to B<ontagerror>.
fr: Booléen indiquant si les balises de fermeture sont facultatives (comme en HTML). Par défaut, l'absence de balises fermantes provoque une erreur traitée selon la méthode B<ontagerror>.

note: type: textblock
en: Note: This option is deprecated.  You should use the B<translated> and B<untranslated> options instead.
fr: Note : Cette option est obsolète. Vous devriez utiliser les options B<translated> et B<untranslated> à la place.

note: type: textblock
en: Space-separated list of tags you want to translate or skip.  By default, the specified tags will be excluded, but if you use the "tagsonly" option, the specified tags will be the only ones included.  The tags must be in the form E<lt>aaaE<gt>, but you can join some (E<lt>bbbE<gt>E<lt>aaaE<gt>) to say that the content of the tag E<lt>aaaE<gt> will only be translated when it's into a E<lt>bbbE<gt> tag.
fr: Liste de balises (séparées par des espaces) que vous voulez traduire ou sauter. Par défaut, les balises spécifiées seront exclues, mais si vous utilisez l’option S<« tagsonly »>, les balises spécifiées seront les seules à être inclues. Les balises doivent être de la forme E<lt>aaaE<gt>, mais vous pouvez en joindre (E<lt>bbbE<gt>E<lt>aaaE<gt>) pour indiquer que le contenu de la balise E<lt>aaaE<gt> ne sera traduit que lorsqu’elle est comprise dans une balise E<lt>bbbE<gt>.

note: type: textblock
en: You can also specify some tag options by putting some characters in front of the tag hierarchy. For example, you can put I<w> (wrap) or I<W> (don't wrap)  to override the default behavior specified by the global B<wrap> option.
fr: Vous pouvez également spécifier certaines options de balise en plaçant certains caractères devant la hiérarchie des balises. Par exemple, vous pouvez placer I<w> (renvoyer à la ligne) ou I<W> (ne pas renvoyer à la ligne) pour remplacer le comportement par défaut spécifié par l’option globale B<wrap>.

note: type: textblock
en: Example: WE<lt>chapterE<gt>E<lt>titleE<gt>
fr: Par S<exemple :> WE<lt>chapitreE<gt>E<lt>titreE<gt>

note: type: textblock
en: Space-separated list of tag's attributes you want to translate.  You can specify the attributes by their name (for example, "lang"), but you can prefix it with a tag hierarchy, to specify that this attribute will only be translated when it's in the specified tag. For example: E<lt>bbbE<gt>E<lt>aaaE<gt>lang specifies that the lang attribute will only be translated if it's in an E<lt>aaaE<gt> tag, and it's in a E<lt>bbbE<gt> tag.
fr: Liste d’attributs de balises (séparés par des espaces) que vous voulez traduire. Vous pouvez spécifier les attributs par leur nom (par exemple, « lang »), mais vous pouvez aussi les faire précéder d’une hiérarchie de balises pour indiquer que cet attribut ne sera traduit que quand il sera placé à l’intérieur d’une balise. Par exemple :E<lt>bbbE<gt>E<lt>aaaE<gt>lang indique que l’attribut « lang » ne sera traduit que s’il se trouve dans une balise E<lt>aaaE<gt>, se trouvant elle-même dans une balise E<lt>bbbE<gt>.

note: type: textblock
en: Do not translate attributes in inline tags.  Instead, replace all attributes of a tag by po4a-id=<id>.
fr: Ne pas traduire les attributs des balises « inline ». À la place, remplacer tous les attributs de la balise par po4a-id=<id>.

note: type: textblock
en: This is useful when attributes shall not be translated, as this simplifies the strings for translators, and avoids typos.
fr: Ceci est utile quand des attributs ne doivent pas être traduits, puisque cela simplifie les chaînes pour les traducteurs et évite les fautes de typographie.

note: type: textblock
en: Space-separated list of tags which should not be treated as tags.  These tags are treated as inline, and do not need to be closed.
fr: Liste de balises (séparées par des espaces) qui ne doivent pas être traitées comme des balises. Ces balises sont prisent en charge comme des balises en ligne, et n’ont pas besoin d’être fermées.

note: type: textblock
en: Space-separated list of tags which should break the sequence.  By default, all tags break the sequence.
fr: Liste de balises (séparées par des espaces) qui doivent interrompre les séquences. Par défaut, toutes les balises introduisent une césure.

note: type: textblock
en: The tags must be in the form <aaa>, but you can join some (<bbb><aaa>), if a tag (<aaa>) should only be considered when it's within another tag (<bbb>).
fr: Les balises doivent être de la forme <aaa>, mais vous pouvez en joindre (<bbb><aaa>) si une balise (<aaa>) ne doit être prise en compte que si elle se trouve dans une autre balise (<bbb>).

note: type: textblock
en: Please note a tag should be listed in only one of the B<break>, B<inline> B<placeholder>, or B<customtag> setting string.
fr: Veuillez noter qu'une balise ne peut figurer que dans une seule des chaînes de paramétrage B<break>, B<inline>, B<placeholder>, ou B<customtag>.

note: type: textblock
en: Space-separated list of tags which should be treated as inline.  By default, all tags break the sequence.
fr: Liste de balises (séparées par des espaces) que vous voulez voir traitées en ligne. Par défaut, toutes les balises introduisent une césure.

note: type: textblock
en: Space-separated list of tags which should be treated as placeholders.  Placeholders do not break the sequence, but the content of placeholders is translated separately.
fr: Liste de balises (séparées par des espaces) qui servent à conserver un emplacement. Ces balises n’introduisent pas de césure, mais leur contenu est traduit séparément.

note: type: textblock
en: The location of the placeholder in its block will be marked with a string similar to:
fr: L’emplacement d’un « placeholder » dans son bloc sera marqué à l’aide d’un chaîne similaire à :

note: type: textblock
en: By default, Processing Instructions (i.e., C<E<lt>? ... ?E<gt>> tags) are handled as inline tags.  Pass this option if you want the PI to be handled as breaking tag.  Note that unprocessed PHP tags are handled as Processing Instructions by the parser.
fr: Par défaut, les instructions de traitement (c'est-à-dire les balises C<E<lt>? ... ?E<gt>>) sont traitées comme des balises en ligne.  Passez cette option si vous souhaitez que les instructions de traitement soient traitées comme une balise de rupture.  Notez que les balises PHP non traitées sont gérées par l'analyseur comme des instructions de traitement.

note: type: textblock
en: Space separated list of tags that the module should not try to set by default in any category.
fr: Liste de balises (séparées par des espaces) que le module doit placer par défaut dans aucune catégorie.

note: type: textblock
en: If you have a tag which has its default setting by the subclass of this module but you want to set alternative setting, you need to list that tag as a part of the B<nodefault> setting string.
fr: Si vous avez une balise dont le paramètre par défaut est défini par la sous-classe de ce module mais que vous souhaitez définir un autre paramètre, vous devez l'inscrire dans la chaîne de paramètres B<nodefault>.

note: type: textblock
en: Support C preprocessor directives.  When this option is set, po4a will consider preprocessor directives as paragraph separators.  This is important if the XML file must be preprocessed because otherwise the directives may be inserted in the middle of lines if po4a consider it belong to the current paragraph, and they won't be recognized by the preprocessor.  Note: the preprocessor directives must only appear between tags (they must not break a tag).
fr: Prise en charge des directives du préprocesseur C. Quand cette option est activée, po4a considérera les directives du préprocesseur comme des césures de paragraphe. C’est important si le préprocesseur est utilisé pour le fichier XML car sinon, les directives pourraient être insérées au milieu de lignes si po4a considère qu’elles appartiennent au paragraphe en cours, et elles ne seraient plus reconnues par le préprocesseur. Note : les directive du préprocesseur ne doivent apparaître qu’entre des balises (elles ne doivent pas introduire de césure).

note: type: textblock
en: Space-separated list of tags you want to translate.
fr: Liste de balises, séparées par des espaces, que vous souhaitez traduire.

note: type: textblock
en: You can also specify some tag options by putting some characters in front of the tag hierarchy.  This overrides the default behavior specified by the global B<wrap> and B<defaulttranslateoption> option.
fr: Vous pouvez également spécifier des options aux balises en précédant les hiérarchies de balises par des caractères. Ceci écrase le comportement par défaut renseigné par les options B<wrap> et B<defaulttranslateoption>.

note: type: textblock
en: Tags should be translated and content can be re-wrapped.
fr: Les balises doivent être traduites et leur contenu peut être remis en forme.

note: type: textblock
en: Tags should be translated and content should not be re-wrapped.
fr: Les balises doivent être traduites et leur contenu ne doit pas être remis en forme.

note: type: textblock
en: Tags should be translated inline.
fr: Les balises doivent être traduites en ligne.

note: type: textblock
en: Tags should be translated as placeholders.
fr: Les balises doivent être traduites comme moyen de conserver un emplacement.

note: type: textblock
en: Internally, the XML parser only cares about these four options: I<w> I<W> I<i> I<p>.
fr: En interne, l'analyseur XML ne se soucie que de ces quatre options : I<w> I<W> I<i> I<p>.

note: type: textblock
en: * Tags listed in B<break> are set to I<w> or I<W> depending on the B<wrap> option.
fr: * Les balises répertoriées dans B<break> sont définies à I<w> ou I<W> selon l'option B<wrap>.

note: type: textblock
en: * Tags listed in B<inline> are set to I<i>.
fr: * Les balises répertoriées dans B<inline> sont définies à I<i>.

note: type: textblock
en: * Tags listed in B<placeholder> are set to I<p>.
fr: * Les étiquettes énumérées dans B<placeholder> sont définies à I<p>.

note: type: textblock
en: * Tags listed in B<untranslated> are without any of these options set.
fr: * Les balises répertoriées dans B<untranslated> sont sans aucune de ces options définies.

note: type: textblock
en: You can verify actual internal parameter behavior by invoking B<po4a> with B<--debug> option.
fr: Vous pouvez vérifier le comportement réel des paramètres internes en lançant B<po4a> avec l'option B<--debug>.

note: type: textblock
en: Please note a tag should be listed in either B<translated> or B<untranslated> setting string.
fr: Veuillez noter qu'une balise doit être listée dans l’option B<translated> ou B<untranslated>.

note: type: textblock
en: Space-separated list of tags you do not want to translate.
fr: Liste de balises, séparées par des espaces, que vous ne souhaitez pas traduire.

note: type: textblock
en: Please note a translatable inline tag in an untranslated tag is treated as a translatable breaking tag, I<i> setting is dropped and I<w> or I<W> is set depending on the B<wrap> option.
fr: Veuillez noter qu'une balise en ligne traduisible dans une balise non traduite est traitée comme une balise de rupture traduisible, le paramètre I<i> est supprimé et I<w> ou I<W> est défini selon l'option B<wrap>.

note: type: textblock
en: The default categories for tags that are not in any of the translated, untranslated, break, inline, or placeholder.
fr: Les catégories par défaut pour les balises qui ne sont dans aucune des catégories translated, untranslated, break, inline ou placeholder.

note: type: textblock
en: This is a set of letters as defined in B<translated> and this setting is only valid for translatable tags.
fr: Il s'agit d'un ensemble de lettres tel que défini dans B<translated> et ce paramètre n'est valable que pour les balises traduisibles.

note: type: =head1
en: WRITING DERIVATIVE MODULES
fr: ÉCRITURE DE MODULES DÉRIVÉS

note: type: =head2
en: DEFINE WHAT TAGS AND ATTRIBUTES TO TRANSLATE
fr: DÉFINITION DES BALISES ET ATTRIBUTS À TRADUIRE

note: type: textblock
en: The simplest customization is to define which tags and attributes you want the parser to translate.  This should be done in the initialize function.  First you should call the main initialize, to get the command-line options, and then, append your custom definitions to the options hash.  If you want to treat some new options from command line, you should define them before calling the main initialize:
fr: La configuration la plus simple consiste à définir quelles balises et attributs vous voulez que l’analyseur traduise. Elle doit être faite dans la fonction initialize. Vous devez dans un premier temps appeler la fonction initialize principale, pour obtenir les options de la ligne de commande, puis ajouter vos propres configurations à la table de hachage options. Si vous voulez traiter de nouvelles options de la ligne de commande, vous devez les définir avant d’appeler la fonction initialize principale :

note: type: textblock
en: You should use the B<_default_inline>, B<_default_break>, B<_default_placeholder>, B<_default_translated>, B<_default_untranslated>, and B<_default_attributes> options in derivative modules. This allow users to override the default behavior defined in your module with command line options.
fr: Vous devriez utiliser les options B<_default_inline>, B<_default_break>, B<_default_placeholder>, B<_default_translated>, B<_default_untranslated> et B<_default_attributes> dans les modules dérivés. Ceci permet de surcharger en ligne de commande le comportement par défaut défini par votre module.

note: type: textblock
en: If you don't like the default behavior of this xml module and its derivative modules, you can provide command line options to change their behavior.
fr: Si vous n'aimez pas le comportement par défaut de ce module xml et de ses modules dérivés, vous pouvez fournir des options en ligne de commande pour modifier leur comportement.

note: type: textblock
en: See L<Locale::Po4a::Docbook(3pm)|Locale::Po4a::Docbook>,
fr: Lisez L<Locale::Po4a::Docbook(3pm)|Locale::Po4a::Docbook>,

note: type: =head2
en: OVERRIDING THE found_string FUNCTION
fr: SURCHARGE DE LA FONCTION found_string

note: type: textblock
en: Another simple step is to override the function "found_string", which receives the extracted strings from the parser, in order to translate them.  There you can control which strings you want to translate, and perform transformations to them before or after the translation itself.
fr: Une autre étape simple consiste à surcharger la fonction S<« found_string »>, qui prend les chaînes extraites par l’analyseur en paramètre, pour les traduire. Elle vous permet de contrôler quelles chaînes vous voulez traduire, et d’effectuer des transformations avant ou après la traduction en elle-même.

note: type: textblock
en: It receives the extracted text, the reference on where it was, and a hash that contains extra information to control what strings to translate, how to translate them and to generate the comment.
fr: Elle reçoit le texte extrait, la référence où elle se trouve, et une table de hachage qui contient des informations additionnelles permettant de contrôler quelles sont les chaînes à traduire, comment les traduire et de générer le commentaire.

note: type: textblock
en: The content of these options depends on the kind of string it is (specified in an entry of this hash):
fr: Le contenu de ces options dépend du type de la chaîne (spécifié dans une entrée de la table de hachage) :

note: type: textblock
en: The found string is the content of a translatable tag. The entry "tag_options" contains the option characters in front of the tag hierarchy in the module "tags" option.
fr: La chaîne trouvée est le contenu d’une balise à traduire. L’entrée S<« tag_options »> contient les caractères d’options se trouvant en tête de la hiérarchie de balise de l’option S<« tags »> du module.

note: type: textblock
en: Means that the found string is the value of a translatable attribute. The entry "attribute" has the name of the attribute.
fr: Signifie que la chaîne trouvée correspond à la valeur d’un attribut à traduire. L’entrée S<« attribute »> contient le nom de l’attribut.

note: type: textblock
en: It must return the text that will replace the original in the translated document. Here's a basic example of this function:
fr: Elle doit renvoyer le texte qui remplacera l’original dans le document traduit. Voici un exemple simple d’implémentation de cette fonction :

note: type: textblock
en: There's another simple example in the new Dia module, which only filters some strings.
fr: Il y a également un exemple simple dans le module Dia, qui ne filtre que quelques chaînes.

note: type: =head2
en: MODIFYING TAG TYPES (TODO)
fr: MODIFIER LE TYPE DES BALISES (À FAIRE)

note: type: textblock
en: This is a more complex one, but it enables a (almost) total customization.  It's based on a list of hashes, each one defining a tag type's behavior. The list should be sorted so that the most general tags are after the most concrete ones (sorted first by the beginning and then by the end keys). To define a tag type you'll have to make a hash with the following keys:
fr: Ceci est plus complexe, mais permet un contrôle (presque) total du paramétrage. C’est basé sur une liste de tables de hachage, chacune définissant le comportement d’un type de balise. La liste doit être triée de façon à ce que les balises les plus générales se trouvent après les plus concrètes (trié dans un premier temps par la clé « beginning » puis par « end »). Pour définir un type de balise, vous n’aurez qu’à créer une table de hachage avec les clés suivantes :

note: type: textblock
en: Specifies the beginning of the tag, after the "E<lt>".
fr: Spécifie le début de la balise, suivi de S<« E<lt> »>.

note: type: textblock
en: Specifies the end of the tag, before the "E<gt>".
fr: Spécifie la fin de la balise, précédé de S<« E<gt> »>.

note: type: textblock
en: It says if this is a breaking tag class.  A non-breaking (inline) tag is one that can be taken as part of the content of another tag.  It can take the values false (0), true (1) or undefined.  If you leave this undefined, you'll have to define the f_breaking function that will say whether a concrete tag of this class is a breaking tag or not.
fr: Indique s’il s’agit d’une balise de césure. Une balise n’étant pas de césure (en ligne) peut être incluse dans le contenu d’une autre. L’option peut prendre les valeurs fausse (0), vraie (1) ou non définie. Si vous la laissez non définie, vous devrez définir la fonction f_breaking qui indique si une balise d’une classe donnée est une balise de césure ou pas.

note: type: textblock
en: It's a function that will tell if the next tag is a breaking one or not.  It should be defined if the B<breaking> option is not.
fr: C’est une fonction qui indique si la balise suivante est une balise de césure ou pas. Elle devrait être définie si l’option B<breaking> ne l’est pas.

note: type: textblock
en: If you leave this key undefined, the generic extraction function will have to extract the tag itself.  It's useful for tags that can have other tags or special structures in them, so that the main parser doesn't get mad.  This function receives a boolean that says if the tag should be removed from the input stream or not.
fr: Si vous ne définissez pas cette clé, la fonction générique d’extraction devra extraire la balise elle-même. Elle est utile pour les balises qui peuvent contenir d’autres balises ou structures particulières, de façon à ce que l’analyseur ne devienne pas fou. Cette fonction prend en paramètre un booléen qui indique si la balise doit être retirée du flux d’entrée ou non.

note: type: textblock
en: This function receives the tag (in the get_string_until() format) and returns the translated tag (translated attributes or all needed transformations) as a single string.
fr: Cette fonction prend en paramètre une balise (dans le format de get_string_until()) et renvoie la balise traduite (avec les attributs traduits ou n’importe quelle transformation nécessaire) en une seule chaîne.

note: type: =head2
en: WORKING WITH TAGS
fr: TRAITEMENT DES BALISES

note: type: textblock
en: This function returns the path to the current tag from the document's root, in the form E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt>.
fr: Cette fonction renvoie le chemin vers la balise actuelle à partir de la racine du document, sous la forme E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt>.

note: type: textblock
en: An additional array of tags (without brackets) can be passed as argument.  These path elements are added to the end of the current path.
fr: Un tableau supplémentaire de balises (sans chevrons) peut être fourni en paramètre. Ces éléments du chemin sont ajoutés à la fin du chemin en cours.

note: type: textblock
en: This function returns the index from the tag_types list that fits to the next tag in the input stream, or -1 if it's at the end of the input file.
fr: Cette fonction renvoie l’index dans la liste tag_types qui correspond à la prochaine balise du flux d’entrée ou -1 s’il s’agit de la fin du fichier d’entrée.

note: type: textblock
en: Here, the tag has structure started by E<lt> and end by E<gt> and it can contain multiple lines.
fr: Ici, la balise a une structure commençant par E<lt> et se terminant par E<gt> et elle peut contenir plusieurs lignes.

note: type: textblock
en: This works on the array C<< @{$self->{TT}{doc_in}} >> holding input document data and reference indirectly via C<< $self->shiftline() >> and C<< $self->unshiftline($$) >>.
fr: Cela fonctionne avec le tableau C<< @{$self->{TT}{doc_in}} >> en conservant les données et les références des documents d'entrée indirectement via C<< $self->shiftline() >> et C<< $self->unshiftline($$) >>.

note: type: textblock
en: This function returns the next tag from the input stream without the beginning and end, in an array form, to maintain the references from the input file.  It has two parameters: the type of the tag (as returned by tag_type) and a boolean, that indicates if it should be removed from the input stream.
fr: Cette fonction renvoie la balise suivante du flux d’entrée sans son début ou sa fin, sous la forme d’un tableau, pour maintenir les références du fichier d’entrée. Elle prend deux S<paramètres :> le type de la balise (tel qu’il est renvoyé par tag_type) et un booléen indiquant s’il doit être retiré du flux d’entrée.

note: type: textblock
en: This function returns the name of the tag passed as an argument, in the array form returned by extract_tag.
fr: Cette fonction renvoie le nom de la balise passée en paramètre, dans la même forme que le tableau renvoyé par extract_tag.

note: type: textblock
en: This function returns a boolean that says if the next tag in the input stream is a breaking tag or not (inline tag).  It leaves the input stream intact.
fr: Cette fonction renvoie un booléen qui indique si la prochaine balise est une balise de césure ou pas (balise en ligne). Le flux d’entrée n’est pas touché.

note: type: textblock
en: This function translates the next tag from the input stream.  Using each tag type's custom translation functions.
fr: Cette fonction traduit la balise suivante du flux d’entrée, en utilisant les fonctions de traduction personnalisées pour chaque balise.

note: type: textblock
en: This function returns a string value that says if the first argument (a tag hierarchy) matches any of the tags from the second argument (a list of tags or tag hierarchies). If it doesn't match, it returns 0. Else, it returns the matched tag's options (the characters in front of the tag) or 1 (if that tag doesn't have options).
fr: Cette fonction renvoie une chaîne qui indique si son premier paramètre (une hiérarchie de balise) correspond à une des balises du second paramètre (une liste de balises ou une hiérarchie de balises). Si elle ne correspond pas, la valeur 0 est renvoyée. Sinon, elle renvoie les options de la balise qui correspond (les caractères qui la précèdent) ou 1 (si la balise n’a pas d’option).

note: type: =head2
en: WORKING WITH ATTRIBUTES
fr: TRAITEMENT DES ATTRIBUTS

note: type: textblock
en: This function handles the translation of the tags' attributes. It receives the tag without the beginning / end marks, and then it finds the attributes, and it translates the translatable ones (specified by the module option B<attributes>).  This returns a plain string with the translated tag.
fr: Cette fonction gère la traduction des attributs de balises. Elle reçoit les balises sans les marqueurs de début ou de fin, puis trouve les attributs, et traduit ceux qui doivent l’être (spécifiés par l’option B<attributes> du module). Elle renvoie une chaîne brute avec les balises traduites.

note: type: =head2
en: WORKING WITH TAGGED CONTENTS
fr: TRAITEMENT DES CONTENUS BALISÉS

note: type: textblock
en: This function gets the text until the next breaking tag (not inline) from the input stream.  Translate it using each tag type's custom translation functions.
fr: Cette fonction récupère le texte jusqu’à la prochaine balise fermante (qui n'est pas en ligne) du flux d’entrée. Traduisez-le en utilisant les fonctions de traduction personnalisées pour chaque balise.

note: type: =head2
en: WORKING WITH THE MODULE OPTIONS
fr: TRAITEMENT DES OPTIONS DU MODULE

note: type: textblock
en: This function fills the internal structures that contain the tags, attributes and inline data with the options of the module (specified in the command-line or in the initialize function).
fr: Cette fonction remplit les structures internes qui contiennent les balises, les attributs et les données à mettre en ligne en fonction des options du module (spécifiées par la ligne de commande ou dans la fonction initialize).

note: type: =head2
en: GETTING TEXT FROM THE INPUT DOCUMENT
fr: RÉCUPÉRER DU TEXTE DU DOCUMENT D’ENTRÉE

note: type: textblock
en: This function returns an array with the lines (and references) from the input document until it finds the first argument.  The second argument is an options hash. Value 0 means disabled (the default) and 1, enabled.
fr: Cette fonction renvoie un tableau des lignes (et leurs références) du document d’entrée de son début jusqu’à ce que soit trouvé son premier paramètre. Le second paramètre est une table de hachage d’options. La valeur 0 signifie que l’option est désactivée (par défaut) et 1, activée.

note: type: textblock
en: The valid options are:
fr: Les options valables sont :

note: type: textblock
en: This makes the returned array to contain the searched text
fr: Fait en sorte que le tableau renvoyé contient le texte recherché

note: type: textblock
en: This removes the returned stream from the input
fr: Retire de l’entrée le flux renvoyé

note: type: textblock
en: This ensures that the searched text is outside any quotes
fr: Permet de s’assurer que le texte recherché ne se trouve pas entre guillemets

note: type: textblock
en: This denotes that the first argument is a regular expression rather than an plain string
fr: Cela indique que le premier argument est une expression régulière plutôt qu'une simple chaîne de caractères

note: type: textblock
en: This function receives as argument the reference to a paragraph (in the format returned by get_string_until), skips his heading spaces and returns them as a simple string.
fr: Cette fonction reçoit en paramètre la référence à un paragraphe (dans le format renvoyé par get_string_until), retire les espaces de tête et les renvoie comme une simple chaîne.

note: type: textblock
en: This function returns a simple string with the text from the argument array (discarding the references).
fr: Cette fonction renvoie une simple chaîne à partir du texte fourni en paramètre sous la forme d’un tableau (en ignorant la référence).

note: type: textblock
en: This module can translate tags and attributes.
fr: Ce module peut traduire les balises et les attributs.

note: type: textblock
en: DOCTYPE (ENTITIES)
fr: DOCTYPE (ENTITÉS)

note: type: textblock
en: There is a minimal support for the translation of entities. They are translated as a whole, and tags are not taken into account. Multilines entities are not supported and entities are always rewrapped during the translation.
fr: La traduction des entités est à peine supportée. Les entités sont traduites telles quelles, et les balises qu’elles contiennent ne sont pas prises en compte. Les entités sur plusieurs lignes ne sont pas supportées. De plus, les entités sont remises en forme pendant la traduction.

note: type: textblock
en: MODIFY TAG TYPES FROM INHERITED MODULES (move the tag_types structure inside the $self hash?)
fr: MODIFIER LES BALISES DEPUIS LES MODULES DÉRIVÉS (déplacer la structure tag_types à l’intérieur de la table de hachage S<$self ?>)

note: type: textblock
en: Locale::Po4a::Yaml - convert YAML files from/to PO files
fr: Locale::Po4a::Yaml - Convertir des fichiers Yaml depuis ou vers des fichiers PO

note: type: textblock
en: Locale::Po4a::Yaml is a module to help the translation of Yaml files into other [human] languages.
fr: Locale::Po4a::Yaml est un module permettant d’aider la traduction de fichiers Yaml dans d’autres langues.

note: type: textblock
en: The module extracts the value of YAML hashes and arrays. Hash keys are not extracted.
fr: Le module extrait la valeur des hachages et des tableaux YAML. Les clés de hachage ne sont pas extraites.

note: type: textblock
en: NOTE: This module parses the YAML file with YAML::Tiny.
fr: REMARQUE : Ce module analyse le fichier YAML avec YAML::Tiny.

note: type: textblock
en: Space-separated list of hash keys to process for extraction, all other keys are skipped.  Keys are matched with a case-sensitive match.  If B<paths> and B<keys> are used together, values are included if they are matched by at least one of the options.  Arrays values are always returned unless the B<skip_array> option is provided.
fr: Liste des clés de hachage à traiter, séparées par des espaces, pour extraction. Toutes les autres clés sont ignorées. Les clés sont associées avec une correspondance sensible à la casse. Si B<paths> et B<keys> sont utilisées ensemble, les valeurs sont incluses si elle correspondent à au moins une des options. Les valeurs des tableaux sont toujours retournées, sauf si l'option B<skip_array> est fournie.

note: type: textblock
en: Comma-separated list of hash paths to process for extraction, all other paths are skipped. Paths are matched with a case-sensitive match.  If B<paths> and B<keys> are used together, values are included if they are matched by at least one of the options.  Arrays values are always returned unless the B<skip_array> option is provided.
fr: Liste des chemins de hachage à traiter, séparées par des virgules, pour l'extraction. Tous les autres chemins sont ignorés. Les chemins sont associées avec une correspondance sensible à la casse. Si B<paths> et B<keys> sont utilisées ensemble, les valeurs sont incluses si elles correspondent à au moins une des options. Les valeurs des tableaux sont toujours retournées, sauf si l'option B<skip_array> est fournie.

note: type: textblock
en: Do not translate array values.
fr: Ne pas traduire les valeurs des tableaux.
