页面内嵌谷歌翻译

页面内嵌谷歌翻译

<!DOCTYPE html>
<html lang="en-US">
<head>
<script src="https://translate.google.com/translate_a/element.js?&cb=googleTranslateElementInit"></script>
<script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
      pageLanguage: 'en', 
      //指定要翻译的语言选项,不指定默认全部
      //includedLanguages: 'zh-TW,zh-CN,en,ja,th,vi,ko,id' , gaTrack: true,
      layout: google.translate.TranslateElement.InlineLayout.SIMPLE
    }, 'google_translate_element');
    //$('select.goog-te-combo').attr('title','translate');
}
</script>


</head>
<body>

<h1>My Web Page</h1>

<p>Hello everybody!</p>

<p>Translate this page:</p>
<div id="google_translate_element"></div>





<p>You can translate the content of this page by selecting a language in the select box.</p>

</body>
</html>

进阶参阅
https://github.com/ChinaGodMan/UserScripts/tree/main/Script%20details/translate-only-chinese

<!DOCTYPE html>
<html lang="en-US"><head>
<script src="https://translate.google.com/translate_a/element.js?&amp;cb=googleTranslateElementInit"></script>
<style id="m25iv5xj.bn">
      html,body{
        top: 0!important;
      }
      #google_translate_element {
        display: none;
      }
      .buttonContainer {
        width: 6em;
        position: fixed;
        bottom: 30px;
        z-index: 10000000;
        user-select: none;
        overflow: hidden;
        text-align: center;
        font-size: 13px;
        line-height: 2em;
        border-radius: 1em;
        box-shadow: 1px 1px 3px 0 #888;
        opacity: .5;
        transition: all .3s;
      }
      .recoverPage, .translateButton {
        float: left;
        width: 50%;
        box-sizing: border-box;
      }
      .recoverPage {
        border-radius: 1em 0 0 1rem;
        background-color: #fff;
      }
      .translateButton {
        color: #fff;
        border-radius: 0 1rem 1rem 0;
        background-color: #55b9f3;
      }
      .buttonContainer:hover {
        opacity: 1;
        transform: translateX(0);
      }
      .recoverPage:active, .translateButton:active {
        box-shadow: 1px 1px 3px 0 #888 inset;
      }
      /* 隐藏移动端顶部栏 */
      [id=":1.container"].skiptranslate {
        display: none;
      }
      /* 隐藏 PC 端顶部栏 */
      [id=":2.container"].skiptranslate {
        display: none;
      }
    </style>
