Yii Doc:
模块可以无限嵌套
水平。也就是说,一个模块可以包含
另一个模块还可以包含
另一个模块。我们称前者为
父模块,而后一个子模块
模块。必须声明子模块
在他们的模块属性中
父模块,就像我们声明模块一样
在显示的应用程序配置中
如上。
我尝试使用创建多语言应用程序Yii::t()功能:
Yii Doc:
当使用 Yii::t() 进行翻译时
扩展消息,如下
应使用以下格式:Yii::t('Xyz.categoryName', 'message to be translated')
我翻译模块消息Yii::t('MyModule.source', 'Test');
它适用于模块。
但不适用于子模块Yii::t('MyModule.SubModule.source', 'Test');
问题是:
当消息存储在以下位置时,如何定义模块中子模块的源路径:
/protected/modules/MyModule/modules/SubModule/messages/
您正在尝试使用Yii::t
wrong.
的路径为CPhpMessageSource
(第一个参数Yii::t
) 应该是模块其中调用Yii::t
appears。该模块是否聚合在另一个模块中并不重要。
所以在你的例子中,你应该使用
Yii::t('SubModule.source', 'Test');
并将消息放入/protected/modules/SubModule/messages/
.
如果您需要根据翻译是否从子模块内部执行来更改消息,请向消息添加参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)