Mòdul:Categorizacion badges

La documentacion d'utilizacion d'aquel modul se pòt crear a Mòdul:Categorizacion badges/ús

local p = { }

local badgesList = {
	Q6540291 = 'portal de qualitat',
	Q6540326 = 'tèma de qualitat',
	Q17437796 = 'article de qualitat',
	Q17437798 = 'bon article',
	Q17506997 = 'lista de qualitat',
	Q17507019 = 'O sabiatz',
	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 qualitat',
	Q17437798 = 'Bon article',
	Q17506997 = 'Article de qualitat'  -- 'lista de qualitat',
}

local linkCategorySuffix = {
	default = ' dins una autra lenga',
	afwiki = ' en afrikaans',
	alswiki = ' en alsacian',
	amwiki = ' en amharic',
	anwiki = ' en aragonés',
	arwiki = ' en arabi',
	arzwiki = ' en arabi egipcian',
	astwiki = ' en asturian',
	azwiki = ' en azèri',
	bawiki = ' en bachkir',
	barwiki = ' en bavarés',
	bat_smgwiki = ' en samogitian',
	bewiki = ' en bielorús',
	be_x_oldwiki = ' en bielorús',
	bgwiki = ' en bulgar',
	bnwiki = ' en bengalin',
	bpywiki = ' en bishnupriya',
	brwiki = ' en breton',
	bswiki = ' en bosniac',
	cawiki = ' en catalan',
	cebwiki = ' en cebuano',
	cswiki = ' en chèc',
	cvwiki = ' en chovac',
	cywiki = ' en galés',
	dawiki = ' en danés',
	dewiki = ' en alemand',
	diqwiki = ' en zazaki',
	dvwiki = ' en divehi',
	elwiki = ' en grèc',
	simplewiki = ' en anglés',
	enwiki = ' en anglés',
	eowiki = ' en esperanto',
	eswiki = ' en espanhòl',
	etwiki = ' en estonian',
	euwiki = ' en basc',
	extwiki = ' en estremènh',
	fawiki = ' en persan',
	fiwiki = ' en finés',
	fowiki = ' en feroïan',
	frrwiki = ' en frison septentrional',
	fywiki = ' en frison occidental',
	gawiki = ' en irlandés',
	gdwiki = ' en gaelic escocés',
	glwiki = ' en galician',
	guwiki = ' en gujarati',
	gvwiki = ' en manés',
	hewiki = ' en ebrèu',
	hiwiki = ' en hindi',
	hrwiki = ' en croat',
	htwiki = ' en haïtian',
	huwiki = ' en hongrés',
	hywiki = ' en armèni',
	iawiki = ' en interlingua',
	idwiki = ' en indonesian',
	iswiki = ' en islandés',
	itwiki = ' en italian',
	jawiki = ' en japonés',
	jvwiki = ' en javanés',
	kawiki = ' en georgian',
	klwiki = ' en groenlandés',
	kkwiki = ' en kazac',
	kmwiki = ' en cmèr',
	knwiki = ' en kannada',
	kowiki = ' en corean',
	krcwiki = ' en karatchaï balkar',
	kuwiki = ' en curd',
	kvwiki = ' en komi',
	lawiki = ' en latin',
	lbwiki = ' en luxemborgués',
	liwiki = ' en limborgés',
	lmowiki = ' en lombard',
	lowiki = ' en lao',
	ltwiki = ' en lituanian',
	lvwiki = ' en leton',
	map_bmswiki = ' en banyumasan',
	mgwiki = ' en malgach',
	mkwiki = ' en macedonian',
	mlwiki = ' en malayâlam',
	mrwiki = ' en marâthî',
	mswiki = ' en malais',
	mtwiki = ' en maltés',
	mywiki = ' en birman',
	nahwiki = ' en nahuatl',
	nds_nlwiki = ' en bas-saxon neerlandés',
	nlwiki = ' en neerlandés',
	nnwiki = ' en norvegian nynorsk',
	nowiki = ' en norvegian',
	ocwiki = ' en occitan',
	piwiki = ' en pali',
	plwiki = ' en polonés',
	ptwiki = ' en portugués',
	quwiki = ' en quíchoa',
	rowiki = ' en romanés',
	ruwiki = ' en rus ',
	sawiki = ' en sanskrit',
	scowiki = ' en scots',
	shwiki = ' en serbocroat',
	skwiki = ' en eslovac',
	slwiki = ' en eslovèn',
	sqwiki = ' en albanés',
	srwiki = ' en sèrbi',
	svwiki = ' en suedés',
	swwiki = ' en swahili',
	szlwiki = ' en silesian',
	uzwiki = ' en ozbèc',
	tawiki = ' en tamol',
	tewiki = ' en telogó',
	thwiki = ' en tai',
	tlwiki = ' en tagalog',
	tnwiki = ' en tswana',
	trwiki = ' en turc',
	ttwiki = ' en tatar',
	ukwiki = ' en ukrainien',
	urwiki = ' en ordó',
	uzwiki = ' en ozbèc',
	vecwiki = ' en venèt',
	viwiki = ' en vietnamian',
	vowiki = ' en volapük',
	wawiki = ' en valon',
	warwiki = ' en waray-waray',
	yiwiki = ' en yiddish',
	yowiki = ' en yoruba',
	zhwiki = ' en chinés',
	zh_classicalwiki = ' en chinés classic',
	zh_min_nanwiki = ' en minan',
	zh_yuewiki = ' en cantonés',
}

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 ~= 'ocwiki' 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