<script>
      function googleTranslateElementInit() {
        new google.translate.TranslateElement(
          {
            pageLanguage: 'auto',
            includedLanguages: 'zh-CN',
            layout: /mobile/i.test(navigator.userAgent) ? 0 : 2
          },
          'google_translate_element'
        )
        // 清除图片的请求,加快访问速度
        let img = [].slice.call(document.querySelectorAll('#goog-gt- img,#google_translate_element img'))
        img.forEach(function (v) {
          const a = v
          a.src = ''
          let b = a.outerHTML.replace(/<img(.*?)>/, () => {
            return '<span id="lb"' + RegExp.$1 + '></span>'
          })
          const c = document.createElement('div')
          c.innerHTML = b
          a.parentNode.insertBefore(c.children[0], a.parentNode.children[0])
          a.remove()
        })
        // 获取设备信息
        const device = navigator.userAgent.indexOf('Mobile')
        // 按钮容器
        const buttonContainer = document.createElement('div')
       buttonContainer.setAttribute('class', 'notranslate buttonContainer')
        document.body.appendChild(buttonContainer)
        // 恢复按钮
        const recoverPage = document.createElement('div')
        recoverPage.setAttribute('id', 'recoverButton')
        recoverPage.setAttribute('class', 'notranslate recoverPage')
        recoverPage.innerText = '恢复'
        buttonContainer.appendChild(recoverPage)
        // 点击恢复原网页
        recoverPage.onclick = () => {
          let recoverIframe = null
          if (~device) {
            // 移动端
            const recoverDocument = document.getElementById(':1.container').contentWindow.document
            recoverDocument.getElementById(':1.restore').click()
          } else {
            // PC端
            const recoverDocument = document.getElementById(':2.container').contentWindow.document
            recoverDocument.getElementById(':2.restore').click()
          }
        }
        // 翻译按钮
        if (~device) {
          // 移动端
          let translateLang
          const translateTimer = setInterval(() => {
            translateLang = document.querySelector('.goog-te-combo')
            if (translateLang) {
              clearInterval(translateTimer)
              // 添加翻译按钮
              const translateButton = document.createElement('div')
              translateButton.setAttribute('id', 'translateButton')
              translateButton.setAttribute('class', 'notranslate translateButton')
              translateButton.innerText = '翻译'
              buttonContainer.appendChild(translateButton)
              // 点击翻译




              translateButton.onclick = () => {

                const event = document.createEvent('HTMLEvents')
               event.initEvent('change', true, true)
                event.eventType = 'message'
               document.querySelector('.goog-te-combo').dispatchEvent(event)
              }
                        translateButton.onclick()      // 无需点击 立即翻译
            }
                    translateButton.onclick()       // 无需点击 立即翻译
          }, 300)
          translateButton.onclick()
        } else {
          // PC端
          let langIframe = document.querySelector('[title="语言翻译微件"]')
          const langIframeTimer = setInterval(() => {
            if (langIframe) {
              const langDocument = langIframe.contentWindow.document || langIframe.contentDocument
              let translateLang
              const translateTimer = setInterval(() => {
                translateLang = langDocument.querySelectorAll('table a')[1]
                if (translateLang) {
                  clearInterval(translateTimer)
                  // 添加翻译按钮
                  const translateButton = document.createElement('div')
                  translateButton.setAttribute('id', 'translateButton')
                  translateButton.setAttribute('class', 'notranslate translateButton')
                  translateButton.innerText = '翻译'
                  buttonContainer.appendChild(translateButton)
                  // 点击翻译
                  //   // 无需点击 立即翻译 所有非中文网站,自动点击
                  translateLang.click()

                  translateButton.onclick = () => {
                    translateLang.click()
                  }
                }
              }, 300)
              clearInterval(langIframeTimer)
            } else {
              langIframe = document.querySelector('.goog-te-menu-frame')
            }
          }, 300)
        }
      // 删除元素
  const targetId = 'goog-gt-tt';
  const targetElement = document.getElementById(targetId);
  if (targetElement) {
    targetElement.remove();
  }
      }
    </script>
</head>
<body>
<div id="google_translate_element"><div class="skiptranslate goog-te-gadget" dir="ltr" style=""><div id=":0.targetLanguage" class="goog-te-gadget-simple" style="white-space: nowrap;"><span id="lb" src="" class="goog-te-gadget-icon" alt="" style="background-image: url(&quot;https://translate.googleapis.com/translate_static/img/te_ctrl3.gif&quot;); background-position: -65px 0px;"></span><span style="vertical-align: middle;"><a aria-haspopup="true" class="VIpgJd-ZVi9od-xl07Ob-lTBxed" href="#"><span id="lb" src="" alt="" width="1" height="1"></span><span id="lb" src="" alt="" width="1" height="1"></span><span>中文(简体)</span><span style="border-left: 1px solid rgb(187, 187, 187);">​</span><span aria-hidden="true" style="color: rgb(118, 118, 118);">▼</span></a></span></div></div></div>

<h1>My Web Page</h1>

<p>Hello everybody!</p>

<p>Translate this page:</p>

<div> hello google translate</div>




<p>You can translate the content of this page by selecting a language in the select box.</p>



</body></html>

