Georges Khaznadar a écrit :
_T() (lang.inc.php) pour que dans un premier temps, elle passe simplement le relai à _().

Ça c'est relativement simple à faire.
De même que paramétrer xgettext pour qu'il considère le préfixe _T.

Parfait.

Je vais ensuite étudier la possibilité de déclarer les tables lang[] par lecture directe du .po. Si j'arrive a quelquechose de fonctionnel, il suffira de rajouter le choix de la methode de localisation dans la page de préférences, et tenir compte de ce reglage dans la fonction _T().

De toute façon à chaque changement de chaîne dans les sources je dois
lancer le Makefile du répertoire lang/

J'ai une commande en python qui saura te faire des fichiers
lang_*.php directement à partir des fichiers .po, c'est celle que j'ai
utilisée pour fouiner dans les sources et y remplacer le français par de
l'anglais, et en faire de même pour les msgids des fichiers po.

Donc on la déclare dans une des cibles du Makefile et zou.

On fait comme ça ?

Ca me parait parfait comme méthode ! Comme ça on peut utiliser les outils de traduction associés à gettext et permettre la localisation meme lorsque php a été compilé sans support gettext. Après reflexion je pense meme qu'il ne sera pas necessaire de rajouter un reglage dans la page de préférences : on pourrait directement en PHP détecter si les fonctions gettext sont présentes et quelles locales sont dispos, non ?

A++

Fred

Répondre à