Laravelのビューファイルから、お知らせメール、エラーメッセージなどすべてを日本語にするには、5つの方法があります。
残念ながら、「これだけでばっちり」というのはなく、日本語にしたい場所ごとに方法が異なってきます。
5つの日本語化の方法を解説していきますね。
検証するうえで、Laravelのバージョンは、8を使用しています。
Laravelをビューから通知まで日本語にするための5つの方法
まずは、デフォルトの言語を日本語にしておきましょう。
app/config のapp.phpファイルを開き、locale を en から ja に変えておきます。
その後、ますはステップ①からはじめていきます。
ステップ① バリデーション部分を翻訳する
次のコマンドをひとつずつ順番に実行してください。
(実行後、とくに反応がないのですが、気にせずすすめていきましょう^^;)
1 2 3 |
php -r "copy('https://readouble.com/laravel/8.x/ja/install-ja-lang-files.php', 'install-ja-lang.php');" php -f install-ja-lang.php php -r "unlink('install-ja-lang.php');" |
すべて入力すると、resources/lang/ja の中に下記の4つの日本語翻訳ファイルが出来上がります。
それぞれ、次の部分の翻訳が入っています。
auth.php | 認証用 |
---|---|
pagination.php | ページネーション用 |
passwords.php | パスワード用 |
valication.php | バリデーション用 |
4つあるものの、バリデーション以外は、あまり翻訳は入っていません。
とはいえこれにより、エラーが起こったときに日本語で表示されるようになります。
翻訳内容が気に入らなかった場合
翻訳が気に入らないってことも、結構ありますよね。
そういう場合には、ファイルを上書きして編集してしまいましょう。
あるいは、GitHubで【Laravel lang ja】などで検索すると、翻訳ファイルが見つかります。
気に入ったものをダウンロードし、resources/lang/ja 内のファイルと差し替えましょう。
ステップ② フィールド名を個別に翻訳する
これでエラーメッセージは日本語になりましたが、個々のフィールド名は英語のまま残っていたりします。
この部分を日本語にするには、ステップ①のバリデーションファイルを編集する必要があります。
まずは、日本語化したい箇所をチェックしておきましょう。
たとえば、上記のフォームの「件名」は、次のコードで書かれています。
1 |
<input type="text" name="title" class="form-control" id="title" > |
name属性の【title】部分がエラーメッセージに使われています。
resources/lang/ja の valudation.phpを開き、149行目あたりの ‘attributes’ に翻訳をいれていきます。
たとえば、titleを「件名」、bodyを「本文」としたい場合は、下記の通り。
1 2 3 4 |
'attributes' => [ 'title'=>'件名', 'body'=>'本文', ], |
これで、エラーメッセージ内のフィールド名も日本語になりました。
ステップ③ 基本部分を翻訳する
エラーメッセージは日本語になりました。
ただ、ボタンやメッセージには英語が残っています。
たとえば下記は、ログイン画面。英語のままだと、残念ですよね。
この部分を日本語化するには、下記コマンドを入力します。
1 |
composer require Laravel-Lang/lang |
vendor/laravel-lang/lang フォルダに翻訳済みファイルがインストールされます。
この中の jsonフォルダ内の ja.jason が日本語ファイルです。resources/langフォルダ内にコピペで入れましょう。
なおgit hub から 日本語ファイルだけ取ってきてもOKです。
locales/ja の中からja.jsonファイルを取ってきて、resources/langフォルダ内にコピペで入れましょう。
これで先ほどのような画面もキレイに日本語になりました。
ひとことメモ
「vendorフォルダに入れたままでもいいんじゃない?」
と思いませんでしたか?(わたしは、思いました^^;)
実はLaravelのvendorフォルダの中身は管理されていないため、Webアプリ公開時に利用できなくなります。
そのため、ja.jasonファイルをvendorフォルダからコピーしてくる必要があるのです。
翻訳内容が気に入らなかった場合
ja.jasonファイル内も、もし気に入らない翻訳があれば修正しちゃいましょう。
翻訳が必要なところだけコピペして、resources/lang の ja.jasonファイルに貼り付けるというのでも良いかと思います。
なおjsonファイルは、最後の閉じカッコの前に不要なカンマがあったりするとエラーになるので、気を付けてくださいね(経験談)。
ステップ③notificationsを使う
これで大分日本語化が進みました。
ここからは、ちょっと応用編です。
たとえばデフォルトで用意されたメールを変更したいということもありますよね。
こういった場合には、notificationsを使います。
詳しい手順は下記に記載しているので、参考にしてください。
これによって、イマイチ日本語になっていない部分を日本語にすることもできます。
↑↑↑
(残念なことに、たまにあります)
ステップ④テンプレートメールを使う
通知メールのテンプレートのような部分を翻訳したい場合があるかもしれません。
あるいは、他の方法では日本語にできなかった場合など。
そんなときには、メールテンプレートを利用する方法もあります。
詳しい手順はこちらに掲載しています。
コメント