Laravel5でのValidationMessageを日本語化してみた

More than 1 year has passed since last update.

Laravel5で入力チェックを実装した際、デフォルトのValidationMessageが英語だったので、日本語化しました。

その際の手順を下記で紹介していきます。


環境

MAC OSX EL Capitan ver 10.11.5

PHP 7.0.0
Laravel 5.2.41


デフォルトのValidationMessageを確認する

お馴染のログイン画面

スクリーンショット 2016-08-04 20.27.16.png


何も入力せずに「Login」ボタンを押下すると.... ↓

スクリーンショット 2016-08-04 20.30.29.png

required. あー「必須」入力か.....


もちろんわかるのですが、日本語にしましょう笑


では下記で設定ファイルをいじっていきます!



localeをjaに変更する


config/app.phpを開き70行目くらいにApplication Locale Configurationenという項目があるので、


enjaに変更する

'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を確認してみる

スクリーンショット 2016-08-04 21.36.10.png


おっ!いいですね!日本語になりました!
ただここまで来たら欲を出して、項目名も日本語にしたいな〜


項目名を日本語化する

resources/lang/ja/validation.phpの100行目あたりに、Custom Validation Attributesという項目がある。


そのすぐ下の'attributes'に定義を追加していく。


この際、左辺の項目名をviewのname属性と一致させる必要がある。

'attributes' => [

'email'=>'メールアドレス',
'password'=>'パスワード',
],  

再度画面を確認する


スクリーンショット 2016-08-04 21.52.51.png

今度は項目名も日本語化されました!