src/Doctrine/Extensions/GlobalHintExtension.php line 34

  1. <?php
  2. // src/Doctrine/Extensions/GlobalHintExtension.php
  3. namespace App\Doctrine\Extensions;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Gedmo\Translatable\TranslatableListener;
  6. use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
  7. use Symfony\Component\HttpFoundation\RequestStack;
  8. use Symfony\Component\HttpKernel\Event\RequestEvent;
  9. use Symfony\Component\HttpKernel\Event\ExceptionEvent;
  10. #[AsEventListener(eventRequestEvent::class, method'onKernelRequest')]
  11. #[AsEventListener(eventExceptionEvent::class, method'onKernelException')]
  12. class GlobalHintExtension
  13. {
  14.     private $translatableListener;
  15.     public function __construct(TranslatableListener $translatableListener,private readonly RequestStack $requestStack)
  16.     {
  17.         $this->translatableListener $translatableListener;
  18.     }
  19.     public function onKernelRequest(RequestEvent $event)
  20.     {
  21.         // Enable translation fallback globally
  22.         $this->translatableListener->setTranslationFallback(true);
  23.         $this->translatableListener->setTranslatableLocale($this->requestStack->getCurrentRequest()->getLocale());
  24.     }
  25.     public function onKernelException(ExceptionEvent $event)
  26.     {
  27.         // Handle kernel exception
  28.     }
  29. }