Module:da-adjectives

local m_utilities = require("Module:utilities") local m_links = require("Module:links")

local export = {}

local lang = require("Module:languages").getByCode("da")

local function postprocess(args, data) -- Check if the lemma form matches the page name if (lang:makeEntryName(data.forms["pos_indf_c_sg"][1])) ~= mw.title.getCurrentTitle.text then table.insert(data.categories, lang:getCanonicalName .. " entries with inflection not matching pagename") end end

--[=[	Inflection functions ]=]--

function export.reg(frame) local params = { [1] = {},		[2] = {}		}	local args = require("Module:parameters").process(frame:getParent.args, params) local data = {forms = {}, info = nil, categories = {}} local base = mw.title.getCurrentTitle.subpageText local t = base .. "t" local e = (args[1] or base) .. "e" local comp local sup local supe if mw.ustring.find(base, "[et]$") or mw.ustring.find(base, "sk$") then t = base end if mw.ustring.find(base, "e$") then e = base end if args[2] == "peri" then comp = "mere " .. base .. "" sup = "mest " .. base .. "" supe = "mest " .. e .. "" elseif args[2] == "st" then comp = (args[1] or base) .. "ere" sup = base .. "st" supe = base .. "ste" elseif args[2] == "est" then comp = (args[1] or base) .. "ere" sup = (args[1] or base) .. "est" supe = (args[1] or base) .. "este" end data.forms["pos_indf_c_sg"] = {base} data.forms["pos_indf_n_sg"] = {t} data.forms["pos_indf_pl"]   = {e} data.forms["pos_defn"]      = {e} data.forms["comp_indf_c_sg"] = {comp} data.forms["comp_indf_n_sg"] = {comp} data.forms["comp_indf_pl"]  = {comp} data.forms["comp_defn"]     = {comp} data.forms["sup_indf_c_sg"] = {sup} data.forms["sup_indf_n_sg"] = {sup} data.forms["sup_indf_pl"]   = {sup} data.forms["sup_defn"]      = {supe} postprocess(args, data) return make_table(data) end

-- Make the table function make_table(data) local function repl(param) if param == "info" then return data.info and " (" .. mw.getContentLanguage:ucfirst(data.info or "") .. ")" or "" elseif param == "lemma" then return m_links.full_link({lang = lang, alt = mw.title.getCurrentTitle.text}, "term") end local form = data.forms[param] if not form or #form == 0 then return "&mdash;" end local ret = {} for key, subform in ipairs(form) do			table.insert(ret, m_links.full_link({lang = lang, term = subform})) end return table.concat(ret, ", ") end local wikicode = [=[ return mw.ustring.gsub(wikicode, "", repl) .. m_utilities.format_categories(data.categories, lang) end

return export