Skip to main content

多语言

https://blog.csdn.net/xmlife/article/details/50561666

https://www.yiichina.com/tutorial/1075

https://www.jianshu.com/p/3bc45cf736e6

 

 

yii框架下 i18nDemo 模式 网站多种语言切换

来自 <https://blog.csdn.net/hayi123/article/details/52330406> 


1)     在根据yii文件夹中的framework/messages/中找到config.php文件,并将其复制到api/protected/messages下(如果没有对应文件,请自己新建)。

2)     在config.php中设计好你需要的集中语言,例如下面这种'languages'=>array('zh_cn','ja','en','ko_kr'),中,日,英,韩。

3)     在api/protected/messages下,建立你所需语言的文件夹对于上面的代码,则需要创建名为zh_cn、ja、en、ko_kr的文件夹,并在每个文件夹中创建一个文件common.php(名字自己取)

4)     在api/protected/config/main.php中设置好 源语言。'sourceLanguage'=>'zh_cn',

5)     对于各种语言切换 所需代码如下:

publicfunction beforeAction($action){

      if(isset($_SESSION['lang'])){

        Yii::app()->language=$_SESSION['lang'];

      }else{

        Yii::app()->language="zh_cn";

      }  

     return true;   

   }

6)     在切换的地方设置好session。$_SESSION[‘lang’]=’ja’

7)     将需要翻译的地方的中文改成这样

<?=yii::t('common','即将被翻译的文字 ')?>
————————————————
版权声明:本文为CSDN博主「hayi123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hayi123/article/details/52330406

 

 

 

 

自己总结:
1、每个项目中,修改配置文件,在main.php中,元素“components”添加:
'i18n'=>[
'translations'=>[
'*'=>[
'class'=>'yii\i18n\PhpMessageSource',
'basePath'=>'@common/messages',//ifadvancedapplication,set@frontend/messages
'sourceLanguage'=>'zh-CN',
],
],
],
注意修改:basePath,改为当前项目的目录

2、使用CMD命令:
yii message/config @common/messages/config.php
自动创建配置文件:config.php

3、打开配置文件config.php,修改以下参数:

'sourcePath'=>'@common',
'messagePath'=>'@common/messages',
'languages'=>['zh-CN'],

4、执行CM命令
yii message/extract @common/messages/config.php
此命令自动检索当前目录中的所有使用yii:t中的语言,并生成语言文件

5、翻译生成的语言文件即可