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; + + } }