これまであまりlang周りを変更する事がなかったのですが、今回、laravel8での日本語の要件が出てきたので残しておきます。
app.php
//'timezone' => 'UTC',
'timezone' => 'Asia/Tokyo',
//'locale' => 'en',
'locale' => 'ja',
この2箇所の変更はなんとなくいつも行っているのですが、言語ファイルをもってくるのが面倒くさく(笑)そのまま英語のエラーメッセージを利用していました^^
言語ファイルの設定
Larevelプロジェクトのホームフォルダに移動します。
php -r "copy('https://readouble.com/laravel/8.x/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
sailのphpしかない場合は
sail php -r "copy('https://readouble.com/laravel/8.x/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
こんな感じでsailに渡してあげればOKです。
8.x の部分を任意のバージョンに変えると、他のバージョンの言語ファイルも持ってこれます。
php -f install-ja-lang.php
これでインストール。
php -r "unlink('install-ja-lang.php');"
最後に削除です。rmコマンドでも問題無し。
sailユーザーの方はsail経由でいずれもphpを呼び出してください。
次の用に、jaフォルダに日本語ファイルがインストールされました。
日本語メッセージが足りない
Laravelのバージョンによってまちまちみたいですが、ざっとみたところ、今回のlaravel8の場合、次に日本語の不足違いがありました。
lang/en/auth.php
'failed' => 'These credentials do not match our records.',
'password' => 'The provided password is incorrect.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
lang/ja/auth.php
'failed' => 'ログイン情報が登録されていません。',
'throttle' => 'ログインに続けて失敗しています。:seconds秒後に再度お試しください。',
passwordエラー時のメッセージが無いっぽいですね。
'failed' => 'ログイン情報が登録されていません。',
'password' => 'ログイン情報が間違っています。',
'throttle' => 'ログインに続けて失敗しています。:seconds秒後に再度お試しください。',
力技の日本語翻訳でメッセージを追加しました(笑)