如何翻译 formtype 中的 symfony 保管箱选项

How to translate symfony dropbox choices in the formtype

在 Symfony 生成的表单中,我想翻译子选项,如何实现?

        ->add('business', 'choice', array(
            'choices' => array('Zakelijk' => true, 'Prive' => false),
            'expanded' => true,
            'multiple' => false,
            'choices_as_values' => true,
        ))

我试图在上面的代码中直接包含标准的 symfony 翻译代码,但是我得到了一个 php 错误。

$this->get('translator')->trans('business');

您需要使用翻译。在您的包中,您需要使用格式 i18N 和一个扩展名(yml 或 php 或 xliff)在 Resources/Translations 中创建。在您的表单中使用例如 "app.form.zalelijk" 和 yaml 格式。

        'choices' => array('app.form.zakelijk' => true, 'app.form.prive' => false)

Twig 将翻译您请求区域设置中的字符串以呈现表单。

words.en.yml

Zakelijk: Zakelijk
Prive: Prive

在您的表单中:

'translation_domain' => 'fooo'

'choices' => array('Zakelijk' => true, 'Prive' => false),