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.
Ответы
Ответ 1
Сообщения о проверке получаются не из домена messages
, а из validators
one.
Итак, создайте файл validators.ar.xlf
и разместите там свои сообщения о проверке и должны работать (см. официальную документацию Symfony2 для справки).
Еще одна вещь. В зависимости от того, какую версию Symfony вы используете: maxLength
идентификатор утверждения, устаревший из Symfony 2.1 и удаленный в 2.3. Итак, если вы используете Symfony > 2.0, вместо этого вы должны использовать утверждение Length
.