From 0ba46d1eb6ce3bb82e9c12753e3923d24024149b Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 3 Oct 2025 21:54:44 +0300 Subject: [PATCH] Fix bugs & update version --- sdkjs-plugins/content/deepl/CHANGELOG.md | 6 +- sdkjs-plugins/content/deepl/config.json | 2 +- .../content/deepl/deploy/deepl.plugin | Bin 208567 -> 210163 bytes sdkjs-plugins/content/deepl/scripts/deepL.js | 312 +++++++++++------- 4 files changed, 196 insertions(+), 124 deletions(-) diff --git a/sdkjs-plugins/content/deepl/CHANGELOG.md b/sdkjs-plugins/content/deepl/CHANGELOG.md index 02752ed1..f939df6c 100644 --- a/sdkjs-plugins/content/deepl/CHANGELOG.md +++ b/sdkjs-plugins/content/deepl/CHANGELOG.md @@ -14,4 +14,8 @@ ## 1.0.3 -* Update jquery version. \ No newline at end of file +* Update jquery version. + +## 1.0.4 + +* Update jquery version. diff --git a/sdkjs-plugins/content/deepl/config.json b/sdkjs-plugins/content/deepl/config.json index 0017f24f..ef467930 100644 --- a/sdkjs-plugins/content/deepl/config.json +++ b/sdkjs-plugins/content/deepl/config.json @@ -12,7 +12,7 @@ "zh-ZH": "DeepL" }, "guid": "asc.{b78a062b-e349-4634-8a44-99825600d299}", - "version": "1.0.3", + "version": "1.0.4", "variations": [ { diff --git a/sdkjs-plugins/content/deepl/deploy/deepl.plugin b/sdkjs-plugins/content/deepl/deploy/deepl.plugin index fd923b064fa0997dded66268823220b2ff8fefe5..e8aef8e5a724149c6567d70fc43e9eb869030a0d 100644 GIT binary patch delta 12052 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 E2clmy#{d8T delta 10293 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'; } + } - if (container.innerHTML !== "") { - if ($('#vanish_container').hasClass('display-none')) - $('#vanish_container').toggleClass('display-none'); + if (container.innerHTML !== "" && $('#vanish_container').hasClass('display-none')) { + $('#vanish_container').toggleClass('display-none'); + } + + showLoader(elements, false); + updateScroll(); + } + + function handleError(oResponse) { + var container = document.getElementById('txt_shower'); + + showLoader(elements, false); + + if (!$('#txt_shower').hasClass('error')) $('#txt_shower').toggleClass('error'); + if (!$('#api-value').hasClass('error_api')) $('#api-value').toggleClass('error_api'); + + if (API_KEY === '') { + container.innerHTML = "API key required!"; + } else { + if (oResponse.status === 403) { + if (!$('#api-value').hasClass('img_error')) $('#api-value').toggleClass('img_error'); + container.innerHTML = "API key is not valid!"; + } else { + container.innerHTML = "Connection failed!"; + } + } + } + + function checkKey() { + let requestUrl = API_URL_CURRENT + "/usage"; + let requestOptions = { + method: "GET", + headers: { + "Authorization": "DeepL-Auth-Key " + API_KEY + } + }; + + if (PROXY_URL !== "") { + requestOptions = { + method: "POST", + body: JSON.stringify({ + target: requestUrl, + method: requestOptions.method, + headers: requestOptions.headers + }) + }; + requestUrl = PROXY_URL; + } + + fetch(requestUrl, requestOptions) + .then(function(response) { + if (!response.ok) { + handleError(response); + } + return response.json(); + }) + .then(function(response) { + if (response.character_limit) { + + localStorage.setItem(API_KEY_STORAGE_NAME, JSON.stringify({ + apiKey: API_KEY, + apiUrl: API_URL_CURRENT + })); + + handleSuccess(response); + return; } - showLoader(elements, false); - updateScroll(); + if (API_URL_CURRENT === API_URL_FREE) { + API_URL_CURRENT = API_URL_PRO; + checkKey(); + return; + } + handleError(response); + }) + .catch(function(response) { + if (API_URL_CURRENT === API_URL_FREE) { + API_URL_CURRENT = API_URL_PRO; + checkKey(); + return; + } + handleError(response); + }); + } - }).fail(function(oResponse) { - if (curr_api_url === free_api_url) { - curr_api_url = pro_api_url; - Translate(apikey, targetLanguage, sParams); - } - else { - showLoader(elements, false); - container = document.getElementById('txt_shower'); - if (!$('#txt_shower').hasClass('error')) - $('#txt_shower').toggleClass('error'); - if (!$('#api-value').hasClass('error_api')) - $('#api-value').toggleClass('error_api'); - if (apikey == '') { - container.innerHTML = "API key required!"; - } - else { - if (oResponse.status === 403) { - if (!$('#api-value').hasClass('img_error')) - $('#api-value').toggleClass('img_error'); - container.innerHTML = "API key is not valid!" - } - else - container.innerHTML = "Connection failed!"; - } + function Translate(targetLanguage, sourceText) { + if (!$('#vanish_container').hasClass('display-none')) + $('#vanish_container').toggleClass('display-none'); + showLoader(elements, true); + + let requestUrl = API_URL_CURRENT + "/translate"; + let data = sourceText + "&target_lang=" + targetLanguage; + + let requestOptions = { + method: "POST", + headers: { + "Authorization": "DeepL-Auth-Key " + API_KEY + }, + body: data + }; + + if (PROXY_URL !== "") { + requestOptions = { + method: "POST", + body: JSON.stringify({ + target: requestUrl, + method: requestOptions.method, + headers: requestOptions.headers, + data: requestOptions.body + }) + }; + requestUrl = PROXY_URL; + } + + fetch(requestUrl, requestOptions) + .then(function(response) { + if (!response.ok) { + handleError(response); } + return response.json(); + }) + .then(function(response) { + handleSuccess(response); + }) + .catch(function(response) { + handleError(response); }); }; function SplitText(sText) { var allParsedParas = sText.split(/\n/); - return allParsedParas; } @@ -305,20 +362,18 @@ function getMessage(key) { }) $('#save').on('click', function() { - curr_api_url = free_api_url; + API_URL_CURRENT = API_URL_FREE; $('#select_example').select2({ minimumResultsForSearch: Infinity, width: "calc(100% - 24px)" }); - apikey = elements.api_value.value.trim(); - if (apikey !== '') { + API_KEY = elements.api_value.value.trim(); + if (API_KEY !== '') { document.getElementById('txt_shower').innerHTML = ''; var allParsedParas = SplitText(txt); DelInvalidChars(allParsedParas); - var sParams = CreateParams(allParsedParas); - var target_lang = GetTargetLang(); - Translate(apikey, target_lang, sParams); + checkKey(); } else { if (!$('#txt_shower').hasClass('error')) @@ -331,10 +386,8 @@ function getMessage(key) { } }) $('#reconf').on('click', function() { - apikey = ''; - saved_key = localStorage.getItem('deepL_Apikey'); if (saved_key !== null) { - elements.api_value.value = saved_key; + elements.api_value.value = API_KEY; } document.getElementById('txt_shower').innerHTML = ''; switchClass(elements.re_api, 'display-none', true) @@ -387,14 +440,28 @@ function getMessage(key) { }); }); - apikey = localStorage.getItem('deepL_Apikey'); - if (apikey != null && apikey != '') { + let info = localStorage.getItem(API_KEY_STORAGE_NAME); + if (info) { + try { + info = JSON.parse(info); + API_KEY = info.apiKey || ""; + API_URL_CURRENT = info.apiUrl || API_URL_FREE; + if (API_KEY !== "") { + elements.api_value.value = API_KEY; + } + } catch(e) { + API_KEY = ""; + API_URL_CURRENT = API_URL_FREE; + } + } + + if ("" !== API_KEY) { switchClass(elements.api, 'display-none', true); switchClass(elements.re_api, 'display-none', false); switchClass(elements.translator, 'display-none', false); } else - apikey = ''; + API_KEY = ""; $('#show_manually').click(function() { $(this).hide(); @@ -432,20 +499,12 @@ function getMessage(key) { txt = document.getElementById("enter_container").value; if (sTextBeforeKeyUp == txt) return; - - switch (window.Asc.plugin.info.editorType) { - case 'word': - case 'slide': { - if (txt !== "") { - RunTranslate(txt); - } - break; - } - case 'cell': { - RunTranslate(txt); - } - break; - } + + if ("" == txt) + return; + + RunTranslate(txt); + }, 1000)); }); @@ -481,19 +540,24 @@ function getMessage(key) { }; function RunTranslate(sText) { - sTextBeforeKeyUp = sText; var allParsedParas = processText(sText); DelInvalidChars(allParsedParas); if (IsLastTransate(allParsedParas)) return false; - var sParams = CreateParams(allParsedParas); - var target_lang = GetTargetLang(); + + let source_text = ""; + for (var nPara = 0; nPara < allParsedParas.length; nPara++) { + if (nPara !== 0) + source_text += "&"; + source_text += "text=" + allParsedParas[nPara]; + } + let target_lang = GetTargetLang(); document.getElementById('txt_shower').innerHTML = ''; translatedText = []; - Translate(apikey, target_lang, sParams); + Translate(target_lang, source_text); }; window.Asc.plugin.onExternalMouseUp = function() @@ -510,6 +574,10 @@ function getMessage(key) { }; window.Asc.plugin.onTranslate = function() { + function getMessage(key) { + return window.Asc.plugin.tr(key.trim()); + }; + var elements = document.getElementsByClassName("i18n"); for (var i = 0; i < elements.length; i++) {