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步 - 如下面的圖片所示輸出結果。


上一篇: Laravel表單處理 下一篇: Laravel會話(session)