src/EventListener/LocaleListener.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Symfony\Component\HttpKernel\Event\RequestEvent;
  4. class LocaleListener
  5. {
  6.     public function onKernelRequest(RequestEvent $event): void
  7.     {
  8.         $request $event->getRequest();
  9.         if ($request->attributes->get('_route') !== 'createoffer') {
  10.             return;
  11.         }
  12.         $path ltrim($request->getPathInfo(), '/');
  13.         if (strpos($path'fr/') === 0) {
  14.             $request->setLocale('fr');
  15.             $request->attributes->set('_locale''fr');
  16.         } elseif (strpos($path'de/') === 0) {
  17.             $request->setLocale('de');
  18.             $request->attributes->set('_locale''de');
  19.         } elseif (strpos($path'es/') === 0) {
  20.             $request->setLocale('es');
  21.             $request->attributes->set('_locale''es');
  22.         } elseif (strpos($path'nl/') === 0) {
  23.             $request->setLocale('nl');
  24.             $request->attributes->set('_locale''nl');
  25.         } else {
  26.             // Si aucune langue détectée, on met EN par défaut
  27.             $request->setLocale('en');
  28.             $request->attributes->set('_locale''en');
  29.         }
  30.     }
  31. }