2016-05-12 138 views
0

我試圖在路由中實現語言環境。 我可以得到它像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 } 

路由前綴,因爲他們應該,但我無法用我的登錄註銷路線。

+0

有針對https://github.com/schmittjoh/JMSI18nRoutingBundle – malcolm

+0

簡單捆綁我也只是看看它,但它只是爲symfony1.2 2.我使用的symfony 3.我不能甚至可以使用作曲家進行安裝。 – 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

這確實搞亂了我的/登錄和/退出路線,現在試圖修復它.. – SnelleJelle

+0

您還應該刪除路由前添加的要求和前綴。如果設置了默認語言,它不能打破路線,路線保持不變。 – malcolm

+0

我正在編輯我的帖子,以更好地反映我迄今爲止所嘗試的內容 – SnelleJelle

相關問題