Provided by: po-debconf_1.0.19_all bug

NOM

       po-debconf - Introduction

DESCRIPTION

       L'objectif de « debconf » était de rendre la configuration de paquets conviviale. Afin
       d'arriver à ce but, il est important de s'assurer que les utilisateurs lisent les
       questions dans leur propre langue. Les traducteurs ont besoin d'une infrastructure qui
       leur permette de travailler facilement sur des traductions sans avoir besoin de suivre à
       la trace le développement du programme ; « po-debconf » a été conçu pour travailler avec
       les outils habituels de « gettext » pour traduire les questionnaires debconf.

AJOUTER LA GESTION I18N POUR LES QUESTIONNAIRES DEBCONF

       Si vous utilisez debconf avec votre paquet, vous avez écrit un fichier questionnaire en
       anglais. Pour ajouter la gestion i18n à votre paquet, vous devez :

       - créer le fichier debian/po/POTFILES.in
           Ce fichier contient la liste des questionnaires maîtres, qui n'est souvent composé que
           d'une seule ligne :

             [type: gettext/rfc822deb] templates

           Les chemins sont relatifs au répertoire parent.

       - ajouter un caractère souligné devant les champs traduisibles dans chaque questionnaire.
           Normalement, les champs « Description », « Choices » et parfois « Default » peuvent
           être traduits.

       - exécuter debconf-updatepo
           Ceci créera le fichier debian/po/templates.pot que les traducteurs traduiront dans
           leur langue.

       - ajouter une dépendance de construction sur "po-debconf" dans debian/control

METTRE À JOUR DES MODÈLES

       Afin d'aider les traducteurs, vous devez faire en sorte que les fichiers PO soient
       constamment à jour, sinon ils risquent de traduire des chaînes qui ne sont plus utilisées.
       Pour cela, appelez simplement la commande suivante sans paramètre :

         $ debconf-updatepo

       Cette commande doit être exécutée à chaque changement dans les chaînes en anglais, mais
       aussi lorsque vous recevez de nouvelles traductions ou des mises à jour, car le traducteur
       peut avoir traduit un fichier PO obsolète.

       Si vous renommez, ajoutez ou supprimez des fichiers questionnaires, pensez aussi à
       modifier le fichier debian/po/POTFILES.in en conséquence, sinon les chaînes de ces
       fichiers n'apparaîtront pas dans les fichiers PO et seront affichées en anglais, alors que
       le fichier PO peut être complètement traduit.

       Le programme debconf-updatepo ne modifie les fichiers PO que si leur contenu a été altéré.
       Ainsi, la meilleure solution pour fournir des fichiers PO à jour dans un paquet source
       consiste à exécuter cette commande depuis la règle « clean » du fichier debian/rules.

       Il est important de savoir que debconf-updatepo doit être exécuté même si vous utilisez la
       commande dh_installdebconf. Celle-ci exécute po2debconf qui, auparavant, appelait debconf-
       updatepo si des fichiers obsolètes étaient détectés, mais ce n'est plus le cas parce que
       ce n'était pas une solution satisfaisante pour au moins deux raisons :

       1. po2debconf utilisait la date des fichiers enregistrés sur le disque pour détecter les
          fichiers obsolètes, ce qui n'est pas fiable si on utilise « pbuilder » ou si une
          traduction obsolète a été enregistrée sur le disque après modification de l'original ;

       2. dh_installdebconf est exécuté bien après que le fichier « .diff.gz » a été écrit ;

