Google Translate Auto Language Enchanced

Automatically set the target language to English based on detected source language changes

当前为 2024-12-11 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Google Translate Auto Language Enchanced
  3. // @namespace https://greasyfork.org/users/197529
  4. // @version 2.3
  5. // @author UniverseDev
  6. // @license GPL-3.0-or-later
  7. // @description Automatically set the target language to English based on detected source language changes
  8. // @namespace https://greasyfork.org/en/users/1030895-universedev
  9. // @match *://translate.google.*/*
  10. // @noframes
  11. // ==/UserScript==
  12. "use strict";
  13.  
  14. const targetLang = "en";
  15.  
  16. function setTargetLanguage() {
  17. const selector = `[data-language-code="${targetLang}"]`;
  18. const targetTab = document.querySelector(selector);
  19. if (targetTab && targetTab.getAttribute("aria-selected") !== "true") {
  20. targetTab.click();
  21. }
  22. }
  23.  
  24. function observeSourceLanguage() {
  25. const sourceLangTab = document.querySelector("[role=tablist] [aria-selected='true']");
  26. if (sourceLangTab) {
  27. const observer = new MutationObserver(() => {
  28. setTargetLanguage();
  29. });
  30. observer.observe(sourceLangTab, { characterData: true, subtree: true });
  31. }
  32. }
  33.  
  34. function init() {
  35. observeSourceLanguage();
  36. setTargetLanguage();
  37. }
  38.  
  39. window.addEventListener('load', init);
  40. window.addEventListener('popstate', init);