Traduction avec gettext

Nouveau WRInaute
Salut !

j'ai mis en place la traduction de mon site avec gettext, mais celle-ci ne fonctionne pas toujours, et je ne comprends pas.

Je me mets sur la page français, et le texte s'affiche en anglais. Par contre en réactualisant la page plusieurs fois, elle finit par s'afficher en français. Comment est-ce possible ?

Voilà mon code, avec $my_lang="fr" :


Code:
$locale = $my_lang;
$textdomain="messages";
if (empty($locale))
  $locale = 'en_EN';
if (isset($_GET['locale']) && !empty($_GET['locale']))
  $locale = $_GET['locale'];
switch($locale)
{
  case "fr":
    $locale="fr_FR";
    break;
  default:
    break;
}
$locale.=".UTF-8";
putenv('LANGUAGE='.$locale);
putenv('LANG='.$locale);
putenv('LC_ALL='.$locale);
putenv('LC_MESSAGES='.$locale);
T_setlocale(LC_ALL,$locale);
T_setlocale(LC_CTYPE,$locale);

$locales_dir = "locale";

$res1=T_bindtextdomain($textdomain,$locales_dir);
$res2=T_bind_textdomain_codeset($textdomain, 'UTF-8');
$res3=T_textdomain($textdomain);
echo "locale=$locale<br>";
echo "T_bindtextdomain returned: $res1<br>";
echo "T_bind_textdomain_codeset returned: $res2<br>";
echo "T_textdomain returned: $res3<br>";
echo "the following message should be translated: ".tr("You should be connected")."<br>";

Ai-je oublié une initialisation ?

Merci beaucoup
 
Nouveau WRInaute
Bonjour,
merci pour la réponse. Les fonctions viennent de /usr/share/php/php-gettext/gettext.inc.

En fait il fallait que je redémarre apache, car apparemment il garde les fichiers .mo en cache.
 
Discussions similaires
Haut