Module:Catègorisacion cârtes

La documentation pour ce module peut être créée à Module:Catègorisacion cârtes/doc

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 then
		return ''
	end

	for siteid, linkTable in pairs( entity.sitelinks ) do
		if siteid:sub( -4 ) == 'wiki' and siteid ~= 'frpwiki' 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