1

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

我不知道如何翻译按钮。

4

2 回答 2

0

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

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

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

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

您可以尝试使用 CSS/JS 更改它

于 2016-08-03T15:41:41.727 回答
0

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

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

我从来没有这样做过,但是一个快速的谷歌搜索带来了http://www.queness.com/post/11434/7-javascript-ajax-file-upload-plugins,其中包含几个 JavaScript 插件来做到这一点。

于 2016-08-03T16:13:30.423 回答