MediaWiki:Gadget-LiensAncresDansCategories.js

Bonjour, vous êtes venu ici pour chercher la signification du mot MediaWiki:Gadget-LiensAncresDansCategories.js. Dans DICTIOUS, vous trouverez non seulement toutes les significations du dictionnaire pour le mot MediaWiki:Gadget-LiensAncresDansCategories.js, mais vous apprendrez également son étymologie, ses caractéristiques et comment dire MediaWiki:Gadget-LiensAncresDansCategories.js au singulier et au pluriel. Tout ce que vous devez savoir sur le mot MediaWiki:Gadget-LiensAncresDansCategories.js est ici. La définition du mot MediaWiki:Gadget-LiensAncresDansCategories.js vous aidera à être plus précis et correct lorsque vous parlerez ou écrirez vos textes. Connaître la définition deMediaWiki:Gadget-LiensAncresDansCategories.js, ainsi que celles d'autres mots, enrichit votre vocabulaire et vous fournit des ressources linguistiques plus nombreuses et de meilleure qualité.
/*
 * Cet outil ajoute une ancre aux liens des pages dans les catégories,
 * vers la section de langue ad hoc
 */
if (mw.config.get('wgNamespaceNumber') === 14) {
	jQuery(function () {
		// Nom de la catégorie, en ignorant "Catégorie:" ou "Catégorie:Wiktionnaire:" au début
		var cat_name = mw.config.get('wgPageName').split(':').reverse(),
			lang, ancre;
		
		/** On récupère le nom de langue à partir du nom de la catégorie **/
		// Pour un lexique
		if (cat_name.split('_', 1) == 'Lexique') {
			lang = cat_name.replace(/.+_en_(.+)_(?:de_la_|du_|de_l’).+/, '$1');
		} // Pour une catégorie d'origine étymologique
		else if (/Mots_en_.+_(?:issus|préfixés|suffixés)_.+/.test(cat_name)) {
			lang = cat_name.replace(/Mots_en_(.+)_(?:issus|préfixés|suffixés)_.+/, '$1');
		} // Pour une thématique
		else if (/.+_en_(.+)/.test(cat_name)) {
			lang = cat_name.replace(/.+_en_(.+)/, '$1');
		} // Pour une catégorie de langue (i.e. la catégorie est catégorisée dans Catégorie:Langues)
		else if (mw.config.get('wgCategories').includes('Langues')) {
			lang = cat_name;
		}
		else { // si la catégorie n'est pas liée à une langue (e.g. cat. de maitenance)
			return;
		}
		ancre = '#' + lang.charAt(0).toUpperCase() + lang.slice(1);
		jQuery("#mw-pages>.mw-content-ltr li>a").each(function () {
			if (this.innerHTML.indexOf(":") < 0) // pages dans l'espace principal uniquement
			  this.setAttribute("href", this.getAttribute("href", 2) + ancre);
		});
	});
}