2013-09-08 8 views
12

Ich habe eine Entität mit einigen Validierung und Assertion Nachrichten. Ich muss diese Nachrichten ins Arabische übersetzen Ich habe eine messages.ar.xlf Datei Die Validierungsnachricht von der Entität ist nicht übersetzt!Symfony2 Translate Assertion Nachricht von Entität Annotation

<trans-unit id="1"> 
     <source>Enter.Car.Details</source> 
     <target>بيانات السيارة</target> 
    </trans-unit> 

und hier ist mein Entity

/** 
* @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; 

und hier ist mein config.yml

framework: 
    translator:  { fallback: ar } 

Hinweis: - ich einige Worte in meinem Zweig Datei, wenn die lokale und Nachrichten lesen übersetzt. Die Datei ar.xlf funktioniert oder nicht und es funktioniert alles außer den Validierungsnachrichten, die von der Entität kommen.

Antwort

14

Die Validierungsnachrichten werden nicht von messages Domäne, sondern von validators Eins erhalten.

So erstellen Sie validators.ar.xlf Datei und legen Sie Ihre Validierung Nachrichten dort und sollte funktionieren (siehe official Symfony2 documentation for reference).

Eine weitere Sache. Abhängig davon, welche Symfony-Version Sie verwenden: maxLength Die Assertion-ID wurde von Symfony 2.1 nicht weiter unterstützt und wird in 2.3 entfernt. Wenn Sie Symfony> 2.0 verwenden, sollten Sie stattdessen die Assertion Length verwenden.

+1

Yeaaaaaaaaaaaah, danke :) Ich sollte validators.ar.xlf nicht messages.ar.xlf verwenden –

Verwandte Themen