前提・実現したいこと
PHP laravel5.5でタスク共有のスケジュールサイトを作成しています。
フォーム入力のバリデーションのエラー表示言語を英語→日本語にしたいです。
発生している問題・エラーメッセージ
エラーは発生していないのですが、バリデーションを日本語化する内容を検索し実行しましたが英語表示のままで変わりません。
該当のソースコード
resources/lang以下にenフォルダーをコピーしjaフォルダ名にして日本語化を公開しているgithubからファイルを書き換えました。
ソースコード
<?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には真偽値を指定してください。', 'confirmed' => ':attributeが確認用の値と一致しません。', 'date' => ':attributeには正しい形式の日付を指定してください。', 'date_format' => '":format"という形式の日付を指定してください。', 'different' => ':attributeには:otherとは異なる値を指定してください。', 'digits' => ':attributeには:digits桁の数値を指定してください。', 'digits_between' => ':attributeには:min〜:max桁の数値を指定してください。', 'dimensions' => ':attributeの画像サイズが不正です。', 'distinct' => '指定された:attributeは既に存在しています。', 'email' => ':attributeには正しい形式のメールアドレスを指定してください。', 'exists' => '指定された:attributeは存在しません。', 'file' => ':attributeにはファイルを指定してください。', 'filled' => ':attributeには空でない値を指定してください。', 'image' => ':attributeには画像ファイルを指定してください。', 'in' => ':attributeには:valuesのうちいずれかの値を指定してください。', 'in_array' => ':attributeが:otherに含まれていません。', 'integer' => ':attributeには整数を指定してください。', 'ip' => ':attributeには正しい形式のIPアドレスを指定してください。', 'ipv4' => ':attributeには正しい形式のIPv4アドレスを指定してください。', 'ipv6' => ':attributeには正しい形式のIPv6アドレスを指定してください。', 'json' => ':attributeには正しい形式のJSON文字列を指定してください。', '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には:valuesのうちいずれとも異なる値を指定してください。', 'numeric' => ':attributeには数値を指定してください。', 'present' => ':attributeには現在時刻を指定してください。', 'regex' => '正しい形式の:attributeを指定してください。', 'required' => ':attributeは必須です。', 'required_if' => ':otherが:valueの時:attributeは必須です。', 'required_unless' => ':otherが:values以外の時: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には正しい形式のURLを指定してください。', /* |-------------------------------------------------------------------------- | 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' => [ 'email' => 'メールアドレス', 'password' => 'パスワード', ], ];
また、config/app.phpの内容もen→jaに変更しています。
<?php ~略~ */ 'locale' => 'ja', /* |-------------------------------------------------------------------------- | Application Fallback Locale |-------------------------------------------------------------------------- | | The fallback locale determines the locale to use when the current one | is not available. You may change the value to correspond to any of | the language folders that are provided through your application. | */ 'fallback_locale' => 'ja', /* |-------------------------------------------------------------------------- | Encryption Key |-------------------------------------------------------------------------- | | This key is used by the Illuminate encrypter service and should be set | to a random, 32 character string, otherwise these encrypted strings | will not be safe. Please do this before deploying an application! | */
app/Http/Controllers/Auth/RegisterController.php(抜粋)
protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6|confirmed', ]);
app/Http/Controllers/TasksController.php(抜粋)
public function store(Request $request) { $this->validate($request, [ 'title' =>'required|max:20', 'start_date' => 'required', 'start_time' => 'required', 'end_date' =>'required', 'end_time' =>'required', 'place' => 'required|max:20', 'content' => 'required|max:191', ]); $request->user()->tasks()->create([ 'title' => $request->title, 'start_date' =>$request->start_date, 'start_time' =>$request->start_time, 'end_date' =>$request->end_date, 'end_time' =>$request->end_time, 'place' =>$request->place, 'content'=>$request->content, ]); return redirect('/'); ~略~ public function update(Request $request, $id) { $this->validate($request, [ 'title' =>'required|max:20', 'start_date' => 'required', 'start_time' => 'required', 'end_date' =>'required', 'end_time' =>'required', 'place' => 'required|max:20', 'content' => 'required|max:191', ]); $task = Task::find($id); if (\Auth::id() !== $task->user_id) { return redirect('/'); } $task->title = $request->title; $task->start_date = $request->start_date; $task->start_time = $request->start_time; $task->end_date = $request->end_date; $task->end_time = $request->end_time; $task->place = $request->place; $task->content = $request->content; $task->save(); return redirect('/'); }
試したこと
他の簡単なタスクリストを表示させるサイトを作っていたプロジェクトでは上記を変更した場合、日本語化はできました。
今回のスケジュールサイトではフルカレンダーのライブラリを使用していますが、他は関係ありそうな所がみつかりませんでした。
下記githubソースコードです。
https://github.com/yuji1291/connect.git
もしよろしければ、問題解決になりそうなアドバイスありましたらお願いします。
回答1件
あなたの回答
tips
プレビュー