'en', 'chs' => 'zh_CN', 'cht' => 'zh_TW', ]; /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle(Request $request, Closure $next) { $user = $request->user(); if ($user) { $language = $user->language; $locale = self::$languageMaps[$language->site_lang_folder] ?? 'en'; do_log("user: {$user->id}, language: {$language->id}, set locale: $locale"); App::setLocale($locale); Carbon::setLocale($locale); } /** @var Response $response */ $response = $next($request); if ($response instanceof Response || $response instanceof JsonResponse) { $response->header('Request-Id', nexus()->getRequestId())->header('Running-In-Octane', RUNNING_IN_OCTANE ? 1 : 0); } return $response; } }