loadJsonWithLocale method

Future<Map<String, dynamic>> loadJsonWithLocale(
  1. Locale locale
)

Implementation

Future<Map<String, dynamic>> loadJsonWithLocale(Locale locale) async {
  var haveLocalLanguage = SpUtil.getBool('localLanguage');
  Map<String, dynamic> localeMap = {};
  var localePath;
  if (haveLocalLanguage != null && haveLocalLanguage) {
    localePath = await getLocaleDocPath(locale);
    var file = File(localePath);
    if (file.existsSync()) {
      var localeStr = await file.readAsString();
      localeMap = await compute(_parseData, localeStr);
    }
  }

  if (localeMap.isEmpty) {
    localePath = await getLocaleAssetsPath(locale);
    localeMap = await compute(_parseData, await rootBundle.loadString(localePath));
  }

  log('localization loader: load json file $localePath');
  return localeMap;
}