Module:Links/templates

local m_links = require("Module:links")

local export = {}

local params = { [1] = {required = true}, [2] = {},	[3] = {},	[4] = {alias_of = "gloss"}, ["g"] = {list = true}, ["gloss"] = {}, ["id"] = {}, ["lit"] = {}, ["pos"] = {}, ["tr"] = {}, ["sc"] = {}, }

-- Used in Template:l and Template:m function export.l_term_t(frame) local face = frame.args["face"] local allowSelfLink = frame.args["notself"]; allowSelfLink = not allowSelfLink or allowSelfLink == "" local params = mw.clone(params) -- Compatibility mode for undefined:. -- If given a nonempty value, the function uses lang= to specify the -- language, and all the positional parameters shift one number lower. local compat = (frame.args["compat"] or "") ~= "" if compat then params["lang"] = {}, table.remove(params, 1) end local args = require("Module:parameters").process(frame:getParent.args, params) local lang = args[compat and "lang" or 1] -- Tracking for missing language or und if not lang then require("Module:debug").track("link/no lang") elseif lang == "und" then require("Module:debug").track("link/und") end lang = lang or "und" local sc = args["sc"] local term = args[(compat and 1 or 2)] local alt = args[(compat and 2 or 3)] local id = args["id"] local tr = args["tr"] local gloss = args["gloss"] local pos = args["pos"] local lit = args["lit"] local genders = args["g"] -- Check parameters lang = require("Module:languages").getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.") sc = (sc and (require("Module:scripts").getByCode(sc) or error("The script code \"" .. sc .. "\" is not valid.")) or nil) if not term and not alt and mw.title.getCurrentTitle.nsText == "Template" then term = "term" end -- Forward the information to full_link return m_links.full_link(term, alt, lang, sc, face, id, {tr = tr, genders = genders, gloss = gloss, pos = pos, lit = lit}, allowSelfLink) end

function export.ll(frame) local args = frame:getParent.args local allowSelfLink = args["notself"]; allowSelfLink = not allowSelfLink or allowSelfLink == "" local lang = args[1] lang = require("Module:languages").getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.") local text = args[2] local alt = args[3] if text == "" then return alt or "" end if alt == "" then alt = nil end local id = args["id"]; if id == "" then id = nil end return m_links.language_link(text, alt, lang, id, allowSelfLink) end

return export