/**
  * @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;
 }
Example #2
0
 /**
  * @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(), []);
 }
Example #3
0
 public function isCurrentUrl($url)
 {
     return (bool) ($this->request !== null ? $url == $this->request->getUrl() : false);
 }