Zum Inhalt springen

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Informatik.wiki
Sprachschalter DE/EN nach DOM-Ready laden
Doppelten Sprachumschalter entfernen
Zeile 1: Zeile 1:
/* BEGIN INFORMATIK.WIKI DGB1 LANGSWITCH */
/* BEGIN INFORMATIK.WIKI DGB1 LANGSWITCH */
mw.loader.using( 'mediawiki.util' ).then( function () {
mw.loader.using( 'mediawiki.util' ).then( function () {
    /* Alten zweiten Sprachumschalter dauerhaft ausblenden */
    mw.util.addCSS( '#iw-lang-switch-header { display: none !important; }' );
     $( function () {
     $( function () {
         var ns = mw.config.get( 'wgNamespaceNumber' );
         var ns = mw.config.get( 'wgNamespaceNumber' );

Version vom 11. September 2026, 17:15 Uhr

/* BEGIN INFORMATIK.WIKI DGB1 LANGSWITCH */
mw.loader.using( 'mediawiki.util' ).then( function () {
    /* Alten zweiten Sprachumschalter dauerhaft ausblenden */
    mw.util.addCSS( '#iw-lang-switch-header { display: none !important; }' );
    $( function () {
        var ns = mw.config.get( 'wgNamespaceNumber' );
        if ( ns < 0 ) {
            return;
        }

        var pageName = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' );
        var isEnglish = /\/en$/.test( pageName );
        var baseTitle = pageName.replace( /\/en$/, '' );

        var translatedTitles = [
            'DGB 1. Klasse',
            'DGB 1: EVA-Prinzip',
            'DGB 1: Analog vs. Digital',
            'DGB 1: Persönliches Nutzungsverhalten',
            'DGB 1: Suchmaschinen',
            'DGB 1: Personalisierte Suchroutinen',
            'DGB 1: Internetrecherche',
            'DGB 1: Daten speichern verwalten verändern',
            'DGB 1: Personenbezogene Informationen',
            'DGB 1: Digitale Zusammenarbeit',
            'DGB 1: Kommunikations- und Kollaborationswerkzeuge',
            'DGB 1: Algorithmen',
            'DGB 1: Darstellungsformen und Wirkung',
            'DGB 1: Daten rechnen sammeln präsentieren',
            'DGB 1: Texte und Präsentationen',
            'DGB 1: Hardware',
            'DGB 1: Medienwandel',
            'DGB 1: Hilfesysteme'
        ];

        var hasEnglishPage = translatedTitles.indexOf( baseTitle ) !== -1;

        var old = document.getElementById( 'iw-lang-switch' );
        if ( old ) {
            old.remove();
        }

        var box = document.createElement( 'div' );
        box.id = 'iw-lang-switch';
        box.setAttribute( 'aria-label', 'Language / Sprache' );

        function addLanguage( code, label, href, active, enabled ) {
            var el;

            if ( enabled ) {
                el = document.createElement( 'a' );
                el.href = href;
            } else {
                el = document.createElement( 'span' );
                el.className = 'iw-lang-unavailable';
                el.title = code === 'en'
                    ? 'English page not available yet'
                    : 'Deutsche Seite nicht verfügbar';
            }

            el.textContent = label;
            el.lang = code;

            if ( active ) {
                el.classList.add( 'iw-lang-active' );
                el.setAttribute( 'aria-current', 'page' );
            }

            box.appendChild( el );
        }

        addLanguage(
            'de',
            'DE',
            mw.util.getUrl( baseTitle, { setlang: 'de' } ),
            !isEnglish,
            true
        );

        var separator = document.createElement( 'span' );
        separator.className = 'iw-lang-separator';
        separator.textContent = '|';
        box.appendChild( separator );

        addLanguage(
            'en',
            'EN',
            hasEnglishPage
                ? mw.util.getUrl( baseTitle + '/en', { setlang: 'en' } )
                : '#',
            isEnglish,
            hasEnglishPage
        );

        var heading = document.getElementById( 'firstHeading' );

        if ( heading && heading.parentNode ) {
            heading.parentNode.insertBefore( box, heading );
        }
    } );
} );
/* END INFORMATIK.WIKI DGB1 LANGSWITCH */