Я хочу создать ссылку, которая изменит код locale
в коде ниже.Symfony3 ссылка для изменения locale
/**
*
* @Route("/changelanguage", defaults={"_locale" = "eu"}, name="changelanguage")
* @Method("GET")
*/
public function changelanguageAction(Request $request) {
$locale = $request->getLocale();
if ($locale == "eu") {
$request->setLocale('es');
$request->getSession()->set('_locale', 'es');
} else {
$request->setLocale('eu');
$request->getSession()->set('_locale', 'eu');
}
return $this->redirect($request->headers->get('referer'));
}
то, на мой прутик базового вида я использую это:
<ul class="nav navbar-nav navbar-right">
<li><a href="#">{{ app.request.locale }}</a></li>
{% if app.request.locale == "eu"%}
<li><a href="{{ path('changelanguage', {'_locale':'es'}) }}"><img src="{{ asset('bundles/app/img/espanol.png') }}" alt="Castellano"> Castellano</a></li>
{% else %}
<li><a href="{{ path('changelanguage', {'_locale':'eu'}) }}"><img src="{{ asset('bundles/app/img/euskara.png') }}" alt="Euskaraz"> Euskara</a></li>
{% endif %}
<li> p;</li>
</ul>
Проблема заключается в том, что она продолжает говорить мне, что app.request.locale
всегда 'eu'
. Я что-то упускаю? Язык по умолчанию
Я смущен вашим кодом. Вы пытаетесь заставить «es»? –
Я хочу изменить между es и eu locales. Например, покажите страницу с индексом «es» и со ссылкой, которая отобразит одну и ту же страницу, но изменит локаль пользователя и останется. –