1 896
edições
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) { | ||
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=" + | // 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 | alert('O sistema de tradução ainda está a carregar. Por favor, aguarde um instante e tente novamente.'); | ||
} | } | ||
}); | }); | ||
}); | }); | ||