Module:nn-decl

local p = {} function p.main(frame) local PAGENAME = mw.title.getCurrentTitle.text args = frame:getParent.args if args[1] then gender = args[1] else gender = '?' end if args[2] then stem = args[2] else stem = '?' end

if args[3] then wordroot = args[3] end

if args[4] then form = args[4] else form = '' end

if args[5] then decl = args[5] else decl = '' end -- Landsmål if form == 'aasen' then -- Feminine if gender == 'f' then if stem == 'o' then nasi = wordroot .. ''				gsi = wordroot .. 'ar-' nasd = wordroot .. 'i' dsd = wordroot .. 'enne' napi = wordroot .. 'er' gpi = wordroot .. 'e-' napd = wordroot .. 'erna' dpd = wordroot .. 'om' elseif stem == 'jo' then nasi = wordroot .. ''				gsi = wordroot .. 'ar-' nasd = wordroot .. 'i' dsd = wordroot .. 'enne' napi = wordroot .. 'ar' gpi = wordroot .. 'e-' napd = wordroot .. 'arne' dpd = wordroot .. 'om' elseif stem == 'jo-j' then nasi = wordroot .. ''				gsi = wordroot .. 'jar-' nasd = wordroot .. 'i' dsd = wordroot .. 'enne' napi = wordroot .. 'jar' gpi = wordroot .. 'je-' napd = wordroot .. 'jarne' dpd = wordroot .. 'jom' elseif stem == 'on' then nasi = wordroot .. 'a' gsi = wordroot .. 'e-' nasd = wordroot .. 'a' dsd = wordroot .. 'onne' napi = wordroot .. 'or' gpi = '' napd = wordroot .. 'orna' dpd = wordroot .. 'om' end -- Masculine elseif gender == 'm' then if stem == 'a' then nasi = wordroot .. ''				gsi = wordroot .. 's-' nasd = wordroot .. 'en' dsd = wordroot .. 'e' napi = wordroot .. 'ar' gpi = wordroot .. 'e-' napd = wordroot .. 'arne' dpd = wordroot .. 'om' elseif stem == 'an' then nasi = wordroot .. 'e' nasd = wordroot .. 'en' dsd = wordroot .. 'a' napi = wordroot .. 'ar' napd = wordroot .. 'arne' dpd = wordroot .. 'om' elseif stem == 'i' then nasi = wordroot .. 				gsi =  nasd = wordroot .. 'en' dsd = wordroot .. 'e' napi = wordroot .. 'er' gpi = wordroot .. 'e-' napd = wordroot .. 'erne' dpd = wordroot .. 'om' end -- Neuter elseif gender == 'n' then if stem == 'a' then nasi = wordroot .. ''				gsi = wordroot .. 's-' nasd = wordroot .. 'et' dsd = wordroot .. 'e' napi = wordroot .. ''				gpi = wordroot .. 'e-' napd = wordroot .. 'i' dpd = wordroot .. 'om' elseif stem == 'an' then nasi = wordroot .. 'a' gsi = wordroot .. 'e-' nasd = wordroot .. 'at' dsd = wordroot .. 'a' napi = wordroot .. 'o' gpi = wordroot .. 'ne-' napd = wordroot .. 'o' dpd = wordroot .. 'om' elseif stem == 'ija' then nasi = wordroot .. 'e' gsi = wordroot .. 'es-' nasd = wordroot .. 'et' dsd = wordroot .. 'e' napi = wordroot .. 'e' gpi = wordroot .. 'e-' napd = wordroot .. 'i' dpd = wordroot .. 'om' elseif stem == 'ija-j' then nasi = wordroot .. 'e' gsi = wordroot .. 'es-' nasd = wordroot .. 'et' dsd = wordroot .. 'e' napi = wordroot .. 'e' gpi = wordroot .. 'je-' napd = wordroot .. 'i' dpd = wordroot .. 'jom' end end

-- Official standard (2012-) else -- Femninine if gender == 'f' then if stem == 'o' then nasi = wordroot .. ''				gsi = wordroot .. 'e-' nasd = wordroot .. 'a' napi = wordroot .. 'er' gpi = wordroot .. 'e-' napd = wordroot .. 'ene' elseif stem == 'on' then nasi = wordroot .. 'e' gsi = wordroot .. 'e-' nasd = wordroot .. 'a' napi = wordroot .. 'er' gpi = '' napd = wordroot .. 'ene' end -- Masculine elseif gender == 'm' then if stem == 'a' then nasi = wordroot .. ''				gsi = wordroot .. 's-' nasd = wordroot .. 'en' napi = wordroot .. 'ar' gpi = wordroot .. 'e-' napd = wordroot .. 'ane' elseif stem == 'an' then nasi = wordroot .. 'e' gsi = wordroot .. 'e-' nasd = wordroot .. 'en' napi = wordroot .. 'ar' gpi = wordroot .. 'e-' napd = wordroot .. 'ane' elseif stem == 'i' then nasi = wordroot .. ''				gsi = wordroot .. 'e-' nasd = wordroot .. 'en' napi = wordroot .. 'er' gpi = wordroot .. 'e-' napd = wordroot .. 'ene' end end end if decl == 'nasi' then decl = nasi elseif decl == 'gsi' then decl = gsi elseif decl == 'nasd' then decl = nasd elseif decl == 'dsd' then decl = dsd elseif decl == 'napi' then decl = napi elseif decl == 'gpi' then decl = gpi elseif decl == 'napd' then decl = napd elseif decl == 'dpd' then decl = dpd elseif form == 'aasen' then decl = 'Landsmål' elseif form == 'setesdal' then decl = 'Setesdal' else decl = '' end

template = decl return template end

function p.stem(frame) local PAGENAME = mw.title.getCurrentTitle.text args = frame:getParent.args if args[1] then stem = args[1] end if stem == 'f' then stem = 'feminine' elseif stem == 'm' then stem = 'masculine' elseif stem == 'n' then stem = 'neuter' elseif stem == 'o' then stem = 'ō' elseif stem == 'jo' then stem = 'jō' elseif stem == 'jo-j' then stem = 'jō' elseif stem == 'on' then stem = 'ōn' elseif stem == 'a' then stem = 'a'	elseif stem == 'an' then stem = 'an' elseif stem == 'i' then stem = 'i'	elseif stem == 'u' then stem = 'u'	elseif stem == 'jo' then stem = 'jō' elseif stem == 'jo-j' then stem = 'jō' elseif stem == 'ijo' then stem = 'ijō' elseif stem == 'ija' then stem = 'ija' elseif stem == 'ija-j' then stem = 'ija' end template = stem return template end return p