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