Я хочу получить пользовательский язык, когда он приземлится на моем сайте, а затем привяжет его к пользователю (также придерживайтесь нового, если он хочет изменить язык).Symfony2 locale пользователя не получен
Однако я не хочу, чтобы языковой стандарт отображался в URL-адресе.
Я реализовал LocaleListener из документа Symfony2, но я могу получить локальную локаль пользователя по первому запросу.
Этот запрос не дает мне ничего для ответа:
$locale = $this->getRequest()->attributes->get('_locale');
$locale = $this->getRequest()->get('_locale');
Хотя
$this->getRequest()
Посылает эффективно
GET /Twinkler1.2.3/web/app_dev.php/ HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control: max-age=0 Connection: keep-alive Cookie: __uvt=; PHPSESSID=f28e3958ecab05fe97d6fc6950eb72ec; SQLiteManager_currentLangue=2 Host: localhost:8888 Referer: http://localhost:8888/Twinkler1.2.3/web/app_dev.php/login User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36 X-Php-Ob-Level: 0
Так как я могу получить локаль запроса (по-французски Вот)?
Заранее спасибо Жюля
спасибо, это будет действительно дать мне что-нибудь, но всегда язык по умолчанию устанавливается в parameters.yml, не мое реальное локаль. –
Хорошо, обновил мой ответ, надеюсь, что это работает. –
Да, это работает! Thanks –