Update Translator.plugin.js

This commit is contained in:
Mirco Wittrien 2023-08-08 10:42:21 +02:00
parent b8ca969beb
commit a04cb64d85
1 changed files with 62 additions and 34 deletions

View File

@ -315,7 +315,7 @@ module.exports = (_ => {
}, },
papago: { papago: {
name: "Papago", name: "Papago",
auto: false, auto: true,
funcName: "papagoTranslate", funcName: "papagoTranslate",
languages: ["en","es","fr","id","ja","ko","th","vi","zh-CN","zh-TW"], languages: ["en","es","fr","id","ja","ko","th","vi","zh-CN","zh-TW"],
key: "xxxxxxxxxxxxxxxxxxxx xxxxxxxxxx" key: "xxxxxxxxxxxxxxxxxxxx xxxxxxxxxx"
@ -1112,40 +1112,68 @@ module.exports = (_ => {
papagoTranslate (data, callback) { papagoTranslate (data, callback) {
const credentials = (authKeys.papago && authKeys.papago.key || "kUNGxtAmTJQFbaFehdjk zC70k3VhpM").split(" "); const credentials = (authKeys.papago && authKeys.papago.key || "kUNGxtAmTJQFbaFehdjk zC70k3VhpM").split(" ");
BDFDB.LibraryRequires.request("https://openapi.naver.com/v1/papago/n2mt", { const doTranslate = langCode => {
method: "post", BDFDB.LibraryRequires.request("https://openapi.naver.com/v1/papago/n2mt", {
form: { method: "post",
source: data.input.id, form: {
target: data.output.id, source: langCode,
text: data.text target: data.output.id,
}, text: data.text
headers: { },
"X-Naver-Client-Id": credentials[0], headers: {
"X-Naver-Client-Secret": credentials[1], "X-Naver-Client-Id": credentials[0],
"Content-Type": "application/x-www-form-urlencoded" "X-Naver-Client-Secret": credentials[1],
} "Content-Type": "application/x-www-form-urlencoded"
}, (error, response, body) => {
if (!error && body && response.statusCode == 200) {
try {
let message = (JSON.parse(body) || {}).message;
let result = message && (message.body || message.result);
if (result && result.translatedText) callback(result.translatedText);
else callback("");
} }
catch (err) {callback("");} }, (error, response, body) => {
} if (!error && body && response.statusCode == 200) {
else { try {
if (response.statusCode == 429) BDFDB.NotificationUtils.toast(`${this.labels.toast_translating_failed}. ${this.labels.toast_translating_tryanother}. ${this.labels.error_hourlylimit}`, { let message = (JSON.parse(body) || {}).message;
type: "danger", let result = message && (message.body || message.result);
position: "center" if (result && result.translatedText) callback(result.translatedText);
}); else callback("");
else BDFDB.NotificationUtils.toast(`${this.labels.toast_translating_failed}. ${this.labels.toast_translating_tryanother}. ${this.labels.error_serverdown}/${this.labels.error_keyoutdated}`, { }
type: "danger", catch (err) {callback("");}
position: "center" }
}); else {
callback(""); if (response.statusCode == 429) BDFDB.NotificationUtils.toast(`${this.labels.toast_translating_failed}. ${this.labels.toast_translating_tryanother}. ${this.labels.error_hourlylimit}`, {
} type: "danger",
}); position: "center"
});
else BDFDB.NotificationUtils.toast(`${this.labels.toast_translating_failed}. ${this.labels.toast_translating_tryanother}. ${this.labels.error_serverdown}/${this.labels.error_keyoutdated}`, {
type: "danger",
position: "center"
});
callback("");
}
});
};
if (data.input.auto) {
BDFDB.LibraryRequires.request("https://openapi.naver.com/v1/papago/detectLangs", {
method: "post",
form: {
query: data.text,
},
headers: {
"X-Naver-Client-Id": credentials[0],
"X-Naver-Client-Secret": credentials[1],
"Content-Type": "application/x-www-form-urlencoded"
},
}, (error, response, body) => {
let langCode = "en";
if (!error && body && response.statusCode == 200) {
try {
langCode = JSON.parse(body)["langCode"];
} catch (err) {
langCode = "en";
}
}
data.input.name = languages[langCode].name;
data.input.ownlang = languages[langCode].ownlang;
doTranslate(langCode);
});
}
else doTranslate(data.input.id);
} }
baiduTranslate (data, callback) { baiduTranslate (data, callback) {