2011-10-05 125 views
10

我正在做一個使用gettext的php項目的i18n。我希望使用automatic comment feature在翻譯由id替換的長短語時給翻譯人員提示。我想獲得的是下面的PO文件Gettext自動評論生成

#: full-path-to-file/index.phtml:3 
#. a very long text which should replaced by _('foobar') 
msgid "foobar" 
msgstr "" 

這樣翻譯可以看到,當他使用poEdit的或程序員評論框一些模擬工具,關鍵看foobar他應該翻譯。

我試過這個代碼,但它不工作

<?php 
/// TRANSLATORS: a very long text which should replaced by _('foobar') 
_('foobar'); 
?> 

我缺少的東西或自動意見只是不爲PHP工作?

即使維基百科mentions這個功能,我試圖複製在C文件中的例子,但我不能讓它與C.即使工作我使用的命令行是

xgettext -C -o - main.c 

但生成的輸出是

#: main.c:16 
#, c-format 
msgid "My name is %s.\n" 
msgstr "" 

所以我肯定失去了一些東西,我應該使用任何xgettext標誌或特定版本啓用此功能。

+0

如果您嘗試使用--language = Python從JavaScript中提取,請在註釋開始處附加一個散列號#這意味着您將開始註釋,如//#,這樣xgettext將正確提取翻譯註釋。 –

回答

8

要使xgettext從源代碼中提取評論,您需要傳遞一個參數來告訴它要查找哪些評論。

documentation

-c[tag]
--add-comments[=tag]

地點註釋塊開始 標籤和前述在輸出文件中的關鍵字線。如果沒有標籤, 選項意味着將關鍵字行之前的所有註釋塊放在 輸出文件中。

傳遞-c/--add-comments=/作爲參數將使其認識到「三斜槓」格式。

+0

是的,我自己找到了。我應該得到一個大的RTFM ... – Fabio

+0

@John平坦度 - 任何想法爲什麼這不適用於Python模式下的.js文件?更多細節在這裏:http://stackoverflow.com/questions/12052844/extract-translator-comments-with-xgettext-from-javascript-in-python-mode – ragulka