fix(core.gbapp): Calls to Spellchecker and Translator fixed.

This commit is contained in:
Rodrigo Rodriguez 2020-12-03 18:43:14 -03:00
parent dedb7d0d41
commit 0f393431ec

View file

@ -800,23 +800,28 @@ export class GBMinService {
'Keep Text',
null
);
if (keepText) {
const list = keepText.split(';');
let keepTextList = [];
if (keepTextList) {
keepTextList = keepTextList.concat(keepText.split(';'));
}
await CollectionUtil.asyncForEach(min.appPackages, async (e: IGBPackage) => {
const result = await e.onExchangeData(min, 'getKeepText', {});
if (result) {
keepTextList = keepTextList.concat(result);
}
});
if (keepTextList) {
let i = 0;
await CollectionUtil.asyncForEach(list, item => {
await CollectionUtil.asyncForEach(keepTextList, item => {
i++;
text = text.replace(new RegExp(item.trim(), 'gi'), `KEEPTEXT${i}`);
});
}
text = await min.conversationalService.spellCheck(min, text);
if (keepText) {
const list = keepText.split(';');
let i = 0;
await CollectionUtil.asyncForEach(list, item => {
i++;
text = text.replace(`KEEPTEXT${i}`, item.trim());
});
}
// Detects user typed language and updates their locale profile if applies.
@ -851,38 +856,24 @@ export class GBMinService {
// Translates text into content language, keeping
// reserved tokens specified in Config.
if (keepText) {
const list = keepText.split(';');
let i = 0;
await CollectionUtil.asyncForEach(list, item => {
i++;
text = text.replace(new RegExp(item.trim(), 'gi'), `KEEPTEXT${i}`);
});
}
let contentLocale = min.core.getParam<string>(
min.instance,
'Default Content Language',
GBConfigService.get('DEFAULT_CONTENT_LANGUAGE')
);
if (keepText) {
const list = keepText.split(';');
let i = 0;
await CollectionUtil.asyncForEach(list, item => {
i++;
text = text.replace(new RegExp(item.trim(), 'gi'), `KEEPTEXT${i}`);
});
}
text = await min.conversationalService.translate(min, text, contentLocale);
if (keepText) {
const list = keepText.split(';');
GBLog.info(`Translated text (processMessageActivity): ${text}.`);
if (keepTextList) {
let i = 0;
await CollectionUtil.asyncForEach(list, item => {
await CollectionUtil.asyncForEach(keepTextList, item => {
i++;
text = text.replace(`KEEPTEXT${i}`, item.trim());
text = text.replace(new RegExp(`\\bKEEPTEXT${i}\\b`, 'gi'), item.trim());
});
}
GBLog.info(`Translated text (processMessageActivity): ${text}.`);
GBLog.info(`Final text ready for NLP/Search/.gbapp: ${text}.`);
context.activity.text = text;
context.activity.originalText = originalText;