这是我的messages.po文件
#
msgid "_greet1"
msgstr "Hello"
msgid "_greet2"
msgstr "Bye"
我使用PO编辑将此po文件编译为mo文件,当我在翻译代码中使用mo文件时,我看到字符串的msgid而不是msgstr。我正在使用与PHP文档中编写的完全相同的代码来获取gettext。
任何建议......
答案 0 :(得分:0)
我遇到了同样的问题,我的文件夹路径也是正确的。问题的原因是我使用' pl_PL' 作为区域设置而不是' pl_PL.utf8' (在源代码中)并作为文件夹名称)。
解决方案 - 记住UTF-8:
检入控制台中您拥有的语言环境以及它们的真实姓名:locale -a
。 (如果没有您感兴趣的语言环境,可以输入:sudo apt-get install locales-all
)
在代码中使用正确的区域设置名称,例如:
setlocale(LC_ALL, 'pl_PL.utf8');
*.mo
和*.po
文件更正示例文件夹的路径为:/var/www/project/locale/pl_PL.utf8/LC_MESSAGES