Laravel - 本地化



Laravel 的本地化功能支援在應用程式中使用不同的語言。您需要將所有不同語言的字串儲存在一個檔案中,這些檔案儲存在resources/views目錄下。您應該為每種支援的語言建立一個單獨的目錄。所有語言檔案都應返回如下所示的鍵值字串陣列。

<?php
return [
   'welcome' => 'Welcome to the application'
];

示例

步驟 1 - 建立三種語言的檔案 - 英語、法語德語。將英語檔案儲存到resources/lang/en/lang.php

<?php
   return [
      'msg' => 'Laravel Internationalization example.'
   ];
?>

步驟 2 - 將法語檔案儲存到resources/lang/fr/lang.php

<?php
   return [
      'msg' => 'Exemple Laravel internationalisation.'
   ];
?>

步驟 3 - 將德語檔案儲存到resources/lang/de/lang.php

<?php
   return [
      'msg' => 'Laravel Internationalisierung Beispiel.' 
   ];
?>

步驟 4 - 透過執行以下命令建立一個名為LocalizationController的控制器。

php artisan make:controller LocalizationController --plain

步驟 5 - 成功執行後,您將收到以下輸出:

LocalizationController

步驟 6 - 將以下程式碼複製到檔案

app/Http/Controllers/LocalizationController.php

app/Http/Controllers/LocalizationController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class LocalizationController extends Controller {
   public function index(Request $request,$locale) {
      //set’s application’s locale
      app()->setLocale($locale);
      
      //Gets the translated message and displays it
      echo trans('lang.msg');
   }
}

步驟 7 - 在app/Http/routes.php檔案中為LocalizationController新增路由。請注意,我們在localization/之後傳遞了{locale}引數,我們將使用它來檢視不同語言的輸出。

app/Http/routes.php

Route::get('localization/{locale}','LocalizationController@index');

步驟 8 - 現在,讓我們訪問不同的 URL 來檢視所有不同的語言。執行以下 URL 以檢視英語輸出。

https://:8000/localization/en

步驟 9 - 輸出將如下圖所示。

Laravel Internationalization

步驟 10 - 執行以下 URL 以檢視法語輸出。

https://:8000/localization/fr

步驟 11 - 輸出將如下圖所示。

French Example

步驟 12 - 執行以下 URL 以檢視德語輸出

https://:8000/localization/de

步驟 13 - 輸出將如下圖所示。

German Example
廣告