Laravel本地化


Laravel的本地化功能支持在应用程序中使用不同的语言。您需要将所有不同语言的字符串存储在文件中,这些文件存储在 resources / views 目录中。您应该为每种受支持的语言创建一个单独的目录。所有的语言文件都应该返回如下所示的键控字符串数组。

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

第1步 - 为语言创建3个文件 - 英文,法文德文 。在 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步 - 将以下代码复制到文件中

应用程序/ HTTP /控制器/ LocalizationController.php

应用程序/ HTTP /控制器/ 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添加路由。请注意,我们在本地化之后传递{locale}参数,我们将使用该参数以不同的语言查看输出。

应用程序/ HTTP / routes.php文件

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

第8步 - 现在,让我们访问不同的网址以查看所有不同的语言。 执行以下URL以英语查看输出。

http://localhost:8000/localization/en

第9步 - 输出将如下图所示。

Laravel国际化

第10步 - 执行以下URL以法语查看输出。

http://localhost:8000/localization/fr

第11步 - 输出将如下图所示。

法语例子

第12步 - 执行以下URL以德语查看输出

http://localhost:8000/localization/de

第13步 - 输出将如下图所示。

德国例子