Php 在Silex中翻译验证消息
代码:Php 在Silex中翻译验证消息,php,symfony,silex,Php,Symfony,Silex,代码: 我仍然收到英文的验证信息。有什么想法吗?您需要添加对Translator::addResource的调用: $app->register(new Silex\Provider\TranslationServiceProvider(), array( 'locale' => 'sr_Latn', 'translation.class_path' => __DIR__ . '/../vendor/symfony/src', 'tra
我仍然收到英文的验证信息。有什么想法吗?您需要添加对
Translator::addResource
的调用:
$app->register(new Silex\Provider\TranslationServiceProvider(), array(
'locale' => 'sr_Latn',
'translation.class_path' => __DIR__ . '/../vendor/symfony/src',
'translator.messages' => array('sr_Latn' => __DIR__ .'/../vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr_Latn.xlf')
));
$app['translator.loader'] = new Symfony\Component\Translation\Loader\XliffFileLoader();
另请参见
Symfony\Bundle\FrameworkBundle\DependencyInjection::registerTranslatorConfiguration
谢谢,只有在我放入$app['translator']->addLoader('xlf',new Symfony\Component\Translation\Loader\XliffFileLoader())时,它才能工作
insted$app['translator.loader']=new Symfony\Component\Translation\loader\XliffFileLoader()代码>。使用$app['translator.loader']
它会抛出运行时异常
,并显示消息“xlf”翻译加载程序未注册。
。它是Symfony\Bundle\FrameworkBundle\DependencyInjection\FrameworkExtension::registerTranslatorConfiguration
而不是Symfony\Bundle\FrameworkBundle\DependencyInjection::registerTranslatorConfiguration
。非常感谢,这真的很有帮助。也许应该更新doc。对菜谱的请求将非常棒。很酷,请确认这是正确的方法
$file = __DIR__ .'/../vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr_Latn.xlf';
$app['translator']->addResource('xliff', $file, 'sr_Latn', 'validators');