0
3

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 3 years have passed since last update.

Laravelでバリデーションエラーを日本語化対応する

Posted at

#はじめに
Laravelはバリデーションルールに沿わないリクエストが送られてきた時、デフォルトで英語の警告文が表示されます。
しかし、日本語で警告文を表示させたい時がほとんどだと思いますので今回は日本語への変更方法についてまとめます。

5分もあれば終わります!

#初期設定
Laravelプロジェクト配下のconfig/app.phpを開いて設定を変更します。
以下の項目を適宜変更していきます。

config/app.php
//タイムゾーンの変更
'timezone' => 'Asia/Tokyo',

//ロケールの変更(言語のことです)
'locale' => 'ja',

//今は関係ありませんが、ダミーデータを作るさいに日本語でダミーデータを作成してくれます
'faker_locale' => 'ja_JP',

configファイルを変更したので、キャッシュクリア系のコマンドを実行しておきましょう。

$ php artisan config cache

#日本語化したファイル作成

デフォルトの英語警告文はどこに記述されているかと言うと、resources/lang/enフォルダ内にあります。
例えば、resources/lang/en/auth.phpファイルの場合

resources/lang/en/auth.php
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Authentication Language Lines
    |--------------------------------------------------------------------------
    |
    | The following language lines are used during authentication for various
    | messages that we need to display to the user. You are free to modify
    | these language lines according to your application's requirements.
    |
    */

    'failed' => 'These credentials do not match our records.',
    'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',

];

ここではログイン画面で認証に失敗した場合、画面には

These credentials do not match our records.

と表示されるはずです。

ここを日本語に直してあげれば良いだけです!

##コピペで超簡単に日本語化する

日本語化ファイルについて、github上で公開してくれている方がいましたので今回はそこから引用してきます!

Laravel-lang
https://github.com/caouecs/Laravel-lang/tree/master/src/ja

自分のLaravelプロジェクト配下にresources/lang/jaフォルダを作成し、あとはこのページの通りのファイルを作成するだけです。

resources/lang/ja/auth.php
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Authentication Language Lines
    |--------------------------------------------------------------------------
    |
    | The following language lines are used during authentication for various
    | messages that we need to display to the user. You are free to modify
    | these language lines according to your application's requirements.
    |
    */

     'failed'   => '認証情報と一致するレコードがありません。',
     'throttle' => 'ログインの試行回数が多すぎます。:seconds 秒後にお試しください。',
];

試しに、resources/lang/ja/auth.phpを作成してみました。
これで日本語化対応されているはずです。

あとはresources/lang/ja/validation.phpファイルなんかも同様に作成していけば完了です。
今回はここまでにします!

#参考ページ
Laravel-lang:https://github.com/caouecs/Laravel-lang/tree/master/src/ja
Fred Delrieu氏のgithubアカウントから参照

0
3
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
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?