$localeCode, 'name' => Locale::getDisplayName($localeCode, 'en') ]; }, ResourceBundle::getLocales('')); $locales = array_filter($locales, static function (array $locale) { return is_array(Punic\Data::explodeLocale($locale['code'])); }); $locales = array_values($locales); if (file_put_contents(__DIR__ . '/locales.json', json_encode($locales, JSON_PRETTY_PRINT)) === false) { echo 'Failed to update locales.json'; exit(1); } echo 'Updated locales.json. Don\'t forget to commit the result.'; exit(0);