« Module:Catégorisation badges » : différence entre les versions

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
déplacement de l'espace, notamment parce que je pense qu'ainsi cela devrait réduire le risque d'erreur en cas de mise à jour de la liste
m il ne faut pas confondre identifiant d'entité et expression d'entité sinon on va déjà mal partir
 
Ligne 245 : Ligne 245 :


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


for siteid, suffix in pairs( linkCategorySuffix ) do
for siteId, suffix in pairs( linkCategorySuffix ) do
local badges = mw.wikibase.getBadges( entity, siteid )
local badges = mw.wikibase.getBadges( entityId, siteId )
for i, badgeId in ipairs( badges ) do
for i, badgeId in ipairs( badges ) do
if badgesCategory[ badgeId ] then
if badgesCategory[ badgeId ] then

Dernière version du 11 mars 2023 à 22:50

 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