【发布时间】:2013-03-26 18:45:43
【问题描述】:
我正在使用 Zend Framework 2 构建一个多语言应用程序。
目前,我让每个具有可翻译输出的对象都实现 TranslatorAwareInterface 并使用 TranslatorAwareTrait。因此,我将一个翻译器实例注入到每个表单、输入过滤器和控制器对象中,以便翻译表单标签、错误消息和通知。
这是正确的方法,还是有不同的方法不需要将翻译器实例注入每个具有需要翻译的文本的对象中?
(我知道我可以通过向 AbstractValidator 注入默认翻译器来翻译验证错误,但我更喜欢有自己的错误消息)
【问题讨论】:
-
总而言之,我会说这听起来很合法
-
Manu,您可以通过验证器选项中的验证器错误代码键入您自己的
messageTemplates数组。无需直接在表单或视图中处理它。 -
@Crisp 谢谢你的提示。这就是客户验证错误的解决方案。翻译在控制器和其他对象中生成的表单元素标签和消息怎么样?实体?
-
对于其他对象,我会说你正在做的方式就是要走的路。表单元素标签和标题的自动翻译将是一个不错的功能,但据我所知,它还没有实现。
-
@Crisp 谢谢,我现在感觉舒服多了 :-) 并且会继续下去。
标签: php zend-framework2