设置默认语言环境

时间:2016-05-12 07:50:22

标签: locale symfony symfony-routing

我试图在路线中实施区域设置。 我可以像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 }

路线的前缀应该是正确的,但我无法使用登录退出路线。

1 个答案:

答案 0 :(得分:1)

使用https://github.com/schmittjoh/JMSI18nRoutingBundle捆绑包。

app/config.yml中设置默认语言环境的包。

jms_i18n_routing:
    default_locale: nl
    locales: [nl, en]
    strategy: prefix_except_default