Question

J'essaie de charger mes traductions .mo en utilisant le code suivant, mais cela ne fonctionne pas. J'ai le php gettext ext. activé dans ma phpinfo () et tous les paramètres régionaux requis sont installés. Ai-je oublié quelque chose?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

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

Mon fichier .mo se trouve dans ./ locale / en_US / messages.mo

Était-ce utile?

La solution

Lorsqu'un thread Apache charge un fichier .mo, il ne le rechargera pas tant que le thread Apache ne sera pas recyclé. Donc, si vous mettez à jour le fichier .mo et que vous voulez être sûr que votre php utilise ce nouveau fichier .mo, vous devez réellement redémarrer Apache ou utiliser un nom différent pour le fichier mo.

Quoi qu'il en soit, je définirais la variable d'environnement LANG.

Autres conseils

Vous devez probablement modifier le chemin afin qu'il soit absolu et non relatif.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top