CakePHP 4 を Localized プラグインで日本語化
はじめに
今日は CakePHP 4 のバリデーションエラーメッセージなどを
CakePHP Localized plugin を使って日本語化する方法をご紹介します。
- CakePHP
- 4.5
- CakePHP Localized plugin
- 4.1
日本語化の方法
まず config/app.php の defaultLocale を ja_JP にます。
日本語化する場合は defaultTimezone も Asia/Tokyo にすることが多いでしょうか。
config/app.php
'defaultLocale' => env('APP_DEFAULT_LOCALE', 'ja_JP'),
// ↓ ここの変更は必要に応じて
'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'Asia/Tokyo'),
- Setting the Default Locale (Internationalization & Localization - 4.x)
- https://book.cakephp.org/4/en/core-libraries/internationalization-and-localization.html#setting-the-default-locale
次に下記のように 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_
- GitHub - cakephp/localized: I18n and L10n related CakePHP code
- https://github.com/cakephp/localized
追記
少なくとも CakePHP 4.5 + CakePHP Localized plugin 4.1 の組み合わせでは 400 系エラーページのメッセージが日本語化されませんでした。
原因や対応方法は下記で紹介しています。
- CakePHP 4 + Localized プラグインで 400 系エラー画面が日本語化されない / Twin Turbo Computing
- https://tt-computing.com/cake4-localized-error400-fix