Youtube自动选择中文翻译字幕

Youtube自动点击中文翻译字幕

目前為 2022-01-24 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Youtube自动选择中文翻译字幕
  3. // @namespace http://tampermonkey.net/
  4. // @version 4.7
  5. // @description Youtube自动点击中文翻译字幕
  6. // @author 大奶瓜
  7. // @icon data:image/png;base64,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
  8. // @match https://www.youtube.com/*
  9. // @grant GM_setValue
  10. // @grant GM_getValue
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. (() => {
  15. const lcc_log = log => { console.log(`%clcc_log--->`, "color: #66b2ff; font-style: italic; background-color: #001e3c ;padding: 5px 10px;font-size:20px;border-radius:10px"); console.log(log) };
  16. const $ = el => document.querySelector(el)
  17. const $$ = el => document.querySelectorAll(el)
  18.  
  19. const translate = () => {
  20. const trans_flag = GM_getValue("trans_flag", true)
  21.  
  22. // 设置菜单按钮点击器
  23. const clickActive = (clickBtn, role = "menuitemradio",) => {
  24. for (const node of $$(`[role=${role}]`)) {
  25. if (node.innerText.trim().includes(clickBtn)) {
  26. node.click()
  27. return
  28. }
  29. }
  30. }
  31. const ccBtnT = $('.ytp-subtitles-button[aria-pressed="true"]')
  32. const ccBtnF = $('.ytp-subtitles-button[aria-pressed="false"]')
  33. const noSub = $('.ytp-subtitles-button[aria-pressed="false"][title="无法显示字幕"]')
  34. if (noSub !== null) return
  35. if (ccBtnT === null && ccBtnF === null) return
  36. // 字幕按钮
  37. if (ccBtnF) ccBtnF.click()
  38. if (!trans_flag) return
  39. // 设置按钮
  40. $('.ytp-settings-button').click()
  41. // 设置菜单按钮
  42. clickActive("字幕", "menuitem")
  43. clickActive("中文(简体)")
  44. clickActive("中文(台湾)")
  45. clickActive("中文(中国)")
  46. clickActive("自动翻译")
  47. clickActive("中文(简体)")
  48. }
  49. // 创建一个循环定时器
  50. const trans_interval = setInterval(() => {
  51. // 一直循环,一直到找到video元素为止,然后把事件添加上去
  52. const videoNode = $('video')
  53. if (videoNode) {
  54. clearInterval(trans_interval)
  55. translate()
  56. videoNode.addEventListener('loadeddata', translate, false)
  57. }
  58. }, 500)
  59. // 创建一个循环定时器
  60. const btn_interval = setInterval(() => {
  61. const menu_container = $("#menu-container")
  62. if (menu_container) {
  63. clearInterval(btn_interval)
  64. const trans_flag = GM_getValue("trans_flag", true)
  65. const change_trans = document.createElement('div')
  66. const change_input = document.createElement('input')
  67. const change_lable = document.createElement('lable')
  68. Object.assign(change_trans.style, { paddingTop: "10px", display: "flex", paddingRight: "8px" })
  69. change_trans.id = "change_trans"
  70. change_input.type = "checkbox"
  71. if (trans_flag) {
  72. change_input.checked = true
  73. change_lable.innerHTML = "翻译开启"
  74. } else {
  75. change_input.checked = false
  76. change_lable.innerHTML = "翻译关闭"
  77. }
  78. change_trans.onclick = e => {
  79. const trans_flag = GM_getValue("trans_flag", true)
  80. if (trans_flag != change_input.checked) {
  81. GM_setValue("trans_flag", change_input.checked)
  82. if (!trans_flag) {
  83. change_input.checked = true
  84. change_lable.innerHTML = "翻译开启"
  85. } else {
  86. change_input.checked = false
  87. change_lable.innerHTML = "翻译关闭"
  88. }
  89. window.location.reload()
  90. //if(confirm("是否更新当前视频的翻译状态?\n点击确定:当前网页会刷新,当前视频翻译状态会切换\n点击取消:不会刷新,翻译状态从下一个视频生效")) window.location.reload()
  91. }
  92. }
  93. change_trans.appendChild(change_input)
  94. change_trans.appendChild(change_lable)
  95. menu_container.parentNode.insertBefore(change_trans, menu_container)
  96. }
  97. }, 1000)
  98. })()

QingJ © 2025

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