16
16
use Symfony \Component \Form \ChoiceList \Loader \ChoiceLoaderInterface ;
17
17
use Symfony \Component \Form \ChoiceList \Loader \IntlCallbackChoiceLoader ;
18
18
use Symfony \Component \Form \Exception \LogicException ;
19
+ use Symfony \Component \Intl \Exception \MissingResourceException ;
19
20
use Symfony \Component \Intl \Languages ;
20
21
use Symfony \Component \OptionsResolver \Options ;
21
22
use Symfony \Component \OptionsResolver \OptionsResolver ;
@@ -45,12 +46,12 @@ public function configureOptions(OptionsResolver $resolver)
45
46
$ choiceTranslationLocale = $ options ['choice_translation_locale ' ];
46
47
$ choiceSelfTranslation = $ options ['choice_self_translation ' ];
47
48
48
- return new IntlCallbackChoiceLoader (function () use ($ choiceTranslationLocale , $ choiceSelfTranslation ) {
49
- if (true === $ choiceSelfTranslation ) {
50
- foreach (Languages::getLanguageCodes () as $ languageCode ) {
49
+ return new IntlCallbackChoiceLoader (static function () use ($ choiceTranslationLocale , $ choiceSelfTranslation ) {
50
+ if ($ choiceSelfTranslation ) {
51
+ foreach (Languages::getNames () as $ languageCode => $ languageName ) {
51
52
try {
52
53
$ languagesList [$ languageCode ] = Languages::getName ($ languageCode , $ languageCode );
53
- } catch (\ Exception $ e ) {
54
+ } catch (MissingResourceException $ e ) {
54
55
}
55
56
}
56
57
} else {
@@ -65,7 +66,7 @@ public function configureOptions(OptionsResolver $resolver)
65
66
'choice_translation_locale ' => null ,
66
67
]);
67
68
68
- $ resolver ->setAllowedTypes ('choice_self_translation ' , ['boolean ' ]);
69
+ $ resolver ->setAllowedTypes ('choice_self_translation ' , ['bool ' ]);
69
70
$ resolver ->setAllowedTypes ('choice_translation_locale ' , ['null ' , 'string ' ]);
70
71
71
72
$ resolver ->setNormalizer ('choice_self_translation ' , function (Options $ options , $ value ) {
0 commit comments