<!DOCTYPE html>
<html lang="en-US"><head>
<script src="https://translate.google.com/translate_a/element.js?&cb=googleTranslateElementInit"></script>

<script>
      function googleTranslateElementInit() {
        new google.translate.TranslateElement(
          {
            pageLanguage: 'auto',
            layout: google.translate.TranslateElement.InlineLayout.SIMPLE
          },
          'google_translate_element'
        )}
</script>
<script>
function autoclickCN(){
	let langIframe = document.querySelector('[title="语言翻译微件"]');
	const langIframeTimer = setInterval(() => {
		 if (langIframe) {
			const langDocument = langIframe.contentWindow.document || langIframe.contentDocument;
			if(langDocument){
				langDocument.querySelectorAll("a").forEach(x=>{if(x.value=="zh-CN"){x.click();clearInterval(langIframeTimer);}});
		   }
	}})
}
</script>
</head>
<body onload="autoclickCN()">
<div id="google_translate_element"></div>

<h1>My Web Page</h1>

<p>Hello everybody!</p>

<p>Translate this page:</p>

<div> hello google translate</div>




<p>You can translate the content of this page by selecting a language in the select box.</p>



</body></html>

<!DOCTYPE html>
<html lang="en-US"><head>
<script src="https://translate.google.com/translate_a/element.js?&cb=googleTranslateElementInit"></script>

<script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement(
    {
      pageLanguage: 'auto',
      layout: google.translate.TranslateElement.InlineLayout.SIMPLE
    },
    'google_translate_element'
  );
  let langIframe = document.querySelector('[title="语言翻译微件"]');
	const langIframeTimer = setInterval(() => {
		 if (langIframe) {
			const langDocument = langIframe.contentWindow.document || langIframe.contentDocument;
			if(langDocument){
				langDocument.querySelectorAll("a").forEach(x=>{if(x.value=="zh-CN"){x.click();clearInterval(langIframeTimer);}});
		   }
	}})
}
</script>

</head>
<body onload="autoclickCN()">
<div id="google_translate_element"></div>

<h1>My Web Page</h1>

<p>Hello everybody!</p>

<p>Translate this page:</p>

<div> hello google translate</div>




<p>You can translate the content of this page by selecting a language in the select box.</p>



</body></html>


