1.修改host文件:C:\Windows\System32\drivers\etc
加入以下配置
# google translate
203.208.40.66 translate.google.com
# google translate api
142.251.117.90 translate.googleapis.com
ip地址可能会失效,查看最新可用ip地址:https://github.com/hcfyapp/crx-selection-translate/discussions/1607
配置好,测试地址:https://translate.googleapis.com/translate_a/element.js
如果能打开,说明谷歌翻译api可用
2.下载油猴插件,推荐下载地址:
收藏猫插件-Chrome插件商店,谷歌浏览器插件,谷歌应用商店插件推荐及下载
3.根据网站需求,编写油猴脚本:
// ==UserScript==
// @name 多语言谷歌翻译
// @namespace https://plushine.cn
// @version 1.1
// @description 多语言谷歌翻译
// @author linsj
// @match https://*.meetingselect.com/*
// @grant GM_log
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_xmlhttpRequest
// @grant GM_deleteValue
// @license MIT License
// @require https://code.jquery.com/jquery-2.1.4.min.js
// ==/UserScript==
function addStyle() {
let css = `
.translate-btn {
position:fixed;
cursor:pointer;
top:20px;
right:20px;
background:pink;
padding:4px;
border-radius:4px;
}
.translate-ja-btn{
top:50px
}
.translate-all-btn{
top:80px
}
`
GM_addStyle(css)
}
var i=1;// 让脚本只执行一次
(function() {
'use strict';
var googleUrl = 'https://translate.googleapis.com/translate_a/single?';//?client=gtx&hl=zh-CN&dt=t&dt=bd&dj=1&source=icon&tk=33858.33858
// Your code here...
addStyle()
if(i==1){
i++;
// setTimeout(function (){
$('table').prepend('<div class="translate translate-btn translate-zh-btn">translate Chinese</div>');
$('table').prepend('<div class="translate translate-btn translate-ja-btn">translate Japanese</div>');
$('table').prepend('<div class="translate-btn translate-all-btn">translate Chinese and Japanese</div>');
$(".translate-zh-btn").click(function (){
translate('zh-CN',7)
});
$(".translate-ja-btn").click(function (){
translate('ja',8)
});
$(".translate-all-btn").click(function (){
$('.translate').click()
});
// }, 1000);
function translate(to,col) {
$("table tr").each(function (e) {
// e代表索引 从0开始 eq(0)就是第一行
// var englishText = $("table").find("tr").eq(e).find("td").eq(1).find("input").val(); //英语列
var englishText = $(this).find("td").eq(1).find("input").val(); //英语列
if(!englishText){
return
}
// 一些特殊情况处理
if(col == 7){
// 对中文的常用翻译纠正
if(englishText == 'Attachment'){
$("table").find("tr").eq(e).find("td").eq(col).find("input").val('附件')
return
}
if(englishText == 'Remove'){
$("table").find("tr").eq(e).find("td").eq(col).find("input").val('移除')
return
}
if(englishText == 'Save'){
$("table").find("tr").eq(e).find("td").eq(col).find("input").val('保存')
return
}
}
if(englishText.indexOf('Max.') > -1 || englishText.indexOf('Min.') > -1){
englishText = englishText.replace(/Max./g,'Max')
englishText = englishText.replace(/Min./g,'Min')
}
let from = "en";
let params = new URLSearchParams({
client: "gtx",
dt: "t",
sl: from,
tl: to,
q: englishText
})
$.ajax({url:googleUrl + params.toString(),
type:"get",
// data:{"input":$("#ajax-get").find("input").eq(1).val()},
success:function (data){
console.log('成功翻译了',data);
// const res = data[0][0][0]
let res = ''
if(data[0]?.length > 0){
res = data[0].map(element => element[0])?.join('');
}
if(res){
$("table").find("tr").eq(e).find("td").eq(col).find("input").val(res)//8 中文列 9 日语列
}
}
});
})
}
}
})();