Laravelの標準メッセージを日本語化する

Laravelの標準メッセージを日本語化する

Laravelをインストールしたままだとメッセージは英語のままです。

こんな感じですべてが英語のままですね。

私は日本人なので日本語化してみます。

PHP本体はXamppをインストールした前提としております。

PHPの開発環境としてXAMPPをインストールする[Windows版]

PHPをプログラミングするにあたって最初に必要なものは開発環境です。 XAMPP…
programism.net

また、LivewireのJetstreamをインストールした状態で行っています。

LaravelにJetstream Livewireをインストールする

LaravelにはJetstreamという標準の認証機能があります。 これをイン…
programism.net

翻訳ファイルをインストール

Laravel-Langというパッケージがあるのでこれをインストールします。

Getting Started | Laravel Lang

List of 78 languages for Laravel Framewo…
laravel-lang.com

PowerShellを起動して以下を実行します。

#プロジェクトのホームディレクトリに移動
cd C:\xampp\htdocs\laravel-test

#翻訳ファイルをダウンロード
composer require laravel-lang/lang:~8.0

#json訳ファイルをresoucesにコピー
cp .\vendor\laravel-lang\lang\json\ja.json .\resources\lang\

#ソースファイルをresoucesにコピー
cp -R .\vendor\laravel-lang\lang\src\ja .\resources\lang\

コマンドを実行したら次の6ファイルが作成された状態になります。

  • /resources/lang/ja.json
  • /resources/lang/ja/auth.php
  • /resources/lang/ja/pagination.php
  • /resources/lang/ja/passwords.php
  • /resources/lang/ja/validation-inline.php
  • /resources/lang/ja/validation.php

追加されていますね。

Laravelで日本語化設定する

インストールしただけでは日本語表示しないのでLaravel側で設定します。

/config/app.php の timezone と local を次のように変更します。

//UTC から Asia/Tokyo に変更
'timezone' => 'Asia/Tokyo',

//en から ja に変更
'locale' => 'ja',

試しにプロフィール編集画面を確認してみます。

日本語化されました!

エラーメッセージの各項目名を日本語化するには

全体的に日本語化されましたが一部翻訳されない部分があります。

エラーメッセージの項目名などがそれになります。

プロフィール編集画面で氏名とメールアドレスを空にして更新してみます。

「name」「email」がそのまま表示されていますね。

翻訳ファイルに定義されていないものについては項目名がそのまま出力されてしまいます。

今回はバリデーションエラーの項目名になるので「/resources/lang/ja/validation.php」の attributes に name と email を追加します。


'attributes' => [
    'name' => '氏名',
    'email' => 'メールアドレス',
],

もう一度更新してみると・・・

日本語で表示されました!