我正在使用Symfony 2.3和Sonata Admin Bundle。 我知道我可以用这种方式翻译标签:
->add('shortDescription', null, array('label'=>'shortDescriptionTranslated'))
但这只适用于“configureFormFields”方法,而不适用于dataGrid和listFields。
您能否为我提供一个以全球方式翻译标签的完整示例? 我看过这里(Labels in Sonata Admin Bundle),但我不知道在xliff文件中写什么。
谢谢!
答案 0 :(得分:4)
您是否查看了Sonata Project网站上的翻译文档:http://www.sonata-project.org/bundles/admin/master/doc/reference/translation.html?
您可以为每个管理员设置一个全局编录,默认设置为“邮件”。取决于翻译策略,源密钥将是不同的,您可以通过使用xliff或yaml文件获得密钥,您可以将相关标签翻译为Symfony Framework中的任何其他翻译。
答案 1 :(得分:2)
它的工作方式相同:
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('id', null, array('label' => 'ID'))
->add('username', null, array('label' => 'Логин'))
;
}
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('id', null, array('label' => 'ID'))
->addIdentifier('username', null, array('label' => 'Логин'))
;
}
您可以在此处查看结果:http://joxi.ru/V57lUdg5CbCqHxR9UwY
覆盖xliff
文件可以翻译标准的UI元素,而不是实体标签。