跳转到内容

模組:Endangered Languages Project

被永久保护的模块
维基百科,自由的百科全书

这是Module:Endangered Languages Project当前版本,由Xiplus-abot留言 | 贡献编辑于2021年10月18日 (一) 00:05 (已保护“Module:Endangered Languages Project”:高風險模板:826引用<!-- 機器人3 -->([编辑=仅允许自动确认用户](无限期)[移动=仅允许自动确认用户](无限期)))。这个网址是本页该版本的固定链接。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)

--[[
	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 "") --.. "[[Category:Language articles with missing ELP parameters]]"
			end
		else
			if elpcode or elpname then
				return (elpcode or "") .. (elpname or "") --.. "[[Category:Language articles with missing ELP parameters]]"
			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