如何在 Symfony 中翻译违规信息

How to translate violation messages in Symfony

您好,我在 Symfony 和下面的表单中使用表单生成器构建了一个表单

 $builder->add(
            'Firstname',
            TextType::class,
            [
                'translation_domain' => 'transbundle',
                'label' => 'Tam_bum.Firstname',
                'required' => true,
                'constraints' => [
                    new Constraints\NotBlank(),
                ],
            ]
        );

我的 en.yml 我指定的文件

  Tam_bum:
      Firstname: First Name
      Errormessage: Does not exist

当在翻译选项上打开语言时,这适用于我的表单。

现在我也尝试将这个概念应用到我正在调用的违规行为中

->buildViolation('Tam_bum.Errormessage')

但是我得到的是这个"Tam_bum.Errormessage"

的一个输出值

我的期望是我会得到“Tam_bum.Errormessage”的翻译值,请帮助指导以正确的方式做到这一点谢谢

表单验证中的约束消息使用验证器域。

如果您使用的是 symfony 5,则应在翻译文件夹

中添加文件 validators.en.php(或 yaml,或 xml,具体取决于您的翻译格式)