Modulo:It-conj/Sandbox
Aspetto
La documentazione per questo modulo può essere creata in Modulo:It-conj/Sandbox/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 = {}
local function categorizza(cat, titolo)
local NS = tostring(mw.title.getCurrentTitle().namespace);
if NS == '100' then
return string.format('[[%s:%s|%s]]', mw.site.namespaces[14].name, cat, titolo)
else
return ''
end
end
function p.itconj(frame)
pframe = frame:getParent()
config = frame.args
args = pframe.args
titolo = mw.title.getCurrentTitle().subpageText --il titolo della pagina, senza 'Appendice/Coniugazioni/Italiano'
-- Argomenti passati dal template
stem = args[1]
aus = config["ausiliare"] or " "
-- Inizializzazione di tutte le variabili interne, che potrebbero altrimenti risultare nulle
descr = ""; conjdescr = ""; conjcat = ""; reg_irreg = ""; irregolare = ""; irregolarecat = ""; irregolaredescr = ""
refl_exist = ""; refl_link = ""; refl_conjlink = ""
ausiliare = ""
inf = ""; ger = ""; par= ""; pp = ""; pplur = ""; pprifl = ""
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 = ""; imp2sneg = ""; 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
if mw.title.new(stem.. "arsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "arsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "arsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "arsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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
if mw.title.new(stem.. "arsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "arsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "arsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "arsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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 == "iare") or (type == "iarsi") then
if mw.title.new(stem.. "arsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "arsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "arsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "arsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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
if mw.title.new(stem.. "iarsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "iarsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "iarsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "iarsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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 == "ere") or (type == "ersi") then
if mw.title.new(stem.. "ersi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "ersi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "ersi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "ersi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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
if mw.title.new(stem.. "gliersi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "gliersi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "gliersi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "gliersi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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") or (type == "irsi") then
if mw.title.new(stem.. "irsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "irsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "irsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "irsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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 == "ire-b") or (type == "irsi-b") then
if mw.title.new(stem.. "irsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "irsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "irsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "irsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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 == "fare" or (type == "farsi") then
if mw.title.new(stem.. "farsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "farsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "farsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "farsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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
if mw.title.new(stem.. "ursi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "ursi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "ursi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "ursi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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
if mw.title.new(stem.. "orsi").exists == true or mw.title.new("Appendice:Coniugazioni/Italiano/".. stem.. "orsi").exists == true then --cerca se esiste il lemma o la coniugazione della forma riflessiva del verbo
refl_exist = true; refl_link = p.wiki(stem .. "orsi"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "orsi|coniugazione]])" --se esiste il riflessivo, genera link al verbo in ns0 e alla relativa coniugazione in appendice
else
refl_exist = false; refl_link = ""; refl_conjlink = "" --se non esiste il riflessivo, annulla i link
end
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_link = p.wiki(stem .. "are"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "are|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "arsi")
ger = p.wiki(stem .. "andosi"); par = p.wiki(stem .. "antesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "atosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "ati")
imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "atevi")
elseif type == "carsi" or type == "garsi" then
refl_link = p.wiki(stem .. "are"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "are|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "arsi")
ger = p.wiki(stem .. "andosi"); par = p.wiki(stem .. "antesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "atosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "ati")
imp1p = p.wiki(stem .. "hiamoci"); imp2p = p.wiki(stem .. "atevi")
elseif type == "iarsi" then
refl_link = p.wiki(stem .. "are"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "are|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "arsi")
ger = p.wiki(stem .. "andosi"); par = p.wiki(stem .. "antesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "atosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "ati")
imp1p = p.wiki(stem .. "amoci"); imp2p = p.wiki(stem .. "atevi")
elseif type == "ciarsi" or type == "giarsi" then
refl_link = p.wiki(stem .. "iare"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "iare|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "iarsi")
ger = p.wiki(stem .. "iandosi"); par = p.wiki(stem .. "iantesi"); pprifl = ", ".. p.wiki(stem .. "iatosi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "iatosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "iati")
imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "iatevi")
elseif type == "ersi" then
refl_link = p.wiki(stem .. "ere"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "ere|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "ersi")
ger = p.wiki(stem .. "endosi"); par = p.wiki(stem .. "entesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "utosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "iti")
imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "etevi")
elseif type == "gliersi" then
refl_link = p.wiki(stem .. "gliere"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "gliere|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "gliersi")
ger = p.wiki(stem .. "gliendosi"); par = p.wiki(stem .. "glientesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "ltosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "gliti")
imp1p = p.wiki(stem .. "gliamoci"); imp2p = p.wiki(stem .. "glietevi")
elseif type == "irsi" then
refl_link = p.wiki(stem .. "ire"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "ire|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "irsi")
ger = p.wiki(stem .. "endosi"); par = p.wiki(stem .. "entesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "itosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "iti")
imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "itevi")
elseif type == "irsi-b" then
refl_link = p.wiki(stem .. "ire"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "ire|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "irsi")
ger = p.wiki(stem .. "endosi"); par = p.wiki(stem .. "entesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "itosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "isciti")
imp1p = p.wiki(stem .. "iamoci"); imp2p = p.wiki(stem .. "itevi")
elseif type == "ursi" then
refl_link = p.wiki(stem .. "urre"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "urre|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "ursi")
ger = p.wiki(stem .. "ucendosi"); par = p.wiki(stem .. "ucentesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "ottosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "uciti")
imp1p = p.wiki(stem .. "uciamoci"); imp2p = p.wiki(stem .. "ucetevi")
elseif type == "orsi" then
refl_link = p.wiki(stem .. "orre"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "orre|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "orsi")
ger = p.wiki(stem .. "onendosi"); par = p.wiki(stem .. "onentesi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "stosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "oniti")
imp1p = p.wiki(stem .. "oniamoci")
imp2p = p.wiki(stem .. "onetevi")
elseif type == "farsi" then
refl_link = p.wiki(stem .. "fare"); refl_conjlink = " ([[Appendice:Coniugazioni/Italiano/".. stem .. "fare|coniugazione]])" --genera il link alla forma attiva del verbo in ns0 e alla relativa coniugazione in appendice
refl = true; inf = p.wiki(stem .. "farsi")
ger = p.wiki(stem .. "facendosi"); par = p.wiki(stem .. "facentesi"); pprifl = ", ".. p.wiki(stem .. "fattosi")
if args["pp"] ~= nil then pprifl = p.wiki(args["pp"] .. "si") else pprifl = p.wiki(stem .. "fattosi") end
if args["pp2"] ~= nil then pprifl2 = ", ".. p.wiki(args["pp2"] .. "si"); pprifl = pprifl.. pprifl2 end
imp2s = p.wiki(stem .. "fatti")
imp1p = p.wiki(stem .. "facciamoci"); imp2p = p.wiki(stem .. "fatevi")
end
if refl then refl_exist = true; 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.wiki(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"])
if type == "ere" or type == "ersi" then --per il passato remoto, c'è un'opzione in più per i verbi in -ere che se regolari hanno doppia uscita
prem1s2 = p.over(prem1s2,args["prem1s2"]); prem2s2 = p.over(prem2s2,args["prem2s2"]); prem3s2 = p.over(prem3s2,args["prem3s2"])
prem1p2 = p.over(prem1p2,args["prem1p2"]); prem2p2 = p.over(prem2p2,args["prem2p2"]); prem3p2 = p.over(prem3p2,args["prem3p2"])
else
prem1s2 = p.wiki(args["prem1s2"]); prem2s2 = p.wiki(args["prem2s2"]); prem3s2 = p.wiki(args["prem3s2"])
prem1p2 = p.wiki(args["prem1p2"]); prem2p2 = p.wiki(args["prem2p2"]); prem3p2 = p.wiki(args["prem3p2"])
end
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 (terza uscita)
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)
if imp2s > "0" then --genera la stringa per l'imperativo negativo di seconda persona singolare
if refl then
imp2sneg = ",</br> non ".. mw.ustring.sub(inf, 1, -5).. "ti]]"
else
imp2sneg = ",</br> non ".. inf
end
end
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)
--cerca se uno qualsiasi dei parametri è definito, e in base a questo definisce la stringa reg_irreg come "irregolare" o "regolare"
if
args["inf"] ~= nil or args["ger"] ~= nil or args["par"] ~= nil or args["pp"] ~= nil
or args["pres1s"] ~= nil or args["pres1s2"] ~= nil or args["pres2s"] ~= nil or args["pres3s"] ~= nil or args["pres1p"] ~= nil or args["pres2p"] ~= nil or args["pres3p"] ~= nil
or args["imperf1s"] ~= nil or args["imperf2s"] ~= nil or args["imperf3s"] ~= nil or args["imperf1p"] ~= nil or args["imperf2p"] ~= nil or args["imperf3p"] ~= nil
or args["prem1s"] ~= nil or args["prem1s2"] ~= nil or args["prem2s"] ~= nil or args["prem3s"] ~= nil or args["prem3s2"] ~= nil or args["prem1p"] ~= nil or args["prem2p"] ~= nil or args["prem3p"] ~= nil or args["prem3p2"] ~= nil
or args["fut1s"] ~= nil or args["fut2s"] ~= nil or args["fut3s"] ~= nil or args["fut1p"] ~= nil or args["fut2p"] ~= nil or args["fut3p"] ~= nil
or args["cond1s"] ~= nil or args["cond2s"] ~= nil or args["cond3s"] ~= nil or args["cond1p"] ~= nil or args["cond2p"] ~= nil or args["cond3p"] ~= nil
or args["cong123s"] ~= nil or args["cong1p"] ~= nil or args["cong2p"] ~= nil or args["cong3p"] ~= nil
or args["imp12s"] ~= nil or args["imp3s"] ~= nil or args["imp1p"] ~= nil or args["imp2p"] ~= nil or args["imp3p"] ~= nil
or args["imp2s2"] ~= nil or args["imp2s3"] ~= nil or args["imp3s"] ~= nil or args["imp1p"] ~= nil or args["imp2p"] ~= nil or args["imp3p"] ~= nil
then
if args["irregolare"] == "no" then
irregolaredescr = ""; reg_irreg = " regolari "
else
irregolaredescr = " '''(irregolare)'''"; reg_irreg = " irregolari "
end
else --se nessun parametro è definito...
if type == "gliere" or type == "gliersi" or type == "urre" or type == "ursi" or type == "orre" or type == "orsi" or type == "fare" or type == "farsi" then --questi qui sono comunque irregolari anche se non hanno parametri definiti
irregolaredescr = " '''(irregolare)'''"; reg_irreg = " irregolari "
else --per tutti gli altri senza parametri definiti, le categorie diventano "regolari"
irregolaredescr = ""; reg_irreg = " regolari "
end
end
--in base alla desinenza "type", costruisce la descizione e aggiunge le categorie
if type == "are" or type == "care" or type == "gare" or type == "ciare" or type == "giare" or type == "iare" then
conjdescr = "'''verbo di prima coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di prima coniugazione in italiano",titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano",titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di prima coniugazione in italiano",titolo)
elseif type == "fare" then
conjdescr = "'''verbo di prima coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di prima coniugazione in italiano",titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo)..''..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di prima coniugazione in italiano",titolo)
elseif type == "ere" then
conjdescr = "'''verbo di seconda coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di seconda coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di seconda coniugazione in italiano", titolo)
elseif type == "gliere" then
conjdescr = "'''verbo di seconda coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di seconda coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di seconda coniugazione in italiano", titolo)
elseif type == "urre" then
conjdescr = "'''verbo di seconda coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di seconda coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di seconda coniugazione in italiano", titolo)
elseif type == "orre" then
conjdescr = "'''verbo di seconda coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di seconda coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di seconda coniugazione in italiano", titolo)
elseif type == "ire" then
conjdescr = "'''verbo di terza coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di terza coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di terza coniugazione in italiano", titolo)
elseif type == "ire-b" then
conjdescr = "'''verbo incoativo di terza coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi incoativi in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi incoativi".. reg_irreg.. "in italiano", titolo)
elseif type == "arsi" or type == "carsi" or type == "garsi" or type == "ciarsi" or type == "giarsi" or type == "iarsi" or type == "farsi" then
conjdescr = "'''verbo riflessivo pronominale di prima coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di prima coniugazione in italiano",titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali di prima coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di prima coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "di prima coniugazione in italiano", titolo)
elseif type == "ersi" or type == "gliersi" or type == "ursi" or type == "orsi" then
conjdescr = "'''verbo riflessivo pronominale di seconda coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di seconda coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali di seconda coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di seconda coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "di seconda coniugazione in italiano", titolo)
elseif type == "irsi" then
conjdescr = "'''verbo riflessivo pronominale di terza coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali di terza coniugazione in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "di terza coniugazione in italiano", titolo)
elseif type == "irsi-b" then
conjdescr = "'''verbo incoativo riflessivo pronominale di terza coniugazione'''"; conjcat = categorizza("Coniugazioni dei verbi di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi incoativi in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali incoativi in italiano", titolo)
irregolarecat = categorizza("Coniugazioni dei verbi".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi".. reg_irreg.. "di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali".. reg_irreg.. "di terza coniugazione in italiano", titolo).." "..categorizza("Coniugazioni dei verbi riflessivi pronominali incoativi".. reg_irreg.. "in italiano", titolo)
end
--stringa "descrizione", raggruppa tutte le stringhe definite prima per la descrizione e le categorie della coniugazione, regolari/irregolari e riflessivi
descrizione = categorizza("Coniugazioni in italiano", titolo).. conjdescr.. irregolaredescr.. conjcat.. irregolarecat
-- 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 args["pp2"] ~= nil 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="8" style="background:#ffe4c4; text-align:center" | ' .. descrizione .. '\n'
conj = conj .. '|-\n'
if refl_exist == true then --se esiste il riflessivo pronominale del verbo, o se il verbo È riflessivo, fa spazio in tabella per aggiungere i relativi link generati precedentemente
conj = conj .. '! colspan="1" style="background:#e2e4c0" | infinito\n'
conj = conj .. '| colspan="2" | ' .. inf .. '\n'
if refl == true then --ulteriore variabile, se il verbo è riflessivo la dicitura della casella è "forma attiva", se no "riflessivo pronominale"
conj = conj .. '! colspan="2" style="background:#e2e4c0" | foma attiva\n'
else
conj = conj .. '! colspan="2" style="background:#e2e4c0" | riflessivo pronominale\n'
end
conj = conj .. '| colspan="2" | ' .. refl_link .. refl_conjlink.. '\n'
conj = conj .. '|-\n'
else --se non esiste il riflessivo, la relativa cella si toglie di torno
conj = conj .. '! colspan="1" style="background:#e2e4c0" | infinito\n'
conj = conj .. '| colspan="1" | ' .. inf .. '\n'
conj = conj .. '|-\n'
end
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'
if refl == true then --se il verbo è riflessivo, inserisce in tabella il participio passato con la particella pronominale
conj = conj .. '| colspan="2" | ' .. pprifl .. '\n'
else --altrimenti, inserisce il normale participio passato
conj = conj .. '| colspan="2" | ' .. pp .. '\n'
end
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 .. imp2sneg.. '\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 = categorizza("Verbi italiani con forme da scrivere", titolo)
else
RedCat = ""
end
if RedCat > "0" then
return RedCat.. " [[" .. over .. "#Italiano|" .. over .. "]]"
else
return "[[" .. over .. "#Italiano|" .. over .. "]]"
end
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 = categorizza("Verbi italiani da scrivere", titolo)
else
RedCat = ""
end
else --per tutte le altre
if x >= "a" and mw.title.new(x).exists == false then
RedCat = categorizza("Verbi italiani con forme da scrivere", titolo)
else
RedCat = ""
end
end
-- Rende il suo argomento un wikilink, o lo rende nullo se non definito (per facilitare la concatenazione)
if RedCat > "0" then
return RedCat.. " [[" .. x .. "#Italiano|" .. x .. "]]"
else
return "[[" .. x .. "#Italiano|" .. x .. "]]"
end
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 == '' then return x end
if y > "0" 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