欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Laravel5.5 動態(tài)切換多語言的操作方式

 更新時間:2019年10月25日 10:00:18   作者:Gino_tkzzz  
今天小編就為大家分享一篇Laravel5.5 動態(tài)切換多語言的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

messages.php

就是返回一個數(shù)組 return [] 格式

中文的:

return [
 "test" => "這里是測試",
 "test1" => "繼續(xù)測試",
 ......
];

英文的:

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

各種語言中的元素鍵名是對應(yīng)

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

'locale' => 'zh',
'locales' => ['zh','en','cht'], //包含的語言種類
'fallback_locale' => 'cht',

第三步:處理多語言切換的控制器以及方法

<?php
namespace App\Http\Controllers\Home;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Session;
class LangController extends Controller{
 /**
  * 切換語言包
  * @param Request $request
  */
 public function language(Request $request){
  if($request->ajax()) { //Ajax請求訪問
   $lang = $request->all();
   $lang = $lang['lang'];
   App::setLocale($lang); //配置默認(rèn)語言
   $request->session()->put('language',$lang); //存到session
   return App::getLocale();
  }else{
   if($request->session()->has('language')){
    $res = $request->session()->get('language'); //獲取session
    return $res;
   }
 
  }
 }
}

第四步:blade模板

<meta name="csrf-token" content="{{ csrf_token() }}">
<select name="lang" id="lang">
 <option value="zh" @if(Session::get('language') == 'zh') selected @endif>中文</option>
 <option value="cht" @if(Session::get('language') == 'cht') selected @endif>繁體</option>
 <option value="en" @if(Session::get('language') == 'en') selected @endif>English</option>
</select>

js部分

<script>
 $("#lang").change(function(){
  $.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
  $.post(
    "{{url('lang')}}",
    {
     lang:$("#lang").val()
    },
    function(d){
     if(d){
      console.log(d);
      location.reload(); //重新刷新頁面
     }
    }
  );
 });
</script>

第五步: 中間件的設(shè)置-middleware(每一次請求,每個中間件都會執(zhí)行) app/http/middleware下添加Language.php 內(nèi)容如下

<?php
namespace App\Http\Middleware;
 
use Closure;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Session;
 
class Language
{
 /**
  * @param $request
  * @param Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
  if (Session::has('language') AND in_array(Session::get('language'), Config::get('app.locales'))) {
   App::setLocale(Session::get('language'));
  }
  else { // This is optional as Laravel will automatically set the fallback language if there is none specified
   App::setLocale(Config::get('app.locale'));
  }
  return $next($request);
 }
 
}

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

基本上就是這樣了,試試看,希望可以對你有幫助。告辭!

以上這篇Laravel5.5 動態(tài)切換多語言的操作方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • PHP獲取網(wǎng)站中各文章的第一張圖片的代碼示例

    PHP獲取網(wǎng)站中各文章的第一張圖片的代碼示例

    調(diào)取文章中的第一張圖作為列表頁縮略圖是很流行的做法,WordPress中一般主題默認(rèn)也是如此,那我們接下來就一起來看看PHP獲取網(wǎng)站中各文章的第一張圖片的代碼示例
    2016-05-05
  • Yii2.0 Basic代碼中路由鏈接被轉(zhuǎn)義的處理方法

    Yii2.0 Basic代碼中路由鏈接被轉(zhuǎn)義的處理方法

    這篇文章主要介紹了Yii2.0 Basic代碼中路由鏈接被轉(zhuǎn)義的處理方法的相關(guān)資料,本文圖文并茂介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • CI框架數(shù)據(jù)庫查詢之join用法分析

    CI框架數(shù)據(jù)庫查詢之join用法分析

    這篇文章主要介紹了CI框架數(shù)據(jù)庫查詢之join用法,結(jié)合實例形式分析了join方法在數(shù)據(jù)庫查詢過程中的使用技巧,需要的朋友可以參考下
    2016-05-05
  • php過濾HTML標(biāo)簽、屬性等正則表達(dá)式匯總

    php過濾HTML標(biāo)簽、屬性等正則表達(dá)式匯總

    這篇文章主要介紹了php過濾HTML標(biāo)簽、屬性等正則表達(dá)式匯總,本文使用代碼實例給出了過濾HTML內(nèi)容的正則表達(dá)式,具體說明請參閱代碼中的注釋,本文對使用PHP做采集的朋友有比較大的作用,需要的朋友可以參考下
    2014-09-09
  • PHP 7.0.2 正式版發(fā)布

    PHP 7.0.2 正式版發(fā)布

    七年以來,PHP一直是第四大最流行的編程語言,驅(qū)動全球超過2億多個網(wǎng)站,全球超過81.7%的公共網(wǎng)站在服務(wù)器端采用PHP。PHP在這個星期有了自2004年以來最大的飛躍,因為PHP 7已經(jīng)發(fā)布
    2016-01-01
  • Zend Framework動作助手(Zend_Controller_Action_Helper)用法詳解

    Zend Framework動作助手(Zend_Controller_Action_Helper)用法詳解

    這篇文章主要介紹了Zend Framework動作助手(Zend_Controller_Action_Helper)用法,詳細(xì)分析了動作助手Zend_Controller_Action_Helper功能,定義,使用方法與相關(guān)實現(xiàn)代碼,需要的朋友可以參考下
    2016-03-03
  • Laravel的加密解密與哈希實例講解

    Laravel的加密解密與哈希實例講解

    這篇文章主要介紹了Laravel的加密解密與哈希實例講解,加密解密的知識,對于代碼安全還是比較重要的,有感興趣的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • php+ajax實現(xiàn)無刷新文件上傳功能(ajaxuploadfile)

    php+ajax實現(xiàn)無刷新文件上傳功能(ajaxuploadfile)

    這篇文章主要為大家詳細(xì)介紹了php結(jié)合ajaxuploadfile實現(xiàn)無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • CI框架(CodeIgniter)實現(xiàn)的導(dǎo)入、導(dǎo)出數(shù)據(jù)操作示例

    CI框架(CodeIgniter)實現(xiàn)的導(dǎo)入、導(dǎo)出數(shù)據(jù)操作示例

    這篇文章主要介紹了CI框架(CodeIgniter)實現(xiàn)的導(dǎo)入、導(dǎo)出數(shù)據(jù)操作,結(jié)合實例形式分析了CodeIgniter框架libraies中引用PHPExcel實現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • laravel 如何實現(xiàn)引入自己的函數(shù)或類庫

    laravel 如何實現(xiàn)引入自己的函數(shù)或類庫

    laravel 如何實現(xiàn)引入自己的函數(shù)或類庫?今天小編就為大家解答一下在laravel中引入自己的函數(shù)或類庫的方法,分享給大家,給大家做個參考,一起過來看看吧
    2019-10-10

最新評論