PHP-GetText - Msgid fr, mais affichage toujours anglais

WRInaute discret
Hello,

Bon c'est assez simple, je comptais traduire un site en plusieurs langues. J'ai donc décidé d'utiliser (PHP-)Gettext pour cela.

J'ai un fichier de langue (.po puis le fichier compilé .mo), dans 2 langages différentes pour l'instant fr_FR et en_US.
Ils sont dans [RACINE]/locale/[CODESET]/LC_MESSAGES/

Le code utilisé pour l'utilisation de GetText :
Code:
require_once($racine.'includes/gettext/gettext.inc');
putenv("LANG=".$_SESSION['LANG_CHOOSE']);
$setloc = setlocale(LC_MESSAGES, $_SESSION['LANG_CHOOSE']);
$bid = bindtextdomain("messages", $racine."locale");
$txtd = textdomain("messages");

Le problème et les détails :
- Les chaînes d'origine sont en français
- Le problème actuel : Le site s'affiche toujours en anglais, si je le veux en français, y me le laisse traduit en anglais.

Sur un autre serveur (Kimsufi Linux Debian 5) que celui où ce problème se produit (Servage mutu), le site s'affiche bien dans la langue désirée avec le même code, les mêmes fichiers de langue.

Bref, je ne vois pas d'où vient le problème. L'hébergeur (Servage) qui ferait une redéfinition de la valeur locale utilisée ? setlocale() fonctionne bien puisqu'il retourne fr_FR ou en_US.

Merci d'avance de votre aide,

Cordialement.

PS : Rassurez-vous la session change bien comme je le souhaite avec une utilisation d'une simple variable $_GET['lang']. Et j'affiche la valeur de la session. Donc c'est pas une simple erreur à la con, ou en tout cas pas celle-ci.
 
WRInaute discret
J'ai juste contrôlé le nécessaire en premier lieu : Si GetText était activé etc via phpinfo() sur le serveur mutualisé Servage. Après les infos c'est restreint. Les versions de PHP sont bonnes également.
 
WRInaute discret
Oui oui, je l'ai indiqué en première ligne d'ailleurs de mon 1er message.

En gros les répertoires c'est :
Code:
/
[...]
	locale
		en_US
			LC_MESSAGES
				messages.mo
				messages.po
		fr_FR
			LC_MESSAGES
				messages.mo
				messages.po

Pour le setlocale(), j'avais aussi mis LC_ALL avant puis j'ai mis LC_MESSAGES pour tester des fois que le problème viendrait de là mais non. J'ai vraiment testé des tas de trucs, et là je ne vois pas d'autre solution que d'héberger le site ailleurs que sur Servage. Servage qui d'ailleurs ne répond rien d'autre que "faut voir ça avec le développeur du script".
 

➡️ 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