Provided by: po-debconf_0.9.2_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. Un
       système (appelé "debconf-utils" dans ce document) avait ainsi été conçu
       pour permettre la traduction des questionnaires debconf.

       Mais ce système avait quelques inconvénients, et le besoin d’une
       nouvelle solution s’est fait sentir. "po-debconf" essaye de résoudre
       ces problèmes par l’utilisation des quelques idées qui se sont révélées
       utiles dans le contexte de la traduction de messages.

AVANTAGES DE CE SYSTÈME

       - Les traductions ne sont pas conservées avec l’original (comme c’était
         trop souvent le cas avec l’ancien système), ce qui permet de détecter
         les traductions obsolètes.

       - Les traductions sont conservées chacune dans un fichier séparé. Cela
         signifie que des traducteurs de deux langues différentes peuvent
         mettre à jour leur travail en même temps sans difficulté particulière
         pour le responsable du paquet. De plus, un traducteur ne peut pas
         casser le codage d’autres langues.

       - Il est basé de manière interne sur "intltool" (la réponse de GNOME
         aux difficultés d’internationalisation), qui est lui-même basé sur
         "gettext" (mais "po-debconf" offre une interface très simple vous
         dispensant d’en comprendre le fonctionnement interne). Ainsi, il
         n’est pas nécessaire de réinventer la roue, et grâce à leur
         utilisation répandue, ces outils devraient être plus ou moins exempts
         de bogues.

       - Rien n’est modifié pour l’utilisateur final (à part le fait que les
         traductions sont plus faciles à gérer :). Le fichier de questionnaire
         distribué dans le paquet binaire est exactement le même (les
         problèmes de codage en moins ;).

       - Les traducteurs n’ont pas besoin d’apprendre une nouvelle syntaxe de
         fichier et leur éditeur de fichiers po préféré (comme le mode po
         d’emacs, kbabel ou gtranslator) fonctionne parfaitement.

       En résumé, "po-debconf" est un système qui facilite le travail des
       traducteurs et l’insertion de leur travail dans "debconf" sans modifier
       ce qui ne devrait pas l’être.

