Skip to content

Instantly share code, notes, and snippets.

@farindra
Last active April 21, 2021 21:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save farindra/95cf195cab8344dc64511be5dbb551f6 to your computer and use it in GitHub Desktop.
Save farindra/95cf195cab8344dc64511be5dbb551f6 to your computer and use it in GitHub Desktop.
Laravel Middleware - Set Locale from request and session
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class SetLocale
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
/* set locale from request param */
if ($request->has('locale')) {
$locale = in_array(strtolower($request->locale), ['en', 'id']) ? strtolower($request->locale) : 'id';
session()->put('locale', $locale );
}
/* set locale from session */
if (session()->has('locale')) {
app()->setLocale(session('locale'));
}
return $next($request);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment