看了下网站上的文档 https://www.yiichina.com/doc/guide/2.0/tutorial-i18n?language=zh-cn,只搞出了两种语言的切换,但是3种语言像2种语言的写法又不行,于是我在view里面这样:
<?=(Yii::$app->session['language'] == 'zh-TW')?Yii::t('e2tc','index'):Yii::t('e2c','index') ?>
'e2tc.php'是英转中文繁体的语言包,'e2c.php'是英转中文简体的语言包。
还有,在国际化中,最开始我没有在 app/web/index.php加这个导致不行:
//(new yii\web\Application($config))->run();
$application = new yii\web\Application($config);
$application->language = isset(Yii::$app->session['language']) ? Yii::$app->session['language'] : 'zh-CN';
$application->run();
注释掉的代码是框架里本有的写法。
如果有人知道国际化操作3种语言更好的办法请一定要告诉我!
2019.1.20更新
找到官方多语言写法了。把语言包统一命名为相同名字,比如我上面的e2tc.php和e2c.php语言包,命名为:app.php,
在使用时,这样:Yii::t('app','index')即可。