2017-03-07 109 views
0

我正在使用最新的Laravel 5.4。我的網站被配置爲使用德語和英語。因此,舉例來說,我有一個登錄頁面,德國:帶前綴路線的鏈接

http://localhost/de/login 

和英語:

http://localhost/en/login 

我所做的是我創建了一個語中間件,着眼於URI的第一段('en'或'de')並根據第一段值設置合適的app()->setLocale()。我正在努力的是如何爲這些路線生成鏈接(正確/最佳實踐)。我應該在我的刀片模板中使用哪些功能來生成此類鏈接。我試過route('login', app()->getLocale()),但它給了我這樣的東西:http://localhost/en/login?de。這是爲什麼發生?我應該用什麼函數來生成指向命名路由和未命名路由的鏈接?

感謝, ž

+1

你不需要專門的語言環境附加路徑。區域設置使用會話變量進行維護。 –

回答

1

試試這個:

Route::post('page/{locale?}', '[email protected]')->where(['locale' => 'de|en|es|fr|it|nl']); 

看,如果這個作品!

+0

這不起作用。 – zoltalar

+0

好吧,讓我刪除可選的解決方案。 –