Module:gml-conj

Hello, you have come here looking for the meaning of the word Module:gml-conj. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:gml-conj, but we will also tell you about its etymology, its characteristics and you will know how to say Module:gml-conj in singular and plural. Everything you need to know about the word Module:gml-conj you have here. The definition of the word Module:gml-conj will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:gml-conj, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

This module is experimental.
The details of its operation have not yet been fully decided upon. Do not deploy widely until the module is finished.

Middle Low German conjugation table.


local p = {}
frame = mw.getCurrentFrame()

-- Initial consonant (cluster)
local arg1 = frame.args

-- Vowels
local arg2 = frame.args
local v1 = arg2 -- Infinitive; Present Indicative 1. Pers. Sing., Plur.; Optative Present; Present Participle; Imperative Plur.
local v2 = arg2 -- Present Indicative 2. and 3. Pers. Sing.
local v3 = arg2 -- Preterite Indicative 1. and 3. Pers. Sing.
local v4 = arg2 -- Preterite Indicative 2. Pers. Sing., Plur.
local v5 = arg2 -- Optative Preterite
local v6 = arg2 -- Imperative Sing.
local v7 = arg2 -- Past Participle
local v8 = arg2 -- Syncopated present 2nd/3rd

--Verb class
local class = "weak"

if arg2 == "1" then v1, v2, v3, v4, v5, v6, v7, v8, class = "î", "î", "ê", "ē", "ē", "î", "ē", "î", "class 1 strong"
elseif arg2 == "2a" then v1, v2, v3, v4, v5, v6, v7, v8, class = "ê", "ü̂", "ô", "ō", "ȫ", "ê", "ō", "ü̂", "class 2a strong"
elseif arg2 == "2b" then v1, v2, v3, v4, v5, v6, v7, v8, class = "û", "ü̂", "ô", "ō", "ȫ", "û", "ō", "ü̂", "class 2b strong"
elseif arg2 == "3a" then v1, v2, v3, v4, v5, v6, v7, v8, class = "i", "i", "a", "u", "ü", "i", "u", "i", "class 3a strong"
elseif arg2 == "3b" then v1, v2, v3, v4, v5, v6, v7, v8, class = "e", "e", "a", "u", "ü", "i", "u", "i", "class 3b strong"
elseif arg2 == "3c" then v1, v2, v3, v4, v5, v6, v7, v8, class = "e", "e", "a", "o", "ö", "e", "o", "e", "class 3c strong"
elseif arg2 == "4" then v1, v2, v3, v4, v5, v6, v7, v8, class = "ē", "ē", "a", "â", "ê", "i", "ō", "i", "class 4 strong"
elseif arg2 == "5" then v1, v2, v3, v4, v5, v6, v7, v8, class = "ē", "ē", "a", "â", "ê", "i", "ē", "i", "class 5 strong"
elseif arg2 == "6" then v1, v2, v3, v4, v5, v6, v7, v8, class = "ā", "ē", "ô", "ô", "ö̂", "a", "ā", "e", "class 6 strong"
end

-- Consonants
local arg3 = frame.args
local fod = arg3 -- Final Obstruent Devoicing
local simp1 = "" -- Medial consonant (cluster) before /t/
local arg4 = frame.args
local unsep = arg4 -- Unseparable prefix
local sep = "" -- Separable prefix
local ppen = "et" -- Past participle ending

-- Stetting fod
if tonumber(string.sub(arg2, 0, 1)) == nil then fod = arg3.."ede"
elseif string.sub(fod, -1) == string.sub(fod, 0, 1)	then 
	fod = string.sub(fod, -1)
	fod = string.gsub(fod, "d", "t")
	fod = string.gsub(fod, "g", "ch")
	fod = string.gsub(fod, "v", "f")
	ppen = "en"
end

if string.sub(fod, -1) == "t" then simp1 = string.sub(fod, 0, -2)
else simp1 = fod
end

