我正在使用Zend Framework 2构建一个多语言应用程序。
目前,我的每个具有可翻译输出的对象都实现了TranslatorAwareInterface并使用了TranslatorAwareTrait。因此,我将转换器实例注入每个表单,输入过滤器和控制器对象,以便转换表单标签,错误消息和通知。
这是正确的方法吗?还是有一种不同的方法,不需要将翻译器实例注入每个有文本需要翻译的对象?
(我知道我可以通过向AbstractValidator注入默认转换器来转换验证错误,但我更喜欢自己的错误消息)
答案 0 :(得分:2)
将ztr2的doctrine模块用作orm,让Doctrine扩展gedmo / translatable处理数据转换https://github.com/l3pp4rd/DoctrineExtensions
要使可翻译功能正常工作,请按照文档的这一部分进行操作: https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/zendframework2.md#note-you-may-need-to-provide-additional-settings-for-some-of-the-available-listeners
之后运行架构工具来更新数据库。