无法在我的表单中翻译名称UploadButton

时间:2016-08-03 15:34:56

标签: php symfony vichuploaderbundle

我的表格出了问题。我用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',
            ))
    ;
}

我不知道如何翻译按钮。

2 个答案:

答案 0 :(得分:0)

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

此输入没有一些标签属性。

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

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

You can try to change it with CSS/JS

答案 1 :(得分:0)

这些文本由浏览器定义,而不是由PHP或Symfony定义。您还会注意到,此窗口小部件在不同浏览器和不同操作系统上的显示方式不同。也没有可能改变小部件的设计。大多数CSS属性都不会产生影响。

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

我从来没有这样做过,但是快速的谷歌搜索提出了http://www.queness.com/post/11434/7-javascript-ajax-file-upload-plugins,其中包含很少的JavaScript插件来执行此操作。