В настоящее время я работаю над новым веб-сайтом и хочу использовать несколько языков на разных страницах, а URL должен содержать префикс. Это моя цель, и она должна быть достигнута:
Mywebsite/ --> Mywebsite/en
Mywebsite/en --> Should show the main page in en
Mywebsite/de --> Should show the main pahe in de
Mywebsite/en/legal --> Should show legal page in en
Mywebsite/legal --> Should show the legal page in the before selected language and redirect to Mywebsite/en/legal
Поэтому, если префикс отсутствует, сайт следует перенаправить и показать точную страницу на правильном языке.
Я пытался реализовать этоно не все дела работают.
web.php
Route::get('/', function () {
return redirect(app()->getLocale());
});
Route::get('/legal', function () {
return redirect(app()->getLocale() . '/legal');
});
Route::group(['prefix' => '{locale}', 'where' => ['locale' => '[a-zA-Z]{2}'], 'middleware' => 'localization'], function($locale) {
Route::get('/', function () {
return view('home');
});
Route::get('/home', function () {
return view('home');
});
Route::get('/legal', function () {
return view('legal');
});
});
Localization.php
public function handle($request, Closure $next)
{
app()->setLocale($request->segment(1));
return $next($request);
}
- app () -> getLocale () делаетне работает вообще
- Route :: get ('/ legal', функция () также не работает
Что отсутствует или что я могу изменить, чтобы решить эту проблему?
Заранее спасибо!