Подтвердить что ты не робот

Symfony2 Translate Сообщение об утверждении от аннотации объекта

У меня есть сущность с некоторыми сообщениями проверки и утверждения. Мне нужно перевести эти сообщения в арабский У меня есть файл messages.ar.xlf Сообщение подтверждения от Entity не переводится!

    <trans-unit id="1">
        <source>Enter.Car.Details</source>
        <target>بيانات السيارة</target>
    </trans-unit> 

и здесь моя сущность

/**
 * @var string
 * @Assert\Length(max = "4", maxMessage = "Enter.Car.Details")
 * @Assert\NotBlank(message="Enter.Car.Details")
 * @ORM\Column(name="year_made", type="integer", length=4, nullable=true)
 */
private $yearMade;

и вот мой config.yml

framework:
    translator:      { fallback: ar }

Примечание. - Я перевел несколько слов в свой файл twig, чтобы проверить, работают ли файлы local и messages.ar.xlf или нет, и все это работает, за исключением сообщений проверки, исходящих от Entity.

4b9b3361

Ответ 1

Сообщения о проверке получаются не из домена messages, а из validators one.

Итак, создайте файл validators.ar.xlf и разместите там свои сообщения о проверке и должны работать (см. официальную документацию Symfony2 для справки).

Еще одна вещь. В зависимости от того, какую версию Symfony вы используете: maxLength идентификатор утверждения, устаревший из Symfony 2.1 и удаленный в 2.3. Итак, если вы используете Symfony > 2.0, вместо этого вы должны использовать утверждение Length.