Изменение языкового стандарта, как вы делаете это правильно:
I18n::locale('da_DK');
Но если это изменение его в админке тоже, то вопрос чисто о том, как ваше приложение структурировано и где вы находитесь изменение языкового стандарта.
Если вы установили локаль в AppController
, например, это изменится для всех контроллеров. Есть много способов сделать это. Вы можете создать AdminController
, который обрабатывает префикс /admin
и изменяет локаль именно для этого префикса.
namespace App\Controller\Admin;
use App\Controller\AppController;
use Cake\Event\Event;
use Cake\I18n\I18n;
/**
* Application Controller for `admin` prefixed controllers.
*
* All controllers within the `app/Controller/Admin` directory should extend this
* controller rather than the normal `AppController`.
*/
class AdminController extends AppController
{
public function beforeFilter(Event $event)
{
parent::beforeFilter($event);
I18n::locale('en_GB');
}
}
Затем убедитесь, что вы правильно настроить маршрут префикса для /admin
, так что вы можете поместить все контроллеры администратора в app/Controller/Admin
, и все эти контроллеры должны расширить AdminController
вместо AppController
.
https://book.cakephp.org/3.0/en/development/routing.html#prefix-routing
Можете ли вы рассказать нам, как вы отличаетесь публичными действиями с действиями администратора? вы используете префикс, например! –