【发布时间】:2013-04-04 09:45:11
【问题描述】:
我没有收到it!.. 请有人解释一下,如何翻译表单标签?一个简单的例子就好了。
提前谢谢你!
类 Search\Form\CourseSearchForm
...
class CourseSearchForm extends Form {
...
public function __construct(array $cities) {
parent::__construct('courseSearch');
...
$this->add(array(
'name' => 'city',
'type' => 'Zend\Form\Element\Select',
'options' => array(
'label' => 'Stadt',
'value_options' => $this->cities,
'id' => 'searchFormCity',
),
));
...
}
}
查看脚本/module/Search/view/search/search/search-form.phtml
<?php echo $this->form()->openTag($form); ?>
<dl>
...
<dt><label><?php echo $form->get('city')->getLabel(); ?></label></dt>
<dd><?php echo $this->formRow($form->get('city'), null, false, false); ?></dd>
...
</dl>
<?php echo $this->form()->closeTag(); ?>
<!-- The formRow(...) is my MyNamespace\Form\View\Helper (extends Zend\Form\View\Helper\FormRow); the fourth argument of it disables the label. -->
module/Application/config/module.config.php 已配置:
return array(
'router' => ...
'service_manager' => array(
'factories' => array(
'translator' => 'Zend\I18n\Translator\TranslatorServiceFactory',
),
),
'translator' => array(
'locale' => 'de_DE',
'translation_file_patterns' => array(
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo',
),
),
),
'controllers' => ...
'view_manager' => ...
);
我还编辑了我的视图并使用了FormLabel 视图助手:
<dt><label><?php echo $this->formLabel($form->get('city')); ?></label></dt>
此外,我在使用翻译器的地方调试了FormLabel(行116-120)——似乎没问题。
但是还是不行。
编辑
我手动添加到de_DE.po 文件中的标签(测试)项目已被翻译。 ZF2 方面的问题实际上是,我在视图脚本中使用 $form->get('city')->getLabel() 而不是 $this->formlabel($form->get('city'))。
现在的问题是,标签没有添加到de_DE.po 文件中。但这不再是 ZF2 问题,所以我接受了 Ruben 的回答并打开了一个新的 Poedit 问题。
【问题讨论】:
-
请添加一些您当前拥有的代码。它将更容易帮助您并查看问题所在。
-
感谢您的快速回复!我现在添加了相关代码。
标签: label zend-framework2 translation translate zend-form2