Module:li-verb
Jump to navigation
Jump to search
- The following documentation is located at Module:li-verb/documentation. [edit] Categories were auto-generated by Module:module categorization. [edit]
- Useful links: subpage list • links • transclusions • testcases • sandbox
Called by {{li-conj-auto}}
. Do not use directly.
local m_gender = require("Module:gender and number")
local m_links = require("Module:links")
local m_utils = require("Module:utilities")
local lang = require("Module:languages").getByCode("li")
local export = {}
-- Verbs that take "zeen" in the past participle.
local AUX_ZEEN = {
"baere",
"gaon"
}
-- Functions that do the actual inflecting by creating the forms of a basic term.
local inflections = {}
local irregular = {}
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local parent_args = frame:getParent().args
local infl_type = parent_args[1] == nil and guess_conjugation(frame) or parent_args[1]
if not inflections[infl_type] then
error("Unknown inflection type '" .. infl_type .. "'")
end
local data = {forms = {}, categories = {}}
data.info = ""
local args = require("Module:parameters").process(parent_args, inflections[infl_type].params)
local word = (mw.title.getCurrentTitle().nsText == "Template" and "blósse" or mw.title.getCurrentTitle().text)
data.aux = AUX_ZEEN.word and "zeen" or "höbbe"
-- Generate default pronouns
-- Generate the forms
inflections[infl_type].func(args, data)
return make_table(data)
end
function guess_conjugation(frame)
-- Strip final -e
local stem = (mw.title.getCurrentTitle().nsText == "Template" and "blóss" or mw.title.getCurrentTitle().text):sub(1, -2)
if irregular[stem .. "e"] then
return "irregular"
end
if frame:getParent().args["umlaut"] then
local final_vowel = stem:sub(-4, -2)
-- second, third, fifth, sixth
if final_vowel == "ae" then
return "second"
elseif final_vowel == "ei" then
return "third"
elseif final_vowel == "ou" then
return "fifth"
elseif final_vowel:sub(-2, -1) == "a" then
return "sixth"
else
return "irregular"
end
else
local final = stem:sub(-2, -1)
-- first, fourth, seventh
if final:find("[jlnrtw]") then
return "first"
elseif final:find("[bdfgkps]") or final == "ch" then
return "fourth"
elseif final == "mm" then
return "seventh"
else
return "irregular"
end
end
end
inflections["first"] = {
params = {
[1] = {},
[2] = {},
},
func = function(args, data)
local base = mw.title.getCurrentTitle().nsText == "Template" and "-" or mw.title.getCurrentTitle().text
-- If the final consonant is doubled, simplify it for certain forms
local single = (base:sub(-3, -3) == base:sub(-2, -2)) and base:sub(1, -3) or base
data.info = " (first conjugation)"
table.insert(data.categories, "Limburgish first conjugation verbs")
data.forms["inf"] = {base}
data.forms["ger"] = {base}
data.forms["pres_p"] = {base .. "ndj"}
data.forms["past_p"] = {"ge" .. single}
data.forms["adj"] = {"ge" .. single .. "dje", "ge" .. single .. "djer", "ge" .. single .. "djes"}
data.forms["adv"] = {"ge" .. single .. "dj", "ge" .. single .. "djelik"}
data.forms["pres_1s_sv"] = {single}
data.forms["past_1s_sv"] = {single .. "dje"}
data.forms["sub_1s_sv"] = {base}
data.forms["pres_1s_vs"] = {single}
data.forms["past_1s_vs"] = {single .. "dje-n"}
data.forms["sub_1s_vs"] = {base .. "-n"}
data.forms["pres_2s_sv"] = {single .. "s"}
data.forms["past_2s_sv"] = {single .. "djes"}
data.forms["sub_2s_sv"] = {base}
data.forms["pres_2s_vs"] = {single .. "s"}
data.forms["past_2s_vs"] = {single .. "djes"}
data.forms["sub_2s_vs"] = {base .. "r"}
data.forms["pres_3s_sv"] = {single .. "tj"}
data.forms["past_3s_sv"] = {single .. "dje"}
data.forms["sub_3s_sv"] = {base}
data.forms["pres_3s_vs"] = {single .. "tj'r"}
data.forms["past_3s_vs"] = {single .. "dje"}
data.forms["sub_3s_vs"] = {base .. "r"}
data.forms["pres_1p_sv"] = {base}
data.forms["past_1p_sv"] = {single .. "dje"}
data.forms["sub_1p_sv"] = {base}
data.forms["pres_1p_vs"] = {single .. "tj"}
data.forms["past_1p_vs"] = {single .. "dje"}
data.forms["sub_1p_vs"] = {base}
data.forms["pres_2p_sv"] = {single .. "tj"}
data.forms["past_2p_sv"] = {single .. "dje"}
data.forms["sub_2p_sv"] = {base}
data.forms["pres_2p_vs"] = {single .. "tj"}
data.forms["past_2p_vs"] = {single .. "dje"}
data.forms["sub_2p_vs"] = {base .. "tj"}
data.forms["pres_3p_sv"] = {base}
data.forms["past_3p_sv"] = {single .. "dje"}
data.forms["sub_3p_sv"] = {base}
data.forms["pres_3p_vs"] = {base}
data.forms["past_3p_vs"] = {single .. "dje"}
data.forms["sub_3p_vs"] = {base .. "r"}
data.forms["noun"] = {"ge" .. single}
data.forms["imp_sg_imp"] = {single}
data.forms["imp_sg_pol"] = {single .. "tj"}
data.forms["imp_du"] = {single .. "tj", base .. "tj"}
data.forms["imp_pl"] = {single .. "tj"}
data.forms["incl"] = {base .. "m"}
end
}
inflections["fourth"] = {
params = {
[1] = {},
[2] = {},
},
func = function(args, data)
local base = mw.title.getCurrentTitle().nsText == "Template" and "-" or mw.title.getCurrentTitle().text
-- If the final consonant is doubled, simplify it for certain forms
local single = (base:sub(-3, -3) == base:sub(-2, -2)) and base:sub(1, -3) or base
data.info = " (fourth conjugation)"
table.insert(data.categories, "Limburgish fourth conjugation verbs")
data.forms["inf"] = {base}
data.forms["ger"] = {base}
data.forms["pres_p"] = {base .. "ndj"}
data.forms["past_p"] = {"ge" .. single}
data.forms["adj"] = {"ge" .. single .. "dje", "ge" .. single .. "djer", "ge" .. single .. "djes"}
data.forms["adv"] = {"ge" .. single, "ge" .. single .. "djelik"}
data.forms["pres_1s_sv"] = {single}
data.forms["past_1s_sv"] = {single .. "dje"}
data.forms["sub_1s_sv"] = {base}
data.forms["pres_1s_vs"] = {single}
data.forms["past_1s_vs"] = {single .. "dje-n"}
data.forms["sub_1s_vs"] = {base .. "-n"}
data.forms["pres_2s_sv"] = {single:sub(-1, -1) == "s" and single or single .. "s"}
data.forms["past_2s_sv"] = {single .. "djes"}
data.forms["sub_2s_sv"] = {base}
data.forms["pres_2s_vs"] = {single:sub(-1, -1) == "s" and single or single .. "s"}
data.forms["past_2s_vs"] = {single .. "djes"}
data.forms["sub_2s_vs"] = {base .. "r"}
data.forms["pres_3s_sv"] = {single}
data.forms["past_3s_sv"] = {single .. "dje"}
data.forms["sub_3s_sv"] = {base}
data.forms["pres_3s_vs"] = {single}
data.forms["past_3s_vs"] = {single .. "dje"}
data.forms["sub_3s_vs"] = {base .. "r"}
data.forms["pres_1p_sv"] = {base}
data.forms["past_1p_sv"] = {single .. "dje"}
data.forms["sub_1p_sv"] = {base}
data.forms["pres_1p_vs"] = {single .. "tj"}
data.forms["past_1p_vs"] = {single .. "dje"}
data.forms["sub_1p_vs"] = {base}
data.forms["pres_2p_sv"] = {single, single .. "tj"}
data.forms["past_2p_sv"] = {single .. "dje"}
data.forms["sub_2p_sv"] = {base}
data.forms["pres_2p_vs"] = {single, single .. "tj"}
data.forms["past_2p_vs"] = {single .. "dje"}
data.forms["sub_2p_vs"] = {base .. "tj"}
data.forms["pres_3p_sv"] = {base}
data.forms["past_3p_sv"] = {single .. "dje"}
data.forms["sub_3p_sv"] = {base}
data.forms["pres_3p_vs"] = {base}
data.forms["past_3p_vs"] = {single .. "dje"}
data.forms["sub_3p_vs"] = {base .. "r"}
data.forms["noun"] = {"ge" .. single}
data.forms["imp_sg_imp"] = {single}
data.forms["imp_sg_pol"] = {single, single .. "tj"}
data.forms["imp_du"] = {base .. "tj"}
data.forms["imp_pl"] = {single .. "tj"}
data.forms["incl"] = {base .. "m"}
end
}
inflections["seventh"] = {
params = {
[1] = {},
[2] = {},
},
func = function(args, data)
local base = mw.title.getCurrentTitle().nsText == "Template" and "-" or mw.title.getCurrentTitle().text
-- If the final consonant is doubled, simplify it for certain forms
local single = (base:sub(-3, -3) == base:sub(-2, -2)) and base:sub(1, -3) or base
data.info = " (seventh conjugation)"
table.insert(data.categories, "Limburgish seventh conjugation verbs")
data.forms["inf"] = {base}
data.forms["ger"] = {base}
data.forms["pres_p"] = {base .. "ndj"}
data.forms["past_p"] = {"ge" .. single .. "p"}
data.forms["adj"] = {"ge" .. single .. "pdje", "ge" .. single .. "pdjer", "ge" .. single .. "pdjes"}
data.forms["adv"] = {"ge" .. single .. "p", "ge" .. single .. "pdjelik"}
data.forms["pres_1s_sv"] = {single}
data.forms["past_1s_sv"] = {single .. "dje"}
data.forms["sub_1s_sv"] = {base}
data.forms["pres_1s_vs"] = {single}
data.forms["past_1s_vs"] = {single .. "dje-n"}
data.forms["sub_1s_vs"] = {base .. "-n"}
data.forms["pres_2s_sv"] = {single .. "s"}
data.forms["past_2s_sv"] = {single .. "djes"}
data.forms["sub_2s_sv"] = {base}
data.forms["pres_2s_vs"] = {single .. "s"}
data.forms["past_2s_vs"] = {single .. "djes"}
data.forms["sub_2s_vs"] = {base .. "r"}
data.forms["pres_3s_sv"] = {single .. "p"}
data.forms["past_3s_sv"] = {single .. "dje"}
data.forms["sub_3s_sv"] = {base}
data.forms["pres_3s_vs"] = {single .. "p"}
data.forms["past_3s_vs"] = {single .. "dje"}
data.forms["sub_3s_vs"] = {base .. "r"}
data.forms["pres_1p_sv"] = {base}
data.forms["past_1p_sv"] = {single .. "dje"}
data.forms["sub_1p_sv"] = {base}
data.forms["pres_1p_vs"] = {single .. "p"}
data.forms["past_1p_vs"] = {single .. "dje"}
data.forms["sub_1p_vs"] = {base}
data.forms["pres_2p_sv"] = {single .. "p"}
data.forms["past_2p_sv"] = {single .. "dje"}
data.forms["sub_2p_sv"] = {base}
data.forms["pres_2p_vs"] = {single .. "p"}
data.forms["past_2p_vs"] = {single .. "dje"}
data.forms["sub_2p_vs"] = {base .. "tj"}
data.forms["pres_3p_sv"] = {base}
data.forms["past_3p_sv"] = {single .. "dje"}
data.forms["sub_3p_sv"] = {base}
data.forms["pres_3p_vs"] = {base}
data.forms["past_3p_vs"] = {single .. "dje"}
data.forms["sub_3p_vs"] = {base .. "r"}
data.forms["noun"] = {"ge" .. single}
data.forms["imp_sg_imp"] = {single}
data.forms["imp_sg_pol"] = {single, single .. "p"}
data.forms["imp_du"] = {single .. "tj", base .. "tj"}
data.forms["imp_pl"] = {single .. "p"}
data.forms["incl"] = {base .. "m"}
end
}
inflections["irregular"] = {
params = {
[1] = {},
[2] = {}
},
func = function(args, data)
local base = args[2] or (mw.title.getCurrentTitle().nsText == "Template" and "zeen" or mw.title.getCurrentTitle().text)
if irregular[base] then
irregular[base](data)
else
error("Unknown irregular verb '" .. base .. "'.")
end
end
}
irregular["baere"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
data.info = " (irregular)"
data.forms["inf"] = {"baere"}
data.forms["ger"] = {"baere"}
data.forms["pres_p"] = {"baerendj"}
data.forms["past_p"] = {"gebaore"}
data.forms["adj"] = {"gebaore", "gebaorer", "gebaores"}
data.forms["adv"] = {"gebaorelik"}
data.forms["pres_1s_sv"] = {"baer"}
data.forms["past_1s_sv"] = {"boor"}
data.forms["sub_1s_sv"] = {"baere"}
data.forms["pres_1s_vs"] = {"bèr"}
data.forms["past_1s_vs"] = {"boor"}
data.forms["sub_1s_vs"] = {"baere-n"}
data.forms["pres_2s_sv"] = {"bèrs"}
data.forms["past_2s_sv"] = {"boors"}
data.forms["sub_2s_sv"] = {"baere"}
data.forms["pres_2s_vs"] = {"bèrs"}
data.forms["past_2s_vs"] = {"boors"}
data.forms["sub_2s_vs"] = {"bèrrer"}
data.forms["pres_3s_sv"] = {"bèrtj"}
data.forms["past_3s_sv"] = {"boor"}
data.forms["sub_3s_sv"] = {"baere"}
data.forms["pres_3s_vs"] = {"bèrtj'r"}
data.forms["pres_3s_vs_pron"] = ""
data.forms["past_3s_vs"] = {"boor"}
data.forms["sub_3s_vs"] = {"bèrrer"}
data.forms["pres_1p_sv"] = {"baere"}
data.forms["past_1p_sv"] = {"bore"}
data.forms["sub_1p_sv"] = {"baere"}
data.forms["pres_1p_vs"] = {"bèrtj"}
data.forms["past_1p_vs"] = {"boortj"}
data.forms["sub_1p_vs"] = {"bèrre"}
data.forms["pres_2p_sv"] = {"baertj"}
data.forms["past_2p_sv"] = {"boortj"}
data.forms["sub_2p_sv"] = {"baere"}
data.forms["pres_2p_vs"] = {"baertj"}
data.forms["past_2p_vs"] = {"boortj"}
data.forms["sub_2p_vs"] = {"bèrretj"}
data.forms["pres_3p_sv"] = {"baere"}
data.forms["past_3p_sv"] = {"bore"}
data.forms["sub_3p_sv"] = {"baere"}
data.forms["pres_3p_vs"] = {"baere"}
data.forms["past_3p_vs"] = {"bore"}
data.forms["sub_3p_vs"] = {"bèrrer"}
data.forms["noun"] = {"gebèr"}
data.forms["imp_sg_imp"] = {"baer"}
data.forms["imp_sg_pol"] = {"bèrtj"}
data.forms["imp_du"] = {"bèr"}
data.forms["imp_pl"] = {"baertj"}
data.forms["incl"] = {"baerem"}
end
irregular["bèdzje"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
data.info = " (irregular)"
data.forms["inf"] = {"bèdzje"}
data.forms["ger"] = {"bèdzje"}
data.forms["pres_p"] = {"bèdzjendje"}
data.forms["past_p"] = {"gebótsj"}
data.forms["adj"] = {"gebótsj", "gebódzje", "gebódzjer", "gebódzjes"}
data.forms["adv"] = {"gebódzjelik"}
data.forms["pres_1s_sv"] = {"bètsj"}
data.forms["past_1s_sv"] = {"batsj"}
data.forms["sub_1s_sv"] = {"bèdzje"}
data.forms["pres_1s_vs"] = {"bètsj"}
data.forms["past_1s_vs"] = {"batsj"}
data.forms["sub_1s_vs"] = {"bèdzje-n"}
data.forms["pres_2s_sv"] = {"bèdzjes"}
data.forms["past_2s_sv"] = {"badzjes"}
data.forms["sub_2s_sv"] = {"bèdzje"}
data.forms["pres_2s_vs"] = {"bèdzjes"}
data.forms["past_2s_vs"] = {"badzjes"}
data.forms["sub_2s_vs"] = {"bèdzjer"}
data.forms["pres_3s_sv"] = {"bètsj"}
data.forms["past_3s_sv"] = {"batsj"}
data.forms["sub_3s_sv"] = {"bèdzje"}
data.forms["pres_3s_vs"] = {"bètsj"}
data.forms["past_3s_vs"] = {"batsj"}
data.forms["sub_3s_vs"] = {"bèdzjer"}
data.forms["pres_1p_sv"] = {"bèdzje"}
data.forms["past_1p_sv"] = {"badzje"}
data.forms["sub_1p_sv"] = {"bèdzje"}
data.forms["pres_1p_vs"] = {"bètsj"}
data.forms["past_1p_vs"] = {"batsj"}
data.forms["sub_1p_vs"] = {"bèdzje"}
data.forms["pres_2p_sv"] = {"bètsj"}
data.forms["past_2p_sv"] = {"batsj"}
data.forms["sub_2p_sv"] = {"bèdzje"}
data.forms["pres_2p_vs"] = {"bètsj"}
data.forms["past_2p_vs"] = {"batsj"}
data.forms["sub_2p_vs"] = {"bèdzjetj"}
data.forms["pres_3p_sv"] = {"bèdzje"}
data.forms["past_3p_sv"] = {"badzje"}
data.forms["sub_3p_sv"] = {"bèdzje"}
data.forms["pres_3p_vs"] = {"bèdzje"}
data.forms["past_3p_vs"] = {"badzje"}
data.forms["sub_3p_vs"] = {"bèdzjer"}
data.forms["noun"] = {"gebótsj"}
data.forms["imp_sg_imp"] = {"bètsj"}
data.forms["imp_sg_pol"] = {"bötsj"}
data.forms["imp_du"] = {"buuetsj"}
data.forms["imp_pl"] = {"boeatsj"}
data.forms["incl"] = {"bötsjem"}
end
irregular["doon"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
data.info = " (irregular)"
data.forms["inf"] = {"doon"}
data.forms["ger"] = {"doon"}
data.forms["pres_p"] = {"donendje"}
data.forms["past_p"] = {"gedaon"}
data.forms["adj"] = {"gedaon", "gedaone", "gedaoner", "gedaones"}
data.forms["adv"] = {"gedäöndjelik"}
data.forms["pres_1s_sv"] = {"doon"}
data.forms["past_1s_sv"] = {"di-j"}
data.forms["sub_1s_sv"] = {"daon"}
data.forms["pres_1s_vs"] = {"doon"}
data.forms["past_1s_vs"] = {"di-j"}
data.forms["sub_1s_vs"] = {"daon"}
data.forms["pres_2s_sv"] = {"deis"}
data.forms["past_2s_sv"] = {"di-js"}
data.forms["sub_2s_sv"] = {"daons"}
data.forms["pres_2s_vs"] = {"deis"}
data.forms["past_2s_vs"] = {"di-js"}
data.forms["sub_2s_vs"] = {"daons"}
data.forms["pres_3s_sv"] = {"deitj"}
data.forms["past_3s_sv"] = {"di-j"}
data.forms["sub_3s_sv"] = {"daontj"}
data.forms["pres_3s_vs"] = {"deitj'r"}
data.forms["pres_3s_vs_pron"] = ""
data.forms["past_3s_vs"] = {"di-j"}
data.forms["sub_3s_vs"] = {"daontj'r"}
data.forms["sub_3s_vs_pron"] = ""
data.forms["pres_1p_sv"] = {"doon"}
data.forms["past_1p_sv"] = {"di-jje"}
data.forms["sub_1p_sv"] = {"daone"}
data.forms["pres_1p_vs"] = {"doontj"}
data.forms["past_1p_vs"] = {"di-jtj"}
data.forms["sub_1p_vs"] = {"daontj"}
data.forms["pres_2p_sv"] = {"doontj"}
data.forms["past_2p_sv"] = {"di-j"}
data.forms["sub_2p_sv"] = {"daontj"}
data.forms["pres_2p_vs"] = {"doontj"}
data.forms["past_2p_vs"] = {"di-j", "di-jtj"}
data.forms["sub_2p_vs"] = {"daontj"}
data.forms["pres_3p_sv"] = {"doon"}
data.forms["past_3p_sv"] = {"di-jje"}
data.forms["sub_3p_sv"] = {"daone"}
data.forms["pres_3p_vs"] = {"doon"}
data.forms["past_3p_vs"] = {"di-jje"}
data.forms["sub_3p_vs"] = {"daone"}
data.forms["noun"] = {"gedoons"}
data.forms["imp_sg_imp"] = {"dooch"}
data.forms["imp_sg_pol"] = {"dootj"}
data.forms["imp_du"] = {"doon"}
data.forms["imp_pl"] = {"doontj"}
data.forms["incl"] = {"daonem"}
end
irregular["dönke"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
data.info = " (irregular)"
data.forms["inf"] = {"dönke"}
data.forms["ger"] = {"dönke"}
data.forms["pres_p"] = {"dönkendje"}
data.forms["past_p"] = {"gedóch"}
data.forms["adj"] = {"gedóch", "gedóchtje", "gedóchtjer", "gedóchtjes"}
data.forms["adv"] = {"gedóch", "gedóchtjelik"}
data.forms["pres_1s_sv"] = {"dönk"}
data.forms["past_1s_sv"] = {"dóch"}
data.forms["sub_1s_sv"] = {"tönke"}
data.forms["pres_1s_vs"] = {"dönk"}
data.forms["past_1s_vs"] = {"dóch"}
data.forms["sub_1s_vs"] = {"tönke-n"}
data.forms["pres_2s_sv"] = {"dönks"}
data.forms["past_2s_sv"] = {"dóchs"}
data.forms["sub_2s_sv"] = {"tönks"}
data.forms["pres_2s_vs"] = {"dönks"}
data.forms["past_2s_vs"] = {"dóchs"}
data.forms["sub_2s_vs"] = {"tönks"}
data.forms["pres_3s_sv"] = {"dönk"}
data.forms["past_3s_sv"] = {"dóch"}
data.forms["sub_3s_sv"] = {"tönk"}
data.forms["pres_3s_vs"] = {"dönk"}
data.forms["past_3s_vs"] = {"dóch"}
data.forms["sub_3s_vs"] = {"tönk"}
data.forms["pres_1p_sv"] = {"dönke"}
data.forms["past_1p_sv"] = {"dóchte"}
data.forms["sub_1p_sv"] = {"tönke"}
data.forms["pres_1p_vs"] = {"dönke"}
data.forms["past_1p_vs"] = {"dóchte"}
data.forms["sub_1p_vs"] = {"tönktj"}
data.forms["pres_2p_sv"] = {"tönk"}
data.forms["past_2p_sv"] = {"dóch"}
data.forms["sub_2p_sv"] = {"tönk"}
data.forms["pres_2p_vs"] = {"tönk"}
data.forms["past_2p_vs"] = {"dóch"}
data.forms["sub_2p_vs"] = {"tönketj"}
data.forms["pres_3p_sv"] = {"dönke"}
data.forms["past_3p_sv"] = {"dóchte"}
data.forms["sub_3p_sv"] = {"tönke"}
data.forms["pres_3p_vs"] = {"dönke"}
data.forms["past_3p_vs"] = {"dóchte"}
data.forms["sub_3p_vs"] = {"tönke"}
data.forms["noun"] = {"gedönk"}
data.forms["imp_sg_imp"] = {"duuch"}
data.forms["imp_sg_pol"] = {"duutj"}
data.forms["imp_du"] = {"duuetj"}
data.forms["imp_pl"] = {"duutj"}
data.forms["incl"] = {"dönkem"}
end
irregular["gaon"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
table.insert(data.categories, "Limburgish suppletive verbs")
data.info = " (irregular, suppletive)"
data.forms["inf"] = {"gaon"}
data.forms["ger"] = {"gaon"}
data.forms["pres_p"] = {"gäöndje"}
data.forms["past_p"] = {"gegange"}
data.forms["adj"] = {"gegange", "geganger", "geganges"}
data.forms["adv"] = {"gegäöndjelik"}
data.forms["pres_1s_sv"] = {"gaon"}
data.forms["past_1s_sv"] = {"góng"}
data.forms["sub_1s_sv"] = {"gank"}
data.forms["pres_1s_vs"] = {"gaon"}
data.forms["past_1s_vs"] = {"góng"}
data.forms["sub_1s_vs"] = {"gank"}
data.forms["pres_2s_sv"] = {"geis"}
data.forms["past_2s_sv"] = {"gónks"}
data.forms["sub_2s_sv"] = {"ganks"}
data.forms["pres_2s_vs"] = {"geis"}
data.forms["past_2s_vs"] = {"gónks"}
data.forms["sub_2s_vs"] = {"ganks"}
data.forms["pres_3s_sv"] = {"geitj"}
data.forms["past_3s_sv"] = {"góng"}
data.forms["sub_3s_sv"] = {"gank"}
data.forms["pres_3s_vs"] = {"geitj'r"}
data.forms["past_3s_vs"] = {"góng"}
data.forms["sub_3s_vs"] = {"gank"}
data.forms["pres_1p_sv"] = {"gaon"}
data.forms["past_1p_sv"] = {"gónge"}
data.forms["sub_1p_sv"] = {"gange"}
data.forms["pres_1p_vs"] = {"gaontj"}
data.forms["past_1p_vs"] = {"gónk"}
data.forms["sub_1p_vs"] = {"gank"}
data.forms["pres_2p_sv"] = {"gaontj"}
data.forms["past_2p_sv"] = {"góng"}
data.forms["sub_2p_sv"] = {"gank"}
data.forms["pres_2p_vs"] = {"gaontj"}
data.forms["past_2p_vs"] = {"gónk"}
data.forms["sub_2p_vs"] = {"gank"}
data.forms["pres_3p_sv"] = {"gaon"}
data.forms["past_3p_sv"] = {"gónge"}
data.forms["sub_3p_sv"] = {"gange"}
data.forms["pres_3p_vs"] = {"gaon"}
data.forms["past_3p_vs"] = {"gónge"}
data.forms["sub_3p_vs"] = {"gange"}
data.forms["noun"] = {"gegaon"}
data.forms["imp_sg_imp"] = {"gank"}
data.forms["imp_sg_pol"] = {"gank"}
data.forms["imp_du"] = {"gènk"}
data.forms["imp_pl"] = {"gank"}
data.forms["incl"] = {"gaonem"}
end
irregular["lieje"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
data.info = " (irregular)"
data.forms["inf"] = {"lieje"}
data.forms["ger"] = {"lieje"}
data.forms["pres_p"] = {"liejendj"}
data.forms["past_p"] = {"geleeje"}
data.forms["adj"] = {"geleeje", "geleejer", "geleejes"}
data.forms["adv"] = {"geleejelik"}
data.forms["pres_1s_sv"] = {"liej"}
data.forms["past_1s_sv"] = {"leej"}
data.forms["sub_1s_sv"] = {"lieje"}
data.forms["pres_1s_vs"] = {"liej"}
data.forms["past_1s_vs"] = {"leej"}
data.forms["sub_1s_vs"] = {"lieje-n"}
data.forms["pres_2s_sv"] = {"lietsj"}
data.forms["past_2s_sv"] = {"leejs"}
data.forms["sub_2s_sv"] = {"lieje"}
data.forms["pres_2s_vs"] = {"lietsj"}
data.forms["past_2s_vs"] = {"leejs"}
data.forms["sub_2s_vs"] = {"liejer"}
data.forms["pres_3s_sv"] = {"lietj"}
data.forms["past_3s_sv"] = {"leej"}
data.forms["sub_3s_sv"] = {"lieje"}
data.forms["pres_3s_vs"] = {"lietj'r"}
data.forms["past_3s_vs"] = {"leej"}
data.forms["sub_3s_vs"] = {"liejer"}
data.forms["pres_1p_sv"] = {"lieje"}
data.forms["past_1p_sv"] = {"leeje"}
data.forms["sub_1p_sv"] = {"lieje"}
data.forms["pres_1p_vs"] = {"lietj"}
data.forms["past_1p_vs"] = {"leetj"}
data.forms["sub_1p_vs"] = {"lieje"}
data.forms["pres_2p_sv"] = {"lietj"}
data.forms["past_2p_sv"] = {"leej"}
data.forms["sub_2p_sv"] = {"lieje"}
data.forms["pres_2p_vs"] = {"lietj"}
data.forms["past_2p_vs"] = {"leetj"}
data.forms["sub_2p_vs"] = {"lieëtj"}
data.forms["pres_3p_sv"] = {"lieje"}
data.forms["past_3p_sv"] = {"leeje"}
data.forms["sub_3p_sv"] = {"lieje"}
data.forms["pres_3p_vs"] = {"lieje"}
data.forms["past_3p_vs"] = {"leeje"}
data.forms["sub_3p_vs"] = {"liejer"}
data.forms["noun"] = {"geliej"}
data.forms["imp_sg_imp"] = {"liej"}
data.forms["imp_sg_pol"] = {"lietj"}
data.forms["imp_du"] = {"lieëtj"}
data.forms["imp_pl"] = {"lietj"}
data.forms["incl"] = {"lieëm"}
end
irregular["zeen"] = function(data)
error("Ambiguous conjugation: please specify zeen-1 (to see) or zeen-2 (to be)")
end
irregular["zeen-1"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
data.info = " (irregular)"
data.forms["inf"] = {"zeen"}
data.forms["ger"] = {"zeen"}
data.forms["pres_p"] = {"zeendje"}
data.forms["past_p"] = {"gezeen"}
data.forms["adj"] = {"gezeen", "gezene", "gezener", "gezenes"}
data.forms["adv"] = {"gezenelik"}
data.forms["pres_1s_sv"] = {"zeen"}
data.forms["past_1s_sv"] = {"zoog", "zaag"}
data.forms["sub_1s_sv"] = {"zene"}
data.forms["pres_1s_vs"] = {"zeen"}
data.forms["past_1s_vs"] = {"zoog", "zaag"}
data.forms["sub_1s_vs"] = {"zene-n"}
data.forms["pres_2s_sv"] = {"zuus"}
data.forms["past_2s_sv"] = {"zoogs", "zaags"}
data.forms["sub_2s_sv"] = {"zene"}
data.forms["pres_2s_vs"] = {"zuus"}
data.forms["past_2s_vs"] = {"zoogs", "zaags"}
data.forms["sub_2s_vs"] = {"zener"}
data.forms["pres_3s_sv"] = {"zuutj"}
data.forms["past_3s_sv"] = {"zoog", "zaag"}
data.forms["sub_3s_sv"] = {"zene"}
data.forms["pres_3s_vs"] = {"zuutj'r"}
data.forms["past_3s_vs"] = {"zoog", "zaag"}
data.forms["sub_3s_vs"] = {"zener"}
data.forms["pres_1p_sv"] = {"zeen"}
data.forms["past_1p_sv"] = {"zoge", "zage"}
data.forms["sub_1p_sv"] = {"zene"}
data.forms["pres_1p_vs"] = {"zeentj"}
data.forms["past_1p_vs"] = {"zoge", "zage"}
data.forms["sub_1p_vs"] = {"zene"}
data.forms["pres_2p_sv"] = {"zuutj"}
data.forms["past_2p_sv"] = {"zoog", "zaag"}
data.forms["sub_2p_sv"] = {"zene"}
data.forms["pres_2p_vs"] = {"zuutj"}
data.forms["past_2p_vs"] = {"zoog", "zaag"}
data.forms["sub_2p_vs"] = {"zenetj"}
data.forms["pres_3p_sv"] = {"zeen"}
data.forms["past_3p_sv"] = {"zoge", "zage"}
data.forms["sub_3p_sv"] = {"zene"}
data.forms["pres_3p_vs"] = {"zeen"}
data.forms["past_3p_vs"] = {"leeje"}
data.forms["sub_3p_vs"] = {"zener"}
data.forms["noun"] = {"gezeen"}
data.forms["imp_sg_imp"] = {"zuug"}
data.forms["imp_sg_pol"] = {"zuutj"}
data.forms["imp_du"] = {"zuuetj"}
data.forms["imp_pl"] = {"zuutj"}
data.forms["incl"] = {"zenem"}
end
irregular["zeen-2"] = function(data)
table.insert(data.categories, "Limburgish irregular verbs")
table.insert(data.categories, "Limburgish suppletive verbs")
data.info = " (highly irregular, suppletive)"
data.aux = "zeen"
data.forms["inf"] = {"zeen", "waeze"}
data.forms["ger"] = {"zeen"}
data.forms["pres_p"] = {"?"}
data.forms["past_p"] = {"gewaes"}
data.forms["adj"] = {"gewaes", "gewaeze", "gewaezer", "gewaezes"}
data.forms["adv"] = {"gewaezelik"}
data.forms["pres_1s_sv"] = {"bön"}
data.forms["past_1s_sv"] = {"woor", "waas", "waar"}
data.forms["sub_1s_sv"] = {"bönne"}
data.forms["pres_1s_vs"] = {"bön"}
data.forms["past_1s_vs"] = {"woor", "waas", "waar"}
data.forms["sub_1s_vs"] = {"bönne-n"}
data.forms["pres_2s_sv"] = {"bös"}
data.forms["past_2s_sv"] = {"woors", "waas", "waars"}
data.forms["sub_2s_sv"] = {"bönne"}
data.forms["pres_2s_vs"] = {"bös"}
data.forms["past_2s_vs"] = {"woors", "waas", "waars"}
data.forms["sub_2s_vs"] = {"bonner"}
data.forms["pres_3s_sv"] = {"is"}
data.forms["past_3s_sv"] = {"woor", "waas", "waar"}
data.forms["sub_3s_sv"] = {"bönne"}
data.forms["pres_3s_vs"] = {"is"}
data.forms["past_3s_vs"] = {"woor", "waas", "waar"}
data.forms["sub_3s_vs"] = {"bönner"}
data.forms["pres_1p_sv"] = {"zeen"}
data.forms["past_1p_sv"] = {"wore", "ware"}
data.forms["sub_1p_sv"] = {"bönne"}
data.forms["pres_1p_vs"] = {"zeetj"}
data.forms["past_1p_vs"] = {"woortj"}
data.forms["sub_1p_vs"] = {"bönne"}
data.forms["pres_2p_sv"] = {"zeetj", "zeentj"}
data.forms["past_2p_sv"] = {"woortj", "waartj"}
data.forms["sub_2p_sv"] = {"bönne"}
data.forms["pres_2p_vs"] = {"zeetj", "zeentj"}
data.forms["past_2p_vs"] = {"woortj", "waartj"}
data.forms["sub_2p_vs"] = {"bönneetj"}
data.forms["pres_3p_sv"] = {"zeen", "zeent"}
data.forms["past_3p_sv"] = {"wore", "ware"}
data.forms["sub_3p_sv"] = {"bönne"}
data.forms["pres_3p_vs"] = {"zeen"}
data.forms["past_3p_vs"] = {"wore", "ware"}
data.forms["sub_3p_vs"] = {"bönner"}
data.forms["noun"] = {"gezeen"}
data.forms["imp_sg_imp"] = {"bön"}
data.forms["imp_sg_pol"] = {"zeetj", "zeentj"}
data.forms["imp_du"] = {"eertj"}
data.forms["imp_pl"] = {"zeetj", "zeentj"}
data.forms["incl"] = {"bönnem"}
end
-- Make the table
function make_table(data)
local function show_form(form)
if not form then
return "—"
end
local ret = {}
for key, subform in ipairs(form) do
table.insert(ret, m_links.full_link({lang = lang, term = subform}))
end
return table.concat(ret, ", ")
end
local function repl(param)
if param == "lemma" then
return m_links.full_link({lang = lang, alt = mw.title.getCurrentTitle().text}, "term")
elseif param == "info" or param == "aux" then
return data[param]
elseif param == "n" then
return m_gender.format_list({"n"})
else
return show_form(data.forms[param])
end
end
local wikicode = [=[
<div class="NavFrame">
<div class="NavHead" style="text-align: left">Montfortian conjugation of {{{lemma}}}{{{info}}}</div>
<div class="NavContent">
{| border="1px solid #cdcdcd" style="border-collapse:collapse;background:#FEFEFE;width:100%;text-align:center;" class="inflection-table"
|-
! rowspan=2 style="background:#C0C0C0" | non-finite forms
! style="background:#C0C0C0" | infinitive
! style="background:#C0C0C0" | gerund
! style="background:#C0C0C0" | present participle
! style="background:#C0C0C0" | past participle
! style="background:#C0C0C0" | adjective
! style="background:#C0C0C0" | adverb
|-
| (tö) {{{inf}}}
| 't {{{ger}}} {{{n}}}
| {{{pres_p}}}
| {{{aux}}} {{{past_p}}}
| {{{adj}}}
| {{{adv}}}
|-
! rowspan=2 style="background:#C0C0C0" | number & tense
! colspan=3 style="background:#C0C0C0" | [[w:V2 word order|verb-second order]]
! colspan=3 style="background:#C0C0C0" | verb-first order
|-
! style="background:#C0C0C0" | present
! style="background:#C0C0C0" | past
! style="background:#C0C0C0" | subjunctive
! style="background:#C0C0C0" | present
! style="background:#C0C0C0" | past
! style="background:#C0C0C0" | subjunctive
|-
! style="background:#c0cfe4" | first person singular
| {{{pres_1s_sv}}}
| {{{past_1s_sv}}}
| {{{sub_1s_sv}}}
| {{{pres_1s_vs}}}
| {{{past_1s_vs}}}
| {{{sub_1s_vs}}}
|-
! style="background:#c0cfe4" | second person singular
| {{{pres_2s_sv}}}
| {{{past_2s_sv}}}
| {{{sub_2s_sv}}}
| {{{pres_2s_vs}}}
| {{{past_2s_vs}}}
| {{{sub_2s_vs}}}
|-
! style="background:#c0cfe4" | third person singular
| {{{pres_3s_sv}}}
| {{{past_3s_sv}}}
| {{{sub_3s_sv}}}
| {{{pres_3s_vs}}}
| {{{past_3s_vs}}}
| {{{sub_3s_vs}}}
|-
! style="background:#c0cfe4" | first person plural
| {{{pres_1p_sv}}}
| {{{past_1p_sv}}}
| {{{sub_1p_sv}}}
| {{{pres_1p_vs}}}
| {{{past_1p_vs}}}
| {{{sub_1p_vs}}}
|-
! style="background:#c0cfe4" | second person plural
| {{{pres_2p_sv}}}
| {{{past_2p_sv}}}
| {{{sub_2p_sv}}}
| {{{pres_2p_vs}}}
| {{{past_2p_vs}}}
| {{{sub_2p_vs}}}
|-
! style="background:#c0cfe4" | third person plural
| {{{pres_3p_sv}}}
| {{{past_3p_sv}}}
| {{{sub_3p_sv}}}
| {{{pres_3p_vs}}}
| {{{past_3p_vs}}}
| {{{sub_3p_vs}}}
|-
! rowspan=2 style="background:#C0C0C0" | other forms
! style="background:#C0C0C0" | noun
! style="background:#C0C0C0" | imperative singular impolite
! style="background:#C0C0C0" | imperative singular polite
! style="background:#C0C0C0" | imperative dual
! style="background:#C0C0C0" | imperative plural
! style="background:#C0C0C0" | inclusive
|-
| 't {{{noun}}} {{{n}}}
| {{{imp_sg_imp}}}!
| {{{imp_sg_pol}}}!
| {{{imp_du}}}!
| {{{imp_pl}}}!
| {{{incl}}}
|}</div></div>]=]
return (mw.ustring.gsub(wikicode, "{{{([a-z0-9_]+)}}}", repl)) .. m_utils.format_categories(data.categories, lang)
end
return export