Module:NUMBEROFGROUP/data
Data retrieval from Commons using Module:NUMBEROF/data. Invoked by Module:NUMBEROFGROUP one time per page.
local groups = {
-- ine: Indo-European
gem = {"en", "de", "nl", "sv", "no", "da", "nn", "simple", "lb", "is", "fy", "af", "nds", "als", "yi", "li", "sco", "fo", "nds-nl", "vls", "bar", "ang", "ksh", "stq", "pdc", "frr", "pfl", "zea", "got"},
itc = {"fr", "it", "es", "pt", "ca", "ro", "gl", "roa-rup", "la", "nap", "pms", "oc", "an", "lmo", "scn", "ast", "wa", "vec", "roa-tara", "co", "nrm", "rm", "fur", "lij", "lad", "sc", "frp", "ext", "pcd", "eml", "mwl", "mo", "lld"},
sla = {"ru", "pl", "uk", "sr", "cs", "sh", "bg", "sk", "hr", "be", "sl", "mk", "bs", "be-tarask", "szl", "hsb", "rue", "rsk", "csb", "dsb", "cu"},
iir = {"fa", "tg", "diq", "ku", "ckb", "mzn", "os", "ps", "lrc", "glk", "tly"},
inc = {"hi", "mr", "bpy", "bn", "gu", "ur", "ne", "pnb", "sa", "si", "dv", "hif", "bh", "pi", "pa", "or", "rmy", "as", "sd", "ks", "mai", "gom", "awa", "skr", "dty", "anp"},
bat = {"lt", "lv", "bat-smg", "ltg"},
cel = {"br", "cy", "ga", "gd", "gv", "kw"},
hyx = {"hy", "hyw"},
grk = {"el", "pnt"},
sqj = {"sq"},
-- map: Austronesian
phi = {"ceb", "war", "tl", "ilo", "gor", "bcl", "pam", "pag"},
["poz--phi"] = {"iba", "id", "ms", "min", "jv", "su", "bug", "map-bms", "ace", "bjn", "ch", "kge", "mad", "ban", "nia", "mg", "bbc", "btm", "bdr"},
fox = {"szy", "tay", "trv", "ami", "pwn"},
Polynesian = {"dtp", "mi", "haw", "to", "ty", "sm"},
Micronesian = {"na", "mh"},
["East Fijian"] = {"fj"},
["Timor-Babar"] = {"tet"},
["Papuan Tip"] = {"ho"},
-- afa: Afroasiatic
sem = {"ar", "he", "am", "arz", "mt", "arc", "ti", "ary"},
cdc = {"ha"},
cus = {"so", "om", "aa"},
ber = {"kab", "shi", "zgh"},
-- sit: Sino-Tibetan
zhx = {"zh", "zh-yue", "zh-min-nan", "gan", "wuu", "zh-classical", "hak", "cdo"},
tbq = {"new", "mni", "my", "bo", "dz", "ii", "blk"},
-- trk: Turkic
["Common Turkic"] = {"tr", "az", "kk", "tt", "uz", "sah", "tk", "ug", "krc", "crh", "ky", "ba", "gag", "kaa", "azb", "tyv", "alt"},
Oghur = {"cv"},
-- urj: Uralic
fiu = {"hu", "et", "mrj", "mhr", "se", "vep", "myv", "fiu-vro", "kv", "udm", "koi", "olo", "smn", "mdf", "fi"},
-- aav: Austroasiatic
mkh = {"vi", "km", "mnw"},
mun = {"sat"},
-- Japonic
jpx = {"ja"},
-- Koreanic
Koreanic = {"ko"},
-- Constructed
art = {"eo", "vo", "io", "ia", "nov", "ie", "jbo", "lfn", "avk"},
-- Vasconic
euq = {"eu"},
-- ccn: North Caucasian
["ccn-e"] = {"ce", "lbe", "av", "lez", "inh"},
["ccn-w"] = {"ab", "kbd", "ady"},
-- Dravidian
dra = {"te", "ta", "mi", "kn", "tcy"},
-- Kartvelian
ccs = {"ka", "xmf"},
-- Kra-Dai
tai = {"th", "lo", "za", "shn", "tdd"},
-- nic: Niger-Congo
bnt = {"sw", "rw", "ln", "kg", "nr", "ss", "zu", "ve", "ts", "rn", "tum", "lg", "ny", "st", "xh", "tn", "ki", "sn", "ng", "kj", "hz", "nso"},
Yoruboid = {"yo", "igl"},
alv = {"ann", "kbp", "wo", "ff", "dag", "dga", "gur", "guw", "kcg", "kus", "mos"},
Kwa = {"ee", "ak", "tw", "fat", "fon", "guw"},
Igboid = {"ig"},
dmn = {"bm", "nqo"},
Ubangian = {"sg"},
-- crp: Creole
cpf = {"ht", "gcr"},
cpe = {"tpi", "srn", "bi", "pih", "jam", "pcm", "gpe"},
cpp = {"pap"},
["Malay-Creoles"] = {"bew"},
["Spanish-Creoles"] = {"cbk-zam"},
-- xgn: Mongolic
["Central Mongolic"] = {"mn", "xal", "bxr"},
-- Quechuan
qwe = {"qu"},
-- Dene-Yeniseian
xnd = {"nv"},
-- Uto-Aztecan
azc = {"nah"},
-- Aymaran
Aymaran = {"ay"},
-- Je-Tupi-Carib
tup = {"gn"},
-- Algic
alg = {"cr", "chy", "atj"},
-- Eskimo-Aleut
esx = {"kl", "ik", "iu"},
-- Iroquoian
iro = {"chr"},
-- Arawakan
awd = {"guc"},
-- ssa: Nilo-Saharan
Nilotic = {"din"},
Saharan = {"kr"},
--Muskogean
Muskogean = {"cho", "mus"},
total = {"total"}
}
local langData = mw.loadData("Module:NUMBEROF/data")
local langMap = langData.map
langData = langData.data
local groupData = {}
for family, languages in pairs(groups) do
local i = 1
local myData = {}
while i < 8 do
local total = 0
for _, language in pairs(languages) do
local myLangData = langData[language .. ".wikipedia"];
if myLangData ~= nil then
total = total + myLangData[i];
end
end
myData[i] = total
i = i + 1;
end
groupData[family] = myData
end
-- This should not be needed ...
local mapClone = {}
for k, v in pairs(langMap) do
mapClone[k] = v
end
return {
data = groupData,
map = mapClone
}