我有一个网站。我试图让gettext工作,以便我的英语,瑞典和挪威站点能够出现。我无法让它工作。我做错了什么?PHP和Gettext不能在我的服务器上工作
这是我的配置代码:
// define constants (defualt - danish)
$lang = 'da_DA';
$lang_short = '';
$lang_prefix = 'da';
if (isset($_GET['lang']))
{
switch($_GET['lang'])
{
case 'en':
$lang = 'en_EN';
$lang_short = 'en/';
$lang_prefix = 'en';
break;
case 'se':
$lang = 'se_SE';
$lang_short = 'se/';
$lang_prefix = 'se';
break;
case 'no':
$lang = 'no_NO';
$lang_short = 'no/';
$lang_prefix = 'no';
break;
}
}
define('LANG', $lang_short);
define('LANG_PREFIX', $lang_prefix);
putenv("LC_ALL=". $lang);
bindtextdomain('messages', ROOT .'lang/');
我的路径是/var/www/rssbot.dk/lang/
。我应该让chmod正确还是...?
你把.mo文件放在'lang'下的哪个位置?你有'/ var/www/rssbot.dk/lang/en_EN/LC_MESSAGES/messages.mo'吗?还可以尝试'locale -a'来查看是否所有的语言环境都可用。 – 2010-05-26 17:39:47
是为“路径”,并locale -a命令其返回(C en_GB.utf8 en_US.utf8 POSIX ) – ParisNakitaKejser 2010-05-26 17:44:07
纠正我,如果我错了,但我不知道的en_EN是一个有效的语言环境。试试'en_US'或者只是'en',这应该是区域中立的。您可能还需要在操作系统上安装英语以外的其他语言环境才能使其他语言正常工作。 – 2010-05-26 18:06:18