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

configureOptions ではなく setDefaultOptions にある必要があります: http://api.symfony.com/2.6/Symfony/Component/Form/AbstractType.html

于 2015-04-04T10:30:48.540 に答える