Provided by: po4a_0.41-1ubuntu1_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.

       L'option --keywords peut également être utile, voir la documentation de
       xgettext.

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
           Doit exister, même vide. C'est une liste des traductions, chaque
           ligne qui ne commence pas par « # » doit correspondre à un fichier
           PO existant. Par exemple, si LINGUAS contient seulement une ligne
           « fr », un fichier fr.po doit exister à côté du fichier LINGUAS.

            $ 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>