Symfony 表单占位符中的翻译

Symfony 表单占位符中的翻译,symfony,translation,Symfony,Translation,使用symfony2.1 我确实在form/RegisterUser.php中构建了一个表单 public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add( 'email', 'email', array('attr' => array('placeholder' => 'email.placeholder'

使用symfony2.1

我确实在form/RegisterUser.php中构建了一个表单

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add(
        'email',
        'email',
        array('attr' => array('placeholder' => 'email.placeholder')));
    $builder->add(
        'password',
        'repeated',
        array(
            'first_name' => 'password',
            'second_name' => 'confirm',
            'type' => 'password',
            'invalid_message' => 'register.password.repeat', ));
    $builder->add("t_and_c", "checkbox", array("mapped" => false, ));

    // "True" validator on the form for t&c
    $builder->addValidator(new CallbackValidator( function(FormInterface $form) {
        if (!$form["t_and_c"]->getData()) {
            $form->addError(new FormError('Please accept the terms and conditions in order to register'));
        }
    }));
}

/**
 * Returns the default options for this form type.
 * @param array $options
 * @return array The default options
 */
public function getDefaultOptions(array $options) {
    return array('data_class' => 'Frontend\AccountBundle\Entity\User');
}
以及在app/Ressources/translation/validators.LANG.yml中:

<trans-unit id="6">
    <source>email.placeholder</source>
    <target>Enter email.</target>
</trans-unit>
<trans-unit id="12">
    <source>register.password.repeat</source>
    <target>Passwords don't match.</target>
</trans-unit>

电子邮件占位符
输入电子邮件。
注册。密码。重复
密码不匹配。

将翻译字段invalid_消息,但不会翻译字段email.placeholder。有虫子吗?我不会使用小树枝进行正常渲染。

翻译后的错误消息会像正确的一样进入validators.LANG.yml。 但其他所有内容都需要进入您的消息中。LANG.yml

另外,我对您如何格式化yml感到有点困惑。通常你是这样写的:

email:
    placeholder: Enter email.

register:
    password:
        repeat: Passwords don't match

翻译后的错误消息会进入validators.LANG.yml,就像您做对了一样。 但其他所有内容都需要进入您的消息中。LANG.yml

另外,我对您如何格式化yml感到有点困惑。通常你是这样写的:

email:
    placeholder: Enter email.

register:
    password:
        repeat: Passwords don't match

好吧,有点困惑。谢谢它应该是“validators.LANG.yml”,而不是“validation.LANG.yml”。Validation.yml用于配置实体属性的验证器,但是validators.LANG.yml配置验证器消息的翻译。编辑了答案。谢谢,有点困惑。谢谢它应该是“validators.LANG.yml”,而不是“validation.LANG.yml”。Validation.yml用于配置实体属性的验证器,但是validators.LANG.yml配置验证器消息的翻译。编辑了答案。谢谢