Přeskočit na obsah

Modul:Vzor scheuern

Z Wikislovníku

Dokumentaci tohoto modulu lze vytvořit na stránce Nápověda:Modul:Vzor scheuern

--pracuje se--
local p = {}
function p.vzor(frame)
	local pargs = frame:getParent().args
	local title = mw.title.getCurrentTitle()

local deklination = {"st","sw","mi"}
local gender = {{"s","m"},{"s","f"},{"s","n"},{"p",""}}
local casus = {"nom","gen","dat","acc"}
local artikel = {
	["swsnomm"] = "der",
	["swsgenm"] = "des",
	["swsdatm"] = "dem",
	["swsaccm"] = "den",
	["swsnomf"] = "die",
	["swsgenf"] = "der",
	["swsdatf"] = "der",
	["swsaccf"] = "die",
	["swsnomn"] = "das",
	["swsgenn"] = "des",
	["swsdatn"] = "dem",
	["swsaccn"] = "das",
	["swpnom"] = "die",
	["swpgen"] = "der",
	["swpdat"] = "den",
	["swpacc"] = "die",
	["misnomm"] = "ein",
	["misgenm"] = "eines",
	["misdatm"] = "einem",
	["misaccm"] = "einen",
	["misnomf"] = "eine",
	["misgenf"] = "einer",
	["misdatf"] = "einer",
	["misaccf"] = "eine",
	["misnomn"] = "ein",
	["misgenn"] = "eines",
	["misdatn"] = "einem",
	["misaccn"] = "ein",
	["mipnom"] = "keine",
	["mipgen"] = "keiner",
	["mipdat"] = "keinen",
	["mipacc"] = "keine",
}
local suffixA = {
	["stsnomm"] = "er",
	["stsgenm"] = "en",
	["stsdatm"] = "em",
	["stsaccm"] = "en",
	["stsnomf"] = "e",
	["stsgenf"] = "er",
	["stsdatf"] = "er",
	["stsaccf"] = "e",
	["stsnomn"] = "es",
	["stsgenn"] = "en",
	["stsdatn"] = "em",
	["stsaccn"] = "es",
	["stpnom"] = "e",
	["stpgen"] = "er",
	["stpdat"] = "en",
	["stpacc"] = "e",
	["swsnomm"] = "e",
	["swsgenm"] = "en",
	["swsdatm"] = "en",
	["swsaccm"] = "en",
	["swsnomf"] = "e",
	["swsgenf"] = "en",
	["swsdatf"] = "en",
	["swsaccf"] = "e",
	["swsnomn"] = "e",
	["swsgenn"] = "en",
	["swsdatn"] = "en",
	["swsaccn"] = "e",
	["swpnom"] = "en",
	["swpgen"] = "en",
	["swpdat"] = "en",
	["swpacc"] = "en",
	["misnomm"] = "er",
	["misgenm"] = "en",
	["misdatm"] = "en",
	["misaccm"] = "en",
	["misnomf"] = "e",
	["misgenf"] = "en",
	["misdatf"] = "en",
	["misaccf"] = "e",
	["misnomn"] = "es",
	["misgenn"] = "en",
	["misdatn"] = "en",
	["misaccn"] = "es",
	["mipnom"] = "en",
	["mipgen"] = "en",
	["mipdat"] = "en",
	["mipacc"] = "en",
}
local suffixV = {
	["pr"] = {
		["1s"] = "e",
		["2s"] = "st",
		["3s"] = "t",
		["1p"] = "en",
		["2p"] = "et",
		["3p"] = "en",
	},
	["pt"] = {
		["1s"] = "e",
		["2s"] = "est",
		["3s"] = "e",
		["1p"] = "en",
		["2p"] = "et",
		["3p"] = "en",
	},
}
local auTvary = {
	["sein"] ={
		["inf"] = "sein",
		["papr"] = "gewesen",
		["inpra"] = {
			["1s"] = "bin",
			["2s"] = "bist",
			["3s"] = "ist",
			["1p"] = "sind",
			["2p"] = "seid",
			["3p"] = "sind",
		},
		["inpta"] = {
			["1s"] = "war",
			["2s"] = "warst",
			["3s"] = "war",
			["1p"] = "waren",
			["2p"] = "wart",
			["3p"] = "waren",
		},
		["k1pra"] = {
			["1s"] = "sei",
			["2s"] = {"seist", "seiest",},
			["3s"] = "sei",
			["1p"] = "seien",
			["2p"] = "seiet",
			["3p"] = "seien",
		},
		["k2pta"] = {
			["1s"] = "wäre",
			["2s"] = {"wärst", "wärest",},
			["3s"] = "wäre",
			["1p"] = "wären",
			["2p"] = {"wärt", "wäret",},
			["3p"] = "wären",
		},
	},
	["haben"] = {
		["inf"] = "haben",
		["papr"] = "gehabt",
		["inpra"] = {
			["1s"] = "habe",
			["2s"] = "hast",
			["3s"] = "hat",
			["1p"] = "haben",
			["2p"] = "habt",
			["3p"] = "haben",
		},
		["inpta"] = {
			["1s"] = "hatte",
			["2s"] = "hattest",
			["3s"] = "hatte",
			["1p"] = "hatten",
			["2p"] = "hattet",
			["3p"] = "hatten",
		},
		["k1pra"] = {
			["1s"] = "habe",
			["2s"] = "habest",
			["3s"] = "habe",
			["1p"] = "haben",
			["2p"] = "habet",
			["3p"] = "haben",
		},
		["k2pta"] = {
			["1s"] = "hätte",
			["2s"] = "hättest",
			["3s"] = "hätte",
			["1p"] = "hätten",
			["2p"] = "hättet",
			["3p"] = "hätten",
		},
	},
	["werden"] = {
		["inf"] = "werden",
		["papr"] = "worden",
		["inpra"] = {
			["1s"] = "werde",
			["2s"] = "wirst",
			["3s"] = "wird",
			["1p"] = "werden",
			["2p"] = "werdet",
			["3p"] = "werden",
		},
		["inpta"] = {
			["1s"] = "wurde",
			["2s"] = "wurdest",
			["3s"] = "wurde",
			["1p"] = "wurden",
			["2p"] = "wurdet",
			["3p"] = "wurden",
		},
		["k1pra"] = {
			["1s"] = "werde",
			["2s"] = "werdest",
			["3s"] = "werde",
			["1p"] = "werden",
			["2p"] = "werdet",
			["3p"] = "werden",
		},
		["k2pta"] = {
			["1s"] = "würde",
			["2s"] = "würdest",
			["3s"] = "würde",
			["1p"] = "würden",
			["2p"] = "würdet",
			["3p"] = "würden",
		},
	},
}