-- Setting for sep/unsep
if arg4 == "af"
	or arg4 == "an"
	or arg4 == "āne"
	or arg4 == "dȫr"
	or arg4 == "dörch"
	or arg4 == "hin"
	or arg4 == "hen"
	or arg4 == "hēne"
	or arg4 == "hinder"
	or arg4 == "achter"
	or arg4 == "her"
	or arg4 == "mit"
	or arg4 == "mēde"
	or arg4 == "nâ"
	or arg4 == "nâch"
	or arg4 == "ût"
	or arg4 == "ûte"
	or arg4 == "up"
	or arg4 == "uppe"
	or arg4 == "under"
	or arg4 == "ünder"
	or arg4 == "ümme"
	or arg4 == "umme"
	or arg4 == "ȫver"
	or arg4 == "ōver"
	or arg4 == "āver"
	or arg4 == "vȫr"
	or arg4 == "tô"
	then unsep, sep = "", arg4
end

--Stems
stem1 = unsep..arg1..v1..arg3
stem2 = unsep..arg1..v2..arg3
stem3 = unsep..arg1..v3..fod
stem4 = unsep..arg1..v4..arg3
stem5 = unsep..arg1..v5..arg3
stem8 = unsep..arg1..v8

ppref = "ge" -- Past participle prefix
if unsep ~= "" then ppref = unsep end

-- Alternative forms
local impalt = "" -- Imperative
if string.sub(arg2, 0, 1) == "2" then impalt = =]..unsep..arg1..v2..fod.." "..sep end

local ppalt = "" -- Past participle
if arg2 == "2a"
	or arg2 == "2b"
	or arg2 == "4"
	then ppalt = =]..sep.." "..ppref..arg1.."ā"..arg3..=]
elseif arg2 == "3b" then ppalt = =]..sep..ppref..arg1.."o"..arg3..=]
end

local pre3b2 = "" -- Alternative present for 2nd person present in class 3b
if arg2 == "3b" then pre3b2 = " ''or'' "..stem8..arg3.."est "..sep.." ''or'' "..unsep..arg1..v2..fod.."st "..sep end

local pretalt2 = "" -- Preterite 2nd Pers. Sing.
local pretaltp = "" -- Preterite Plur.
if string.sub(arg2, 0, 1) == "2" then pretalt2, pretaltp = =]..unsep..arg1.."ȫ"..arg3.."est "..sep, =]..unsep..arg1.."ȫ"..arg3.."en "..sep
elseif arg2 == "3a" or arg2 == "3b" then pretalt2, pretaltp = =]..unsep..arg1.."ü"..arg3.."est "..sep, =]..unsep..arg1.."ü"..arg3.."en "..sep
elseif arg2 == "3c" then pretalt2, pretaltp = =]..unsep..arg1.."ö"..arg3.."est "..sep, =]..unsep..arg1.."ö"..arg3.."en "..sep
elseif arg2 == "6" then pretalt2, pretaltp = =]..unsep..arg1.."ö̂"..arg3.."est "..sep, =]..unsep.. arg1.."ö̂"..arg3.."en "..sep
end

scat = "" -- Supercategory for verb classes with several subclasses
if string.sub(arg2, 0, 1) == "2" or string.sub(arg2, 0, 1) == "3" then scat = "]" end
	
