laravel10を日本語化する方法を解説します。
laravel9まではlangディレクトリがデフォルトで作成されていましたが、laravel10では自前で作成しなくてはなりません。
各ステップ毎に設定していけば簡単に日本語化できるのでチャレンジしてみてください。
目次
laravel基本設定
app/config/app.phpファイルを開いて設定していきます。
73行目あたりのタイムゾーンを以下のように変更します。
‘timezone’ => ‘Asia/Tokyo’ に変更。
続いて86行目あたりのロケールを以下のように変更します。
‘locale’ => ‘ja’ に変更。
次は112行目あたりのフェイカーロケールを以下のように変更します。
以上でlaravelの基本設定は完了です。
langディレクトリの作成
laravelでは言語設定を変えただけでは日本語にならないので、英語訳のメッセージを日本語訳でも表示できるようにしなければなりません。
プロジェクト直下に以下のコマンドを実行してlangディレクトリを作成します。
php artisan lang:publish
以下のようにlangディレクトリが作成されます。
次はGitHub上にある便利な日本語化パッケージを利用しましょう。
これはコマンドで簡単にインストールして利用が可能なので以下のコマンドを順に実行します。
composer require askdkc/breezejp --dev
php artisan breezejp
langディレクトリにenとjaという名前でディレクトリが作成され、以下のように設定ファイルが作成されています。
register画面が日本語化されているのが確認できます。
言語の切り替え機能を追加する場合は以下のコマンドを実行します。
php artisan breezejp --langswitch
切り替えを確認するには現在日本語になっていると思いますが、URLにここではローカルホストですが、以下のURLに追記します。
ポート番号はお使いの仮想環境で使われている番号を記述してください。
私の場合はdockerのコンテナを利用しているので、ポート番号は8080になっています。
http://localhost:8080/language/en
日本語から英語に切り替わっているのが確認できます。
あとはご自身で作成したページに検証で表示されるコードを流用して切り替え表示を作成すれば良いかと思います。
中にはご自身で作成したページ内において翻訳されない場合があると思いますが、その場合はlang/ja/validation.phpファイルを編集する必要が出てきますのでご注意ください。
ここでは詳細を割愛させていただきます。
この便利なライブラリを作ってくださった方を紹介して終わります。