wordpress.po文件中的#:(文件,行号)行是必需的吗


Is the #: (file, line number) line in a wordpress .po file necessary

Wordpress翻译调用一个[theme name].po文件,其中是翻译的键值映射,例如:

#: ../single-con_book_reviews.php:197
msgid "Author: "
msgstr ""

然而,把"作者:"这个词每次出现的文件和行号放在一起是既困难又愚蠢的。是否需要?或者我可以使用saner吗:

msgid "Author: "
msgstr ""

或者,我只是错过了什么?

看,把文件&行号是指它会阻止您编写任何新代码或删除任何旧代码。如果在一个1200行的php文件的开头添加一行,就会突然破坏所有的翻译映射。当然,这些只是评论。。。正确的

这是一个注释,不是必需的。它出现在那里主要是因为历史原因,在那里更难找到,在哪里出现了特定的字符串。另外,这通常(当时和现在)由解析器自动添加,解析器直接从源代码创建翻译模板,而不是手动添加。

所有以#开头的行都是.po文件中的可选项。尽管如此,这并不意味着它们是不必要的或无用的。

例如,带有#:的行确实指定了字符串在源代码中的位置,这在您试图解决国际化问题时非常有用。

此外,我不建议您为.po文件编写自己的解析器,因为即使这种格式可能读起来很简单,解析起来也不那么简单——它有很多不明显的功能。您最终会在改进部分解析器上浪费时间。相反,选择现有的。