我有一個網站。我試圖讓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