翻译占位符ZF2



如何在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'));?>

如果您正在使用ZendSkeletonApplication或类似的应用程序,您可以在视图上执行以下操作:

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

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

也许有更好的方法,但是您总是可以放弃formRow帮助器并手动显示该输入。例如:

<?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文件中准备了翻译。

最新更新