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 11 mars 2023 à 22:50 et modifiée en dernier par Od1n (discuter | contributions) (il ne faut pas confondre identifiant d'entité et expression d'entité sinon on va déjà mal partir). 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 default = 'dans une autre langue'
local linkCategorySuffix = {
	-- cf. https://meta.wikimedia.org/wiki/List_of_Wikipedias (les wiki avec moins de 5 000 articles sans catégorie dédièe ont été ignorés)
	abwiki = default,
	acewiki = default,
	afwiki = 'en afrikaans',
	alswiki = 'en alsacien',
	amwiki = 'en amharique',
	anwiki = 'en aragonais',
	arwiki = 'en arabe',
	arywiki = default,
	arzwiki = 'en arabe égyptien',
	aswiki = 'en assamais',
	astwiki = 'en asturien',
	avkwiki = default,
	aywiki = default,
	azwiki = 'en azéri',
	azbwiki = default,
	bawiki = 'en bachkir',
	banwiki = default,
	barwiki = 'en bavarois',
	bat_smgwiki = 'en samogitien',
	bclwiki = default,
	bewiki = 'en biélorusse',
	be_x_oldwiki = 'en biélorusse',   -- https://be-tarask.wikipedia.org, mais son code interne est  be_x_oldwiki
	bgwiki = 'en bulgare',
	bhwiki = default,
	bjnwiki = default,
	bnwiki = 'en bengali',
	bowiki = default,
	bpywiki = 'en bishnupriya',
	brwiki = 'en breton',
	bswiki = 'en bosnien',
	bugwiki = default,
	bxrwiki = 'en bouriate',
	cawiki = 'en catalan',
	cdowiki = 'en mindong',
	cewiki = 'en tchétchène',
	cebwiki = 'en cebuano',
	ckbwiki = 'en sorani',
	cowiki = default,
	crhwiki = default,
	cswiki = 'en tchèque',
	csbwiki = default,
	cvwiki = 'en tchouvache',
	cywiki = 'en gallois',
	dawiki = 'en danois',
	dagwiki = default,
	dewiki = 'en allemand',
	diqwiki = 'en zazaki',
	dvwiki = 'en divehi',
	elwiki = 'en grec',
	emlwiki = default,
	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',
	['fiu-vrowiki'] = default,
	fowiki = 'en féroïen',
	frpwiki = default,
	frrwiki = 'en frison septentrional',
	fywiki = 'en frison occidental',
	gawiki = 'en irlandais',
	ganwiki = default,
	gdwiki = 'en gaélique écossais',
	glwiki = 'en galicien',
	glkwiki = default,
	gnwiki = default,
	gorwiki = default,
	guwiki = 'en gujarati',
	gvwiki = 'en mannois',
	hawiki = default,
	hakwiki = default,
	hewiki = 'en hébreu',
	hiwiki = 'en hindi',
	hifwiki = default,
	hrwiki = 'en croate',
	hsbwiki = default,
	htwiki = 'en haïtien',
	huwiki = 'en hongrois',
	hywiki = 'en arménien',
	hywwiki = default,
	iawiki = 'en interlingua',
	idwiki = 'en indonésien',
	iewiki = default,
	igwiki = default,
	ilowiki = default,
	iowiki = default,
	iswiki = 'en islandais',
	itwiki = 'en italien',
	jawiki = 'en japonais',
	jvwiki = 'en javanais',
	kawiki = 'en géorgien',
	kabwiki = default,
	kkwiki = 'en kazakh',
	klwiki = 'en groenlandais',
	kmwiki = 'en khmer',
	knwiki = 'en kannada',
	kowiki = 'en coréen',
	krcwiki = 'en karatchaï balkar',
	kuwiki = 'en kurde',
	kvwiki = 'en komi',
	kwwiki = default,
	kywiki = default,
	lawiki = 'en latin',
	lbwiki = 'en luxembourgeois',
	liwiki = 'en limbourgeois',
	lijwiki = default,
	lldwiki = default,
	lmowiki = 'en lombard',
	lowiki = 'en lao',
	ltwiki = 'en lituanien',
	lvwiki = 'en letton',
	maiwiki = 'en maïthili',
	map_bmswiki = 'en banyumasan',
	mgwiki = 'en malgache',
	mhrwiki = default,
	miwiki = default,
	minwiki = default,
	mkwiki = 'en macédonien',
	mlwiki = 'en malayâlam',
	mnwiki = 'en mongol',
	mniwiki = default,
	mrwiki = 'en marâthî',
	mrjwiki = default,
	mswiki = 'en malais',
	mtwiki = 'en maltais',
	mywiki = 'en birman',
	myvwiki = default,
	mznwiki = 'en mazandarani',
	nahwiki = 'en nahuatl',
	napwiki = default,
	ndswiki = default,
	nds_nlwiki = 'en bas-saxon néerlandais',
	newiki = 'en népalais',
	newwiki = default,
	nlwiki = 'en néerlandais',
	nnwiki = 'en norvégien nynorsk',
	nowiki = 'en norvégien',
	nsowiki = default,
	nvwiki = default,
	ocwiki = 'en occitan',
	orwiki = default,
	oswiki = default,
	pawiki = default,
	pamwiki = 'en pampangan',
	pcdwiki = default,
	piwiki = 'en pali',
	plwiki = 'en polonais',
	pmswiki = default,
	pnbwiki = default,
	pswiki = default,
	ptwiki = 'en portugais',
	quwiki = 'en quechua',
	rowiki = 'en roumain',
	['roa-tarawiki'] = default,
	ruwiki = 'en russe ',
	ruewiki = default,
	sawiki = 'en sanskrit',
	sahwiki = default,
	satwiki = default,
	scwiki = default,
	scnwiki = 'en sicilien',
	scowiki = 'en scots',
	sdwiki = 'en sindhi',
	sewiki = default,
	shwiki = 'en serbo-croate',
	shnwiki = default,
	siwiki = 'en cingalais',
	skwiki = 'en slovaque',
	skrwiki = default,
	slwiki = 'en slovène',
	smnwiki = default,
	snwiki = default,
	sowiki = default,
	sqwiki = 'en albanais',
	srwiki = 'en serbe',
	suwiki = 'en soudanais',
	svwiki = 'en suédois',
	swwiki = 'en swahili',
	szlwiki = 'en silésien',
	tawiki = 'en tamoul',
	tewiki = 'en télougou',
	tgwiki = default,
	thwiki = 'en thaï',
	tkwiki = default,
	tlwiki = 'en tagalog',
	tnwiki = 'en tswana',
	trwiki = 'en turc',
	ttwiki = 'en tatar',
	tumwiki = default,
	udmwiki = default,
	ugwiki = default,
	ukwiki = 'en ukrainien',
	urwiki = 'en ourdou',
	uzwiki = 'en ouzbek',
	vecwiki = 'en vénitien',
	vepwiki = default,
	viwiki = 'en vietnamien',
	vlswiki = 'en flamand occidental',
	vowiki = 'en volapük',
	wawiki = 'en wallon',
	warwiki = 'en waray-waray',
	wuuwiki = default,
	xmfwiki = 'en mingrélien',
	yiwiki = 'en yiddish',
	yowiki = 'en yoruba',
	zeawiki = default,
	zhwiki = 'en chinois',
	zh_classicalwiki = 'en chinois classique',
	zh_min_nanwiki = 'en minnan',
	zh_yuewiki = 'en cantonais',
	zuwiki = default,
}

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

	for siteId, suffix in pairs( linkCategorySuffix ) do
			local badges = mw.wikibase.getBadges( entityId, siteId )
			for i, badgeId in ipairs( badges ) do
				if badgesCategory[ badgeId ] then
					local main = badgesCategory[ badgeId ]
					local category = string.format('[[%s:%s]]', categoryNs, main .. ' ' .. suffix )
					table.insert( wikitext, category )
				end
			end
	end
	
	return table.concat( wikitext )
end

return p