2013-08-17 104 views
0

我在我的網絡服務器上有SF2.3。我正在使用validatorBuilder來驗證我的數據。Symfony2驗證消息翻譯。後備選項不起作用

這裏是我的配置:

framework: 
    translator:  { fallback: ru } 
    default_locale:  ru 

這裏是我的事件偵聽器:

// EventListener.php 
... 
$validator = Validation::createValidatorBuilder() 
     ->enableAnnotationMapping() 
     ->getValidator(); 

但是當我遇到錯誤信息,他們都是英文的,不是在「儒」區域。我究竟做錯了什麼?

+1

你有messages.ru.xliff在你的包嗎? –

+0

@AlbertoGaona不,我不知道。但是我看到Validator有許多語言的翻譯文件。 –

回答

0

這裏是解決方案:

$trans = new Translator('ru'); 
$trans->addLoader('xliff', new XliffFileLoader()); 
$trans->addResource('xliff', __DIR__.'/../Resources/translations/validators.ru.xlf', 'ru', 'validators'); 

$this->validator = Validation::createValidatorBuilder() 
     ->enableAnnotationMapping() 
     ->setTranslator($trans) 
     ->setTranslationDomain('validators') 
     ->getValidator();