2013-09-08 59 views
12

Tôi có một thực thể với một số thông báo xác nhận và xác nhận. Tôi cần dịch các thư đó sang tiếng Ả Rập tôi có một tập tin messages.ar.xlf Thông báo xác thực từ thực thể không được dịch!Symfony2 Dịch thông báo xác nhận từ chú thích thực thể

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

và đây là Entity tôi

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

và đây là config.yml tôi

framework: 
    translator:  { fallback: ar } 

Lưu ý: - Tôi dịch một số từ trong tập tin cành lá của tôi để kiểm tra xem địa phương và tin nhắn. Tệp ar.xlf đang hoạt động hay không và tất cả đều hoạt động ngoại trừ các thông báo xác thực đến từ Thực thể.

Trả lời

14

Thông báo xác thực không nhận được từ miền messages, nhưng từ validators một.

Vì vậy, hãy tạo tệp validators.ar.xlf và đặt thông báo xác thực của bạn ở đó và sẽ hoạt động (xem official Symfony2 documentation for reference).

Một điều nữa. Tùy thuộc vào phiên bản Symfony nào bạn sử dụng: maxLength id xác nhận không được dùng nữa từ Symfony 2.1 và được xóa trong 2.3. Vì vậy, nếu bạn sử dụng Symfony> 2.0, thì bạn nên sử dụng xác nhận Length thay thế.

+1

Yeaaaaaaaaaaaah, cảm ơn bạn :) tôi nên sử dụng validators.ar.xlf không phải messages.ar.xlf –