public function configureOptions(OptionsResolver
$resolver) { $resolver->
setDefaults([ 'choice_loader' =>
function DOptions
$options) { if (!
class_exists(Intl::
class)) { throw new LogicException(sprintf('The "symfony/intl" component is required to use "%s". Try running "composer require symfony/intl".',
static::
class));
} $choiceTranslationLocale =
$options['choice_translation_locale'
];
$alpha3 =
$options['alpha3'
];
return ChoiceList::
loader($this,
new IntlCallbackChoiceLoader(static fn () =>
array_flip($alpha3 ? Countries::
getAlpha3Names($choiceTranslationLocale) : Countries::
getNames($choiceTranslationLocale))),
[$choiceTranslationLocale,
$alpha3]);
},
'choice_translation_domain' => false,
'choice_translation_locale' => null,
'alpha3' => false,
'invalid_message' => 'Please select a valid country.',
]);
$resolver->
setAllowedTypes('choice_translation_locale',
['null', 'string'
]);
$resolver->
setAllowedTypes('alpha3', 'bool'
);
}