Module:User:Sedataltundal/tr-verb

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

local export = {}

local style = require("Module:TemplateStyles")("Module:tr-conj/style.css")

function export.main(frame)
	local lv = { --low vowels
		 = "a",  = "a",
		 = "a",  = "a",
		 = "e",  = "e",
		 = "e",  = "e"
	}
	
	local hv = { --high vowels
		 = "ı",  = "ı",
		 = "u",  = "u",
		 = "i",  = "i",
		 = "ü",  = "ü"
	}
	
	local fv = { --front vowels
		 = "e",  = "i",
		 = "ö",  = "ü",
		 = "e",  = "i",
		 = "ö",  = "ü"
	}
	
	local bv = { --back vowels
		 = "a",  = "ı",
		 = "o",  = "u",
		 = "a",  = "ı",
		 = "o",  = "u"
	}

	local frontness = {
		 = bv,  = bv,
		 = bv,  = bv,
		 = fv,  = fv,
		 = fv,  = fv
	}

	local inf_noun = { --infinitive and verbal noun
		 = "infinitive",
		 = "verbal noun",
	}
	
	local imper_part = { --impersonal participles
		 = "imperfective",
		 = "perfective",
		 = "prospective"
	}
	
	local per_part = { --personal participles
		 = "non-prospective",
		 = "prospective"
	}
	
	local time_adv = { --temporal adverbs
		 = "simple",
		 = "specific",
		 = "perfective",
		 = '"since"',
		 = '"until"',
		 = '"as long as"'
	}
	
	local mode_adv = { --modal adverbs
		 = "simple",
		 = "reduplicated",
		 = '"as if"'
	}
	
	local nm = { --"normal" moods names (moods which use copula personal endings)
		 = "aorist",
		 = "continuous",
		 = "inferential",
		 = "future",
		 = "progressive",
		 = "necessitative"
	}
	
	local nqual = { --qualifiers for "normal" moods
		 = "simple",
		 = "past",
		 = "inferential",
		 = "conditional",
	}
	
	local wm = { --"weird" moods names (moods which don't use copula personal endings)
		 = "past",
		 = "conditional"
	}
	
	local wqual = { --"weird" moods qualifiers
		 = "simple",
		 = "conditional",
		 = "past",
		 = "inferential"
	}
	
	local impqual = { -- imperative qualifiers
		 = "simple",
		 = "formal",
		 = "informal"
	}

	local titles = {
		 = "Positive",
		 = "Negative",
		 = "Potential",
		 = "Impotential"
	}
	
	local new_row = ""
	local note = ""
	local comma = ""
	local tab = style
	
	local voiceless = "ptkçfshş"

	local str = frame:getParent().args.title or mw.title.getCurrentTitle().text
	local irr = frame:getParent().args

	local openings = {
		 = [=[

<div class="NavFrame" style="width: 100%">
<div class="NavHead" style="background: var(--wikt-palette-lightgrey, #cccccc);" >Conjugation of '']=] .. str .. [=['' </div>
<div class="NavContent">
<div class="vsSwitcher" data-toggle-category="complex tenses" style="max-width:100%;">]=],
		 = [=[

<div class="vsSwitcher" data-toggle-category="negative conjugation" style="max-width:100%;">
* <p style="display:flex; align-self:left">Show negative conjugation: <span class="vsToggleElement">&nbsp;</span></p>
<div class="vsHide vsSwitcher" data-toggle-category="complex tenses" style="max-width:100%;">]=],
		 = [=[

<div class="vsSwitcher" data-toggle-category="potential conjugation" style="max-width:100%;">
* <p style="display:flex; align-self:left">Show potential conjugation: <span class="vsToggleElement">&nbsp;</span></p>
<div class="vsHide vsSwitcher" data-toggle-category="complex tenses" style="max-width:100%;">]=],
		 = [=[

<div class="vsSwitcher" data-toggle-category="impotential conjugation" style="max-width:100%;">
* <p style="display:flex; align-self:left">Show impotential conjugation: <span class="vsToggleElement">&nbsp;</span></p>
<div class="vsHide vsSwitcher" data-toggle-category="complex tenses" style="max-width:100%;">]=]
	}

	if mw.ustring.match(str, "^m$") then
		tab = style .. [=[
		
<div class="NavFrame" style="width: 100%">
<div class="NavHead" style="background: var(--wikt-palette-lightgrey, #cccccc);" >Conjugation of ''mi'' </div>
<div class="NavContent">
<div class="vsSwitcher" data-toggle-category="complex tenses" style="max-width:100%;">

{| border="1px solid #aaaaaa" style="border-collapse:collapse; background: var(--wikt-palette-grey-1, #f0f0f0); text-align:center; width:100%" class="inflection-table"
|-
| rowspan=2 colspan=2 |
! colspan=3 class="tr-table-header" | singular
! colspan=3 class="tr-table-header" | plural
|-
! class="tr-table-header" | 1st (ben)
! class="tr-table-header" | 2nd (sen)
! class="tr-table-header" | 3rd (o)
! class="tr-table-header" | 1st (biz)
! class="tr-table-header" | 2nd (siz)
! class="tr-table-header" | 3rd (onlar)
|-
! class="tr-copula-head" rowspan=4 | simple
! class="tr-copula-head" | back unrounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-copula-head" | front unrounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-copula-head" | back rounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-copula-head" | front rounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-copula-head" rowspan=4 | inferential
! class="tr-copula-head" | back unrounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-copula-head" | front unrounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-copula-head" | back rounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-copula-head" | front rounded
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
| class="tr-copula-slot" | ]
|-
! class="tr-synthetic-head" rowspan=4 | past
! class="tr-synthetic-head" | back unrounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|-
! class="tr-synthetic-head" | front unrounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|-
! class="tr-synthetic-head" | back rounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|-
! class="tr-synthetic-head" | front rounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|-
! class="tr-synthetic-head" rowspan=4 | conditional
! class="tr-synthetic-head" | back unrounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|-
! class="tr-synthetic-head" | front unrounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|-
! class="tr-synthetic-head" | back rounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|-
! class="tr-synthetic-head" | front rounded
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
| class="tr-synthetic-slot" | ]
|}
</div></div></div>]=]
		return(tab)
	end

	local isPot = false
	if irr == "pot" then
		isPot = true
		str = mw.ustring.match(str, "^(.-)bilmek$")
		str = str .. "mek"
		openings = openings
 	end

	local stem = ""
	local extra = ""
	if mw.ustring.find(str, "%s") then
		extra, stem = mw.ustring.match(str, "^(.+%s)(%w+)mk$")
	else
		stem = mw.ustring.match(str, "^(.+)mk$")
	end

	local v2 = ""
	local v1 = ""
	local c = ""
	if str == "-mek" then
		v2 = ""
		v1 = "e"
		c = "r"
	else
		v2, v1, c = mw.ustring.match(stem, "(*)*(+)(*)$")
        mw.log(v2, v1, c)
		c = mw.ustring.sub(c, -1, -1)
		if c == "d" then
			c = "t"
			irr = "d"
		end
	end

	local altStem_V, altStem_iyor = stem, stem --alternative stems before vowels and before -iyor

	local function link_term(term, index)
		index = index or 1
		if term ~= " " then
			term = extra .. term
			if term == str then
				return "]"
			end
			if index == 1 then
				return "]"
			else
				return term
			end
		else
			return " "
		end
	end

	if irr == "d" then
		irr = "e"
		altStem_V = mw.ustring.sub(stem, 1, -2) .. "d"
		altStem_iyor = altStem_V
	elseif not irr then
		if c == "" then
			altStem_V = stem .. "y"
			altStem_iyor = mw.ustring.sub(stem, 1, -2)
			if v2 == "" then
				altStem_V = altStem_iyor .. "iy"
			end
		else
			if v2 == "" then
				irr = lv
			else
				irr = hv
			end
		end
	end

	local neg_stem = stem .. "m" .. lv
	local pot_stem = altStem_V .. lv .. "bil"
	local impot_stem = altStem_V ..lv .. "m" .. lv

	local function conjugate(stem, index)
		tab = tab .. openings .. [=[

{| class="inflection-table tr-inflection-table"  data-toggle-category="inflection"
|-
! class="vsToggleElement tr-table-header" colspan=8 | ]=] .. titles .. [=[ conjugation
|-
| rowspan=2 colspan=2 |
! colspan=3 class="tr-table-header" | singular
! colspan=3 class="tr-table-header" | plural
|-
! class="tr-table-header" | 1st (ben)
! class="tr-table-header" | 2nd (sen)
! class="tr-table-header" | 3rd (o)
! class="tr-table-header" | 1st (biz)
! class="tr-table-header" | 2nd (siz)
! class="tr-table-header" | 3rd (onlar)]=]

		v2, v1, c = mw.ustring.match(stem, "(?)*()(*)$")
		c = mw.ustring.sub(c, -1, -1)

		v2 = frontness or "e"

		if c == "" then
			irr = v1
		end

		irr = irr .. "r"
	
		if index % 2 == 0 then
			irr = v1 .. "z"
			altStem_V = stem .. "y"
			altStem_iyor = mw.ustring.sub(stem, 1, -2)
		elseif index == 3 then
			irr = "ir"
			altStem_V, altStem_iyor = stem, stem
		end
	
		local nms = {
			altStem_iyor .. irr, 
			altStem_iyor .. (c ~= "" and hv or hv) .. "yor",
			stem .. "m" .. hv .. "ş", 
			altStem_V .. lv .. "c" .. lv .. "k",
			stem .. "m" .. lv .. "kt" .. lv, 
			stem .. "m" .. lv .. "l" .. hv]
		} -- normal mood suffixes
		
		for i in ipairs(nms) do
			local suf = nms --suffix
			nms = {}
			
			local sv, sc = mw.ustring.match(suf, "(*)(*)$") --suffix vowel, suffix consonant
			local suf_y = (sc ~= "" and "" or "y") --eventual buffer y
			local suf_len = (sc == "k" and "ğ" or "") --lenition of k
			local suf_len_y = (sc == "k" and "ğ" or (sc == "z" and "y" or "")) --lenition of k and insertion of y
			local suf_di = ((mw.ustring.find(voiceless, sc) and sc~= "") and "t" or "d") .. hv
			
			nms = {
				((sc ~= "k" and sc ~= "z") and suf or mw.ustring.sub(suf, 1, -2) .. suf_len) .. suf_y .. (sc ~= "z" and hv or "") .. "m",
				suf .. "s" .. hv .. "n",
				suf,
				((sc ~= "k" and sc ~= "z") and suf or mw.ustring.sub(suf, 1, -2) .. suf_len_y) .. suf_y .. hv .. "z",
				suf .. "s" .. hv .. "n" .. hv .. "z",
				suf .. "l" .. lv .. "r"
			}
			
			nms = {
				suf .. suf_y .. suf_di .. "m", 
				suf .. suf_y .. suf_di .. "n", 
				suf .. suf_y .. suf_di, 
				suf .. suf_y .. suf_di .. "k", 
				suf .. suf_y .. suf_di .. "n" .. hv .. "z", 
				suf .. "l" .. lv .. "rd" .. hv]
			}
			
			nms = {
				suf .. suf_y .. "m" .. hv .. "ş" .. hv .. "m", 
				suf .. suf_y .. "m" .. hv .. "şs" .. hv .. "n", 
				suf .. suf_y .. "m" .. hv .. "ş", 
				suf .. suf_y .. "m" .. hv .. "ş" .. hv .. "z", 
				suf .. suf_y .. "m" .. hv .. "şs" .. hv .. "n" .. hv .. "z", 
				suf .. "l" .. lv .. "rm" .. hv] .. "ş"
			}
			
			nms = {
				suf .. suf_y .. "s" .. lv .. "m", 
				suf .. suf_y .. "s" .. lv .. "n", 
				suf .. suf_y .. "s" .. lv, 
				suf .. suf_y .. "s" .. lv .. "k", 
				suf .. suf_y .. "s" .. lv .. "n" .. hv] .. "z", 
				suf .. "l" .. lv .. "rs" .. lv
			}
		end --compound tenses and personal endings
		
		local wms = {
			stem .. ((mw.ustring.find(voiceless, c) and c~= "") and "t" or "d") .. hv,
			stem .. "s" .. lv
		} --weird mood suffixes
		
		for i in ipairs(wms) do
			local suf = wms --suffix
			wms = {}
			
			local sv = mw.ustring.match(suf, "(*)$") --suffix vowel
			
			wms = {
				suf .. "m", 
				suf .. "n", 
				suf, 
				suf .. "k", 
				suf .. "n" .. hv .. "z", 
				suf .. "l" .. lv .. "r"
			}
			
			if hv == sv then
				wms = {
					suf .. "ys" .. lv .. "m", 
					suf .. "ys" .. lv .. "n", 
					suf .. "ys" .. lv, 
					suf .. "ys" .. lv .. "k", 
					suf .. "ys" .. lv .. "n" .. hv] .. "z", 
					suf .. "l" .. lv .. "rs" .. lv
				}
			else
				wms = {
					suf .. "yd" .. hv .. "m",
					suf .. "yd" .. hv .. "n",
					suf .. "yd" .. hv,
					suf .. "yd" .. hv .. "k",
					suf .. "yd" .. hv .. "n" .. hv .. "z",
					suf .. "l" .. lv .. "rd" .. hv]
				}
				
				wms = {
					suf .. "ym" .. hv .. "ş" .. hv .. "m",
					suf .. "ym" .. hv .. "şs" .. hv .. "n",
					suf .. "ym" .. hv .. "ş",
					suf .. "ym" .. hv .. "ş" .. hv .. "z",
					suf .. "ym" .. hv .. "şs" .. hv .. "n" .. hv .. "z",
					suf .. "l" .. lv .. "rm" .. hv] .. "ş"
				}
			end
		end --compound tenses and personal endings
		
		local opt = {
			altStem_V .. lv .. "y" .. hv] .. "m",
			altStem_V .. lv .. "s" .. hv] .. "n",
			altStem_V .. lv,
			altStem_V .. lv .. "l" .. hv] .. "m",
			altStem_V .. lv .. "s" .. hv] .. "n" .. hv] .. "z",
			altStem_V ..lv .. "l" .. lv .. "r"
		} --optative 
		
		local imp = {}
		imp = {
			" ",
			stem,
			stem .. "s" .. hv .. "n",
			" ",
			altStem_V .. hv .. "n",
			stem .. "s" .. hv .. "nl" .. lv .. "r"
		} --normal imperative
		imp = {
			" ",
			altStem_V .. hv .. "n" .. hv .. "z",
			" ",
			" ",
			altStem_V .. hv .. "n" .. hv .. "z",
			" "
		} --formal imperative
		imp = {
			" ",
			wms .. lv,
			" ",
			" ",
			wms .. lv,
			" "
		} --informal imperative
		
		local inf_noun_s = {
			stem .. "m" .. lv .. "k",
			stem .. "m" .. lv
		}
		
		local imper_part_s = {
			altStem_V .. lv .. "n",
			stem .. "m" .. hv .. "ş",
			altStem_V .. lv .. "c" .. lv .. "k"
		}
		
		local per_part_s = {
			stem .. ((mw.ustring.find(voiceless, c) and c ~= "") and "t" or "d") .. hv,
			altStem_V .. lv .. "c" .. lv
		}
		for i in ipairs(per_part_s) do
			local suf = per_part_s
			local sv = mw.ustring.match(suf, "()$")
			
			per_part_s = {
				suf .. "ğ" .. hv .. "m",
				suf .. "ğ" .. hv .. "n",
				suf .. "ğ" .. hv,
				suf .. "ğ" .. hv .. "m" .. hv .. "z",
				suf .. "ğ" .. hv .. "n" .. hv .. "z",
				suf .. "kl" .. lv .. "r" .. hv]
			}
		end
		
		local time_adv_s = {
			altStem_iyor .. irr .. "ken",
			altStem_V .. hv .. "nc" .. lv,
			altStem_V .. hv .. "p",
			altStem_V .. lv .. "l" .. hv],
			altStem_V .. lv .. "s" .. hv] .. "y" .. lv,
			stem .. ((mw.ustring.find(voiceless, c) and c ~= "") and "t" or "d") .. hv .. "kç" .. lv
		}
		
		local mode_adv_s = {
			altStem_V .. lv .. "r" .. lv .. "k",
			altStem_V .. lv .. " " .. altStem_V .. lv,
			altStem_iyor .. irr .. "c" .. lv .. "s" .. hv] .. "n" .. lv
		}
	
		for i in ipairs(nms) do
			tab = tab .. [=[

|-
! colspan=2 rowspan=1 class="vsShow tr-copula-head" | ]=] .. nm .. [=[

! rowspan=4 class="vsHide tr-copula-head" | ]=] .. nm
			for j in ipairs(nms) do
				new_row = (j ~= 1) and [=[

|- class="vsHide"]=] or ""
				tab = tab .. new_row .. [=[

! class="vsHide tr-copula-head" | ]=] .. nqual
				for k in ipairs(nms) do
					tab = tab  .. [=[

| class="tr-copula-slot" | ]=] .. link_term(nms, j)
				end
			end  
		end --adding normal moods to the table
		
		for i in ipairs(wms) do
			tab = tab .. [=[

|-
! colspan=2 rowspan=1 class="vsShow tr-synthetic-head" | ]=] .. wm .. [=[

! rowspan=]=] .. #wms ..=] .. wm
			for j in ipairs(wms) do
				new_row = (j ~= 1) and [=[

|- class="vsHide"]=] or ""
			tab = tab .. new_row .. [=[

! class="vsHide tr-synthetic-head" | ]=] .. wqual
				for k in ipairs(wms) do
					tab = tab  .. [=[

| class="tr-synthetic-slot" | ]=] .. link_term(wms, j)
				end
			end
		end --adding weird moods to the table
		
		tab = tab .. [=[

|-
! colspan=2 class="tr-synthetic-head" | optative]=]
		for i in ipairs(opt) do
			tab = tab .. [=[

| class="tr-synthetic-slot" | ]=] .. link_term(opt)
		end --adding optative mood to the table
	
		tab = tab .. [=[

|-
! colspan=2 rowspan=1 class="vsShow tr-synthetic-head" | imperative
! rowspan=3 class="vsHide tr-synthetic-head" | imperative]=]
		for i in ipairs(imp) do
			new_row = (i ~= 1) and [=[

|- class="vsHide"]=]or ""
			tab = tab .. new_row .. [=[

! class="vsHide tr-synthetic-head" | ]=] .. impqual
			for j in ipairs(imp) do
				tab = tab  .. [=[

| class="tr-synthetic-slot" | ]=] .. link_term(imp)
			end
		end --adding imperative mood to the table
		
		for i in ipairs(inf_noun) do
			tab = tab .. [=[

|-
! colspan=2 class="tr-nonfinite-head" | ]=] .. inf_noun .. [=[

| colspan=6 class="tr-nonfinite-slot" | ]=] .. link_term(inf_noun_s)
		end --adding infinitive and verbal noun
		
		tab = tab .. [=[

|-
! class="vsShow tr-participle-head" colspan=2 | impersonal participle
! class="vsHide tr-participle-head" rowspan=3 | impersonal participle
| class="vsShow tr-participle-slot" colspan=6 | ]=]
		for i in ipairs(imper_part) do
			comma = ( i ~= 1) and ", " or ""
			tab = tab .. comma .. link_term(imper_part_s)
		end
		for i in ipairs(imper_part_s) do
			new_row = (i ~= 1) and [=[

|- class="vsHide"]=] or ""
			tab = tab .. new_row .. [=[

! class="vsHide tr-participle-head" | ]=] .. imper_part .. [=[

| class="vsHide tr-participle-slot" colspan=6 | ]=] .. link_term(imper_part_s)
		end --adding impersonal participles
		
		tab = tab .. [=[

|-
! rowspan=2 class="tr-participle-head" | personal participle]=]
		for i in ipairs(per_part) do
			new_row = (i ~= 1) and [=[

|-]=] or ""
			tab = tab .. new_row .. [=[

! class="tr-participle-head" | ]=] .. per_part
			for j in ipairs(per_part_s) do
				tab = tab .. [=[

| class="tr-participle-slot" | ]=] .. link_term(per_part_s)
			end
		end --adding personal participles
		
		tab = tab .. [=[

|-
! class="vsShow tr-adverb-head" colspan=2 | temporal adverb
! class="vsHide tr-adverb-head" rowspan=6 | temporal adverb
| class="vsShow tr-adverb-slot" colspan=6 | ]=]
		for i in ipairs(time_adv) do
			note = (i == 1) and "<sup>1</sup>" or ""
			comma = (i ~= 1) and ", " or ""
			tab = tab .. comma .. link_term(time_adv_s) .. note
		end
		for i in ipairs(time_adv) do
			note = (i == 1) and "<sup>1</sup>" or ""
			new_row = (i ~= 1) and [=[

|-]=] or ""
			tab = tab .. new_row .. [=[

! class="vsHide tr-adverb-head" | ]=] .. time_adv .. [=[

| class="vsHide tr-adverb-slot" colspan=6 | ]=] .. link_term(time_adv_s) .. note
		end --adding temporal adverbs
		
		tab = tab .. [=[

|-
! class="vsShow tr-adverb-head" colspan=2 | modal adverb
! class="vsHide tr-adverb-head" rowspan=3 | modal adverb
| class="vsShow tr-adverb-slot" colspan=6 | ]=]
		for i in ipairs(mode_adv) do
			note = (i == 3) and "<sup>1</sup>" or ""
			comma = (i ~= 1) and ", " or ""
			tab = tab .. comma .. link_term(mode_adv_s) .. note
		end	
		for i in ipairs(mode_adv) do
			note = (i == 3) and "<sup>1</sup>" or ""
			new_row = (i ~= 1) and [=[

|-]=] or ""
			tab = tab .. new_row .. [=[

! class="vsHide tr-adverb-head" | ]=] .. mode_adv .. [=[

| class="vsHide tr-adverb-slot" colspan=6 | ]=] .. link_term(mode_adv_s) .. note
		end --adding modal adverbs
		
		tab = tab .. [=[

|-
| colspan=8 class="tr-table-header" | <sup>1</sup>) The suffixes ] and ] may be suffixed to the base form of any of the following tenses: aorist, continuous, inferential (even when it follows another suffix), and future.
|}</div>]=]
		if index == 2 or (index == 3 and not isPot) then
			tab = tab .. "</div>"
		elseif index == 4 then
			tab = tab .. "</div></div></div>"
		end
	end
	
	if not isPot then conjugate(stem, 1) end		--Positive
	if not isPot then conjugate(neg_stem, 2) end	--Negative
	conjugate(pot_stem, 3)							--Potential
	conjugate(impot_stem, 4)						--Impotential
	
	return(tab)
end

return export