thinkphp5多语言

一.配置

1、'lang_switch_on' => true, 

2、'lang_list' => ['zh-cn','en-us',]

二.语言定义()

1、新建文件/en-us.php   /thinkphp/lang/en-us.php

return[
'中文'=>'chinese',
'英文'=>'english',

];

2、模板文件index.php

html 模板语言定义

 <span lang='cn' class='btnClick'>{:lang('中文')}</span>|  <span lang='en' class='btnClick'>{:lang('英文')}</span>

js 切换语言

<script>

    $('.btnClick').click(function(){

        var data={'lang':$(this).attr('lang')};

        $.get("{:url('Index/lang')}",data,function(){

            location.reload();  //重新加载下语言包   

        })

    })

</script>

controller控制器

public function lang(){

    switch ($_GET['lang'])

        case 'cn':

            cookie('think_var', 'zh-cn');

        break;

        case 'en':

            cookie('think_var', 'en-us'); 

        break; 

}

//注:

//这样只是改变了cookie值,加载语言包的时候要再次刷新页面重新获取语言包

//如果不需要刷新的时候,改变cookie又能加载到语言包 则控制器方法中重新加载下语言包就可以了 hinkLang::load(APP_PATH . '../thinkphp/lang/en-us.php');

原文地址:https://www.cnblogs.com/chaihy/p/6288750.html