2013-08-17 68 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();