Formatting
This commit is contained in:
parent
69dec59a4c
commit
defe6ebc4d
7
.prettierrc
Normal file
7
.prettierrc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"trailingComma": "es5",
|
||||||
|
"tabWidth": 2,
|
||||||
|
"semi": false,
|
||||||
|
"singleQuote": true,
|
||||||
|
"printWidth": 120
|
||||||
|
}
|
@ -10,66 +10,63 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
const headers = {
|
const headers = {
|
||||||
origin: "https://libretranslate.com",
|
origin: 'https://libretranslate.com',
|
||||||
accept: "*/*",
|
accept: '*/*',
|
||||||
"accept-language": "de-DE,de;q=0.9,ru-DE;q=0.8,ru;q=0.7,en-US;q=0.6,en;q=0.5",
|
'accept-language': 'de-DE,de;q=0.9,ru-DE;q=0.8,ru;q=0.7,en-US;q=0.6,en;q=0.5',
|
||||||
"sec-ch-ua":
|
'sec-ch-ua': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
|
||||||
'"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
|
'sec-ch-ua-mobile': '?0',
|
||||||
"sec-ch-ua-mobile": "?0",
|
'sec-ch-ua-platform': '"Linux"',
|
||||||
"sec-ch-ua-platform": '"Linux"',
|
'sec-fetch-dest': 'empty',
|
||||||
"sec-fetch-dest": "empty",
|
'sec-fetch-mode': 'cors',
|
||||||
"sec-fetch-mode": "cors",
|
'sec-fetch-site': 'same-origin',
|
||||||
"sec-fetch-site": "same-origin",
|
}
|
||||||
};
|
|
||||||
|
|
||||||
function translate(text, source, target) {
|
function translate(text, source, target) {
|
||||||
const formData = new FormData();
|
const formData = new FormData()
|
||||||
formData.append("q", text);
|
formData.append('q', text)
|
||||||
formData.append("source", source);
|
formData.append('source', source)
|
||||||
formData.append("target", target);
|
formData.append('target', target)
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
GM_xmlhttpRequest({
|
GM_xmlhttpRequest({
|
||||||
method: "POST",
|
method: 'POST',
|
||||||
url: "https://libretranslate.com/translate",
|
url: 'https://libretranslate.com/translate',
|
||||||
data: formData,
|
data: formData,
|
||||||
headers,
|
headers,
|
||||||
synchronous: true,
|
synchronous: true,
|
||||||
onload: function (res) {
|
onload: function (res) {
|
||||||
const body = JSON.parse(res.responseText);
|
const body = JSON.parse(res.responseText)
|
||||||
if (res.status !== 200) return reject(body);
|
if (res.status !== 200) return reject(body)
|
||||||
return resolve(body.translatedText);
|
return resolve(body.translatedText)
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms))
|
||||||
|
|
||||||
function addButtons() {
|
function addButtons() {
|
||||||
console.log("sn-translator: Adding button to every comment ...");
|
console.log('sn-translator: Adding button to every comment ...')
|
||||||
const commentSection = document.querySelector(".item_comments__cN57K");
|
const commentSection = document.querySelector('.item_comments__cN57K')
|
||||||
const comments = commentSection.querySelectorAll(".comment_comment__5uvl3");
|
const comments = commentSection.querySelectorAll('.comment_comment__5uvl3')
|
||||||
const commentNodes = commentSection.querySelectorAll(".comment_text__nHI0E");
|
const commentNodes = commentSection.querySelectorAll('.comment_text__nHI0E')
|
||||||
for (const comment of comments) {
|
for (const comment of comments) {
|
||||||
const topBar = comment.querySelector(".item_other__qNlji");
|
const topBar = comment.querySelector('.item_other__qNlji')
|
||||||
const content = comment.querySelector(".comment_text__nHI0E");
|
const content = comment.querySelector('.comment_text__nHI0E')
|
||||||
const padding = document.createElement("span");
|
const padding = document.createElement('span')
|
||||||
padding.innerText = " ";
|
padding.innerText = ' '
|
||||||
const btn = document.createElement("button");
|
const btn = document.createElement('button')
|
||||||
btn.innerText = "Translate";
|
btn.innerText = 'Translate'
|
||||||
btn.onclick = async (e) => {
|
btn.onclick = async (e) => {
|
||||||
const t = await translate(content.innerText, "auto", "en").catch(
|
const t = await translate(content.innerText, 'auto', 'en').catch(console.error)
|
||||||
console.error
|
if (t) content.innerText = t
|
||||||
);
|
|
||||||
if (t) content.innerText = t;
|
|
||||||
};
|
|
||||||
topBar.appendChild(padding);
|
|
||||||
topBar.appendChild(btn);
|
|
||||||
}
|
}
|
||||||
console.log("Done");
|
topBar.appendChild(padding)
|
||||||
|
topBar.appendChild(btn)
|
||||||
|
}
|
||||||
|
console.log('Done')
|
||||||
}
|
}
|
||||||
|
|
||||||
(async function () {
|
;(async function () {
|
||||||
await sleep(1000);
|
await sleep(1000)
|
||||||
addButtons();
|
addButtons()
|
||||||
})();
|
})()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user