Page 1 sur 1

setlocale

Posté : 27 nov. 2007, 18:13
par Troopy57
Bonjour et merci pour votre aide,

J'ai un setlocale(LC_MESSAGES, 'fr_FR'); qui fonctionne parfaitement, mais si j'utilise un autre code langue (en_GB par exemple) ca ne fonctionne plus (retourne false). Quelqu'un aurait-il une idée du pourquoi ? Ca fait deux jours que j'me bat pour utiliser gettext... ca serait sympa.

Merci

Posté : 27 nov. 2007, 18:26
par Victor BRITO
Ce que dit la documentation paraît important :
LC_MESSAGES pour les réponses système (disponible si PHP a été compilé avec libintl)
Essaie en ne mettant que 'en' (ou alors 'en_UK'). Sinon, essaie comme suit :
// Version française de France
setlocale (LC_ALL, 'fr_FR');
// UK English version
setlocale (LC_ALL, 'en_GB');
// ou bien
setlocale (LC_ALL, 'en_UK');
// ou bien
setlocale (LC_ALL, 'en');

Posté : 27 nov. 2007, 18:30
par Troopy57
J'aurai du préciser que ce n'est pas la constante qui pose problème mais bien le code pays en lui même. A part fr_FR rien ne passe.

Posté : 27 nov. 2007, 18:57
par Victor BRITO
Absolument rien à part fr_FR ? :shock: Et en essayant fr_CA, qu'est-ce que ça donne ?

Posté : 27 nov. 2007, 19:07
par Invité
Bon j'ai trouvé merci pour ton aide tout de même.

J'explique au passage :

L’utilisation de GetText en PHP implique que l’utilisateur doit d’abord modifier la configuration locale de l’application en utilisant la fonction

setlocale(constante, localisation);

L’utilisation d’une localisation implique que celle-ci soit installé sur le serveur. Si ce n'est pas le cas il y a de forte chance pour que le retour "false" de setlocale soit dû à cela.

Pour ajouter des localisation à votre serveur (ex. debian) :

dpkg-reconfigure locales

Un reboot du serveur (et pas seulement d’apache) est nécessaire.

Voilà :) Merci tout de même

Voila !!

Posté : 27 nov. 2007, 19:09
par Truc
Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)