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
消耗)
是的,我知道,但POeditor,同时保存文件的编制。 –
@SamuelIllo .mo文件是否位于相同的语言环境/ zh/LC_MESSAGES /文件夹中? –
是的,他们在同一个文件夹中......但我通过使用json文件而不是gettext来解决问题。也许还POedit编译器被损坏或... –