Module:form of/templates: difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
m neatened code |
No edit summary |
||
Line 97: | Line 97: | ||
[1] = {required = true}, |
[1] = {required = true}, |
||
[2] = {}, |
[2] = {}, |
||
[3] = {list = true}, |
[3] = {list = true, required = true}, |
||
["gloss"] = {}, |
["gloss"] = {}, |
Revision as of 11:04, 4 September 2017
- The following documentation is located at Module:form of/templates/documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
export.template_tags
function export.template_tags(frame)
This function lacks documentation. Please add a description of its usages, inputs and outputs, or its difference from similar functions, or make it local to remove it from the function list.
export.form_of_t
function export.form_of_t(frame)
This function lacks documentation. Please add a description of its usages, inputs and outputs, or its difference from similar functions, or make it local to remove it from the function list.
export.inflection_of_t
function export.inflection_of_t(frame)
This function lacks documentation. Please add a description of its usages, inputs and outputs, or its difference from similar functions, or make it local to remove it from the function list.
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"] = {},
}
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"]})
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"] = {},
}
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"]
}
)
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"] = {},
}
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"]
}
)
end
return export