loader = $loader; } /** * {@inheritdoc} */ public function load($language, array $directories) { if ($language !== self::LANGUAGE_ID) { return $this->loader->load($language, $directories); } return $this->getDevelopmentTranslations($directories); } private function getDevelopmentTranslations(array $directories) { $fallbackTranslations = $this->loader->load($this->fallbackLanguage, $directories); $translations = array(); foreach ($fallbackTranslations as $section => $sectionFallbackTranslations) { $translationIds = array_keys($sectionFallbackTranslations); $sectionTranslations = $this->prefixTranslationsWithSection($section, $translationIds); $translations[$section] = array_combine($translationIds, $sectionTranslations); } return $translations; } private function prefixTranslationsWithSection($section, $translationIds) { return array_map(function ($translation) use ($section) { return $section . '_' . $translation; }, $translationIds); } }