local tvary = {}
local au = pargs["au"] or frame.args["au"] or"haben"
local wurzel = pargs[3] or frame.args[3] or mw.ustring.sub(title.fullText, 1, -2 )
local kurzwurzel = mw.ustring.sub(wurzel, 1, -3) .. mw.ustring.sub(wurzel, -1, -1)
if pargs[1] and (#pargs[1]>0) then
	lzPrefix = " " .. pargs[1]
	lzZu = "zu"
else
	lzPrefix = ""
	lzZu = "zu "
end
local papr = pargs["papr"] or (wurzel .. "nd")
local pape = pargs["pape"] or ((pargs[1] or frame.args[1] or "") .. (pargs[2] or frame.args[2] or "ge") .. wurzel .. "t")
local ifpra = pargs["ifpra"] or (wurzel .. "n")

table.insert(tvary,"==== časování ====\n{{Sloveso (de)\n")
table.insert(tvary,"  | au = " .. au .. "\n")
for i,v in pairs(suffixV["pr"]) do
	table.insert(tvary,"  | inpra" .. i .. " = " .. wurzel .. v .. lzPrefix)
	if i == "s1" then
		table.insert(tvary," / " .. kurzwurzel .. v .. lzPrefix .. " / " .. wurzel .. lzPrefix .. "\n")
	else
		table.insert(tvary,"\n")
	end
end
for i,v in pairs(suffixV["pt"]) do
	table.insert(tvary,"  | inpta" .. i .. " = " .. wurzel .."t" .. v .. lzPrefix .. "\n")
end
for i,v in pairs(auTvary[au]["inpra"]) do
	table.insert(tvary,"  | inpea" .. i .. " = " .. v .. " " .. pape .. "\n")
end
for i,v in pairs(auTvary[au]["inpta"]) do
	table.insert(tvary,"  | inpla" .. i .. " = " .. v .. " " .. pape .. "\n")
end
for i,v in pairs(auTvary["werden"]["inpra"]) do
	table.insert(tvary,"  | inf1a" .. i .. " = " .. v .. " " .. ifpra .. "\n")
end
for i,v in pairs(auTvary["werden"]["inpra"]) do
	table.insert(tvary,"  | inf2a" .. i .. " = " .. v .. " " .. pape .. " " .. au .. "\n")
end
for i,v in pairs(suffixV["pt"]) do
	table.insert(tvary,"  | k1pra" .. i .. " = " .. wurzel .. v .. lzPrefix .. "\n")
end
for i,v in pairs(auTvary[au]["k1pra"]) do
	table.insert(tvary,"  | k1pea" .. i .. " = " .. v .. " " .. pape .. "\n")
end
for i,v in pairs(auTvary["werden"]["k1pra"]) do
	table.insert(tvary,"  | k1f1a" .. i .. " = " .. v .. " " .. ifpra .. "\n")
end
for i,v in pairs(auTvary["werden"]["k1pra"]) do
	table.insert(tvary,"  | k1f2a" .. i .. " = " .. v .. " " .. pape .. " " .. au .. "\n")
end
for i,v in pairs(suffixV["pt"]) do
	table.insert(tvary,"  | k2pta" .. i .. " = " .. wurzel .. "t" .. v .. lzPrefix .. "\n")
end
for i,v in pairs(auTvary[au]["k2pta"]) do
	table.insert(tvary,"  | k2pla" .. i .. " = " .. v .. " " .. pape .. "\n")
end
for i,v in pairs(auTvary["werden"]["k2pta"]) do
	table.insert(tvary,"  | k2f1a" .. i .. " = " .. v .. " " .. ifpra .. "\n")
end
for i,v in pairs(auTvary["werden"]["k2pta"]) do
	table.insert(tvary,"  | k2f2a" .. i .. " = " .. v .. " " .. pape .. " " .. au .. "\n")
end
table.insert(tvary,"  | impra2s = " .. wurzel .. "e / " .. kurzwurzel .. "e / " .. wurzel .. "\n")
table.insert(tvary,"  | impra2p = " .. wurzel .. "t\n")
table.insert(tvary,"  | impra3p = " .. wurzel .. "n Sie\n")
table.insert(tvary,"  | ifpra = " .. ifpra .. "\n")
table.insert(tvary,"  | ifpea = " .. pape .. " " .. au.. "\n")
table.insert(tvary,"  | iff1a = " .. ifpra .. " werden\n")
table.insert(tvary,"  | iff2a = " .. pape .. " " .. au.. " werden\n")
for _ ,vD in ipairs(deklination) do
 for _ ,vG in ipairs(gender) do
  for _ ,vC in ipairs(casus) do
   table.insert(tvary,"  | papr" .. vD .. vG[1] .. vC .. vG[2] .. " = " .. (artikel[vD .. vG[1] .. vC .. vG[2]] or "") .. " " .. papr .. suffixA[vD .. vG[1] .. vC .. vG[2]] .. "\n")
  end
 end
end
for i,v in pairs(suffixA) do
	table.insert(tvary,"  | pape" .. i .. " = " .. (artikel[i] or "") .. " " .. pape.. v .. "\n")
end
for i,v in pairs(suffixA) do
	table.insert(tvary,"  | ge" .. i .. " = " .. (artikel[i] or "") .. " " .. (pargs[1] or "")..lzZu .. wurzel .. "nd" .. v .. "\n")
end

result = table.concat(tvary) .. "}}\n"
return result
end

return p