translator = $translator; $this->session = $session; } /** * Process an incoming server request and setting the locale if required * * @param ServerRequestInterface $request * @param RequestHandlerInterface $handler * @return ResponseInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $query = $request->getQueryParams(); if (isset($query['set-locale']) && $this->translator->hasLocale($query['set-locale'])) { $locale = $query['set-locale']; $this->translator->setLocale($locale); $this->session->set('locale', $locale); } return $handler->handle($request); } }