PHP gettext不会翻译

时间:2016-06-13 12:23:33

标签: php apache translation gettext

我正在尝试使用gettext翻译我的PHP项目,但它不起作用。 PHP输出gettext字符串名称而不是实际的翻译。 在POeditor中编译的.po文件。

设置区域设置:

// $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文件:(在locale / 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个小时。我在PHP中安装了gettext,也试图重启Apache,重新编译.po文件......

浏览器的结果是:

SETUP_UI

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

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