['prepareEnvironment', -100], ]; } public function prepareEnvironment(RequestEvent $event): void { // ignore sub-requests if (!$event->isMainRequest()) { return; } $locale = $event->getRequest()->getLocale(); // events like the toolbar might not have a token if (null !== ($token = $this->tokenStorage->getToken())) { $user = $token->getUser(); if ($user instanceof User) { $locale = $user->getLocale(); date_default_timezone_set($user->getTimezone()); $user->initCanSeeAllData($this->auth->isGranted('view_all_data')); } } // the locale is primarily used for formatting values, so we depend on the user locale if available \Locale::setDefault($locale); $this->localeFormatExtensions->setLocale($locale); } }