有没有办法检测策略“prefix_except_default”的用户区域设置?
例如
默认语言环境:en
如果我访问www.example.com并且用户的区域设置设置为“fr”,则会将我重定向到www.example.com/fr
与“前缀”一样,只有语言环境默认路由才有www.example.com而不是www.example.com/en
答案 0 :(得分: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的解释;)
答案 1 :(得分:0)
您的意思是_locale
参数或浏览器的preferredLocale
吗?
如果设置了_locale
,则应自动完成重定向。
要检查浏览器的preferredLocale
,您可以使用以下行:
$request->getPreferredLanguage();
或在Twig:
app.request.preferredLocale