目次
こんにちは、cocomaruです!
今回はLaravelで日本語化を行うための手順を紹介していきます。
この対応を行えば、バリデーションのメッセージなどを日本語で表示することができるようになります。
configファイルを編集しよう。
それでは早速、対応を進めていきましょう。
ロケールの設定
まずはロケールの設定を行います。
設定は「config/app.php」を以下のように編集します。
config/app.php
// ...
'locale' => 'ja',
// ...
タイムゾーンの設定
次にタイムゾーンを日本用に設定変更しましょう。
デフォルトは「UTC」となっていますが、それを以下のように変更してください。
config/app.php
// ...
'timezone' => 'Asia/Tokyo',
// ...
バリデーションメッセージを日本語化しよう
次はバリデーションメッセージを日本語化してみます。
既存のバリデーションメッセージファイルを日本語用へコピー
すでに「en」用のファイルがありますが、それを一旦コピーしましょう。
$ cp resources/lang/en/validation.php resources/lang/ja/validation.php
バリデーションメッセージファイルを日本語化
コピーが終わったら、該当のファイルを編集します。
今回、ToDoアプリのフォームバリデーションで使用したファイルを使って説明を進めます。
ここでは入力フォームの項目(attributes)の「task_name」という命名で、そのバリデーションは「必須」と「最大文字数チェック」でした。
ですので、今回は「max」と「required」のバリデーションルールのメッセージと、入力フォームの項目名を日本語化していきたいと思います。
resources/lang/ja/validation.php
<?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.
|
*/
// ...
// その他の行は一旦削除
// ...
'max' => [
'string' => ':attributeは:max文字以内で入力してください。',
],
'required' => ':attributeは必須項目です。',
// ...
// その他の行は一旦削除
// ...
/*
|--------------------------------------------------------------------------
| 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' => [
'task_name' => 'タスク名'
],
viewファイルを日本語化
バリデーションファイルの編集が完了したら、viewファイルも「Task List」を「タスク一覧」、ボタン名の「Add」を「追加」のように日本語化していきます。
こちらに関しては、任意でお好きなように編集してください。
編集後
編集後の画面を見ると、いずれの画面も日本語化されていることが確認できました。
初期画面

エラー画面

以上が、Laravelの日本語化の対応方法になります。
不明点がございましたら、ご連絡ください!!