2017-02-14 90 views
0

我有一个问题,我现在接管的Wordpress。WordPress的翻译PO文件

有一个.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文件的任何想法?这是一种旧格式吗?

回答

0

但它的结构看起来有点奇怪。

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

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

顺便说一句,关于gettext的工作方式,包括如何检索字符串以及为什么在MO中包含未转换的条目是没有意义的(提示:字符串已经在代码中!),在GNU gettext manual中有很好的解释。

BTW2,调用msgcat也是一个完全没有意义的繁忙工作 - 请参阅它的手册页(与cat相同,加上一些智慧)。

+0

你对这种可能产生这个文件的工具有什么想法吗?它看起来像一个WordPress的工具给我。 – Tim

+0

似乎qTranslate插件以这种方式管理其翻译。我正在更深入地了解我如何管理它们。 – Tim