我已经创建了一个名为GalleryManager的扩展,它存储在应用程序的扩展目录中。我有这样的结构:
gallerymanager
|-- assets
|-- messages
| |-- en
| | |-- main.php
| |-- es
| | |-- main.php
| GalleryManager.php我的GalleryManager类(在GalleryManager.php中定义)类似于:
class GalleryManager extends CApplicationComponent{...关于定义翻译类别,文档就是这样说的:
扩展类(例如,小部件、模块)的消息可以进行特殊管理和使用。特别是,如果消息属于类名为Xyz的扩展名,那么消息类别可以指定为‘Xyz.classyName’格式。相应的消息文件被假定为'BasePath/messages/LanguageID/categoryName.php',,其中'BasePath‘指包含扩展名类文件的目录。当使用Yii::t()翻译扩展消息时,类别名称应该设置为‘Xyz.classyName’。
所以,我正在尝试这样一种观点:
<?php echo Yii::t('GalleryManager.main', 'Add');?>但不起作用。我还需要做些什么才能使翻译为Yii扩展工作呢?
发布于 2014-02-27 01:43:59
你所做的一切都是正确的,并根据文件。
您确定在主配置中正确声明了扩展吗?你应该在里面:
'components' => array(
/* load extension */
'GalleryManager' => array(
'class' => 'app.extensions.GalleryManager',
),有时,我自己不会加载这样的扩展(因为这仍然有效),但是要使消息正常工作,我相信您也必须在配置中声明它。
https://stackoverflow.com/questions/22053021
复制相似问题