2014-03-24 76 views
0

如何在Zend Framework 2中翻譯placeholderTranslate placeholder ZF2

我有某種形式的項目,像這樣:

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

鑑於我稱之爲:

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

回答

1

如果您使用的是你可以做你的看法以下的ZendSkeletonApplication或類似:

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

然後

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

它的工作原理,謝謝。 – Walllter

0

也許有一個更好的辦法,但你總是放棄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文件中準備了一個翻譯。