Add request language listener to set locale based on language headers
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user