美文网首页
thinkphp5.0实现网站英文切换 --- 2020-08-

thinkphp5.0实现网站英文切换 --- 2020-08-

作者: 一位先生_ | 来源:发表于2020-08-31 11:37 被阅读0次

    首先来看下它的配置:

    // 是否开启多语言
    'lang_switch_on' => true,

    //语音列表
    'lang_list' => ['zh-cn','en-us'],

    // 获取当前选择语言的方法类

    GetLang.php
    <?php
    namespace app\index\controller;
    use think\Cookie;
    use think\Lang;
    use think\Request;
    class GetLang{
      public function get_lang(){
        lang = null;     if(input('?lang')){lang = input('lang');
        }
        if(lang==null){       if(Cookie::has('think_var')){lang = Cookie::get('think_var');
          }else{
            lang = 'zh-cn';       }     }lang = Lang::range(lang);//设定当前语言     Lang::load(APP_PATH.DS.'index'.DS.'lang'.DS.lang.EXT,lang);//加载当前语言包     Cookie::set('think_var',lang);
        return $lang;
      }
    }
    ?>

    // 显示效果的控制器类

    Index.php

    <?php
    namespace app\index\controller;
    use think\Controller;
    class Index extends Controller
    {
      public function index(){
        lang = new \app\index\controller\GetLang;now_lang = lang->get_lang();//获取当前语言     if(now_lang=='zh-cn'){
          now_lang='en-us';     }elseif(now_lang=='en-us'){
          now_lang='zh-cn';     }this->assign('set_lang',now_lang);     returnthis->fetch();
      }
    }
    ?>

    // 视图页

    index.html

    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>{:lang('TITLE')}</title>
      </head>
      <body>
        <a href="?lang={$set_lang}">{:lang('NOW_LANG')}</a>    
      </body>
    </html>

    //语言包文件

    zh-cn.php

    <?php
    return [
      'TITLE'=>'语言切换',
      'NOW_LANG'=>'切换',
    ]
    ?>

    en-us.php
    <?php
    return [
      'TITLE'=>'Language switching',
      'NOW_LANG'=>'Switch',
    ];
    ?>

    相关文章

      网友评论

          本文标题:thinkphp5.0实现网站英文切换 --- 2020-08-

          本文链接:https://www.haomeiwen.com/subject/klpxsktx.html