Symfony 3 + JMSI18nRoutingBundle设置了语言环境

时间:2016-05-16 09:09:02

标签: symfony

我在设置区域设置时遇到问题。我正确设置了Fos用户捆绑+ JMSI18nRoutingBundle。

例如,当我去url:domain / login时,我的默认语言环境设置正确。对于url域名/ fr / login也一切正常。

我尝试设置http://symfony.com/doc/current/cookbook/session/locale_sticky_session.html

如何通过单击应用程序的链接来更改语言。我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

我不明白你的问题,但我在我的树枝中使用它来切换语言。您可以将其修改为简单的锚链接

<select onchange="location = this.options[this.selectedIndex].value;" class="form-control">
    <option>{{ 'Language'|trans }}</option>
    <option value="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'it'})) }}">{{ 'Italian'|trans }}</option>
    <option value="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}">{{ 'English'|trans }}</option>
    <option value="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'fr'})) }}">{{ 'French'|trans }}</option>
    <option value="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'es'})) }}">{{ 'Spanish'|trans }}</option>
    <option value="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'pt'})) }}">{{ 'Portuguese'|trans }}</option>
    <option value="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'de'})) }}">{{ 'German'|trans }}</option>
</select>