Laravel5で入力チェックを実装した際、デフォルトのValidationMessageが英語だったので、日本語化しました。
その際の手順を下記で紹介していきます。
##環境
MAC OSX EL Capitan ver 10.11.5
PHP 7.0.0
Laravel 5.2.41
##デフォルトのValidationMessageを確認する
お馴染のログイン画面
required. あー「必須」入力か.....
もちろんわかるのですが、日本語にしましょう笑
では下記で設定ファイルをいじっていきます!
##localeをjaに変更する
config/app.php
を開き70行目くらいにApplication Locale Configurationen
という項目があるので、
en
をja
に変更する
'locale' => 'ja', // 変更前は←en
##resources/lang配下にjaフォルダを作成する
同階層にあるenフォルダをコピーし、jaにリネームする
下記のような構造になるはず!
resources
└── lang
├── en
│ └── validation.php
└── ja
└── validation.php
##resources/lang/ja/validation.phpの中身を書き換える
'required' => ':attributeは必須です。',
上記のような感じで、一個一個変えていってもいいんですが、めんどくさい.....
探してみたら、翻訳版をあげてくれている人が居ました!感謝!!
https://gist.github.com/syokunin/b37725686b5baf09255b
resources/lang/ja/validation.phpを上記URLで取得したvalidation.phpへ置き換えます。
##再度画面でValidationMessageを確認してみる
おっ!いいですね!日本語になりました!
ただここまで来たら欲を出して、項目名も日本語にしたいな〜
##項目名を日本語化する
resources/lang/ja/validation.php
の100行目あたりに、Custom Validation Attributes
という項目がある。
そのすぐ下の'attributes'
に定義を追加していく。
この際、左辺の項目名をviewのname属性と一致させる必要がある。
'attributes' => [
'email'=>'メールアドレス',
'password'=>'パスワード',
],
今度は項目名も日本語化されました!