execute method
Implementation
Future<void> execute(Map<String, String> keysToTextsMap) async {
final length = keysToTextsMap.length;
stdout.writeln('⬆️ Uploading ${length} key${length == 1 ? '' : 's'}');
final project = _configManager.project;
if (project == null) {
throw ProjectMissing();
}
final baseLocale = project.baseLocale;
//run qa //todo display QA results
// final qaResults = [];
// final qaResults = await _translationApi.qualityAssurance(
// projectId: project.id,
// texts: keysToTextsMap.values.toList(),
// locale: baseLocale,
// );
//run translation
final translationResponse = await _translationApi.translateText(
projectId: project.id,
texts: keysToTextsMap.values.toList(),
baseLocale: baseLocale,
targetLocales: project.targetLocales ?? [],
);
int index = 0;
for (var entry in keysToTextsMap.entries) {
// final qaText = qaResults[index];
final translations = translationResponse
.map((item) => LocalizedTextModel(locale: item.locale, text: item.texts[index]))
.toList();
await _resourcesApi.createResource(
key: entry.key,
projectId: project.id,
base: LocalizedTextModel(
locale: baseLocale,
text: entry.value,
// qaText: qaText,
),
translations: translations,
);
index++;
}
}