我有一个带有一些验证和断言消息的实体。 我需要将这些消息翻译成阿拉伯语 我有一个messages.ar.xlf文件 来自实体的验证消息未被翻译!
<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文件中翻译了一些单词,以检查本地和messages.ar.xlf文件是否正常工作,除了来自实体的验证消息外,它们都正常工作。
答案 0 :(得分:16)
验证邮件不是来自messages
域,而是来自validators
。
所以创建validators.ar.xlf
文件并将验证消息放在那里并且应该正常工作(参见official Symfony2 documentation for reference)。
还有一件事。根据您使用的Symfony版本:maxLength
断言ID从Symfony 2.1弃用,并在2.3中删除。因此,如果您使用Symfony&gt; 2.0,那么您应该使用Length
断言。