fix(core.gbapp): Translator now can be switched off by using Excel.
This commit is contained in:
parent
6523134826
commit
ad1bea141d
6 changed files with 37 additions and 15 deletions
|
@ -66,7 +66,7 @@
|
|||
"botbuilder-ai": "4.7.0",
|
||||
"botbuilder-dialogs": "4.7.0",
|
||||
"botframework-connector": "4.7.0",
|
||||
"botlib": "1.5.5",
|
||||
"botlib": "1.5.6",
|
||||
"cli-spinner": "0.2.10",
|
||||
"dotenv-extended": "2.7.1",
|
||||
"exceljs": "3.5.0",
|
||||
|
|
|
@ -527,14 +527,22 @@ export class GBConversationalService {
|
|||
}
|
||||
|
||||
|
||||
async translate(
|
||||
async translate(min: GBMinInstance,
|
||||
key: string,
|
||||
endPoint: string,
|
||||
text: string,
|
||||
language: string
|
||||
): Promise<string> {
|
||||
|
||||
if (endPoint === null || process.env.TRANSLATOR_DISABLED === "true") {
|
||||
const translatorEnabled = () => {
|
||||
if (min.instance.params) {
|
||||
const params = JSON.parse(min.instance.params);
|
||||
return params['Enable Worldwide Translator'] === "TRUE";
|
||||
}
|
||||
return false;
|
||||
} // TODO: Encapsulate.
|
||||
|
||||
if (endPoint === null || (!translatorEnabled() || process.env.TRANSLATOR_DISABLED === "true")) {
|
||||
return text;
|
||||
}
|
||||
|
||||
|
@ -582,7 +590,7 @@ export class GBConversationalService {
|
|||
const user = await sec.ensureUser(min.instance.instanceId, member.id,
|
||||
member.name, "", "web", member.name);
|
||||
if (text !== null) {
|
||||
text = await min.conversationalService.translate(
|
||||
text = await min.conversationalService.translate(min,
|
||||
min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
text,
|
||||
|
@ -598,7 +606,7 @@ export class GBConversationalService {
|
|||
const user = await min.userProfile.get(step.context, {});
|
||||
if (user) {
|
||||
const minBoot = GBServer.globals.minBoot as any;
|
||||
text = await min.conversationalService.translate(
|
||||
text = await min.conversationalService.translate(min,
|
||||
min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
text,
|
||||
|
|
|
@ -691,8 +691,16 @@ export class GBMinService {
|
|||
|
||||
let query = context.activity.text;
|
||||
|
||||
const translatorEnabled = () => {
|
||||
if (min.instance.params) {
|
||||
const params = JSON.parse(min.instance.params);
|
||||
return params['Enable Worldwide Translator'] === "TRUE";
|
||||
}
|
||||
return false;
|
||||
} // TODO: Encapsulate.
|
||||
|
||||
let locale = 'pt';
|
||||
if (process.env.TRANSLATOR_DISABLED !== "true") {
|
||||
if (process.env.TRANSLATOR_DISABLED !== "true" || translatorEnabled()) {
|
||||
const minBoot = GBServer.globals.minBoot as any; // TODO: Switch keys automatically to master/per bot.
|
||||
locale = await AzureText.getLocale(minBoot.instance.textAnalyticsKey ?
|
||||
minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey,
|
||||
|
@ -708,7 +716,7 @@ export class GBMinService {
|
|||
user.locale = locale;
|
||||
await user.save();
|
||||
const minBoot = GBServer.globals.minBoot as any;
|
||||
query = await min.conversationalService.translate(
|
||||
query = await min.conversationalService.translate(min,
|
||||
min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
query,
|
||||
|
|
|
@ -100,13 +100,19 @@ export class AskDialog extends IGBDialog {
|
|||
},
|
||||
async step => {
|
||||
if (step.result) {
|
||||
const translatorEnabled = () => {
|
||||
if (min.instance.params) {
|
||||
const params = JSON.parse(min.instance.params);
|
||||
return params['Enable Worldwide Translator'] === "TRUE";
|
||||
}
|
||||
return false;
|
||||
} // TODO: Encapsulate.
|
||||
|
||||
let query = step.result;
|
||||
|
||||
let locale = 'pt';
|
||||
const minBoot = GBServer.globals.minBoot as any;
|
||||
if (process.env.TRANSLATOR_DISABLED !== "true") {
|
||||
|
||||
if (process.env.TRANSLATOR_DISABLED !== "true" && translatorEnabled()) {
|
||||
locale = await AzureText.getLocale(minBoot.instance.textAnalyticsKey ?
|
||||
minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey,
|
||||
minBoot.instance.textAnalyticsEndpoint ?
|
||||
|
@ -121,7 +127,7 @@ export class AskDialog extends IGBDialog {
|
|||
user.locale = locale;
|
||||
await user.save();
|
||||
|
||||
query = await min.conversationalService.translate(
|
||||
query = await min.conversationalService.translate(min,
|
||||
min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
query,
|
||||
|
@ -146,7 +152,7 @@ export class AskDialog extends IGBDialog {
|
|||
const userDb = await sec.ensureUser(min.instance.instanceId, member.id,
|
||||
member.name, "", "web", member.name);
|
||||
const minBoot = GBServer.globals.minBoot as any;
|
||||
text = await min.conversationalService.translate(
|
||||
text = await min.conversationalService.translate(min,
|
||||
min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
text,
|
||||
|
|
|
@ -409,7 +409,7 @@ export class KBService implements IGBKBService {
|
|||
|
||||
// Calls language translator.
|
||||
|
||||
let text = await min.conversationalService.translate(
|
||||
let text = await min.conversationalService.translate(min,
|
||||
min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
answer.content,
|
||||
|
@ -457,7 +457,7 @@ export class KBService implements IGBKBService {
|
|||
const user = await sec.ensureUser(min.instance.instanceId, member.id,
|
||||
member.name, "", "web", member.name);
|
||||
const minBoot = GBServer.globals.minBoot as any;
|
||||
html = await min.conversationalService.translate(
|
||||
html = await min.conversationalService.translate(min,
|
||||
min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
html,
|
||||
|
|
|
@ -418,7 +418,7 @@ export class WhatsappDirectLine extends GBService {
|
|||
public async sendToDeviceEx(to, msg, locale) {
|
||||
const minBoot = GBServer.globals.minBoot as any;
|
||||
|
||||
const text = await this.min.conversationalService.translate(
|
||||
const text = await this.min.conversationalService.translate(this.min,
|
||||
this.min.instance.translatorKey ? this.min.instance.translatorKey : minBoot.instance.translatorKey,
|
||||
this.min.instance.translatorEndpoint ? this.min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
|
||||
msg,
|
||||
|
@ -430,7 +430,7 @@ export class WhatsappDirectLine extends GBService {
|
|||
public async sendToDevice(to, msg) {
|
||||
|
||||
const cmd = '/audio ';
|
||||
if (msg.startsWith(cmd) && process.env.AUDIO_DISABLED !== 'true') {
|
||||
if (msg.startsWith(cmd)) {
|
||||
msg = msg.substr(cmd.length);
|
||||
return await this.sendTextAsAudioToDevice(to, msg);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue