2016-06-13 107 views
0

我想翻譯我的PHP項目使用gettext,但它不起作用。 PHP輸出gettext字符串名稱而不是實際的翻譯。 012ed.po文件編譯在POeditor中。PHP gettext不翻譯

設置本地化:

// $language = 'en'; 
// $domain is the same as .mo file name 
putenv("LANG=" . $language); 
putenv("LANGUAGE=" . $language); 
setlocale(LC_ALL, $language); // Also tried with .utf8 at the end 
bindtextdomain($domain, 'locale'); // Also tried full path 
textdomain($domain); 

PO文件:(以現場/ EN/LC_MESSAGES/filename.po)

msgid "SETUP_UI" 
msgstr "User Interface" 

msgid "SETUP_ACCOUNT" 
msgstr "Account and Login" 

... and so on 

在PHP呼應:

<?= gettext('SETUP_UI') ?> 

是的,我嘗試了一切從stackoverflow - 谷歌搜索超過3小時。我已經安裝的getText在PHP中,也試圖重新啓動Apache,編譯.po文件......

結果在瀏覽器是:

SETUP_UI 

謝謝您的回答。

回答

0

您需要將.po文件編譯爲.mo(這是gettext消耗)

+0

是的,我知道,但POeditor,同時保存文件的編制。 –

+0

@SamuelIllo .mo文件是否位於相同的語言環境/ zh/LC_MESSAGES /文件夾中? –

+0

是的,他們在同一個文件夾中......但我通過使用json文件而不是gettext來解決問題。也許還POedit編譯器被損壞或... –