Module:catégorie langue
Apparence
La documentation pour ce module peut être créée à Module:catégorie langue/Documentation
b = require('Module:bases')
l = require('Module:langues')
local p = {}
function p.categorie_langue(frame)
local args = frame:getParent().args
local cat = args[1] or mw.title.getCurrentTitle().text
local nom_affiche = args[2] or cat
-- number of pages in a category. Expensive function call
local pages_in_cat = mw.site.stats.pagesInCategory( cat, 'pages' )
-- objet Language utilisé pour convertir au pluriel
local fr = mw.language.new( 'fr' )
local categories = {} -- table qui contient toutes les catégories
local texte = '[[:Catégorie:' .. cat .. '|' .. fr:formatNum( pages_in_cat )
.. ' ' .. fr:convertPlural( pages_in_cat, 'entrée', 'entrées' )
.. ' en ' .. nom_affiche .. ']]'
.. ' dans le Wiktionnaire [[Image:Structure_du_site_icône.svg|20px|dans la catégorie|link=]]'
-- nocat ?
local nocat = args['nocat']
if nocat then return texte end
-- ajout cat générale "Langues en <lang>"
local lang = args['lang'] or 'fr'
local nom_lang = l.get_nom(lang)
-- ajout cats spécifiques si paramètres spéc1, ..., spéc10
local spec = args[3] or args['spéc'] or args['spéc1']
local specNo = 1
if not spec then
local categorie = b.fait_categorie_contenu( 'Langues en ' .. nom_lang)
table.insert( categories, categorie )
else
while spec do
cat_name = 'Langues ' .. spec .. ' en ' .. nom_lang
local categorie = b.fait_categorie_contenu( cat_name )
table.insert( categories, categorie )
specNo = specNo + 1
spec = args['spéc'..specNo]
end
end
local texte_categories = table.concat(categories)
return texte .. texte_categories
end
return p