php改语言,php-在YII中更改语言

在Yii框架中创建新站点后,遇到语言翻译不生效的问题。已尝试在保护/消息目录下为'fr'语言添加site.php,并在main.php中设置语言为'fr',但翻译未成功。解决方案是在components目录下创建一个继承自CController的Controller类,重写init()方法并在其中设置语言,如Yii::app()->language='fr',以确保所有控制器都能应用该语言设置。
摘要由CSDN通过智能技术生成

使用YII创建新站点后,我在保护/消息中添加了文件夹“ fr”,并添加了包含以下内容的文件“ site.php”:

return array(‘hello’ => ‘bonjour’);

在view / layout / main.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,请在components文件夹中创建带有扩展CController的Controller类的新Controller.php文件,然后所有控制器都应扩展Controller类.在Controller类中重写init()方法(不要忘记调用parent :: init())并在那里设置语言.例如:

class Controller extends CController

{

public $layout='//layouts/column1';

function init()

{

parent::init();

Yii::app()->language = 'fr';

}

}

这样,您可以在一个地方添加应应用于所有Controller的其他内容

标签:php,yii

来源: https://codeday.me/bug/20191011/1893666.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值