实现谷歌在线翻译! //load方法 加载语言版本 当前版本号为1 google.load("language", "1"); //版本为1 function initialize() { //得到要翻译的内容 var text = document.getElementById("text").value; //要翻译成哪国语言 默认为中文 var toLanguage = document.getElementById("language").value; //调用google对象的检测要翻译的对象 arg1:要翻译的文本,arg2:回调函数 google.language.detect(text, function(result) { //如果返回值未出现错误(detect该函数用语检测,估计也有过滤的意思) if (!result.error && result.language) { //调用google语言api的翻译函数 //arg1:要翻译的内容,arg2:通过过滤后对象所属的语言格式,arg3:要转成的类型,arg4:回调函数 google.language.translate(text, result.language, toLanguage, function(result) { //获得要显示翻译结果textarea对象 var translated = document.getElementById("translation"); //如果对象被翻译成功 类似于java的jdbc结果集对象的 .next()方法 if (result.translation) { //设置要显示翻译结果textarea对象的html值 translated.innerHTML = result.translation; } }); } }); } // setOnLoadCallback 该函数 绑定页面加载完毕 调用initialize函数 类似于jQuery的 $(docuemnt).ready(function(){}) google.setOnLoadCallback(initialize); //选择由哪国语言翻译成另外一国语言 function to_language(str){ document.getElementById("language").value = str; if(str == "zh"){ document.getElementById("show").innerText = "英译汉"; }else if(str == "en"){ document.getElementById("show").innerText = "汉译英"; }
### 回答1: Delphi谷歌浏览器控件是一种能够在Delphi编程环境下使用的组件,用于集成谷歌浏览器的功能和特性。它使得我们可以在Delphi应用程序中嵌入一个完整的谷歌浏览器窗口,从而实现Web浏览的功能。 通过Delphi谷歌浏览器控件,我们可以在自己的应用程序中以浏览器的方式加载和浏览网页内容。我们可以使用这个控件来实现各种功能,比如展示网页内容、进行网页交互、实现Web App等等。我们可以通过编程的方式来操作控件,例如打开指定的网页、刷新页面、执行JavaScript代码、获取页面元素等。这让我们的应用程序能够具有现代化的Web浏览功能,为用户提供更加丰富和便捷的体验。 Delphi谷歌浏览器控件的许多功能和特性都源自谷歌浏览器的强大功能,例如对HTML5、CSS3和JavaScript的支持,以及对Flash、视频和音频等多媒体内容的处理。这使得我们可以在我们的Delphi应用程序中播放视频、音频,展示动画效果,以及实现其他与Web相关的功能。 总而言之,Delphi谷歌浏览器控件是一种非常有用的工具,可以让我们在Delphi应用程序中集成强大的Web浏览功能。通过这个控件,我们可以实现各种与Web相关的功能,为用户提供更加丰富和便捷的应用体验。 ### 回答2: Delphi是一种集成开发环境(IDE),可以用来进行软件开发。它内嵌了一个谷歌浏览器控件,可以在应用程序中显示网页内容并与之交互。 Delphi中的谷歌浏览器控件使用了谷歌提供的Chromium内核,它是一个开源的Web浏览器引擎。这意味着我们可以在应用程序中实现类似于谷歌浏览器的功能,例如加载网页、执行JavaScript代码和处理网页事件。 通过Delphi中的谷歌浏览器控件,我们可以创建一个自定义的浏览器应用程序,或将网页内容集成到我们的桌面应用程序中。使用谷歌浏览器控件,我们可以显示网页内容并与之交互,例如填写表单、点击链接、执行操作等。 Delphi中的谷歌浏览器控件也提供了许多功能和特性,例如支持多标签页浏览、支持浏览器历史记录和书签、支持缩放和滚动等。我们也可以自定义控件的外观和行为,以适应我们的应用程序需求。 总之,Delphi中的谷歌浏览器控件为我们提供了一个方便而强大的工具,使我们能够在应用程序中显示网页内容并与之交互。无论是创建一个独立的浏览器应用程序还是将网页内容集成到桌面应用程序中,谷歌浏览器控件都能帮助我们实现这些功能。 ### 回答3: Delphi 是一种编程语言和集成开发环境,具有许多功能和控件支持。Delphi 支持使用谷歌浏览器控件来集成浏览器功能到应用程序中。 谷歌浏览器控件是一种特殊的控件,可以在 Delphi 应用程序中嵌入一个全功能的浏览器。通过使用谷歌浏览器控件,开发人员可以在应用程序内使用谷歌浏览器的功能,如浏览网页、执行 JavaScript、操纵 DOM 和处理网络请求等。 Delphi 提供了一些第三方组件库,例如CEF(Chromium Embedded Framework),它是一个基于谷歌 Chrome 浏览器引擎的开源框架。通过集成CEF控件,我们可以在 Delphi 应用程序中嵌入一个功能强大的浏览器。 使用谷歌浏览器控件,可以创建各种类型的应用程序,如网络浏览器、Web 渲染器、HTML 编辑器等。开发人员可以通过控制浏览器控件的属性、方法和事件来实现自定义的浏览器行为和交互。 此外,谷歌浏览器控件还提供了丰富的扩展和插件支持。开发人员可以利用这些扩展和插件为应用程序添加额外的功能,如广告拦截、页面翻译、密码管理等。 总结而言,Delphi 谷歌浏览器控件是一种在 Delphi 应用程序中集成全功能浏览器的方法。通过使用这个控件,开发人员可以快速简便地创建具有浏览器功能的应用程序,提供更好的用户体验和丰富的网络功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值