2015-03-31 67 views
0

它是翻譯docscommment註釋的方法嗎?ZF2:如何翻譯表單註釋?

這裏是我的實際代碼的例子:

/** 
    * 
    * The Item Name 
    * @var string 
    * @Annotation\Options({"label":"Name"}) 
    * @Annotation\Attributes({"type":"text"}) 
    * @ORM\Column(type="string", length=128, nullable=false, unique=true) 
    */ 
    private $name; 

要在我的模板文件轉換生成的表單標籤(我用樹枝):

<label for="{{field.getName()}}"> 
    {{translate(field.getLabel())}}: 
</label> 

它運作良好,除了一個解析器像POEdit一樣,不能用這種方式使用「名字」這個詞。現在我用的私有方法爲我的模型,以通知方面存在的解析器...但它的骯髒..

/** 
* Unused in the software, used by external parser. 
*/ 
private final function parseTranslations() 
{ 
    $this->translate('Name'); 
    return null; 
} 

是否有更好的解決方案,以解決這一問題,並在docscomments翻譯方面?

回答

0

無法強制poedit識別要從註釋轉換的文本。 Poedit使用xgettext來解析文件,而這個只是簡單地忽略註釋行。

考慮編寫自己的解析器可以解決此問題。創建.po文件並不像它假裝的那麼困難。接下來,您必須使用msgfmt工具將其編譯爲.mo二進制格式。

+0

好吧,我在php cli中做了一個自定義的解析器。沒有任何其他解決方案,它運作良好:)感謝您的答案。 – user2846642 2015-04-09 08:57:37

+0

考慮在github上發佈你的工具:) – 2015-04-09 19:10:07