diff --git a/dist/chrome/_locales/en/messages.json b/dist/chrome/_locales/en/messages.json index 54adbd3..6d931f9 100644 --- a/dist/chrome/_locales/en/messages.json +++ b/dist/chrome/_locales/en/messages.json @@ -3,6 +3,6 @@ "message": "KISS Translator (by Gabe)" }, "app_description": { - "message": "A simple translator extension" + "message": "A minimalist bilingual translation Extension & Greasemonkey Script" } } diff --git a/dist/chrome/_locales/zh/messages.json b/dist/chrome/_locales/zh/messages.json index 8dcf18b..0efd121 100644 --- a/dist/chrome/_locales/zh/messages.json +++ b/dist/chrome/_locales/zh/messages.json @@ -3,6 +3,6 @@ "message": "简约翻译 (by Gabe)" }, "app_description": { - "message": "一个简约的翻译插件" + "message": "一个简约的双语网页翻译扩展 & 油猴脚本" } } diff --git a/dist/edge/chrome/.nojekyll b/dist/edge/chrome/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/dist/edge/chrome/_locales/en/messages.json b/dist/edge/chrome/_locales/en/messages.json new file mode 100644 index 0000000..6d931f9 --- /dev/null +++ b/dist/edge/chrome/_locales/en/messages.json @@ -0,0 +1,8 @@ +{ + "app_name": { + "message": "KISS Translator (by Gabe)" + }, + "app_description": { + "message": "A minimalist bilingual translation Extension & Greasemonkey Script" + } +} diff --git a/dist/edge/chrome/_locales/zh/messages.json b/dist/edge/chrome/_locales/zh/messages.json new file mode 100644 index 0000000..0efd121 --- /dev/null +++ b/dist/edge/chrome/_locales/zh/messages.json @@ -0,0 +1,8 @@ +{ + "app_name": { + "message": "简约翻译 (by Gabe)" + }, + "app_description": { + "message": "一个简约的双语网页翻译扩展 & 油猴脚本" + } +} diff --git a/dist/edge/chrome/asset-manifest.json b/dist/edge/chrome/asset-manifest.json new file mode 100644 index 0000000..44b0ff6 --- /dev/null +++ b/dist/edge/chrome/asset-manifest.json @@ -0,0 +1,9 @@ +{ + "popup.js": "/popup.js", + "options.js": "/options.js", + "background.js": "/background.js", + "content.js": "/content.js", + "content.html": "/content.html", + "options.html": "/options.html", + "popup.html": "/popup.html" +} \ No newline at end of file diff --git a/dist/edge/chrome/background.js b/dist/edge/chrome/background.js new file mode 100644 index 0000000..80b3aaf --- /dev/null +++ b/dist/edge/chrome/background.js @@ -0,0 +1,2 @@ +/*! For license information please see background.js.LICENSE.txt */ +!function(){var e={930:function(e,t,r){var n,o,a,s=r(861).default,i=r(6690).default,c=r(9728).default,u=r(1588).default,l=r(3808).default,p=r(1655).default,g=r(6389).default,f=r(3496).default;"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self&&self,o=[e],n=function(e){"use strict";var t,r;if(null===(t=globalThis.chrome)||void 0===t||null===(r=t.runtime)||void 0===r||!r.id)throw new Error("This script should only be loaded in a browser extension.");if("undefined"===typeof globalThis.browser||Object.getPrototypeOf(globalThis.browser)!==Object.prototype){var n="The message port closed before a response was received.",o=function(e){var t={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(t).length)throw new Error("api-metadata.json has not been included in browser-polyfill");var r=function(e){p(r,e);var t=g(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return i(this,r),(n=t.call(this,o)).createItem=e,n}return c(r,[{key:"get",value:function(e){return this.has(e)||this.set(e,this.createItem(e)),u(l(r.prototype),"get",this).call(this,e)}}]),r}(f(WeakMap)),o=function(e){return e&&"object"===typeof e&&"function"===typeof e.then},a=function(t,r){return function(){for(var n=arguments.length,o=new Array(n),a=0;a1?n-1:0),s=1;st.maxArgs)throw new Error("Expected at most ".concat(t.maxArgs," ").concat(m(t.maxArgs)," for ").concat(e,"(), got ").concat(o.length));return new Promise((function(n,s){if(t.fallbackToNoCallback)try{r[e].apply(r,o.concat([a({resolve:n,reject:s},t)]))}catch(i){console.warn("".concat(e," API method doesn't seem to support the callback parameter, ")+"falling back to call it without a callback: ",i),r[e].apply(r,o),t.fallbackToNoCallback=!1,t.noCallback=!0,n()}else t.noCallback?(r[e].apply(r,o),n()):r[e].apply(r,o.concat([a({resolve:n,reject:s},t)]))}))}},x=function(e,t,r){return new Proxy(t,{apply:function(t,n,o){return r.call.apply(r,[n,e].concat(s(o)))}})},h=Function.call.bind(Object.prototype.hasOwnProperty),A=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Object.create(null),a={has:function(e,r){return r in t||r in o},get:function(a,s,i){if(s in o)return o[s];if(s in t){var c=t[s];if("function"===typeof c)if("function"===typeof r[s])c=x(t,t[s],r[s]);else if(h(n,s)){var u=d(s,n[s]);c=x(t,t[s],u)}else c=c.bind(t);else if("object"===typeof c&&null!==c&&(h(r,s)||h(n,s)))c=e(c,r[s],n[s]);else{if(!h(n,"*"))return Object.defineProperty(o,s,{configurable:!0,enumerable:!0,get:function(){return t[s]},set:function(e){t[s]=e}}),c;c=e(c,r[s],n["*"])}return o[s]=c,c}},set:function(e,r,n,a){return r in o?o[r]=n:t[r]=n,!0},defineProperty:function(e,t,r){return Reflect.defineProperty(o,t,r)},deleteProperty:function(e,t){return Reflect.deleteProperty(o,t)}},s=Object.create(t);return new Proxy(s,a)},y=function(e){return{addListener:function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),a=2;a3?n-3:0),a=3;at.maxArgs)throw new Error("Expected at most ".concat(t.maxArgs," ").concat(m(t.maxArgs)," for ").concat(e,"(), got ").concat(o.length));return new Promise((function(e,t){var n=w.bind(null,{resolve:e,reject:t});o.push(n),r.sendMessage.apply(r,o)}))},_={devtools:{network:{onRequestFinished:y(v)}},runtime:{onMessage:y(b),onMessageExternal:y(b),sendMessage:k.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:k.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},S={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return t.privacy={network:{"*":S},services:{"*":S},websites:{"*":S}},A(e,_,t)};e.exports=o(chrome)}else e.exports=globalThis.browser},void 0===(a="function"===typeof n?n.apply(t,o):n)||(e.exports=a)},3897:function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;--n){var a=this.tryEntries[n],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var i=o.call(a,"catchLoc"),c=o.call(a,"finallyLoc");if(i&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),j(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;j(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:E(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},r}function n(e,t,r,n,o,a,s){try{var i=e[a](s),c=i.value}catch(u){return void r(u)}i.done?t(c):Promise.resolve(c).then(n,o)}function o(e){return function(){var t=this,r=arguments;return new Promise((function(o,a){var s=e.apply(t,r);function i(e){n(s,o,a,i,c,"next",e)}function c(e){n(s,o,a,i,c,"throw",e)}i(void 0)}))}}var a=r(930),s=r.n(a);function i(t){var r=function(t,r){if("object"!==e(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"===e(r)?r:String(r)}function c(e,t,r){return(t=i(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);rspan>span"},{pattern:"www.google.com",selector:'h3, .IsZvec, [data-sncf="1"]'}],y=("\u8bf7 [\u70b9\u51fb\u8fd9\u91cc](".concat("https://github.com/fishjar/kiss-translator",") \u67e5\u770b\u8be6\u60c5\u3002"),"Please [click here](".concat("https://github.com/fishjar/kiss-translator",") for details."),"KISS Translator".trim().split(/\s+/).join("-")),v=(y.toLowerCase(),"".concat(y,"_msauth"),"".concat(y,"_setting")),b="".concat(y,"_rules"),w="".concat(y,"_sync"),k=["chrome","edge","firefox"],_="".concat(y,"_cache"),S="fetch",j="Microsoft",O="OpenAI",E=[["auto","Auto-detect"]].concat([["en","English - English"],["zh-CN","Simplified Chinese - \u7b80\u4f53\u4e2d\u6587"],["zh-TW","Traditional Chinese - \u7e41\u9ad4\u4e2d\u6587"],["ar","Arabic - \u0627\u0644\u0639\u0631\u0628\u064a\u0629"],["bg","Bulgarian - \u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438"],["ca","Catalan - Catal\xe0"],["hr","Croatian - Hrvatski"],["cs","Czech - \u010ce\u0161tina"],["da","Danish - Dansk"],["nl","Dutch - Nederlands"],["fi","Finnish - Suomi"],["fr","French - Fran\xe7ais"],["de","German - Deutsch"],["el","Greek - \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac"],["hi","Hindi - \u0939\u093f\u0928\u094d\u0926\u0940"],["hu","Hungarian - Magyar"],["id","Indonesian - Indonesia"],["it","Italian - Italiano"],["ja","Japanese - \u65e5\u672c\u8a9e"],["ko","Korean - \ud55c\uad6d\uc5b4"],["ms","Malay - Melayu"],["mt","Maltese - Malti"],["nb","Norwegian - Norsk Bokm\xe5l"],["pl","Polish - Polski"],["pt","Portuguese - Portugu\xeas"],["ro","Romanian - Rom\xe2n\u0103"],["ru","Russian - \u0420\u0443\u0441\u0441\u043a\u0438\u0439"],["sk","Slovak - Sloven\u010dina"],["sl","Slovenian - Sloven\u0161\u010dina"],["es","Spanish - Espa\xf1ol"],["sv","Swedish - Svenska"],["ta","Tamil - \u0ba4\u0bae\u0bbf\u0bb4\u0bcd"],["te","Telugu - \u0c24\u0c46\u0c32\u0c41\u0c17\u0c41"],["th","Thai - \u0e44\u0e17\u0e22"],["tr","Turkish - T\xfcrk\xe7e"],["uk","Ukrainian - \u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430"],["vi","Vietnamese - Ti\u1ebfng Vi\u1ec7t"]]),M=(c(m={},j,new Map([["auto",""],["zh-CN","zh-Hans"],["zh-TW","zh-Hant"]])),c(m,O,new Map(E.map((function(e){var t=f(e,2);return[t[0],t[1].split(" - ")[0]]})))),"dash_line"),P={pattern:"*",selector:h,translator:j,fromLang:"auto",toLang:"zh-CN",textStyle:M,transOpen:!1},T={darkMode:!1,uiLang:"zh",fetchLimit:10,fetchInterval:100,clearCache:!1,googleUrl:"https://translate.googleapis.com/translate_a/single",openaiUrl:"https://api.openai.com/v1/chat/completions",openaiKey:"",openaiModel:"gpt-4",openaiPrompt:"You will be provided with a sentence in ".concat("{{from}}",", and your task is to translate it into ").concat("{{to}}",".")},C=[].concat(function(e){if(Array.isArray(e))return p(e)}(d=A.map((function(e){return l(l(l({},P),e),{},{transOpen:!0})})))||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(d)||g(d)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[P]),L={syncUrl:"",syncKey:"",settingUpdateAt:0,settingSyncAt:0,rulesUpdateAt:0,rulesSyncAt:0};var I=function(){try{return r(930)}catch(e){console.log("[browser]",e.message)}}(),N="chrome",R=k.includes(N),G=!1;function U(e,t){return F.apply(this,arguments)}function F(){return(F=o(t().mark((function e(r,n){var o,a;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!R){e.next=5;break}return e.next=3,I.storage.local.set(c({},r,n));case 3:e.next=17;break;case 5:if(!G){e.next=14;break}return e.next=8,(window.GM_getValue||window.GM.getValue)(r);case 8:return o=e.sent,e.next=11,(window.GM_setValue||window.GM.setValue)(r,n);case 11:window.dispatchEvent(new StorageEvent("storage",{key:r,oldValue:o,newValue:n})),e.next=17;break;case 14:a=window.localStorage.getItem(r),window.localStorage.setItem(r,n),window.dispatchEvent(new StorageEvent("storage",{key:r,oldValue:a,newValue:n}));case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function V(e){return B.apply(this,arguments)}function B(){return(B=o(t().mark((function e(r){var n,o;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!R){e.next=7;break}return e.next=3,I.storage.local.get([r]);case 3:return n=e.sent,e.abrupt("return",n[r]);case 7:if(!G){e.next=12;break}return e.next=10,(window.GM_getValue||window.GM.getValue)(r);case 10:return o=e.sent,e.abrupt("return",o);case 12:return e.abrupt("return",window.localStorage.getItem(r));case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function D(){return(D=o(t().mark((function e(r){var n,o;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!R){e.next=5;break}return e.next=3,I.storage.local.remove([r]);case 3:e.next=17;break;case 5:if(!G){e.next=14;break}return e.next=8,(window.GM_getValue||window.GM.getValue)(r);case 8:return n=e.sent,e.next=11,(window.GM_deleteValue||window.GM.deleteValue)(r);case 11:window.dispatchEvent(new StorageEvent("storage",{key:r,oldValue:n,newValue:null})),e.next=17;break;case 14:o=window.localStorage.getItem(r),window.localStorage.removeItem(r),window.dispatchEvent(new StorageEvent("storage",{key:r,oldValue:o,newValue:null}));case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function z(e,t){return q.apply(this,arguments)}function q(){return(q=o(t().mark((function e(r,n){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U(r,JSON.stringify(n));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function K(){return(K=o(t().mark((function e(r,n){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,V(r);case 2:if(e.sent){e.next=5;break}return e.next=5,z(r,n);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function H(e){return W.apply(this,arguments)}function W(){return(W=o(t().mark((function e(r){var n;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,V(r);case 2:return n=e.sent,e.abrupt("return",n&&JSON.parse(n));case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Z(){return(Z=o(t().mark((function e(r,n){var o,a;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H(r);case 2:if(e.t1=o=e.sent,e.t0=null!==e.t1,!e.t0){e.next=6;break}e.t0=void 0!==o;case 6:if(!e.t0){e.next=10;break}e.t2=o,e.next=11;break;case 10:e.t2={};case 11:return a=e.t2,e.next=14,z(r,l(l({},a),n));case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var J={get:V,set:U,del:function(e){return D.apply(this,arguments)},setObj:z,trySetObj:function(e,t){return K.apply(this,arguments)},getObj:H,putObj:function(e,t){return Z.apply(this,arguments)},onChanged:function(e){R?I.storage.onChanged.addListener(e):window.addEventListener("storage",e)}},Y=J,$=function(){var e=o(t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=l,e.t1=l({},T),e.next=4,Y.getObj(v);case 4:if(e.t2=e.sent,e.t2){e.next=7;break}e.t2={};case 7:return e.t3=e.t2,e.abrupt("return",(0,e.t0)(e.t1,e.t3));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),X=function(){var e=o(t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Y.getObj(b);case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=[];case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Q="%[a-f0-9]{2}";new RegExp("("+Q+")|([^%]+?)","gi"),new RegExp("("+Q+")+","gi");Symbol("encodeFragmentIdentifier");var ee=function(e,t){var r;return null===I||void 0===I||null===(r=I.runtime)||void 0===r?void 0:r.sendMessage({action:e,args:t})},te=function(){var e=o(t().mark((function e(r){var n,o,a,s,i,c=arguments;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=(n=c.length>1&&void 0!==c[1]?c[1]:{}).method,a=void 0===o?"GET":o,s=n.headers,i=n.body,e.abrupt("return",new Promise((function(e,t){try{(window.GM_xmlhttpRequest||window.GM.xmlhttpRequest)({method:a,url:r,headers:s,data:i,onload:function(r){if(200===r.status){var n=new Headers;r.responseHeaders.split("\n").forEach((function(e){var t=f(e.split(":").map((function(e){return e.trim()})),2),r=t[0],o=t[1];r&&o&&n.append(r,o)})),e(new Response(r.response,{headers:n}))}else t(new Error("[".concat(r.status,"] ").concat(r.responseText)))},onerror:t})}catch(n){t(n)}})));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),re=function(){var e=o(t().mark((function e(r,n){var o,a;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n===j?r.headers.delete("Authorization"):n===O&&(r.headers.delete("Authorization"),r.headers.delete("api-key")),"GET"===r.method){e.next=8;break}return e.next=4,r.text();case 4:o=e.sent,(a=new URL(r.url)).pathname+=o,r=new Request(a.toString(),{method:"GET"});case 8:return e.abrupt("return",r);case 9:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),ne=function(){var e=o(t().mark((function e(r,n){var o,a,s,i,c,u,l,p,g=arguments;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=(a=g.length>2&&void 0!==g[2]?g[2]:{}).useCache,i=a.translator,e.next=3,re(new Request(r,n),i);case 3:return c=e.sent,e.next=6,caches.open(_);case 6:if(u=e.sent,!s){e.next=17;break}return e.prev=8,e.next=11,u.match(c);case 11:l=e.sent,e.next=17;break;case 14:e.prev=14,e.t0=e.catch(8),console.log("[cache match]",e.t0);case 17:if(l){e.next=27;break}if(!G){e.next=24;break}return e.next=21,te(r,n);case 21:l=e.sent,e.next=27;break;case 24:return e.next=26,fetch(r,n);case 26:l=e.sent;case 27:if(null!==(o=l)&&void 0!==o&&o.ok){e.next=29;break}throw new Error("response: ".concat(l.statusText));case 29:if(!s){e.next=38;break}return e.prev=30,e.next=33,u.put(c,l.clone());case 33:e.next=38;break;case 35:e.prev=35,e.t1=e.catch(30),console.log("[cache put]",e.t1);case 38:if(null===(p=l.headers.get("Content-Type"))||void 0===p||!p.includes("json")){e.next=43;break}return e.next=42,l.json();case 42:return e.abrupt("return",e.sent);case 43:return e.next=45,l.text();case 45:return e.abrupt("return",e.sent);case 46:case"end":return e.stop()}}),e,null,[[8,14],[30,35]])})));return function(t,r){return e.apply(this,arguments)}}(),oe=function(){var e=o(t().mark((function e(r,n,o){var a;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!R){e.next=7;break}return e.next=3,ee(S,{input:r,init:n,opts:o});case 3:if(!(a=e.sent).error){e.next=6;break}throw new Error(a.error);case 6:return e.abrupt("return",a.data);case 7:return e.next=9,ne(r,n,o);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),ae=function(){var e=o(t().mark((function e(r,n,o){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",oe(r,{headers:c({"Content-type":"application/json"},"X-KISS-PSK",n),method:"POST",body:JSON.stringify(o)}));case 1:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),se=function(){var e=o(t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Y.getObj(w);case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=L;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ie=function(){var e=o(t().mark((function e(){var r,n,o,a,s,i;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,se();case 2:if(r=e.sent,n=r.syncUrl,o=r.syncKey,a=r.settingUpdateAt,n&&o){e.next=8;break}return e.abrupt("return");case 8:return e.next=10,$();case 10:return s=e.sent,e.next=13,ae(n,o,{key:"KT_SETTING",value:s,updateAt:a});case 13:if(!((i=e.sent)&&i.updateAt>a)){e.next=21;break}return e.next=17,Y.putObj(w,{settingUpdateAt:i.updateAt,settingSyncAt:i.updateAt});case 17:return e.next=19,Y.setObj(v,i.value);case 19:e.next=23;break;case 21:return e.next=23,Y.putObj(w,{settingSyncAt:i.updateAt});case 23:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ce=function(){var e=o(t().mark((function e(){var r,n,o,a,s,i;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,se();case 2:if(r=e.sent,n=r.syncUrl,o=r.syncKey,a=r.rulesUpdateAt,n&&o){e.next=8;break}return e.abrupt("return");case 8:return e.next=10,X();case 10:return s=e.sent,e.next=13,ae(n,o,{key:"KT_RULES",value:s,updateAt:a});case 13:if(!((i=e.sent)&&i.updateAt>a)){e.next=21;break}return e.next=17,Y.putObj(w,{rulesUpdateAt:i.updateAt,rulesSyncAt:i.updateAt});case 17:return e.next=19,Y.setObj(b,i.value);case 19:e.next=23;break;case 21:return e.next=23,Y.putObj(w,{rulesSyncAt:i.updateAt});case 23:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ue=function(){var e=o(t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,ie();case 3:return e.next=5,ce();case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log("[sync all]",e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(){return e.apply(this,arguments)}}();s().runtime.onInstalled.addListener((function(){console.log("onInstalled"),Y.trySetObj(v,T),Y.trySetObj(b,C),Y.trySetObj(w,L)})),s().runtime.onStartup.addListener(o(t().mark((function e(){var r;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("onStartup"),e.next=3,ue();case 3:return e.next=5,$();case 5:r=e.sent,r.clearCache&&caches.delete(_);case 8:case"end":return e.stop()}}),e)})))),s().runtime.onMessage.addListener((function(e,t,r){var n=e.action,o=e.args;if(n===S)ne(o.input,o.init,o.opts).then((function(e){r({data:e})})).catch((function(e){r({error:e.message})}));else r({error:"message action is unavailable: ".concat(n)});return!0}))}()}(); \ No newline at end of file diff --git a/dist/edge/chrome/background.js.LICENSE.txt b/dist/edge/chrome/background.js.LICENSE.txt new file mode 100644 index 0000000..ae386fb --- /dev/null +++ b/dist/edge/chrome/background.js.LICENSE.txt @@ -0,0 +1 @@ +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ diff --git a/dist/edge/chrome/content.html b/dist/edge/chrome/content.html new file mode 100644 index 0000000..d2fdab8 --- /dev/null +++ b/dist/edge/chrome/content.html @@ -0,0 +1 @@ +KISS Translator

React is a JavaScript library for building user interfaces.

































React is a JavaScript library for building user interfaces.

































React is a JavaScript library for building user interfaces.

































React is a JavaScript library for building user interfaces.

































React is a JavaScript library for building user interfaces.

  • Declarative: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
  • Component-Based: Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
  • React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。
  • 以声明式编写 UI,可以让你的代码更加可靠,且方便调试。

React is a JavaScript library for building user interfaces.

  • Declarative: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
  • Component-Based: Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
  • React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。
  • 以声明式编写 UI,可以让你的代码更加可靠,且方便调试。

React is a JavaScript library for building user interfaces.

  • Declarative: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
  • Component-Based: Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
  • React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。
  • 以声明式编写 UI,可以让你的代码更加可靠,且方便调试。

React is a JavaScript library for building user interfaces.

  • Declarative: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
  • Component-Based: Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
  • React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。
  • 以声明式编写 UI,可以让你的代码更加可靠,且方便调试。

React is a JavaScript library for building user interfaces.

  • Declarative: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
  • Component-Based: Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
  • React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。
  • 以声明式编写 UI,可以让你的代码更加可靠,且方便调试。
\ No newline at end of file diff --git a/dist/edge/chrome/content.js b/dist/edge/chrome/content.js new file mode 100644 index 0000000..1437edc --- /dev/null +++ b/dist/edge/chrome/content.js @@ -0,0 +1,2 @@ +/*! For license information please see content.js.LICENSE.txt */ +!function(){var e={534:function(e,t,n){"use strict";var r=n(7313),a=n(2224);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n