我有标题,描述和图像的实体。标题和描述是可翻译的,并希望以三种语言提供:en,de和sl。默认语言环境是sl。
现在我配置a2lix,SonataAdmin和StofDoctrineExtension。
在奏鸣曲管理中使用可翻译的最佳做法(当然也是正确的)。
版本1:
$formMapper
->add("title") //default language
->add('description') //default language
->add('image', 'sonata_type_model_list', array(), array('link_parameters' => array('context' => 'default')))
->add('translations', 'a2lix_translations_gedmo', array( // Use the old gedmo strategy
'translatable_class' => 'My\CoreBundle\Entity\SliderTranslation',
));
标题和说明是默认语言分开的。其他语言环境(en,de)是可翻译的标签。
第2版:
$formMapper
->add('image', 'sonata_type_model_list', array(), array('link_parameters' => array('context' => 'default')))
->add('translations', 'a2lix_translations_gedmo', array( // Use the old gedmo strategy
'translatable_class' => 'My\CoreBundle\Entity\SliderTranslation',
));
标题和说明不分开,并包含在翻译标签中。翻译标签是sl,en和de。
答案 0 :(得分:1)
第二个成为A2lixTranslationForm的2.x版本的标准。
我建议使用另一种策略尝试此版本2.x:A2lix,Knp或Prezent。 与Gedmo相反,这些策略在将数据存储在数据库中的方式相互兼容,因此,您将来可以轻松地从一个切换到另一个。
您也可以查看https://github.com/sonata-project/SonataTranslationBundle,目前正处于开发阶段。