使用 YII 创建新站点后,我在 protected/messages 中添加了一个文件夹“fr”,并添加了一个文件“site.php”,其中包含:
返回数组('你好'=>'bonjour');
在 view/layout/main.php 中,我添加了以下代码:
<?php
// I change the language to english and french using session.
// This is just for example.
Yii::app()->language = 'fr';
// I also used Yii::app()->setLanguage('fr');
echo Yii::t('site','hello');
?>
但语言没有翻译。我哪里错了。请建议
如果您希望翻译在所有视图中正常工作,您应该在控制器中设置语言。
为了将语言应用于所有控制器,请在组件文件夹中创建新的Controller.php
文件与class Controller
这延伸了CController
,然后你所有的控制器都应该扩展Controller
班级。在Controller
类覆盖init()
方法(不要忘记调用parent::init()
)并在那里设置语言。例如:
class Controller extends CController
{
public $layout='//layouts/column1';
function init()
{
parent::init();
Yii::app()->language = 'fr';
}
}
通过这种方式,您可以在一个地方添加适用于所有控制器的其他内容
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)