1

我在 app/resources/translations/menus.en.xliff、messages.en.xliff、user.en.xliff 上有一个翻译目录...

我的表单结构:

public function buildform(FormBuilderInterface $builder, array $options)
{
 $builder
   ->add('name', 'text', array('label' => 'user.register', 'translation_domain' => 'user' ))
}

public function configureOptions(OptionsResolverInterface $resolver)
{
   $resolver->setDefaults(array(
   'data_class'         => 'AppBundle\Entity\User'
    ));
}


  

这种方法是有效的,但不是最好的。

我不想在所有表单字段上重复 'translation_domain' => 'forms'。

我正在尝试通过 configureOptions 方法传递翻译域但失败了。

public function buildform(FormBuilderInterface $builder, array $options)
{
  $builder
    ->add('name', 'text', array('label' => 'user.register'))

public function configureOptions(OptionsResolverInterface $resolver)
{
  $resolver->setDefaults(array(
  'data_class'         => 'AppBundle\Entity\User',
  'translation_domain' => 'user'
   ));
}

但是,当我在messages.en.xliff 上写下所有的翻译时,一切正常。我该如何解决?

4

1 回答 1

0

它应该在 setDefaultOptions 而不是 configureOptions: http ://api.symfony.com/2.6/Symfony/Component/Form/AbstractType.html

于 2015-04-04T10:30:48.540 回答