Php Zend Framework 2中的翻译处理

Php Zend Framework 2中的翻译处理,php,zend-framework2,Php,Zend Framework2,我正在使用Zend Framework 2构建一个多语言应用程序 目前,我让每个具有可翻译输出的对象实现TranslatorAwareInterface并使用TranslatorAwareTrait。因此,我将在每个表单、输入过滤器和控制器对象中注入一个translator实例,以便转换表单标签、错误消息和通知 这是正确的方法吗?还是有一种不同的方法不需要将一个翻译器实例注入到每个具有需要翻译的文本的对象中 (我知道我可以通过向AbstractValidator注入默认转换器来翻译验证错误,但我

我正在使用Zend Framework 2构建一个多语言应用程序

目前,我让每个具有可翻译输出的对象实现TranslatorAwareInterface并使用TranslatorAwareTrait。因此,我将在每个表单、输入过滤器和控制器对象中注入一个translator实例,以便转换表单标签、错误消息和通知

这是正确的方法吗?还是有一种不同的方法不需要将一个翻译器实例注入到每个具有需要翻译的文本的对象中


(我知道我可以通过向AbstractValidator注入默认转换器来翻译验证错误,但我更喜欢有自己的错误消息)

将用于zf2的条令模块用作orm,并让条令扩展gedmo/Translateable处理数据翻译

要使可翻译功能正常工作,请遵循文档的这一部分:


之后,运行schema工具更新数据库。

总之,我认为它听起来很合法,您可以在validator选项中传递自己的
messageTemplates
数组,该数组由validator错误代码键入。没有必要直接在窗体或视图中处理它。@谢谢您的提示。这就是客户验证错误的解决方案。翻译在控制器和其他对象(例如实体)中生成的表单元素标签和消息如何?对于其他对象,我认为你的做法就是这样。表单元素标签和标题的自动翻译将是一个很好的功能,但据我所知,它尚未实现。@谢谢,我现在感觉舒服多了:-)并将继续这样做。我不知道该扩展,但我看不出这对翻译表单元素标签和在控制器中生成的消息有什么帮助?我建议在翻译模型时。。。消息和表单元素可以通过zend_i18n/translate轻松翻译。iSeries上使用DB2的系统如何。理论在那里行不通。在ZF2中,imo缺少可翻译的功能。