我目前正在将 Symfony 验证器组件集成到自定义 PHP 应用程序中。到目前为止,一切都很好,我可以验证我的用户输入。
现在我想将验证消息翻译到另一个语言环境并集成了翻译组件(由于 DefaultTranslator 中的 TranslatorInterface 的依赖,它无论如何都是必需的)。
默认 Translator 仅支持硬编码到 ValidationConstraints 中的语言环境。据我所知,我需要指定一个自定义 Translator 实例,该实例从 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());
有什么建议我可能会在这里遗漏吗?