availableLanguages = $this->parameterBag->get('chill_main.available_languages'); } public function getOrder(): int { return 10; } public function load(ObjectManager $manager): void { echo "loading languages... \n"; foreach (\Symfony\Component\Intl\Languages::getNames() as $code => $language) { if ( !\in_array($code, $this->regionalVersionToInclude, true) && !\in_array($code, $this->ancientToExclude, true) ) { $lang = (new Language()) ->setId($code) ->setName($this->prepareName($code)); $manager->persist($lang); } } $manager->flush(); } /** * Prepare names for languages. * * @return string[] languages name indexed by available language code */ private function prepareName(string $languageCode): array { $names = []; foreach ($this->availableLanguages as $lang) { $names[$lang] = \Symfony\Component\Intl\Languages::getName($languageCode, $lang); } return $names; } }