defaultLocale = $parameterBag->get('kernel.default_locale'); } public function localize(array $translatableStrings): ?string { if ([] === $translatableStrings) { return null; } $request = $this->requestStack->getCurrentRequest(); $language = null === $request ? $this->defaultLocale : $request->getLocale(); if (\array_key_exists($language, $translatableStrings)) { return $translatableStrings[$language]; } foreach ($this->translator->getFallbackLocales() as $locale) { if (\array_key_exists($locale, $translatableStrings)) { return $translatableStrings[$locale]; } } // no fallback translation... trying the first available $langs = array_keys($translatableStrings); if ([] === $langs) { return ''; } return $translatableStrings[$langs[0]]; } }