Provided by: po4a_0.47-2_all bug

NOM

       po4a-runtime - po4a et traduction gettext des messages affichés pendant l'exécution sans
       Autotools

Introduction

       Avec po4a-build, po4a peut aussi prendre en charge la traduction des messages de sortie
       des scripts à l'aide de gettext. Pour cela, il n'est pas nécessaire que le programme
       utilise les Autotools et le processus ./configure habituel.

       En utilisant les extraits de Makefile en exemple, les paquets peuvent exploiter intltool
       avec un minimum d'efforts.

Format

       La traduction de la documentation ne devrait jamais utiliser le même répertoire po/ que la
       traduction des messages affichés pendant l'exécution. Même si la traduction des messages
       affichés pendant l'exécution peut utiliser des répertoires ne s'appelant pas po/, il est
       généralement plus facile de respecter la convention.

Multiples langages

       Juste un mot sur les paquets qui utilisent des scripts écrits dans plusieurs langages de
       programmation, Perl et shell par exemple. Prenez garde : gettext sera perturbé et oubliera
       des chaînes d'un langage ou d'un autre sauf si les extensions de fichier sont utilisées
       pour le langage qui pose le moins de problèmes.

       Lors de l'utilisation de plusieurs langages, faites des essais avec différents réglages de
       po/Makevars jusqu'à avoir toutes les chaînes nécessaires dans le fichier POT.

       En particulier, indiquer deux langages dans po/Makevars peut être problématique. Plutôt
       que :

        # Ne faites pas ça :
        XGETTEXT_OPTIONS = -L Perl -L Shell --from-code=iso-8859-1

       Envisagez de renommer (ou de mettre en place des liens symboliques pour) tous les fichiers
       de l'un des langages impliqués et évitez les options -L explicites. L'extension de fichier
       n'est nécessaire que pendant le traitement de po/POTFILES.in.

       The --keywords option can also be useful - see the xgettext(1) documentation.

Remplissage de po/

       D'abord, créez le répertoire po/ de plus haut niveau puis utilisez les fichiers exemples
       de /usr/share/doc/po4a/examples/ pour le remplir.

       LINGUAS
           Must exist, even if empty. Consists of a list of translations - each line not starting
           with a '#' must match an existing PO file. E.g. if LINGUAS contains a single line,
           'fr', an fr.po file must exist alongside the LINGUAS file.

            $ cat po/LINGUAS
            cs
            de
            fr
            $

           Par convention, le fichier LINGUAS est ordonné alphabétiquement, mais ce n'est pas
           automatiquement fait.

       POTFILES.in
           La liste des fichiers contenant des messages affichés pendant l'exécution à traduire,
           c'est-à-dire les scripts. Si le répertoire po/ de plus haut niveau est utilisé, les
           chemins devraient être relatifs au répertoire de plus haut niveau, pas au répertoire
           po/ lui-même.

            $ ls -l
            monscript.pl
            unautre.pl
            truc/gestion.pl
            po/
            po/POTFILES.in
            $ cat po/POTFILES.in
            monscript.pl
            unautre.pl
            truc/gestion.pl
            $

           Remarquez  que les scripts eux-mêmes peuvent contenir des messages affichés pendant
           l'exécution et de la documentation, tous deux à traduire ; par exemple, ils peuvent
           utiliser les fonctions de gettext pour les messages affichés pendant l'exécution et
           des contenus POD embarqués pour la documentation. Donc ça ne pose pas de problème
           d'avoir le même fichier à la fois dans po/POTFILES.in et doc/po4a-build.conf.

       Makevars-perl.example
           Si les scripts sont écrits en Perl, copiez ce fichier exemple vers po/Makevars et
           modifiez-le selon vos besoins.

       Makevars-shell.example
           Si les scripts sont écrits en shell, copiez ce fichier exemple vers po/Makevars et
           modifiez-le selon vos besoins.

       po4a-build.make
           Copiez ce fichier exemple vers po/Makefile, il ne devrait pas être nécessaire de le
           modifier, mais vous pouvez vouloir le garder à jour par rapport à
           /usr/share/doc/po4a/examples/po4a-build.make. Celui-ci peut être mis à jour au sein de
           po4a en fonction des modifications de la prise en charge sous-jacente d'intltool. Le
           fichier lui-même a été créé à partir d'un autre projet utilisant les Autotools et
           intltool.

Construction

       Ces extraits doivent être ajoutés au Makefile de plus haut niveau ou à tout fichier
       nécessaire en fonction de la méthode utilisée pour préparer les sources du programme pour
       sa distribution.

        clean:
               $(MAKE) -C po/ clean

        install:
               $(MAKE) -C po/ install DESTDIR=$(DESTDIR)

        dist:
               $(MAKE) -C po/ pot

       (Dans un projet utilisant les Autotools, l'ajout aurait été automatique après avoir
       simplement ajouté po à la valeur "SUBDIRS" de Makefile.am.)

Maintenance

       La traduction des messages affichés pendant l'exécution n'est pas aussi simple que
       po4a-build car l'ajout d'une nouvelle traduction nécessite de modifier po/LINGUAS, mais à
       part cela, la mise à jour des traductions se réduit simplement au remplacement du fichier
       PO correspondant par sa nouvelle version.

       En fonction de la façon de préparer l'archive source, il peut être nécessaire d'indiquer
       la liste des nouveaux fichiers PO au fichier MANIFEST ou les ajouter aux scripts qui
       s'occupent de préparer l'archive source (cette remarque s'applique aussi à po4a-build).

       Tous les fichiers *.mo ou *.gmo du répertoire po/ peuvent être effacés.

Copyright

       Même si les fichiers exemples font partie du projet po4a, vous êtes libre de les utiliser,
       les modifier et les distribuer dans vos projets sans avoir besoin de renvoyer vers po4a ou
       d'ajouter l'équipe de po4a dans vos indications de copyright, de même que les autres
       outils de construction comme Automake lui-même. Si vous voulez citer po4a, c'est très bien
       aussi.

AUTEURS

        Neil Williams <linux@codehelp.co.uk>

TRADUCTION

        Martin Quinson (mquinson#debian.org)