制作一个多语言谷歌翻译 脚本

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 日语列
        }
          }
      });


    })
	}
          }


})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值