我正在尝试使用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
感谢您的回答。
答案 0 :(得分:0)
您需要将.po
个文件编译为.mo
(这是gettext
消耗的内容)