使用laravel怎么實現(xiàn)語言包切換功能-創(chuàng)新互聯(lián)

使用laravel怎么實現(xiàn)語言包切換功能?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,金鄉(xiāng)企業(yè)網(wǎng)站建設,金鄉(xiāng)品牌網(wǎng)站建設,網(wǎng)站定制,金鄉(xiāng)網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,金鄉(xiāng)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

1.創(chuàng)建中間件

在Mideleware中創(chuàng)建一個名為language.php的中間件如下:

2、中間鍵創(chuàng)建完成后需要進行注冊中間才能使用哦接下來我們進行注冊language中間鍵進行注冊,如果還是有不懂的小伙伴可以參考一下官網(wǎng)

/tupian/20230522/57 找到如下:

 protected $middlewareGroups = [
    'web' => [
      \App\Http\Middleware\EncryptCookies::class,
      \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
      \Illuminate\Session\Middleware\StartSession::class,
      \Illuminate\View\Middleware\ShareErrorsFromSession::class,
      \App\Http\Middleware\VerifyCsrfToken::class,
      \App\Http\Middleware\Language::class, //語言包中間件注冊。
    ],

3、接下來我們開始書寫路由了:Route::get('demos','IndexController@ins');

4、通過路由訪問對應的控制器接下來我們創(chuàng)建一個控制器IndexController

思路:前端頁面通過下拉菜單獲取當前用戶選擇的語言包是英文還是簡體。通過ajax請求到當前控制器,把通過setLocale進行設置,把語言包存入到session中進行返回。返回的同時進行刷新頁面

use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\App;
use Illuminate\Http\Response;
public function ins(Request $request){
    if($request->ajax()){
      $data = $request->all();
      App::setLocale($data['language']);
      $res = $request->session()->put('language',$data['language']);      
      return $this->returnCode(200,'',$res);
    }else{
//刷新后頁面,再去獲取語言包
      $rr = App::getLocale();
//寫入自己的邏輯存把信息返回到頁面中區(qū)
      return view('welcome')->with('lan',$rr);
    }
  }

5、接下來我們開始編寫前端的代碼:在我們直接一welcome頁面為例子:

<div class="container">
      <div class="content">
          <!--<div class="title"><a href="/demo/zh_cn" rel="external nofollow" >{{ trans('welcome.message') }}</a></div>-->
          <select οnchange="changelanguage(this.value)">
            <option value="en">
               @if(App::getLocale() =='en')
                selected
               @else
               @endif
              English
            </option>
            <option value='zh_cn'@if(App::getLocale() == 'zh_cn') selected @else @endif>簡體中文</option>>
             <div>{{trans('welcome.message')}}{{$lan}}</div>
          </select>
       
        
      </div>
      <script src="{{asset('public/home/js/jquery.min.js')}}"></script>
       <script>
         function changelanguage(val){
           $.ajax({
             type :'get',
             url :'demos',
             data:{
              language :val 
             },
             dataType :'json',
             success:function(res){
               
               if(res){
                 window.location.reload();
               }
             }
           })
         }
       </script>
  </body>

Laravel 是什么

Laravel 是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網(wǎng)絡APP,而且每行代碼都可以簡潔、富于表達力。

看完上述內(nèi)容,你們掌握使用laravel怎么實現(xiàn)語言包切換功能的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

新聞名稱:使用laravel怎么實現(xiàn)語言包切換功能-創(chuàng)新互聯(lián)
本文鏈接:http://muchs.cn/article46/dcpohg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站外貿(mào)建站、面包屑導航外貿(mào)網(wǎng)站建設、定制開發(fā)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計