FUSIONNER DES TRADUCTIONS ET L'ORIGINAL

       Vous devez vous assurer que, lors de la compilation de votre paquet, les traductions sont
       placées dans le paquet construit. Vous pouvez le faire vous-même, ou automatiquement en
       utilisant le script dh_installdebconf (assurez-vous d'avoir une dépendance de construction
       avec un numéro de version sur « debhelper (>= 4.1.16) »).

       Pour le faire vous-même, vous devez fusionner le questionnaire et les traductions lors de
       la compilation (et avoir une dépendance de construction sur « po-debconf ») de cette
       manière :

         $ po2debconf debian/templates > debian/tmp/DEBIAN/templates

       ATTENTION : Les deux fichiers appelés templates ne sont pas les mêmes du tout. Le premier
       ne contient que le texte en anglais, avec des marques pour indiquer les champs à traduire,
       alors que le second contient toutes les traductions. Cela signifie que vous NE POUVEZ PAS
       conserver uniquement les questionnaires fusionnés, ou alors vous ne pourrez plus gérer les
       traductions qui vous seront soumises.

NOUVEAUX MODÈLES MAÎTRES

       Le nouveau format source de fichier de questionnaires est pratiquement identique à celui
       des fichiers de questionnaires distribués, seul un souligné est ajouté devant les champs à
       traduire. Par exemple :

         Template: debconf/frontend
         Type: select
         _Choices: Dialog, Readline, Gnome, Editor, Noninteractive
         Default: Dialog
         _Description: Interface to use for configuring packages:
          Packages that use debconf for configuration share a common look and
          feel. You can select the type of user interface they use.
          .
          The dialog frontend is a full-screen, character based interface,
          while the readline frontend uses a more traditional plain text
          interface, and the gnome frontend is a modern X interface. The
          editor frontend lets you configure things using your favorite text
          editor. The noninteractive frontend never asks you any questions.

   DÉCOUPER LA LISTE DES CHOIX
       À partir de la version 0.6.0 de « po-debconf », les champs à traduire peuvent contenir
       deux soulignés. Dans ce cas, le champ est supposé contenir une liste de valeurs séparées
       par des virgules, elles seront placées dans des champs msgid différents. Ainsi si
       l'exemple précédent contenait :

         __Choices: Dialog, Readline, Gnome, Editor, Noninteractive

       cinq champs msgid différents auraient été créés. Veuillez noter que les espaces après les
       virgules ne sont pas pris en compte.

       Lorsqu'une liste de choix ne change jamais, « _Choices » peut être considéré comme adapté.
       Cependant, l'éclatement de ces listes permet d'éviter des erreurs fréquentes dans les
       traductions, notamment l'oubli d'un choix et l'utilisation de virgules non standard. Pour
       ces raisons, l'utilisation de « __Choices » facilitera le travail des traducteurs et est
       fortement recommandée.

       Malheureusement si vous décidez de basculer entre ces deux formes, toutes les traductions
       sont marquées « fuzzy ». C'est une justification pour effectuer ce changement sans perdre
       de traduction (ceci requiert « po-debconf » >= 1.0). Supposez que vous voulez basculer
       l'exemple précédent vers « __Choices ». Vous copiez le fichier templates dans un fichier
       temporaire :

         $ cp debian/templates debian/foo

       Éditez debian/foo et ne garder seulement que les champs « Template », « Type » et
       « _Choices » de cet exemple :

         Template: debconf/frontend
         Type: select
         _Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive

       Exécutez debconf-gettextize avec les options « --merge » et « --choices » pour construire
       les fichiers PO :

         $ debconf-gettextize --merge --choices debian/foo

       Ensuite vous devez supprimer foo et éditer vous-même debian/templates pour modifier
       « _Choices » en « __Choices » avant d'exécuter debconf-updatepo.

   AJOUTER DES COMMENTAIRES POUR LES TRADUCTEURS
       Les responsables de « dpkg » ont décidé que, par convention, les lignes dans les fichiers
       debian/control qui commencent par un symbole dièse sont des commentaires et « po-debconf »
       suit cette règle. Depuis « po-debconf » 0.8.0, de tels commentaires sont automatiquement
       écrits dans les fichiers PO et peuvent donc contenir des informations qui intéressent les
       traducteurs. Heureuse coïncidence, toutes les versions précédentes de « po-debconf »
       ignorent les lignes ne contenant pas de symbole deux-points ; si vos commentaires ne
       contiennent pas ce symbole, ce n'est donc pas la peine d'ajouter une dépendance de
       construction sur une version récente de « po-debconf ». Voici un exemple d'utilisation :

         Template: debconf/button-yes
         Type: text
         # Translators, this text will appear on a button, so KEEP IT SHORT
         _Description: Yes

       Des commentaires spéciaux ont été introduits dans « po-debconf » 1.0 pour traiter les
       chaînes de caractères composées de plusieurs choix (les champs Choices) ou paragraphes
       (les champs Description). Avec ces directives, les développeurs ont un meilleur contrôle
       sur ce qui est exposé aux traducteurs. Les directives sont de la forme
       « #flag:directive » ; elles sont détaillées ci-dessous :

       translate:spec, translate!:spec
          Ne marquez que quelques éléments comme traduisibles ; spec est une liste de nombres
          séparés par des virgules, elle indique quelles chaînes seront imprimées dans le fichier
          PO. Des intervalles peuvent aussi être définis avec un signe moins (par exemple,
          « 2-6 ») et une étoile (« * ») signifie toutes les chaînes. Par exemple, avec :

            Template: partman-basicfilesystems/fat_mountpoint
            Type: select
            #flag:translate:3,4
            __Choices: /dos, /windows, Enter manually, Do not mount it
            _Description: Mount point for this partition:

          « Enter manually » et « Do not mount it » apparaîtront dans les fichiers PO mais pas
          « /dos » et « /windows ». Quand un point d'exclamation suit le mot clé translate, spec
          indique quelles chaînes seront écartées des fichiers PO, toutes les autres chaînes
          étant enregistrées. L'exemple précédent est identique à :

            Template: partman-basicfilesystems/fat_mountpoint
            Type: select
            #flag:translate!:1,2
            __Choices: /dos, /windows, Enter manually, Do not mount it
            _Description: Mount point for this partition:

          Le même mot clé peut être aussi appliqué au champ Description pour être sûr que
          certaines chaînes ne seront pas traduites.

            Template: partman-crypto/options_missing
            Type: error
            #flag:translate!:3
            _Description: Required encryption options missing
             The encryption options for ${DEVICE} are incomplete. Please
             return to the partition menu and select all required options.
             .
             ${ITEMS}

          Mais ceci est hasardeux car le contexte peut être perdu depuis les fichiers PO. Ajoutez
          des commentaires dans ce cas pour ne pas induire le traducteur en erreur.

       comment:spec, comment!:spec
          Ce commentaire juste en-dessous de cette directive s'applique aux chaînes indiquées par
          spec qui est défini au-dessus. Par défaut, un commentaire écrit avant un champ
          traduisible est affiché pour toutes les chaînes appartenant à ce champ. (Note : avec
          « po-debconf » < 1.0, le commentaire n'est écrit qu'avec la première chaîne.)

            Template: arcboot-installer/prom-variables
            Type: note
            # Translators, the 4th string of this description has been dropped
            # from PO files. It contains shell commands and should not be
            # translated.
            #flag:comment:3
            # "Stop for Maintenance" should be left in English
            #flag:translate!:4
            _Description: Setting PROM variables for Arcboot
             If this is the first Linux installation on this machine, or if the
             hard drives have been repartitioned, some variables need to be set
             in the PROM before the system is able to boot normally.
             .
             At the end of this installation stage, the system will reboot.
             After this, enter the command monitor from the "Stop for
             Maintenance" option, and enter the following commands:
             .
                setenv OSLoader arcboot
                setenv OSLoadFilename Linux
             .
             You will only need to do this once. Afterwards, enter the "boot"
             command or reboot the system to proceed to the next stage of the
             installation.

          L'exemple ci-dessus possède un commentaire sans directive « #flag:comment », pour
          lequel un commentaire implicite « #flag:comment:* » est ajouté. Ce commentaire apparaît
          avec toutes les chaînes, mais celui à propos de « Stop for Maintenance » est affiché
          seulement avant la chaîne appropriée.

       partial
          Ce mot clé signifie à po2debconf de garder les chaînes traduites même si elles ne sont
          pas toutes traduites. Utilisez ceci avec prudence, ce mot clé a été introduit pour des
          cas très particuliers.

   AVERTIR LES TRADUCTEURS AVANT LA MISE À JOUR
       Habituellement les traducteurs s'informent depuis les pages d'état des traductions (voyez
       ci-dessous) que des traductions ne sont pas à jour et envoient un correctif qui sera
       inclus dans une future mise à jour. Cependant, les développeurs sont encouragés à demander
       aux responsables de traductions en retard de fournir une mise à jour, par exemple une
       semaine avant. Un outil spécialisé, podebconf-report-po, a été écrit pour cet usage.
       N'hésitez pas à en abuser !