CONVERSION DE VOTRE PAQUET À CE SYSTÈME

       Pour convertir vos questionnaires debconf et vos traductions
       existantes, appelez debconf-gettextize à partir du répertoire principal
       avec en argument les noms des questionnaires maîtres. Par exemple :

         $ debconf-gettextize debian/toto.templates debian/tata.templates

       Cette commande réalise les tâches suivantes :

       - création des fichiers debian/po/xx.poxx est le code de la langue dans laquelle le fichier est
           traduit ;

       - création de debian/po/POTFILES.in
           fichier contenant la liste des questionnaires maîtres et utilisé
           par debconf-updatepo ;

       - ajout du suffixe ".old" aux questionnaires
           dans cet exemple, le suffixe ".old" est ajouté aux fichiers
           toto.templates et tata.templates, et de nouveaux fichiers maîtres
           remplacent ceux-ci (voir ci-dessous).

       Afin de terminer la conversion, vous devez :

       a. Vérifier que, dans les nouveaux fichiers questionnaires, le nom de
          tous les champs à traduire (et seulement ceux-ci) sont préfixés d’un
          souligné "_" (voir "Nouveaux questionnaires maîtres" ci-dessous) ;

       b. Supprimer les fichiers obsolètes : master.old et les questionnaires
          traduits (par exemple templates.xx) ;

       c. Ajouter "debhelper (>= 4.1.16)" à Build-Depends ou à Build-Depends-
          Indep dans debian/control pour utiliser dh_installdebconf. Si vous
          n’utilisez pas "debhelper", votre paquet devrait avoir une
          dépendance de construction directement envers "po-debconf" ;

       d. Vous assurer que le fichier debian/rules génère le fichier de
          questionnaire traduit, soit par dh_installdebconf soit par
          po2debconf ;

       e. Si des fichiers debian/po/*.po.unknown ont été générés, cela
          signifie que le script n’a pas réussi à déterminer automatiquement
          le codage des langues correspondantes. Dans ce cas, vous devriez
          contacter le traducteur pour résoudre ce problème, ou demander de
          l’aide sur debian-i18n@lists.debian.org. Supprimez les suffixes
          ".unknown" lorsque le codage est corrigé (la plupart du temps, les
          étapes b et c ci-dessus sont suffisantes si vous utilisez
          dh_installdebconf).

MISE À 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 argument :

         $ 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’apparaitront 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 mailleure solution pour fournir des
       fichiers PO à jour 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 à son tour va appeler debconf-updatepo si des fichiers
       obsolètes sont détectés, mais ce n’est pas une solution satisfaisante
       pour au moins trois raisons :

       1. po2debconf utilise 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 disque après modification de l’original ;

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

       3. à cause des points précédents, po2debconf sera modifié dans une
          version future et n’exécutera plus debconf-updatepo.

FUSION DES TRADUCTIONS ET DE LORIGINAL
       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 numéro de
       version envers "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 envers "po-debconf") comme ceci :

         $ po2debconf debian/templates > debian/templates.merged

       Puis, vous devriez installer le fichier résultant au bon endroit :

         $ cp debian/templates.merged debian/tmp/DEBIAN/templates

       FAITES ATTENTION : Les deux fichiers appelés templates dans ces deux
       lignes ne sont pas les mêmes du tout. Le premier ne contient que le
       texte en anglais et les marques des champs à traduire, alors que le
       second contient toutes les traductions. C’est-à-dire que vous NE POUVEZ
       PAS ne conserver que les questionnaires fusionnés, ou alors vous ne
       pourrez plus gérer les traductions qui vous seront soumises.

       En fait, c’était l’un des principaux inconvénients de l’ancien système
       "debconf-utils". Il était vraiment trop tentant pour les développeurs
       de ne conserver que le questionnaire fusionné, mais cela empêchait les
       traducteurs de garder la trace des modifications en anglais.
       Heureusement, comme les deux versions de ces fichiers n’ont pas
       exactement la même syntaxe, cette erreur ne sera plus faite.

NOUVEAUX MODÈLES MAÎTRES

       Le nouveau format source de fichier de questionnaire est pratiquement
       identique à celui des fichiers de questionnaire 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: What interface should be used 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 msgids différents. Ainsi si l’exemple précédent avait
       contenu :

         __Choices: Dialog, Readline, Gnome, Editor, Noninteractive

       cinq msgids différents auraient été créés. Veuillez noter que les
       espaces après les virgules ne sont pas significatifs.

       En fait, lorsqu’une liste de choix ne change jamais, "_Choices"
       convient, dans le cas contraire, "__Choices" facilite la vie du
       traducteur.

       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". Un exemple
       d’utilisation se trouve dans la section suivante.

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 à ce nouveau format. Les versions plus anciennes de
         "debconf" ignorent ces champs et affichent le texte en anglais. Voir
         po2debconf(1) pour savoir comment modifier le codage et le format de
         sortie.

       - Une chaîne en anglais donnée 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’un espace) et se terminer par "]" (un crocher fermant), et peuvent
         contenir tout caractère hormis des crochets et des retours à la
         ligne. Par exemple "[ blabla]" est une balise valide 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 superfétatoires 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 modifiiez 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 (l’exemple est en
         français, mais il faut évidemment l’écrire en anglais).

           Template: geneweb/lang
           Type: select
           __Choices: Danish (da), Dutch (nl), English (en), Esperanto (eo)
           #  Vous NE devez PAS traduire cette chaîne, mais vous pouvez changer
           #  sa valeur. Les commentaires entre crochets sont utilisés pour
           #  différencier ce msgid de celui obtenu à partir du champ Choices.
           #  Vous n’avez pas besoin de vous en préoccuper, et devez simplement
           #  choisir une des valeurs listées dans le champ Choices ci-dessus,
           #  par exemple 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 msgids 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[ valeur par défaut : ne traduisez pas la partie entre "
           "crochets, indiquez ici votre propre langue SANS la traduire. "
           "Si elle n’apparaît pas dans la liste, indiquez English (sans la "
           "partie entre crochets)]"
           msgstr ""
           "French"

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

PAGES WEB SUR LÉTAT DES TRADUCTIONS
       Les traducteurs peuvent récupérer les fichiers PO et POT à partir de
       <http://www.debian.org/intl/l10n/po-debconf/> (ou de miroirs). Après
       avoir traduit ces fichiers, ils devraient soumettre leur travail au
       responsable du paquet par un rapport de bogue de sévérité minor
       (mineur) avec le marqueur patch (rustine).

       La page ci-dessus est mise à jour automatiquement quand de nouveaux
       paquets sont téléchargés. 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.

VOIR AUSSI

       debconf-gettextize(1), debconf-updatepo(1), debconf2pot(1),
       dh_installdebconf(1), po2debconf(1),

AUTEURS

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

TRADUCTION

         Nicolas Bertolissio <nico.bertol@free.fr>

                                  2005-12-22                     PO-DEBCONF(7)