Modul:Verb: Unterschied zwischen den Versionen
Aus KGS-Wiki
Sn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Sn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 24: | Zeile 24: | ||
function bildePraesens(frame) | function bildePraesens(frame) | ||
formen = {} | formen = {} | ||
endungen = {{'o', 's', 't', 'mus', 'tis', 'nt'}; | |||
{'or', 'ris', 'tur', 'mur', 'mini', 'ntur'}} | |||
for i = 1, 4, 1 do | for i = 1, 4, 1 do | ||
formen[i] = {} | formen[i] = {} | ||
end | end | ||
if praes:match("a$") then | if praes:match("a$") then | ||
formen[IND_AKT][1] = praes:sub( | formen[IND_AKT][1] = praes:sub(1,-2) .. 'o' | ||
formen[IND_PASS][1] = praes:sub(1,-2) .. 'or' | |||
formen[ | |||
end | end | ||
for person = 1, 6, 1 do | |||
formen[IND_AKT][person] = formen[IND_AKT][person] or praes .. endungen[IND_AKT][person] | |||
formen[IND_PASS][person] = formen[IND_PASS][person] or praes .. endungen[IND_PASS][person] | |||
end | |||
return tostring(formen) | |||
end | end | ||
Version vom 6. März 2024, 17:16 Uhr
Dieses Modul erzeugt lateinische Konjugationstabellen aus gegebenen Stämmen.
Beispiel
{{subst:#invoke:Verb|render|dare|20|da|ded|28|dat|47|PraesGV=AP|PerfGV=AP}}
für ein Vollverb mit Aktiv und Passiv in Präsens- und Perfektstämmen{{subst:#invoke:Verb|render|sequi||sequ|||secut||PraesGV=P|PerfGV=P}}
für ein Deponens{{subst:#invoke:Verb|render|gaudere|4|gaude|||gavis||PraesGV=AP|PerfGV=P}}
für ein Semideponens, das in Perfektstämmen nur Passivformen bildet{{subst:#invoke:Verb|render|facere|17|faci|fec|27|||PraesGV=A|PerfGV=A}}
für ein Defectivum, das nur aktivische Formen bildet.
{{subst:
|
Immer nur mit subst einbinden, damit die Formen im Seitenquelltext landen und für die Suchfunktion auffindbar sind.
|
---|---|
#invoke:Verb|
|
Name des Moduls |
render|
|
rufe die Funktion render auf
|
irrumare|
|
Infinitiv |
0|
|
Optional: Lektion, in der der Infinitiv eingeführt wurde |
irruma|
|
Präsensstamm |
irrumav|
|
Perfektstamm |
0|
|
Optional: Lektion, in der der Perfektstamm eingeführt wurde |
irrumat|
|
Stamm des PPP |
0|
|
Optional: Lektion, in der das PPP eingeführt wurde |
PraesGV=AP
|
Optional: Verfügbare Genera verbi in den präsentischen Zeiten.
|
PerfGV=AP}}
|
Optional: Verfügbare Genera verbi in den perfektischen Zeiten.
|
Hinweis
Dieses Modul sollte immer mit subst:
eingebunden werden, damit alle Formen im durchsuchbaren Seitenquelltext landen und eine Suche nach dem auch zu dare führt.
local p = {}
local inf = ''
local praes = ''
local perf = ''
local ppp = ''
local praesGV = ''
local perfGV = ''
local IND_AKT = 1
local KONJ_AKT = 2
local IND_PASS = 3
local KONJ_PASS= 4
function init(frame)
inf = frame:getParent().args[1] or 'Infinitiv'
praes = frame:getParent().args[2] or 'Präsensstamm + '
perf = frame:getParent().args[3] or 'Perfektstamm + '
ppp = frame:getParent().args[4] or 'PPP-Stamm + '
praesGV= frame:getParent().args.PraesGV or 'AP'
perfGV = frame:getParent().args.PerfGV or 'AP'
end
function bildePraesens(frame)
formen = {}
endungen = {{'o', 's', 't', 'mus', 'tis', 'nt'};
{'or', 'ris', 'tur', 'mur', 'mini', 'ntur'}}
for i = 1, 4, 1 do
formen[i] = {}
end
if praes:match("a$") then
formen[IND_AKT][1] = praes:sub(1,-2) .. 'o'
formen[IND_PASS][1] = praes:sub(1,-2) .. 'or'
end
for person = 1, 6, 1 do
formen[IND_AKT][person] = formen[IND_AKT][person] or praes .. endungen[IND_AKT][person]
formen[IND_PASS][person] = formen[IND_PASS][person] or praes .. endungen[IND_PASS][person]
end
return tostring(formen)
end
function p.render(frame)
init(frame)
praesens = bildePraesens(frame)
local table = ''
table = table .. '{| class="wikitable mw-collapsible <noinclude>mw-collapsed</noinclude>"\n'
table = table .. '|+ Präsens\n'
table = table .. '|}'
return praesens
end
function p.helloworld(frame)
return "hello world"
end
return p