PHP gettext不翻译

问题描述:

我想翻译我的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 

谢谢您的回答。

您需要将.po文件编译为.mo(这是gettext消耗)

+0

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

+0

@SamuelIllo .mo文件是否位于相同的语言环境/ zh/LC_MESSAGES /文件夹中? –

+0

是的,他们在同一个文件夹中......但我通过使用json文件而不是gettext来解决问题。也许还POedit编译器被损坏或... –