namespace Cubist\Backpack\Middleware;
+use Closure;
+use Cubist\Locale\Locale;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
public function handle(Request $request, Closure $next)
{
parent::handle($request, $next);
-
- $locale='fr';
+ $availableLanguages = config('backpack.base.locales', ['en']);
+
+ $user = backpack_user();
+ if (null === $user) {
+ $locale = $request->getPreferredLanguage($availableLanguages);
+ } else {
+ $locale = $user->locale;
+ }
+ if (!isset($locale) || !in_array($locale, $availableLanguages, true)) {
+ $locale = $availableLanguages[0];
+ }
$this->setLocale($locale);
return $this->getResponse();