[Laravel] バリデーションエラーメッセージの日本語化
- 2020年5月08日
- 技術情報
Laravel標準のバリデーション機能を使用した場合、英語でエラーメッセージが表示されます。
今回はLaravelのエラーメッセージの日本語化をおこなう方法を説明いたします。
(Laravelのバリデーション機能の基本的な使用方法については前回の記事をご参照ください。)
日本語のリソースファイルの作成/準備をおこなう。
日本語リソースファイル(validation.php)は以下に保存します。
/resources/lang/ja
「ja」は「日本語」を示しています。この部分はローカライズをおこなう言語によって変化します。
日本語リソースファイル(validation.php)は以下で公開されていますのでこちらを利用させていただいて必要に応じて文言を書き換えていく方法が効率的です。
https://gist.github.com/syokunin/b37725686b5baf09255b
日本語リソースファイル(validation.php)は「バリデーション名 => エラーメッセージ」の配列で記載されていますので、必要に応じて修正をおこないます。
'accepted' => ':attributeを承認してください。',
'active_url' => ':attributeは正しいURLではありません。',
'after' => ':attributeは:date以降の日付にしてください。',
'alpha' => ':attributeは英字のみにしてください。',
'alpha_dash' => ':attributeは英数字とハイフンのみにしてください。',
'alpha_num' => ':attributeは英数字のみにしてください。',
エラーメッセージ内の「:attribute」と記載されている部分は、検証フォームのname設定に置き換えられます。
name設定部分も日本語に置き換えたい場合、上記日本語リソースファイル(validation.php)の106行目にあるattributes部分に追加をおこないます。
例えば、name設定が「name」と設定されており、その部分を「名前」と日本語化したい場合は、以下のように記述をおこないます。
'attributes' => [
'name' => '名前',
],
アプリケーションの日本語化
アプリケーション全体の言語設定を日本語に設定をおこなえば、以上で設定した日本語のバリデーションメッセージが表示されるようになります。
アプリケーションの言語設定は
config/app.php
で設定をおこなうことが可能です。
‘locale’部分を’ja’に設定すると、日本語のバリデーションメッセージが表示されます。
'locale' => 'ja',
金曜日担当: nishida
nishida at 2020年05月08日 10:00:08