Laravel在地化


Laravel在地化特性支援是用來在應用中使用不同的語言。你需要將不同語言的所有字串儲存在一個檔案中,這些檔案儲存在 resources/views 目錄。 應該為每個支援的語言儲存在一個單獨的目錄。 所有的語言檔案應該返回帶鍵的字串陣列,如下圖所示。
<?php
return [
   'welcome' => 'Welcome to the application'
];

範例

第1步 - 建立3個語言檔案 — English, French和 中文. 儲存英語檔案在 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/zh-cn/lang.php.

<?php
   return [
      'msg' => 'Laravel Internationalisierung 中文.' 
   ];
?>
第4步 - 創通過執行以下命令來建一個名為LocalizationController 的控制器。
php artisan make:controller LocalizationController
第5步 - 成功執行後,您會收到以下輸出 -

第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步- 為 LocalizationController 新增一個路由在檔案 - app/Http/routes.php。請注意,我們傳遞 {locale} 設定在地化在引數localization/ 之後,用它來檢視不同語言輸出。

app/Http/routes.php

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

第8步 - 現在,讓我們瀏覽不同的 URL 檢視所有不同的語言。執行下面的網址檢視英語輸出結果。

http://localhost:8000/localization/en

第9步 - 如下面的圖片所示輸出結果。

第10步 - 執行下面的網址就可以看到法語輸出。

http://localhost:8000/localization/fr

第11步 - 如下面的圖片所示輸出結果。

第12步 - 執行下面的網址就可以看到中文輸出。

http://localhost:8000/localization/zh-cn

第13步 - 如下面的圖片所示輸出結果。