我的实体中有一个回叫方法
@Assert\Callback(methods={"isStudentsOK"})
....
public function isStudentsOK(ExecutionContext $context)
{
if ( $this->students->isEmpty())
$context->addViolationAtSubPath('students', 'Missing students informations', array(), null);
}
我想在我的模板中翻译乐消息。{{ form_errors(form.student)|trans }}
不工作...我有这个
<span class="help-inline">Missing students informations</span>
是虫子吗?我该怎么办?
编辑
我自己找到了答案:
我安装了一个BootstrapBundle,{% block form_errors %}
显示在一个span中
我已经覆盖了form_div_layout.html.twig
模板。
2条答案
按热度按时间ikfrs5lh1#
您的代码正在使用|transfilter,所以我假设你使用的是Twig i18n扩展,它又使用了PHP的gettext函数。
如果您的PHP代码生成了消息,您也可以在那里进行翻译:
请注意错误消息中的下划线函数,这是PHP中"Trans"过滤器的等价物。
6l7fqoea2#
作为
Symfony >= 6.2
(Blog post),您可以直接使用TranslatableMessage类。你的Assert应该看起来像这样:
使用Symfony命令
bin/console translation:extract --force en
,在
translations/validators.en.xlf
中: