Traduire son extension

Bonjour 4ian,

Je voudrais savoir comment on peut traduire notre extension.

Merci.

J’utilise le procédé offert par wxWidgets ( basé sur GetText : fr.wikipedia.org/wiki/GNU_gettext ).
En gros, toute phrase qui peut être traduite doit être entourée de _( et ). Comme ceci :

_("Ma phrase qui peut être traduite"). std::string nom = _("Nom par défaut")

Ensuite, il faut utiliser le logiciel PoEdit : poedit.net
Une fois celui ci téléchargé, tu lui indique les sources à traduire, et celui ci scanne le code à la recherche des _(“qqchose”). Il les affichera dans une liste que tu n’aura plus qu’à traduire.
Quand tu enregistrera ton fichier, il crééra un second fichier se terminant en .mo, qui est utilisé par GD pour traduire les phrases dans le programme.

Le truc c’est qu’actuellement, GD ne charge que le fichier GD.mo, qui est situé dans le répertoire “locale/nomdelalangue/LC_MESSAGES”. Ce que tu peux faire, c’est par exemple mettre GD en anglais, et remplacer les fichiers ( dans locale/en_GB/LC_MESSAGES donc ) par ceux généré par la traduction de ton extension, en les nommant bien GD.po et GD.mo.
Tu peux aussi essayer d’ouvrir avec PoEdit le fichier GD.po qui est dans locale/en_GB/LC_MESSAGES, le configurer pour mettre le dossier où sont tes sources, puis les traduire. Enregistre, lance GD, et normalement, il y aura la traduction de ton extension ( Il n’y aura plus celle de GD, mais c’est juste pour tester ).
A noter que il faut bien vérifier, une fois que tu as mis à jour la liste des traductions depuis les sources, que l’encodage dans les options ( Catalogue > Configuration ) est bien “iso-8859-1”.

Je vais rajouter quelque chose pour que GD charge toutes les traductions disponibles en fichier .mo, qui devront être placées dans le répertoire Extensions, afin que les extensions puissent fournir leur traductions.

[…]

C’est pour ça que :

Dans les dernières versions, GD charge en plus de l’extension le catalogue de traduction ( fichier .mp ) situé dans le dossier Extensions et ayant le même nom que l’extension, si il existe.
Ainsi, chaque extensions peut fournir ses traductions.

C’est déjà le cas…

[…]