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