Enabled translation when not logged in

Reads from the Accept-Language HTTP header.
Also fixed some encoding for ES translations.

Fixes #375
This commit is contained in:
Dan Brown
2017-04-29 16:47:41 +01:00
parent 92108d710d
commit ad4642c2c4
6 changed files with 34 additions and 4 deletions

View File

@ -15,7 +15,17 @@ class Localization
public function handle($request, Closure $next)
{
$defaultLang = config('app.locale');
$locale = setting()->getUser(user(), 'language', $defaultLang);
if (user()->isDefault()) {
$locale = $defaultLang;
$availableLocales = config('app.locales');
foreach ($request->getLanguages() as $lang) {
if (!in_array($lang, $availableLocales)) continue;
$locale = $lang;
break;
}
} else {
$locale = setting()->getUser(user(), 'language', $defaultLang);
}
app()->setLocale($locale);
Carbon::setLocale($locale);
return $next($request);