gsahin Şöyle bir durum var, siz dinamik değil statik bir rota kullanıyorsunuz, sadece dile göre değişiyor. Diyelim ki tr, en ve de şeklinde 3 tane dil var ama siz mevcut dil ne ise ona sadece rota tanımlamış oluyorsunuz. Mesela dili segmentten alıyorsanız şunun gibi bir şey yapmanız lazım:
foreach (['tr', 'en', 'de'] as $locale) {
Route::prefix($locale)
->get(__('home', [], $locale), [HomeController::class, 'index'])
->name('home');
}
ya da middleware kullanmadan
$locale = request()->segment(1);
if (!in_array($locale, ['tr', 'en', 'de'])) {
$locale = 'tr';
}
app()->setLocale($locale);
Route::prefix($locale)
->get(__('home'), [HomeController::class, 'index'])
->name('home');