/** * @param Request $request * * @return bool */ public function recognizeLocale(Request $request) { $locales = $this->container->parameters->get('locales', []); if (empty($locales)) { return false; } $string = implode('|', $locales); if (preg_match("#^/({$string})/?#", $request->getUrl(), $matches)) { $locale = $matches[1]; $request->setUrl(preg_replace("#^/{$matches[1]}/?#", '/', $request->getUrl(), 1)); } else { $locale = $locales[0]; } $request->setLocale($locale); $this->container->get('translator')->setLocale($locale); return true; }
/** * @param Request $request * * @return \Symfony\Component\HttpFoundation\Request */ private function convertRequest(Request $request) { return \Symfony\Component\HttpFoundation\Request::create($request->getUrl(), $request->getMethod(), $request->atributes->all(), $request->cookies->all(), $request->files->all(), []); }
public function isCurrentUrl($url) { return (bool) ($this->request !== null ? $url == $this->request->getUrl() : false); }