Exemple d'utilisation de Gettext
Côté programmeur
Pour commencer, nous créons un petit programme Python (essai.py) :
L'exécution de ce programme donne le résultat attendu :
$ ./essai.py Hello, World.
Nous ajoutons les en-têtes utilisés par Gettext et nous instrumentons les chaînes de caractères à traduire :
Il ne reste plus qu'à extraire les chaînes à traduire avec l'outil xgettext :
xgettext -L python -o essai.pot \ --add-comments='TRADUCTEURS :' \ essai.py
Le fichier produit par xgettext est le suivant :
#. TRADUCTEURS : ce message ne doit pas #. dépasser 72 caractères #: essai.py:13 msgid "Hello, World." msgstr ""
C'est ce fichier qui sera envoyé aux traducteurs (en le renommant .po). Ceux-ci n'auront plus qu'à ajouter dans les chaînes « msgstr » la traduction des chaînes « msgid ».
Côté traducteur
Le traducteur reçoit le fichier .po et le traduit :
#. TRADUCTEURS : ce message ne doit pas #. dépasser 72 caractères #: essai.py:13 msgid "Hello, World." msgstr "Bonjour, Monde."
Il ne reste plus au traducteur qu'à compiler le fichier .po, à l'installer :
mkdir -p fr/LC_MESSAGES msgfmt -c -o fr/LC_MESSAGES/essai.mo essai.po
Et à l'essayer :
$ ./essai.py Bonjour, Monde.