以Symfony形式翻译空值

时间:2013-05-02 11:36:21

标签: php forms symfony translate

我有一个带有选择框的表单,该字段具有空值属性。我希望翻译它,但添加translation_domain不会改变任何内容。

<?php

namespace Devell\HowFolderBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class NoteType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
    {
    $builder
        ->add('name', 'text')
        ->add('body', 'textarea');


    $categoryChoices = array();

    $builder->add('category', 'entity', array(
        'class'         => 'HowFolderBundle:Category',
        'empty_value'   => 'note.form.category.choose',
        'translation_domain' => 'HowFolderBundle'
    ));
    }

public function getName()
{
    return "note";
}
}

2 个答案:

答案 0 :(得分:3)

这应该完全有效,因为它本身支持,因为&gt; [Form] made it possible to translate the empty value of Choice fields

然后问题可能与您的翻译配置有关,请检查您的Translation component是否已启用且配置良好。

答案 1 :(得分:1)

我知道答案真的很晚,但也许对某人有用。检查您的翻译是否包含YAML可能尝试解析的任何特殊字符。例如,这一行将被解析为数组,如果它是文件中的最后一行,则不会呈现任何错误等等:

inventory.select.default_text: [ please select ]

就好像没有找到翻译一样。您需要做的是引用您的翻译字符串:

inventory.select.default_text: '[ please select ]'