Laravel-localization

提供:Dev Guides
移動先:案内検索

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 *-次のコードをファイルにコピーします
*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を実行して、英語の出力を確認します。
http://localhost:8000/localization/en
  • ステップ9 *-出力は次の画像のように表示されます。

Laravel国際化

  • ステップ10 *-以下のURLを実行して、フランス語の出力を確認します。
http://localhost:8000/localization/fr
  • ステップ11 *-出力は次の画像のように表示されます。

フランス語の例

  • ステップ12 *-以下のURLを実行して、ドイツ語の出力を表示します
http://localhost:8000/localization/de
  • ステップ13 *-出力は次の画像のように表示されます。

ドイツ語の例