Module:siwa-headword: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
 
(35 intermediate revisions by the same user not shown)
Line 27: Line 27:
["at"] = "agentive transitive",
["at"] = "agentive transitive",
["imp"] = "impersonal",
["imp"] = "impersonal",
["pass"] = "passive",
["udit"] = "unagentive ditransitive",
["udit"] = "unagentive ditransitive",
["ui"] = "unagentive intransitive",
["ui"] = "unagentive intransitive",
Line 32: Line 33:
["ut"] = "unagentive transitive",
["ut"] = "unagentive transitive",
["utrans"] = "translative",
["utrans"] = "translative",
["?"] = "?",
}
}


Line 73: Line 75:
["decl"] = {},
["decl"] = {},
["cat2"] = {},
["cat2"] = {},
["cat3"] = {},
["sort"] = {},
["affix"] = {list = true},
}
}
local args = require("Module:parameters").process(args, params)
local args = require("Module:parameters").process(args, params)
data.heads = {args["head"]}
data.heads = {args["head"]}
data.affix = args["affix"]
table.insert(data.genders, gender_key[args[1]] or args[1])
table.insert(data.genders, gender_key[args[1]] or args[1])
Line 86: Line 92:
if args.decl then table.insert(data.categories, "Siwa " .. args.decl .. "-declension " .. data.pos_category) end
if args.decl then table.insert(data.categories, "Siwa " .. args.decl .. "-declension " .. data.pos_category) end
if args.cat2 then table.insert(data.categories, "Siwa " .. args["cat2"]) end
if args.cat2 then table.insert(data.categories, "Siwa " .. args["cat2"]) end
if args.cat3 then table.insert(data.categories, "Siwa " .. args["cat3"]) end
data.sort_key = args.sort
data.sort_key = args["sort"] or nil
end
end


Line 99: Line 106:
[2] = {list = "inf", required = true},
[2] = {list = "inf", required = true},
[3] = {list = "p", required = true},
[3] = {list = "p", required = true},
[4] = {type = "boolean"},
["head"] = {},
["head"] = {},
["cat2"] = {},
["sort"] = {},
["sort"] = {},
["affix"] = {list = true},
}
}
Line 107: Line 117:
for n, kind in ipairs(mw.text.split(args[1], "/")) do
for n, kind in ipairs(mw.text.split(args[1], "/")) do
data.inflections[n] = {nil}
if kind ~= "?" then
data.inflections[n].label = verb_key[kind]
data.inflections[n] = {nil}
table.insert(data.categories, "Siwa " .. verb_key[kind] .. " verbs")
data.inflections[n].label = verb_key[kind]
table.insert(data.categories, "Siwa " .. verb_key[kind] .. " verbs")
end
end
end
args[2].label = "infinitive"
args[2].label = "infinitive"
table.insert(data.inflections, args[2])
args[3].label = "past"
args[3].label = "past"
table.insert(data.inflections, args[2])
table.insert(data.inflections, args[3])
table.insert(data.inflections, args[3])
data.sort_key = args.sort
if args[4] then table.insert(data.categories, "Siwa irregular verbs") end
if args.cat2 then table.insert(data.categories, "Siwa " .. args["cat2"]) end
if args[1] == "?" or args[2] == "?" or args[3] == "?" then table.insert(data.categories, "Contionary stubs") end
data.sort_key = args["sort"] or nil
data.affix = args["affix"]
end
end


return export
return export

Navigation menu