2013-09-08 12 views
12

私はいくつかの検証とアサーションメッセージを持つエンティティを持っています。 そのメッセージをアラビア語に翻訳する必要があります メッセージがあります.xarfファイル エンティティからの検証メッセージは翻訳されていません!Symfony2エンティティアノテーションからアサーションメッセージを翻訳する

<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 } 

注です: - 私は地元とのメッセージかどうかを確認するために私の小枝ファイル内のいくつかの単語を翻訳しました。 ar.xlfファイルが動作しているかどうかは、エンティティからの検証メッセージ以外はすべて動作しています。

答えて

14

確認メッセージはmessagesドメインからではなく、validatorsから取得されます。

ファイルvalidators.ar.xlfを作成し、そこに検証メッセージを入れてください(official Symfony2 documentation for referenceを参照)。

もう1つ。 symfonyのバージョンに応じて:maxLengthアサーションIDはSymfony 2.1から廃止され、2.3では削除されています。したがって、Symfony> 2.0を使用する場合は、代わりにLengthアサーションを使用する必要があります。

+1

Yeaaaaaaaaaaaa、ありがとう:)私はvalidators.ar.xlfを使ってはいけません。messages.ar.xlf –

関連する問題