Laravel5.5 动态切换多语言操作(直接上代码)

第一步:新建所有的语言包文件  resources/lang

Laravel5.5 动态切换多语言操作(直接上代码)_第1张图片

messages.php

就是返回一个数组 return [] 格式

中文的:
return [
    "test" => "这里是测试",
    "test1" => "继续测试",
    ......
];

英文的:

return [
    "test" => "this is a test...",
    "test1" => "test again...",
    ......
];

各种语言中的元素键名是对应

第二步:配置文件 app/config/app.php

'locale' => 'zh',
'locales' => ['zh','en','cht'],  //包含的语言种类
'fallback_locale' => 'cht',

第三步:处理多语言切换的控制器以及方法

ajax()) {  //Ajax请求访问
            $lang = $request->all();
            $lang = $lang['lang'];
            App::setLocale($lang);  //配置默认语言
            $request->session()->put('language',$lang);  //存到session
            return App::getLocale();
        }else{
            if($request->session()->has('language')){
                $res = $request->session()->get('language'); //获取session
                return $res;
            }

        }
    }
}

第四步:blade模板


js部分

第五步:中间件的设置-middleware(每一次请求,每个中间件都会执行)    app/http/middleware下添加Language.php 内容如下

配置app/http/middleware/kernel.php  添加Language

Laravel5.5 动态切换多语言操作(直接上代码)_第2张图片

基本上就是这样了,试试看,希望可以对你有帮助.告辞

你可能感兴趣的:(PHP-Laravel5)