Module:User:Sarri.greek/grk-nouns-decl/1

-- 2024.03.06. wikt:en:User:Sarri.greek -- tests of Greek nouns Ancient-Koine-Medieval-Modern

export = {} local function translit(frame) --	local args = frame:getParent.args	-- for Templates local args = frame.args				-- invoke -- it says it needs 'local' local x = '' return ' ' --	return ' ' --	x = ' ' -- ?? where do i write translit = frame:preprocess(translit) end

--================================== Empty table (for grc, etc) export['grk-noun'] = function(frame)	-- User:Sarri.greek/template4 = Template:grk-decl-noun local args = frame:getParent.args	-- for Templates --	local args = frame.args				-- invoke -- lemma local lemma = args['lemma'] or '' PAGENAME = mw.title.getCurrentTitle.text if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" ) else lemma = args['lemma'] end -- stems -- manually -- languages grc=1, grc-koi=1 gkm=1 el=1 -- /param page

-- compulsory: fix article for gender absence args['aNS'] = args['aNS'] or '' --!!TEST --if args['GS'] then args['GS'] = frame:preprocess(args['GS']) end args['aGS'] = args['aGS'] or '' args['aDS'] = args['aDS'] or 	args['aAS'] = args['aAS'] or  args['aNP'] = args['aNP'] or 	args['aGP'] = args['aGP'] or  args['aDP'] = args['aDP'] or 	args['aAP'] = args['aAP'] or  args['aND'] = args['aND'] or 	args['aGD'] = args['aGD'] or  return decl(args) end

-- User:Sarri.greek/template4 -- ======================= TEST el articles  στρατός ===================================== -- --Lua error in Module:User:Sarri.greek/grk-nouns-decl at line 709: attempt to concatenate field 'aNS' (a nil value) -- it cannot see Module:User:Sarri.gree/el-articles -- because I have require with if el=1

export['τεστ'] = function(frame)		-- Template local args = frame:getParent.args args['el'] = '1'

-- lemma local lemma = args['lemma'] or '' PAGENAME = mw.title.getCurrentTitle.text if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" )	-- trim empty spaces from beginning and end. Found at all Modules. else lemma = args['lemma'] end -- stems -- is default, 2 letters from end

--	args['decl'] = '' args['m'] = '1' --	args['cat-decl'] = 'ναός' --	args['type'] = 'ναός' args['as in'] = 'ναός' --	args['subcat01'] = 'oxytone' --	args['subcat02'] = 'masculine oxytone' --args['mod-NSstem'] = '' --mw.ustring.sub(args['lemma'],1,-3) args['mod-NSsuf'] = "ός" --!!TEST preprocessed template (/main page, function decl) GS= for tlse -- works with PAGNEMAE --args['GS'] = '' --args['GS'] = frame:preprocess(args['GS']) args['mod-GSsuf'] = "ού" --	args['mod-DSsuf'] = "ώ" -- this is non existant args['mod-ASsuf'] = "ό" args['mod-VSsuf'] = "έ" args['mod-NPsuf'] = "οί" args['mod-GPsuf'] = "ών" -- check also polytonic, see what happens with translit args['mod-APsuf'] = "ούς" args['mod-VPsuf'] = args['mod-NPsuf'] -- as in nominative

--transliteration = transliteration or '' --transliteration = ' ' --translit = frame:preprocess(translit) --args['mod-NStr'] = frame:preprocess(args['mod-NStr']) return decl(args) end

-- -- ======================= gkm2 παπάς ===================================== -- export['παπάς'] = function(frame) local args = frame:getParent.args	-- for Templates

--	local args = frame.args				-- invoke args['gkm'] = '2'

-- lemma local lemma = args['lemma'] or '' PAGENAME = mw.title.getCurrentTitle.text if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" )	-- trim empty spaces from beginning and end. Found at all Modules. else lemma = args['lemma'] end -- stems local stem = {} if args['num'] == "P" or args['num2'] == "P" then -- παπ-άδες stem["s"] = mw.ustring.sub(args['lemma'],1,-5) -- stemnumber = 5 (minus 4 letters from end) else stem["s"] = mw.ustring.sub(args['lemma'],1,-3) -- stemnumber = 3 (minus 2 letters from end) end stem["s0"] = m_stems_grk.word0(stem["s"])		-- remove accent if exists stem["s1"] = m_stems_grk.word1(stem["s0"])		-- put OKSEIA at the last syllable from end of the unaccented

