2016-08-03 50 views
1

我在表單中遇到問題。我用message.yml翻譯所有的字段,它的工作原理。但是我也有一個來自VichUploaderBundle的上傳按鈕。我可以翻譯標籤,但是當我測試它時,標籤是英文的,但按鈕是德文的。我的表單中無法翻譯名稱UploadButton

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('id', TextType::class, array('disabled' => true)) 
     ->add('title',TextType::class, array('label' => 'edit.title')) 
     ->add('body', TextareaType::class, array('label' => 'edit.body')) 
     ->add('date', DateType::class, array('disabled' => true, 'label' => 'edit.date')) 
     ->add('tags', EntityType::class, array(
      'class' => 'AppBundle:Tag', 
      'choice_label' => 'getTitle', 
      'multiple'=> true, 
      'expanded'=> true)) 
     ->add(
      'technology', 
      EntityType::class, 
      array(
       'class' => 'AppBundle\Entity\Technology', 
       'choice_label' => 'getTitle', 
       'group_by' => 'parent.getTitle', 
       'query_builder' => function (EntityRepository $er) { 
        return $er->createQueryBuilder('t') 
         ->where('t.parent IS NOT NULL') 
         ->andWhere('SIZE(t.children) <= 0'); 
       } 
      )) 
     ->add('imageFile', VichImageType::class, array(
      'required'  => false, 
      'allow_delete' => true, 
      'download_link' => true, 
      'label'  => 'edit.image_file', 
      )) 
    ; 
} 

我不知道如何翻譯按鈕。

回答

0

您只創建一個html文件輸入。

此輸入沒有一些標籤屬性。

<input type="file" name="imageFile"/> 

- >按鈕標籤是由您的瀏覽器(這似乎是在德國)設置。

You can try to change it with CSS/JS

0

這些文本是由瀏覽器,而不是由PHP或Symfony的定義。您還會注意到,這個小部件將在不同的瀏覽器和不同的操作系統中以不同的方式顯示。也不可能改變小部件的設計。大多數CSS屬性不會對其產生影響。

你可以做的唯一事情就是實現一個自定義的JavaScript上傳器,但這可能只適用於現代瀏覽器。

我從來沒有這樣做過,但Google搜索快速啓動http://www.queness.com/post/11434/7-javascript-ajax-file-upload-plugins,它具有幾個JavaScript插件來執行此操作。