2016-08-03 5 views
1

У меня проблема в моей форме. Im переводя все мои поля с message.yml, и он работает. Но у меня есть кнопка загрузки из VichUploaderBundle. Я могу перевести ярлык, но когда я тестирую его, ярлык на английском языке, но кнопка находится на немецком языке.can not translate name 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, чтобы сделать это.