无法在我的表单中翻译名称上传按钮

cant translate name UploadButton in my Form

我的表格有问题。我用 message.yml 翻译了我所有的字段并且它有效。但我也有一个来自 VichUploaderBundle 的上传按钮。我可以翻译标签,但是当我测试它时,标签是英文的,但按钮是德文的。

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',
            ))
    ;
}

我不知道如何翻译按钮。

您只是在创建一个 html 文件输入。

这个输入没有一些标签属性。

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

-> 按钮标签由您的浏览器设置(似乎是德语)。

You can try to change it with CSS/JS

这些文本由浏览器定义,而不是由 PHP 或 Symfony 定义。您还会注意到,此小部件在不同浏览器和不同操作系统中的显示方式会有所不同。也无法更改小部件的设计。大多数 CSS 属性不会对 .

产生影响

您唯一可以做的就是实现自定义 JavaScript 上传器,但这可能只适用于现代浏览器。

我不是从来没有这样做过,但是快速 Google 搜索发现 http://www.queness.com/post/11434/7-javascript-ajax-file-upload-plugins 很少有 JavaScript 插件可以做到这一点。