我一直在與Gettext苦苦掙扎已經很久了,只是無法讓它工作。我會永遠感激,如果有人可以幫助我這個...我尋找解決方案,並嘗試了幾個變種,但沒有任何工作對我來說。無法在PHP中使用gettext,Linux
我已創建以下文件結構:
/var/www/battlestox/battlestox.com/sites/battlestox/www/locale/de_DE/LC_MESSAGE/messages.po 在/ var/WWW/battlestox/battlestox.com /網站/ battlestox /網絡/現場/ de_DE這個/ LC_MESSAGE/messages.mo
在.po文件中的數據僅僅是:
MSGID 「」
msgstr「」
「Content-Type:text/plain;字符集= UTF-8 \ n」個
「內容傳輸編碼:8位\ n」 個
MSGID 「QWERTY」
msgstr 「的翻譯作品」
的PHP文件長谷以下代碼:
putenv("LANG=de_DE.UTF-8");
setlocale(LC_MESSAGES, 'de_DE.UTF-8');
bindtextdomain('messages', 'locale');
bind_textdomain_codeset('messages', 'UTF-8');
textdomain('messages');
echo gettext("qwerty");
echo _("qwerty");
輸出:qwertyqwerty - 所以沒有翻譯發生 當我贊同斌dtextdomain('messages','locale');我得到:
/var/www/battlestox/battlestox.com/sites/battlestox/www/locale
所以我相信它指向正確的位置..
我有檢查發現的gettext安裝在PHP和服務器上的語言環境都可..
:區域-a
de_DE這個
de_DE.iso88591
de_DE.utf8
de_DE這個@歐元
我運行PHP 5.2,Apache的2.2.3, CentOS的
請溫柔,我在linux上非常基本的..
感謝您的幫助!
PS我已經明顯地編譯了.po文件,使其成爲相應的mo文件.. – IanM