Aller au contenu

Module:Catégorisation badges

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 16 juin 2022 à 02:10 et modifiée en dernier par Od1n (discuter | contributions) (correction erreur Lua que j'ai quelquefois rencontrée « bad argument #1 to 'pairs' (table expected, got nil) » (en théorie il devrait toujours y avoir un sitelinks avec au moins la page frwiki vu qu'on est dessus, mais en pratique il y a quelquefois des déplacements/merges d'éléments wikidata et le temps de la propagation les liens peuvent être manquants)). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

Ce module permet de catégoriser les pages ayant un label de qualité dans une autre langue. Voir Catégorie:Article de qualité dans une autre langue.

Il est appelé par le modèle {{Portail}} via le modèle {{Catégorisation badges}}.




local p = { }

local badgesList = {
	Q6540291 = 'portail de qualité',
	Q6540326 = 'thème de qualité',
	Q17437796 = 'article de qualité',
	Q17437798 = 'bon article',
	Q17506997 = 'liste de qualité',
	Q17507019 = 'Le saviez-vous',
	Q17559452 = 'recommended article',
	Q17580674 = 'featured portal',
	Q17580678 = 'A-Class articles',
	Q17580679 = 'B-Class articles',
	Q17580680 = 'C-Class articles',
	Q17580682 = 'Top-importance articles',
}

local badgesCategory = {
	Q17437796 = 'Article de qualité',
	Q17437798 = 'Bon article',
	Q17506997 = 'Article de qualité'  -- 'liste de qualité',
}

local linkCategorySuffix = {
	default = ' dans une autre langue',
	afwiki = ' en afrikaans',
	alswiki = ' en alsacien',
	amwiki = ' en amharique',
	anwiki = ' en aragonais',
	arwiki = ' en arabe',
	arzwiki = ' en arabe égyptien',
	astwiki = ' en asturien',
	aswiki = ' en assamais',
	azwiki = ' en azéri',
	bawiki = ' en bachkir',
	barwiki = ' en bavarois',
	bat_smgwiki = ' en samogitien',
	bewiki = ' en biélorusse',
	be_x_oldwiki = ' en biélorusse',
	bgwiki = ' en bulgare',
	bnwiki = ' en bengali',
	bpywiki = ' en bishnupriya',
	brwiki = ' en breton',
	bswiki = ' en bosnien',
	bxrwiki = ' en bouriate',
	cawiki = ' en catalan',
	cdowiki = ' en mindong',
	cebwiki = ' en cebuano',
	cewiki = ' en tchétchène',
	ckbwiki = ' en sorani',
	cswiki = ' en tchèque',
	cvwiki = ' en tchouvache',
	cywiki = ' en gallois',
	dawiki = ' en danois',
	dewiki = ' en allemand',
	diqwiki = ' en zazaki',
	dvwiki = ' en divehi',
	elwiki = ' en grec',
	simplewiki = ' en anglais',
	enwiki = ' en anglais',
	eowiki = ' en espéranto',
	eswiki = ' en espagnol',
	etwiki = ' en estonien',
	euwiki = ' en basque',
	extwiki = ' en estrémègne',
	fawiki = ' en persan',
	fiwiki = ' en finnois',
	fowiki = ' en féroïen',
	frrwiki = ' en frison septentrional',
	fywiki = ' en frison occidental',
	gawiki = ' en irlandais',
	gdwiki = ' en gaélique écossais',
	glwiki = ' en galicien',
	guwiki = ' en gujarati',
	gvwiki = ' en mannois',
	hewiki = ' en hébreu',
	hiwiki = ' en hindi',
	hrwiki = ' en croate',
	htwiki = ' en haïtien',
	huwiki = ' en hongrois',
	hywiki = ' en arménien',
	iawiki = ' en interlingua',
	idwiki = ' en indonésien',
	iswiki = ' en islandais',
	itwiki = ' en italien',
	jawiki = ' en japonais',
	jvwiki = ' en javanais',
	kawiki = ' en géorgien',
	klwiki = ' en groenlandais',
	kkwiki = ' en kazakh',
	kmwiki = ' en khmer',
	knwiki = ' en kannada',
	kowiki = ' en coréen',
	krcwiki = ' en karatchaï balkar',
	kuwiki = ' en kurde',
	kvwiki = ' en komi',
	lawiki = ' en latin',
	lbwiki = ' en luxembourgeois',
	liwiki = ' en limbourgeois',
	lmowiki = ' en lombard',
	lowiki = ' en lao',
	ltwiki = ' en lituanien',
	lvwiki = ' en letton',
	maiwiki = ' en maïthili',
	map_bmswiki = ' en banyumasan',
	mgwiki = ' en malgache',
	mkwiki = ' en macédonien',
	mlwiki = ' en malayâlam',
	mnwiki = ' en mongol',
	mrwiki = ' en marâthî',
	mswiki = ' en malais',
	mtwiki = ' en maltais',
	mywiki = ' en birman',
	mznwiki = ' en mazandarani',
	nahwiki = ' en nahuatl',
	nds_nlwiki = ' en bas-saxon néerlandais',
	newiki = ' en népalais',
	nlwiki = ' en néerlandais',
	nnwiki = ' en norvégien nynorsk',
	nowiki = ' en norvégien',
	ocwiki = ' en occitan',
	pamwiki = ' en pampangan',
	piwiki = ' en pali',
	plwiki = ' en polonais',
	ptwiki = ' en portugais',
	quwiki = ' en quechua',
	rowiki = ' en roumain',
	ruwiki = ' en russe ',
	sawiki = ' en sanskrit',
	scnwiki = ' en sicilien',
	scowiki = ' en scots',
	sdwiki = ' en sindhi',
	shwiki = ' en serbo-croate',
	siwiki = ' en cingalais',
	skwiki = ' en slovaque',
	slwiki = ' en slovène',
	sqwiki = ' en albanais',
	srwiki = ' en serbe',
	suwiki = ' en soudanais',
	svwiki = ' en suédois',
	swwiki = ' en swahili',
	szlwiki = ' en silésien',
	uzwiki = ' en ouzbek',
	tawiki = ' en tamoul',
	tewiki = ' en télougou',
	thwiki = ' en thaï',
	tlwiki = ' en tagalog',
	tnwiki = ' en tswana',
	trwiki = ' en turc',
	ttwiki = ' en tatar',
	ukwiki = ' en ukrainien',
	urwiki = ' en ourdou',
	uzwiki = ' en ouzbek',
	vecwiki = ' en vénitien',
	viwiki = ' en vietnamien',
	vlswiki = ' en flamand occidental',
	vowiki = ' en volapük',
	wawiki = ' en wallon',
	warwiki = ' en waray-waray',
	yiwiki = ' en yiddish',
	xmfwiki = ' en mingrélien',
	yowiki = ' en yoruba',
	zhwiki = ' en chinois',
	zh_classicalwiki = ' en chinois classique',
	zh_min_nanwiki = ' en minnan',
	zh_yuewiki = ' en cantonais',
}

function p.badgesCategories( frame )
	local entity = mw.wikibase.getEntity()
	local wikitext = {}
	local categoryNs = mw.site.namespaces[14].name
	if not entity or not entity.sitelinks then
		return ''
	end

	for siteid, linkTable in pairs( entity.sitelinks ) do
		if siteid:sub( -4 ) == 'wiki' and siteid ~= 'frwiki' then
			for i, badgeId in ipairs( linkTable.badges ) do
				if badgesCategory[ badgeId ] then
					local main = badgesCategory[ badgeId ]
					local suffix = linkCategorySuffix[ siteid ] or linkCategorySuffix.default
					local category = string.format('[[%s:%s]]', categoryNs, main .. suffix )
					table.insert( wikitext, category )
				end
			end
		end
	end
	return table.concat( wikitext )
end

return p