Modulo:It-conj
⧼vector-jumptonavigation⧽
⧼vector-jumptosearch⧽
La documentazione per questo modulo può essere creata in Modulo:It-conj/man
-- Questo modulo contiene il codice per il template:It-conj, che genera la coniugazione di tutti i verbi italiani -- La funzione itconj genera la tabella di coniugazione utilizzando i parametri passati dal template p = {} function p.itconj(frame) pframe = frame:getParent() config = frame.args args = pframe.args -- Argomenti passati dal template stem = args[1] aus = config["ausiliare"] or " " -- Inizializzazione di tutte le variabili interne, che potrebbero altrimenti risultare nulle ausiliare = "" inf = ""; ger = ""; par= ""; pp = ""; pplur = "" pres1s = ""; pres1s2 = ""; pres2s=""; pres3s = ""; pres1p = ""; pres2p = ""; pres3p = "" imperf1s = ""; imperf2s=""; imperf3s = ""; imperf1p = ""; imperf2p = ""; imperf3p = "" prem1s = ""; prem1s2 = ""; prem2s = ""; prem3s = ""; prem3s2 = ""; prem1p = ""; prem2p = ""; prem3p = ""; prem3p2 = "" fut1s = ""; fut2s=""; fut3s = ""; fut1p =" "; fut2p = ""; fut3p = "" cond1s = ""; cond2s=""; cond3s = ""; cond1p = ""; cond2p = ""; cond3p = "" cong123s = ""; cong3s = nil; cong1p = ""; cong2p = ""; cong3p = "" congimp12s = ""; congimp3s = ""; congimp1p = ""; congimp2p = ""; congimp3p = "" imp2s=""; imp2s2 = ""; imp2s3 = ""; imp3s = ""; imp1p = ""; imp2p = ""; imp3p = "" mi = ""; ti = ""; si = ""; ci = ""; vi = "" paspros = ""; trappros = ""; traprem = ""; futant = ""; condpas = ""; congpas = ""; congtrap = "" paspros1s = ""; paspros2s=""; paspros3s = ""; paspros1p = ""; paspros2p = ""; paspros3p = "" trappros1s = ""; trappros2s=""; trappros3s = ""; trappros1p = ""; trappros2p = ""; trappros3p = "" traprem1s = ""; traprem2s=""; traprem3s = ""; traprem1p = ""; traprem2p = ""; traprem3p = "" futant1s = ""; futant2s=""; futant3s = ""; futant1p = ""; futant2p = ""; futant3p = "" condpas1s = ""; condpas2s=""; condpas3s = ""; condpas1p = ""; condpas2p = ""; condpas3p = "" congpas1s = ""; congpas2s=""; congpas3s = ""; congpas1p = ""; congpas2p = ""; congpas3p = "" congtrap1s = ""; congtrap2s=""; congtrap3s = ""; congtrap1p = ""; congtrap2p = ""; congtrap3p = "" -- A partire dalla coniugazione, genera le forme coniugate standard per ciascuna tipologia di verbo type = config["type"] if type == nil then inf = p.wiki(args["inf"]) elseif (type == "are") or (type == "arsi") then inf = p.wiki(stem .. "are") ger = p.wiki(stem .. "ando"); par = p.wiki(stem .. "ante"); pp = p.wiki(stem .. "ato"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "o"); pres2s = p.wiki(stem .. "i"); pres3s = p.wiki(stem .. "a") pres1p = p.wiki(stem .. "iamo"); pres2p = p.wiki(stem .. "ate"); pres3p = p.wiki(stem .. "ano") imperf1s = p.wiki(stem .. "avo"); imperf2s = p.wiki(stem .. "avi"); imperf3s = p.wiki(stem .. "ava") imperf1p = p.wiki(stem .. "avamo"); imperf2p = p.wiki(stem .. "avate"); imperf3p = p.wiki(stem .. "avano") prem1s = p.wiki(stem .. "ai"); prem2s = p.wiki(stem .. "asti"); prem3s = p.wiki(stem .. "ò") prem1p = p.wiki(stem .. "ammo"); prem2p = p.wiki(stem .. "aste"); prem3p = p.wiki(stem .. "arono") fut1s = p.wiki(stem .. "erò"); fut2s = p.wiki(stem .. "erai"); fut3s = p.wiki(stem .. "erà") fut1p = p.wiki(stem .. "eremo"); fut2p = p.wiki(stem .. "erete"); fut3p = p.wiki(stem .. "eranno") cond1s = p.wiki(stem .. "erei"); cond2s = p.wiki(stem .. "eresti"); cond3s = p.wiki(stem .. "erebbe") cond1p = p.wiki(stem .. "eremmo"); cond2p = p.wiki(stem .. "ereste"); cond3p = p.wiki(stem .. "erebbero") cong123s = p.wiki(stem .. "i"); cong3s = nil cong1p = p.wiki(stem .. "iamo"); cong2p = p.wiki(stem .. "iate"); cong3p = p.wiki(stem .. "ino") congimp12s = p.wiki(stem .. "assi"); congimp3s = p.wiki(stem .. "asse") congimp1p = p.wiki(stem .. "assimo"); congimp2p = p.wiki(stem .. "aste"); congimp3p = p.wiki(stem .. "assero") imp2s = p.wiki(stem .. "a"); imp3s = p.wiki(stem .. "i") imp1p = p.wiki(stem .. "iamo"); imp2p = p.wiki(stem .. "ate"); imp3p = p.wiki(stem .. "ino") elseif (type == "care") or (type == "carsi") or (type == "gare") or (type == "garsi") then inf = p.wiki(stem .. "are") ger = p.wiki(stem .. "ando"); par = p.wiki(stem .. "ante"); pp = p.wiki(stem .. "ato"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "o"); pres2s = p.wiki(stem .. "hi"); pres3s = p.wiki(stem .. "a") pres1p = p.wiki(stem .. "hiamo"); pres2p = p.wiki(stem .. "ate"); pres3p = p.wiki(stem .. "ano") imperf1s = p.wiki(stem .. "avo"); imperf2s = p.wiki(stem .. "avi"); imperf3s = p.wiki(stem .. "ava") imperf1p = p.wiki(stem .. "avamo"); imperf2p = p.wiki(stem .. "avate"); imperf3p = p.wiki(stem .. "avano") prem1s = p.wiki(stem .. "ai"); prem2s = p.wiki(stem .. "asti"); prem3s = p.wiki(stem .. "ò") prem1p = p.wiki(stem .. "ammo"); prem2p = p.wiki(stem .. "aste"); prem3p = p.wiki(stem .. "arono") fut1s = p.wiki(stem .. "herò"); fut2s = p.wiki(stem .. "herai"); fut3s = p.wiki(stem .. "herà") fut1p = p.wiki(stem .. "heremo"); fut2p = p.wiki(stem .. "herete"); fut3p = p.wiki(stem .. "heranno") cond1s = p.wiki(stem .. "herei"); cond2s = p.wiki(stem .. "heresti"); cond3s = p.wiki(stem .. "herebbe") cond1p = p.wiki(stem .. "heremmo"); cond2p = p.wiki(stem .. "hereste"); cond3p = p.wiki(stem .. "herebbero") cong123s = p.wiki(stem .. "hi"); cong3s = nil cong1p = p.wiki(stem .. "hiamo"); cong2p = p.wiki(stem .. "hiate"); cong3p = p.wiki(stem .. "hino") congimp12s = p.wiki(stem .. "assi"); congimp3s = p.wiki(stem .. "asse") congimp1p = p.wiki(stem .. "assimo"); congimp2p = p.wiki(stem .. "aste"); congimp3p = p.wiki(stem .. "assero") imp2s = p.wiki(stem .. "a"); imp3s = p.wiki(stem .. "hi") imp1p = p.wiki(stem .. "hiamo"); imp2p = p.wiki(stem .. "ate"); imp3p = p.wiki(stem .. "hino") elseif (type == "ere") or (type == "ersi") then inf = p.wiki(stem .. "ere") ger = p.wiki(stem .. "endo"); par = p.wiki(stem .. "ente"); pp = p.wiki(stem .. "uto"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "o"); pres2s = p.wiki(stem .. "i"); pres3s = p.wiki(stem .. "e") pres1p = p.wiki(stem .. "iamo"); pres2p = p.wiki(stem .. "ete"); pres3p = p.wiki(stem .. "ono") imperf1s = p.wiki(stem .. "evo"); imperf2s = p.wiki(stem .. "evi"); imperf3s = p.wiki(stem .. "eva") imperf1p = p.wiki(stem .. "evamo"); imperf2p = p.wiki(stem .. "evate"); imperf3p = p.wiki(stem .. "evano") prem1s = p.wiki(stem .. "etti"); if args["prem1s"] ~= nil then prem1s2 = '' else prem1s2 = p.wiki(stem .. "ei") end; prem2s = p.wiki(stem .. "esti"); prem3s = p.wiki(stem .. "ette"); if args["prem3s"] ~= nil then prem3s2 = '' else prem3s2 = p.wiki(stem .. "é") end prem1p = p.wiki(stem .. "emmo"); prem2p = p.wiki(stem .. "este"); prem3p = p.wiki(stem .. "ettero"); if args["prem3p"] ~= nil then prem3p2 = '' else prem3p2 = p.wiki(stem .. "erono") end fut1s = p.wiki(stem .. "erò"); fut2s = p.wiki(stem .. "erai"); fut3s = p.wiki(stem .. "erà") fut1p = p.wiki(stem .. "eremo"); fut2p = p.wiki(stem .. "erete"); fut3p = p.wiki(stem .. "eranno") cond1s = p.wiki(stem .. "erei"); cond2s = p.wiki(stem .. "eresti"); cond3s = p.wiki(stem .. "erebbe") cond1p = p.wiki(stem .. "eremmo"); cond2p = p.wiki(stem .. "ereste"); cond3p = p.wiki(stem .. "erebbero") cong123s = p.wiki(stem .. "a"); cong3s = nil cong1p = p.wiki(stem .. "iamo"); cong2p = p.wiki(stem .. "iate"); cong3p = p.wiki(stem .. "ano") congimp12s = p.wiki(stem .. "essi"); congimp3s = p.wiki(stem .. "esse") congimp1p = p.wiki(stem .. "essimo"); congimp2p = p.wiki(stem .. "este"); congimp3p = p.wiki(stem .. "essero") imp2s = p.wiki(stem .. "i"); imp3s = p.wiki(stem .. "a") imp1p = p.wiki(stem .. "iamo"); imp2p = p.wiki(stem .. "ete"); imp3p = p.wiki(stem .. "ano") elseif (type == "gliere") or (type == "gliersi") then inf = p.wiki(stem .. "gliere") ger = p.wiki(stem .. "gliendo"); par = p.wiki(stem .. "gliente"); pp = p.wiki(stem .. "lto"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "lgo"); pres2s = p.wiki(stem .. "gli"); pres3s = p.wiki(stem .. "glie") pres1p = p.wiki(stem .. "gliamo"); pres2p = p.wiki(stem .. "gliete"); pres3p = p.wiki(stem .. "lgono") imperf1s = p.wiki(stem .. "glievo"); imperf2s = p.wiki(stem .. "glievi"); imperf3s = p.wiki(stem .. "glieva") imperf1p = p.wiki(stem .. "glievamo"); imperf2p = p.wiki(stem .. "glievate"); imperf3p = p.wiki(stem .. "glievano") prem1s = p.wiki(stem .. "lsi"); prem2s = p.wiki(stem .. "gliesti"); prem3s = p.wiki(stem .. "lse") prem1p = p.wiki(stem .. "gliemmo"); prem2p = p.wiki(stem .. "glieste"); prem3p = p.wiki(stem .. "lsero") fut1s = p.wiki(stem .. "glierò"); fut2s = p.wiki(stem .. "glierai"); fut3s = p.wiki(stem .. "glierà") fut1p = p.wiki(stem .. "glieremo"); fut2p = p.wiki(stem .. "glierete"); fut3p = p.wiki(stem .. "glieranno") cond1s = p.wiki(stem .. "glierei"); cond2s = p.wiki(stem .. "glieresti"); cond3s = p.wiki(stem .. "glierebbe") cond1p = p.wiki(stem .. "glieremmo"); cond2p = p.wiki(stem .. "gliereste"); cond3p = p.wiki(stem .. "glierebbero") cong123s = p.wiki(stem .. "lga"); cong3s = nil cong1p = p.wiki(stem .. "gliamo"); cong2p = p.wiki(stem .. "gliate"); cong3p = p.wiki(stem .. "lgano") congimp12s = p.wiki(stem .. "gliessi"); congimp3s = p.wiki(stem .. "gliesse") congimp1p = p.wiki(stem .. "gliessimo"); congimp2p = p.wiki(stem .. "glieste"); congimp3p = p.wiki(stem .. "gliessero") imp2s = p.wiki(stem .. "gli"); imp3s = p.wiki(stem .. "lga") imp1p = p.wiki(stem .. "gliamo"); imp2p = p.wiki(stem .. "gliete"); imp3p = p.wiki(stem .. "lgano") elseif (type == "ire-b") or (type == "irsi-b") then inf = p.wiki(stem .. "ire") ger = p.wiki(stem .. "endo"); par = p.wiki(stem .. "ente"); pp = p.wiki(stem .. "ito"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "isco"); pres2s = p.wiki(stem .. "isci"); pres3s = p.wiki(stem .. "isce") pres1p = p.wiki(stem .. "iamo"); pres2p = p.wiki(stem .. "ite"); pres3p = p.wiki(stem .. "iscono") imperf1s = p.wiki(stem .. "ivo"); imperf2s = p.wiki(stem .. "ivi"); imperf3s = p.wiki(stem .. "iva") imperf1p = p.wiki(stem .. "ivamo"); imperf2p = p.wiki(stem .. "ivate"); imperf3p = p.wiki(stem .. "ivano") prem1s = p.wiki(stem .. "ii"); prem2s = p.wiki(stem .. "isti"); prem3s = p.wiki(stem .. "ì") prem1p = p.wiki(stem .. "immo"); prem2p = p.wiki(stem .. "iste"); prem3p = p.wiki(stem .. "irono") fut1s = p.wiki(stem .. "irò"); fut2s = p.wiki(stem .. "irai"); fut3s = p.wiki(stem .. "irà") fut1p = p.wiki(stem .. "iremo"); fut2p = p.wiki(stem .. "irete"); fut3p = p.wiki(stem .. "iranno") cond1s = p.wiki(stem .. "irei"); cond2s = p.wiki(stem .. "iresti"); cond3s = p.wiki(stem .. "irebbe") cond1p = p.wiki(stem .. "iremmo"); cond2p = p.wiki(stem .. "ireste"); cond3p = p.wiki(stem .. "irebbero") cong123s = p.wiki(stem .. "isca"); cong3s = nil cong1p = p.wiki(stem .. "iamo"); cong2p = p.wiki(stem .. "iate"); cong3p = p.wiki(stem .. "iscano") congimp12s = p.wiki(stem .. "issi"); congimp3s = p.wiki(stem .. "isse") congimp1p = p.wiki(stem .. "issimo"); congimp2p = p.wiki(stem .. "iste"); congimp3p = p.wiki(stem .. "issero") imp2s = p.wiki(stem .. "isci"); imp3s = p.wiki(stem .. "isca") imp1p = p.wiki(stem .. "iamo"); imp2p = p.wiki(stem .. "ite"); imp3p = p.wiki(stem .. "iscano") elseif (type == "ire") or (type == "irsi") then inf = p.wiki(stem .. "ire") ger = p.wiki(stem .. "endo"); par = p.wiki(stem .. "ente"); pp = p.wiki(stem .. "ito"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "o"); pres2s = p.wiki(stem .. "i"); pres3s = p.wiki(stem .. "e") pres1p = p.wiki(stem .. "iamo"); pres2p = p.wiki(stem .. "ite"); pres3p = p.wiki(stem .. "ono") imperf1s = p.wiki(stem .. "ivo"); imperf2s = p.wiki(stem .. "ivi"); imperf3s = p.wiki(stem .. "iva") imperf1p = p.wiki(stem .. "ivamo"); imperf2p = p.wiki(stem .. "ivate"); imperf3p = p.wiki(stem .. "ivano") prem1s = p.wiki(stem .. "ii"); prem2s = p.wiki(stem .. "isti"); prem3s = p.wiki(stem .. "ì") prem1p = p.wiki(stem .. "immo"); prem2p = p.wiki(stem .. "iste"); prem3p = p.wiki(stem .. "irono") fut1s = p.wiki(stem .. "irò"); fut2s = p.wiki(stem .. "irai"); fut3s = p.wiki(stem .. "irà") fut1p = p.wiki(stem .. "iremo"); fut2p = p.wiki(stem .. "irete"); fut3p = p.wiki(stem .. "iranno") cond1s = p.wiki(stem .. "irei"); cond2s = p.wiki(stem .. "iresti"); cond3s = p.wiki(stem .. "irebbe") cond1p = p.wiki(stem .. "iremmo"); cond2p = p.wiki(stem .. "ireste"); cond3p = p.wiki(stem .. "irebbero") cong123s = p.wiki(stem .. "a"); cong3s = nil cong1p = p.wiki(stem .. "iamo"); cong2p = p.wiki(stem .. "iate"); cong3p = p.wiki(stem .. "ano") congimp12s = p.wiki(stem .. "issi"); congimp3s = p.wiki(stem .. "isse") congimp1p = p.wiki(stem .. "issimo"); congimp2p = p.wiki(stem .. "iste"); congimp3p = p.wiki(stem .. "issero") imp2s = p.wiki(stem .. "i"); imp3s = p.wiki(stem .. "a") imp1p = p.wiki(stem .. "iamo"); imp2p = p.wiki(stem .. "ite"); imp3p = p.wiki(stem .. "ano") elseif (type == "iare") or (type == "iarsi") then inf = p.wiki(stem .. "are") ger = p.wiki(stem .. "ando"); par = p.wiki(stem .. "ante"); pp = p.wiki(stem .. "ato"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "o"); pres2s = p.wiki(stem); pres3s = p.wiki(stem .. "a") pres1p = p.wiki(stem .. "amo"); pres2p = p.wiki(stem .. "ate"); pres3p = p.wiki(stem .. "ano") imperf1s = p.wiki(stem .. "avo"); imperf2s = p.wiki(stem .. "avi"); imperf3s = p.wiki(stem .. "ava") imperf1p = p.wiki(stem .. "avamo"); imperf2p = p.wiki(stem .. "avate"); imperf3p = p.wiki(stem .. "avano") prem1s = p.wiki(stem .. "ai"); prem2s = p.wiki(stem .. "asti"); prem3s = p.wiki(stem .. "ò") prem1p = p.wiki(stem .. "ammo"); prem2p = p.wiki(stem .. "aste"); prem3p = p.wiki(stem .. "arono") fut1s = p.wiki(stem .. "erò"); fut2s = p.wiki(stem .. "erai"); fut3s = p.wiki(stem .. "erà") fut1p = p.wiki(stem .. "eremo"); fut2p = p.wiki(stem .. "erete"); fut3p = p.wiki(stem .. "eranno") cond1s = p.wiki(stem .. "erei"); cond2s = p.wiki(stem .. "eresti"); cond3s = p.wiki(stem .. "erebbe") cond1p = p.wiki(stem .. "eremmo"); cond2p = p.wiki(stem .. "ereste"); cond3p = p.wiki(stem .. "erebbero") cong123s = p.wiki(stem); cong3s = nil cong1p = p.wiki(stem .. "amo"); cong2p = p.wiki(stem .. "ate"); cong3p = p.wiki(stem .. "no") congimp12s = p.wiki(stem .. "assi"); congimp3s = p.wiki(stem .. "asse") congimp1p = p.wiki(stem .. "assimo"); congimp2p = p.wiki(stem .. "aste"); congimp3p = p.wiki(stem .. "assero") imp2s = p.wiki(stem .. "a"); imp3s = p.wiki(stem) imp1p = p.wiki(stem .. "amo"); imp2p = p.wiki(stem .. "ate"); imp3p = p.wiki(stem .. "no") elseif (type == "ciare") or (type == "ciarsi") or (type == "giare") or (type == "giarsi") then inf = p.wiki(stem .. "iare") ger = p.wiki(stem .. "iando"); par = p.wiki(stem .. "iante"); pp = p.wiki(stem .. "iato"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "io"); pres2s = p.wiki(stem .. "i"); pres3s = p.wiki(stem .. "ia") pres1p = p.wiki(stem .. "iamo"); pres2p = p.wiki(stem .. "iate"); pres3p = p.wiki(stem .. "iano") imperf1s = p.wiki(stem .. "iavo"); imperf2s = p.wiki(stem .. "iavi"); imperf3s = p.wiki(stem .. "iava") imperf1p = p.wiki(stem .. "iavamo"); imperf2p = p.wiki(stem .. "iavate"); imperf3p = p.wiki(stem .. "iavano") prem1s = p.wiki(stem .. "iai"); prem2s = p.wiki(stem .. "iasti"); prem3s = p.wiki(stem .. "iò") prem1p = p.wiki(stem .. "iammo"); prem2p = p.wiki(stem .. "iaste"); prem3p = p.wiki(stem .. "iarono") fut1s = p.wiki(stem .. "erò"); fut2s = p.wiki(stem .. "erai"); fut3s = p.wiki(stem .. "erà") fut1p = p.wiki(stem .. "eremo"); fut2p = p.wiki(stem .. "erete"); fut3p = p.wiki(stem .. "eranno") cond1s = p.wiki(stem .. "erei"); cond2s = p.wiki(stem .. "eresti"); cond3s = p.wiki(stem .. "erebbe") cond1p = p.wiki(stem .. "eremmo"); cond2p = p.wiki(stem .. "ereste"); cond3p = p.wiki(stem .. "erebbero") cong123s = p.wiki(stem .. "i"); cong3s = nil cong1p = p.wiki(stem .. "iamo"); cong2p = p.wiki(stem .. "iate"); cong3p = p.wiki(stem .. "ino") congimp12s = p.wiki(stem .. "iassi"); congimp3s = p.wiki(stem .. "iasse") congimp1p = p.wiki(stem .. "iassimo"); congimp2p = p.wiki(stem .. "iaste"); congimp3p = p.wiki(stem .. "iassero") imp2s = p.wiki(stem .. "ia"); imp3s = p.wiki(stem .. "i") imp1p = p.wiki(stem .. "iamo"); imp2p = p.wiki(stem .. "iate"); imp3p = p.wiki(stem .. "ino") elseif type == "fare" or (type == "farsi") then inf = p.wiki(stem .. "fare") ger = p.wiki(stem .. "facendo"); par = p.wiki(stem .. "facente"); pp = p.wiki(stem .. "fatto"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "faccio"); pres2s = p.wiki(stem .. "fai"); pres3s = p.wiki(stem .. "fà") pres1s2 = p.wiki(stem .. "fò") pres1p = p.wiki(stem .. "facciamo"); pres2p = p.wiki(stem .. "fate"); pres3p = p.wiki(stem .. "fanno") imperf1s = p.wiki(stem .. "facevo"); imperf2s = p.wiki(stem .. "facevi"); imperf3s = p.wiki(stem .. "faceva") imperf1p = p.wiki(stem .. "facevamo"); imperf2p = p.wiki(stem .. "facevate"); imperf3p = p.wiki(stem .. "facevano") prem1s = p.wiki(stem .. "feci"); prem2s = p.wiki(stem .. "facesti"); prem3s = p.wiki(stem .. "fece") prem1p = p.wiki(stem .. "facemmo"); prem2p = p.wiki(stem .. "faceste"); prem3p = p.wiki(stem .. "fecero") fut1s = p.wiki(stem .. "farò"); fut2s = p.wiki(stem .. "farai"); fut3s = p.wiki(stem .. "farà") fut1p = p.wiki(stem .. "faremo"); fut2p = p.wiki(stem .. "farete"); fut3p = p.wiki(stem .. "faranno") cond1s = p.wiki(stem .. "farei"); cond2s = p.wiki(stem .. "faresti"); cond3s = p.wiki(stem .. "farebbe") cond1p = p.wiki(stem .. "faremmo"); cond2p = p.wiki(stem .. "fareste"); cond3p = p.wiki(stem .. "farebbero") cong123s = p.wiki(stem .. "faccia"); cong3s = nil cong1p = p.wiki(stem .. "facciamo"); cong2p = p.wiki(stem .. "facciate"); cong3p = p.wiki(stem .. "facciano") congimp12s = p.wiki(stem .. "facessi"); congimp3s = p.wiki(stem .. "facesse") congimp1p = p.wiki(stem .. "facessimo"); congimp2p = p.wiki(stem .. "faceste"); congimp3p = p.wiki(stem .. "facessero") imp2s = p.wiki(stem .. "fai"); imp3s = p.wiki(stem .. "faccia") imp2s2 = p.wiki(stem .. "fa'") imp1p = p.wiki(stem .. "facciamo"); imp2p = p.wiki(stem .. "fate"); imp3p = p.wiki(stem .. "facciano") elseif (type == "urre") or (type == "ursi") then inf = p.wiki(stem .. "urre") ger = p.wiki(stem .. "ucendo"); par = p.wiki(stem .. "ucente"); pp = p.wiki(stem .. "otto"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "uco"); pres2s = p.wiki(stem .. "uci"); pres3s = p.wiki(stem .. "uce") pres1p = p.wiki(stem .. "uciamo"); pres2p = p.wiki(stem .. "ucete"); pres3p = p.wiki(stem .. "ucono") imperf1s = p.wiki(stem .. "ucevo"); imperf2s = p.wiki(stem .. "ucevi"); imperf3s = p.wiki(stem .. "uceva") imperf1p = p.wiki(stem .. "ucevamo"); imperf2p = p.wiki(stem .. "ucevate"); imperf3p = p.wiki(stem .. "ucevano") prem1s = p.wiki(stem .. "ussi"); prem2s = p.wiki(stem .. "ucesti"); prem3s = p.wiki(stem .. "usse") prem1p = p.wiki(stem .. "ucemmo"); prem2p = p.wiki(stem .. "uceste"); prem3p = p.wiki(stem .. "ussero") fut1s = p.wiki(stem .. "urrò"); fut2s = p.wiki(stem .. "urrai"); fut3s = p.wiki(stem .. "urrà") fut1p = p.wiki(stem .. "urremo"); fut2p = p.wiki(stem .. "urrete"); fut3p = p.wiki(stem .. "urranno") cond1s = p.wiki(stem .. "urrei"); cond2s = p.wiki(stem .. "urresti"); cond3s = p.wiki(stem .. "urrebbe") cond1p = p.wiki(stem .. "urremmo"); cond2p = p.wiki(stem .. "urreste"); cond3p = p.wiki(stem .. "urrebbero") cong123s = p.wiki(stem .. "uca"); cong3s = nil cong1p = p.wiki(stem .. "uciamo"); cong2p = p.wiki(stem .. "uciate"); cong3p = p.wiki(stem .. "ucano") congimp12s = p.wiki(stem .. "ucessi"); congimp3s = p.wiki(stem .. "ucesse") congimp1p = p.wiki(stem .. "ucessimo"); congimp2p = p.wiki(stem .. "uceste"); congimp3p = p.wiki(stem .. "ucessero") imp2s = p.wiki(stem .. "uci"); imp3s = p.wiki(stem .. "uca") imp1p = p.wiki(stem .. "uciamo"); imp2p = p.wiki(stem .. "ucete"); imp3p = p.wiki(stem .. "ucano") elseif (type == "orre") or (type == "orsi") then inf = p.wiki(stem .. "orre") ger = p.wiki(stem .. "onendo"); par = p.wiki(stem .. "onente"); pp = p.wiki(stem .. "osto"); pplur = p.plurale(-3, pp, "i]]") pres1s = p.wiki(stem .. "ongo"); pres2s = p.wiki(stem .. "oni"); pres3s = p.wiki(stem .. "one") pres1p = p.wiki(stem .. "oniamo"); pres2p = p.wiki(stem .. "onete"); pres3p = p.wiki(stem .. "ongono") imperf1s = p.wiki(stem .. "onevo"); imperf2s = p.wiki(stem .. "onevi"); imperf3s = p.wiki(stem .. "oneva") imperf1p = p.wiki(stem .. "onevamo"); imperf2p = p.wiki(stem .. "onevate"); imperf3p = p.wiki(stem .. "onevano") prem1s = p.wiki(stem .. "osi"); prem2s = p.wiki(stem .. "onesti"); prem3s = p.wiki(stem .. "ose") prem1p = p.wiki(stem .. "onemmo"); prem2p = p.wiki(stem .. "oneste"); prem3p = p.wiki(stem .. "osero") fut1s = p.wiki(stem .. "orrò"); fut2s = p.wiki(stem .. "orrai"); fut3s = p.wiki(stem .. "orrà") fut1p = p.wiki(stem .. "orremo"); fut2p = p.wiki(stem .. "orrete"); fut3p = p.wiki(stem .. "orranno") cond1s = p.wiki(stem .. "orrei"); cond2s = p.wiki(stem .. "orresti"); cond3s = p.wiki(stem .. "orrebbe") cond1p = p.wiki(stem .. "orremmo"); cond2p = p.wiki(stem .. "orreste"); cond3p = p.wiki(stem .. "orrebbero") cong123s = p.wiki(stem .. "onga"); cong3s = nil cong1p = p.wiki(stem .. "oniamo"); cong2p = p.wiki(stem .. "oniate"); cong3p = p.wiki(stem .. "ongano") congimp12s = p.wiki(stem .. "onessi"); congimp3s = p.wiki(stem .. "onesse") congimp1p = p.wiki(stem .. "onessimo"); congimp2p = p.wiki(stem .. "oneste"); congimp3p = p.wiki(stem .. "onessero") imp2s = p.wiki(stem .. "oni"); imp3s = p.wiki(stem .. "onga") imp1p = p.wiki(stem .. "oniamo"); imp2p = p.wiki(stem .. "oniate"); imp3p = p.wiki(stem .. "ongano") else error("Verb type " .. type .. "not supported.") end -- Genera le voci verbali specifiche per i verbi riflessivi if type == "arsi" then refl = true; inf = p.wiki(stem .. "arsi") ger = p.wiki(stem .. "andosi"); par = p.wiki(stem .. "antesi"); pp2 = p.wiki(stem .. "atosi") imp2s = p.wiki(stem .. "ati"); imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "atevi") elseif type == "carsi" then refl = true; inf = p.wiki(stem .. "arsi") ger = p.wiki(stem .. "andosi"); par = p.wiki(stem .. "antesi"); pp2 = p.wiki(stem .. "atosi") imp2s = p.wiki(stem .. "ati"); imp1p = p.wiki(stem .. "hiamoci"); imp2p = p.wiki(stem .. "atevi") elseif type == "ciarsi" then refl = true; inf = p.wiki(stem .. "iarsi") ger = p.wiki(stem .. "iandosi"); par = p.wiki(stem .. "iantesi"); pp2 = p.wiki(stem .. "iatosi") imp2s = p.wiki(stem .. "iati"); imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "iatevi") elseif type == "ersi" then refl = true; inf = p.wiki(stem .. "ersi") ger = p.wiki(stem .. "endosi"); par = p.wiki(stem .. "entesi"); pp2 = p.wiki(stem .. "utosi") imp2s = p.wiki(stem .. "iti"); imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "etevi") elseif type == "iarsi" then refl = true; inf = p.wiki(stem .. "arsi") ger = p.wiki(stem .. "andosi"); par = p.wiki(stem .. "antesi"); pp2 = p.wiki(stem .. "atosi") imp2s = p.wiki(stem .. "ati"); imp1p = p.wiki(stem .. "amoci"); imp2p = p.wiki(stem .. "atevi") elseif type == "irsi" then refl = true; inf = p.wiki(stem .. "irsi") ger = p.wiki(stem .. "endosi"); par = p.wiki(stem .. "entesi"); pp2 = p.wiki(stem .. "itosi") imp2s = p.wiki(stem .. "iti"); imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "itevi") elseif type == "irsi-b" then refl = true; inf = p.wiki(stem .. "irsi") ger = p.wiki(stem .. "endosi"); par = p.wiki(stem .. "entesi"); pp2 = p.wiki(stem .. "itosi") imp2s = p.wiki(stem .. "isciti"); imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "itevi") elseif type == "ursi" then refl = true; inf = p.wiki(stem .. "ursi") ger = p.wiki(stem .. "ucendosi"); par = p.wiki(stem .. "ucentesi"); pp2 = p.wiki(stem .. "ottosi") imp2s = p.wiki(stem .. "uciti"); imp1p = p.wiki(stem .. "uciamoci"); imp2p = p.wiki(stem .. "ucetevi") elseif type == "farsi" then refl = true; inf = p.wiki(stem .. "farsi") ger = p.wiki(stem .. "facendosi"); par = p.wiki(stem .. "facentesi"); pp2 = p.wiki(stem .. "fattosi") imp2s = p.wiki(stem .. "fatti"); imp1p = p.wiki(stem .. "facciamoci"); imp2p = p.wiki(stem .. "fatevi") end if refl then mi = "mi "; ti = "ti "; si = "si "; ci = "ci "; vi = "vi " end -- Recupera le eventuali forme irregolari o varianti, rimpiazziandole o aggiungendole a quelle standard -- Forme impersonali e participi inf = p.over(inf,args["inf"]) ger = p.over(ger,args["ger"]) ger2 = p.wiki(args["ger2"]) ger = p.alts(ger, ger2) par = p.over(par,args["par"]) par2 = p.wiki(args["par2"]) par = p.alts(par, par2) pp = p.over(pp,args["pp"]) pp2 = p.wiki(args["pp2"]); pp3 = p.wiki(args["pp3"]); pp3 = p.wiki(args["pp3"]); pp4 = p.wiki(args["pp4"]) pp = p.alts(pp, pp2); pp = p.alts(pp, pp3); pp = p.alts(pp, pp4) -- Presente indicativo pres1s = p.over(pres1s,args["pres1s"]); pres2s = p.over(pres2s,args["pres2s"]); pres3s = p.over(pres3s,args["pres3s"]) pres1p = p.over(pres1p,args["pres1p"]); pres2p = p.over(pres2p,args["pres2p"]); pres3p = p.over(pres3p,args["pres3p"]) pres1s2 = p.over(pres1s2, args["pres1s2"]); pres2s2 = p.wiki(args["pres2s2"]); pres3s2 = p.wiki(args["pres3s2"]) pres1p2 = p.wiki(args["pres1p2"]); pres2p2 = p.wiki(args["pres2p2"]); 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) -- Imperfetto imperf1s = p.over(imperf1s,args["imperf1s"]); imperf2s = p.over(imperf2s,args["imperf2s"]); imperf3s = p.over(imperf3s,args["imperf3s"]) imperf1p = p.over(imperf1p,args["imperf1p"]); imperf2p = p.over(imperf2p,args["imperf2p"]); imperf3p = p.over(imperf3p,args["imperf3p"]) imperf1s2 = p.wiki(args["imperf1s2"]); imperf2s2 = p.wiki(args["imperf2s2"]); imperf3s2 = p.wiki(args["imperf3s2"]) imperf1p2 = p.wiki(args["imperf1p2"]); imperf2p2 = p.wiki(args["imperf2p2"]); 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) -- Passato Remoto (Past historic) prem1s = p.over(prem1s,args["prem1s"]); prem2s = p.over(prem2s,args["prem2s"]); prem3s = p.over(prem3s,args["prem3s"]) prem1p = p.over(prem1p,args["prem1p"]); prem2p = p.over(prem2p,args["prem2p"]); prem3p = p.over(prem3p,args["prem3p"]) prem1s2 = p.over(prem1s2,args["prem1s2"]); prem2s2 = p.wiki(args["prem2s2"]); prem3s2 = p.over(prem3s2,args["prem3s2"]) prem1p2 = p.wiki(args["prem1p2"]); prem2p2 = p.wiki(args["prem2p2"]); prem3p2 = p.over(prem3p2,args["prem3p2"]) 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) -- Alternative extra per il passato remoto prem1s3 = p.wiki(args["prem1s3"]); prem1s = p.alts(prem1s, prem1s3) prem3s3 = p.wiki(args["prem3s3"]); prem3s = p.alts(prem3s, prem3s3) prem3p3 = p.wiki(args["prem3p3"]); prem3p = p.alts(prem3p, prem3p3) -- Futuro fut1s = p.over(fut1s,args["fut1s"]); fut2s = p.over(fut2s,args["fut2s"]); fut3s = p.over(fut3s,args["fut3s"]) fut1p = p.over(fut1p,args["fut1p"]); fut2p = p.over(fut2p,args["fut2p"]); fut3p = p.over(fut3p,args["fut3p"]) fut1s2 = p.wiki(args["fut1s2"]); fut2s2 = p.wiki(args["fut2s2"]); fut3s2 = p.wiki(args["fut3s2"]) fut1p2 = p.wiki(args["fut1p2"]); fut2p2 = p.wiki(args["fut2p2"]); fut3p2 = p.wiki(args["fut3p2"]) fut1s = p.alts(fut1s, fut1s2); fut2s = p.alts(fut2s, fut2s2); fut3s = p.alts(fut3s, fut3s2) fut1p = p.alts(fut1p, fut1p2); fut2p = p.alts(fut2p, fut2p2); fut3p = p.alts(fut3p, fut3p2) -- Condizionale cond1s = p.over(cond1s,args["cond1s"]); cond2s = p.over(cond2s,args["cond2s"]); cond3s = p.over(cond3s,args["cond3s"]) cond1p = p.over(cond1p,args["cond1p"]); cond2p = p.over(cond2p,args["cond2p"]); cond3p = p.over(cond3p,args["cond3p"]) cond1s2 = p.wiki(args["cond1s2"]); cond2s2 = p.wiki(args["cond2s2"]); cond3s2 = p.wiki(args["cond3s2"]) cond1p2 = p.wiki(args["cond1p2"]); cond2p2 = p.wiki(args["cond2p2"]); cond3p2 = p.wiki(args["cond3p2"]) cond1s = p.alts(cond1s, cond1s2); cond2s = p.alts(cond2s, cond2s2); cond3s = p.alts(cond3s, cond3s2) cond1p = p.alts(cond1p, cond1p2); cond2p = p.alts(cond2p, cond2p2); cond3p = p.alts(cond3p, cond3p2) -- Presente congiuntivo cong123s = p.over(cong123s,args["cong123s"]); cong3s = p.over(cong3s,args["cong3s"]) cong1p = p.over(cong1p,args["cong1p"]); cong2p = p.over(cong2p,args["cong2p"]); cong3p = p.over(cong3p,args["cong3p"]) cong123s2 = p.wiki(args["cong123s2"]); cong3s2 = p.wiki(args["cong3s2"]) cong1p2 = p.wiki(args["cong1p2"]); cong2p2 = p.wiki(args["cong2p2"]); cong3p2 = p.wiki(args["cong3p2"]) cong123s = p.alts(cong123s, cong123s2); cong3s = p.alts(cong3s, cong3s2) if cong3s == nil then cong3s = cong123s end cong1p = p.alts(cong1p, cong1p2); cong2p = p.alts(cong2p, cong2p2); cong3p = p.alts(cong3p, cong3p2) -- Imperfetto congiuntivo congimp12s = p.over(congimp12s,args["congimp12s"]); congimp3s = p.over(congimp3s,args["congimp3s"]) congimp1p = p.over(congimp1p,args["congimp1p"]); congimp2p = p.over(congimp2p,args["congimp2p"]); congimp3p = p.over(congimp3p,args["congimp3p"]) congimp12s2 = p.wiki(args["congimp12s2"]); congimp3s2 = p.wiki(args["congimp3s2"]) congimp1p2 = p.wiki(args["congimp1p2"]); congimp2p2 = p.wiki(args["congimp2p2"]); congimp3p2 = p.wiki(args["congimp3p2"]) congimp1s = p.alts(congimp12s, congimp12s2); congimp3s = p.alts(congimp3s, congimp3s2) congimp1p = p.alts(congimp1p, congimp1p2); congimp2p = p.alts(congimp2p, congimp2p2); congimp3p = p.alts(congimp3p, congimp3p2) -- Imperativo imp2s = p.over(imp2s,args["imp2s"]); imp3s = p.over(imp3s,args["imp3s"]) imp1p = p.over(imp1p,args["imp1p"]); imp2p = p.over(imp2p,args["imp2p"]); imp3p = p.over(imp3p,args["imp3p"]) imp2s2 = p.over(imp2s2, args["imp2s2"]); imp3s2 = p.wiki(args["imp3s2"]) imp1p2 = p.wiki(args["imp1p2"]); imp2p2 = p.wiki(args["imp2p2"]); imp3p2 = p.wiki(args["imp3p2"]) imp2s = p.alts(imp2s, imp2s2); imp3s = p.alts(imp3s, imp3s2) imp1p = p.alts(imp1p, imp1p2); imp2p = p.alts(imp2p, imp2p2); imp3p = p.alts(imp3p, imp3p2) -- Alternativa extra per l'imperativo imp2s3 = p.over(imp2s3, args["imp2s3"]); imp2s = p.alts(imp2s, imp2s3) -- Particelle pronominali riflessive mi = p.over(mi,args["mi"],0); ti = p.over(ti,args["ti"],0); si = p.over(si,args["si"],0); ci = p.over(ci,args["ci"],0); vi = p.over(vi,args["vi"],0) -- Tempi composti if args["pp"] == nil then pplur = p.plurale(-3, pp, "i]]") else pplur = "[[".. p.plurale(-1, args["pp"], "i").. "]]" end if pp2 >= "a" then pplur2 = "[[".. p.plurale(-1, args["pp2"], "i").. "]]" else pplur2 = "0" end pplur = p.alts(pplur, pplur2) -- Passato prossimo if aus == "avere" and pp ~= "" then paspros1s = "[[ho]] ".. pp; paspros2s = "[[hai]] ".. pp; paspros3s = "[[ha]] ".. pp; paspros1p = "[[abbiamo]] ".. pp; paspros2p = "[[avete]] ".. pp; paspros3p = "[[hanno]] ".. pp elseif aus == "essere" and pp ~= "" then paspros1s = "[[sono]] ".. pp; paspros2s = "[[sei]] ".. pp; paspros3s = "[[è]] ".. pp; paspros1p = "[[siamo]] ".. pplur; paspros2p = "[[siete]] ".. pplur; paspros3p = "[[sono]] ".. pplur elseif pp == "" then paspros1s = ""; paspros2s = ""; paspros3s = ""; paspros1p = ""; paspros2p = ""; paspros3p = "" else paspros1s = "[[ho]] ".. pp.. "</br>[[sono]] ".. pp; paspros2s = "[[hai]] ".. pp.. "</br>[[sei]] ".. pp; paspros3s = "[[ha]] ".. pp.. "</br>[[è]] ".. pp; paspros1p = "[[abbiamo]] ".. pp.. "</br>[[siamo]] ".. pplur; paspros2p = "[[avete]] ".. pp.. "</br>[[siete]] ".. pplur; paspros3p = "[[hanno]] ".. pp.. "</br>[[sono]] ".. pplur end -- Trapassato prossimo if aus == "avere" and pp ~= "" then trappros1s = "[[avevo]] ".. pp; trappros2s = "[[avevi]] ".. pp; trappros3s = "[[aveva]] ".. pp; trappros1p = "[[avevamo]] ".. pp; trappros2p = "[[avevate]] ".. pp; trappros3p = "[[avevano]] ".. pp elseif aus == "essere" and pp ~= "" then trappros1s = "[[ero]] ".. pp; trappros2s = "[[eri]] ".. pp; trappros3s = "[[era]] ".. pp; trappros1p = "[[eravamo]] ".. pplur; trappros2p = "[[eravate]] ".. pplur; trappros3p = "[[erano]] ".. pplur elseif pp == "" then trappros1s = ""; trappros2s = ""; trappros3s = ""; trappros1p = ""; trappros2p = ""; trappros3p = "" else trappros1s = "[[avevo]] ".. pp.. "</br>[[ero]] ".. pp; trappros2s = "[[avevi]] ".. pp.. "</br>[[eri]] ".. pp; trappros3s = "[[aveva]] ".. pp.. "</br>[[era]] ".. pp; trappros1p = "[[avevamo]] ".. pp.. "</br>[[eravamo]] ".. pplur; trappros2p = "[[avevate]] ".. pp.. "</br>[[eravate]] ".. pplur; trappros3p = "[[avevano]] ".. pp.. "</br>[[erano]] ".. pplur end -- Trapassato remoto if aus == "avere" and pp ~= "" then traprem1s = "[[ebbi]] ".. pp; traprem2s = "[[avesti]] ".. pp; traprem3s = "[[ebbe]] ".. pp; traprem1p = "[[avemmo]] ".. pp; traprem2p = "[[aveste]] ".. pp; traprem3p = "[[ebbero]] ".. pp elseif aus == "essere" and pp ~= "" then traprem1s = "[[fui]] ".. pp; traprem2s = "[[fosti]] ".. pp; traprem3s = "[[fu]] ".. pp; traprem1p = "[[fummo]] ".. pplur; traprem2p = "[[foste]] ".. pplur; traprem3p = "[[furono]] ".. pplur elseif pp == "" then traprem1s = ""; traprem2s = ""; traprem3s = ""; traprem1p = ""; traprem2p = ""; traprem3p = "" else traprem1s = "[[ebbi]] ".. pp.. "</br>[[fui]] ".. pp; traprem2s = "[[avesti]] ".. pp.. "</br>[[fosti]] ".. pp; traprem3s = "[[ebbe]] ".. pp.. "</br>[[fu]] ".. pp; traprem1p = "[[avemmo]] ".. pp.. "</br>[[fummo]] ".. pplur; traprem2p = "[[aveste]] ".. pp.. "</br>[[foste]] ".. pplur; traprem3p = "[[ebbero]] ".. pp.. "</br>[[furono]] ".. pplur end -- Futuro anteriore if aus == "avere" and pp ~= "" then futant1s = "[[avrò]] ".. pp; futant2s = "[[avrai]] ".. pp; futant3s = "[[avrà]] ".. pp; futant1p = "[[avremo]] ".. pp; futant2p = "[[avrete]] ".. pp; futant3p = "[[avranno]] ".. pp elseif aus == "essere" and pp ~= "" then futant1s = "[[sarò]] ".. pp; futant2s = "[[sarai]] ".. pp; futant3s = "[[sarà]] ".. pp; futant1p = "[[saremo]] ".. pplur; futant2p = "[[sarete]] ".. pplur; futant3p = "[[saranno]] ".. pplur elseif pp == "" then futant1s = ""; futant2s = ""; futant3s = ""; futant1p = ""; futant2p = ""; futant3p = "" else futant1s = "[[avrò]] ".. pp.. "</br>[[sarò]] ".. pp; futant2s = "[[avrai]] ".. pp.. "</br>[[sarai]] ".. pp; futant3s = "[[avrà]] ".. pp.. "</br>[[sarà]] ".. pp; futant1p = "[[avremo]] ".. pp.. "</br>[[saremo]] ".. pplur; futant2p = "[[avrete]] ".. pp.. "</br>[[sarete]] ".. pplur; futant3p = "[[avranno]] ".. pp.. "</br>[[saranno]] ".. pplur end -- Condizionale passato if aus == "avere" and pp ~= "" then condpas1s = "[[avrei]] ".. pp; condpas2s = "[[avresti]] ".. pp; condpas3s = "[[avrebbe]] ".. pp; condpas1p = "[[avremmo]] ".. pp; condpas2p = "[[avreste]] ".. pp; condpas3p = "[[avrebbero]] ".. pp elseif aus == "essere" and pp ~= "" then condpas1s = "[[sarei]] ".. pp; condpas2s = "[[saresti]] ".. pp; condpas3s = "[[sarebbe]] ".. pp; condpas1p = "[[saremmo]] ".. pplur; condpas2p = "[[sareste]] ".. pplur; condpas3p = "[[sarebbero]] ".. pplur elseif pp == "" then condpas1s = ""; condpas2s = ""; condpas3s = ""; condpas1p = ""; condpas2p = ""; condpas3p = "" else condpas1s = "[[avrei]] ".. pp.. "</br>[[sarei]] ".. pp; condpas2s = "[[avresti]] ".. pp.. "</br>[[saresti]] ".. pp; condpas3s = "[[avrebbe]] ".. pp.. "</br>[[sarebbe]] ".. pp; condpas1p = "[[avremmo]] ".. pp.. "</br>[[saremmo]] ".. pplur; condpas2p = "[[avreste]] ".. pp.. "</br>[[sareste]] ".. pplur; condpas3p = "[[avrebbero]] ".. pp.. "</br>[[sarebbero]] ".. pplur end -- Congiuntivo passato if aus == "avere" and pp ~= "" then congpas1s = "[[abbia]] ".. pp; congpas2s = "[[abbia]] ".. pp; congpas3s = "[[abbia]] ".. pp; congpas1p = "[[abbiamo]] ".. pp; congpas2p = "[[abbiate]] ".. pp; congpas3p = "[[abbiano]] ".. pp elseif aus == "essere" and pp ~= "" then congpas1s = "[[sia]] ".. pp; congpas2s = "[[sia]] ".. pp; congpas3s = "[[sia]] ".. pp; congpas1p = "[[siamo]] ".. pplur; congpas2p = "[[siate]] ".. pplur; congpas3p = "[[siano]] ".. pplur elseif pp == "" then congpas1s = ""; congpas2s = ""; congpas3s = ""; congpas1p = ""; congpas2p = ""; congpas3p = "" else congpas1s = "[[abbia]] ".. pp.. "</br>[[sia]] ".. pp; congpas2s = "[[abbia]] ".. pp.. "</br>[[sia]] ".. pp; congpas3s = "[[abbia]] ".. pp.. "</br>[[sia]] ".. pp; congpas1p = "[[abbiamo]] ".. pp.. "</br>[[siamo]] ".. pplur; congpas2p = "[[abbiate]] ".. pp.. "</br>[[siate]] ".. pplur; congpas3p = "[[abbiano]] ".. pp.. "</br>[[siano]] ".. pplur end -- Congiuntivo trapassato if aus == "avere" and pp ~= "" then congtrap1s = "[[avessi]] ".. pp; congtrap2s = "[[avessi]] ".. pp; congtrap3s = "[[avesse]] ".. pp; congtrap1p = "[[avessimo]] ".. pp; congtrap2p = "[[aveste]] ".. pp; congtrap3p = "[[avessero]] ".. pp elseif aus == "essere" and pp ~= "" then congtrap1s = "[[fossi]] ".. pp; congtrap2s = "[[fossi]] ".. pp; congtrap3s = "[[fosse]] ".. pp; congtrap1p = "[[fossimo]] ".. pplur; congtrap2p = "[[foste]] ".. pplur; congtrap3p = "[[fossero]] ".. pplur elseif pp == "" then congtrap1s = ""; congtrap2s = ""; congtrap3s = ""; contrap1p = ""; congtrap2p = ""; congtrap3p = "" else congtrap1s = "[[avessi]] ".. pp.. "</br>[[fossi]] ".. pp; congtrap2s = "[[avessi]] ".. pp.. "</br>[[fossi]] ".. pp; congtrap3s = "[[avesse]] ".. pp.. "</br>[[fosse]] ".. pp; congtrap1p = "[[avessimo]] ".. pp.. "</br>[[fossimo]] ".. pplur; congtrap2p = "[[aveste]] ".. pp.. "</br>[[foste]] ".. pplur; congtrap3p = "[[avessero]] ".. pp.. "</br>[[fossero]] ".. pplur end -- Genera i titolo dei cassetti per i tempi composti if pp == "" then paspros = "manca dei tempi composti"; trappros = "manca dei tempi composti"; traprem = "manca dei tempi composti"; futant = "manca dei tempi composti"; condpas = "manca dei tempi composti"; congpas = "manca dei tempi composti"; congtrap = "manca dei tempi composti" else paspros = "ausiliare (".. aus.. ") coniugato all'indicativo presente seguito dal participio passato" trappros = "ausiliare (".. aus.. ") coniugato all'indicativo imperfetto seguito dal participio passato" traprem = "ausiliare (".. aus.. ") coniugato all'indicativo passato remoto seguito dal participio passato" futant = "ausiliare (".. aus.. ") coniugato all'indicativo futuro seguito dal participio passato" condpas = "ausiliare (".. aus.. ") coniugato al condizionale presente seguito dal participio passato" congpas = "ausiliare (".. aus.. ") coniugato al congiuntivo presente seguito dal participio passato" congtrap = "ausiliare (".. aus.. ") coniugato al congiuntivo imperfetto seguito dal participio passato" end -- Costruisce la tabella di coniugazione conj = '{| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px" class="inflection-table"\n' conj = conj .. '|-\n' conj = conj .. '! colspan="1" style="background:#e2e4c0" | infinito\n' conj = conj .. '| colspan="1" | ' .. inf .. '\n' conj = conj .. '|-\n' conj = conj .. '! colspan="2" style="background:#e2e4c0" | verbo ausiliare\n' conj = conj .. '| colspan="1" | ' .. aus ..'\n' conj = conj .. '! colspan="2" style="background:#e2e4c0" | gerundio\n' conj = conj .. '| colspan="2" | ' .. ger .. '\n' conj = conj .. '|-\n! colspan="2" style="background:#e2e4c0" | participio presente\n' conj = conj .. '| colspan="1" | ' .. par .. '\n' conj = conj .. '! colspan="2" style="background:#e2e4c0" | participio passato\n' conj = conj .. '| colspan="2" | ' .. pp .. '\n' conj = conj .. '|-\n! colspan="1" rowspan="2" style="background:#C0C0C0" | persona\n' conj = conj .. '! colspan="3" style="background:#C0C0C0" | singolare\n' conj = conj .. '! colspan="3" style="background:#C0C0C0" | plurale\n' conj = conj .. '|-\n! style="background:#C0C0C0;width:12.5%" | prima\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | seconda\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | terza\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | prima\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | seconda\n' conj = conj .. '! style="background:#C0C0C0;width:12.5%" | terza\n' conj = conj .. '|-\n! style="background:#c0cfe4" colspan="1" | indicativo\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" | presente\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" | imperfetto\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" | passato remoto\n' conj = conj .. '|' .. mi .. prem1s .. '\n|' .. ti .. prem2s .. '\n|' .. si .. prem3s .. '\n|' .. ci .. prem1p .. '\n|' .. vi .. prem2p .. '\n|' .. si .. prem3p .. '\n' conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | futuro\n' conj = conj .. '|' .. mi .. fut1s .. '\n|' .. ti .. fut2s .. '\n|' .. si .. fut3s .. '\n|' .. ci .. fut1p .. '\n|' .. vi .. fut2p .. '\n|' .. si .. fut3p .. '\n' conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | passato prossimo\n' conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="mw-collapsible mw-collapsed" style="border:0" data-expandtext="▼ Espandi" data-collapsetext="▲ Nascondi">'.. paspros.. '<div class="mw-collapsible-content">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. mi .. paspros1s .. '||' .. ti .. paspros2s .. '||' .. si .. paspros3s .. '||' .. ci .. paspros1p .. '||' .. vi .. paspros2p .. '\n|' .. si .. paspros3p .. '\n |- \n |}</div></div>\n' conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | trapassato prossimo\n' conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="mw-collapsible mw-collapsed" style="border:0" data-expandtext="▼ Espandi" data-collapsetext="▲ Nascondi">'.. trappros.. '<div class="mw-collapsible-content">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. mi .. trappros1s .. '\n|' .. ti .. trappros2s .. '\n|' .. si .. trappros3s .. '\n|' .. ci .. trappros1p .. '\n|' .. vi .. trappros2p .. '\n|' .. si .. trappros3p .. '\n |- \n |}</div></div>\n' conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | trapassato remoto\n' conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="mw-collapsible mw-collapsed" style="border:0" data-expandtext="▼ Espandi" data-collapsetext="▲ Nascondi">'.. traprem.. '<div class="mw-collapsible-content">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. mi .. traprem1s .. '\n|' .. ti .. traprem2s .. '\n|' .. si .. traprem3s .. '\n|' .. ci .. traprem1p .. '\n|' .. vi .. traprem2p .. '\n|' .. si .. traprem3p .. '\n |- \n |}</div></div>\n' conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | futuro anteriore\n' conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="mw-collapsible mw-collapsed" style="border:0" data-expandtext="▼ Espandi" data-collapsetext="▲ Nascondi">'.. futant.. '<div class="mw-collapsible-content">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. mi .. futant1s .. '\n|' .. ti .. futant2s .. '\n|' .. si .. futant3s .. '\n|' .. ci .. futant1p .. '\n|' .. vi .. futant2p .. '\n|' .. si .. futant3p .. '\n |- \n |}</div></div>\n' conj = conj .. '|-\n! style="background:#c0d8e4" colspan="1" | condizionale\n' conj = conj .. '! style="background:#c0d8e4" | io\n' conj = conj .. '! style="background:#c0d8e4" | tu\n' conj = conj .. '! style="background:#c0d8e4" | lui/lei\n' conj = conj .. '! style="background:#c0d8e4" | noi\n' conj = conj .. '! style="background:#c0d8e4" | voi\n' conj = conj .. '! style="background:#c0d8e4" | essi/esse\n' conj = conj .. '|-\n! style="height:3em;background:#c0d8e4" colspan="1" | presente\n' conj = conj .. '|' .. mi .. cond1s .. '\n|' .. ti .. cond2s .. '\n|' .. si .. cond3s .. '\n|' .. ci .. cond1p .. '\n|' .. vi .. cond2p .. '\n|' .. si .. cond3p .. '\n' conj = conj .. '|-\n! style="height:3em;background:#c0d8e4" colspan="1" | passato\n' conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="mw-collapsible mw-collapsed" style="border:0" data-expandtext="▼ Espandi" data-collapsetext="▲ Nascondi">'.. condpas.. '<div class="mw-collapsible-content">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. mi .. condpas1s .. '\n|' .. ti .. condpas2s .. '\n|' .. si .. condpas3s .. '\n|' .. ci .. condpas1p .. '\n|' .. vi .. condpas2p .. '\n|' .. si .. condpas3p .. '\n |- \n |}</div></div>\n' conj = conj .. '|-\n! style="background:#c0e4c0" colspan="1" | congiuntivo\n' conj = conj .. '! style="background:#c0e4c0" | che io\n' conj = conj .. '! style="background:#c0e4c0" | che tu\n' conj = conj .. '! style="background:#c0e4c0" | che lui/che lei\n' conj = conj .. '! style="background:#c0e4c0" | che noi\n' conj = conj .. '! style="background:#c0e4c0" | che voi\n' conj = conj .. '! style="background:#c0e4c0" | che essi/che esse\n|-\n' conj = conj .. '! style="height:3em;background:#c0e4c0" | presente\n' conj = conj .. '|' .. mi .. cong123s .. '\n|' .. ti .. cong123s .. '\n|' .. si .. cong3s .. '\n|' .. ci .. cong1p .. '\n|' .. vi .. cong2p .. '\n|' .. si .. cong3p .. '\n' conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" rowspan="1" | imperfetto\n' conj = conj .. '|' .. mi .. congimp12s .. '\n|' .. ti .. congimp12s .. '\n|' .. si .. congimp3s .. '\n|' .. ci .. congimp1p .. '\n|' .. vi .. congimp2p .. '\n|' .. si .. congimp3p .. '\n' conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" colspan="1" | passato\n' conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="mw-collapsible mw-collapsed" style="border:0" data-expandtext="▼ Espandi" data-collapsetext="▲ Nascondi">'.. congpas.. '<div class="mw-collapsible-content">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. mi .. congpas1s .. '\n|' .. ti .. congpas2s .. '\n|' .. si .. congpas3s .. '\n|' .. ci .. congpas1p .. '\n|' .. vi .. congpas2p .. '\n|' .. si .. congpas3p .. '\n |- \n |}</div></div>\n' conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" colspan="1" | trapassato\n' conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="mw-collapsible mw-collapsed" style="border:0" data-expandtext="▼ Espandi" data-collapsetext="▲ Nascondi">'.. congtrap.. '<div class="mw-collapsible-content">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. mi .. congtrap1s .. '\n|' .. ti .. congtrap2s .. '\n|' .. si .. congtrap3s .. '\n|' .. ci .. congtrap1p .. '\n|' .. vi .. congtrap2p .. '\n|' .. si .. congtrap3p .. '\n |- \n |}</div></div>\n' conj = conj .. '|-\n! colspan="1" rowspan="2" style="height:3em;background:#e4d4c0" | imperativo\n' conj = conj .. '! style="background:#e4d4c0" | -\n' conj = conj .. '! style="background:#e4d4c0" | tu\n' conj = conj .. '! style="background:#e4d4c0" | lui/lei\n' conj = conj .. '! style="background:#e4d4c0" | noi\n' conj = conj .. '! style="background:#e4d4c0" | voi\n' conj = conj .. '! style="background:#e4d4c0" | essi/esse\n' conj = conj .. '|-\n|\n' conj = conj .. '|' .. imp2s .. '\n|' .. si .. imp3s .. '\n|' .. imp1p .. '\n|' .. imp2p .. '\n|' .. si .. imp3p .. '\n' conj = conj .. '|-\n' conj = conj .. '|}' return conj end function p.over(x,over,xtra) -- Utilizzato all'interno della funzione itconj -- Rimpiazza una voce verbale standard con quella eventualmente indicata nel template (se quest'ultimo è un link rosso, aggiunge anche la relativa categoria) if over == nil then return x end if over < "a" then return '' end if xtra == 0 then return over .. " " end -- for reflexive pronouns if over >= "a" and mw.title.new(over).exists == false then RedCat = "[[Categoria:Verbi italiani con forme da scrivere|".. mw.title.getCurrentTitle().subpageText.. "]] " else RedCat = "" end return RedCat.. "[[" .. over .. "#Italiano|" .. over .. "]]" end function p.wiki(x) -- Utilizzato all'interno della funzione itconj if x == nil then return " " end if x == "" then return " " end -- aggiunge la categoria link rossi if x == (stem.. "are") or x == (stem.. "iare") or x == (stem.. "ere") or x == (stem.. "gliere") or x == (stem.. "ire") or x == (stem.. "urre") or x == (stem.. "orre") or x == (stem.. "fare") then --per la voce all'infinito if x >= "a" and mw.title.new(x).exists == false then RedCat = "[[Categoria:Verbi italiani da scrivere|".. mw.title.getCurrentTitle().subpageText.. "]] " else RedCat = "" end else --per tutte le altre if x >= "a" and mw.title.new(x).exists == false then RedCat = "[[Categoria:Verbi italiani con forme da scrivere|".. mw.title.getCurrentTitle().subpageText.. "]] " else RedCat = "" end end -- Rende il suo argomento un wikilink, o lo rende nullo se non definito (per facilitare la concatenazione) return RedCat.. "[[" .. x .. "#Italiano|" .. x .. "]]" end function p.alts(x,y) -- Utilizzato all'interno della funzione itconj -- Aggiunge le eventuali forme alternative, se specificate nel template, separandole da quelle base con una virgola -- if y == nil then return x end if y >= "a" then return x .. ", " .. y end return x end function p.plurale(pos, str, r) -- Utilizzato all'interno della funzione itconj --genera automaticamente il plurale del participio passato return str:sub(1, pos-1) .. r end return p