Loading

NOM

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

INTRODUCTION

       Avec po4a-build(1),  po4a(1) peut aussi prendre en charge la traduction
       des messages de sortie des scripts à l'aide de gettext(1).  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 le produit intltool avec un minimum d'efforts.

       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  durant
       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(1).

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  doit pas
           être nécessaire de le modifier,  mais vous pouvez vouloir le garder
           à jour  en 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(1)).

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

VOIR AUSSI

       po4a(7), po4a(1), po4a-build(1), gettext(1), xgettext(1)

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>