Modul:Verb: Unterschied zwischen den Versionen

Aus KGS-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
local perfGV = ''
local perfGV = ''


function p.init(frame)
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'
     inf    = frame:getParent().args[1] or 'Infinitiv'
     praes  = frame:getParent().args[2] or 'Präsensstamm + '
     praes  = frame:getParent().args[2] or 'Präsensstamm + '
Zeile 17: Zeile 22:
end
end


function p.bildePraesens(frame)
function bildePraesens(frame)
     formen = {}
     formen = {}
     formen['aktiv'] = {}
     for i = 1, 4, 1 do
     formen['passiv'] = {}
        formen[i] = {}
     formen['aktiv']['indikativ'] = {}
     end
     formen['passiv']['konjunktiv'] = {}
     if praes:match("a$") then
     formen['aktiv']['indikativ'] = {}
        formen[IND_AKT][1] = praes:sub(2,-2) .. 'o'
     formen['passiv']['konjunktiv'] = {}
     else
        formen[IND_AKT][1] = praes .. 'o'
     end
     return formen[IND_AKT][1]
end
end


function p.render(tempus, formen)
function p.render(tempus, formen)
    init()
    praesens = bildePraesens()
     local table = ''
     local table = ''
     table = table .. '{| class="wikitable mw-collapsible <noinclude>mw-collapsed</noinclude>"\n'
     table = table .. '{| class="wikitable mw-collapsible <noinclude>mw-collapsed</noinclude>"\n'
     table = table .. '|+ Präsens\n'
     table = table .. '|+ Präsens\n'
     table = table .. '|}'
     table = table .. '|}'
     return table
     return praesens
end
end



Version vom 6. März 2024, 17:09 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.
Erläuterung
{{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.
Erlaubte Werte
  • AP: Verb bildet Aktiv- und Passivformen (Standard)
  • A: Verb bildet nur Aktivformen
  • P: Verb bildet nur Passivformen (Deponens)
PerfGV=AP}} Optional: Verfügbare Genera verbi in den perfektischen Zeiten.
Erlaubte Werte
  • AP: Verb bildet Aktiv- und Passivformen (Standard)
  • A: Verb bildet nur Aktivformen
  • P: Verb bildet nur Passivformen (Deponens)
👉
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 = {}
    for i = 1, 4, 1 do
        formen[i] = {}
    end
    if praes:match("a$") then
        formen[IND_AKT][1] = praes:sub(2,-2) .. 'o'
    else
        formen[IND_AKT][1] = praes .. 'o'
    end
    return formen[IND_AKT][1]
end

function p.render(tempus, formen)
    init()
    praesens = bildePraesens()
    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