关于Vue项目导入谷歌翻译api

该博客介绍了如何在网页中集成谷歌翻译API,包括设置翻译语言、自定义翻译按钮样式以及清除翻译的方法。通过修改元素和布局,实现了与页面风格融合的翻译功能,并提供了静态JS文件的百度网盘下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

index.html

  <script src="<%= BASE_URL %>googleTrans/js/element.js?cb=googleTranslateElementInit"></script>
  <script>
    setTimeout(()=>{
          // eslint-disable-next-line no-undef
    new google.translate.TranslateElement(
      {
        // 这个参数不起作用,看文章底部更新,翻译面板的语言
        // pageLanguage: 'zh-CN',
        // 这个是你需要翻译的语言,比如你只需要翻译成越南和英语,这里就只写en,vi
        // includedLanguages: 'de,hi,lt,hr,lv,ht,hu,zh-CN,hy,uk,mg,id,ur,mk,ml,mn,af,mr,uz,ms,el,mt,is,it,my,es,et,eu,ar,pt-PT,ja,ne,az,fa,ro,nl,en-us,en,en-GB,no,be,fi,ru,bg,fr,bs,sd,se,si,sk,sl,ga,sn,so,gd,ca,sq,sr,kk,st,km,kn,sv,ko,sw,gl,zh-TW,pt-BR,co,ta,gu,ky,cs,pa,te,tg,th,la,cy,pl,da,en',
        includedLanguages: 'zh-CN,en,en-GB,de,fr,ru,ja,hi,ko',
        // 选择语言的样式,这个是面板,还有下拉框的样式,具体的记不到了,找不到api~~
        // eslint-disable-next-line no-undef
        layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
        // 自动显示翻译横幅,就是翻译后顶部出现的那个,有点丑,这个属性没有用的话,请看文章底部的其他方法
        autoDisplay: true
        // 还有些其他参数,由于原插件不再维护,找不到详细api了,将就了,实在不行直接上dom操作
      },
      'trans'// 触发按钮的id
    )
    document.getElementsByClassName('goog-te-gadget-icon')[0].remove()
    document.getElementsByClassName('goog-te-menu-value')[0].remove()
    },2000)
  </script>
  <style type="text/css">
    .amap-logo {
      display: none;
      opacity: 0 !important;
    }

    .amap-copyright {
      opacity: 0;
    }

    /*覆盖原有按钮样式*/
    .goog-te-gadget-simple {
      background-color: transparent !important;
      border-left: 0px !important;
      border-top: 0px !important;
      border-bottom: 0px !important;
      border-right: 0px !important;
      font-size: 10pt !important;
      display: inline-block !important;
      padding-top: 0px !important;
      padding-bottom: 0px !important;
      cursor: pointer !important;
      zoom: 1 !important;
      *display: inline !important;
      width: 40px;
      height: 40px;
    }
    .goog-tooltip.skiptranslate{
      display: none !important;
    }
    /*去除翻译后鼠标移到正文的hover显示*/
    .goog-text-highlight {
      background-color: transparent !important;
      -webkit-box-shadow: 0 0px 0px rgba(0, 0, 0, 0) !important;
      -moz-box-shadow: 0 0px 0px rgba(0, 0, 0, 0) !important;
      box-shadow: 0 0px 0px rgba(0, 0, 0, 0) !important;
    }

    /*解决问题1*/
    .goog-te-banner-frame {
      display: none
    }
  </style>

header或其他地方

<div class="cleanTrans" @click="cleanTrans">清除翻译</div>
<div id="trans" class="trans" />
<script>
cleanTrans() {
      this.delCookie('googtrans')
      window.location.reload()
},
</script>

静态js文件

链接: https://pan.baidu.com/s/1nIEfzUHovUW6hOjlTRlcWg 提取码: a9m7

在element.js里需要在最开头加上

var gtConstEvalStartTime = new Date();
var resourcesUrl = '/googleTrans';
var allLanguage = 'de,hi,lt,hr,lv,ht,hu,zh-CN,hy,uk,mg,id,ur,mk,ml,mn,af,mr,uz,ms,el,mt,is,it,my,es,et,eu,ar,pt-PT,ja,ne,az,fa,ro,nl,en-GB,no,be,fi,ru,bg,fr,bs,sd,se,si,sk,sl,ga,sn,so,gd,ca,sq,sr,kk,st,km,kn,sv,ko,sw,gl,zh-TW,pt-BR,co,ta,gu,ky,cs,pa,te,tg,th,la,cy,pl,da,tr'.split(',');
var localLanguage;
if (navigator.language) {
  localLanguage = navigator.language;
}
else {
  localLanguage = navigator.browserLanguage;
}
console.log("当前语言环境"+localLanguage);
//检查是否支持此语言翻译,不支持就把面板设为中文,或你想要的语言,只能是以上80种语言之一
if(allLanguage.findIndex(item=>item===localLanguage)===-1){
  localLanguage = "en";
}

谷歌翻译api效果
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值