Symfony2转换来自实体注释的断言消息

时间:2013-09-08 08:37:59

标签: symfony

我有一个带有一些验证和断言消息的实体。 我需要将这些消息翻译成阿拉伯语 我有一个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文件是否正常工作,除了来自实体的验证消息外,它们都正常工作。

1 个答案:

答案 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断言。