13

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

4

1 回答 1

16

验证消息不是来自messages域,而是来自域validators

所以创建validators.ar.xlf文件并将您的验证消息放在那里并且应该可以工作(请参阅官方 Symfony2 文档以供参考)。

还有一件事。取决于你使用什么 Symfony 版本:maxLength断言 id 从 Symfony 2.1 中被弃用,并在 2.3 中被删除。所以,如果你使用 Symfony >2.0,那么你应该使用Length断言来代替。

于 2013-09-08T09:31:08.363 回答