如何在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'));?>
答案 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文件中准备了翻译。