Difference between revisions 40127 and 40128 on test2wiki-- This is a test of scribbling. Using Italian templates from en.wiktionary. -- Owner SemperBlotto local p = {} function p.itadj(frame) local pframe = frame:getParent() local args = pframe.args local stem = args[1] or error("1st parameter (stem of adjective) missing!") local end1 = args[2] local headword = "'''" .. stem -- no ending vowel parameters - generate default if end1 == nil then headword = "'''" .. stem .. "o''' ''m'' (''f'' [[" .. stem .. "a]], ''m plural'' " headword = headword .. "[[" .. stem .."i]], ''f plural'' [[" .. stem .. "e]])" return headword end local end2 = args[3] or error("Either 0, 2 or 4 vowel endings should be supplied!") local end3 = args[4] -- 2 ending vowel parameters - m and f are identical if end3 == nil then headword = "'''" .. stem .. end1 .. "''' ''m and f'' ( ''m and f plural'' [[" headword = headword .. stem .. end2 .. "]])" return headword end -- 4 ending vowel parameters - specify exactly local end4 = args[5] or error("Either 0, 2 or 4 vowel endings should be supplied!") headword = "'''" .. stem .. end1 .. "''' ''m'' (''f'' [[" .. stem .. end2 .. "]], ''m plural'' [[" headword = headword .. stem .. end3 .. "]], ''f plural'', [[" .. stem .. end4 .. "]])" return headword end function p.itadv(frame) local pframe = frame:getParent() local config = frame.args local args = pframe.args local head = args["head"] local pagename = head or ("'''" .. config.pagename .. "'''") local sort = args["sort"] local cat if sort ~= nil then cat = "[[category:Italian adverbs|" .. sort .. "]]" else cat = "[[category:Italian adverbs]]" end return pagename .. cat end function p.itnoun(frame) local pframe = frame:getParent() local args = pframe.args local stem = args[1] or error("1st parameter (stem of noun) missing!") local gender = args[2] or error("2nd parameter (gender) missing!") local singular = args[3] or error("3rd parameter (singular ending) missing!") local plural = args[4] or error("4th parameter (plural ending) missing!") local headword = "'''" .. stem .. singular .. "''' ''" .. gender .. "'' (''plural'' [[" .. stem .. plural .. "]]" -- if masculine, test for added feminine (and similarly if feminine, test for added masculine) if gender == "m" then local f = args["f"] if f ~= nil then headword = headword .. ", ''feminine singular'' [[" .. f .."]]" end elseif gender == "f" then local m = args["m"] if m ~= nil then headword = headword .. ", ''masculine singular'' [[" .. m .."]]" end else error(gender .. " is an invalid gender.") end headword = headword .. ")" local sort = args["sort"] local cat if sort ~= nil then cat = "[[category:Italian nouns|" .. sort .. "]]" else cat = "[[category:Italian nouns]]" end return headword .. cat end function p.wiki(x) -- For use within p.itconj function. -- Wikifies term, converting nils to single spaces (for ease of concatenation). if x == nil then return " " end return "[[" .. x .. "]]" end function p.alts(x,y) -- For use within p.itconj function. -- Adds alternate forms with a comma in between. if y ~= " " then return x .. ", " .. y end return x end function p.itconj(frame) -- This function builds pretty tables for Italian verb conjugation. -- It is called by other templates/functions for regular verbs, and called directly for some irregular ones. local pframe = frame:getParent() local args = pframe.args local inf = args["inf"] or error("Infinitive missing!") local aux = args["aux"] or " " -- Get all the inflected forms and their alternative forms (at least 1 alt each) local ger = p.wiki(args["ger"]) local ger2 = p.wiki(args["ger2"]) ger = p.alts(ger, ger2) local presp = p.wiki(args["presp"]) local presp2 = p.wiki(args["presp2"]) presp = p.alts(presp, presp2) local pastp = p.wiki(args["pastp"]) local pastp2 = p.wiki(args["pastp2"]); local pastp3 = p.wiki(args["pastp3"]); local pastp3 = p.wiki(args["pastp3"]); local pastp4 = p.wiki(args["pastp4"]) pastp = p.alts(pastp, pastp2) pastp = p.alts(pastp, pastp3) pastp = p.alts(pastp, pastp4) local pres1s = p.wiki(args["pres1s"]); local pres2s = p.wiki(args["pres2s"]); local pres3s = p.wiki(args["pres3s"]) local pres1p = p.wiki(args["pres1p"]); local pres2p = p.wiki(args["pres2p"]); local pres3p = p.wiki(args["pres3p"]) local pres1s2 = p.wiki(args["pres1s2"]); local pres2s2 = p.wiki(args["pres2s2"]); local pres3s2 = p.wiki(args["pres3s2"]) local pres1p2 = p.wiki(args["pres1p2"]); local pres2p2 = p.wiki(args["pres2p2"]); local pres3p2 = p.wiki(args["pres3p2"]) pres1s = p.alts(pres1s, pres1s2); pres2s = p.alts(pres2s, pres2s2); pres3s = p.alts(pres3s, pres3s2) pres1p = p.alts(pres1p, pres1p2); pres2p = p.alts(pres2p, pres2p2); pres3p = p.alts(pres3p, pres3p2) local imperf1s = p.wiki(args["imperf1s"]); local imperf2s = p.wiki(args["imperf2s"]); local imperf3s = p.wiki(args["imperf3s"]) local imperf1p = p.wiki(args["imperf1p"]); local imperf2p = p.wiki(args["imperf2p"]); local imperf3p = p.wiki(args["imperf3p"]) local imperf1s2 = p.wiki(args["imperf1s2"]); local imperf2s2 = p.wiki(args["imperf2s2"]); local imperf3s2 = p.wiki(args["imperf3s2"]) local imperf1p2 = p.wiki(args["imperf1p2"]); local imperf2p2 = p.wiki(args["imperf2p2"]); local imperf3p2 = p.wiki(args["imperf3p2"]) imperf1s = p.alts(imperf1s, imperf1s2); imperf2s = p.alts(imperf2s, imperf2s2); imperf3s = p.alts(imperf3s, imperf3s2) imperf1p = p.alts(imperf1p, imperf1p2); imperf2p = p.alts(imperf2p, imperf2p2); imperf3p = p.alts(imperf3p, imperf3p2) local prem1s = p.wiki(args["prem1s"]); local prem2s = p.wiki(args["prem2s"]); local prem3s = p.wiki(args["prem3s"]) local prem1p = p.wiki(args["prem1p"]); local prem2p = p.wiki(args["prem2p"]); local prem3p = p.wiki(args["prem3p"]) prem1s = p.alts(prem1s, prem1s2);⏎ ⏎ prem2s = p.alts(prem2s, prem2s2);⏎ ⏎ prem3s = p.alts(prem3s, prem3s2) prem1p = p.alts(prem1p, prem1p2); prem2p = p.alts(prem2p, prem2p2); prem3p = p.alts(prem3p, prem3p2) -- See if reflexive local mi = args["mi"] or " "; local ti = args["ti"] or " "; local si = args["si"] or " "; local ci = args["ci"] or " "; local vi = args["vi"] or " " if mi ~= nil then mi = mi .. " "; ti = ti .." "; si = si .. " "; ci = ci .. " "; vi = vi .. " "; end -- Start to build pretty table local conj = '<div class="NavFrame">\n' conj = conj .. '<div class="NavHead" align=left> Conjugation of ' .. inf .. '</div>\n' conj = conj .. '<div class="NavContent">\n' conj = conj .. '{| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px" class="inflection-table"\n' conj = conj .. '|-\n' conj = conj .. '! colspan="1" style="background:#e2e4c0" | infinitive\n' conj = conj .. '| colspan="1" | ' .. inf .. '\n' conj = conj .. '|-\n' conj = conj .. '! colspan="2" style="background:#e2e4c0" | auxiliary verb\n' conj = conj .. '| colspan="1" | ' .. aux ..'\n' conj = conj .. '! colspan="2" style="background:#e2e4c0" | gerund\n' conj = conj .. '| colspan="2" | ' .. ger .. '\n' conj = conj .. '|-\n! colspan="2" style="background:#e2e4c0" | present participle\n' conj = conj .. '| colspan="1" | ' .. presp .. '\n' conj = conj .. '! colspan="2" style="background:#e2e4c0" | past participle\n' conj = conj .. '| colspan="2" | ' .. pastp .. '\n' conj = conj .. '|-\n! colspan="1" rowspan="2" style="background:#C0C0C0" | person\n' conj = conj .. '! colspan="3" style="background:#C0C0C0" | singular\n' conj = conj .. '! colspan="3" style="background:#C0C0C0" | plural\n' conj = conj .. '|-\n! style="background:#C0C0C0;width:12.5%" | first\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | second\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | third\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | first\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | second\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | third\n' conj = conj .. '|-\n! style="background:#c0cfe4" colspan="1" | indicative\n' conj = conj .. '! style="background:#c0cfe4" | io\n' conj = conj .. '! style="background:#c0cfe4" | tu\n' conj = conj .. '! style="background:#c0cfe4" | lui/lei\n' conj = conj .. '! style="background:#c0cfe4" | noi\n' conj = conj .. '! style="background:#c0cfe4" | voi\n' conj = conj .. '! style="background:#c0cfe4" | essi/esse\n|-\n' conj = conj .. '! style="height:3em;background:#c0cfe4" colspan="1" | present\n' conj = conj .. '|' .. mi .. pres1s .. '\n|' .. ti .. pres2s .. '\n|' .. si .. pres3s .. '\n|' .. ci .. pres1p .. '\n|' .. vi .. pres2p .. '\n|' .. si .. pres3p .. '\n' conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | imperfect\n' conj = conj .. '|' .. mi .. imperf1s .. '\n|' .. ti .. imperf2s .. '\n|' .. si .. imperf3s .. '\n|' .. ci .. imperf1p .. '\n|' .. vi .. imperf2p .. '\n|' .. si .. imperf3p .. '\n' conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | past historic\n' conj = conj .. '|' .. mi .. prem1s .. '\n|' .. ti .. prem2s .. '\n|' .. si .. prem3s .. '\n|' .. ci .. prem1p .. '\n|' .. vi .. prem2p .. '\n|' .. si .. prem3p .. '\n' conj = conj .. '|-\n' conj = conj .. '|}</div></div>' return conj end return p All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://test2.wikipedia.org/w/index.php?diff=prev&oldid=40128.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|