Symfony - 如何转换表单验证错误(来自表单实体中的断言)?

时间:2016-11-14 15:32:56

标签: twig translation symfony assert

很容易翻译安全错误:

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

但是如何以类似的方式翻译(如果它可能在twig模板中)形成验证错误,我可以用这种方式打印:

{{ form_errors(form.oneOfFormField) }}

我无法通过使用目录中已有的翻译文件找到有关如何翻译表单验证错误(来自表单实体中的断言)的信息:SymfonyProjectName \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Validator \ Resources \翻译\ validators.fr.xlf。 例如,在表单实体中我有:

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

在表单中,我可以收到以下错误消息:"此值应小于100。"。如何使用所述文件翻译它。我使用的是Symfony 3.1,但Symfony2解决方案通常也可以使用。

2 个答案:

答案 0 :(得分:0)

你试过这个解决方案吗?

Symfony2 Translate Assertion message from entity annotation

我猜你必须覆盖validators.en.xlf文件。

答案 1 :(得分:0)

我在这里找到了一个解决方案:

$this->get('translator')->setLocale('pl');

阅读更多:https://symfony.com/doc/current/components/translation/usage.html