Dieses Modul dient vorrangig dazu Wiktionary:Statistik/Sprachenübersicht zu erzeugen. Man kann es aber auch anderweitig einsetzen, um eine Tabelle mit ausgewählten Sprachen zu erzeugen. Über einen weiteren Parameter wird eine weitere Spalte mit einem Link erzeugt, über den eine entsprechend benannte Unterseite erreicht wird, die dann mit detaillierteren Statistiken zur jeweiligen Sprache dienen kann. Mittels des Parameters Summe=1 wird am Ende der Tabelle eine Summe angezeigt.

Beispiel

{{#invoke:Sprachenübersicht|main|Russisch,Ukrainisch,Weißrussisch}}
Sprache/KategorieEinträgeProzent
Einträge gesamt1144246100,00 
1.Ukrainisch149971.31
2.Weißrussisch64610.56
3.Russisch35250.31

local p = {}
local raus = ""

function p.main(frame)
	args = frame.args
	args1 = {}
	if args[1] then s = args[1] 
		for w in (s..","):gmatch("([^,]+), *") do
			table.insert(args1, w)
		end
	end
	summe = 0

	Sprachen = args1 or { "Albanisch", "Altgriechisch", "Arabisch", "Armenisch", "Baskisch", "Bosnisch", "Bulgarisch", "Chinesisch", "Dänisch", "Deutsch", "Englisch", "Esperanto", "Estnisch", "Färöisch", "Finnisch", "Französisch", "Friaulisch", "Indonesisch", "Irisch", "Isländisch", "Italienisch", "Japanisch", "Katalanisch", "Koreanisch", "Krimtatarisch", "Kurdisch", "Latein", "Lettisch", "Litauisch", "Maori", "Mittellatein", "Neugriechisch", "Neulatein", "Niederländisch", "Norwegisch", "Obersorbisch", "Okzitanisch", "Persisch", "Plattdeutsch", "Polnisch", "Portugiesisch", "Prußisch", "Rumänisch", "Russisch", "Sardisch", "Schwedisch", "Serbisch", "Sesotho", "Slowakisch", "Spanisch", "Suaheli", "Sumerisch", "Türkisch", "Thai", "Tschechisch", "Ungarisch", "Venezianisch", "Walisisch", "Zentral-Nahuatl" }
	Uebersicht = { }
	Geszahl = mw.site.stats.articles
	
	local root = mw.html.create('table')
	root:addClass('wikitable sortable zebra centered') 
	root:css('text-align','right')
	tagtr = root:tag('tr')
		:tag('th')
		:tag('th')
			:wikitext('Sprache/Kategorie')		
		:tag('th')
			:wikitext('Einträge')		
		:tag('th')
			:addClass('unsortable')
			:wikitext('Prozent')		
        if args[2] then
                tagtr:tag('th')
			:addClass('unsortable')
			:wikitext(args[2])
        end
	tagtr = root:tag('tr')
		:addClass('unsortable')
		:tag('th')
		:tag('th')
			:wikitext('Einträge gesamt')		
		:tag('th')
			:wikitext(Geszahl)		
		:tag('th')
			:wikitext('100,00 ')		
        if args[2] then
                tagtr:tag('th')
			:addClass('unsortable')
			:wikitext(' ')
        end
	for k, Sprache in ipairs(Sprachen) do
		Uebersicht[k] = {k, mw.site.stats.pagesInCategory(Sprache,"pages")}
	end
	table.sort(Uebersicht, function (k1, k2) return k1[2]>k2[2] end )
	zaehler = 1
	for k,Ue in ipairs(Uebersicht) do
		link = mw.title.new("Kategorie:" .. Sprachen[Ue[1]])
		tagtr = root:tag('tr')
			:tag('td')
				:wikitext(zaehler .. ".")
			:tag('td')
				:css('text-align','left')
				-- :wikitext(string.format( "[%s %s]", tostring(link:fullUrl()), Sprachen[Ue[1]]))
				:wikitext("[[:Kategorie:" ..  Sprachen[Ue[1]] .. "|" ..  Sprachen[Ue[1]] .. "]]")
			:tag('td')
				:wikitext(Ue[2])
			:tag('td')
				:wikitext(string.format("%.2f",Ue[2]/Geszahl*100))
                if args[2] then
		        tagtr:tag('td')
			:addClass('unsortable')
			:css('text-align','left')
			:wikitext("[[" .. mw.title.getCurrentTitle().prefixedText .. "/" .. args[2] .. " (" .. Sprachen[Ue[1]] .. ")|" .. args[2] .. "]]")
                end
		zaehler = zaehler + 1
		summe = summe + Ue[2]
	end
        if frame.args.Summe then
	   tagtr = root:tag('tr')
		tagtr:tag('td')
			:wikitext("")
		tagtr:tag('td')
			:css('text-align','left')
			-- :wikitext(string.format( "[%s %s]", tostring(link:fullUrl()), Sprachen[Ue[1]]))
			:wikitext("'''Summe'''")
		tagtr:tag('td')
			:wikitext(summe)
		tagtr:tag('td')
			:wikitext(string.format("%.2f",summe/Geszahl*100))
        end
	return tostring(root)
end

return p