2017-03-07 80 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

好吧,让我删除可选的解决方案。 –