Ils pirater en JavaScript — voir ce morceau de code en bas de Медијавики:Vector.js:
//to be able to switch the language variant (overrides the default buttons with more visible ones)
function tabWorkaround() {
if(mw.config.get('wgUserVariant') == 'sr') {
var tab_urls = {};
tab_urls[0] = document.getElementById('ca-varlang-0').getElementsByTagName('a')[0].href; //Ћирилица
tab_urls[1] = document.getElementById('ca-varlang-1').getElementsByTagName('a')[0].href; //Latinica
$('#p-variants').remove();
mw.util.addPortletLink('p-namespaces', tab_urls[0], 'Ћирилица');
mw.util.addPortletLink('p-namespaces', tab_urls[1], 'Latinica');
}
}
$(document).ready(tabWorkaround);
Il serait probablement plus propre de le faire avec un crochet de MediaWiki, cependant. Le code suivant est non testé, mais devrait fonctionner si je ne l'ai pas fait d'erreurs stupides:
// show language variants as tabs in Vector skin
function tabWorkaround(&$skintemplate, &$links) {
$links['namespaces'] += $links['variants'];
$links['variants'] = array();
return true;
}
$wgHooks['SkinTemplateNavigation::Universal'][] = 'tabWorkaround';
(en MW 1,17, ce crochet est seulement appelé de la peau Vector En MW 1,18, il aura une incidence sur toutes les peaux. Si vous ne voulez pas cela, vous pouvez tester si $skintemplate->skinname == 'vector'
.)
Ceci l'a résolu, IMPRESSIONNANT! Merci! –