Laravel-ローカリゼーション

Laravelのローカリゼーション機能は、アプリケーションで使用されるさまざまな言語をサポートしています。異なる言語のすべての文字列をファイルに保存する必要があり、これらのファイルはに保存されます。resources/viewsディレクトリ。サポートされている言語ごとに個別のディレクトリを作成する必要があります。すべての言語ファイルは、以下に示すように、キー付き文字列の配列を返す必要があります。

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

Step 1 −言語用に3つのファイルを作成します− English, French、および German。英語のファイルをresources/lang/en/lang.php

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

Step 2 −フランス語のファイルを次の場所に保存します resources/lang/fr/lang.php

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

Step 3 −ドイツ語ファイルを resources/lang/de/lang.php

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

Step 4 −というコントローラーを作成します LocalizationController 次のコマンドを実行します。

php artisan make:controller LocalizationController --plain

Step 5 −正常に実行されると、次の出力が表示されます−

Step 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');
   }
}

Step 7 −LocalizationControllerのルートをに追加します app/Http/routes.phpファイル。ローカリゼーション/の後に{locale}引数を渡していることに注意してください。これを使用して、異なる言語で出力を表示します。

app/Http/routes.php

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

Step 8−では、さまざまなURLにアクセスして、さまざまな言語をすべて確認しましょう。以下のURLを実行して、英語での出力を確認してください。

http://localhost:8000/localization/en

Step 9 −次の図に示すように出力が表示されます。

Step 10 −以下のURLを実行して、フランス語での出力を確認します。

http://localhost:8000/localization/fr

Step 11 −次の図に示すように出力が表示されます。

Step 12 −以下のURLを実行して、ドイツ語での出力を確認してください

http://localhost:8000/localization/de

Step 13 −次の図に示すように出力が表示されます。