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

자, 해결책 선택을 제거하겠습니다. –