我现在接受了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
文件的任何想法?它是旧格式吗?
答案 0 :(得分:0)
但它的结构对我来说有点奇怪。
事实上。看起来像是由那些不知道gettext是如何工作的人或者手册是一件事而且创造性地滥用gettext文件的人(例如:查看所有地方的msgid
中的多个翻译)。
第二个字符串未包含在已编译的翻译表(即MO)中,因为它没有翻译 - msgstr
为空。
BTW2,msgcat
的调用也是一个完全没有意义的忙碌工作 - 请查看其工作内容(与cat
加上一些智能相同)。
答案 1 :(得分:0)
作记录。
.po
文件是由用于Wordpress的旧版qtranslate插件生成的,该插件不知道如何在其第一版中正确处理gettext
函数。
无法使.po
文件正常工作。我必须手动创建一个新的。