如何在Sonata Admin Bundle中翻译标签

时间:2013-07-16 19:22:12

标签: php symfony sonata-admin symfony-sonata

我正在使用Symfony 2.3和Sonata Admin Bundle。 我知道我可以用这种方式翻译标签:

->add('shortDescription', null, array('label'=>'shortDescriptionTranslated'))

但这只适用于“configureFormFields”方法,而不适用于dataGrid和listFields。

您能否为我提供一个以全球方式翻译标签的完整示例? 我看过这里(Labels in Sonata Admin Bundle),但我不知道在xliff文件中写什么。

谢谢!

2 个答案:

答案 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元素,而不是实体标签。