2

戦略「prefix_except_default」のユーザーのロケールを検出する方法はありますか?

例えば

デフォルトのロケール: en

www.example.com にアクセスし、ユーザーのロケールが「fr」に設定されている場合、www.example.com/fr にリダイレクトされます

「プレフィックス」と同様に、ロケールのデフォルト ルートには www.example.com/en ではなく www.example.com が含まれます。

4

2 に答える 2

0

次のようなものを試してください:

<ul id="language-selector">
    {% if app.request.attributes.get('_route') == 'homepage' %}            
        <li><a href="{{ path("homepage", {"_locale": "fr"}) }}">FR</a></li>
        <li><a href="{{ path("homepage", {"_locale": "en"}) }}">EN</a></li>
    {% else %}
        <li><a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale': 'fr'})) }}">FR</a></li>
        <li><a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale': 'en'})) }}">EN</a></li>
    {% endif %}
</ul>

@xiidea の説明に感謝します ;)

于 2014-04-29T13:29:36.940 に答える
0

_localeパラメータまたはpreferredLocaleブラウザのことですか?が設定されている場合_locale、リダイレクトは自動的に行われます。ブラウザの確認にpreferredLocaleは、次の行を使用できます。

$request->getPreferredLanguage();

または小枝で:

app.request.preferredLocale
于 2014-05-13T11:31:09.533 に答える