doGenerate function
Implementation
void doGenerate(Directory input, Directory output) {
final loader = JSONLoader();
final records = loader.load(input);
checkMissingKey(records);
final icuParser = ICUParser();
final intlGenerator = IntlGenerator();
final Map<String, List<String>> localizedMessage = {};
for (final record in records) {
final messages = record.records.entries.map((it) {
try {
final ats = icuParser.parse(it.value);
final msg = intlGenerator.generate(it.key, ats);
return msg;
} on ParserException catch (e) {
throw GenerateException(it.key, e);
}
}).toList();
localizedMessage[record.locale] = messages;
}
final fileGenerator = AppLocalizedFileGenerator();
final fileContent = fileGenerator.generate(localizedMessage);
if (!output.existsSync()) {
output.createSync();
}
File(output.path + '/localization.dart').writeAsStringSync(fileContent);
}