0

这是我的 messages.po 文件

#

msgid "_greet1"
msgstr "Hello"

msgid "_greet2"
msgstr "Bye"

我使用 PO Edit 将此 po 文件编译为 mo 文件,当我在翻译代码中使用 mo 文件时,我看到的是字符串的 msgid 而不是 msgstr。我正在为 gettext 使用在 PHP 文档中编写的完全相同的代码。

有什么建议么...

4

1 回答 1

0

我有同样的问题,我的文件夹路径也是正确的。问题的原因是我使用“pl_PL”作为语言环境而不是“pl_PL.utf8”(在源代码和文件夹名称中)。

解决方案 - 记住 UTF-8:

  1. 在控制台中检查您拥有哪些语言环境以及他们的真实姓名:locale -a. (如果没有您感兴趣的语言环境,您可以输入sudo apt-get install locales-all:)

  2. 在代码中使用正确的语言环境名称,例如: setlocale(LC_ALL, 'pl_PL.utf8');

  3. 更改您的文件夹名称。*.mo带有和文件的示例文件夹的正确路径*.po是:/var/www/project/locale/pl_PL.utf8/LC_MESSAGES
于 2017-01-31T11:11:34.760 回答