loadAsync<T> method
Implementation
@override
Future<ZooperLocalizer<T>> loadAsync<T>(String path) async {
var content = await rootBundle.loadString(path);
var parsed = _csvParser.parse(content, delimiter);
List<Locale> locales = [];
// Load the available locales
for (int i = 1; i < parsed[0].length; i++) {
var locale = localeFromString(parsed[0][i]);
locales.add(locale);
}
List<LocalizationEntry> entries = [];
// Iterate over all lines
for (int i = 1; i < parsed.length; i++) {
// Iterate over all entries
List<LocalizedValue> localizedValues = [];
for (int n = 1; n < parsed[i].length; n++) {
var localizedValue = LocalizedValue(locales[n - 1], parsed[i][n]);
localizedValues.add(localizedValue);
}
LocalizationEntry entry = LocalizationEntry(parsed[i][0], localizedValues);
entries.add(entry);
}
return ZooperLocalizer<T>(
entries,
fallbackLocale: fallbackLocale,
localeDelegate: localeDelegate,
);
}