Module:Endangered Languages Project

番版𠓨𣅶09:52、𣈜29𣎃4𢆥2024𧵑Keepout2010 (討論 | 㨂𢵰) (造張㵋貝內容「--Module:Endangered Languages Project -- local p = {} local elpf = "http://www.endangeredlanguages.com/lang/" -- or get P1630 local make_display = function(elpc,…」)
(恪) ←番版𫇰 | 番版㵋一 (恪) | 番版㵋→ (恪)

--[[ Module:Endangered Languages Project --]]

local p = {}

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

local make_display = function(elpc, elpn) return "[" .. elpf .. elpc .. " " .. elpn .. "]" end

local tidy_param = function(param) if param == "" then param = nil end return param end

p.make_entry = function(frame) 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()

local out = {} if elpcode and elpname then out[#out+1] = make_display(elpcode, elpname) else if qid then local props = mw.wikibase.getBestStatements(qid, "P2192") if props[1] then for i, v in ipairs(props) do local elpc = elpcode or v.mainsnak.datavalue and v.mainsnak.datavalue.value local elpn = elpname or v.qualifiers["P1810"][1].datavalue and v.qualifiers["P1810"][1].datavalue.value if elpc and elpn then out[#out+1] = make_display(elpc, elpn) end end elseif elpcode or elpname then return (elpcode or "") .. (elpname or "") .. "" end else if elpcode or elpname then return (elpcode or "") .. (elpname or "") .. "" end end end

local ret = "" if #out > 1 then ret = frame:expandTemplate{title = "ubl", args = out} else ret = out[1] end

return ret end

return p