MediaWiki:Common.js: mudanças entre as edições

Ir para navegação Ir para pesquisar
sem sumário de edição
Sem resumo de edição
Sem resumo de edição
Linha 114: Linha 114:
     // Detecta se a página atual é /en ou se o idioma da interface do usuário está em inglês
     // Detecta se a página atual é /en ou se o idioma da interface do usuário está em inglês
     var isEnglish = mw.config.get('wgUserLanguage') === 'en' || mw.config.get('wgPageName').endsWith('/en');
     var isEnglish = mw.config.get('wgUserLanguage') === 'en' || mw.config.get('wgPageName').endsWith('/en');
    var isSpannish = mw.config.get('wgUserLanguage') === 'es' || mw.config.get('wgPageName').endsWith('/es');
    var isPolish = mw.config.get('wgUserLanguage') === 'pl' || mw.config.get('wgPageName').endsWith('/pl');
      
      
     if (isEnglish) {
     if (isEnglish) {
Linha 137: Linha 139:
         });
         });
     }
     }
    if (isSpannish) {
        // Pega todos os links da área de conteúdo
        $content.find('a').each(function() {
            var href = $(this).attr('href');
           
            // Só altera se for um link interno válido (começa com /, mas não com // que seria link externo)
            if (href && href.startsWith('/') && !href.startsWith('//') && !href.includes('Special:') && !href.includes('Especial:') && !href.includes('?')) {
               
                // Evita colocar /es repetido
                if (!href.endsWith('/es') && !href.includes('/es#')) {
                   
                    // Se o link tiver uma âncora (ex: /Charizard#Ataques), coloca o /en antes do #
                    if (href.includes('#')) {
                        $(this).attr('href', href.replace('#', '/es#'));
                    } else {
                        // Link normal
                        $(this).attr('href', href + '/es');
                    }
                }
            }
        });
    }
    if (isPolish) {
        // Pega todos os links da área de conteúdo
        $content.find('a').each(function() {
            var href = $(this).attr('href');
           
            // Só altera se for um link interno válido (começa com /, mas não com // que seria link externo)
            if (href && href.startsWith('/') && !href.startsWith('//') && !href.includes('Special:') && !href.includes('Especial:') && !href.includes('?')) {
               
                if (!href.endsWith('/pl') && !href.includes('/pl#')) {
                   
                    // Se o link tiver uma âncora (ex: /Charizard#Ataques), coloca o /en antes do #
                    if (href.includes('#')) {
                        $(this).attr('href', href.replace('#', '/pl#'));
                    } else {
                        // Link normal
                        $(this).attr('href', href + '/pl');
                    }
                }
            }
        });
    }
});
// --- SISTEMA DE BANDEIRAS DE IDIOMA ---
mw.loader.using(['mediawiki.util']).then(function() {
    var pageName = mw.config.get('wgPageName');
   
    // Remove o /en ou /es do nome da página atual para saber qual é a página "base"
    var basePageName = pageName.replace(/\/(en|es)$/, '');
    // Monta os links usando a URL correta da sua wiki e força a tradução da interface (?uselang=)
    var urlPT = mw.util.getUrl(basePageName) + '?uselang=pt-br';
    var urlEN = mw.util.getUrl(basePageName + '/en') + '?uselang=en';
    var urlES = mw.util.getUrl(basePageName + '/es') + '?uselang=es';
    // Cria o HTML das bandeiras
    var flags = '<div id="wiki-flags" style="text-align:center; padding:15px 0 5px 0; margin-bottom:10px;">' +
        '<a href="' + urlPT + '" style="font-size:28px; margin:0 8px; text-decoration:none;" title="Português">🇧🇷</a>' +
        '<a href="' + urlEN + '" style="font-size:28px; margin:0 8px; text-decoration:none;" title="English">🇺🇸</a>' +
        '<a href="' + urlES + '" style="font-size:28px; margin:0 8px; text-decoration:none;" title="Español">🇪🇸</a>' +
        '<a href="' + urlPL + '" style="font-size:28px; margin:0 8px; text-decoration:none;" title="Polski">🇵🇱</a>' +
        '</div>';
    // Injeta as bandeiras bem no topo da barra lateral (acima da logo ou do menu)
    $('#mw-panel').prepend(flags);
});
});

Menu de navegação