Yii::t() 使用疑问 [ 2.0 版本 ]
我项目用的是advanced程序模板,我在frontend>components下建了一个a.php文件,代码如下:
<?php
/**
* a.php
* ------
*/
namespace frontend\components;
use Yii;
class a extends \yii\base\Object {
public static function test(){
return Yii::t('app', 'test ok');
}
?>
然后,我在frontend>messages>zh-CN下建了一个app.php文件,代码如下:
<?php
/**
* app.php
* ------
*/
return [
'test ok' => '测试好了',
];
?>
我在frontend模块下调用a::test(),可以正常返回测试好了,可我在backend模块下调用就不能正常返回,只返回test ok,
我的问题是:能不能在backend模块下也能正常使用a::test(),而不用在backend>messages>zh-CN下再重复建一个app.php文件,再把内容复制过来
最佳答案
-

你把app.php放在
common\messages\zh-CN\app.php不就好了?当然,要改下配置文件,我就是这么玩的共 2 条回复
@tgy3300
common\config\main.php的components下增加'i18n' => [ 'translations' => [ 'app*' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@common/messages', //'sourceLanguage' => 'en', 'fileMap' => [ 'app' => 'app.php', 'app/error' => 'error.php', ], ], 'model*' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@common/messages', 'fileMap' => [ 'model' => 'model.php' ] ] ], ],
其他 0 个回答
没有找到数据。
tgy3300
注册时间:2015-03-20
最后登录:2018-09-12
在线时长:19小时53分
最后登录:2018-09-12
在线时长:19小时53分
- 粉丝4
- 金钱10
- 威望10
- 积分300