GETTEXT sur UBUNTU

Petit nouveau ! | 4 Messages

05 déc. 2011, 21:30

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 ? :?: :?:

Eléphant du PHP | 353 Messages

05 déc. 2011, 23:35

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.

Petit nouveau ! | 4 Messages

05 déc. 2011, 23:55

Merci de ta réponse.

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

Petit nouveau ! | 4 Messages

09 déc. 2011, 00:59

personne n'a d'autres idées :/ ?

Peut-on recompiler le php ?

Eléphant du PHP | 353 Messages

11 déc. 2011, 22:56

As-tu les locales d'installées sur ton système ?

Petit nouveau ! | 4 Messages

11 déc. 2011, 23:50

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?

William75
Invité n'ayant pas de compte PHPfrance

16 août 2012, 21:46

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