2014-03-26 44 views
0

我有标题,描述和图像的实体。标题和说明是可翻译的,并希望以三种语言提供:en,de和sl。默认语言环境是sl。sonataAdmin的翻译

现在我配置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。

回答

1

第二个成为A2lixTranslationForm的2.x版本的标准。

我建议使用另一种策略来尝试此版本2.x:A2lix,Knp或Prezent。 与Gedmo相反,这些策略都是相互兼容的,因此它们将数据存储在数据库中的方式相互兼容,所以您将来可以轻松地从一个切换到另一个。

你也可以看看https://github.com/sonata-project/SonataTranslationBundle,目前正在开发中。