簡體   English   中英

如何為symfony 2表單類型設置多個翻譯域

[英]How to set multiple translation domain for symfony 2 form type

我有一個fullowing形式結構:

abstract class BaseContentType extends AbstractType {
    public function buildForm(FormBuilderInterface $builder, array $options) {
        //common fields
    }
    public function getDefaultOptions() {
        return array(
            'translation_domain' => 'MyBaseBundle',
            'isNew' => false,
        );
    }
 }

class SpecializedContentType extends BaseContentType {
    public function buildForm(FormBuilderInterface $builder, array $options) {
        parent::buildForm($builder, $options);
        //more fields....
    }

    public function getName() {
        return 'specialized_content';
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver) {
        $options = $this->getDefaultOptions() + array(
            'data_class' => 'whatever\Entity\Specialized',
        );
        $resolver->setDefaults($options);
    }
}

我需要為BaseContentType和每個子類使用不同的轉換域。

如何為類及其父級添加單獨的翻譯域?

注入翻譯

__construct($translator) {
  $this->translator = $translator
}

現在,對於每個字段,您可以使用它來根據需要進行翻譯

 $formbuilder
    -> add('field1','text',array(
               'label'=> $this->translator->trans('mylabel1',array(),'domain_A')))
    -> add('field2','text',array(
               'label'=> $this->translator->trans('mylabel2',array(),'domain_B')))
    -> add('field3','text',array(
               'label'=> $this->translator->trans('mylabel3',array(),'domain_C')));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM