roo*_*m13 5 symfony symfony-components
我目前正在将Symfony Validator组件集成到自定义PHP应用程序中.到目前为止,一切都工作得很好,我可以验证我的用户输入.
现在我想将验证消息转换为另一个语言环境并集成了翻译组件(无论如何由于DefaultTranslator中的TranslatorInterface的延迟而需要它).
默认转换程序仅支持硬编码到ValidationConstraints中的语言环境.据我所知,我需要指定一个自定义转换器实例,它从Validator组件中的xliff文件加载字符串.
这是我有多远,但德国翻译可悲的是没有加载:
$translator = new Translator('de_DE');
$translator->setFallbackLocale('en_GB');
$translator->addLoader('xliff', new XliffFileLoader());
$builder = new ValidatorBuilder();
$validator = $builder
->setTranslator($translator)
->getValidator();
$violations = $validator->validateValue($input, self::getValidationConstraints());
Run Code Online (Sandbox Code Playgroud)
有什么建议我可能会错过这里吗?
找到了自己.当然需要加载翻译文件...由于依赖于FileLoader类,还需要添加Symfony配置组件.
$translator = new Translator('de');
$translator->addLoader('xliff', new XliffFileLoader());
$translator->addResource('xliff', '<path-to-compontnt>/Resources/translations/validators.de.xlf', 'de','validation');
$builder = new ValidatorBuilder();
$validator = $builder
->setTranslator($translator)
->setTranslationDomain('validation')
->getValidator();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
923 次 |
| 最近记录: |