Google Translate Auto Language Enchanced

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

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

  1. // ==UserScript==
  2. // @name Google Translate Auto Language Enchanced
  3. // @namespace https://greasyfork.org/en/users/1030895-universedev
  4. // @version 2.4
  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. // @match *://translate.google.*/*
  9. // @noframes
  10. // ==/UserScript==
  11. "use strict";
  12.  
  13. const targetLang = "en";
  14.  
  15. function setTargetLanguage() {
  16. const selector = `[data-language-code="${targetLang}"]`;
  17. const targetTab = document.querySelector(selector);
  18. if (targetTab && targetTab.getAttribute("aria-selected") !== "true") {
  19. targetTab.click();
  20. }
  21. }
  22.  
  23. function observeSourceLanguage() {
  24. const sourceLangTab = document.querySelector("[role=tablist] [aria-selected='true']");
  25. if (sourceLangTab) {
  26. const observer = new MutationObserver(() => {
  27. setTargetLanguage();
  28. });
  29. observer.observe(sourceLangTab, { characterData: true, subtree: true });
  30. }
  31. }
  32.  
  33. function init() {
  34. setTargetLanguage();
  35. observeSourceLanguage();
  36. }
  37.  
  38. window.addEventListener('load', init);
  39. window.addEventListener('popstate', init);