Files
tbbank-new/app/Modules/BaseLocale/Middleware/SetLocale.php
2025-10-22 20:08:22 +05:00

36 lines
893 B
PHP

<?php
namespace App\Modules\BaseLocale\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Symfony\Component\HttpFoundation\Response;
class SetLocale
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
if (Auth::check()) {
/** @var \App\Models\User */
$user = $request->user();
if (array_key_exists($user->locale ?? '', baseLocales())) {
app()->setLocale($user->locale);
}
} else {
/** @var string */
$locale = session('locale') ?: config()->string('app.locale');
app()->setLocale($locale);
}
return $next($request);
}
}