msgfmt returns 错误的行有错误

msgfmt returns the wrong line with an error

今天我遇到了问题。 我故意创建了一个 .po 文件,其中有一个错误。 我希望回溯错误出现在 39 字符串上。 相反,验证器显示

test.po:1: missing 'msgstr' section - 表示验证器在第一行发现错误

附加文件

msgid ""
msgstr ""
"Language: en_EN\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.3\n"

msgid "About"
msgstr "About"

msgid "Team"
msgstr "Team"

msgid "ICO"
msgstr "ICO"

msgid "Partners"
msgstr "Partners"

msgid "Blog"
msgstr "Blog"

msgid "contacts"
msgstr "contacts"

msgid "Subscribe"
msgid "Subscribe" // << Here must be an error

求求你帮忙

问题出在车厢 return ^M 上。我把那辆马车 return 改成了 \n,效果很好

我知道这现在已经很老了,但是如果有人像我一样被重定向到这个问题,那就是问题所在:

进一步调查最后一行,然后您会看到 msgid 而不是 msgstr

所以从:

msgid "Subscribe"
msgid "Subscribe" // << Here must be an error

给这个:

msgid "Subscribe"
msgstr "Subscribe" // << Here was the error

有一件事要提一下: 另一个可能发生的问题是,当您从文档(例如 Pages、Word 等)复制消息字符串时," 转换错误。所以记住这一点。