Added Lingva #16
This commit is contained in:
parent
538ae70909
commit
84333daede
@ -1,19 +1,34 @@
|
|||||||
|
import commonHelper from './common.js'
|
||||||
|
|
||||||
const targets = [
|
const targets = [
|
||||||
"translate.google.com",
|
"translate.google.com",
|
||||||
"translate.google.no"
|
"translate.google.no"
|
||||||
];
|
];
|
||||||
|
|
||||||
const redirects = {
|
const redirects = {
|
||||||
"normal": [
|
"simplyTranslate": {
|
||||||
"https://translate.metalune.xyz",
|
"normal": [
|
||||||
"https://simplytranslate.org",
|
"https://simplytranslate.org",
|
||||||
"https://st.alefvanoon.xyz",
|
"https://st.alefvanoon.xyz",
|
||||||
"https://translate.josias.dev",
|
"https://translate.josias.dev",
|
||||||
"https://translate.namazso.eu",
|
"https://translate.namazso.eu",
|
||||||
"https://translate.riverside.rocks",
|
"https://translate.riverside.rocks",
|
||||||
"https://manerakai.asuscomm.com:447",
|
"https://manerakai.asuscomm.com:447",
|
||||||
"https://translate.bus-hit.me"
|
"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;
|
let disableSimplyTranslate;
|
||||||
@ -31,20 +46,53 @@ function setSimplyTranslateInstance(val) {
|
|||||||
browser.storage.sync.set({ simplyTranslateInstance })
|
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) {
|
async function redirect(url, initiator) {
|
||||||
await init()
|
await init()
|
||||||
if (disableSimplyTranslate)
|
if (disableSimplyTranslate) {
|
||||||
return null;
|
console.log("SImplyTranslte disabled")
|
||||||
return `${simplyTranslateInstance}/${url.search}`;
|
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() {
|
async function init() {
|
||||||
let result = await browser.storage.sync.get([
|
let result = await browser.storage.sync.get([
|
||||||
"disableSimplyTranslate",
|
"disableSimplyTranslate",
|
||||||
"simplyTranslateInstance",
|
"simplyTranslateInstance",
|
||||||
|
"translateFrontend"
|
||||||
]);
|
]);
|
||||||
disableSimplyTranslate = result.disableSimplyTranslate || false;
|
disableSimplyTranslate = result.disableSimplyTranslate || false;
|
||||||
simplyTranslateInstance = result.simplyTranslateInstance;
|
simplyTranslateInstance = result.simplyTranslateInstance;
|
||||||
|
translateFrontend = result.translateFrontend || "simplyTransalte";
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -54,12 +102,8 @@ export default {
|
|||||||
setDisableSimplyTranslate,
|
setDisableSimplyTranslate,
|
||||||
getSimplyTranslateInstance,
|
getSimplyTranslateInstance,
|
||||||
setSimplyTranslateInstance,
|
setSimplyTranslateInstance,
|
||||||
|
getFrontend,
|
||||||
|
setFrontend,
|
||||||
redirect,
|
redirect,
|
||||||
init,
|
init,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,9 +58,11 @@ browser.webRequest.onBeforeRequest.addListener(
|
|||||||
|
|
||||||
else if (mediumHelper.targets.some((rx) => rx.test(url.host))) newUrl = await mediumHelper.redirect(url, initiator);
|
else if (mediumHelper.targets.some((rx) => rx.test(url.host))) newUrl = await mediumHelper.redirect(url, initiator);
|
||||||
|
|
||||||
|
else if (googleTranslateHelper.targets.includes(url.host)) newUrl = await googleTranslateHelper.redirect(url, initiator);
|
||||||
|
|
||||||
|
|
||||||
else if (searchHelper.targets.some((rx) => rx.test(url.href))) newUrl = await searchHelper.redirect(url, initiator)
|
else if (searchHelper.targets.some((rx) => rx.test(url.href))) newUrl = await searchHelper.redirect(url, initiator)
|
||||||
|
|
||||||
else if (googleTranslateHelper.targets.includes(url.host)) newUrl = await googleTranslateHelper.redirect(url, initiator);
|
|
||||||
|
|
||||||
else if (url.host.match(wikipediaHelper.targets)) newUrl = await wikipediaHelper.redirect(url, initiator);
|
else if (url.host.match(wikipediaHelper.targets)) newUrl = await wikipediaHelper.redirect(url, initiator);
|
||||||
|
|
||||||
@ -93,7 +95,8 @@ browser.tabs.onUpdated.addListener((tabId, changeInfo, _) => {
|
|||||||
redditHelper.redirects.mobile,
|
redditHelper.redirects.mobile,
|
||||||
...searchHelper.redirects.searx.normal,
|
...searchHelper.redirects.searx.normal,
|
||||||
...searchHelper.redirects.whoogle.normal,
|
...searchHelper.redirects.whoogle.normal,
|
||||||
...googleTranslateHelper.redirects.normal,
|
...googleTranslateHelper.redirects.simplyTranslate.normal,
|
||||||
|
...googleTranslateHelper.redirects.lingva.normal,
|
||||||
...mediumHelper.redirects.normal,
|
...mediumHelper.redirects.normal,
|
||||||
...wikipediaHelper.redirects.normal
|
...wikipediaHelper.redirects.normal
|
||||||
);
|
);
|
||||||
@ -127,7 +130,10 @@ browser.pageAction.onClicked.addListener((tab) => {
|
|||||||
searchHelper.redirects.whoogle.normal.includes(protocolHost)
|
searchHelper.redirects.whoogle.normal.includes(protocolHost)
|
||||||
) newUrl = 'https://google.com';
|
) newUrl = 'https://google.com';
|
||||||
|
|
||||||
if (googleTranslateHelper.redirects.normal.includes(protocolHost)) newUrl = 'https://translate.google.com';
|
if (
|
||||||
|
googleTranslateHelper.redirects.simplyTranslate.normal.includes(protocolHost) ||
|
||||||
|
googleTranslateHelper.redirects.lingva.normal.includes(protocolHost)
|
||||||
|
) newUrl = 'https://translate.google.com';
|
||||||
|
|
||||||
if (mediumHelper.redirects.normal.includes(protocolHost)) newUrl = 'https://medium.com';
|
if (mediumHelper.redirects.normal.includes(protocolHost)) newUrl = 'https://medium.com';
|
||||||
|
|
||||||
|
@ -33,8 +33,15 @@
|
|||||||
<input id="simplyTranslate-instance" type="url" placeholder="https://translate.metalune.xyz" />
|
<input id="simplyTranslate-instance" type="url" placeholder="https://translate.metalune.xyz" />
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</section>
|
|
||||||
|
|
||||||
|
<div class="some-block option-block">
|
||||||
|
<h4>Frontend</h4>
|
||||||
|
<select id="translate-frontend">
|
||||||
|
<option value="simplyTransalte">SimplyTransalte</option>
|
||||||
|
<option value="lingva">Lingva</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
<script type="module" src="./init.js"></script>
|
<script type="module" src="./init.js"></script>
|
||||||
<script type="module" src="./translate.js"></script>
|
<script type="module" src="./translate.js"></script>
|
||||||
|
@ -1,11 +1,18 @@
|
|||||||
import googleTranslateHelper from "../../assets/javascripts/helpers/google-translate.js";
|
import googleTranslateHelper from "../../assets/javascripts/helpers/google-translate.js";
|
||||||
|
|
||||||
let disableSimplyTranslateElement = document.getElementById("disable-simplyTranslate");
|
let disableSimplyTranslateElement = document.getElementById("disable-simplyTranslate");
|
||||||
|
let translateFrontendElement = document.getElementById("translate-frontend");
|
||||||
|
|
||||||
|
|
||||||
googleTranslateHelper.init().then(() => {
|
googleTranslateHelper.init().then(() => {
|
||||||
disableSimplyTranslateElement.checked = !googleTranslateHelper.getDisableSimplyTranslate();
|
disableSimplyTranslateElement.checked = !googleTranslateHelper.getDisableSimplyTranslate();
|
||||||
|
translateFrontendElement.value = googleTranslateHelper.getFrontend();
|
||||||
});
|
});
|
||||||
|
|
||||||
disableSimplyTranslateElement.addEventListener("change",
|
disableSimplyTranslateElement.addEventListener("change",
|
||||||
(event) => googleTranslateHelper.setDisableSimplyTranslate(!event.target.checked)
|
(event) => googleTranslateHelper.setDisableSimplyTranslate(!event.target.checked)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
translateFrontendElement.addEventListener("change",
|
||||||
|
(event) => googleTranslateHelper.setFrontend(event.target.options[translateFrontendElement.selectedIndex].value)
|
||||||
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user