DÉBOGAGE

       Vous remarquerez que debconf-loadtemplate n'accepte pas de fichier de traduction
       comportant des marques d'internationalisation. Cependant un fichier fusionné sera accepté,
       donc si vous avez débogué votre configuration debconf de la façon suivante

         rm /tmp/{config,templates}.dat{,-old}
         debconf-loadtemplate debian/templates
         DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0

       Vous aurez besoin de quelque chose comme cela à la place :

         po2debconf debian/templates > debian/tmp/DEBIAN/templates
         rm /tmp/{config,templates}.dat{,-old}
         debconf-loadtemplate debian/tmp/DEBIAN/templates
         DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0

AVERTISSEMENTS

       • La version 1.2.0 de « debconf » reconnaît les champs de la forme Nom-langue.codage, par
         exemple « Description-de.ISO-8859-1 » ou « Choices-ru.KOI8-R ». Par défaut, po2debconf
         crée les fichiers de questionnaire avec ce nouveau format. Les versions plus anciennes
         de « debconf » ignorent ces champs et affichent le texte en anglais. Consultez
         po2debconf(1) pour savoir comment modifier le codage et le format de sortie.

       • Une chaîne donnée en anglais ne peut avoir qu'une unique traduction par langue. Il est
         impossible de fournir deux traductions différentes en fonction du contexte. Pour
         résoudre ce problème, vous pouvez ajouter des balises spéciales aux différentes
         occurrences d'une chaîne pour les rendre distinctes (ces balises ne seront visibles que
         des traducteurs et seront supprimées de la chaîne avant l'affichage à l'utilisateur).

         De telles balises doivent être ajoutées à la fin des chaînes à traduire, elles doivent
         commencer par « [  » (un crochet ouvrant suivi d'une espace) et se terminer par « ] »
         (un crochet fermant) et peuvent contenir tout caractère hormis des crochets et des
         retours à la ligne. Par exemple « [ blabla] » est une balise valable alors que « [
         bla[bla]bla] » ne l'est pas. Pour les mordus de Perl, les balises correspondent à (et
         sont supprimées avec) cette règle :

           $msg =~ s/\[\s[^\[\]]*\]$//s;

       • L'espacement n'est pas géré exactement de la même façon par « po-debconf » et
         « debconf-utils » ; avec ce dernier, les paragraphes sont reformatés lors de la mise à
         jour et de la fusion des traductions, « debconf-utils » est donc très élégant et les
         espaces ne sont pas considérés comme faisant partie des chaînes lors de la détermination
         des entrées approximatives (c'est-à-dire celles qui requièrent l'attention du traducteur
         suite à une modification des originales).

         D'un autre côté, « po-debconf » se repose sur « gettext » pour détecter les entrées
         approximatives et ne traite pas les espaces comme des caractères particuliers. Ainsi les
         espaces superflus doivent être supprimés à la fin des lignes des fichiers maîtres de
         questionnaires, sinon ils apparaîtront dans les fichiers PO et POT.

         Pour la même raison, debconf-gettextize peut marquer un texte comme approximatif à cause
         de différences dans les caractères espaces et les traducteurs devront modifier eux-mêmes
         de telles chaînes. Cela ne survient qu'une seule fois lors de la conversion des
         questionnaires au format « po-debconf », à moins que vous ne modifiez aléatoirement les
         espaces dans les fichiers maîtres de questionnaires, ce qui gênerait les traducteurs.

       • Normalement, le champ Default: ne doit pas être traduit pour les types de questionnaires
         Select et Multiselect. Dans de rares circonstances (par exemple lors du choix de la
         langue par défaut pour une application) une valeur régionale peut être plus appropriée.

         La valeur fournie par le traducteur ne doit pas être une simple traduction, mais doit au
         contraire être choisie parmi les valeurs en anglais listées dans le champ Choices. Le
         meilleur moyen de l'indiquer est d'ajouter un commentaire dans le fichier de
         questionnaire, qui sera recopié dans le fichier PO.

           Template: geneweb/lang
           Type: select
           __Choices: Danish (da), Dutch (nl), English (en), Esperanto (eo)
           #  You must NOT translate this string, but you can change its value.
           #  The comment between brackets is used to distinguish this msgid
           #  from the one in the Choices list; you do not have to worry about
           #  them, and have to simply choose a msgstr among the English values
           #  listed in the Choices field above, e.g. msgstr "Dutch (nl)"
           _Default: English (en)[ default language]
           _Description: Geneweb default language

         La valeur par défaut apparaît aussi dans le champ Choices et les deux ont des
         traductions différentes. Dans le premier cas, il s'agit d'une autre valeur en anglais
         choisie parmi la liste des valeurs possibles du champ Choices, alors que pour le second
         cas il s'agit d'une traduction classique. Comme « gettext » ne permet pas d'avoir deux
         traductions différentes du même texte, les deux champs msgid doivent être différenciés,
         ce qui est exactement le but original de l'utilisation des commentaires entre crochets,
         comme expliqué précédemment.

         Avant « po-debconf » 0.8.0, ces commentaires étaient inconnus et les responsables de
         paquets devaient remplacer le champ _Default: par _DefaultChoice: afin d'indiquer aux
         traducteurs le caractère spécial de ce champ :

           #. DefaultChoice
           msgid ""
           "English[ default: do not translate bracketed material, put your "
           "own language here but UNTRANSLATED. If it is not in the list, "
           "put English (without bracketed material)]"
           msgstr ""
           "French"

         Les commentaires dans les fichiers de questionnaires permettent d'éviter plus facilement
         les erreurs des traducteurs et sont encouragés.

PAGES WEB SUR L'ÉTAT DES TRADUCTIONS

       Les statistiques des traductions « po-debconf » sont disponibles sur
       <http://www.debian.org/intl/l10n/po-debconf/> (ou sur l'un des miroirs) ; ils sont
       automatiquement mis à jour lorsqu'un paquet est mis à jour. Seuls les paquets contenant
       des fichiers debian/po/templates.pot et debian/po/POTFILES.in sont pris en compte, vous
       devriez donc vous assurer que votre paquet source les fournit.

       Translators can grab PO and POT files from there, but they must always get in touch with
       the previous translator (her mail address can be found in the PO file) and/or their fellow
       translators on debian-l10n-<language>@lists.debian.org (if such a list does exist) to make
       sure that no one is currently working on the same translation, and read current bugreports
       against the package they are going to translate to see if a translation has already been
       reported.

       Après avoir traduit ces fichiers, ils devraient soumettre leur travail au responsable du
       paquet par un rapport de bogue de sévérité wishlist (souhaitable) avec le marqueur patch
       (rustine).

VOIR AUSSI

       debconf-gettextize(1), debconf-updatepo(1), dh_installdebconf(1), podebconf-report-po(1),
       po2debconf(1), debconf-devel(7).

AUTEURS

         Martin Quinson <Martin.Quinson@ens-lyon.fr>
         Denis Barbier <barbier@linuxfr.org>

TRADUCTION

         Nicolas Bertolissio <nico.bertol@free.fr>
         Denis Barbier <barbier@linuxfr.org>

                                            2016-01-07                              PO-DEBCONF(7)