loadLocalizedLanguages function

Future<Iterable<LocalizedLanguage>> loadLocalizedLanguages(
  1. List<Locale> locales
)

Builds a sorted list of localized languages.

locales must contain the base locale i.e. the template .arb locale.

Implementation

Future<Iterable<LocalizedLanguage>> loadLocalizedLanguages(
  List<Locale> locales,
) async {
  final languages = SplayTreeMap<String, LocalizedLanguage>();
  for (final locale in locales) {
    final localization = await UbuntuLocalizations.delegate.load(locale);
    if (localization.languageName.isNotEmpty) {
      final fullLocale = Locale(
        locale.languageCode,
        locale.countryCode ?? localization.countryCode,
      );
      final key = removeDiacritics(localization.languageName);
      languages[key] = LocalizedLanguage(localization.languageName, fullLocale);
    }
  }
  return languages.values;
}