Module:tln-headword: Difference between revisions

Nehster9 (talk | contribs)
mNo edit summary
Nehster9 (talk | contribs)
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 55: Line 55:
-- =========================
-- =========================
function p.verb(frame)
function p.verb(frame)
     local args = get_args(frame)
     local args = frame:getParent().args
     local title = mw.title.getCurrentTitle().text
     local title = mw.title.getCurrentTitle().text


     local rom = args.rom or ""
     local rom = args.rom or ""
     local past = args.past or ""
 
     local pres1 = args.pres1 or ""
    local past1 = args.past1 or ""
    local part = args.part or ""
 
    local pres1rom = args.pres1rom or ""
    local past1rom = args.past1rom or ""
    local partrom = args.partrom or ""
 
    local function format_form(form, rom_form)
        if form == "" then
            return ""
        end
 
        local out = "'''[[" .. form .. "]]'''"
 
        if rom_form and rom_form ~= "" then
            out = out .. " (" .. rom_form .. ")"
        end
 
        return out
    end


     local text = "'''" .. title .. "'''"
     local text = "'''" .. title .. "'''"
    text = text .. format_rom(rom)


     text = text .. " ''v.''"
     if rom ~= "" then
        text = text .. " • (" .. rom .. ")"
    end
 
    local parts = {}
 
    if pres1 ~= "" then
        table.insert(parts, "first-person singular present " .. format_form(pres1, pres1rom))
    end
 
    if past1 ~= "" then
        table.insert(parts, "first-person singular past " .. format_form(past1, past1rom))
    end
 
    if part ~= "" then
        table.insert(parts, "past participle " .. format_form(part, partrom))
    end


     if past ~= "" then
     if #parts > 0 then
         text = text .. ", past '''" .. past .. "'''"
         text = text .. " (" .. table.concat(parts, ", ") .. ")"
     end
     end