Module:Form of/templates
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Form of/templates/doc
local export = {}
function export.template_tags(frame)
local iparams = {
[1] = {list = true, required = true},
["cat"] = {},
}
local iargs = require("Module:parameters").process(frame.args, iparams)
local params = {
[1] = {required = true},
[2] = {},
[3] = {alias_of = "gloss"},
["gloss"] = {},
["t"] = {alias_of = "gloss"},
["id"] = {},
["lang"] = {required = true},
["nodot"] = {type = "boolean"}, -- does nothing right now, but used in existing entries
["sc"] = {},
["tr"] = {},
["ts"] = {},
}
if iargs["cat"] then
params["nocat"] = {type = "boolean"}
params["sort"] = {}
end
local args = require("Module:parameters").process(frame:getParent().args, params)
local lang = args["lang"] or "und"
local sc = args["sc"]
lang = require("Module:languages").getByCode(lang) or require("Module:languages").err(lang, "lang")
sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil)
if #iargs[1] == 1 and iargs[1][1] == "f" then
require("Module:debug").track("feminine of/" .. lang:getCode())
end
local ret = require("Module:form of").tagged_inflections(iargs[1], {lang = lang, sc = sc, term = args[1] or "term", alt = args[2], id = args["id"], gloss = args["gloss"], tr = args["tr"], ts = args["ts"]})
if iargs["cat"] then
if args["nocat"] then
require("Module:debug").track("form of/" .. table.concat(iargs[1], "-") .. "/nocat")
else
require("Module:debug").track("form of/" .. table.concat(iargs[1], "-") .. "/cat")
ret = ret .. require("Module:utilities").format_categories({lang:getCanonicalName() .. " " .. iargs["cat"]}, lang, args["sort"])
end
end
return ret
end
function export.form_of_t(frame)
local params = {
[1] = {required = true},
[2] = {required = true},
[3] = {},
[4] = {alias_of = "gloss"},
["dot"] = {},
["gloss"] = {},
["t"] = {alias_of = "gloss"},
["id"] = {},
["lang"] = {required = lang == nil},
["nodot"] = {type = "boolean"},
["sc"] = {},
["tr"] = {},
["ts"] = {},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local lang = args["lang"] or "und"
local sc = sc or args["sc"]
lang = require("Module:languages").getByCode(lang) or require("Module:languages").err(lang, "lang")
sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil)
return require("Module:form of").format_t(
(args[1] or "form") .. " of",
{
lang = lang,
sc = sc,
term = args[2] or "term",
alt = args[3],
id = args["id"],
gloss = args["gloss"],
tr = args["tr"],
ts = args["ts"],
}
)
end
function export.inflection_of_t(frame)
local params = {
[1] = {required = true},
[2] = {},
[3] = {list = true, required = true},
["gloss"] = {},
["t"] = {alias_of = "gloss"},
["id"] = {},
["lang"] = {required = true},
["nocap"] = {type = "boolean"},
["nocat"] = {type = "boolean"},
["nodot"] = {type = "boolean"},
["pos"] = {},
["sc"] = {},
["tr"] = {},
["ts"] = {},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local lang = args["lang"] or "und"
local sc = args["sc"]
lang = require("Module:languages").getByCode(lang) or
require("Module:languages").err(lang, "lang")
sc = (sc and (require("Module:scripts").getByCode(sc) or
error("The script code \"" .. sc .. "\" is not valid.")) or nil)
return require("Module:form of").tagged_inflections(
args[3],
{
lang = lang,
sc = sc,
term = args[1] or "term",
alt = args[2],
id = args["id"],
gloss = args["gloss"],
pos = args["pos"],
tr = args["tr"],
ts = args["ts"],
}
)
end
return export