这是我的文件夹结构。我想在控制器SiteController中导入此site.php文件。我试过Yii::import('langs.en.site', true);
,在主配置中尝试了别名。但没有任何效果。还有别的吗?
site.php中的代码
define('EnterEmail', 'Email cannot be blank.');
define('EmailExists', 'The email you entered is already registered.');
define('EmailNotRegistered', 'This email ID is not registered with us.');
..............
答案 0 :(得分:0)
为什么你不只是使用Yii :: t()和消息?它的方式更容易。 您需要定义别名langs:
Yii::setPathOfAlias('langs','/home/../../langs/');
然后在导入配置中,您可以使用它:
'import'=>array('langs.en.*')
请看Yii :: t(),方法更好。
答案 1 :(得分:0)
希望所有这些都是定义的,可以用参数
给出params.php
return array(
'EnterEmail' => 'Email cannot be blank.',
'EmailExists' => 'The email you entered is already registered.',
'EmailNotRegistered' => 'This email ID is not registered with us.',
.....
);
将包含在来自配置的main.php中,如此
'params' => require(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'params.php' ),
可以轻松访问
答案 2 :(得分:0)
您需要使用 webroot 开始您的路径:
Yii::import('webroot.langs.en.site');
$site = new Site;
有关更多路径,请参阅此页面: http://www.yiiframework.com/doc/guide/1.1/en/basics.namespace#root-alias
除此之外,使用翻译功能(link)的方式更好。关键是使用Yii :: t这样:
Yii::t('app', 'This is my text to be translated');
完成后,使用 Yiic 生成您可以调整的语言文件:
protected/yiic message protected/messages/config.php