وحدة:object usage
المظهر
local export = {}
local function parse_form(args, i, default)
local m_form_data = mw.loadData('Module:form of/data')
local output = {}
while args[i] do
local tag = args[i]
if m_form_data.shortcuts[tag] then
tag = m_form_data.shortcuts[tag]
end
table.insert(output, tag)
i = i + 1
end
return (#output > 0) and table.concat(output, " ") or default
end
function export.show_bare(frame)
local pargs = frame:getParent().args
local lang = pargs[1] or (mw.title.getCurrentTitle().nsText == "Template" and "und") or error("Parameter 1 (language code) has not been specified.")
local means = pargs["means"] or (mw.title.getCurrentTitle().nsText == "Template" and "meaning") or nil
lang = require('Module:languages').getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.")
return "[+ (" .. parse_form(pargs, 2, "object") .. ")" .. (means and (" = " .. means) or "") .. "]"
end
function export.show_prep(frame)
local pargs = frame:getParent().args
local lang = pargs[1] or (mw.title.getCurrentTitle().nsText == "Template" and "und") or error("Parameter 1 (language code) has not been specified.")
local means = pargs["means"] or (mw.title.getCurrentTitle().nsText == "Template" and "meaning") or nil
local term = pargs[2] or (mw.title.getCurrentTitle().nsText == "Template" and "preposition"); if term == "" then term = nil end
local alt = pargs["alt"]; if alt == "" then alt = nil end
local senseid = pargs["senseid"]; if senseid == "" then senseid = nil end
lang = require('Module:languages').getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.")
return "[+ <bdi>" .. require('Module:links').full_link(term, alt, lang, nil, "term", senseid, { tr = "-" }, false) .. " <bdi>(" .. parse_form(pargs, 3, "object") .. ")</bdi></bdi>" .. (means and (" = " .. means) or "") .. "]"
end
function export.show_postp(frame)
local pargs = frame:getParent().args
local lang = pargs[1] or (mw.title.getCurrentTitle().nsText == "Template" and "und") or error("Parameter 1 (language code) has not been specified.")
local means = pargs["means"] or (mw.title.getCurrentTitle().nsText == "Template" and "meaning") or nil
local term = pargs[2] or (mw.title.getCurrentTitle().nsText == "Template" and "postposition"); if term == "" then term = nil end
local alt = pargs["alt"]; if alt == "" then alt = nil end
local senseid = pargs["senseid"]; if senseid == "" then senseid = nil end
lang = require('Module:languages').getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.")
return "[+ <bdi><bdi>(" .. parse_form(pargs, 3, "object") .. ")</bdi> " .. require('Module:links').full_link(term, alt, lang, nil, "term", senseid, { tr = "-" }, false) .. "</bdi>" .. (means and (" = " .. means) or "") .. "]"
end
return export