]> BookStack Code Mirror - bookstack/blob - app/Http/Middleware/Localization.php
Updated Spanish translation
[bookstack] / app / Http / Middleware / Localization.php
1 <?php namespace BookStack\Http\Middleware;
2
3 use Carbon\Carbon;
4 use Closure;
5
6 class Localization
7 {
8     /**
9      * Handle an incoming request.
10      *
11      * @param  \Illuminate\Http\Request  $request
12      * @param  \Closure  $next
13      * @return mixed
14      */
15     public function handle($request, Closure $next)
16     {
17         $defaultLang = config('app.locale');
18         if (user()->isDefault()) {
19             $locale = $defaultLang;
20             $availableLocales = config('app.locales');
21             foreach ($request->getLanguages() as $lang) {
22                 if (!in_array($lang, $availableLocales)) {
23                     continue;
24                 }
25                 $locale = $lang;
26                 break;
27             }
28         } else {
29             $locale = setting()->getUser(user(), 'language', $defaultLang);
30         }
31         app()->setLocale($locale);
32         Carbon::setLocale($locale);
33         return $next($request);
34     }
35 }