【发布时间】:2014-02-26 20:54:17
【问题描述】:
我创建了一个名为 GalleryManager 的扩展,存储在应用程序的扩展目录中。 我有这个结构:
gallerymanager
|-- assets
|-- messages
| |-- en
| | |-- main.php
| |-- es
| | |-- main.php
| GalleryManager.php
我的 GalleryManager 类(在 GalleryManager.php 中定义)如下:
class GalleryManager extends CApplicationComponent{...
这是documentation 所说的关于定义翻译类别的内容:
扩展类(例如小部件、模块)的消息可以是 专门管理和使用。特别是,如果一条消息属于 类名为 Xyz 的扩展名,则消息类别可以是 以“Xyz.categoryName”的格式指定。以及对应的 消息文件假定为 'BasePath/messages/LanguageID/categoryName.php',其中'BasePath' 指包含扩展类文件的目录。什么时候 使用 Yii::t() 翻译扩展消息,类别名称 应设置为“Xyz.categoryName”。
所以,我在视图中尝试这样的一行:
<?php echo Yii::t('GalleryManager.main', 'Add');?>
而且它不起作用。 为了使翻译适用于 Yii 扩展,我还需要做什么?
【问题讨论】:
-
你的消息不应该在
protected/messages/吗? -
@AliMasudianPour 不,根据文档,默认情况下
messages目录应存储在包含类文件的目录中(在我的情况下,这就是我在 dir 结构中显示的内容)