--	args['decl'] = '' args['m'] = '1' --	args['cat-decl'] = 'παπάς' --	args['type'] = 'παπάς' args['as in'] = 'παπάς' --	args['subcat01'] = 'oxytone' --	args['subcat02'] = 'masculine oxytone' args['mod-NSstem'] = stem["s"]	args['mod-NSsuf'] = "άς" args['mod-NStr'] = '' args['mod-NS2stem'] = stem["s"]	args['mod-NS2suf'] = "ᾶς" args['mod-NS2tr'] = '' args['mod-GSstem'] = stem["s"]	args['mod-GSsuf'] = "ᾶ" args['mod-ASstem'] = stem["s"]	args['mod-ASsuf'] = "ά" args['mod-AS2stem'] = stem["s"]	args['mod-A2Ssuf'] = "άν" args['mod-VSstem'] = stem["s"]	args['mod-VSsuf'] = "ά" args['mod-NPstem'] = stem["s"] .. "άδ"	args['mod-NPsuf'] = "ες" --	args['mod-NPtr'] = '' args['mod-GPstem'] = stem["s"] .. "άδ"	args['mod-GPsuf'] = "ων" args['mod-GP2stem'] = stem["s1"] .. "ηδ"	args['mod-GP2suf'] = "ων" args['mod-APstem'] = stem["s"] .. "άδ"	args['mod-APsuf'] = "ες" args['mod-AP2stem'] = stem["s"] .. "άδ"	args['mod-AP2suf'] = "ας" args['mod-AP2txt'] = ' ' args['mod-VPstem'] = args['mod-NPstem']	args['mod-VPsuf'] = args['mod-NPsuf'] -- as in nominative --args = frame:preprocess(args) --if args ~= '' and args ~= nil then return frame:preprocess(export['παπάς']) end --args['mod-AP2txt'] = frame:preprocess(args['mod-AP2txt']) return frame:preprocess(decl(args)) --return decl(args) end

--[=[ -- ======================= 1st decl ANCIENT στρατιά ===================================== -- export['τεστ'] = function(frame)		-- Πρότυπο:grc-κλίση-'στρατιά' local args = frame:getParent.args args['grc'] = '1' -- lemma local lemma = args['lemma'] or '' PAGENAME = mw.title.getCurrentTitle.text if lemma == '' or lemma == nil then args['lemma'] = PAGENAME:match( "^%s*(.-)%s*$" )	-- trim empty spaces from beginning and end. Found at all Modules. else lemma = args['lemma'] end -- stems local stem = {} if args['num'] == "P" or args['num2'] == "P" or args['num'] == "PD" or args['num2'] == "PD" then stem["s"] = mw.ustring.sub(args['lemma'],1,-3) -- στρατι-ές -- minus 2 letters from end, stemnumber=3 else stem["s"] = mw.ustring.sub(args['lemma'],1,-2) -- στρατι-ά -- minus 1 letter from end, stemnumber=3 end

--	args['decl'] = '1' args['m'] = '1' args['cat-decl'] = 'στρατιά' --	args['type'] = 'στρατιά' args['as in'] = 'στρατιά' --	args['subcat01'] = 'oxytone' --	args['subcat02'] = 'feminine oxytone' args['mod-NSstem'] = stem["s"]		args['mod-NSsuf'] = "ά"	args['mod-NSsuf+'] = "ᾱ́" args['mod-GSstem'] = stem["s"]		args['mod-GSsuf'] = "ᾶς" args['mod-DSstem'] = stem["s"]		args['mod-DSsuf'] = "ᾷ" args['mod-ASstem'] = stem["s"]		args['mod-ASsuf'] = "άν"	args['mod-ASsuf+'] = "ᾱ́ν" args['mod-VSstem'] = stem["s"]		args['mod-VSsuf'] = "ά"	args['mod-VSsuf+'] = "ᾱ́"	-- or, as in nom args['mod-NPstem'] = stem["s"]		args['mod-NPsuf'] = "αί" args['mod-GPstem'] = stem["s"]		args['mod-GPsuf'] = "ῶν" args['mod-DPstem'] = stem["s"]		args['mod-DPsuf'] = "αῖς" args['mod-APstem'] = stem["s"]		args['mod-APsuf'] = "άς"	args['mod-APsuf+'] = "ᾱ́ς" args['mod-VPstem'] = args['mod-NPstem']	args['mod-VPsuf'] = args['mod-NPsuf']				-- as in nominative args['mod-NDstem'] = stem["s"]		args['mod-NDsuf'] = "ά"	args['mod-NDsuf+'] = "ᾱ́" args['mod-GDstem'] = stem["s"]		args['mod-GDsuf'] = "αῖν" return decl(args) end ]=]--

return export