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 116: Linha 116:




/* --- Tradutor no TOPO da Barra Lateral com Bandeiras Oficiais (ES5) --- */
/* --- Tradutor no TOPO da Barra Lateral com Bandeiras Oficiais (ES5) --- */
/* --- Tradutor no TOPO da Barra Lateral com Bandeiras Oficiais (ES5) --- */
$(document).ready(function() {
$(document).ready(function() {
Linha 135: Linha 136:
     // 2. Injeta o menu com as bandeiras ANTES do menu principal de Navegação
     // 2. Injeta o menu com as bandeiras ANTES do menu principal de Navegação
     if ($('#p-lang-custom').length === 0) {
     if ($('#p-lang-custom').length === 0) {
        // Corrigido: aspas simples abertas no início de cada link e alinhamento ajustado
         var menuHTML = '<nav class="portal vector-menu vector-menu-portal" id="p-lang-custom" style="text-align:center; padding: 10px 0;">' +
         var menuHTML = '<nav class="portal vector-menu vector-menu-portal" id="p-lang-custom" style="text-align:center; padding: 10px 0;">' +
             '<div class="body vector-menu-content" style="display:flex; justify-content:center; gap:8px;">' +
             '<div class="body vector-menu-content" style="display:flex; justify-content:center; gap:8px;">' +
Linha 149: Linha 149:
             $('#p-navigation').before(menuHTML);
             $('#p-navigation').before(menuHTML);
         } else {
         } else {
             // Plano B de segurança, caso a página carregue diferente
             // Plano B de segurança, caso a página carregue de forma diferente
             $('#mw-panel').prepend(menuHTML);
             $('#mw-panel').prepend(menuHTML);
         }
         }
     }
     }


     // 3. Lógica de tradução
     // 3. Lógica de tradução melhorada
     $(document).on('click', '.lang-btn', function(e) {
     $(document).on('click', '.lang-btn', function(e) {
         e.preventDefault();
         e.preventDefault();
Linha 160: Linha 160:
         var select = document.querySelector('.goog-te-combo');
         var select = document.querySelector('.goog-te-combo');


        // Se clicar em Português, forçamos a limpeza profunda dos cookies
         if (targetLang === defaultLang) {
         if (targetLang === defaultLang) {
            var host = location.hostname;
           
            // Limpa o cookie na raiz
             document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
             document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
             document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=" + location.hostname + ";";
            // Limpa o cookie no domínio exato
            document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=" + host + ";";
            // Limpa o cookie com o prefixo de ponto (muito usado pelo Google)
             document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=." + host + ";";
           
            // Se for um subdomínio (ex: wiki.otpokemon.com), limpa também o domínio principal (.otpokemon.com)
            var parts = host.split('.');
            if (parts.length > 2) {
                var mainDomain = "." + parts[parts.length - 2] + "." + parts[parts.length - 1];
                document.cookie = "googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=" + mainDomain + ";";
            }
           
            // Recarrega a página para aplicar a limpeza
             location.reload();
             location.reload();
             return;
             return;
         }
         }


        // Se clicar num idioma estrangeiro, chama o Google Translate
         if (select) {
         if (select) {
             select.value = targetLang;
             select.value = targetLang;
Linha 178: Linha 195:
             select.dispatchEvent(event);
             select.dispatchEvent(event);
         } else {
         } else {
             alert('O tradutor está carregando. Aguarde um segundo e tente novamente.');
             alert('O sistema de tradução ainda está a carregar. Por favor, aguarde um instante e tente novamente.');
         }
         }
     });
     });
});
});

Menu de navegação