Laravel6でバリデーションエラーを日本語化したかった件


Laravel6でバリデーションを日本語化する方法

この記事の内容
Laravelで個人アプリを作成する際にデフォルトで設定されている英語でのエラーメッセージを日本語に変える為の方法です。主に備忘録です。

開発環境

Mac OS
PHP 7.3.11
Laravel 6.20.2
※UI認証はBootstrapを使ってます。

まず英語になっている現状の確認から

事前にスカフォールドを生成
(といってもこれをダウンロードするだけで勝手にユーザー機能が実装出来るし、バリデーションもかかってるので、楽チンです)
詳しくはこちらから(laravelドキュメント)
https://readouble.com/laravel/6.x/ja/frontend.html

ターミナル
php artisan ui bootstrap --auth

新規登録画面でバリデーションエラーの確認

laravelではデフォルトで英語のエラーメッセージ用のファイルが準備されてます。

app
 |_resources
          |_lang/en
                 |_validation.php

ここを見るとズラズラっと英語で何かしらが記述されています。
この中にバリデーションエラメッセージが詰め込まれていると思って下さい。

日本語化されているファイルを貰っちゃいます

『laravel バリデーション 日本語』
とかで調べると色々やり方が出てくる思いますが、今回はこちらの方のGitHubにあげておられたファイルを頂戴します。

ここをクリックして

今回はZIPファイルをダウンロードしました。

後は、この中にあるjaフォルダをenディレクトリと同じ階層に貼り付けました。

あと少しだけ

githubでも説明されていた通り、こちらのjaディレクトリを読み込ませる為の設定変更が要ります。

config
     |_app.php

この中の設定を変えます

'locale' => 'ja',
resources/lang/ja/validation.php
一番下の方にある
'attributes' => [],

この中に、設定させたいワードを入力させます。

'attributes' => [
        'password'=>'パスワード'
    ],

取り敢えずすぐに使いそうなワードだけ設定して

バリデーションエラーメッセージも無事に日本語化されてます。

Laravelは最初からかなり色々便利な機能が盛り込まれている分、自分でちょこちょこ直したくても上手くいかない事が多かったです。自分の場合はドキュメントの解説をしてくれる教材を見聞きしながら、徐々にドキュメントの使い方に慣れていっていると言う感じです。
使い方に慣れてくると、もっと色々な実装も出来てくると思いますので、そこは変化を楽しみながら進めていこうと思います。

あと、今回はlaravel6で行っていますので、最新のバージョンで上手くいくかどうかまでは確認出来ておりません。

宜しくお願いします。