« Module:Catégorisation badges » : différence entre les versions
Contenu supprimé Contenu ajouté
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) |
LD (discuter | contributions) cf. révisions du 3 mars 2023 de Module:Catégorisation badges/Bac à sable pour les crédits à Zebulon84 ; cette révision est une copie de la dernière version pour répondre à la demande formulée par Zebulon84 sur DIPP. |
||
Ligne 1 : | Ligne 1 : | ||
local p = { } |
local p = { } |
||
--[=[ |
|||
local badgesList = { |
local badgesList = { |
||
Q6540291 = 'portail de qualité', |
Q6540291 = 'portail de qualité', |
||
Ligne 15 : | Ligne 16 : | ||
Q17580682 = 'Top-importance articles', |
Q17580682 = 'Top-importance articles', |
||
} |
} |
||
]=] |
|||
local badgesCategory = { |
local badgesCategory = { |
||
Ligne 22 : | Ligne 24 : | ||
} |
} |
||
⚫ | |||
local linkCategorySuffix = { |
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', |
afwiki = ' en afrikaans', |
||
alswiki = ' en alsacien', |
alswiki = ' en alsacien', |
||
Ligne 29 : | Ligne 34 : | ||
anwiki = ' en aragonais', |
anwiki = ' en aragonais', |
||
arwiki = ' en arabe', |
arwiki = ' en arabe', |
||
arywiki = default, |
|||
arzwiki = ' en arabe égyptien', |
arzwiki = ' en arabe égyptien', |
||
⚫ | |||
aswiki = ' en assamais', |
aswiki = ' en assamais', |
||
⚫ | |||
avkwiki = default, |
|||
aywiki = default, |
|||
azwiki = ' en azéri', |
azwiki = ' en azéri', |
||
azbwiki = default, |
|||
bawiki = ' en bachkir', |
bawiki = ' en bachkir', |
||
banwiki = default, |
|||
barwiki = ' en bavarois', |
barwiki = ' en bavarois', |
||
bat_smgwiki = ' en samogitien', |
bat_smgwiki = ' en samogitien', |
||
bclwiki = default, |
|||
bewiki = ' en biélorusse', |
bewiki = ' en biélorusse', |
||
be_x_oldwiki = ' 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', |
bgwiki = ' en bulgare', |
||
bhwiki = default, |
|||
bjnwiki = default, |
|||
bnwiki = ' en bengali', |
bnwiki = ' en bengali', |
||
bowiki = default, |
|||
bpywiki = ' en bishnupriya', |
bpywiki = ' en bishnupriya', |
||
brwiki = ' en breton', |
brwiki = ' en breton', |
||
bswiki = ' en bosnien', |
bswiki = ' en bosnien', |
||
bugwiki = default, |
|||
bxrwiki = ' en bouriate', |
bxrwiki = ' en bouriate', |
||
cawiki = ' en catalan', |
cawiki = ' en catalan', |
||
cdowiki = ' en mindong', |
cdowiki = ' en mindong', |
||
⚫ | |||
cebwiki = ' en cebuano', |
cebwiki = ' en cebuano', |
||
⚫ | |||
ckbwiki = ' en sorani', |
ckbwiki = ' en sorani', |
||
cowiki = default, |
|||
crhwiki = default, |
|||
cswiki = ' en tchèque', |
cswiki = ' en tchèque', |
||
csbwiki = default, |
|||
cvwiki = ' en tchouvache', |
cvwiki = ' en tchouvache', |
||
cywiki = ' en gallois', |
cywiki = ' en gallois', |
||
dawiki = ' en danois', |
dawiki = ' en danois', |
||
dagwiki = default, |
|||
dewiki = ' en allemand', |
dewiki = ' en allemand', |
||
diqwiki = ' en zazaki', |
diqwiki = ' en zazaki', |
||
dvwiki = ' en divehi', |
dvwiki = ' en divehi', |
||
elwiki = ' en grec', |
elwiki = ' en grec', |
||
emlwiki = default, |
|||
simplewiki = ' en anglais', |
simplewiki = ' en anglais', |
||
enwiki = ' en anglais', |
enwiki = ' en anglais', |
||
Ligne 66 : | Ligne 86 : | ||
fawiki = ' en persan', |
fawiki = ' en persan', |
||
fiwiki = ' en finnois', |
fiwiki = ' en finnois', |
||
['fiu-vrowiki'] = default, |
|||
fowiki = ' en féroïen', |
fowiki = ' en féroïen', |
||
frpwiki = default, |
|||
frrwiki = ' en frison septentrional', |
frrwiki = ' en frison septentrional', |
||
fywiki = ' en frison occidental', |
fywiki = ' en frison occidental', |
||
gawiki = ' en irlandais', |
gawiki = ' en irlandais', |
||
ganwiki = default, |
|||
gdwiki = ' en gaélique écossais', |
gdwiki = ' en gaélique écossais', |
||
glwiki = ' en galicien', |
glwiki = ' en galicien', |
||
glkwiki = default, |
|||
gnwiki = default, |
|||
gorwiki = default, |
|||
guwiki = ' en gujarati', |
guwiki = ' en gujarati', |
||
gvwiki = ' en mannois', |
gvwiki = ' en mannois', |
||
hawiki = default, |
|||
hakwiki = default, |
|||
hewiki = ' en hébreu', |
hewiki = ' en hébreu', |
||
hiwiki = ' en hindi', |
hiwiki = ' en hindi', |
||
hifwiki = default, |
|||
hrwiki = ' en croate', |
hrwiki = ' en croate', |
||
hsbwiki = default, |
|||
htwiki = ' en haïtien', |
htwiki = ' en haïtien', |
||
huwiki = ' en hongrois', |
huwiki = ' en hongrois', |
||
hywiki = ' en arménien', |
hywiki = ' en arménien', |
||
hywwiki = default, |
|||
iawiki = ' en interlingua', |
iawiki = ' en interlingua', |
||
idwiki = ' en indonésien', |
idwiki = ' en indonésien', |
||
iewiki = default, |
|||
igwiki = default, |
|||
ilowiki = default, |
|||
iowiki = default, |
|||
iswiki = ' en islandais', |
iswiki = ' en islandais', |
||
itwiki = ' en italien', |
itwiki = ' en italien', |
||
Ligne 87 : | Ligne 122 : | ||
jvwiki = ' en javanais', |
jvwiki = ' en javanais', |
||
kawiki = ' en géorgien', |
kawiki = ' en géorgien', |
||
kabwiki = default, |
|||
⚫ | |||
kkwiki = ' en kazakh', |
kkwiki = ' en kazakh', |
||
⚫ | |||
kmwiki = ' en khmer', |
kmwiki = ' en khmer', |
||
knwiki = ' en kannada', |
knwiki = ' en kannada', |
||
Ligne 95 : | Ligne 131 : | ||
kuwiki = ' en kurde', |
kuwiki = ' en kurde', |
||
kvwiki = ' en komi', |
kvwiki = ' en komi', |
||
kwwiki = default, |
|||
kywiki = default, |
|||
lawiki = ' en latin', |
lawiki = ' en latin', |
||
lbwiki = ' en luxembourgeois', |
lbwiki = ' en luxembourgeois', |
||
liwiki = ' en limbourgeois', |
liwiki = ' en limbourgeois', |
||
lijwiki = default, |
|||
lldwiki = default, |
|||
lmowiki = ' en lombard', |
lmowiki = ' en lombard', |
||
lowiki = ' en lao', |
lowiki = ' en lao', |
||
Ligne 105 : | Ligne 145 : | ||
map_bmswiki = ' en banyumasan', |
map_bmswiki = ' en banyumasan', |
||
mgwiki = ' en malgache', |
mgwiki = ' en malgache', |
||
mhrwiki = default, |
|||
miwiki = default, |
|||
minwiki = default, |
|||
mkwiki = ' en macédonien', |
mkwiki = ' en macédonien', |
||
mlwiki = ' en malayâlam', |
mlwiki = ' en malayâlam', |
||
mnwiki = ' en mongol', |
mnwiki = ' en mongol', |
||
mniwiki = default, |
|||
mrwiki = ' en marâthî', |
mrwiki = ' en marâthî', |
||
mrjwiki = default, |
|||
mswiki = ' en malais', |
mswiki = ' en malais', |
||
mtwiki = ' en maltais', |
mtwiki = ' en maltais', |
||
mywiki = ' en birman', |
mywiki = ' en birman', |
||
myvwiki = default, |
|||
mznwiki = ' en mazandarani', |
mznwiki = ' en mazandarani', |
||
nahwiki = ' en nahuatl', |
nahwiki = ' en nahuatl', |
||
napwiki = default, |
|||
ndswiki = default, |
|||
nds_nlwiki = ' en bas-saxon néerlandais', |
nds_nlwiki = ' en bas-saxon néerlandais', |
||
newiki = ' en népalais', |
newiki = ' en népalais', |
||
newwiki = default, |
|||
nlwiki = ' en néerlandais', |
nlwiki = ' en néerlandais', |
||
nnwiki = ' en norvégien nynorsk', |
nnwiki = ' en norvégien nynorsk', |
||
nowiki = ' en norvégien', |
nowiki = ' en norvégien', |
||
nsowiki = default, |
|||
nvwiki = default, |
|||
ocwiki = ' en occitan', |
ocwiki = ' en occitan', |
||
orwiki = default, |
|||
oswiki = default, |
|||
pawiki = default, |
|||
pamwiki = ' en pampangan', |
pamwiki = ' en pampangan', |
||
pcdwiki = default, |
|||
piwiki = ' en pali', |
piwiki = ' en pali', |
||
plwiki = ' en polonais', |
plwiki = ' en polonais', |
||
pmswiki = default, |
|||
pnbwiki = default, |
|||
pswiki = default, |
|||
ptwiki = ' en portugais', |
ptwiki = ' en portugais', |
||
quwiki = ' en quechua', |
quwiki = ' en quechua', |
||
rowiki = ' en roumain', |
rowiki = ' en roumain', |
||
['roa-tarawiki'] = default, |
|||
ruwiki = ' en russe ', |
ruwiki = ' en russe ', |
||
ruewiki = default, |
|||
sawiki = ' en sanskrit', |
sawiki = ' en sanskrit', |
||
sahwiki = default, |
|||
satwiki = default, |
|||
scwiki = default, |
|||
scnwiki = ' en sicilien', |
scnwiki = ' en sicilien', |
||
scowiki = ' en scots', |
scowiki = ' en scots', |
||
sdwiki = ' en sindhi', |
sdwiki = ' en sindhi', |
||
sewiki = default, |
|||
shwiki = ' en serbo-croate', |
shwiki = ' en serbo-croate', |
||
shnwiki = default, |
|||
siwiki = ' en cingalais', |
siwiki = ' en cingalais', |
||
skwiki = ' en slovaque', |
skwiki = ' en slovaque', |
||
skrwiki = default, |
|||
slwiki = ' en slovène', |
slwiki = ' en slovène', |
||
smnwiki = default, |
|||
snwiki = default, |
|||
sowiki = default, |
|||
sqwiki = ' en albanais', |
sqwiki = ' en albanais', |
||
srwiki = ' en serbe', |
srwiki = ' en serbe', |
||
Ligne 141 : | Ligne 210 : | ||
swwiki = ' en swahili', |
swwiki = ' en swahili', |
||
szlwiki = ' en silésien', |
szlwiki = ' en silésien', |
||
⚫ | |||
tawiki = ' en tamoul', |
tawiki = ' en tamoul', |
||
tewiki = ' en télougou', |
tewiki = ' en télougou', |
||
tgwiki = default, |
|||
thwiki = ' en thaï', |
thwiki = ' en thaï', |
||
tkwiki = default, |
|||
tlwiki = ' en tagalog', |
tlwiki = ' en tagalog', |
||
tnwiki = ' en tswana', |
tnwiki = ' en tswana', |
||
trwiki = ' en turc', |
trwiki = ' en turc', |
||
ttwiki = ' en tatar', |
ttwiki = ' en tatar', |
||
tumwiki = default, |
|||
udmwiki = default, |
|||
ugwiki = default, |
|||
ukwiki = ' en ukrainien', |
ukwiki = ' en ukrainien', |
||
urwiki = ' en ourdou', |
urwiki = ' en ourdou', |
||
uzwiki = ' en ouzbek', |
uzwiki = ' en ouzbek', |
||
vecwiki = ' en vénitien', |
vecwiki = ' en vénitien', |
||
vepwiki = default, |
|||
viwiki = ' en vietnamien', |
viwiki = ' en vietnamien', |
||
vlswiki = ' en flamand occidental', |
vlswiki = ' en flamand occidental', |
||
Ligne 158 : | Ligne 232 : | ||
wawiki = ' en wallon', |
wawiki = ' en wallon', |
||
warwiki = ' en waray-waray', |
warwiki = ' en waray-waray', |
||
wuuwiki = default, |
|||
yiwiki = ' en yiddish', |
|||
xmfwiki = ' en mingrélien', |
xmfwiki = ' en mingrélien', |
||
⚫ | |||
yowiki = ' en yoruba', |
yowiki = ' en yoruba', |
||
zeawiki = default, |
|||
zhwiki = ' en chinois', |
zhwiki = ' en chinois', |
||
zh_classicalwiki = ' en chinois classique', |
zh_classicalwiki = ' en chinois classique', |
||
zh_min_nanwiki = ' en minnan', |
zh_min_nanwiki = ' en minnan', |
||
zh_yuewiki = ' en cantonais', |
zh_yuewiki = ' en cantonais', |
||
zuwiki = default, |
|||
} |
} |
||
function p.badgesCategories( frame ) |
function p.badgesCategories( frame ) |
||
local entity = mw.wikibase. |
local entity = mw.wikibase.getEntityIdForCurrentPage() |
||
local wikitext = {} |
local wikitext = {} |
||
local categoryNs = mw.site.namespaces[14].name |
local categoryNs = mw.site.namespaces[14].name |
||
if not entity |
if not entity then |
||
return '' |
return '' |
||
end |
end |
||
for siteid, |
for siteid, suffix in pairs( linkCategorySuffix ) do |
||
local badges = mw.wikibase.getBadges( entity, siteid ) |
|||
if siteid:sub( -4 ) == 'wiki' and siteid ~= 'frwiki' then |
|||
for i, badgeId in ipairs( |
for i, badgeId in ipairs( badges ) do |
||
if badgesCategory[ badgeId ] then |
if badgesCategory[ badgeId ] then |
||
local main = badgesCategory[ badgeId ] |
local main = badgesCategory[ badgeId ] |
||
local suffix = linkCategorySuffix[ siteid ] or linkCategorySuffix.default |
|||
local category = string.format('[[%s:%s]]', categoryNs, main .. suffix ) |
local category = string.format('[[%s:%s]]', categoryNs, main .. suffix ) |
||
table.insert( wikitext, category ) |
table.insert( wikitext, category ) |
||
end |
end |
||
end |
end |
||
end |
|||
end |
end |
||
return table.concat( wikitext ) |
return table.concat( wikitext ) |
||
end |
end |
Version du 11 mars 2023 à 01:55
[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}}.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
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 default 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 entity = mw.wikibase.getEntityIdForCurrentPage()
local wikitext = {}
local categoryNs = mw.site.namespaces[14].name
if not entity then
return ''
end
for siteid, suffix in pairs( linkCategorySuffix ) do
local badges = mw.wikibase.getBadges( entity, 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