2016-11-30 174 views
-1

这是一个非常奇怪的情况。我的一些路线不想翻译。我正在使用Laravel mcamara/laravel-localization软件包。Laravel路线翻译问题

路线按照文档中的描述进行翻译。 在我的网站上,每个翻译都有一个标志来改变语言。通过悬停在标志上,它仅更改语言,但不会转换路线。奇怪的是,它对于某些路线起作用,但对于一些路线而言,我无法找出什么是逻辑。

例如,我有一个显示文章的控制器。这里是路线:

Route::get(LaravelLocalization::transRoute('routes.artciles').'/{id}/{slug}.html', ['as' => 'strategy.show', 'uses' => '[email protected]']); 
Route::get(LaravelLocalization::transRoute('routes.artciles').'/{category}.html', ['as' => 'strategy.category', 'uses' => '[email protected]']); 
Route::get(LaravelLocalization::transRoute('routes.artciles').'.html', ['as' => 'strategy.index', 'uses' => '[email protected]']); 

这里它没有翻译路线?

将鼠标悬停我看到的只是:中

en/articles.htmlde/articles.html代替en/articles.htmlde/artikel.html

+0

不要在'LaravelLocalization :: transRoute('routes.artciles')'中输入错误吗?你不是说'routes.articles'吗? –

+0

不幸的不是。在lang/routes.php它也是相同的错字:( –

回答

0

我找到了解决方案。这是人谁也有类似的问题:在HTTP/routes.php文件

的代码必须是无参数:

Route::get(LaravelLocalization::transRoute('routes.article'), ['as' => 'strategy.show', 'uses' => '[email protected]'])->where(['id' => '[0-9]+']); 
Route::get(LaravelLocalization::transRoute('routes.article_cat'), ['as' => 'strategy.category', 'uses' => '[email protected]']); 
Route::get(LaravelLocalization::transRoute('routes.articles'), ['as' => 'strategy.index', 'uses' => '[email protected]']); 

而在郎/ routes.php文件可以包含这样的参数:

'articles' => 'help.html', 
'article' => 'help/{id}/{slug}.html', 
'article_cat' => 'help/{category}.html',