我有一個問題讓gettext的在Windows Server 2008上運行R2,PHP 5.5PHP的gettext無法在Windows Server 2008上工作,PHP 5.5
我做了以下在我的PHP腳本:
$language = 'NB';
putenv("LANG=".$language);
putenv("LC_ALL=".$language);
setlocale(LC_ALL, $language);
$domain = 'messages';
bindtextdomain($domain, 'C:/path_to_translations/translations');
textdomain($domain);
我的翻譯文件是在以下目錄:
C:/path_to_translations/translations/NB/LC_MESSAGES/messages.po C:/path_to_translations/translations/NB/LC_MESSAGES/messages.mo
這工作正常,我的Windows 7機器上使用PHP 5.3
我猜NB是不是真的在Windows上一個有效的區域設置名稱,但的setlocale(LC_ALL,「NB」)仍返回「NB」,而不是FALSE。 不過,看看這可能與問題有關,我曾嘗試設置$ language ='norwegian',在這種情況下setlocale(LC_ALL,'norwegian')返回'Norwegian_Norway.1252',並嘗試更改 指向C:/path_to_translations/translations/norwegian/LC_MESSAGES/messages.mo和C:/path_to_translations/translations/Norwegian_Norway.1252/LC_MESSAGES/messages.mo的路徑名,還要將.po和.mo文件的編碼從「UTF -8'到'Windows 1252'。 然而,我不能讓翻譯工作在Windows Server 2008 R2,PHP 5.5機器上。
任何幫助很感謝!