Files
nexusphp/app/Http/Middleware/Locale.php

41 lines
1001 B
PHP
Raw Normal View History

<?php
namespace App\Http\Middleware;
2022-04-09 01:54:40 +08:00
use Carbon\Carbon;
use Closure;
use Illuminate\Http\Request;
2022-04-01 23:13:42 +08:00
use Illuminate\Http\Response;
use Illuminate\Support\Facades\App;
class Locale
{
2022-04-01 23:13:42 +08:00
public static array $languageMaps = [
'en' => '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)
{
$language = $request->user()->language;
$locale = self::$languageMaps[$language->site_lang_folder] ?? 'en';
do_log("set locale: " . $locale);
App::setLocale($locale);
2022-04-09 01:54:40 +08:00
Carbon::setLocale($locale);
2022-04-01 23:13:42 +08:00
/** @var Response $response */
$response = $next($request);
2022-04-06 21:32:57 +08:00
$response->header('Request-Id', nexus()->getRequestId())->header('Running-In-Octane', RUNNING_IN_OCTANE ? 1 : 0);
2022-04-01 23:13:42 +08:00
return $response;
}
}