Google整页翻译一直运行-自改(不再更新,已找到原作者最新版脚本,脚本看简介)

谷歌浏览器整页翻译(原位翻译,不跳转页面),去除顶部翻译栏,适配移动端布局。在所有网页(除百度和优酷外)左下角均会显示翻译按钮。

安裝腳本?
作者推薦腳本

您可能也會喜歡 网页翻译——翻译为中文

安裝腳本
  1. // ==UserScript==
  2. // @name Google整页翻译一直运行-自改(不再更新,已找到原作者最新版脚本,脚本看简介)
  3. // @author anonymous
  4. // @author zyb
  5. // @license GPL-3.0-only
  6. // @match http://*/*
  7. // @match https://*/*
  8. // @match file://*/*
  9. // @exclude /.*baidu.*/
  10. // @exclude /youku\.com/
  11. // @exclude /.bilibili.*/*
  12. // @exclude /.*ngarihealth.*/
  13. // @exclude /.*qq.*/
  14. // @run-at document-end
  15. // @noframes
  16. // @description 谷歌浏览器整页翻译(原位翻译,不跳转页面),去除顶部翻译栏,适配移动端布局。在所有网页(除百度和优酷外)左下角均会显示翻译按钮。
  17. // @version 0.34
  18. // @namespace https://gf.qytechs.cn/users/574851
  19. // ==/UserScript==
  20.  
  21. (function () {
  22. 'use strict';
  23.  
  24. const head = document.head;
  25. const body = document.body;
  26. // 创建css样式
  27. const style = document.createElement('style');
  28. const style_text = document.createTextNode(`
  29. /*翻译语言选择栏样式设置*/
  30. #google_translate_element {
  31. position: fixed;
  32. /*按钮宽度(仅PC端生效)*/
  33. /* max-width: 120px;*/
  34. min-width: 90px;
  35. /*按钮高度*/
  36. height: 25px;
  37. /*左侧边距离设置;如果要靠右设置,left改成right即可*/
  38. left: 0;
  39. /*距离底部高度*/
  40. bottom: 20px;
  41. /*边框线设置*/
  42. border: 2px solid #4990e4;
  43. /*边界半径设置*/
  44. border-radius: 0 13px 13px 0;
  45. z-index: 10000000;
  46. overflow: hidden;
  47. /*外边框阴影设置*/
  48. box-shadow: 1px 1px 3px 0 #000000;
  49. /*按钮隐藏百分比设置(仅PC端生效)*/
  50. transform: translateX(-75%);
  51. transition: all 0.3s;
  52. background-color: #ffffff;
  53. }
  54. /*鼠标悬浮样式*/
  55. #google_translate_element:hover {
  56. transform: translateX(0);
  57. }
  58. #google_translate_element .goog-te-gadget-simple {
  59. width: 100%;
  60. padding-top: 2px
  61. }
  62. #google_translate_element .goog-te-gadget-simple .goog-te-gadget-icon{
  63. display: inline-block;
  64. }
  65.  
  66. /*隐藏顶部翻译区域*/
  67. .goog-te-banner-frame.skiptranslate {
  68. display: none
  69. }
  70. html,body{
  71. top: 0!important
  72. }
  73.  
  74. /*通用按钮样式*/
  75. #googleTranslateDivDom .btnBox {
  76. /*按钮宽度(仅PC端生效)*/
  77. width: 45px;
  78. color: #454545;
  79. /*背景色设置*/
  80. background-color: #F0F8FF;
  81. position: fixed;
  82. /*左侧边距离设置;如果要靠右设置,left改成right即可*/
  83. left: 0;
  84. z-index: 10000000;
  85. user-select: none;
  86. text-align: center;
  87. /*边框线设置*/
  88. border: 2px solid #4990e4;
  89. font-size: small;
  90. /*按钮高度设置(仅PC端生效)*/
  91. line-height: 25px;
  92. /*边界半径设置*/
  93. border-radius: 0 15px 15px 0;
  94. /*外边框阴影设置*/
  95. box-shadow: 1px 1px 3px 0 #C0C0C0;
  96. /*按钮隐藏百分比设置(仅PC端生效)*/
  97. transform: translateX(-50%);
  98. transition: all 0.3s;
  99. cursor: pointer;
  100. }
  101.  
  102. /*翻译按钮样式设置*/
  103. #googleTranslateDivDom .translateBtn {
  104. /*距离底部高度*/
  105. bottom: 85px;
  106. }
  107. /*鼠标悬浮样式*/
  108. #googleTranslateDivDom .translateBtn:hover {
  109. transform: translateX(0);
  110. }
  111. #googleTranslateDivDom .translateBtn:active {
  112. box-shadow: 1px 1px 3px 0 #888 inset;
  113. }
  114. /*隐藏翻译按钮*/
  115. #googleTranslateDivDom .hidetranslate {
  116. display: none;
  117. }
  118.  
  119. /*原文按钮样式设置*/
  120. #googleTranslateDivDom .recoverPage {
  121. /*距离底部高度*/
  122. bottom: 50px;
  123. }
  124. /*鼠标悬浮样式*/
  125. #googleTranslateDivDom .recoverPage:hover {
  126. transform: translateX(0);
  127. }
  128. #googleTranslateDivDom .recoverPage:active {
  129. box-shadow: 1px 1px 3px 0 #888 inset;
  130. }
  131.  
  132. /*----移动端UI适配设置(PC端不生效)----*/
  133. @media handheld, only screen and (max-width: 768px) {
  134. /*翻译按钮样式设置*/
  135. #google_translate_element {
  136. width: 104px;//按钮宽度
  137. }
  138. #google_translate_element .goog-te-combo {
  139. margin: 0;
  140. padding-top: 2px;
  141. border: none;
  142. }
  143. /*原文按钮样式设置*/
  144. #googleTranslateDivDom .btnBox {
  145. /*按钮宽度*/
  146. width: 34px;
  147. /*按钮高度设置*/
  148. line-height: 24px;
  149. /*按钮隐藏百分比设置*/
  150. transform: translateX(-40%);
  151. /*隐藏功能开关,0为关闭;1为打开*/
  152. transform: translateX(1);
  153. }
  154. }
  155. `);
  156. style.appendChild(style_text);
  157. head.appendChild(style);
  158.  
  159. // 创建谷歌翻译左下角按钮区域
  160. const googleTranslateDivDom = document.createElement('div');
  161. googleTranslateDivDom.setAttribute('id', 'googleTranslateDivDom');
  162. // 往body添加dom节点
  163. body.appendChild(googleTranslateDivDom);
  164.  
  165. //创建翻译按钮
  166. createTranslateBtnFuc();
  167. //创建原文按钮
  168. createRecoverPageBtnFuc();
  169.  
  170. // 设置cookie,使网页翻译默认为中文
  171. document.cookie = "googtrans=/auto/zh-CN";
  172.  
  173. //创建翻译按钮
  174. function createTranslateBtnFuc() {
  175. //创建翻译按钮
  176. const translateBtn = document.createElement('div');
  177. translateBtn.setAttribute('class', 'notranslate btnBox translateBtn');
  178. translateBtn.innerText = '翻译';
  179. googleTranslateDivDom.appendChild(translateBtn);
  180. // 点击翻译按钮后隐藏
  181. translateBtn.onclick = (() => {
  182. // 隐藏翻译按钮
  183. translateBtn.setAttribute('class', 'notranslate btnBox translateBtn hidetranslate');
  184. // 创建翻译语种选择栏
  185. let google_translate_element = document.createElement('div');
  186. google_translate_element.id = 'google_translate_element';
  187. googleTranslateDivDom.appendChild(google_translate_element);
  188.  
  189. // 加载谷歌翻译API
  190. loadGoogleApiFuc();
  191. });
  192.  
  193. // // 点击翻译按钮后不隐藏
  194. // translateBtn.onclick = (() => {
  195. // if(document.getElementById('google_translate_element')){
  196. // const PCRecoverIframe = document.getElementById(':2.container');
  197. // const recoverDocument = PCRecoverIframe.contentWindow.document;
  198. // recoverDocument.getElementById(':2.confirm').click();
  199. // return;
  200. // }
  201. // // 创建翻译语种选择栏
  202. // let google_translate_element = document.createElement('div');
  203. // google_translate_element.id = 'google_translate_element';
  204. // googleTranslateDivDom.appendChild(google_translate_element);
  205.  
  206. // // 加载谷歌翻译API
  207. // loadGoogleApiFuc();
  208. // });
  209. }
  210.  
  211. //创建原文按钮
  212. function createRecoverPageBtnFuc() {
  213. // 清楚图片,加快响应速度
  214. let img = [].slice.call(document.querySelectorAll('#goog-gt-tt img,#google_translate_element img'));
  215. img.forEach(function (v, i) {
  216. v.src = '';
  217. });
  218.  
  219. //创建原文按钮
  220. const recoverPage = document.createElement('div');
  221. recoverPage.setAttribute('class', 'notranslate btnBox recoverPage');
  222. recoverPage.innerText = '原文';
  223. googleTranslateDivDom.appendChild(recoverPage);
  224. // 点击原文按钮
  225. recoverPage.onclick = (() => {
  226. const phoneRecoverIframe = document.getElementById(':1.container');
  227. const PCRecoverIframe = document.getElementById(':2.container');
  228. if (phoneRecoverIframe) {
  229. const recoverDocument = phoneRecoverIframe.contentWindow.document;
  230. recoverDocument.getElementById(':1.restore').click();
  231. } else if (PCRecoverIframe) {
  232. const recoverDocument = PCRecoverIframe.contentWindow.document;
  233. recoverDocument.getElementById(':2.restore').click();
  234. }
  235. })
  236. }
  237.  
  238. // 加载谷歌翻译API
  239. function loadGoogleApiFuc() {
  240. // 创建谷歌翻译API的初始化函数
  241. let scriptDom = document.createElement('script');
  242. scriptDom.innerHTML = `
  243. function googleTranslateElementInit() {
  244. new google.translate.TranslateElement({
  245. autoDisplay: true,
  246. layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
  247. multilanguagePage: true,
  248. pageLanguage: 'auto',
  249. includedLanguages: 'zh-CN,zh-TW,en,ja,ru'
  250. }, 'google_translate_element');
  251. }
  252. `;
  253. document.head.appendChild(scriptDom);
  254.  
  255. // 加载谷歌翻译API
  256. let scriptForGoogleApiDom = document.createElement('script');
  257. scriptForGoogleApiDom.src = 'https://cdn.jsdelivr.net/gh/zs6/gugefanyijs@1.9/element.js';
  258. document.head.appendChild(scriptForGoogleApiDom);
  259. }
  260. }());

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址