CakePHP 4 を Localized プラグインで日本語化

はじめに

今日は CakePHP 4 のバリデーションエラーメッセージなどを
CakePHP Localized plugin を使って日本語化する方法をご紹介します。

CakePHP
4.5
CakePHP Localized plugin
4.1

日本語化の方法

まず config/app.php の defaultLocaleja_JP にます。

日本語化する場合は defaultTimezone も Asia/Tokyo にすることが多いでしょうか。

config/app.php
'defaultLocale' => env('APP_DEFAULT_LOCALE', 'ja_JP'),
// ↓ ここの変更は必要に応じて
'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'Asia/Tokyo'),

次に下記のように composer require で CakePHP Localized plugin をインストールし、
bin/cake plugin load でプラグイン読込設定を記述します。

cd /path/to/your/project
composer require cakephp/localized
bin/cake plugin load Cake/Localized

最後に vendor/cakephp/localized/resources/locales/ja_JP/cake.po を
resources/locales/ja_JP/cake.po にコピーすれば完了です。

うまく翻訳されないときは、下記などでキャッシュクリアを試してみてください。

bin/cake cache _cake_core_

追記

少なくとも CakePHP 4.5 + CakePHP Localized plugin 4.1 の組み合わせでは 400 系エラーページのメッセージが日本語化されませんでした。

原因や対応方法は下記で紹介しています。