こちらの記事を参考にしました
Laravel5でのValidationMessageを日本語化してみた
https://qiita.com/Rock22/items/1db96c801d78ebafb7cc
上記記事で参照しているソースは Laravel5.1 でしたので、
5.7で増えているメッセージ分を追加してみました。
下記の環境設定他関連記事はこちら
Laravel + Vue + Vuetify で業務サイト作ってみる
#1.日本語メッセージファイルを配置
記事にあるファイルを取得してきて
https://gist.github.com/syokunin/b37725686b5baf09255b
5.7 にある英語版と比較。
足りないところを追加して翻訳( // 追加 のある行)
日本語がおかしい気がしてますが、良い訳がありましたら指摘いただけると嬉しいです
<?php // resources/lang/ja/validation.php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'accepted' => ':attributeを承認してください。',
'active_url' => ':attributeは正しいURLではありません。',
'after' => ':attributeは:date以降の日付にしてください。',
'after_or_equal' => ':attributeは:date以降の日付にしてください。', // 追加
'alpha' => ':attributeは英字のみにしてください。',
'alpha_dash' => ':attributeは英数字とハイフンのみにしてください。',
'alpha_num' => ':attributeは英数字のみにしてください。',
'array' => ':attributeは配列にしてください。',
'before' => ':attributeは:date以前の日付にしてください。',
'before_or_equal' => ':attributeは:date以前の日付にしてください。', // 追加
'between' => [
'numeric' => ':attributeは:min?:maxまでにしてください。',
'file' => ':attributeは:min?:max KBまでのファイルにしてください。',
'string' => ':attributeは:min?:max文字にしてください。',
'array' => ':attributeは:min?:max個までにしてください。',
],
'boolean' => ':attributeはtrueかfalseにしてください。',
'confirmed' => ':attributeは確認用項目と一致していません。',
'date' => ':attributeは正しい日付ではありません。',
'date_format' => ':attributeは":format"書式と一致していません。',
'different' => ':attributeは:otherと違うものにしてください。',
'digits' => ':attributeは:digits桁にしてください',
'digits_between' => ':attributeは:min?:max桁にしてください。',
'dimensions' => ':attributeは画像サイズが不正です。', // 追加
'distinct' => ':attributeは重複しています。', // 追加
'email' => ':attributeを正しいメールアドレスにしてください。',
'exists' => '選択された:attributeは正しくありません。',
'file' => ':attributeはファイルにしてください。', // 追加
'filled' => ':attributeは必須です。',
'gt' => [
'numeric' => ':attributeは:value以上にしてください。', // 追加
'file' => ':attributeは:value KB以上のファイルにしてください。.', // 追加
'string' => ':attributeは:value文字以上にしてください。', // 追加
'array' => ':attributeは:value個以上にしてください。', // 追加
],
'gte' => [
'numeric' => ':attributeは:value以上にしてください。', // 追加
'file' => ':attributeは:value KB以上のファイルにしてください。.', // 追加
'string' => ':attributeは:value文字以上にしてください。', // 追加
'array' => ':attributeは:value個以上にしてください。', // 追加
],
'image' => ':attributeは画像にしてください。',
'in' => '選択された:attributeは正しくありません。',
'in_array' => 'The :attribute field does not exist in :other.', // 追加
'integer' => ':attributeは整数にしてください。',
'ip' => ':attributeを正しいIPアドレスにしてください。',
'ipv4' => ':attributeを正しいIPv4アドレスにしてください。', // 追加
'ipv6' => ':attributeを正しいIPv6アドレスにしてください。', // 追加
'json' => ':attributeを正しいJSON形式にしてください。', // 追加
'lt' => [
'numeric' => ':attributeは:value より小さくなければなりません。', // 追加
'file' => ':attributeは:value KBより小さくなければなりません。', // 追加
'string' => ':attributeは:value 文字以下でなければなりません。', // 追加
'array' => ':attributeは:value 項目以下でなければなりません。', // 追加
],
'lte' => [
'numeric' => ':attributeは:value以下にしてください。', // 追加
'file' => ':attributeは:value KB以下のファイルにしてください。.', // 追加
'string' => ':attributeは:value文字以下にしてください。', // 追加
'array' => ':attributeは:value個以下にしてください。', // 追加
],
'max' => [
'numeric' => ':attributeは:max以下にしてください。',
'file' => ':attributeは:max KB以下のファイルにしてください。.',
'string' => ':attributeは:max文字以下にしてください。',
'array' => ':attributeは:max個以下にしてください。',
],
'mimes' => ':attributeは:valuesタイプのファイルにしてください。',
'mimetypes' => ':attributeは:valuesタイプのファイルにしてください。', // 追加
'min' => [
'numeric' => ':attributeは:min以上にしてください。',
'file' => ':attributeは:min KB以上のファイルにしてください。.',
'string' => ':attributeは:min文字以上にしてください。',
'array' => ':attributeは:min個以上にしてください。',
],
'not_in' => '選択された:attributeは正しくありません。',
'not_regex' => ':attributeの書式が正しくありません。', // 追加
'numeric' => ':attributeは数字にしてください。',
'present' => ':attributeは存在する必要があります。', // 追加
'regex' => ':attributeの書式が正しくありません。',
'required' => ':attributeは必須です。',
'required_if' => ':otherが:valueの時、:attributeは必須です。',
'required_unless' => ':otherが:valueにないの時、:attributeは必須です。', // 追加
'required_with' => ':valuesが存在する時、:attributeは必須です。',
'required_with_all' => ':valuesが存在する時、:attributeは必須です。',
'required_without' => ':valuesが存在しない時、:attributeは必須です。',
'required_without_all' => ':valuesが存在しない時、:attributeは必須です。',
'same' => ':attributeと:otherは一致していません。',
'size' => [
'numeric' => ':attributeは:sizeにしてください。',
'file' => ':attributeは:size KBにしてください。.',
'string' => ':attribute:size文字にしてください。',
'array' => ':attributeは:size個にしてください。',
],
'string' => ':attributeは文字列にしてください。',
'timezone' => ':attributeは正しいタイムゾーンを指定してください。',
'unique' => ':attributeは既に存在します。',
'uploaded' => ':attributeのアップロードに失敗しました。', // 追加
'url' => ':attributeを正しい書式にしてください。',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [],
];
#2.言語設定を 日本語に
もともと en になっている設定を ja に変更
~~
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'ja',
~~
#3.動作確認
変更前
メッセージが英語
変更後
メッセージは日本語に
#4.項目名も日本語化
参考記事の通り項目名もメッセージファイルに追記
~~
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [
'name' => '名前',
'loginid' => 'ログインID',
'pass' => 'パスワード',
],
~~
変更確認
項目も日本語になった
以上
Laravelのエラーメッセージは日本語になりました(Vue.js部分はまだ。。)
今回もソースはこちら
https://github.com/u9m31/u9m31/tree/step06