Traduire graveman! dans une autre langue =============================================================================== This file is part of graveman! Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. =============================================================================== version 1 - 17/04/05 - scresto _at_ gmail.com 1.Présentation --------------- Je recherche toujours des personnes pour traduire graveman! dans une nouvelle langue, si vous êtes intéressés vous serez toujours le bienvenu :-) Ce fichier a pour but de présenter les 2 - 3 trucs a connaître pour débuter la traduction de graveman. Si vous avez le moindre problème n'hésitez pas à me contacter par mail: scresto _AT_ gmail.com. Graveman utilise gnu gettext pour la gestion des différentes langues, tous les labels utilisés par graveman sont regroupés dans le fichier ./po/graveman.pot 2.Mise en place de l'environnement pour une nouvelle traduction -------------------------------------------------------------- Pour traduire graveman dans une nouvelle langue il faut copier ce fichier en lui donnant comme nouveau nom le préfixe de la langue voulu. Vous pouvez vérifier la langue paramétrée sur votre système en tapant: echo $LANG qui renvoi chez moi: fr_FR.ISO-8859-1 Donc, par exemple pour traduire graveman en français on utiliserai le préfixe "fr". cp ./po/graveman.pot ./po/fr.po Il faut ensuite éditer le fichier configure.in et rajouter le préfixe choisi à la variable ALL_LINGUAS. Par exemple pour une traduction en français il faudrait compléter la ligne: ALL_LINGUAS="cs de es it lt nl no pl pt_BR ru sv" Pour qu'elle devienne: ALL_LINGUAS="cs de es it lt nl no pl pt_BR ru sv fr" Il faut maintenant demander a graveman de tenir compte de ce nouveau fichier, pour cela il faut utiliser la commande : ./autogen.sh La nouvelle langue devrait apparaître lors de la fin d'exécution: [...] checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for catalogs to be installed... cs de es fr it lt nl no pl pt_BR ru sv [...] 3.Traduire de graveman ---------------------- Comme dis plus haut tous les messages affichés et utilisés par graveman sont contenu dans le fichier ./po/fr.po que l'on vient de créer, c'est lui qu'il faut modifier pour y ajouter les traductions. Dans les premières lignes il faut remplacer quelques variables pour y placer le nom de la langue, votre nom ainsi que l'encodage utilisé. Repérez les lignes: "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-17 19:00+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" On pourrai remplacer: PACKAGE VERSION par graveman FULL NAME par votre nom + votre adresse email LANGUAGE par le nom de la langue en anglais (FRENCH, DUTCH...) CHARSET par UTF-8 Je vous conseille d'utiliser le charset UTF-8 si votre éditeur de texte le supporte. Sinon utilisez le charset convenant à la langue à traduire (en général iso-8859-1 ou iso-8859-15 pour les langues occidentales) Ce fichier est une série de lignes commençant par msgid et msgstr. Toutes les lignes commençant par msgid sont les messages originaux utilisés par graveman, il ne faut pas les modifier. Il faut compléter les lignes commençant par msgstr se trouvant juste en dessous. Les lignes commençant par des # sont des commentaires et informent de l'endroit où sont utilisés ces lignes dans graveman. Par exemple dans le cas de la traduction française: #: src/callbacks.c:719 msgid "Cannot add this drive !" msgstr "Ne peut pas ajouter ce lecteur !" Le message "Cannot add this drive !" est utilisé à la ligne 719 du fichier src/callback.c, en français il sera remplacé par "Ne peut pas ajouter ce lecteur !". Lorsque msgstr n'est pas renseigné graveman affichera par défaut le contenu du message msgid. 4.Tester la traduction ---------------------- Après avoir traduit les messages il faut utiliser une commande pour les installer sur votre machine dans un emplacement ou graveman les trouvera, pour cela il faut aller dans le répertoire "po" (vous aurez sûrement besoin d'avoir les droits root pour utiliser la commande "make install") : cd po make make install Vérifiez maintenant la langue paramétrée sur votre système: echo $LANG Le préfixe de la chaîne renvoyé doit correspondre au nom du fichier que vous venez de créer, si il ne correspond pas votre traduction ne sera pas utilisé. Pour changer la valeur de LANG et pour utiliser par exemple la traduction française utilisez la commande: LANG=fr export LANG Vous pouvez maintenant lancer graveman: graveman Qui doit maintenant utiliser et afficher les messages que vous venez de traduire. 5.Verifier la traduction ------------------------ Pour vérifier que tous les messages soient bien traduits et qu'il n'y ai aucun problèmes il faut utiliser la commande "make update-po" dans le répertoire "po": cd po make update-po Ce doit afficher un message de la sorte (dans votre langue): fr: .............................................. done. 440 translated messages, 9 fuzzy translations, 8 untranslated messages. Il y a donc 440 messages traduits dans le fichier fr.po, dont 9 posant problemes (fuzzy) et 8 non traduits. Il est important d'aller corriger ceux marqués "fuzzy", pour le faire il faut reouvrir le fichier "po/fr.po" et y rechercher toutes les occurrences de la chaine "fuzzy" que le makefile a placé devant toutes les traductions posant problémes. après avoir corrigé le problème il faut supprimer la ligne "# fuzzy" correspondante. Il est aussi prudent de rechercher toutes les occurrences de la chaîne "c-format" et de vérifier que les traductions correspondent bien et qu'il y ai bien le même nombre de "%s" et de "%d" dans les chaînes "msgstr" et "msgid". 6.Autres fichiers à traduire ---------------------------- Il y a aussi un autre fichier dans lequel il faut rajouter 3 entrées, le fichier desktop/graveman.desktop.in. Je vous conseille d'ouvrir ce fichier et vous verrez dessuite lesquelles. Donc pour notre exemple de traduction française il faudrait rajouter: Name[fr]=Graveman GenericName[fr]=Créateur de CD Comment[fr]=Crée et copie des CD audio et des CD de données Pour les plus courageux on peu aussi traduire le fichier man/graveman.man que l'on renommerai en man/graveman.fr.man :-) 7.M'envoyer tout ces fichiers ----------------------------- Une fois faites toutes ces opérations envoyez moi ces fichiers, et je les rajouterai avec plaisir dans graveman! :-) Pour récapituler, pour la traduction française il faut m'envoyer les fichiers suivant: po/fr.po desktop/graveman.desktop.in Et si vous l'avez traduit: man/graveman.fr.man Je vous tiendrai de toute façon au courant de l'intégration de votre traduction à graveman. Sylvain Cresto