2016-05-12 11 views
0

私はルートにロケールを実装しようとしています。 私はそれがこのスニペットでhost/en/page & host/fr/pageように動作するように取得することができます。デフォルトのロケールを設定します

#routing.yml 

app: 
    resource: "@AppBundle/Controller/" 
    type:  annotation 
    prefix: /{_locale} 
    requirements: 
     _locale: nl|en 

をしかし、私の目標は、ロケールがURLにならないところhost/pageを使用できるようにすることですが、デフォルトのロケールとして設定されています。

どうすればよいですか?ドキュメントのどこにも見つからない。

# config.yml 

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

編集は、JMSI18nRoutingBundle

追加を試してみます。

# 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 } 

ルートは、彼らが必要として前置されているが、私は私のログインログアウトルートを使用することができませんよ。

+0

私はちょうどそれを見てみましたが、それは私がすることはできませんsymfonyの3を使用しているだけにsymfony 2.のためだというhttps://github.com/schmittjoh/JMSI18nRoutingBundle – malcolm

+0

のためのシンプルなバンドルがあります作曲家と共にインストールすることさえできます。 – SnelleJelle

+1

私はSymfony 3.0.6を使用しており、毎回このバンドルを使用しています。作者に追加する: '' jms/i18n-routing-bundle ': "^ 2.0"、 ' – malcolm

答えて

0

https://github.com/schmittjoh/JMSI18nRoutingBundleバンドルを使用してください。

app/config.ymlで、デフォルトロケールのバンドルを設定します。

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

これは/ loginと/ logoutの経路を混乱させて、今修正しようとしています。 – SnelleJelle

+0

経路に追加された要件と接頭辞も削除する必要があります。デフォルトの言語が設定されていると経路を壊すことはできません。経路はそのままです。 – malcolm

+0

これまでに試したことをよりよく反映するために投稿を編集しています – SnelleJelle

関連する問題