handleGenerateI18nFiles function
Implementation
void handleGenerateI18nFiles(I18nOption option) async {
var current = Directory.current;
var sourcePath = Directory(path.join(current.path, option.sourceDir));
if (!await sourcePath.exists()) {
printError('Source path does not exist');
return;
}
var files =
await dirContents(Directory(path.join(current.path, option.sourceDir)));
var validFilesMap = getValidStringFileMap(files);
var defaultTemplateLang =
getDefaultTemplateLang(validFilesMap, option.templateLocale);
var defaultJsonKeyMessageMap =
await generateJsonKeyMessageMap(File(defaultTemplateLang!.path));
var defaultLang = path.basename(getLocale(defaultTemplateLang.path));
// Generate messages_all.dart
_handleGenerateMessageAllDart(
path.join(current.path, option.outputDir, 'messages_all.dart'),
defaultLang,
defaultJsonKeyMessageMap,
validFilesMap);
// Generate i18n.dart
_handleGenerateI18nDart(
path.join(current.path, option.outputDir, 'i18n.dart'),
defaultLang,
defaultJsonKeyMessageMap,
validFilesMap);
printInfo('Finished to generate 2 files.');
}