2017-11-15 12 views
1

私のSymfony 3.3プロジェクトで私はロケールシステムを使ってユーザ言語を変更しています。私は私のルーティングがURLにそれを持っていないための 'EN'バージョンを許可するように設定しました。だから、これらのURLは同じページにすべてをリダイレクトデフォルトロケールなしのtwigパス

acme_front_office: 
    resource: "@AcmeFrontOfficeBundle/Resources/config/routing.yml" 
    prefix: /{_locale} 
    defaults: { _locale: 'en'} 
    requirements: 
     _locale: '|en|fr' 

:私のユーザーが見たときに

/home 
/en/home 
/fr/home 

しかし、私の小枝には、ことを除いて、デフォルトでは右のロケールを設定{{パス()}}関数をテンプレートウェブサイトの英語版は、/en/homeではなく、/homeに生成されたURLが必要です。

path()の呼び出しをすべて_locale paramをオーバーライドするように変更することなく、それを行う方法について手掛かりがあるなら、私は非常に感謝します。

は良い一日を;)

答えて

1

ので、いくつかの掘削後、私が思いついた解決策は、symfonyのルーティングシステムの一部を書き換えることです。ソリューションをチェックする場合は、Routingディレクトリにある次のgitlabリポジトリにコードがあります。

TranslateBundle Repo

関連する問題