Module:Endangered Languages Project Explained

local p =

local elpf = "https://www.endangeredlanguages.com/lang/" -- or get P1630

local tidy_param = function(param) if param

"" then param = nil end return paramend

p.make_entry = function(frame) local out = local make_display = function(elpc, elpn) if elpc and elpn then table.insert(out, "[" .. elpf .. elpc .. " " .. elpn .. "]") elseif elpc or elpn then table.insert(out, (elpc or "") .. (elpn or "") .. "") end end local elpname = tidy_param(frame.args.elpname) local elpcode = tidy_param(frame.args.elpcode) local qid = tidy_param((frame.args.qid or ""):upper) or mw.wikibase.getEntityIdForCurrentPage make_display(elpcode, elpname) if qid then local props = mw.wikibase.getBestStatements(qid, "P2192") if props[1] then for _, v in ipairs(props) do local elpc = v.mainsnak.datavalue and v.mainsnak.datavalue.value local elpn = v.qualifiers and v.qualifiers.P1810 and v.qualifiers.P1810[1].datavalue and v.qualifiers.P1810[1].datavalue.value make_display(elpc, elpn) end end end local ret = "" if #out > 1 then return frame:expandTemplate elseif #out

1 then return out[1] endend

return p