Page 1 sur 1

GETTEXT sur UBUNTU

Posté : 05 déc. 2011, 21:30
par ehben
Hello,

ça fait plusieurs semaines que j'essaie de faire marcher gettext sur UBUNTU mais sans succès (ça marche en local par contre (sur un mac) !)


Voici le code PHP :
putenv("LANG=$langage");
$directory = dirname(__FILE__).'/locale';

$domain = 'traductions';
$locale=$langage . '.utf8';

setlocale( LC_MESSAGES, $locale);
bindtextdomain($domain, $directory);
textdomain($domain);
bind_textdomain_codeset($domain, 'UTF-8');
la variable $langage est remplie soit à fr_FR, soit à en_US

Quand je change de langue, rien ne change à l'écran...

J'ai recompilé le .po sur UBUNTU avec ceci :
msgfmt -o traductions.mo -v traductions.po

mais ça ne change rien...

Dans phpinfo, j'ai GETTEXT support en enabled.

une idée ? :?: :?:

Re: GETTEXT sur UBUNTU

Posté : 05 déc. 2011, 23:35
par nicolas
Les fichiers .mo sont chargés en mémoire et ne sont pas rechargés même s'ils ont changé. Il faut relancer le serveur pour que les modifs soient prises en compte. C'est particulièrement pénible en phase de développement. La solution est de renommer le fichier à chaque modif.

Re: GETTEXT sur UBUNTU

Posté : 05 déc. 2011, 23:55
par ehben
Merci de ta réponse.

En fait j'ai déjà rebooté le serveur ainsi et sans effet : /etc/init.d/apache2 restart

Re: GETTEXT sur UBUNTU

Posté : 09 déc. 2011, 00:59
par ehben
personne n'a d'autres idées :/ ?

Peut-on recompiler le php ?

Re: GETTEXT sur UBUNTU

Posté : 11 déc. 2011, 22:56
par nicolas
As-tu les locales d'installées sur ton système ?

Re: GETTEXT sur UBUNTU

Posté : 11 déc. 2011, 23:50
par ehben
Oui ou du moins quand je tape locales -a j obtiens fr_Fr.utf8.
Faut il que j installe les fichiers compilés dans le répertoire ou ces locales se situent?

Re: GETTEXT sur UBUNTU

Posté : 16 août 2012, 21:46
par William75
Je me pose un problème à l'identique... Il y a une difference majeure entre UBUNTU et MAC OS:

Sur MAC:
fr_BE
fr_BE.ISO8859-1
fr_BE.ISO8859-15
fr_BE.UTF-8
fr_CA
fr_CA.ISO8859-1
fr_CA.ISO8859-15
fr_CA.UTF-8
fr_CH
fr_CH.ISO8859-1
fr_CH.ISO8859-15
fr_CH.UTF-8
fr_FR
fr_FR.ISO8859-1
fr_FR.ISO8859-15
fr_FR.UTF-8

Sur UBUNTU:
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8

Si je suis la documentation fr_FR.UTF-8 et fr_FR.utf8, ça pose un problème. "UTF-8" est différent de "utf8", donc peut-être ceci explique cela: arborescence différente pour Mac et Ubuntu. J'y crois pas! Je suis en train de traduire un site et voilà la mauvaise surprise. Ai-je raison? Je n'ai pas encore essayé. En fait tout est OK sur Mac et Ubuntu (les chaînes à traduire sont dans le code) mais je n'ai pas encore la traduction en place donc je teste ce soir. Si quelqu'un a rencontré le problème...