2016-11-14 69 views
0

可以很容易地轉換安全性錯誤:Symfony - 如何翻譯表單驗證錯誤(從表單實體中的斷言)?

{{ error.messageKey|trans(error.messageData, 'security', 'fr') }} 

但是,如何在類似的方式轉換(如果有可能在樹枝模板),我可以以這種方式打印表單驗證錯誤:

{{ form_errors(form.oneOfFormField) }} 

我可以通過使用目錄中已有的翻譯文件:SymfonyProjectName \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Validator \ Resources \ translations \ validators.fr,找到翻譯表單驗證錯誤的方式(來自表單實體中的斷言)。 XLF。 例如,當在形式實體我有:

/** 
* @Assert\LessThan(100) 
*/ 
public $oneOfFormField; 

在形式,我可以得到以下錯誤消息:「該值應小於100」。如何使用該文件翻譯它。我使用的是Symfony 3.1,但Symfony2解決方案通常也可以。

回答

0

您是否試過這種解決方案?

Symfony2 Translate Assertion message from entity annotation

您必須重寫validators.en.xlf文件我猜。

+0

我不能覆蓋它。我也需要validators.en.xlf。這個http://stackoverflow.com/questions/18681935/symfony2-translate-assertion-message-from-entity-annotation解決方案是自定義消息,我需要翻譯來自validators.fr.xlf – Konrad

+0

的驗證消息中的內部版本當我更改參數在config.yml中將語言環境設置爲'fr'(所以將default_locale更改爲'fr')它可以工作,但是我無法使用validators.en.xlf – Konrad