81
73

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

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

81
73
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
81
73

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?