setLocale(session('lang', 'en')); $languages = $this->getLanguagesTask->run(); $translations = $this->getTranslationsTask->run(); $translationKeys = array_keys($translations->get('de')); $translationValues = $translations->has($lang) ? $translations->get($lang) : array_fill_keys($translationKeys, null); $progress = count(array_values(array_filter($translationValues))) / count($translationKeys) * 100; return [ 'languages' => $languages, 'translationKeys' => $translationKeys, 'translationValues' => $translationValues, 'currentLang' => $lang, 'progress' => $progress ]; } }