Greasy Fork

萌娘百科优先简体中文(或繁体)

Moegirl 萌娘百科中文优先选择地区 简/繁 中文。

// ==UserScript==
// @name         萌娘百科优先简体中文(或繁体)
// @version      0.01
// @description  Moegirl 萌娘百科中文优先选择地区 简/繁 中文。
// @author       KimmyXYC
// @include      http*://zh.moegirl.org/*
// @namespace    https://greasyfork.org/zh-CN/users/409033
// ==/UserScript==

(function() {
    'use strict';

    // ==================================================
    // 请优先使用萌娘百科自带的语言选择功能,需要登陆账号。
    // 在参数设置里选择,不同的地区语言,链接可能不同。
    // https://zh.moegirl.org/wiki/Special:参数设置
    // ==================================================

    console.log('自动切换维基语言')

    let langs = {
            'zh-cn': '大陆简体',
            'zh-tw': '台湾繁体',
            'zh-hant': '繁体',
            'zh-hans': '简体',
            'zh': '关闭转换'
        },
        target_lang = 'zh-cn',  // 在这里输入你需要的语言
        target_lang_name = langs[target_lang]

    let url = document.URL
    console.log('Url:', url)

    // 当前语言非目标语言
    if (url.includes(target_lang)) {
        console.log('当前语言:', target_lang, '无需变更')
    } else {
        let find_current_lang = setInterval(function() {
            let current_lang = document.querySelector('#mw-head #p-variants-label span').innerHTML
            console.log('当前语言:', current_lang)
            if (current_lang) {
                clearInterval(find_current_lang)
                // 简体默认为【简体】,而不是【大陆简体】。所以判断includes。
                if (target_lang_name.includes(current_lang)) {
                    console.log('当前语言:', current_lang, '无需变更')
                } else {
                    switch_to_target_lang()
                }
            }
        }, 500)
    }

    let switch_to_target_lang = function() {
        let pieces = url.split('/'),
            lang = pieces[3],
            word = pieces[pieces.length - 1],
            new_url = 'https://zh.moegirl.org/' + target_lang + '/' + word
        console.log('变更语言', lang, '->', target_lang)
        console.log('跳转到:', new_url)
        window.location = new_url
    }

})();