如何在Yii2中根据用户偏好更改语言?

时间:2015-07-20 04:07:00

标签: yii2 yii2-advanced-app

我的网站以默认语言(英语)开头,然后根据用户的偏好我应该更改它。这可能在Yii2?是否有任何小部件

1 个答案:

答案 0 :(得分:2)

我使用contentNegotiator,而没有为用户分配语言,应用程序会自动分配语言。

为此 在bootstrap部分的config / main.php中启动组件

'bootstrap' => [
    'log',
    'contentNegotiator',
],

在组件部分

'components' => [
    'contentNegotiator' =>[
        'class' => 'yii\filters\ContentNegotiator',
        'languages' => [
                'en-US',
                'it-IT',
                'fr-FR',
        ],
    ],

],

否则你可以随时随地改变。应用程序操作是否可以在您选择的任何控制器中执行。这样

 \Yii::$app->language = 'zh-CN';