CakePHP3:ブラウザの言語設定におうじてロケールを切り替える

まず、AppController.phpに次を追加します:

use Cake\I18n\Middleware\LocaleSelectorMiddleware;

    public function middleware($middleware)
    {
        $middleware->add(new LocaleSelectorMiddleware(['en_US', 'ja_JP']));
    }

次にbootstrap.phpにこちらを:

use Cake\Routing\DispatcherFactory;

DispatcherFactory::add('LocaleSelector', ['locales' => ['en_US', 'ja_JP']]);

これで、米語と日本語に限定で、ブラウザの設定に応じてロケールが切り替わります。

確認方法ですが、適当なテンプレートで

use Cake\I18n\I18n;

echo I18n::getLocale();

とすれば表示できます。