Laravel v8 设置会话区域设置不起作用代客

问题描述

我正在尝试使用会话变量设置我的应用程序的语言环境,但不起作用。我尝试了在其他项目中使用的 3 种不同方式,但我认为我的环境有问题。我在 Mac 上运行 Apple Silicon 和 Valet 最新版本。

我尝试清除配置、缓存但没有成功。

web.PHP

Route::get('lang/{locale}',[App\Http\Controllers\HomeController::class,'lang'])->name('language');

Localization.PHP(中间件)

public function handle(Request $request,Closure $next)
{
    if (session()->has('locale')) {
        App::setLocale(session()->get('locale'));
    }
    return $next($request);
}

HomeController.PHP

public function lang($locale)
{
    App::setLocale($locale);
    session()->put('locale',$locale);
    return redirect()->route('home');
}

内核.PHP

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\Localization::class,],'api' => [
        'throttle:api',\Illuminate\Routing\Middleware\SubstituteBindings::class,];

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)