I created a EventListener to set the locale based on the user preferences, i set the langage like this in my listener:
$request->setLocale($user->getLanguage());
$request->getSession()->set('_locale',$user->getLanguage());
I tried both..
I register the Listener in the service.yml
:
app.event_listener.locale:
class: 'AppBundle\EventListener\LocaleListener'
arguments:
- '@security.token_storage'
tags:
- {name: 'kernel.event_listener', event: 'kernel.request', method: 'onKernelRequest'}
I also tried to add a priority: 17
to the service but it does not change anything...
The listener seems to works, i can get the Locale in my controller with a $request->getLocale()
(or session).
But Twig is still in the default language I defined in the config.yml
:
parameters:
locale: fr
I'm pretty lost now, any tips ?
_{{ 'user.list' | trans({}, 'navigation') }}
- Xavier