2017-02-14 95 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