2017-03-07 7 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。なぜこうなった?名前付きルートと名前のないルートへのリンクを生成するために使用する必要がある機能は何ですか?

おかげで、 Z

+1

本当に専用のロケール付加パスは必要ありません。ロケールはセッション変数を使用して維持されます。 –

答えて

1

これを試してみてください:

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

を参照してください、これが動作するかどうか!

+0

これは動作しません。 – zoltalar

+0

[OK]を、オプションのソリューションを削除してみましょう。 –

関連する問題