您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Traduci testo selezionato usando MyMemory con scelta della lingua. Lingue supportate: "Italiano": "it", "Inglese": "en", "Francese": "fr", "Spagnolo": "es", "Tedesco": "de","Portoghese": "pt", "Russo": "ru","Cinese": "zh", "Giapponese": "ja", "Coreano": "ko"
// ==UserScript== // @name Traduttore MyMemory // @namespace http://tampermonkey.net/ // @version 0.2 // @description Traduci testo selezionato usando MyMemory con scelta della lingua. Lingue supportate: "Italiano": "it", "Inglese": "en", "Francese": "fr", "Spagnolo": "es", "Tedesco": "de","Portoghese": "pt", "Russo": "ru","Cinese": "zh", "Giapponese": "ja", "Coreano": "ko" // @author Magneto1 // @match *://*/* // @license MIT // @grant GM_xmlhttpRequest // @grant GM_notification // @grant GM_registerMenuCommand // ==/UserScript== (function() { 'use strict'; let selectedText = ''; // Crea un div per mostrare la traduzione const translationDiv = document.createElement('div'); translationDiv.style.position = 'fixed'; translationDiv.style.bottom = '20px'; translationDiv.style.right = '20px'; translationDiv.style.backgroundColor = 'white'; translationDiv.style.border = '1px solid black'; translationDiv.style.padding = '10px'; translationDiv.style.zIndex = '10000'; translationDiv.style.display = 'none'; // Nascondi inizialmente document.body.appendChild(translationDiv); // Funzione per tradurre il testo usando MyMemory function translateWithMyMemory(text, sourceLang, targetLang) { const url = `https://api.mymemory.translated.net/get?q=${encodeURIComponent(text)}&langpair=${sourceLang}|${targetLang}`; GM_xmlhttpRequest({ method: "GET", url: url, onload: function(response) { try { const data = JSON.parse(response.responseText); if (data && data.responseData && data.responseData.translatedText) { showTranslation(data.responseData.translatedText); } else { showError("Nessuna traduzione trovata."); } } catch (error) { showError("Si è verificato un errore nella risposta."); } }, onerror: function() { showError("Impossibile contattare il servizio di traduzione."); } }); } // Funzione per mostrare la traduzione function showTranslation(translatedText) { translationDiv.textContent = translatedText; // Aggiungi un pulsante per copiare const copyButton = document.createElement('button'); copyButton.textContent = 'Copia'; copyButton.onclick = function() { navigator.clipboard.writeText(translatedText).then(() => { alert('Testo copiato negli appunti!'); }); }; // Pulisci il div e aggiungi la traduzione e il pulsante translationDiv.innerHTML = ''; // Pulisci il contenuto translationDiv.appendChild(document.createTextNode(translatedText)); // Aggiungi la traduzione translationDiv.appendChild(copyButton); // Aggiungi il pulsante sotto la traduzione translationDiv.style.display = 'block'; // Mostra il div // Nascondi il div dopo 5 secondi setTimeout(() => { translationDiv.style.display = 'none'; translationDiv.innerHTML = ''; // Pulisci il contenuto }, 5000); // 5000 millisecondi = 5 secondi } // Funzione per mostrare un errore function showError(message) { translationDiv.textContent = message; translationDiv.style.display = 'block'; // Mostra il div // Nascondi il div dopo 5 secondi setTimeout(() => { translationDiv.style.display = 'none'; translationDiv.textContent = ''; // Pulisci il contenuto }, 5000); // 5000 millisecondi = 5 secondi } // Funzione per registrare il comando di traduzione function registerTranslateCommand() { GM_registerMenuCommand("Traduci", () => { if (selectedText) { const sourceLang = prompt("Inserisci la lingua di origine (es. 'en' per inglese, 'it' per italiano):"); const targetLang = prompt("Inserisci la lingua di destinazione (es. 'en' per inglese, 'it' per italiano):"); if (sourceLang && targetLang) { translateWithMyMemory(selectedText, sourceLang, targetLang); } else { showError("Lingua di origine o destinazione non valida."); } } else { showError("Nessun testo selezionato."); } }); } // Aggiungi un listener per la selezione del testo document.addEventListener('mouseup', function() { selectedText = window.getSelection().toString(); registerTranslateCommand(); // Registra il comando ogni volta che si seleziona del testo }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址