第一步创建对应的视图文件
在resource/view/admin/创建对应的视图文件nav.blade.php(视图文件可以自定义)
视图文件中写入对应的前端代码
| <ul class="nav navbar-nav"> |
| <li class="dropdown dropdown-language nav-item"> |
| <a class="dropdown-toggle nav-link" href="#" id="dropdown-flag" data-toggle="dropdown"> |
| <i class="flag-icon flag-icon-us"></i> |
| <span class="selected-language"> |
| @switch(config('app.locale')) |
| @case('zh_CN') |
| 简体中文 |
| @break |
| @case('en') |
| English |
| @break |
| |
| @endswitch |
| </span> |
| </a> |
| <ul class="dropdown-menu" aria-labelledby="dropdown-flag"> |
| <li class="dropdown-item" href="#" data-language="zh_CN"> |
| <a><i class="flag-icon flag-icon-fr"></i> 简体中文</a> |
| </li> |
| <li class="dropdown-item" href="#" data-language="en"> |
| <a><i class="flag-icon flag-icon-us"></i> English</a> |
| </li> |
| |
| </ul> |
| </li> |
| </ul> |
| <input type="hidden" name="token" id="token" value="{{ csrf_token() }}"> |
| <script>$('.dropdown-item').on('click', function() { |
| let lang = $(this).attr('data-language') |
| let token = $("#token").val(); |
| $.ajax({ |
| url: '{{ url('admin/setLang') }}', |
| type: 'post', |
| data: { |
| 'lang': lang, |
| '_token': token |
| }, |
| success: function(data) { |
| if (data.code != 0) { |
| alert(data.msg) |
| return false; |
| } else { |
| window.location.reload(); |
| } |
| } |
| }) |
| }) |
| |
| </script> |
第二步在app/Admin/bootstrap.php中加入如下代码
| Admin::navbar(function (Navbar $navbar) { |
| $navbar->right(view('admin.nav')); |
| }); |
刷新页面就可以看到如下内容

第三步在对应的控制器中添加如下代码
| public function setLang(Request $request) |
| { |
| $lang = $request->get('lang'); |
| $request->session()->put('lang', $lang); |
| return response()->json(['code' => 0], 200); |
| } |
第四步在dcat初始化文件(app/admin/bootstrap.php)中添加如下代码
| $lang = session('lang') ? session('lang') : 'zh_CN'; |
| config([ |
| 'app.locale' => $lang |
| ]); |
第三,第四步我是存到session中,可以根据自己的需求存储到对应的位置