Translator constructor
Translator({
- TranslatorDelegate? delegate,
- required Locale defaultLocale,
- required Locale fallbackLocale,
Implementation
Translator({
TranslatorDelegate? delegate,
required Locale defaultLocale,
required Locale fallbackLocale,
}) : _delegate = delegate,
_currentLocale = defaultLocale,
_fallbackLanguage = fallbackLocale {
if (delegate != null) {
delegate.cache().then((source) {
if (source == null || source.isEmpty) return {};
final x = jsonDecode(source);
if (x is! Map) return {};
final entries = x.entries.map((e) {
final key = e.key;
final value = e.value;
if (value is! Map || key is! String) return null;
final entries = value.entries.map((e) {
final key = e.key;
final value = e.value;
if (value is! String || key is! String) return null;
return MapEntry(key, value);
}).whereType<MapEntry<String, String>>();
return MapEntry<String, Map<String, String>>(
key, Map.fromEntries(entries));
}).whereType<MapEntry<String, Map<String, String>>>();
final cache = Map.fromEntries(entries);
_cache.addAll(cache);
notifyListeners();
});
}
}