diff --git a/metager/app/Localization.php b/metager/app/Localization.php index ba8e306f816c020203d735de0580f07bcf5bc45a..53091511323a075e07c7788056c29d9b840648a4 100644 --- a/metager/app/Localization.php +++ b/metager/app/Localization.php @@ -24,10 +24,13 @@ class Localization if (stripos($host, "metager.org") !== false) { App::setLocale("en-US"); + App::setFallbackLocale("en"); } else if (stripos($host, "metager.es") !== false) { App::setLocale("es-ES"); + App::setFallbackLocale("es"); } else { App::setLocale("de-DE"); + App::setFallbackLocale("de"); } $locale_path = LaravelLocalization::setLocale(); @@ -36,8 +39,7 @@ class Localization // Our locale includes the requested region however our translated strings are not differentiating regions // We need to define a fallback locale for each regional locale to just use the language part stripping the region if (\preg_match("/^([a-zA-Z]{2,5})-[a-zA-Z]{2,5}$/", $locale, $matches)) { - App::setLocale($matches[1]); - $locale = config("app.locale"); + App::setFallbackLocale($matches[1]); } return $locale_path; diff --git a/metager/app/Providers/AppServiceProvider.php b/metager/app/Providers/AppServiceProvider.php index e8726adf6ec52aba439df3ef9e25f07a339f6626..caaa9519f8e8a28c5d6cef046079bec2c793b0bd 100644 --- a/metager/app/Providers/AppServiceProvider.php +++ b/metager/app/Providers/AppServiceProvider.php @@ -2,13 +2,8 @@ namespace App\Providers; -use Illuminate\Queue\Events\JobProcessed; -use Illuminate\Queue\Events\JobProcessing; -use Illuminate\Support\Facades\App; -use Illuminate\Support\Facades\Request; +use App\Localization; use Illuminate\Support\ServiceProvider; -use \Mcamara\LaravelLocalization\Facades\LaravelLocalization; -use Queue; class AppServiceProvider extends ServiceProvider { @@ -19,6 +14,12 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { + if (app()->routesAreCached()) { + // Apply the correct locale configuration + // This is also done in RouteServiceProvider if routes are not cached + Localization::setLocale(); + } + \Prometheus\Storage\Redis::setDefaultOptions( [ 'host' => config("database.redis.default.host"),