2011-11-03 31 views
1

我正在开发一个使用gettext的网站。每件事在当地都很有效。但是今天我已经把我的网站上传到我的制作服务器上了,gettext不想再工作了。 我想使用的语言是fr_FR和en_US。 gettext翻译我的文本,如果我用法语显示我的网站,但没有英文发生。获取文本PHP5不能在debian上工作

当我我的Debian服务器上执行区域-a,我得到:

C 
fr_FR.utf8 
POSIX 

我是法国人,所以我觉得每一件事情是正常的。但是当我这样做:locale-gen en_USlocale -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); 

非常感谢您的帮助。

回答

4

嗯,我找到了解决我的问题。我编辑了文件/etc/locale.gen并取消了我想用于gettext的语言的注释。然后我运行了locale-gen。而已 !

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

+0

我有完全相同的问题:'en_US'语言环境丢失,'locale-gen en_US.UTF-8'对我来说工作得很好。 – Tim

0

你需要在php的扩展上php_gettext

+0

你能给我更多的细节吗?在我的phpinfo中,我有:GetText支持 - >启用。你是这个意思吗 ? –

+0

是的。可能会是一个解决方案。 –

相关问题