Journal Internationnalisation d'un site php

Posté par  .
Étiquettes : aucune
0
20
avr.
2004
Bonjour à tous,

Je m'explique, j'ai un site en php et je cherche à gérer plusieur langues sur celui-ci, en regardant un peu les solutions existantes je suis tombé sur gettext que j'ai choisit d'utiliser. J'ai tout d'abord regardé si php (version 4.1) était configuré pour l'utiliser sur le serveur (une bonne vieille redhat 7.3) ce qui était le cas.

Grâce à la commande xgettext j'ai récupéré toutes les strings localisé avec la fonction "_" pour obtenir mon fichier .po, j'ai ensuite crée l'aboresence qui convient :

locale/fr_FR/LC_MESSAGES/messages.po
/en_EN/LC_MESSAGES/messages.po

J'ai ajouté les traductions au fichier /en_EN/LC_MESSAGES/messages.po et ensuite compilé ces deux fichiers de langues grâce à la commande msgfmt ce qui ma permit d'obtenir :

locale/fr_FR/LC_MESSAGES/messages.po
/fr_FR/LC_MESSAGES/messages.mo
/en_EN/LC_MESSAGES/messages.po
/en_EN/LC_MESSAGES/messages.mo

ensuite j'ai spécifié dans mon code php le domaine ainsi que le chemin des locale grâce aux fonctions :

<?php

textdomain("messages");
bindtextdomain("messages", "./locale");

?>

Mais lorsque que j'utilise la fonction setlocale(LC_ALL, "en_EN") - ou setlocale(LC_MESSAGES, "en_EN") - rien ne se passe...

j'ai même essayé avec avec un putenv("LANG=en_EN"); mais rien à faire je n'ai toujours que du texte en français.

J'espère avoir été assez clair...

Si quelqu'un à une quelconque expérience avec gettext...

Merci d'avance !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.