Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
74
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@Rock22

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

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
74
Help us understand the problem. What are the problem?