微软文档语言切换

微软文档快捷语言切换按钮

目前为 2023-12-16 提交的版本。查看 最新版本

// ==UserScript==
// @name         微软文档语言切换
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  微软文档快捷语言切换按钮
// @author       iron2han
// @match        *://learn.microsoft.com/*
// @icon         https://www.google.com/s2/favicons?domain=tampermonkey.net
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    window.addEventListener('load', function () {
        let lang = getCurrentLang();

        if (lang == null) {
            return;
        }

        let xpathResult = document.evaluate('//*[@id="ms--secondary-nav"]/ol', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)

        if (xpathResult.snapshotLength == 0) {
            return;
        }

        let ele = xpathResult.snapshotItem(0);

        lang = lang.toLowerCase();

        if (lang != 'zh-cn') {
            ele.appendChild(createZHCNElement())
        }

        if (lang != 'en-us') {
            ele.appendChild(createENUSElement())
        }

    }, false);
})();

function createENUSElement() {
    let li = document.createElement('li');

    li.className = "nav-bar-item";
    li.style = "margin-left: 5px";

    let url = replaceUrl('en-us');

    li.innerHTML = ` <a data-test-id="navbar-primary-cta" class="button button-sm button-primary button-filled" href="${url}" data-bi-name="L2-primary-cta">
    切换到英文
</a>`;

    return li;
}


function createZHCNElement() {
    let li = document.createElement('li');

    li.className = "nav-bar-item";
    li.style = "margin-left: 5px";

    let url = replaceUrl('zh-cn');

    li.innerHTML = ` <a data-test-id="navbar-primary-cta" class="button button-sm button-primary button-filled" href="${url}" data-bi-name="L2-primary-cta">
    切换到中文
</a>`;

    return li;
}

function replaceUrl(lang) {
    let currentLang = getCurrentLang();

    if (currentLang == null) {
        return location.href;
    }

    return location.href.replace(currentLang, lang);
}

function getCurrentLang() {
    let match = this.location.href.match('com\/([a-zA-Z]{2,2}\-[a-zA-Z]{2,2})\/');

    if (match == null) {
        return null;
    }

    let lang = match[1];
    return lang;
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址