1 881
edições
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); | |||
}); | }); | ||