您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在写email邮件时,你只需要输入中文,然后点击下面的语言按钮,就会将邮件内容翻译为指定语言。
// ==UserScript== // @name Gmail邮件翻译工具 Gmail translation // @homepage https://greasyfork.org/zh-CN/scripts/460782-gmail%E9%82%AE%E4%BB%B6%E7%BF%BB%E8%AF%91%E5%B7%A5%E5%85%B7-gmail-translation // @version 1.3 // @description 在写email邮件时,你只需要输入中文,然后点击下面的语言按钮,就会将邮件内容翻译为指定语言。 // @match https://mail.google.com/mail/u/0/* // @connect translate.googleapis.com // @grant GM_xmlhttpRequest // @author zla5 // @license MIT // @namespace http://tampermonkey.net/ // ==/UserScript== (function() { 'use strict'; //函数翻译文本 var translate = function(sl, dl, txt, cb) { GM_xmlhttpRequest({ method: "GET", url: "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" + sl + "&tl=" + dl + "&dt=t&q=" + encodeURI(txt), onload: function(response) { // Replace the \n var _r_text = response.responseText.replace(/\n/g, ""); var _r = JSON.parse(_r_text); var translate_string = ""; for (var i = 0; i < _r[0].length; i++) { translate_string += _r[0][i][0]; } cb(translate_string); } }); }; //创建添加翻译按钮 var addButton = function(languageCode, languageName, parentElement) { // Create the Translate button var button = document.createElement("button"); button.innerHTML = languageName; button.style.marginLeft = "5px"; button.style.marginRight = "5px"; button.style.marginBottom = "5px"; button.style.marginTop = "5px"; button.style.backgroundColor = "#f8f8f8"; button.style.border = "1px solid #ccc"; button.style.borderRadius = "4px"; button.style.padding = "4px 8px"; button.style.cursor = "pointer"; // 添加:hover伪类鼠标移动到上面时加深背景颜色 button.addEventListener('mouseover', function(){ button.style.backgroundColor = "#ccc"; }); button.addEventListener('mouseout', function(){ button.style.backgroundColor = "#f8f8f8"; }); // 将单击事件侦听器添加到按钮 button.addEventListener("click", function() { // Find the message content element var messageContent = document.querySelector(".editable.LW-avf.tS-tW[contenteditable=true]")// 定位到文本框 if (!messageContent) { console.log("没找到邮件正文"); return; } // 等到Textarea元素加载 var checkExist = setInterval(function() { var messageContent = document.querySelector(".editable.LW-avf.tS-tW[contenteditable=true]") var text = messageContent.innerText;// 定位到文本框读取里面的文本内容 console.log(text); if (text) { clearInterval(checkExist); // 翻译消息文字 translate("zh-CN", languageCode, text.trim(), function(result) { // 用翻译的文本替换消息内容 messageContent.innerText = result; }); } }, 100); // 每100ms检查 }); //将翻译按钮添加到父元素 parentElement.appendChild(button); }; //加载页面时添加翻译按钮 window.addEventListener("load", function() { setTimeout(function() { //找到工具栏元素 var toolbar = document.querySelector(".btC").parentNode; if (!toolbar) { console.log("没找到这个元素位置"); return; } //创建一个div以保持按钮 var div = document.createElement("div"); div.style.textAlign = "Center"; //将按钮添加到DIV addButton("en", "英", div); addButton("es", "西", div); addButton("ar", "阿", div); addButton("fr", "法", div); addButton("ru", "俄", div); addButton("hu", "匈", div); addButton("iw", "希", div); addButton("it", "意", div); addButton("ja", "日", div); addButton("ko", "韩", div); addButton("de", "德", div); addButton("tr", "土", div); //将DIV添加到工具栏 toolbar.appendChild(div); }, 5000); // 等待5秒钟,然后执行添加按钮函数 }); })();