Module:etymology/templates/internal

-- For internal use only with Module:etymology/templates and its submodules. local process_params = require("Module:parameters").process

local export = {}

do local function get_params(frame, has_text, no_family) local alias_of_t = {alias_of = "t"} local boolean = {type = "boolean"} local plain = {} local params = { [1] = {				required = true, type = "language", default = "und" },			[2] = {				required = true, sublist = true, type = "language", family = not no_family, default = "und" },			[3] = plain, [4] = {alias_of = "alt"}, [5] = alias_of_t, ["alt"] = plain, ["cat"] = plain, ["g"] = {list = true}, ["gloss"] = alias_of_t, ["id"] = plain, ["lit"] = plain, ["pos"] = plain, ["t"] = plain, ["tr"] = plain, ["ts"] = plain, ["sc"] = {type = "script"}, ["senseid"] = plain, ["nocat"] = boolean, ["sort"] = plain, ["conj"] = plain, }		if has_text then params["notext"] = boolean params["nocap"] = boolean end return process_params(frame:getParent.args, params) end function export.parse_2_lang_args(frame, has_text, no_family) local args = get_params(frame, has_text, no_family) local sources = args[2] return args, args[1], { lang = sources[#sources], sc = args["sc"], term = args[3], alt = args["alt"], id = args["id"], genders = args["g"], tr = args["tr"], ts = args["ts"], gloss = args["t"], pos = args["pos"], lit = args["lit"] }, #sources > 1 and sources or nil end end

return export