aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/google-translate.js82
1 files changed, 63 insertions, 19 deletions
diff --git a/src/assets/javascripts/helpers/google-translate.js b/src/assets/javascripts/helpers/google-translate.js
index 025a2446..b9a783ff 100644
--- a/src/assets/javascripts/helpers/google-translate.js
+++ b/src/assets/javascripts/helpers/google-translate.js
@@ -1,19 +1,34 @@
+import commonHelper from './common.js'
+
const targets = [
"translate.google.com",
"translate.google.no"
];
const redirects = {
- "normal": [
- "https://translate.metalune.xyz",
- "https://simplytranslate.org",
- "https://st.alefvanoon.xyz",
- "https://translate.josias.dev",
- "https://translate.namazso.eu",
- "https://translate.riverside.rocks",
- "https://manerakai.asuscomm.com:447",
- "https://translate.bus-hit.me"
- ]
+ "simplyTranslate": {
+ "normal": [
+ "https://simplytranslate.org",
+ "https://st.alefvanoon.xyz",
+ "https://translate.josias.dev",
+ "https://translate.namazso.eu",
+ "https://translate.riverside.rocks",
+ "https://manerakai.asuscomm.com:447",
+ "https://translate.bus-hit.me",
+ "https://simplytranslate.pussthecat.org",
+ ]
+ },
+
+ "lingva": {
+ "normal": [
+ "https://lingva.ml",
+ "https://translate.alefvanoon.xyz",
+ "https://translate.igna.rocks",
+ "https://lingva.pussthecat.org",
+ "https://translate.datatunnel.xyz",
+ ]
+ }
+
};
let disableSimplyTranslate;
@@ -31,20 +46,53 @@ function setSimplyTranslateInstance(val) {
browser.storage.sync.set({ simplyTranslateInstance })
};
+let translateFrontend;
+const getFrontend = () => translateFrontend;
+function setFrontend(val) {
+ translateFrontend = val;
+ browser.storage.sync.set({ translateFrontend })
+ console.log("Translate frontend: ", frontend)
+}
+
async function redirect(url, initiator) {
await init()
- if (disableSimplyTranslate)
- return null;
- return `${simplyTranslateInstance}/${url.search}`;
+ if (disableSimplyTranslate) {
+ console.log("SImplyTranslte disabled")
+ return null
+ };
+
+ let link;
+ if (translateFrontend == 'simplyTransalte') {
+ link = commonHelper.getRandomInstance(redirects.simplyTranslate.normal);
+ console.log(`${link}/${url.search}`);
+ return `${link}/${url.search}`;
+ }
+ else if (translateFrontend == 'lingva') {
+ let params_arr = url.search.split('&');
+ params_arr[0] = params_arr[0].substring(1);
+ let myMap = new Map();
+ for (let i = 0; i < params_arr.length; i++) {
+ let pair = params_arr[i].split('=');
+ myMap.set(pair[0], pair[1]);
+ }
+ link = commonHelper.getRandomInstance(redirects.lingva.normal);
+ if (myMap.get("sl") && myMap.get("tl") && myMap.get("text"))
+ return `${link}/${myMap.get("sl")}/${myMap.get("tl")}/${myMap.get("text")}`;
+ else
+ return link;
+ }
}
+
async function init() {
let result = await browser.storage.sync.get([
"disableSimplyTranslate",
"simplyTranslateInstance",
+ "translateFrontend"
]);
disableSimplyTranslate = result.disableSimplyTranslate || false;
simplyTranslateInstance = result.simplyTranslateInstance;
+ translateFrontend = result.translateFrontend || "simplyTransalte";
}
export default {
@@ -54,12 +102,8 @@ export default {
setDisableSimplyTranslate,
getSimplyTranslateInstance,
setSimplyTranslateInstance,
+ getFrontend,
+ setFrontend,
redirect,
init,
};
-
-
-
-
-
-