SetUserLanguage.php 781 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Http\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Illuminate\Support\Facades\App;
  7. use App\Enums\LanguageEnum;
  8. class SetUserLanguage
  9. {
  10. /**
  11. * Handle an incoming request.
  12. *
  13. * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
  14. */
  15. public function handle(Request $request, Closure $next): Response
  16. {
  17. $language = substr($request->header('Accept-Language'), 0, 2);
  18. $language = LanguageEnum::fromString($language);
  19. if ($language) {
  20. App::setLocale($language->value);
  21. } else {
  22. App::setLocale(LanguageEnum::PORTUGUESE->value);
  23. }
  24. return $next($request);
  25. }
  26. }