loadLocalizedLanguages function
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;
}