Wordpress翻译PO文件

时间:2017-02-14 08:11:08

标签: wordpress internationalization translation poedit

我现在接受了Wordpress的问题。

有一个包含一些翻译的.mo文件和一个似乎是来源的.po文件。 .po文件似乎是以某种方式生成的,但它的结构对我来说有点奇怪。

这里面可以找到。

#: /Users/yui/Sites/fondation/wp-content/themes/fondation/taxonomy-programme.php:24
msgid "Exhibitions"
msgstr "Expositions"

#: /Users/yui/Sites/fondation/wp-content/themes/fondation/archive.php:69
#: /Users/yui/Sites/fondation/wp-content/themes/fondation/single.php:43
msgid "[:en]Events[:fr]Evénements[:de]Events[:pl]Events"
msgstr ""

当我尝试生成.mo文件msgcat fondation-fr_FR.po | msgfmt -o fondation-fr_FR.mo -时,.mo文件只包含第一个文件(包含msgid和msgstr),但不包含另一个文件。该网站也存在问题,仅显示.mo文件中的翻译。

有关如何修复.po文件的任何想法?它是旧格式吗?

2 个答案:

答案 0 :(得分:0)

  

但它的结构对我来说有点奇怪。

事实上。看起来像是由那些不知道gettext是如何工作的人或者手册是一件事而且创造性地滥用gettext文件的人(例如:查看所有地方的msgid中的多个翻译)。

第二个字符串未包含在已编译的翻译表(即MO)中,因为它没有翻译 - msgstr为空。

BTW,关于gettext如何工作的一切,包括如何检索字符串以及为什么在MO中包含未翻译的条目没有意义(提示:字符串已经在代码中了!),在{{3 }}

BTW2,msgcat的调用也是一个完全没有意义的忙碌工作 - 请查看其工作内容(与cat加上一些智能相同)。

答案 1 :(得分:0)

作记录。

.po文件是由用于Wordpress的旧版qtranslate插件生成的,该插件不知道如何在其第一版中正确处理gettext函数。

无法使.po文件正常工作。我必须手动创建一个新的。