« Module:Catégorisation badges » : différence entre les versions
Contenu supprimé Contenu ajouté
bug |
m il ne faut pas confondre identifiant d'entité et expression d'entité sinon on va déjà mal partir |
||
(27 versions intermédiaires par 6 utilisateurs non affichées) | |||
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 default = 'dans une autre langue' |
|||
local linkCategoryPrefix = { |
|||
local linkCategorySuffix = { |
|||
default = '', |
|||
-- 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, |
|||
local linkCategorySuffix = { |
|||
afwiki = 'en afrikaans', |
|||
defaultwiki = ' dans une autre langue', |
|||
alswiki = 'en alsacien', |
|||
amwiki = 'en amharique', |
|||
anwiki = 'en aragonais', |
|||
arwiki = 'en arabe', |
|||
arywiki = default, |
|||
arzwiki = ' |
arzwiki = 'en arabe égyptien', |
||
aswiki = 'en assamais', |
|||
astwiki = 'en asturien', |
|||
avkwiki = default, |
|||
bawiki = ' en bachkir', |
|||
aywiki = default, |
|||
barwiki = ' en bavarois', |
|||
azwiki = 'en azéri', |
|||
azbwiki = default, |
|||
bewiki = ' en biélorusse', |
|||
bawiki = 'en bachkir', |
|||
banwiki = default, |
|||
bgwiki = ' en bulgare', |
|||
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 |
|||
cawiki = ' en catalan', |
|||
bgwiki = 'en bulgare', |
|||
bhwiki = default, |
|||
cswiki = ' en tchèque', |
|||
bjnwiki = default, |
|||
cvwiki = ' en tchouvache', |
|||
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, |
|||
extwiki = ' en estrémègne', |
|||
crhwiki = default, |
|||
cswiki = 'en tchèque', |
|||
csbwiki = default, |
|||
fowiki = ' en féroïen', |
|||
cvwiki = 'en tchouvache', |
|||
cywiki = 'en gallois', |
|||
dawiki = 'en danois', |
|||
dagwiki = default, |
|||
gdwiki = ' en gaélique écossais', |
|||
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, |
|||
jvwiki = ' en javanais', |
|||
fowiki = 'en féroïen', |
|||
frpwiki = default, |
|||
klwiki = ' en groenlandais', |
|||
frrwiki = 'en frison septentrional', |
|||
fywiki = 'en frison occidental', |
|||
gawiki = 'en irlandais', |
|||
ganwiki = default, |
|||
kowiki = ' en coréen', |
|||
gdwiki = 'en gaélique écossais', |
|||
glwiki = 'en galicien', |
|||
glkwiki = default, |
|||
gnwiki = default, |
|||
gorwiki = default, |
|||
lbwiki = ' en luxembourgeois', |
|||
guwiki = 'en gujarati', |
|||
gvwiki = 'en mannois', |
|||
hawiki = default, |
|||
hakwiki = default, |
|||
ltwiki = ' en lituanien', |
|||
hewiki = 'en hébreu', |
|||
hiwiki = 'en hindi', |
|||
hifwiki = default, |
|||
mgwiki = ' en malgache', |
|||
hrwiki = 'en croate', |
|||
hsbwiki = default, |
|||
mlwiki = ' en malayâlam', |
|||
htwiki = 'en haïtien', |
|||
huwiki = 'en hongrois', |
|||
hywiki = 'en arménien', |
|||
hywwiki = default, |
|||
iawiki = 'en interlingua', |
|||
idwiki = 'en indonésien', |
|||
iewiki = default, |
|||
nlwiki = ' en néerlandais', |
|||
igwiki = default, |
|||
nnwiki = ' en norvégien nynorsk', |
|||
ilowiki = default, |
|||
nowiki = ' en norvégien', |
|||
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, |
|||
szlwiki = ' en silésien', |
|||
lawiki = 'en latin', |
|||
lbwiki = 'en luxembourgeois', |
|||
liwiki = 'en limbourgeois', |
|||
lijwiki = default, |
|||
lldwiki = default, |
|||
tlwiki = ' en tagalog', |
|||
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, |
|||
viwiki = ' en vietnamien', |
|||
miwiki = default, |
|||
vowiki = ' en volapük', |
|||
minwiki = default, |
|||
mkwiki = 'en macédonien', |
|||
mlwiki = 'en malayâlam', |
|||
mnwiki = 'en mongol', |
|||
mniwiki = default, |
|||
zhwiki = ' en chinois', |
|||
mrwiki = 'en marâthî', |
|||
mrjwiki = default, |
|||
zh_min_nanwiki = ' en minnan', |
|||
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 ) |
function p.badgesCategories( frame ) |
||
local |
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 entityId then |
|||
return '' |
|||
for siteid, linkTable in pairs( entity.sitelinks ) do |
|||
end |
|||
for i, badgeId in ipairs( entity.sitelinks[ siteid ].badges ) do |
|||
if badgesCategory[ badgeId ] then |
|||
for siteId, suffix in pairs( linkCategorySuffix ) do |
|||
local prefix = linkCategoryPrefix[ siteid ] or linkCategoryPrefix.default or '' |
|||
local badges = mw.wikibase.getBadges( entityId, siteId ) |
|||
for i, badgeId in ipairs( badges ) do |
|||
local suffix = linkCategorySuffix[ siteid ] or linkCategorySuffix.default or '' |
|||
if badgesCategory[ badgeId ] then |
|||
local category = string.format('[[:%s:%s]]', categoryNs, prefix .. main .. suffix ) |
|||
local main = badgesCategory[ badgeId ] |
|||
table.insert( wikitext, category ) |
|||
local category = string.format('[[%s:%s]]', categoryNs, main .. ' ' .. suffix ) |
|||
table.insert( wikitext, category ) |
|||
end |
|||
end |
end |
||
end |
|||
end |
end |
||
return table.concat( wikitext ) |
return table.concat( wikitext ) |
||
end |
end |
Dernière version du 11 mars 2023 à 22:50
[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 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