2016-05-16 4 views
0

ロケールの設定に問題があります。私はFosユーザーバンドル+ JMSI18nRoutingBundleを正しく設定しました。Symfony 3 + JMSI18nRoutingBundleはロケールを設定します

たとえば、url:domain/loginに行くと、デフォルトのロケールが正しく設定されます。 URLドメイン/ fr/loginについても、すべてがOKです。

私はaplicationのリンクをクリックして言語を変更するにはどうすればよいhttp://symfony.com/doc/current/cookbook/session/locale_sticky_session.html

を設定しようとしています。何か不足していますか?

答えて

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> 
+0

はいこの作品はチャーム:) – fr3sh

関連する問題