From 58ef5240cdf3f669f0ee15a9fd4776cfff8d9617 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 10 Nov 2020 14:36:16 +1100 Subject: [PATCH] Custom Translations --- app/Http/ViewComposers/PortalComposer.php | 5 +++++ app/Utils/Ninja.php | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/app/Http/ViewComposers/PortalComposer.php b/app/Http/ViewComposers/PortalComposer.php index 0d13a36f57cb..3ab97958eb4b 100644 --- a/app/Http/ViewComposers/PortalComposer.php +++ b/app/Http/ViewComposers/PortalComposer.php @@ -12,7 +12,9 @@ namespace App\Http\ViewComposers; use App\Models\ClientContact; +use App\Utils\Ninja; use App\Utils\TranslationHelper; +use Illuminate\Support\Facades\Lang; use Illuminate\View\View; /** @@ -29,6 +31,9 @@ class PortalComposer public function compose(View $view) :void { $view->with($this->portalData()); + + if(auth()->user()) + Lang::replace(Ninja::transformTranslations(auth()->user()->client->getMergedSettings())); } /** diff --git a/app/Utils/Ninja.php b/app/Utils/Ninja.php index 5d4dc56f9b0a..d88bcf28664e 100644 --- a/app/Utils/Ninja.php +++ b/app/Utils/Ninja.php @@ -121,4 +121,22 @@ class Ninja 'is_system' => app()->runningInConsole(), ]; } + + public static function transformTranslations($settings) :array + { + $translations = []; + + $trans = (array)$settings->translations; + + if(count($trans) == 0) + return $translations; + + foreach($trans as $key => $value) + { + $translations['texts.'.$key] = $value; + } + + return $translations; + + } }