我尝试使用简单的验证器翻译。我的文件:
验证.yml:
Some\UserBundle\Entity\Address:
properties:
name:
- MaxLength: {limit: 2, message: "some_user.max_length" }
和验证器.pl.yml:
some_user:
max_length: Wartość jest zbyt długa
在 ajax 加载的树枝文件中,我有这个:
{{ form_error(form) }}
当我尝试我的验证器时,应用程序会抛出这个:
An exception has been thrown during the rendering of a template ("Unable to choose a translation for "Wartość jest zbyt długa" with locale "pl".")
好像是双重翻译?有任何想法吗?
我在行动中找到了解决方法:
$errorList = $this->get('validator')->validate($address);
$errors = "";
if (count($errorList) > 0) {
foreach ($errorList as $err) {
$errors.= $this->get('translator')
->trans($err->getMessage(), array(), 'validators') . "\n";
}
}
但我认为它的方式很糟糕。
好像在树枝上翻译了两次……但是为什么呢?