Witajcie. Zależy mi na tym, żeby routing mojej strony wyglądał następująco.
Dla językowa polskiego: localhost:8000/pl/produkt/1
Natomiast dla języka angielskiego: localhost:8000'en/product/1
Według dokumentacji lokalizację można zorbić w sposób następujący
Route::get('welcome/{locale}', function($locale){
App::setlocale($locale);
return view('welcome');
});
Ta metoda oczywiście działa, ale powoduje kilka problemów.
Po pierwsze - wolałbym zamiast widoku wywoływać metodę kontrolera. Dzięki temu można zachować porząek w kodzie. W tym prostym przykładzie wywołany jest jedynie widok, ale często dołącza się do niego wyniki zapytań. Dlatego wolałbym to rozdzielić. Dlatego zawsze definiowałem routing w ten sposób
Route::get('/hello', [
'uses' => 'MyController@myMethod',
'as' => 'myMethod'
]);
Po drugie - zależy mi na tym, żeby łatwo można było generować linki. Jeżeli routing jest zdefiniowany jak powyżej, wystarczy w widoku wpisać {{ route('myMethod') }}. Chciałbym, żeby w zależności od wybranej wersji językowej linki były generowane właśnie dla wybranego języka.
Jak najlepiej rozwiązać mój problem?