Google Translate Auto Language Enchanced

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

// ==UserScript==
// @name        Google Translate Auto Language Enchanced
// @namespace   https://greasyfork.org/en/users/1030895-universedev
// @version     2.4
// @author      UniverseDev
// @license     GPL-3.0-or-later
// @description Automatically set the target language to English based on detected source language changes
// @match       *://translate.google.*/*
// @noframes
// ==/UserScript==
"use strict";

const targetLang = "en";

function setTargetLanguage() {
    const selector = `[data-language-code="${targetLang}"]`;
    const targetTab = document.querySelector(selector);
    if (targetTab && targetTab.getAttribute("aria-selected") !== "true") {
        targetTab.click();
    }
}

function observeSourceLanguage() {
    const sourceLangTab = document.querySelector("[role=tablist] [aria-selected='true']");
    if (sourceLangTab) {
        const observer = new MutationObserver(() => {
            setTargetLanguage();
        });
        observer.observe(sourceLangTab, { characterData: true, subtree: true });
    }
}

function init() {
    setTargetLanguage();
    observeSourceLanguage();
}

window.addEventListener('load', init);
window.addEventListener('popstate', init);