laravel

Laravel8.Xでエラーメッセージ等を日本語化させる方法(バリデーションetc...)【画像つきで解説】

2021年7月22日

エラーメッセージの画面

 

あなた
Laravel8系で、バリデーションエラーの文言が英語で表示されてしまいます。

エラーメッセージを日本語で表示できないですかね?

 

デフォルトだと以下のように英語で表示されています。

 

laravelのログイン時のエラー文言

 

このあたりを日本語化していきます。

具体的な手順を画像つきで解説しますね。

 

【前提】

 

エラーメッセージ等を日本語化させたい→結論:resources/langを変更

 

結論から話すとresources/lang以下のファイルを日本語のものにすればOKです。

デフォルトだと「en」になっているものを「ja」にしましょう。

↓デフォルト

laravelのファイル群

 

日本語化対応された「auth.php」「pagination.php」「passwords.php」「validation.php」を配置してあげましょう。

 

GitHubで入手可能

 

以下のリポジトリに、各国に対応したエラーメッセージのファイルがあります。

https://github.com/Laravel-Lang/lang

 

日本語のファイルは「lang/locales/ja/」の中にあります。

これらをダウンロードして、既存のプロジェクトの「en」を置き換えましょう。

 

エラーメッセージ用のGitHub

 

以下置き換えてみた感じです。

 

言語を置き換えた後のファイル

 

では、動作確認してみましょう。

 

1部まだ英語表記される....

 

確認したところ、以下のような感じで、passwordなど1部まだ英語表記されていました。

(登録画面)

 

laravelのエラーメッセージ

 

ということで、いくつか変更を加えます。

 

✔ resources/lang/ja/validation.phpを変更

 

ファイルの末尾にある、attributeを以下のように変更してください。

 

 'attributes'           => [
        'name' => '名前',
        'email' => 'メールアドレス',
        'password' => 'パスワード'
    ],

 

確認してみると、さきほどのpasswordなどが日本語で表示されていました。

 

日本語に治ったエラーメッセージ

 

しかし、まだ「Whoops! Something went wrong.」が表示されていますね。

こちらを直しましょう。

 

✔ 「Whoops! Something went wrong.」→resources/views/components/auth-validation-errors.blade.php

 

resources/views/components/auth-validation-errors.blade.phpを見てみましょう。

デフォルトでは以下のようになっています。

 

@props(['errors'])

@if ($errors->any())
    <div {{ $attributes }}>
        <div class="font-medium text-red-600">
            {{ __('Whoops! Something went wrong.') }}
        </div>

        <ul class="mt-3 list-disc list-inside text-sm text-red-600">
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

 

ここの「whoops..」を修正してあげます。

以下のようにします。

 

@props(['errors'])

@if ($errors->any())
<div {{ $attributes }}>
    <div class="font-medium text-red-600">
        {{ __('エラーの内容を確認してください。') }}
    </div>

    <ul class="mt-3 list-disc list-inside text-sm text-red-600">
        @foreach ($errors->all() as $error)
        <li>{{ $error }}</li>
        @endforeach
    </ul>
</div>
@endif

 

もう一度読み込むと、日本語になっていました。

 

日本語に変更されたバリデーション

 

ということで今回は以上です。

 

プログラミングスクールに関する情報

【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】と書かれた画像
【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】

  あなたプログラミングスクールに通いたいけどたくさんありすぎてどこがいいのかわかりません。   最近はエンジニアブームということもありプログラミングスクールが増えました。 一方でたくさんありすぎてど ...

続きを見る

返金保証ありのプログラミングスクールランキング【エンジニアが選びました】と表示されたパソコンの画面
【転職保証つき】返金保証ありのプログラミングスクールランキング【エンジニアが選びました】

  あなた返金保証がついているオススメのプログラミングスクールってありますか?   結論から話すと、返金保証つきのプログラミングスクールランキングは次の通りです。   1位:DMMWEBキャンプ  【 ...

続きを見る

wordpress
【無料あり】WEB制作を学べるオンラインスクールランキング【副業で稼ぎたい方向け】

  あなたWeb制作の副業で稼ぎたいけど、どのスクールで学ぶのが良いの? スクール選びで失敗はしたくないです。   ↑このような疑問や不安を解決するべく、現役のWebエンジニアがWEB制作を学べるスク ...

続きを見る

フリーランス
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】

  あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか?   最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきました。 結論から話すと ...

続きを見る

WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】と書かれた画像
WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】

  あなたWEB系の自社開発企業に就職したいです。 オススメのスクールを教えて下さい。   結論から話すと、WEB系自社開発に行きやすいスクールのランキングは以下の通り。   第1位:テックアカデミー ...

続きを見る

-laravel

© 2024 エンジニアてんし君ブログ