从头开始学习yii2---3.语言包的配置

时间:2022-10-05 07:53:13

yii2有自带支持多语言的方式。
有几个配置方法。
1.
在frontend/config/main.php文件里面

<?php
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/../../common/config/params-local.php'),
require(__DIR__ . '/params.php'),
require(__DIR__ . '/params-local.php')
);

return [
'id' => 'app-frontend',
'basePath' => dirname(__DIR__),
'language' => 'zh-CN', //主要是这个地方,设置默认语言
'bootstrap' => ['log'],
'controllerNamespace' => 'frontend\controllers',
'components' => [
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
],
'urlManager' => [
'enablePrettyUrl' => true, //这个表示开启url美化
'showScriptName' => false, //这个字段表示不显示文件类型的名称,如.php或者.html
'suffix' => '.html' //这个字段表示后缀
],
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'errorHandler' => [
'errorAction' => 'site/error',
],
],
'params' => $params,
];

2.添加一个配置文件 i18n
在上面的文件下加上,然后创建你设置的语言的目录,依次创建出如下目录frontend/message/zh-CN/common.php

    'i18n' => [
'translations' => [
'*' => [
'class' => 'yii\i18n\PhpMessageSource',
'fileMap' => [
'common' => 'common.php' //可以加多个,是yii::t里面的第一个参数名
],
//'basePath' => '/message', //配置语言文件路径,现在采用默认的,就可以不配置这个
],
],
],

common.php

<?php
return [
'Blog' => '博客'
];

然后在对应的视图文件或者控制器文件中,需要返回文字的地方使用Yii::t(‘common’,’Blog’); 即可。