得到文本PHP5不适用于debian

时间:2011-11-03 20:30:00

标签: php debian locale gettext

我正在开发一个使用gettext的网站。在当地,每件事都很有效。但今天我已经在我的生产服务器上传了我的网站,gettext不再需要工作了。 我想使用的语言是fr_FR和en_US。 gettext翻译我的文本,如果我用法语显示我的网站,但英语没有任何意义。

当我在我的debian服务器上执行 locale -a 时,我得到:

C
fr_FR.utf8
POSIX

我是法国人,所以我觉得每件事都很正常。但是当我这样做: locale-gen en_US locale-gen en_US.UTF-8 然后 locale -a 时,没有任何变化。 !这是正常的吗?

以下是PHP代码示例,以防万一。但由于gettext适用于法语,我相信问题不在这里。

$langage = 'en_US.utf8';
putenv("LC_ALL=$langage"); 
setlocale(LC_ALL, $langage); 

$languageFileName = "default"; // locale/en_US/LC_MESSAGES/default.mo
bindtextdomain($languageFileName, PATH.'/locale'); 
bind_textdomain_codeset($languageFileName, 'UTF-8');
textdomain($languageFileName);

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

好吧,我找到了问题的解决方案。我编辑了文件 /etc/locale.gen 并取消注释我想用gettext语言。然后我运行 locale-gen 。就是这样!

仍然不明白为什么 locale-gen en_US.UTF-8 没有做同样的事情。 我正在使用debian 6 Squeeze。

答案 1 :(得分:0)

您需要在php扩展程序php_gettext上。