【问题标题】:Translate select form element options in zend framework 2在zend框架2中翻译选择表单元素选项
【发布时间】:2013-07-08 00:46:43
【问题描述】:

我想翻译表单中选择元素的选项。现在我知道如何从这里翻译表单元素标签: How to translate form labels in Zend Framework 2?(虽然我不是用这个方法来做的) 我也知道如何从这里翻译表单消息:http://framework.zend.com/manual/2.0/en/modules/zend.validator.messages.html

但到目前为止,我不知道如何翻译它们组合框中的选项。我想从服务管理器那里得到翻译器,但显然你不能从 Form 对象访问 serviceLocator。我还认为我可以在模板中打印之前更改选择元素中的选项,但我不知道如何。

所以,我感谢任何帮助。谢谢

【问题讨论】:

    标签: zend-framework2


    【解决方案1】:

    翻译器默认为 Form\Elements

    在我的项目中,我只创建了一个名为 _lan.phtml 的 .phtml 文件来包含我要翻译的选择选项。像这样:

    <?php echo $this->translate('Item01'); ?>
    <?php echo $this->translate('Item02'); ?>
    

    【讨论】:

    • 感谢雷米的回答。但有一件事,这种方法似乎有点复杂。这个 _lan.phtml 是不是部分的???
    • _lan.phtml 不是部分的,它只是一个视图脚本,您可以使用它来跟踪任何类型的翻译(例如使用 poedit)其他视图脚本
    【解决方案2】:

    我不确定这是不是正确的方法,但我自己解决了。在视图模板中,在回显元素之前,我这样做了:

        $this->form->get('user_type')->setValueOptions(array(
            'item01'        => $this->translate('Item01'),
            'item02'        => $this->translate('Item02'),
        ));
    

    【讨论】:

      猜你喜欢
      • 2015-06-21
      • 2017-07-03
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      相关资源
      最近更新 更多