はじめに
Laravel 10 で Breeze をインストールしたあと、ログイン画面やユーザー登録画面を日本語化したかったため、askdkc/breezejp パッケージを使用しました。
Breeze のインストール後、日本語化パッケージの導入手順をまとめます。
この記事では、Laravel Sail を使用している前提で進めます。
前提環境
- Laravel 10
- Laravel Breeze インストール済み
- Laravel Sail 使用
-
sail artisan lang:publish実行済み
Breeze のインストールとマイグレーションは完了しており、以下の画面が表示できる状態を前提にします。
http://localhost:81/loginhttp://localhost:81/register
lang:publish について
Laravel 10 では、初期状態では lang ディレクトリが用意されていません。
Laravel 公式ドキュメントにも、以下のように説明されています。
Laravelアプリケーションのスケルトンに、デフォルトで
langディレクトリを用意していません。Laravelの言語ファイルをカスタマイズしたり、独自の言語ファイルを作成したい場合は、lang:publishArtisanコマンドを使用して、langディレクトリをスカフォールドする必要があります。
Sail 環境では以下のコマンドで実行します。
./vendor/bin/sail artisan lang:publish
実行すると、Laravel プロジェクト直下に lang ディレクトリが作成されます。
lang/
└── en/
├── auth.php
├── pagination.php
├── passwords.php
└── validation.php
今回はすでに lang:publish は実行済みのため、この手順は済んでいる前提で進めます。
Breezejp とは
Breezejp は、Laravel Breeze などのスターターキットを日本語化するためのパッケージです。
askdkc/breezejp の README には、以下のように記載されています。
Laravelの各種スターターキット(Livewire, Breeze, Jetstream, UI)を下記2コマンドだけで自動で日本語化できちゃうパッケージです
また、Laravel Sail(Docker)を使っている場合のコマンドについても明記されています。
メモ:Laravel Sail(Docker)を使って開発している人は下記コマンドになります
./vendor/bin/sail composer require askdkc/breezejp --dev
./vendor/bin/sail artisan breezejp
Breezejp をインストールする
Laravel プロジェクトのディレクトリで、以下を実行します。
./vendor/bin/sail composer require askdkc/breezejp --dev
続いて、日本語化コマンドを実行します。
./vendor/bin/sail artisan breezejp
途中で以下のような確認が表示される場合があります。
GitHubリポジトリにスターの御協力をお願いします (yes/no) [yes]:
任意なので、不要であれば no で問題ありません。
キャッシュをクリアする
Breezejp 実行後、.env や config/app.php の言語・タイムゾーン設定が変更される場合があります。
主に以下のような設定になる場合があります。
APP_TIMEZONE=Asia/Tokyo
APP_LOCALE=ja
APP_FAKER_LOCALE=ja_JP
.env や設定ファイルが変更されるため、念のためキャッシュをクリアします。
./vendor/bin/sail artisan optimize:clear
日本語化される主な画面
Breezejp を実行すると、Breeze の認証まわりが日本語化されます。
確認しやすい画面は以下です。
http://localhost:81/registerhttp://localhost:81/login
未入力のまま送信すると、バリデーションエラーも日本語で表示されます。
名前は必須です
メールアドレスは必須です
パスワードは必須です
localhost:81 のトップページは日本語化されない
注意点として、http://localhost:81 のトップページ、つまり Laravel 初期ページや Breeze 導入後の welcome 画面は自動では日本語化されません。
Breezejp で日本語化されるのは、主に Breeze の認証画面やバリデーションメッセージです。
一方、トップページに表示される以下のような文字は、Blade ファイルに直接書かれているため、自動翻訳の対象ではありません。
Laravel
Documentation
Laracasts
News
そのため、/login や /register が日本語化されていれば、Breezejp の導入確認としては問題ありません。
トップページを日本語にしたい場合
トップページを日本語にしたい場合は、Blade ファイルを直接編集します。
Laravel 10 + Breeze の場合、主に以下のファイルです。
resources/views/welcome.blade.php
まずは Breeze の認証画面が日本語化されていることを確認できれば十分です。
実行したコマンドまとめ
今回実行したコマンドは以下です。
./vendor/bin/sail artisan lang:publish
./vendor/bin/sail composer require askdkc/breezejp --dev
./vendor/bin/sail artisan breezejp
./vendor/bin/sail artisan optimize:clear
すでに lang:publish を実行済みの場合は、以下だけで大丈夫です。
./vendor/bin/sail composer require askdkc/breezejp --dev
./vendor/bin/sail artisan breezejp
./vendor/bin/sail artisan optimize:clear
まとめ
- Laravel Breeze の日本語化は、Breezejp を使うと簡単に対応できる
- Laravel Sail 環境では、
php artisanではなく./vendor/bin/sail artisanを使う - 日本語化されるのは主に認証画面とバリデーションメッセージ
-
localhost:81のトップページは自動では日本語化されない - トップページを日本語にしたい場合は
resources/views/welcome.blade.phpを直接編集する