Utiliser GetText pour traduire webadmin

Historiquement la toute première version d'AbulÉdu utilisait un outil spécifique (RTP) pour permettre aux usagers de traduire webadmin dans des langues autres que le français.

Par la suite cette possibilité de traduire AbulÉdu a disparu. Suite aux RALL2007 j'ai décidé de faire le nécessaire pour que ça soit de nouveau possible. Vous trouverez donc ci-dessous les étapes utilisées.

1. Repasser dans tout le code de l'application pour faire appel à la fonction “_” (traduction) partout où c'est nécessaire. Par exemple:

echo _('Ajouter un enseignant');

2. Une fois ce travail terminé on extrait toutes les chaînes de texte à traduire:

find . -name '*.php' > fichiers.txt
xgettext -f fichiers.txt -o webadmin.po

ou

xgettext -L PHP --from-code UTF-8 * -o /tmp/webadmin-lib.pot

3. On traduit ce fichier de ressources avec un outil comme kbabel poedit etc.

4. On compile ce fichier

msgfmt -o locale/fr/LC_MESSAGES/webadmin.mo webadmin.po

5. On utilise ce fichier

<?php
bindtextdomain('webadmin','locale');
setlocale(LC_ALL, "fr_FR.UTF-8");
textdomain('index');
?>