Added Lingva #16
This commit is contained in:
parent
538ae70909
commit
84333daede
@ -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,
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -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 (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 (googleTranslateHelper.targets.includes(url.host)) newUrl = await googleTranslateHelper.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,
|
||||
...searchHelper.redirects.searx.normal,
|
||||
...searchHelper.redirects.whoogle.normal,
|
||||
...googleTranslateHelper.redirects.normal,
|
||||
...googleTranslateHelper.redirects.simplyTranslate.normal,
|
||||
...googleTranslateHelper.redirects.lingva.normal,
|
||||
...mediumHelper.redirects.normal,
|
||||
...wikipediaHelper.redirects.normal
|
||||
);
|
||||
@ -127,7 +130,10 @@ browser.pageAction.onClicked.addListener((tab) => {
|
||||
searchHelper.redirects.whoogle.normal.includes(protocolHost)
|
||||
) 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';
|
||||
|
||||
|
@ -33,8 +33,15 @@
|
||||
<input id="simplyTranslate-instance" type="url" placeholder="https://translate.metalune.xyz" />
|
||||
</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="./translate.js"></script>
|
||||
|
@ -1,11 +1,18 @@
|
||||
import googleTranslateHelper from "../../assets/javascripts/helpers/google-translate.js";
|
||||
|
||||
let disableSimplyTranslateElement = document.getElementById("disable-simplyTranslate");
|
||||
let translateFrontendElement = document.getElementById("translate-frontend");
|
||||
|
||||
|
||||
googleTranslateHelper.init().then(() => {
|
||||
disableSimplyTranslateElement.checked = !googleTranslateHelper.getDisableSimplyTranslate();
|
||||
translateFrontendElement.value = googleTranslateHelper.getFrontend();
|
||||
});
|
||||
|
||||
disableSimplyTranslateElement.addEventListener("change",
|
||||
(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