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 ?

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
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 !!! 