You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将谷歌翻译下拉列表的“Select Language”文本修改为“Language”

修改谷歌翻译下拉默认文本为自定义内容

要替换谷歌翻译下拉框里的“Select Language”为“Language”,你原来的方法存在两个核心问题:一是谷歌翻译的iframe是动态加载的,点击事件触发时iframe内容可能还没完全渲染;二是跨域iframe的内容访问需要等待iframe加载完成后再操作。

下面是两种可行的解决方案:

方案一:使用MutationObserver监听iframe加载

通过监听DOM变化,等待谷歌翻译的iframe生成并加载完成后,再修改文本:

<div id="google_translate_element"></div>

<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement(
            {
                pageLanguage: 'en',
                autoDisplay: 'true',
                layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL
            }, 'google_translate_element');
    }
</script>

<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

<script>
// 监听谷歌翻译容器的DOM变化,等待iframe出现
const observer = new MutationObserver((mutations) => {
    mutations.forEach((mutation) => {
        if (mutation.addedNodes.length) {
            const iframe = document.querySelector('#google_translate_element iframe');
            if (iframe) {
                // 等待iframe加载完成
                iframe.onload = function() {
                    try {
                        // 定位下拉按钮的默认文本元素
                        const selectText = iframe.contentDocument.querySelector('.goog-te-menu-value span');
                        if (selectText && selectText.textContent === 'Select Language') {
                            selectText.textContent = 'Language';
                        }
                        // 同时修改下拉列表的标题文本
                        const dropdownTitle = iframe.contentDocument.querySelector('.goog-te-menu-header .text');
                        if (dropdownTitle && dropdownTitle.textContent === 'Select Language') {
                            dropdownTitle.textContent = 'Language';
                        }
                    } catch (e) {
                        // 跨域异常忽略,此时可切换方案二
                    }
                };
                observer.disconnect(); // 完成修改后停止监听
            }
        }
    });
});

observer.observe(document.getElementById('google_translate_element'), { childList: true, subtree: true });
</script>

方案二:定时检查元素(兼容跨域限制场景)

如果浏览器的同源策略阻止了直接访问iframe内容,可以通过定时检查页面上的谷歌翻译下拉按钮文本,直接修改:

<div id="google_translate_element"></div>

<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement(
            {
                pageLanguage: 'en',
                autoDisplay: 'true',
                layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL
            }, 'google_translate_element');
    }
</script>

<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

<script>
// 定时检查并修改文本
function updateTranslateText() {
    const translateButton = document.querySelector('#google_translate_element .goog-te-menu-value span');
    if (translateButton && translateButton.textContent.trim() === 'Select Language') {
        translateButton.textContent = 'Language';
        clearInterval(checkInterval); // 修改完成后停止定时检查
    }
}

// 每500毫秒检查一次,直到修改完成
const checkInterval = setInterval(updateTranslateText, 500);
</script>

注意事项

  • 谷歌翻译的DOM结构可能会随时更新,若上述选择器失效,需要通过浏览器开发者工具重新定位元素的类名或选择器。
  • 部分浏览器的严格同源策略可能会阻止访问iframe内部内容,此时方案二的兼容性更好。

内容的提问来源于stack exchange,提问作者Ezego Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:41:01