function p.conj( frame )
    return [=[<div class="NavFrame" style="width: 55em">
<div class="NavHead" style="background: #CCCCFF;">Conjugation of ]=]..mw.title.getCurrentTitle().text..=]..class..[=[ verb</div>
<div class="NavContent">
{| border="1px solid #000000" style="border-collapse:collapse; background:#F9F9F9; text-align:center; width:100%" class="inflection-table""
|-
! style="background-color:#dedeee; font-weight: bold" | Plain ]
| colspan="4"| ''']=]..sep..stem1..[=[en'''
|-
! style="background-color:#dedeee; font-weight: bold" | Full ] (])
| colspan="4" |]=]..sep..=]..stem1..=]..sep..=]..stem1..[=[ende
|-
! style="background-color:#dedeee; font-weight: bold" | ]
| colspan="4" | ]=]..sep..stem1..=]..sep..stem1..[=[ent
|-
! colspan="3" style="background-color:#dedeee; font-weight: bold" | ]
! colspan="2" style="background-color:#dedeee; font-weight: bold" | ]
|-
! style="background-color:#efefff; font-weight: bold" | ]
| colspan="2" | ]=]..sep..stem1..[=[ende
! style="background-color:#efefff; font-weight: bold" | ] ]
| colspan="1" | ]=]..unsep..arg1..v6..fod.." "..sep..impalt..[=[<br>
|-
! style="background-color:#efefff; font-weight: bold" | ]
| colspan="2" | ]=]..sep..ppref..arg1..v7..arg3..ppen..ppalt..[=[<br>
! style="background-color:#efefff; font-weight: bold" | ] ]
| colspan="1" | ]=]..stem1..=]..sep..[=[<br>
|-
! rowspan="2" style="background-color:#dedeee; font-weight: bold" | 
! colspan="2" style="background-color:#dedeee; font-weight: bold" | ]
! colspan="2" style="background-color:#dedeee; font-weight: bold" | ]
|-
! style="background-color:#dedeee; font-weight: bold" | ]
! style="background-color:#dedeee; font-weight: bold" | ]
! style="background-color:#dedeee; font-weight: bold" | ]
! style="background-color:#dedeee; font-weight: bold; width:15%" | ]
|-
! style="background-color:#efefff; font-weight: bold" |] ]
| ]=]..stem1..=]..sep..[=[<br>
| ]=]..stem3.." "..sep..[=[<br>
| ]=]..stem1..=]..sep..[=[<br>
| ]=]..stem5..=]..sep..[=[<br>
|-
! style="background-color:#efefff; font-weight: bold" |] ]
| ]=]..stem2..=]..sep..=]..stem8..fod..=]..sep..pre3b2..[=[<br>
| ]=]..stem4..=]..sep..pretalt2..[=[<br>
| ]=]..stem1..=]..sep..[=[<br>
| ]=]..stem5..=]..sep..[=[<br>
|-
! style="background-color:#efefff; font-weight: bold" |] ]
| ]=]..stem2..=]..sep..=]..stem8..simp1..=]..sep..[=[<br>
| ]=]..stem3.." "..sep..[=[<br>
| ]=]..stem1..=]..sep..[=[<br>
| ]=]..stem5..=]..sep..[=[<br>
|-
! style="background-color:#efefff; font-weight: bold" |]
| ]=]..stem1..=]..sep..=]..stem1..=]..sep..])
| ]=]..stem4..=]..sep..pretaltp..[=[<br>
| ]=]..stem1..=]..sep..[=[<br>
| ]=]..stem5..=]..sep..[=[<br>
|}</div></div>
=]..class..]]=]..scat..[=[
]=]

end

function p.alt (frame)
return [=[<div class="NavFrame" style="width: 55em">
<div class="NavHead" style="background: #CCCCFF;">Conjugation of {{{head}}}</div>
<div class="NavContent">
{| border="1px solid #000000" style="border-collapse:collapse; background:#F9F9F9; text-align:center; width:100%" class="inflection-table""
|- style="background-color:#F2F2FF; "
|-
! style="background-color:#dedeee; font-weight: bold" | Optional alternative word order in ]
! style="background-color:#dedeee; font-weight: bold" | ]
! style="background-color:#dedeee; font-weight: bold" | ]
! style="background-color:#dedeee; font-weight: bold" | ]
! style="background-color:#dedeee; font-weight: bold" | ]
|-
! style="background-color:#efefff; font-weight: bold" |] ]
| {{{24}}} 
| {{{28}}}
| {{{32}}}
| {{{36}}}
|-
! style="background-color:#efefff; font-weight: bold" |] ]
| {{{25}}} 
| {{{29}}}
| {{{33}}}
| {{{37}}}
|-
! style="background-color:#efefff; font-weight: bold" |] ]
| {{{26}}} 
| {{{30}}}
| {{{34}}}
| {{{38}}}
|-
! style="background-color:#efefff; font-weight: bold" |]
| {{{27}}} 
| {{{31}}}
| {{{35}}}
| {{{39}}}
|}</div></div>]=]
end

return p