翻译占位符ZF2

时间:2014-03-24 14:56:38

标签: zend-framework2 translation translate

如何在Zend Framework 2中翻译placeholder

我有一些表单项,如下所示:

 $this->add(array(
         'name' => 'Email',
         'attributes' => array(
             'type'  => 'email',
             'class' => 'form-control',
             'placeholder' => 'Email address',
             'required' => 'required'
         ),
     ));

在视图中我称之为:

<?php echo $this->formRow($form->get('Email'));?>

2 个答案:

答案 0 :(得分:1)

如果您使用的是ZendSkeletonApplication或类似产品,则可以在视图上执行以下操作:

    $translator = $this->plugin('translate')->getTranslator();
    $this->plugin('form_row')->setTranslator($translator);

然后

    echo $this->formRow($form->get('Email'));

答案 1 :(得分:0)

也许有更好的方法,但您可以随时放弃formRow帮助程序并手动显示该输入。 E.g:

<?php $emailField = $form->get('Email'); ?>
<input type="<?php $emailField->getType(); ?>" class="<?php $emailField->getClass(); ?>" placeholder="<?php $this->translate($emailField->getPlaceholder()); ?>" value="<?php $emailField->getValue(); ?>" <?php $emailField->getRequired(); ?> >

这使您可以更好地控制输入的显示方式,但它也很费力且容易出错。我还假设您在.po文件中准备了翻译。