Module:R:map:ACD

local export = {}

function export.main(frame)

local args = require("Module:parameters").process(frame:getParent.args, {		entry = { }, [1] = { alias_of = "entry" },		id = { }, [2] = { alias_of = "id" },		display = { }, alt = { alias_of = "display" },		type = { },	})

local text

if args.entry then

local function format_numbers(str) return mw.ustring.gsub(str, "[1-9]$", {				["1"] = "₁", ["2"] = "₂", ["3"] = "₃",				["4"] = "₄", ["5"] = "₅", ["6"] = "₆",				["7"] = "₇", ["8"] = "₈", ["9"] = "₉",			}) end

local encoded_entry if (not args.id) then encoded_entry = mw.uri.encode(format_numbers(args.entry), "PATH") end

if not args.type or args.type == "s" then text = "“[https://acd.clld.org/cognatesets" .. (args.id					and "/" .. args.id					or "?sSearch_1=" .. encoded_entry) .. " *"		elseif args.type == "l" or args.type == "lo" then text = "loan “[https://acd.clld.org/" .. (args.id					and "formsets/" .. args.id					or "contributions/Loan?sSearch_0=" .. encoded_entry) .. " "		elseif args.type == "r" then text = "root “[https://acd.clld.org/" .. (args.id					and "formsets/Root-" .. args.id					or "contributions/Root?sSearch_0=" .. encoded_entry) .. " *-"		elseif args.type == "n" or args.type == "near" then text = "near cognates “[https://acd.clld.org/" .. (args.id					and "formsets/Near-" .. args.id					or "contributions/Near?sSearch_0=" .. encoded_entry) .. " "		elseif args.type == "noise" then text = "chance resemblances “[https://acd.clld.org/" .. (args.id					and "formsets/Noise-" .. args.id					or "contributions/Noise?sSearch_0=" .. encoded_entry) .. " "		end

text = text .. format_numbers(args.display or args.entry) .. "]”, in the "

else text = "" end

return "Blust, Robert; Trussel, Stephen; et al. (2023) " .. text .. "CLDF dataset from The Austronesian Comparative Dictionary (2010–), →DOI"

end

return export