.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" ======================================================================== .\" .IX Title "PO4A-RUNTIME 7" .TH PO4A-RUNTIME 7 "2013-08-21" "Outils po4a" "Outils po4a" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" po4a\-runtime \- po4a et traduction gettext des messages affichés pendant l'exécution sans Autotools .SH "Introduction" .IX Header "Introduction" Avec \fIpo4a\-build\fR, \fIpo4a\fR 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 \&\fI./configure\fR habituel. .PP En utilisant les extraits de \fIMakefile\fR en exemple, les paquets peuvent exploiter \fIintltool\fR avec un minimum d'efforts. .SH "Format" .IX Header "Format" La traduction de la documentation ne devrait jamais utiliser le même répertoire \fIpo/\fR 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 \fIpo/\fR, il est généralement plus facile de respecter la convention. .SH "Multiples langages" .IX Header "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. .PP Lors de l'utilisation de plusieurs langages, faites des essais avec différents réglages de \fIpo/Makevars\fR jusqu'à avoir toutes les chaînes nécessaires dans le fichier \s-1POT\s0. .PP En particulier, indiquer deux langages dans \fIpo/Makevars\fR peut être problématique. Plutôt que : .PP .Vb 2 \& # Ne faites pas ça : \& XGETTEXT_OPTIONS = \-L Perl \-L Shell \-\-from\-code=iso\-8859\-1 .Ve .PP 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 \fIpo/POTFILES.in\fR. .PP L'option \-\-keywords peut également être utile, voir la documentation de xgettext. .SH "Remplissage de po/" .IX Header "Remplissage de po/" D'abord, créez le répertoire \fIpo/\fR de plus haut niveau puis utilisez les fichiers exemples de \fI/usr/share/doc/po4a/examples/\fR pour le remplir. .IP "\s-1LINGUAS\s0" 4 .IX Item "LINGUAS" Doit exister, même vide. C'est une liste des traductions, chaque ligne qui ne commence pas par « # » doit correspondre à un fichier \s-1PO\s0 existant. Par exemple, si \fI\s-1LINGUAS\s0\fR contient seulement une ligne « fr », un fichier \&\fIfr.po\fR doit exister à côté du fichier \fI\s-1LINGUAS\s0\fR. .Sp .Vb 5 \& $ cat po/LINGUAS \& cs \& de \& fr \& $ .Ve .Sp Par convention, le fichier \fI\s-1LINGUAS\s0\fR est ordonné alphabétiquement, mais ce n'est pas automatiquement fait. .IP "\s-1POTFILES\s0.in" 4 .IX Item "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 \fIpo/\fR de plus haut niveau est utilisé, les chemins devraient être relatifs au répertoire de plus haut niveau, pas au répertoire \fIpo/\fR lui\-même. .Sp .Vb 11 \& $ ls \-l \& monscript.pl \& unautre.pl \& truc/gestion.pl \& po/ \& po/POTFILES.in \& $ cat po/POTFILES.in \& monscript.pl \& unautre.pl \& truc/gestion.pl \& $ .Ve .Sp 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 \s-1POD\s0 embarqués pour la documentation. Donc ça ne pose pas de problème d'avoir le même fichier à la fois dans \fIpo/POTFILES.in\fR et \fIdoc/po4a\-build.conf\fR. .IP "Makevars\-perl.example" 4 .IX Item "Makevars-perl.example" Si les scripts sont écrits en Perl, copiez ce fichier exemple vers \&\fIpo/Makevars\fR et modifiez-le selon vos besoins. .IP "Makevars\-shell.example" 4 .IX Item "Makevars-shell.example" Si les scripts sont écrits en shell, copiez ce fichier exemple vers \&\fIpo/Makevars\fR et modifiez-le selon vos besoins. .IP "po4a\-build.make" 4 .IX Item "po4a-build.make" Copiez ce fichier exemple vers \fIpo/Makefile\fR, il ne devrait pas être nécessaire de le modifier, mais vous pouvez vouloir le garder à jour par rapport à \fI/usr/share/doc/po4a/examples/po4a\-build.make\fR. 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. .SH "Construction" .IX Header "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. .PP .Vb 2 \& clean: \& $(MAKE) \-C po/ clean \& \& install: \& $(MAKE) \-C po/ install DESTDIR=$(DESTDIR) \& \& dist: \& $(MAKE) \-C po/ pot .Ve .PP (Dans un projet utilisant les Autotools, l'ajout aurait été automatique après avoir simplement ajouté \fIpo\fR à la valeur \f(CW\*(C`SUBDIRS\*(C'\fR de \&\fIMakefile.am\fR.) .SH "Maintenance" .IX Header "Maintenance" La traduction des messages affichés pendant l'exécution n'est pas aussi simple que \fIpo4a\-build\fR car l'ajout d'une nouvelle traduction nécessite de modifier \fIpo/LINGUAS\fR, mais à part cela, la mise à jour des traductions se réduit simplement au remplacement du fichier \s-1PO\s0 correspondant par sa nouvelle version. .PP En fonction de la façon de préparer l'archive source, il peut être nécessaire d'indiquer la liste des nouveaux fichiers \s-1PO\s0 au fichier \&\fI\s-1MANIFEST\s0\fR ou les ajouter aux scripts qui s'occupent de préparer l'archive source (cette remarque s'applique aussi à \fIpo4a\-build\fR). .PP Tous les fichiers \fI*.mo\fR ou \fI*.gmo\fR du répertoire \fIpo/\fR peuvent être effacés. .SH "Copyright" .IX Header "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. .SH "AUTEURS" .IX Header "AUTEURS" .Vb 1 \& Neil Williams .Ve .SH "TRADUCTION" .IX Header "TRADUCTION" .Vb 1 \& Martin Quinson (mquinson#debian.org) .Ve