2016-11-30 16 views
-1

非常に奇妙な状況です。私のルートの一部は翻訳されたくありません。私はLaravel mcamara/laravel-localizationパッケージを使用しています。Laravelルートの翻訳問題

ルートはドキュメントの説明に従って翻訳されます。 私のウェブサイトには言語を変更するための各翻訳のフラグがあります。フラグをホバーすると、言語のみが変更されますが、ルートは翻訳されません。奇妙なことは、いくつかのルートでは動作しますが、一部ではないので、ロジックが何であるかを知ることができません。

たとえば、記事を表示するコントローラが1つあります。ここではルートは以下のとおりです。

ここ
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にも同じtypoでした:( –

答えて

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', 
関連する問題