Add request language listener to set locale based on language headers

This commit is contained in:
2025-01-09 14:36:05 +01:00
parent 7ef73cbd10
commit b5366d3613
@@ -0,0 +1,21 @@
<?php
namespace App\EventListener;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\KernelEvents;
#[AsEventListener(event: KernelEvents::REQUEST, method: 'processLanguage', priority: 101)]
final class RequestLanguageListener
{
public function processLanguage(RequestEvent $event): void
{
$request = $event->getRequest();
$contentLanguage = $request->headers->get('Content-Language');
if ($contentLanguage !== null) {
$request->setLocale($contentLanguage);
}
}
}