这是我的 messages.po 文件
#
msgid "_greet1"
msgstr "Hello"
msgid "_greet2"
msgstr "Bye"
我使用 PO Edit 将此 po 文件编译为 mo 文件,当我在翻译代码中使用 mo 文件时,我看到的是字符串的 msgid 而不是 msgstr。我正在为 gettext 使用在 PHP 文档中编写的完全相同的代码。
有什么建议么...
这是我的 messages.po 文件
#
msgid "_greet1"
msgstr "Hello"
msgid "_greet2"
msgstr "Bye"
我使用 PO Edit 将此 po 文件编译为 mo 文件,当我在翻译代码中使用 mo 文件时,我看到的是字符串的 msgid 而不是 msgstr。我正在为 gettext 使用在 PHP 文档中编写的完全相同的代码。
有什么建议么...
我有同样的问题,我的文件夹路径也是正确的。问题的原因是我使用“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