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.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut