Как установить языковой стандарт для запроса с помощью symfony 3.4 - PullRequest
0 голосов
/ 19 апреля 2019

Я использую Symfony 3.4 и хочу установить язык отображения для запроса.

Я пытался, как объяснено в документации Symfony со следующим кодом

namespace AppBundle\EventListener;

use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;

class EventListener
{
    private $tokenStorage;

    public function __construct(TokenStorageInterface $tokenStorage)
    {
        $this->tokenStorage = $tokenStorage;
    }

    public function onKernelRequest(GetResponseEvent $event)
    {
        $request = $event->getRequest();
        $request->setLocale('en');
    }
}

но это не влияет на страницу.В строке состояния Symfony он все еще показывает de_DE в качестве локали.Я прочитал объяснение в этом сообщении stackoverflow , но мне кажется, что я сделал именно то, что там описано.Так что я пропустил?

1 Ответ

1 голос
/ 19 апреля 2019

Пользовательский прослушиватель должен быть вызван перед LocaleListener, который инициализирует локаль на основе текущего запроса.Для этого установите приоритет слушателя на более высокое значение, чем приоритет LocaleListener (который вы можете получить, выполнив команду debug: event kernel.request).проверить документацию https://symfony.com/doc/3.4/translation/locale.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...