Greasy Fork

来自缓存

Greasy Fork is available in English.

Python文档双语显示(逐段翻译)

在Python官方文档中逐段显示中英双语内容

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Python文档双语显示(逐段翻译)
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  在Python官方文档中逐段显示中英双语内容
// @author       Mushroom-duck
// @match        https://docs.python.org/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // 获取当前页面URL
    const currentURL = window.location.href;
    
    if (currentURL.includes('docs.python.org/3')) {
        // 替换URL中的语言标识,获取对应的中文文档URL
        const chineseURL = currentURL.replace('docs.python.org/3', 'docs.python.org/zh-cn/3');
    
        // 使用Fetch API获取中文文档内容
        fetch(chineseURL)
            .then(response => response.text())
            .then(data => {
                // 创建一个DOM解析器,将获取的HTML字符串解析为DOM对象
                const parser = new DOMParser();
                const chineseDoc = parser.parseFromString(data, 'text/html');
    
                // 获取中文文档的主要内容
                const chineseContent = chineseDoc.querySelector('.body');
    
                // 获取当前页面的主要内容
                const englishContent = document.querySelector('.body');
    
                // 在英文内容后插入对应翻译
                const insertChineseTrans = (element) => {
                    const englishElements = englishContent.querySelectorAll(element);
                    const chineseElements = chineseContent.querySelectorAll(element);
    
                    // 遍历英文段落并插入翻译
                    englishElements.forEach((origin, index) => {
                        if (chineseElements[index]) {
                            // 创建一个新的元素,用于存放中文内容
                            const chineseTrans = document.createElement(element);
                            chineseTrans.style.color = 'green'; // 设置中文段落文字颜色
                            chineseTrans.style.background = '#edf2fa'; // 设置中文段落背景色
                            chineseTrans.innerHTML = chineseElements[index].innerHTML;
    
                            // 在当前英文段落之后插入中文段落
                            origin.insertAdjacentElement('afterend', chineseTrans);
                        }
                    })
                };
                insertChineseTrans('h1');
                insertChineseTrans('h2');
                insertChineseTrans('h3');
                insertChineseTrans('p');
            })
            .catch(error => {
                console.error('无法加载中文文档:', error);
            });
    }
})();