在所有视图中,有没有办法为所有表单元素设置翻译文本域?
例如,为了翻译我的表单标签,我需要设置第一个文本域:$this->formLabel()->setTranslatorTextDomain('mytextdomain');
我需要在每个视图中添加此代码来翻译表单标签。
所以我尝试为所有视图设置文本域:
public function getViewHelperConfig()
{
return array(
// Change the View Helper Text Domain for ALL modules
'initializers' => array(
'injectTranslatorTextDomain' => function($helper) {
if ($helper instanceof TranslatorAwareInterface) {
$helper->setTranslatorTextDomain('mytextdomain');
}
},
),
);
}
它可以工作,但它会重写AbstractValidator消息(在我注入翻译文本域后,默认验证消息不会被翻译)。
答案 0 :(得分:1)
这个问题的解决方案是为验证器和视图助手添加相同的“textdomain”。此外,“default”可用于两者。