🏳️‍🌈Happy pride month to all ppl.🏳️‍⚧️ --Screamer1234 (talk) 17:03, 31 May 2024 (MST)

MediaWiki:Common.js: Difference between revisions

Jump to: navigation, search
No edit summary
(Testing translator.)
Tag: Reverted
Line 130: Line 130:
     }
     }
})(window, jQuery, mediaWiki);
})(window, jQuery, mediaWiki);
/*translator*/
$(function() {
    var config = mw.config.get([
        'wgAction',
        'wgPageContentLanguage',
        'wgUserLanguage'
    ]);
    if (window.UseTranslator === false || config.wgAction !== 'view') {
        return;
    }
    window.UseTranslator = false;
    // Google Translator no longer translates pages that have the exact same
    // value in the first 3 parameters (sl, tl, and hl). Instead, it sends you
    // to an error page. To fix that, we'll use the browser's language by using
    // navigator.language as a fallback.
    // For example: in english, wgUserLanguge returns "en", while
    // navigator.language returns "en-US".
    if (config.wgPageContentLanguage === config.wgUserLanguage) config.wgUserLanguage = navigator.language;
    function click() {
        window.open(new mw.Uri('https://translate.google.com/translate').extend({
            sl: config.wgPageContentLanguage,
            tl: config.wgUserLanguage,
            hl: config.wgUserLanguage,
            u: location.href
        }).toString());
    }
    function handler($content) {
        if ($content.attr('id') !== 'mw-content-text') {
            return;
        }
        $content.prepend($('<button>', {
            id: 'TranslateButton',
            'class': 'wds-button',
            css: {
                'font-weight': 800,
                width: '6em'
            },
            click: click,
            text: 'A / 文'
        }));
        if (document.documentElement.getAttribute('dir') === 'rtl') {
            $('#TranslateButton').wrap('<div id="TranslateButtonContainer" style="display: flex; justify-content: center;"></div>');
        }
        mw.hook('wikipage.content').remove(handler);
    }
    mw.hook('wikipage.content').add(handler);
});