我正在尝试在路线中实现语言环境。我可以让它像host/en/page
&host/fr/page
使用这个片段一样工作:
#routing.yml
app:
resource: "@AppBundle/Controller/"
type: annotation
prefix: /{_locale}
requirements:
_locale: nl|en
但我的目标是能够使用host/page
区域设置不在 url 中的位置,而是设置为默认区域设置。
我该怎么做呢?我在文档中的任何地方都找不到它。
编辑,试用 JMSI18nRoutingBundle
补充:
# config.yml
jms_i18n_routing:
default_locale: nl
locales: [nl, en]
strategy: prefix_except_default
.
# security.yml > firewalls section
form_login:
login_path: _login
check_path: _login
csrf_token_generator: security.csrf.token_manager
logout:
path: _logout
target: /
.
# routing.yml
_logout:
path: /logout
options: { i18n: false }
_login:
path: /login
options: { i18n: false }
路由应有前缀,但我无法使用我的登录和注销路由。