1

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

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

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

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

4

1 回答 1

2

使用 zf2 的学说模块作为 orm 并让学说扩展 gedmo/translatable 处理数据翻译https://github.com/l3pp4rd/DoctrineExtensions

要使可翻译功能正常工作,请遵循文档的这一部分: https ://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/zendframework2.md#note-you-may-need-to-provide-additional-一些可用监听器的设置

之后运行架构工具来更新您的数据库。

于 2013-03-26T21:07:40.277 回答