translateList method

Future<Map> translateList(
  1. dynamic source
)

Implementation

Future<Map> translateList(source) async {
  var fields = source['translateField'];
  var path = source['translatePath'];
  var list = source;
  for (int i = 0; i < path.length; i++) {
    list = list[path[i]];
  }
  var words = [];
  var ways = [];
  for (int i = 0; i < list.length; i++) {
    for (int j = 0; j < fields.length; j++) {
      words.add(list[i][fields[j]]);
      ways.add([i,fields[j]]);
    }
  }
  var translate = await this._modernmt(words);
  for (int i = 0; i < translate.length; i++) {
    list[ways[i][0]][ways[i][1]] = translate[i]['translation'];
  }
  source.remove('translateField');
  source.remove('translatePath');
  return source;
}