@@ -711,7 +711,7 @@ class LanguageManager
711711 /** @var mixed[] */
712712 private array $ availableLocales = [];
713713
714- /** @var Language[] */
714+ /** @var array<string, Language> */
715715 private array $ availableLanguages = [];
716716
717717 private bool $ langFailedConfig = false ;
@@ -810,28 +810,18 @@ public function hasChoice(): bool
810810 /**
811811 * Returns (cached) list of all available languages
812812 *
813- * @return Language[] array of Language objects
813+ * @return array<string, Language>
814814 */
815815 public function availableLanguages (): array
816816 {
817- if ($ this ->availableLanguages === []) {
818- $ this ->availableLanguages = [];
819-
820- foreach ($ this ->availableLocales () as $ lang ) {
821- $ lang = strtolower ($ lang );
822- if (isset (static ::$ languageData [$ lang ])) {
823- $ data = static ::$ languageData [$ lang ];
824- $ this ->availableLanguages [$ lang ] = new Language ($ data [0 ], $ data [1 ], $ data [2 ], $ data [3 ], $ data [4 ]);
825- } else {
826- $ this ->availableLanguages [$ lang ] = new Language (
827- $ lang ,
828- ucfirst ($ lang ),
829- ucfirst ($ lang ),
830- $ lang ,
831- '' ,
832- );
833- }
834- }
817+ if ($ this ->availableLanguages !== []) {
818+ return $ this ->availableLanguages ;
819+ }
820+
821+ foreach ($ this ->availableLocales () as $ lang ) {
822+ $ lang = strtolower ($ lang );
823+ $ data = self ::$ languageData [$ lang ] ?? [$ lang , ucfirst ($ lang ), ucfirst ($ lang ), $ lang , '' ];
824+ $ this ->availableLanguages [$ lang ] = new Language (...$ data );
835825 }
836826
837827 return $ this ->availableLanguages ;
0 commit comments