Module:zz

Από Βικιλεξικό
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση
--[=[
--ΤΕΣΤ
Module:el-nouns-decl 
and
Template:el-nouns-master with  Template:zz
]=]--

export = {}

local m_functions = require("Module:el-nouns-decl/functions")

--------------------------------------------------------------------------
--  STEM PRODUCTION, REQUIRED MODULES / ΔΗΜΙΟΥΡΓΙΑ ΘΕΜΑΤΩΝ, MODULES     --
--------------------------------------------------------------------------
-- do not name 'local': it does not work for Module:el-nouns-decl/functions
m_stems = require("Module:grk-stems") -- stem production: 
	--functions:
		--word0 =  no accent, word1 = accent on ultima,  word2 = accent on penultima
		--hasaccent = tells us if it has an accent
	--local stemsource = require("Module:grc-stems/data") -- conversions of greek characters
tinti = require("Module:tin") --tinti function:tin
	-- chooses the correct acc.singular feminine article την (tin) or τη (ti)

--------------------------------------------------------------------------
--               links & styles / σύνδεσμοι & στυλ                      --
--------------------------------------------------------------------------

-- =========== standard colours (BLUE) and styles
-- borders
c_border = '#a1bdea' -- same as c_1 previously #AAAACC
c_bord = '#eaf0fa' -- or '#eeeeee' -- inner lighter borders
-- background colours
c_1 = '#a1bdea' -- ROW title1 MAIN, and border for title2 if it exists
c_2 = '#c1d3f1' -- title2 (e.g. genders of adjectives) and border for title1
c_3 = '#d5e2f6' -- title3, all the subtitles --previously  #BED9ED
c_4 = '#eaf0fa' -- background for notes - also test: #f8f8ff - previously #d9ebff
-- font colours
c_ending = 'DeepPink'
c_stem = '#002000'
c_black = '#000000'
c_cccccc = '#cccccc'
c_green = '#008000'

-- styles
-- ?? need float options
table_style1 = 'style="float:right; background:#ffffff; border:1px solid' .. c_border ..'; margin-left:0.5em; margin-bottom:0.5em; text-align:right;" rules="none" cellpadding="3" cellspacing="0"'

--  apply colours - εφαρμογή χρωμάτων
ending_color = function(kataliksi)
    return '<span style="color:' .. c_ending ..'; font-weight:normal;">' .. kataliksi .. '</span>'
end

stem_color = function(thema)
    return '<span style="color:' .. c_stem ..'; font-weight:normal;">' .. thema .. '</span>'
end

infix_color = function(infix)
    return '<span style="color:' .. c_green ..'; font-weight:normal;">' .. infix .. '</span>'
end

black_color = function(black_thing)
    return '<span style="color:' .. c_black ..'; font-weight:normal;">' .. black_thing .. '</span>'
end
cccccc_color = function(cccccc_thing)
    return '<span style="color:' .. c_cccccc ..'; font-weight:normal;">' .. cccccc_thing .. '</span>'
end
green_color = function(green_thing)
    return '<span style="color:' .. c_green ..'; font-weight:normal;">' .. green_thing .. '</span>'
end

-- ====================== Links
create_link = function(page, text)
	if text then
		return '[[' .. page .. '|' .. text .. ']]'
	else
		return '[[' .. page .. ']]'
	end
end

-- for klisi1 it controls stem and ending
linkcontrol2 = function(thema, kataliksi)
	thema = thema or '' -- needed when calling χχθ in functions like 'θάλασσα'
	kataliksi = kataliksi or ''	-- this was needed after introducing params for WORDS like οεΛ, γεΛ, etc.
	return create_link(thema .. kataliksi, stem_color(thema) ..  ending_color(kataliksi))
end

---for klisi2 + infix πρόσφυμα it controls stem, infix and ending
linkcontrol3 = function(thema, infix, kataliksi)
	thema = thema or '' -- PROBLEM at klisi2 for [[γυναικολόι]] with α=εν (sg only) AND γε=- (no gen.sg)
	return create_link(thema .. infix .. kataliksi, stem_color(thema) ..  infix_color(infix) .. ending_color(kataliksi))
end

-- Errors --this was used in Module:κλίση/el/ουσιαστικό
errorhere = function(errstring)
    return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης]]'
end


--------------------------------------------------------------------------
--          TABLE & Categories / ΠΙΝΙΚΑΣ & Κατηγορίες                   --
--------------------------------------------------------------------------
-- by Flyax and Xoristzatziki (2015-2018)
-- additions: 2020

fulltable = function(args)
	-- row for gender of numbers if different ([[πλούτος]])
	local gender = ''
	local gender_en = ''
	if args['γένος_εν'] ~= 'αρσενικό' and args['γένος_εν'] ~= 'θηλυκό' and args['γένος_εν'] ~= 'ουδέτερο' then args['γένος_εν'] = '' end
	if args['γένος_εν'] == 'αρσενικό' then args['γένος_εν'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' end
	if args['γένος_εν'] == 'θηλυκό' then args['γένος_εν'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' end
	if args['γένος_εν'] == 'ουδέτερο' then args['γένος_εν'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' end
	local gender_pl = ''
	if args['γένος_πλ'] ~= 'αρσενικό' and args['γένος_πλ'] ~= 'θηλυκό' and args['γένος_πλ'] ~= 'ουδέτερο' then args['γένος_πλ'] = '' end
	if args['γένος_πλ'] == 'αρσενικό' then args['γένος_πλ'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' end
	if args['γένος_πλ'] == 'θηλυκό' then args['γένος_πλ'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' end
	if args['γένος_πλ'] == 'ουδέτερο' then args['γένος_πλ'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' end
	local gender_pl2 = ''	-- 2ος πληθυντικός όπως [[Πρότυπο:el-κλίση'βράχος']]
	if args['γένος_πλ2'] ~= 'αρσενικό' and args['γένος_πλ2'] ~= 'θηλυκό' and args['γένος_πλ2'] ~= 'ουδέτερο' then args['γένος_πλ2'] = '' end
	if args['γένος_πλ2'] == 'αρσενικό' then args['γένος_πλ2'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' end
	if args['γένος_πλ2'] == 'θηλυκό' then args['γένος_πλ2'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' end
	if args['γένος_πλ2'] == 'ουδέτερο' then args['γένος_πλ2'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' end
	-- numbers
    local stitlestr = '' -- singular title
    local ptitlestr = '' -- plural title
    local ptitlestr2 = '' -- 2nd plural title like [[βράχος]]
    -- cases
    local onomenstr = '' --nom sg
    local onomplstr = '' --nom pl
    local onomplstr2 = '' --nom of 2nd pl
    local genenstr = '' --gen
    local genplstr = ''
    local genplstr2 = ''
    local aitenstr = '' --acc sg
    local aitplstr = ''
    local aitplstr2 = ''
    local klenstr = '' --voc
    local klplstr = ''
    local klplstr2 = ''
	-- articles
    local a_onomenstr = ''
    local a_onomplstr = ''
    local a_onomplstr2 = ''
    local a_genenstr = ''
    local a_genplstr = ''
    local a_genplstr2 = ''
    local a_aitenstr = ''
    local a_aitplstr = ''
    local a_aitplstr2 = ''
    local a_klenstr = ''
    local a_klplstr = ''
    local a_klplstr2 = ''
    
-- ARTICLES   
	args['ακε'] = '' -- vocatives are empty. (The ε! was placed outside, as it is not an article: withdrawn)
	args['ακε2'] = ''
	args['ακπ'] = ''
	args['ακπ2'] = ''
	if args['αρσ'] == '1' then
		if args['αοε'] == '-' then args['αοε'] = '' else args['αοε'] = create_link('ο', stem_color('ο')) end
		if args['αγε'] == '-' then args['αγε'] = '' else args['αγε'] = create_link('του', stem_color('του')) end
		if args['ααε'] == '-' then args['ααε'] = '' else args['ααε'] = create_link('τον', stem_color('τον')) end
		if args['αοπ'] == '-' then args['αοπ'] = '' else args['αοπ'] = create_link('οι', stem_color('οι')) end
		if args['αγπ'] == '-' then args['αγπ'] = '' else args['αγπ'] = create_link('των', stem_color('των')) end
		if args['ααπ'] == '-' then args['ααπ'] = '' else args['ααπ'] = create_link('τους', stem_color('τους')) end
	elseif args['θηλ'] == '1' then
		if args['αοε'] == '-' then args['αοε'] = '' else args['αοε'] = create_link('η', stem_color('η')) end
		if args['αγε'] == '-' then args['αγε'] = '' else args['αγε'] = create_link('της', stem_color('της')) end
		if args['ααε'] == '-' then args['ααε'] = '' else args['ααε'] = create_link('την', stem_color(tinti.tin(args['λήμμα']))) end -- REQUIRE [[Module:tin]]
		if args['αοπ'] == '-' then args['αοπ'] = '' else args['αοπ'] = create_link('οι', stem_color('οι')) end
		if args['αγπ'] == '-' then args['αγπ'] = '' else args['αγπ'] = create_link('των', stem_color('των')) end
		if args['ααπ'] == '-' then args['ααπ'] = '' else args['ααπ'] = create_link('τις', stem_color('τις')) end
	elseif args['αθ'] == '1' then
		if args['αοε'] == '-' then args['αοε'] = '' else args['αοε'] = create_link('ο', stem_color('ο')) .. '/' .. create_link('η', stem_color('η')) end
		if args['αγε'] == '-' then args['αγε'] = '' else args['αγε'] = create_link('του', stem_color('του')) .. '/' .. create_link('της', stem_color('της')) end
		if args['ααε'] == '-' then args['ααε'] = '' else args['ααε'] = create_link('τον', stem_color('τον')) .. '/' .. create_link('την', stem_color(tinti.tin(args['λήμμα']))) end -- REQUIRE [[Module:tin]]
		if args['αοπ'] == '-' then args['αοπ'] = '' else args['αοπ'] = create_link('οι', stem_color('οι')) end
		if args['αγπ'] == '-' then args['αγπ'] = '' else args['αγπ'] = create_link('των', stem_color('των')) end
		if args['ααπ'] == '-' then args['ααπ'] = '' else args['ααπ'] = create_link('τους', stem_color('τους')) .. '/' .. create_link('τις', stem_color('τις')) end
	elseif args['ουδ'] == '1' then
		if args['αοε'] == '-' then args['αοε'] = '' else args['αοε'] = create_link('το', stem_color('το')) end
		if args['αγε'] == '-' then args['αγε'] = '' else args['αγε'] = create_link('του', stem_color('του')) end
		if args['ααε'] == '-' then args['ααε'] = '' else args['ααε'] = create_link('το', stem_color('το')) end
		if args['αοπ'] == '-' then args['αοπ'] = '' else args['αοπ'] = create_link('τα', stem_color('τα')) end
		if args['αγπ'] == '-' then args['αγπ'] = '' else args['αγπ'] = create_link('των', stem_color('των')) end
		if args['ααπ'] == '-' then args['ααπ'] = '' else args['ααπ'] = create_link('τα', stem_color('τα')) end
	else
		-- if double plural, για editing άρθρων, π.χ. στα ιδιόκλιτα όπως [[πλούτος]] με διαφορετικό γένος σε κάθε αριθμό
		if args['αοε'] ~= '' and args['αοε'] ~= '-' then args['αοε'] = create_link(args['αοε'], stem_color(args['αοε'])) else args['αοε'] = '' end
		if args['αγε'] ~= '' and args['αγε'] ~= '-' then args['αγε'] = create_link(args['αγε'], stem_color(args['αγε'])) else args['αγε'] = '' end
		if args['ααε'] ~= '' and args['ααε'] ~= '-' then args['ααε'] = create_link(args['ααε'], stem_color(args['ααε'])) else args['ααε'] = '' end
		if args['αοπ'] ~= '' and args['αοπ'] ~= '-' then args['αοπ'] = create_link(args['αοπ'], stem_color(args['αοπ'])) else args['αοπ'] = '' end
		if args['αγπ'] ~= '' and args['αγπ'] ~= '-' then args['αγπ'] = create_link(args['αγπ'], stem_color(args['αγπ'])) else args['αγπ'] = '' end
		if args['ααπ'] ~= '' and args['ααπ'] ~= '-' then args['ααπ'] = create_link(args['ααπ'], stem_color(args['ααπ'])) else args['ααπ'] = '' end
	end


    local paratirisi = ''			-- notes by editor
    local note = args['σημ'] or  ''	-- standard notes by Template
    local appendix = ''				-- standard link
    local hassingular = true		--(args['εν'] ~= nil)
    if args['α'] == "πλ" or args['α2'] == "πλ" then hassingular = false end		
    	-- α= Ουσιαστικά ΧΩΡΙΣ ενικό / singular does not exist
    	-- α2 = Ουσιαστικά στον πληθυντικό (υπάρχει και ενικός) / but singular exists elsewhere
    local hasplural = true -- (args['πλ'] ~= nil)
    if args['α'] == "εν" or args['α2'] == "εν" then hasplural = false end

-- note lines / παρατήρηση π.χ. στο [[χάλυβας]]
if args['γένος_πλ2'] ~= '' and args['γένος_πλ2'] ~= nil then		-- get 7 columns if plural2 exists
	if args['σημ'] ~= '' or args['σημ'] ~= nil then					-- pre-edited notes όπως στο ίδης: [[Πρότυπο:el-κλίση-'ίδης']]
    	if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
        paratirisi = '|-' .. "\n" .. [=[| colspan="7" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. note .. '<br>' .. args['παρατήρηση'] .. "\n"
    	else
        paratirisi = '|-' .. "\n" .. [=[| colspan="7" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. note .. "\n"
    	end
    end
	if args['σημ'] == '' or args['σημ'] == nil then
    	if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
        paratirisi = '|-' .. "\n" .. [=[| colspan="7" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
    	else
    	paratirisi = ''
    	end
    end
	-- appendix
	if args['παράρτημα'] == '-' then appendix = ''
	elseif args['παράρτημα'] ~= '-'  and args['παράρτημα'] ~= '' and args['παράρτημα'] ~= nil  then
        appendix = '|-' .. "\n" .. [=[| colspan="7" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. args['παράρτημα'] .. "\n"
	else
        appendix = '|-' .. "\n" .. [=[| colspan="7" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. '[[Παράρτημα:Ουσιαστικά (νέα ελληνικά)|<span title="Παράρτημα:Ουσιαστικά">Παράρτημα</span>]]' .. "\n"
    end
else --if there is NO 2nd plural get 5 columns (which seems to be working for only one number too!)   
	if args['σημ'] ~= '' or args['σημ'] ~= nil then
    	if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
        paratirisi = '|-' .. "\n" .. [=[| colspan="5" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. note .. '<br>' .. args['παρατήρηση'] .. "\n"
    	else
        paratirisi = '|-' .. "\n" .. [=[| colspan="5" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. note .. "\n"
    	end
    end
	if args['σημ'] == '' or args['σημ'] == nil then
    	if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
        paratirisi = '|-' .. "\n" .. [=[| colspan="5" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
    	else
    	paratirisi = ''
    	end
    end
	-- appendix
	if args['παράρτημα'] == '-' then appendix = ''
	elseif args['παράρτημα'] ~= '-'  and args['παράρτημα'] ~= '' and args['παράρτημα'] ~= nil  then
        appendix = '|-' .. "\n" .. [=[| colspan="5" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. args['παράρτημα'] .. "\n"
	else
        appendix = '|-' .. "\n" .. [=[| colspan="5" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. '[[Παράρτημα:Ουσιαστικά (νέα ελληνικά)|<span title="Παράρτημα:Ουσιαστικά">Παράρτημα</span>]]' .. "\n"
    end
end -- close 2nd plural
    
    
    
    
-- columns (spaces added for good copy-paste result)
    if hassingular then
    	-- make c_border, if not 5 columns (table_style1's border does not apply) check [[γιόκας]]
    	if args['α'] == 'εν' or args['α2'] == 'εν' then
        stitlestr =  [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[ενικός|<span title="ενικός αριθμός: άρθρο, ουσιαστικό" style="color:black;">'''''ενικός'''''</span>]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]=] .. "\n"
        gender_en = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
        [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['γένος_εν'] .. "\n"
        a_onomenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοε'] ..  "\n"
        onomenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οεΛ'] ..  "\n"
        a_genenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγε'] ..  "\n"
        genenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γεΛ'] ..  "\n"
        a_aitenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααε'] ..  "\n"
        aitenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['αεΛ'] ..  "\n"
        a_klenstr =  [=[| align="center" | ]=] .. args['ακε'] ..  "\n"
        klenstr =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κεΛ'] ..  "\n"
        else
        stitlestr =  [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[ενικός|<span title="ενικός αριθμός: άρθρο, ουσιαστικό" style="color:black;">'''''ενικός'''''</span>]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]=] .. "\n"
        gender_en = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
        [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['γένος_εν'] .. "\n"
        a_onomenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοε'] ..  "\n"
        onomenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['οεΛ'] ..  "\n"
        a_genenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγε'] ..  "\n"
        genenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['γεΛ'] ..  "\n"
        a_aitenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααε'] ..  "\n"
        aitenstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['αεΛ'] ..  "\n"
        a_klenstr =  [=[| align="center" | ]=] .. args['ακε'] ..  "\n"
        klenstr =  [=[| style="border-right:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['κεΛ'] ..  "\n"
        end
    end
    if hasplural then
    	-- make c_border, if not 5 columns (table_style1's border does not apply) check [[Γάλλοι]]
    	if args['α'] == 'πλ' or args['α2'] == 'πλ' then
        ptitlestr = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός αριθμός: άρθρο, ουσιαστικό" style="color:black;">'''''πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"
        gender_pl = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
        [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['γένος_πλ'] .. "\n"
        a_onomplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοπ'] ..  "\n"
        onomplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οπΛ'] ..  "\n"
        a_genplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγπ'] ..  "\n"
        genplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γπΛ'] ..  "\n"
        a_aitplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααπ'] ..  "\n"
        aitplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['απΛ'] ..  "\n"
        a_klplstr =  [=[| align="center" | ]=] .. args['ακπ'] ..  "\n"
        klplstr =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κπΛ'] ..  "\n"
        else
        ptitlestr = [=[! style="background:]=] .. c_1 ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός αριθμός: άρθρο, ουσιαστικό" style="color:black;">'''''πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"
        gender_pl = [=[| style="background:]=] .. c_2 ..
        [=[; border-right:1px solid ]=] .. c_1 .. [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['γένος_πλ'] .. "\n"
        a_onomplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοπ'] ..  "\n"
        onomplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['οπΛ'] ..  "\n"
        a_genplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγπ'] ..  "\n"
        genplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['γπΛ'] ..  "\n"
        a_aitplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααπ'] ..  "\n"
        aitplstr =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['απΛ'] ..  "\n"
        a_klplstr =  [=[| align="center" | ]=] .. args['ακπ'] ..  "\n"
        klplstr =  [=[| align="left" | ]=] .. args['κπΛ'] ..  "\n"
        end
    end
-- 2nd plural - 2ος πληθυντικός όπως [[Πρότυπο:el-κλίση'βράχος']]
    if args['γένος_πλ2'] ~= '' and args['γένος_πλ2'] ~= nil then
		args['αοπ2'] = args['αοπ2'] or ''
		args['αγπ2'] = args['αγπ2'] or ''
		args['ααπ2'] = args['ααπ2'] or ''
		args['οπΛ2'] = args['οπΛ2'] or ''
		args['γπΛ2'] = args['γπΛ2'] or ''
		args['απΛ2'] = args['απΛ2'] or ''
		args['κπΛ2'] = args['κπΛ2'] or ''
	end
    if args['γένος_πλ2'] ~= '' and args['γένος_πλ2'] ~= nil then
        ptitlestr2 = [=[! style="background:]=] .. c_1 ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός αριθμός: άρθρο, ουσιαστικό" style="color:black;">'''''2ος&nbsp;πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"
        gender_pl2 = [=[| style="background:]=] .. c_2 ..
        [=[; border-right:1px solid ]=] .. c_1 .. [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['γένος_πλ2'] .. "\n"
        a_onomplstr2 =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοπ2'] ..  "\n"
        onomplstr2 =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['οπΛ2'] ..  "\n"
        a_genplstr2 =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγπ2'] ..  "\n"
        genplstr2 =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['γπΛ2'] ..  "\n"
        a_aitplstr2 =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααπ2'] ..  "\n"
        aitplstr2 =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="left" | ]=] .. args['απΛ2'] ..  "\n"
        a_klplstr2 =  [=[| align="center" | ]=] .. args['ακπ2'] ..  "\n"
        klplstr2 =  [=[| align="left" | ]=] .. args['κπΛ2'] ..  "\n"
    end	

-- and rows

-- row for genders if different in number ([[πλούτος]])
	if (args['γένος_εν'] ~= '' or args['γένος_πλ'] ~= '') and args['γένος_πλ2'] == '' or args['γένος_πλ2'] == nil then gender =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"|  ]=] .. "\n" .. gender_en .. gender_pl .. [=[|-]=]
end
	-- 2 plurals [[Πρότυπο:el-κλίση'βράχος']]
	if (args['γένος_εν'] ~= '' or args['γένος_πλ'] ~= '') and args['γένος_πλ2'] ~= '' then gender =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"|  ]=] .. "\n" .. gender_en .. gender_pl .. gender_pl2 .. [=[|-]=]
	end

    output = [=[{| ]=] .. table_style1 .. [=[
|-
! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:80%;" align="center"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;''πτώσεις''&nbsp;&nbsp;&darr;&nbsp;&nbsp;&nbsp;]=] ..
	"\n" .. stitlestr .. ptitlestr .. ptitlestr2 .. gender .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_onomenstr .. onomenstr .. a_onomplstr .. onomplstr .. a_onomplstr2 .. onomplstr2 .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[γενική|<span title="γενική πτώση" style="color:black;">'''''γενική'''''</span>]]]=] ..
	"\n" .. a_genenstr .. genenstr .. a_genplstr .. genplstr .. a_genplstr2 .. genplstr2 .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;[[αιτιατική|<span title="αιτιατική πτώση" style="color:black;">'''''αιτιατική'''''</span>]]]=] ..
	"\n" .. a_aitenstr .. aitenstr .. a_aitplstr .. aitplstr .. a_aitplstr2 .. aitplstr2 .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_klenstr .. klenstr .. a_klplstr .. klplstr .. a_klplstr2 .. klplstr2 .. paratirisi .. appendix .. [=[|}]=]
	--αφαιρείται, δίπλα από τη λέξη κλητική το: ([[ε|<span title="κλητικό επιφώνημα">ε</span>]]!)



-- ================================ CATEGORIES - ΚΑΤΗΓΟΡΙΕΣ
-- κατηγορία κλίσης = the PartOfSpeech (plus as ProperNouns, Surnames etc)
-- τύπος = the catchword of the category in quotation marks
-- τύπος0 (type zero) = no quotation marks, text may be extended
-- κατ = overrides τύπος
-- υποκατ = (subcatetory) plus another general category added
	local page = mw.title.getCurrentTitle()
    page.name = page.text:match( "^%s*(.-)%s*$" )
    if page.namespace == 0 then
    	if args['κατηγορία'] ~= '' and args['κατηγορία'] ~= nil then -- free text for Category
    		output = output .. '[[Κατηγορία:' .. args['κατηγορία'] .. ']]'
    	else
			-- special categories (irregulars) --perhaps no needed
			if args['ανώμ'] == '1' then
				output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα (νέα ελληνικά)]]'
			else
    			-- param κατ= για δημιουργία κατηγοριών που συμπληρώνει ο συντάκτης - editor creates Categories ad libitum
    			-- Υπερισχύει του 'τύπος' - It overrides 'τύπος'
    			cat_decl = args['κατηγορία κλίσης'] or 'Ουσιαστικά'
    			typos = args['τύπος'] or ''
    			if args['κατ'] ~= '' and args ['κατ'] ~= nil then
					output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. args['κατ'] .. "']]"
   				-- ο τύπος0 ΧΩΡΙΣ αποστρόφους (χρειάζεται όταν η φράση συνεχίζεται. παράδειγμα: οι Κατηγορίες στο [[Αντρέας]], [[μπόγιας]]
   				-- αν χρειαστούν ΔΥΟ παρόμοια, όπως στο [[σπετζοφάι]], μπορούμε να χρησιμοποιήσουμε το args['υποκατ']
   				elseif args['τύπος0'] ~= '' and args['τύπος0'] ~= nil then
   					output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το " .. args['τύπος0'] .. "]]"
   					else
-- ΥποΚατηγορίες για α, α2 / make subcategories for numbers
cat_decl = args['κατηγορία κλίσης'] or 'Ουσιαστικά'
	if args['α'] == 'εν' and (args['κατ'] == '' or args['κατ'] == nil) then output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' χωρίς πληθυντικό]]"
	elseif args['α'] == 'πλ' and (args['κατ'] == '' or args['κατ'] == nil)  then output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' χωρίς ενικό]]"
	elseif args['α2'] == 'εν' and (args['κατ'] == '' or args['κατ'] == nil)  then output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' στον ενικό]]"
	elseif args['α2'] == 'πλ' and (args['κατ'] == '' or args['κατ'] == nil)  then output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' στον πληθυντικό]]"
	else
        		--η γλώσσα στην κατηγορία θα είναι απαραίτητη αν υπάρχουν ίδιοι "τύποι" σε διαφορετικές γλώσσες.
            		output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "']]"
end -- close subcategories

            	end -- close 'κατ'
    		end -- close irregulars
    	end -- close free text κατηγορία
    	
		-- param υποκατ (subcategory) για δημιουργία συνοδευτικών γενικών κατηγοριών (όπως:... χωρίς πληθυντικό)
		-- ΔΕΝ υπερισχύει. Προστίθεται στις υπάρχουσες Κατηγορίες. - it does NOT override 'τύπος' (Παράδειγμα: [[πλούτος]]: προσθέτει την Κατ.Ουσιαστικά αρσενικά + Κατ.που κλίνονται όπως 'πλούτος')
		cat_decl = args['κατηγορία κλίσης'] or 'Ουσιαστικά'
		if args['υποκατ'] ~= '' and args ['υποκατ'] ~= nil then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' ' .. args['υποκατ'] .. ']]'
		end
		if args['υποκατ2'] ~= '' and args ['υποκατ2'] ~= nil then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' ' .. args['υποκατ2'] .. ']]'
		end

-- genders / Κατηγορίες για γένη
	if args['αρσ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' αρσενικά (νέα ελληνικά)]]' end
	if args['θηλ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' θηλυκά (νέα ελληνικά)]]' end
	if args['αθ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' κοινού γένους (νέα ελληνικά)]]' end
	if args['ουδ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' ουδέτερα (νέα ελληνικά)]]' end
-- έξτρα: υποθετικό 
-- + and args['υποκατ'] == '' βλ. [[τάρταρος]]
	if args['αρσ'] ~= '1' and args['θηλ'] ~= '1' and args['αθ'] ~= '1' and args['ουδ'] ~= '1' and args['υποκατ'] == '' then
		output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς γένος (νέα ελληνικά)]]'
	end

-- numbers / Κατηγορίες για τον αριθμό
	if args['α'] == 'εν' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς πληθυντικό (νέα ελληνικά)]]' end		-- singularia tanutm
	if args['α'] == 'πλ' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς ενικό (νέα ελληνικά)]]' end			-- pluralia tantum
	if args['α2'] == 'εν' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' στον ενικό (νέα ελληνικά)]]' end			-- mostly in the singular
	if args['α2'] == 'πλ' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' στον πληθυντικό (νέα ελληνικά)]]' end		-- mostly in the plural

-- γενικές: αν εμφανίζεται ΜΟΝΟ στον αντίθετο αριθμό, να μην εισάγεται στην Κατηγορία
-- βλ. και επιμέρους functions όπου υπάρχει αυτή η σύμβαση (π.χ. όνομα, παιδάκι)
-- όπως (...)
	if args['γε'] == '-' then
		if args['α'] ~= 'πλ' and args['α2'] ~= 'πλ' then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς γενική ενικού (νέα ελληνικά)]]'
		end
	end
-- όπως [[χειροπέδη]] μόνο στον ενικό. Αν όμως εξακολουθεί να υπάρχει γπ2, να μην μπαίνει στην κατηγορία (όπως [[μπαγάσας]])
	if args['γπ'] == '-' and args['γπ2'] == nil then 
		if args['α'] ~= 'εν' and args['α2'] ~= 'εν' then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς γενική πληθυντικού (νέα ελληνικά)]]'
		end
	end
-- όπως (δεν έχει παράδειγμα)
	if args['γπ0'] ~= '' and args['γπ0'] ~= nil then
		if args['α'] ~= 'εν' and args['α2'] ~= 'εν' then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' με δύσχρηστη γενική πληθυντικού (νέα ελληνικά)]]'
		end
	end

	end -- close 'if namespace'

return output -- close fulltable

end


--------------------------------------------------------------------------
--           GENERAL DECLENSIONS  / ΓΕΝΙΚΕΣ ΚΛΙΣΕΙΣ                     --
--------------------------------------------------------------------------


--------------------------------------------------------------------------
--                  klisi1 - the basic function                        --
--------------------------------------------------------------------------
-- by Flyax and Xoristzatziki (2015-2018)
-- alterations of command names: 2020

klisi1 = function(args)
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end 	
-- stems if lemma is in plural number (οπ = nom.pl)
    local stemnumber = 0
    if args['α'] ~= "πλ" or args['α2'] ~= "πλ" then
        stemnumber = tonumber(mw.ustring.len(args['οε']))
    end
    if args['α'] == "πλ" or args['α2'] == "πλ" then
        stemnumber = tonumber(mw.ustring.len(args['οπ']))	-- but if λήμμα= it MUST be the plural
    end
-- stems
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-stemnumber-1)
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])
    stem["θ2"] = m_stems.word2(stem["θ0"])	-- για τον πληθ  -ούμενες, -όμεν-ες του [[κατηγορουμένη]] -- [[Πρότυπο:el-κλίση-'κατηγορουμένη']]

    for  i, ptwsi in ipairs({'οε', 'γε', 'γε2', 'αε', 'κε', 'κε2', 'κε0', 'οπ', 'οπ2', 'γπ', 'γπ0', 'γπ2', 'απ', 'απ2'}) do
       if args[ptwsi .. 'θ'] == nil then args[ptwsi .. 'θ'] = "θ" end
    end
    for  i, ptwsi in ipairs({'γε', 'γε2', 'γπ', 'γπ0', 'γπ2'}) do
       if args[ptwsi] ~= nil then
          if m_stems.hasaccent(args[ptwsi]) then args[ptwsi .. 'θ'] = "θ0" end
       end
    end
    if args['οπ'] == "άδες" then
    args['οπθ'] = "θ0"
    args['απθ'] = "θ0"
    end
    if args['οπ2'] == "άδες" or args['οπ2'] == "αίοι" then
    args['οπ2θ'] = "θ0"
    args['απ2θ'] = "θ0"
    end
    if args['απ'] == nil then
       args['απ'] = args['οπ']
       args['απθ'] = args['οπθ']
    end
    if args['απ2'] == nil then
       args['απ2'] = args['οπ2']
       args['απθ2'] = args['οπθ2']
    end
    if args['κε'] == nil then args['κε'] = args['αε'] end

-- ---------- Χτίσιμο των τύπων - Generate forms ----------------- --
	---- ονομαστική ενικού
    args['οεΛ'] = linkcontrol2(stem[args['οεθ']], args['οε'])
    
    ---- γενική ενικού
    if (args['γε'] == "-" or args['γε'] == "" or args['γε'] == nil) then
    	args['αγε'] = '-'
        args['γεΛ'] = '<span style="color:#dddddd;">&mdash;</span>'
    else
        args['γεΛ'] = linkcontrol2(stem[args['γεθ']], args['γε'])
    end
    if args['γε2'] ~=nil and args['γε2'] ~= "" and args['γε2'] ~= "-" then
        args['γε2Λ'] = "<br />& " .. linkcontrol2(stem[args['γε2θ']], args['γε2']) -- όπως στο [[λύση]]
    else 
        args['γε2Λ'] = ''
    end
    args['γεΛ'] = args['γεΛ'] .. args['γε2Λ']   
    
	---- αιτιατική ενικού
    args['αεΛ'] = linkcontrol2(stem[args['αεθ']], args['αε'])

    ---- κλητική ενικού
    if args['κε0'] ~= nil then
        args['κεΛ'] = '(' .. linkcontrol2(stem[args['κε0θ']], args['κε0']) .. ')' -- όπως στο [[έρημος]]
    else
    args['κεΛ'] = linkcontrol2(stem[args['κεθ']], args['κε'])
    end
    if args['κε2'] ~=nil and args['κε2'] ~= "" and args['κε2'] ~= "-" then
        args['κε2Λ'] = "<br />(" .. linkcontrol2(stem[args['κε2θ']], args['κε2']) .. ')' -- σε παρένθεση, όχι με αστερίσκο
    else
        args['κε2Λ'] = ""
    end
    args['κεΛ'] = args['κεΛ'] .. args['κε2Λ']

    ---- ΟΝΟΜΑΣΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
    if args['οπΛ'] == '-' then args['οπΛ'] = '<span style="color:#dddddd;">&mdash;</span>' else		-- function θάλασσα for [[Αθήνα]]
    	args['οπΛ'] = linkcontrol2(stem[args['οπθ']], args['οπ'])
    end
    if args['οπ2'] ~= nil and args['οπ2'] ~= "" and args['οπ2'] ~= "-" then
        args['οπ2Λ'] = "<br />& " .. linkcontrol2(stem[args['οπ2θ']], args['οπ2']) -- όπως στο [[πραματευτής]]
    else
        args['οπ2Λ'] = ''
    end
    args['οπΛ'] = args['οπΛ'] .. args['οπ2Λ']
    args['κπΛ'] = args['οπΛ']

    ---- ΓΕΝΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
    -- Προσοχή: Να μην εξαφανίζει το άρθρο όταν υπάρχει γπ0 αντί για γπ όπως [[νότα]]
    -- Προσοχή: Να μην εξαφανίζει το άρθρο όταν υπάρχει γπ2 με γπ=- όπως 
    if args['γπ'] == "-"  and (args['γπ2'] == '' or args['γπ2'] == nil) then	
    	args['αγπ'] = '-'
        args['γπΛ'] = '<span style="color:#dddddd;">&mdash;</span>'
    elseif args['γπ'] == "-"  and (args['γπ2'] ~= '' or args['γπ2'] ~= nil) then
        args['γπΛ'] = '<span style="color:#dddddd;">&mdash;</span>'
    else
        args['γπΛ'] = linkcontrol2(stem[args['γπθ']], args['γπ'])
    end
    if args['γπ0'] ~= nil then
        args['γπΛ'] = '(' .. linkcontrol2(stem[args['γπ0θ']], args['γπ0']) .. ')' -- όπως στο [[σκόνη]]
    end
    if args['γπ2'] ~=nil and args['γπ2'] ~= "" and args['γπ2'] ~= "-" then
        args['γπ2Λ'] = linkcontrol2(stem[args['γπ2θ']], args['γπ2'])  -- όπως στο [[καρδινάλιος]]
        if args['γπΛ'] ~= "" then
            args['γπ2Λ'] = "<br />& " .. args['γπ2Λ']
        end
    else
        args['γπ2Λ'] = ""
    end
    args['γπΛ'] = args['γπΛ'] .. args['γπ2Λ']

    ---- ΑΙΤΙΑΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
    if args['απΛ'] == '-' then args['απΛ'] = '<span style="color:#dddddd;">&mdash;</span>' else		-- function θάλασσα for [[Αθήνα]]
    	args['απΛ'] = linkcontrol2(stem[args['απθ']], args['απ'])
    end
    if args['απ2'] ~=nil and args['απ2'] ~= "" and args['απ2'] ~= "-" then
        args['απ2Λ'] = "<br />& " .. linkcontrol2(stem[args['απ2θ']], args['απ2']) -- όπως στο [[καρδινάλιος]]
    else
        args['απ2Λ'] = ''
    end
    args['απΛ'] = args['απΛ'] .. args['απ2Λ']
    
    ---- ΚΛΗΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
    -- όπως η αιτιατική πληθυντικού

    return fulltable(args)
end

--------------------------------------------------------------------------
--              klisi2 - double stems (infix added)                    --
--------------------------------------------------------------------------
-- by Flyax and Xoristzatziki (2015-2018)
-- alterations: 2020


--κλίση ουδετέρων ουσιαστικών που παίρνουν επιπλέον σύμφωνο στο «θέμα», τσάι, προϊόν, μέλλον
klisi2 = function(args)
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end 	
-- stems if lemma is in plural number (οπ = nom.pl)
    local stemnumber = 0
    if args['α'] ~= "πλ" or args['α2'] ~= "πλ" then
        stemnumber = tonumber(mw.ustring.len(args['οε']))
    end
    if args['α'] == "πλ" or args['α2'] == "πλ" then
        stemnumber = tonumber(mw.ustring.len(args['οπ']))	-- but if λήμμα= it MUST be the plural
    end
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-stemnumber-1)
    stem["θ0"] = m_stems.word0(stem["θ"])
    stem["θ1"] = m_stems.word1(stem["θ0"])

    args['οεΛ'] = linkcontrol2(stem[args['οεθ']], args['οε'])
-- γε=- όπως στο [[σπετζοφάι]]
    if (args['γε'] == "-" or args['γε'] == "" or args['γε'] == nil) then
    	args['αγε'] = '-'
        args['γεΛ'] = '<span style="color:#dddddd;">&mdash;</span>'
    else
        args['γεΛ'] = linkcontrol3(stem[args['γεθ']], args['πρόσφ'], args['γε'])
    end
    args['αεΛ'] = args['οεΛ']
    args['κεΛ'] = args['οεΛ']
    args['οπΛ'] = linkcontrol3(stem[args['οπθ']], args['πρόσφ'], args['οπ'])
-- γπ=- όπως στο [[σπετζοφάι]]
    if (args['γπ'] == "-" or args['γπ'] == "" or args['γπ'] == nil) then
    	args['αγπ'] = '-'
        args['γπΛ'] = '<span style="color:#dddddd;">&mdash;</span>'
    else
        args['γπΛ'] = linkcontrol3(stem[args['γεθ']], args['πρόσφ'], args['γε'])
    end
    args['απΛ'] = args['οπΛ']
    args['κπΛ'] = args['οπΛ']

    return fulltable(args)
end



--------------------------------------------------------------------------
--               FREE TABLE for whole words for each cell               --
--------------------------------------------------------------------------
-- by Sarri.greek 2020

-- free table:  Make templates with each cell, free text /  Φτιάχνουμε Πρότυπα με ελεύθερο κείμενο για κάθε κελλί
-- [[Πρότυπο:el-nouns-free]]
export.free = function(frame)
--    local args = frame:getParent().args	-- for Templates
	local args = frame.args					-- invoke
-- lemma. This is needed, to define the feminine accusative singular argile (required Module:tin)
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end

				
-- οεΛ (ή οεΛ=- σπάνιο, όπως σε ελλειπτικά π.χ. [[μάλης]] που δεν έχει ονομαστική)
	if args['οεΛ'] == "-" or args['οεΛ'] == "" then
		args['αοε'] = "-"
		args['οεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['οεΛ'] = args['οεΛ'] .. ' ' .. args['κοινό']
	end
	
-- γεΛ ή γεΛ=-
	if args['γεΛ'] == "-" or args['γεΛ'] == "" then
		args['αγε'] = "-"
		args['γεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['γεΛ'] = args['γεΛ'] .. ' ' .. args['κοινό']
	end	
	
-- αεΛ ή αεΛ=-
	if args['αεΛ'] == "-" or args['αεΛ'] == "" then
		args['ααε'] = "-"
		args['αεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['αεΛ'] = args['αεΛ'] .. ' ' .. args['κοινό']
	end	
	
-- κεΛ ή κεΛ=-
	if args['κεΛ'] == "-" or args['κεΛ'] == "" then
		-- δεν έχει άρθρο εδώ
		args['κεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['κεΛ'] = args['κεΛ'] .. ' ' .. args['κοινό']
	end	

-- οπΛ ή οπΛ=-
	if args['οπΛ'] == "-" or args['οπΛ'] == "" then
		args['αοπ'] = "-"
		args['οπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['οπΛ'] = args['οπΛ'] .. ' ' .. args['κοινό']
	end

-- γπΛ ή γπΛ=-  όπως στο [[Αγία Βαρβάρα]]
	if args['γπΛ'] == "-" or args['γπΛ'] == "" then
		args['αγπ'] = "-"
		args['γπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['γπΛ'] = args['γπΛ'] .. ' ' .. args['κοινό']
	end

-- απΛ ή απΛ=-
	if args['απΛ'] == "-" or args['απΛ'] == "" then
		args['ααπ'] = "-"
		args['απΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['απΛ'] = args['απΛ'] .. ' ' .. args['κοινό']
	end

-- κπΛ ή κπΛ=-
	if args['κπΛ'] == "-" or args['κπΛ'] == "" then
		-- δεν έχει άρθρο εδώ
		args['κπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	elseif args['κοινό'] ~= '' or args['κοινό'] ~= nil then
		args['κπΛ'] = args['κπΛ'] .. ' ' .. args['κοινό']
	end
	
	-- 2ος πληθυντικός	
	args['οπΛ2'] = args['οπΛ2'] or ''
	args['γπΛ2'] = args['γπΛ2'] or ''
	args['απΛ2'] = args['απΛ2'] or ''
	args['κπΛ2'] = args['κπΛ2'] or ''
return fulltable(args)
end

--------------------------------------------------------------------------
--                 MASTER TABLE to create Templates                     --
--------------------------------------------------------------------------
--[=[ by Sarri.greek 2020
templates at / πρότυπα από το [[Template:el-nouns-master]]
ΠΡΟΒΛΗΜΑΤΑ
	* ?? needs redoing: for args['χχΛ'] = itself + free text added to it (like sup, or asterisks)
ΠΑΡΑΤΗΡΗΣΕΙ
	* το if args['αε'] == '' or args['αε'] == nil then args['αεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' end
		εξαφανίζει τη λέξη όταν έχει ΜΟΝΟ θέμα όπως στο [[ισχύς]], αιτιατική την ισχύ και κλητική. Άρα θα γίνουν: βλ. acc.sg, voc.sg

]=]--

export.master = function(frame)
--    local args = frame:getParent().args	-- for Templates
	local args = frame.args					-- invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end

-- Πάρε τα θέματα από το [[Module:grk-stems]] / Get stems from [[Module:grk-stems]] and place them in templates deriving from [[Template:el-nouns-master]]

-- word = stem + ending / if there is no stem (nothing written, or nil: not defined at all), then there is no article
	-- nil is needed, because we do not want all the parameters written if not needed
	-- το nil χρειάζεται για να μην γράφουμε οπωσδήποτε όλες τις παραμέτρους ακόμη κι αν δεν χρειάζονται
-- nom.sg.
    if args['οεθ'] == '' or args['οεθ'] == nil then args['αοε'] = '-' end	-- article will be blank
    if args['οε2'] ~= '' then
    	args['οεΛ'] = create_link((args['οεθ'] .. args['οε']), (stem_color(args['οεθ']) .. ending_color(args['οε'])))
    	.. '<br />& ' .. create_link((args['οε2θ'] .. args['οε2']), (stem_color(args['οε2θ']) .. ending_color(args['οε2'])))
	elseif args['οε2'] == '' or args['οε2θ'] == nil then
    	args['οεΛ'] = create_link((args['οεθ'] .. args['οε']), (stem_color(args['οεθ']) .. ending_color(args['οε'])))
    end -- close οε2
    if args['οε'] == '' or args['οε'] == nil then args['οεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' end
-- gen.sg. (+infix param)   
    if args['γεθ'] == '' or args['γεθ'] == nil then args['αγε'] = '-' end
    if args['γε2'] ~= '' then
    	if args['πρόσφ'] ~= '' then
    	args['γεΛ'] = create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε']), (stem_color(args['γεθ']) .. green_color(args['πρόσφ']) .. ending_color(args['γε'])))
    	.. '<br />& ' .. create_link((args['γε2θ'] .. args['πρόσφ'] .. args['γε2']), (stem_color(args['γε2θ']) .. green_color(args['πρόσφ']) .. ending_color(args['γε2'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) then
    	args['γεΛ'] = create_link((args['γεθ'] .. args['γε']), (stem_color(args['γεθ']) .. ending_color(args['γε'])))
    	.. '<br />& ' .. create_link((args['γε2θ'] .. args['γε2']), (stem_color(args['γε2θ']) .. ending_color(args['γε2'])))
    	end
	elseif args['γε2'] == '' or args['γε2θ'] == nil then
        if args['πρόσφ'] ~= '' then
    	args['γεΛ'] = create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε']), (stem_color(args['γεθ']) .. green_color(args['πρόσφ']) .. ending_color(args['γε'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) and (args['γεθ'] == '' or args['γεθ'] == nil) then args['γεθ'] = '' else
    	args['γεΛ'] = create_link((args['γεθ'] .. args['γε']), (stem_color(args['γεθ']) .. ending_color(args['γε'])))
    	end
    end -- close γε2
    if args['γε'] == '' or args['γε'] == nil then args['γεΛ'] = '<span style="color:#dddddd;">&mdash;</span>' end
-- acc.sg. + stem only variant
    if args['αεθ'] == '' or args['αεθ'] == nil then args['ααε'] = '-' end
    if args['αε2'] ~= '' then
    	args['αεΛ'] = create_link((args['αεθ'] .. args['αε']), (stem_color(args['αεθ']) .. ending_color(args['αε'])))
    	.. '<br />& ' .. create_link((args['αε2θ'] .. args['αε2']), (stem_color(args['αε2θ']) .. ending_color(args['αε2'])))
	elseif args['αε2'] == '' or args['αε2θ'] == nil then
    	args['αεΛ'] = create_link((args['αεθ'] .. args['αε']), (stem_color(args['αεθ']) .. ending_color(args['αε'])))
	end -- close αε2
	-- την ισχύ στο [[ισχύς]], [[ιχθύς]] [[Πρότυπο:el-κλίση-'ισχύς]]
	if (args['αε'] == '' or args['αε'] == nil) and (args['αεθ'] ~= '' or args['αεθ'] ~= nil) then
		args['αεΛ'] = create_link((args['αεθ']), (stem_color(args['αεθ'])))
	end
	if (args['αε'] == '' or args['αε'] == nil) and (args['αεθ'] == '' or args['αεθ'] == nil) then
		args['αεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	end

-- voc.sg. + stem only variant   
    -- ακε voc.sg article = empty by default
    if args['κε2'] ~= '' then
    	args['κεΛ'] = create_link((args['κεθ'] .. args['κε']), (stem_color(args['κεθ']) .. ending_color(args['κε'])))
    	.. '<br />& ' .. create_link((args['κε2θ'] .. args['κε2']), (stem_color(args['κε2θ']) .. ending_color(args['κε2'])))
	elseif args['κε2'] == '' or args['κε2θ'] == nil then
    	args['κεΛ'] = create_link((args['κεθ'] .. args['κε']), (stem_color(args['κεθ']) .. ending_color(args['κε'])))
    end -- close κε2
	-- ω ισχύ! στο [[ισχύς]], [[ιχθύς]] [[Πρότυπο:el-κλίση-'ισχύς]]
	if (args['κε'] == '' or args['κε'] == nil) and (args['κεθ'] ~= '' or args['κεθ'] ~= nil) then
		args['κεΛ'] = create_link((args['κεθ']), (stem_color(args['κεθ'])))
	end
	if (args['κε'] == '' or args['κε'] == nil) and (args['κεθ'] == '' or args['κεθ'] == nil) then
		args['κεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	end

-- nom.pl. 
    if args['οπθ'] == '' or args['οπθ'] == nil then args['αοπ'] = '-' end
    if args['οπ2'] ~= '' then
    	if args['πρόσφ'] ~= '' then
    	args['οπΛ'] = create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ']), (stem_color(args['οπθ']) .. green_color(args['πρόσφ']) .. ending_color(args['οπ'])))
    	.. '<br />& ' .. create_link((args['οπ2θ'] .. args['πρόσφ'] .. args['οπ2']), (stem_color(args['οπ2θ']) .. green_color(args['πρόσφ']) .. ending_color(args['οπ2'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) then
    	args['οπΛ'] = create_link((args['οπθ'] .. args['οπ']), (stem_color(args['οπθ']) .. ending_color(args['οπ'])))
    	.. '<br />& ' .. create_link((args['οπ2θ'] .. args['οπ2']), (stem_color(args['οπ2θ']) .. ending_color(args['οπ2'])))
    	end
	elseif args['οπ2'] == '' or args['οπ2θ'] == nil then
        if args['πρόσφ'] ~= '' then
    	args['οπΛ'] = create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ']), (stem_color(args['οπθ']) .. green_color(args['πρόσφ']) .. ending_color(args['οπ'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) and (args['οπθ'] == '' or args['οπθ'] == nil) then args['οπθ'] = '' else
    	args['οπΛ'] = create_link((args['οπθ'] .. args['οπ']), (stem_color(args['οπθ']) .. ending_color(args['οπ'])))
    	end
    end -- close οπ2
    if args['οπ'] == '' or args['οπ'] == nil then args['οπΛ'] = '<span style="color:#dddddd;">&mdash;</span>' end
-- gen.pl (+infix param)
-- ALSO: gen.pl2 exists but gen.pl does not -- [[κανάγιας]]
    if (args['γπθ'] == '' or args['γπθ'] == nil) and (args['γπ2θ'] == '' or args['γπ2θ'] == nil) then args['αγπ'] = '-' end
    if args['γπ2'] ~= '' then
if args['γπθ'] == '' or args['γπθ'] == nil then
    	if args['πρόσφ'] ~= '' then
    	args['γπΛ'] = '<span style="color:#dddddd;">&mdash;</span><br />' .. create_link((args['γπ2θ'] .. args['πρόσφ'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. green_color(args['πρόσφ']) .. ending_color(args['γπ2'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) then
    	args['γπΛ'] = '<span style="color:#dddddd;">&mdash;</span><br />' .. create_link((args['γπ2θ'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. ending_color(args['γπ2'])))
    	end
elseif args['γπθ'] ~= '' then
    	if args['πρόσφ'] ~= '' then
    	args['γπΛ'] = create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ']), (stem_color(args['γπθ']) .. green_color(args['πρόσφ']) .. ending_color(args['γπ'])))
    	.. '<br />& ' .. create_link((args['γπ2θ'] .. args['πρόσφ'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. green_color(args['πρόσφ']) .. ending_color(args['γπ2'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) then
    	args['γπΛ'] = create_link((args['γπθ'] .. args['γπ']), (stem_color(args['γπθ']) .. ending_color(args['γπ'])))
    	.. '<br />& ' .. create_link((args['γπ2θ'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. ending_color(args['γπ2'])))
    	end
end
	elseif args['γπ2'] == '' or args['γπ2θ'] == nil then
        if args['πρόσφ'] ~= '' then
    	args['γπΛ'] = create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ']), (stem_color(args['γπθ']) .. green_color(args['πρόσφ']) .. ending_color(args['γπ'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) and (args['γπθ'] == '' or args['γπθ'] == nil) then args['γπθ'] = '' else
    	args['γπΛ'] = create_link((args['γπθ'] .. args['γπ']), (stem_color(args['γπθ']) .. ending_color(args['γπ'])))
    	end
    end -- close γπ2
    if (args['γπ'] == '' or args['γπ'] == nil) and (args['γπ2θ'] == '' or args['γπ2θ'] == nil) then args['γπΛ']= '<span style="color:#dddddd;">&mdash;</span>' end
-- acc.pl (+infix param)
    if args['απθ'] == '' or args['απθ'] == nil then args['ααπ'] = '-' end
    if args['απ2'] ~= '' then
    	if args['πρόσφ'] ~= '' then
    	args['απΛ'] = create_link((args['απθ'] .. args['πρόσφ'] .. args['απ']), (stem_color(args['απθ']) .. green_color(args['πρόσφ']) .. ending_color(args['απ'])))
    	.. '<br />& ' .. create_link((args['απ2θ'] .. args['πρόσφ'] .. args['απ2']), (stem_color(args['απ2θ']) .. green_color(args['πρόσφ']) .. ending_color(args['απ2'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) then
    	args['απΛ'] = create_link((args['απθ'] .. args['απ']), (stem_color(args['απθ']) .. ending_color(args['απ'])))
    	.. '<br />& ' .. create_link((args['απ2θ'] .. args['απ2']), (stem_color(args['απ2θ']) .. ending_color(args['απ2'])))
    	end
	elseif args['απ2'] == '' or args['απ2θ'] == nil then
        if args['πρόσφ'] ~= '' then
    	args['απΛ'] = create_link((args['απθ'] .. args['πρόσφ'] .. args['απ']), (stem_color(args['απθ']) .. green_color(args['πρόσφ']) .. ending_color(args['απ'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) and (args['απθ'] == '' or args['απθ'] == nil) then args['απθ'] = '' else
    	args['απΛ'] = create_link((args['απθ'] .. args['απ']), (stem_color(args['απθ']) .. ending_color(args['απ'])))
    	end
    end -- close απ2
    if args['απ'] == '' or args['απ'] == nil then args['απΛ'] = '<span style="color:#dddddd;">&mdash;</span>' end
-- voc.pl (+infix param)    
    -- ακπ voc.pl article = empty by default
    if args['κπ2'] ~= '' then
    	if args['πρόσφ'] ~= '' then
    	args['κπΛ'] = create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ']), (stem_color(args['κπθ']) .. green_color(args['πρόσφ']) .. ending_color(args['κπ'])))
    	.. '<br />& ' .. create_link((args['κπ2θ'] .. args['πρόσφ'] .. args['κπ2']), (stem_color(args['κπ2θ']) .. green_color(args['πρόσφ']) .. ending_color(args['κπ2'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) then
    	args['κπΛ'] = create_link((args['κπθ'] .. args['κπ']), (stem_color(args['κπθ']) .. ending_color(args['κπ'])))
    	.. '<br />& ' .. create_link((args['κπ2θ'] .. args['κπ2']), (stem_color(args['κπ2θ']) .. ending_color(args['κπ2'])))
    	end
	elseif args['κπ2'] == '' or args['κπ2θ'] == nil then
        if args['πρόσφ'] ~= '' then
    	args['κπΛ'] = create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ']), (stem_color(args['κπθ']) .. green_color(args['πρόσφ']) .. ending_color(args['κπ'])))
    	elseif (args['πρόσφ'] == '' or args['πρόσφ'] == nil) and (args['κπθ'] == '' or args['κπθ'] == nil) then args['κπθ'] = '' else
    	args['κπΛ'] = create_link((args['κπθ'] .. args['κπ']), (stem_color(args['κπθ']) .. ending_color(args['κπ'])))
    	end
    end -- close κπ2
    if args['κπ'] == '' or args['κπ'] == nil then args['κπΛ'] = '<span style="color:#dddddd;">&mdash;</span>' end
-- extras because ERROR
	args['αοπ2'] = args['αοπ2'] or ''
--[=[
-- ADD the following
-- in parenthesis    
    args['οε0'] = '(' .. linkcontrol2(stem[args['οεθ']], args['οε']) .. ')'
    args['γε0'] = '(' .. linkcontrol2(stem[args['γεθ']], args['γε']) .. ')'
	-- etc
]=]--
return fulltable(args)
end

--[=[
--------------------------------------------------------------------------
--       SPECIFIC DECLENSIONS / ΕΠΙΜΕΡΟΥΣ ΣΥΝΑΡΤΗΣΕΙΣ ΚΛΙΣΕΩΝ           --
--------------------------------------------------------------------------
-- =================== α...ω ======================= --
--USE
--    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- βλ. και πρότυπα από το [[Template:el-nouns-master]]


export['αγρός'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αγρός']]
    local args = frame:getParent().args
    if args['θηλ'] == '1' then args['τύπος'] = 'οδός'		-- but [[Πρότυπο:el-κλίση-'οδός']] έχει και κλητική -ό
    elseif args['αθ'] == '1' then args['τύπος'] = 'γιατρός'				-- και [[Πρότυπο:el-κλίση-'γιατρός']]
    elseif (args['θηλ'] == '' or args['θηλ'] == nil) and (args['αθ'] == '' or args['αθ'] == nil) then
    	args['αρσ'] = '1'
    	args['τύπος'] = 'αγρός'
    end
-- επώνυμα / surnames  -- όπως [[Σολωμός]] 
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end 
    
    args['οε'] = "ός"
    -- εξαιρετικά για το Ρωμῃός, γενική Ρωμῃοῦ
    if args['γε'] == "οῦ" then args['γε'] = "οῦ" else args['γε'] = "ού" end
    args['αε'] = "ό"
    args['κε'] = "έ"
    args['οπ'] = "οί"
    -- εξαιρετικά για το Ρωμῃός, γενική πληθ. Ρωμῃῶν
    if args['γπ'] == "ῶν" then args['γπ'] = "ῶν" else args['γπ'] = "ών" end
    args['απ'] = "ούς"
    args['κπ'] = "οί"
return klisi1(args)
end


export['αγώνας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αγώνας']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- αγών
    stem["θ0"] = m_stems.word0(stem["θ"])
    stem["θ1"] = m_stems.word1(stem["θ0"])			-- ([[μονόχειρας]]) γπΛ2 = μονοχείρ-ων
    
    if args['αθ'] ~= '' and args['αθ'] ~= nil then args['αθ'] = '1' 
    elseif args['αθ'] == '' or args['αθ'] == nil then args['αρσ'] = '1' end
-- κατηγορίες
-- κοινό γένος -- και [[Πρότυπο:el-κλίση-'κηδεμόνας']]
    if args['αθ'] == '1' then args['σημ'] = "Ο πρώτος τύπος της γενικής ενικού, μόνο για το αρσενικό.<br>Ο δεύτερος τύπος, και για τα δύο γένη, είναι λόγιος." end
    if args['αθ'] == '1' and (args['αρσ'] == '' or args['αρσ'] == nil) then args['τύπος'] = 'κηδεμόνας' end
    if args['αθ'] == '' or args['αθ'] == nil then 
    	args['αρσ'] = '1' 
    	args['τύπος'] = 'αγώνας'
    end
-- άλλες κατηγορίες
    if args['γπ'] == '-' then args['τύπος0'] = "'αγώνας' χωρίς γενική πληθυντικού" end  -- όπως [[ιδρώτας]]
    if args['γπ'] == '-' then args['υποκατ'] = "χωρίς γενική πληθυντικού (νέα ελληνικά)" end
		
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ας')
    args['γεΛ'] = linkcontrol2(stem["θ"], 'α')
    if args['γε2'] == 'ος' then args['γεΛ'] = linkcontrol2(stem["θ"], 'α') .. "<br />& " .. linkcontrol2(stem["θ1"], 'ος') end -- όπως [[λιμένας]]
    args['αεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'ες')
	-- γπ=- όπως [[ιδρώτας]]
	if args['γπ'] == '-' then
		args['αγπ'] = '-'
		args['γπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	-- plus γπ2 όπως [[μονόχειρας]] των μονόχειρων & των μονοχείρων
	elseif args['γπ2'] ~= '' and args['γπ2'] ~= nil then
		args['γπΛ'] = linkcontrol2(stem["θ"], 'ων') .. "<br />& " .. linkcontrol2(stem["θ1"], 'ων')
	else
		args['γπΛ'] = linkcontrol2(stem["θ"], 'ων')
	end
    args['απΛ'] = linkcontrol2(stem["θ"], 'ες')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'ες')
return fulltable(args)
end


-- [[αδερφή]] από function ψυχή -- [[Πρότυπο:el-κλίση-'αδερφή']]


export['αέρας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αέρας']]
    local args = frame:getParent().args
	args['αρσ'] = '1'
    args['τύπος'] = 'αέρας'
    
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['οπ'] = "ες"
    args['οπ2'] = "ηδες"
--γπ=- για το [[μπαγάσας]]
    if args['γπ'] == '-' then
    	args['γπθ'] = "-"
    else
    	args['γπ'] = "ων"
    end
    args['γπ2'] = "ηδων"
return klisi1(args)
end


export['αιδώς'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αιδώς']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['κατ'] = 'αιδώς'	-- 'κατ' για να ΜΗΝ έχουμε 'Κατηγορία όπως αιδώς χωρίς πληθ'. Αυτό εννοείται.
    args['α'] = 'εν'
    
    args['οε'] = "ώς"
    args['γε'] = "ούς"
    args['αε'] = "ώ"
    args['κε'] = "ώ"
return klisi1(args)
end


export['αιλουροειδές'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αιλουροειδές']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'αιλουροειδές'
    
    args['οε'] = "ές"
    args['γε'] = "ούς"
    args['αε'] = "ές"
    args['οπ'] = "ή"
    args['γπ'] = "ών"
return klisi1(args)
end


export['αλεπού'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αλεπού']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'αλεπού'
    
    args['οε'] = "ού"
    args['γε'] = "ούς"
    args['αε'] = "ού"
    args['οπ'] = "ούδες"
    args['γπ'] = "ούδων"
return klisi1(args)
end


export['άλως'] = function(frame)		-- [[Πρότυπο:el-κλίση-'άλως']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['κατ'] = 'άλως'	-- 'κατ' για να ΜΗΝ έχουμε 'Κατηγορία όπως άλως χωρίς πληθ'. Αυτό εννοείται.
    args['α'] = 'εν'
    
    args['οε'] = "ως"
    args['γε'] = "ω"
    args['αε'] = "ω"
return klisi1(args)
end


-- [[άμπελος]] από function διάδρομος  -- [[Πρότυπο:el-κλίση-'άμπελος']]


export['άνθος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'άνθος']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'άνθος'
    
    args['οε'] = "ος"
    args['γε'] = "ους"
    args['αε'] = "ος"
    args['οπ'] = "η"
    args['γπθ'] = "θ0"
    args['γπ'] = "έων"
return klisi1(args)
end


export['αντίλαλος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αντίλαλος']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'αντίλαλος'
    
    args['οε'] = "ος"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['κε'] = "ε"
    args['οπ'] = "οι"
    args['γπ'] = "ων"
    args['απ'] = "ους"
return klisi1(args)
end


export['Αντρέας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'Αντρέας']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
	args['τύπος'] = 'Αντρέας'
-- επώνυμα / surnames  -- όπως [[Δουρίδας]] μοιάζει με το [[Πρότυπο:el-κλίση-'Γρίβας']] αλλά μόνον με -ηδες
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['οπ'] = "ηδες"
    args['γπ'] = "ηδων"
return klisi1(args)
end


export['ασημόσκονη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ασημόσκονη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'ασημόσκονη'
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = "ων"
    args['απ'] = "ες"
return klisi1(args)
end


export['αυτοκράτωρ'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αυτοκράτωρ']]
    local args = frame:getParent().args
    if args['θηλ'] == '1' then args['τύπος'] = 'βασιλομήτωρ'	-- και [[Πρότυπο:el-κλίση-'βασιλομήτωρ']]
    elseif args['αθ'] == '1' then args['τύπος'] = 'διδάκτωρ'	-- και [[Πρότυπο:el-κλίση-'διδάκτωρ']]
    elseif (args['θηλ'] == '' or args['θηλ'] == nil) and (args['αθ'] == '' or args['αθ'] == nil) then
    	args['αρσ'] = '1'
    	args['τύπος'] = 'αυτοκράτωρ'
    end
    
    args['οε'] = "ωρ"
    args['γε'] = "ορος"
    args['αε'] = "ορα"
    args['κε'] = "ορ"
    args['οπ'] = "ορες"
    args['γπθ'] = "θ0"
    args['γπ'] = "όρων"
    -- να υπάρχει παρατήρηση = ''Λόγια κλίση. Δείτε και'' ο ...-ορας
return klisi1(args)
end


export['αφέντης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'αφέντης']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'αφέντης'
    
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπθ'] = "θ0"
    args['γπ'] = "ών"
    args['οπ2θ'] = "θ0"
    args['οπ2'] = "άδες"
    args['γπ2θ'] = "θ0"
    args['γπ2'] = "άδων"
    args['απ2θ'] = "θ0"
    args['απ2'] = "άδες"
return klisi1(args)
end

-- [[βασιλομήτωρ]] από function αυτορκάτωρ -- [[Πρότυπο:el-κλίση-'βασιλομήτωρ']]
-- [[βιομήχανος]] κοινού γένους = [[Πρότυπο:el-κλίση-'βιομήχανος']] από function καρδινάλιος, [[Πρότυπο:el-κλίση-'καρδινάλιος']]


export['βουλευτής'] = function(frame)		-- [[Πρότυπο:el-κλίση-'βουλευτής']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- μαθητ- σταθερό

    args['αρσ'] = '1'
	args['τύπος'] = 'βουλευτής'
	args['σημ'] = "* λόγιος τύπος σε επίσημο ή ειρωνικό ύφος λόγου<br>** οι δεύτεροι τύποι του πληθυντικού, λαϊκότροποι" 
    
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ής')
	args['γεΛ'] = linkcontrol2(stem["θ"], 'ή') .. "<br />& " .. linkcontrol2(stem["θ"], 'ού') .. "&#8202;'''*'''"	-- μαθητού
	args['αεΛ'] = linkcontrol2(stem["θ"], 'ή')
	if args['κε2'] ~= '' and args['κε2'] ~= nil then
		args['κεΛ'] = linkcontrol2(stem["θ"], 'ή') .. "<br />& " .. linkcontrol2(stem["θ"], 'ά') .. "&#8202;'''*'''"	-- [[καθηγητής]] καθηγητά
		else
		args['κεΛ'] = linkcontrol2(stem["θ"], 'ή')
	end
	args['οπΛ'] = linkcontrol2(stem["θ"], 'ές') .. "<br />& " .. linkcontrol2(stem["θ"], 'άδες') .. "&#8202;'''**'''"
	args['γπΛ'] = linkcontrol2(stem["θ"], 'ών') .. "<br />& " .. linkcontrol2(stem["θ"], 'άδων')
	args['απΛ'] = linkcontrol2(stem["θ"], 'ές') .. "<br />& " .. linkcontrol2(stem["θ"], 'άδες')
	args['κπΛ'] = linkcontrol2(stem["θ"], 'ές') .. "<br />& " .. linkcontrol2(stem["θ"], 'άδες')
return fulltable(args)
end


export['βουνό'] = function(frame)		-- [[Πρότυπο:el-κλίση-'βουνό']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'βουνό'
    
    args['οε'] = "ό"
    args['γε'] = "ού"
    args['αε'] = "ό"
    args['οπ'] = "ά"
    args['γπ'] = "ών"
return klisi1(args)
end


export['βούτυρο'] = function(frame)		-- [[Πρότυπο:el-κλίση-'βούτυρο']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'βούτυρο'
    
    args['οε'] = "ο"
    args['γεθ'] = "θ1"
    args['γε'] = "ου"
    args['γε2'] = "ου"
    args['αε'] = "ο"
    args['οπ'] = "α"
    args['γπθ'] = "θ1"
    args['γπ'] = "ων"
    args['γπ2'] = "ων"
return klisi1(args)
end


export['βραδύπους'] = function(frame)		-- [[Πρότυπο:el-κλίση-'βραδύπους']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'βραδύπους'
    
    args['οε'] = "ους"
    args['γε'] = "οδος"
    args['αε'] = "οδα"
    args['κε'] = "ους"
    args['οπ'] = "οδες"
    args['γπθ'] = "θ0"
    args['γπ'] = "όδων"
    args['απ'] = "οδες"
    args['κπ'] = "οδες"
return klisi1(args)
end


-- [[βράχος]] από [[Πρότυπο:el-nouns-free]] -- [[Πρότυπο:el-κλίση-'βράχος']]

-- [[γεγονός]] από [[Πρότυπο:el-nouns-master]] --  [[Πρότυπο:el-κλίση-'γεγονός']] με πρόσφυμα ότ


export['γιαγιά'] = function(frame)		-- [[Πρότυπο:el-κλίση-'γιαγιά']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'γιαγιά'
    
    args['οε'] = "ά"
    args['γε'] = "άς"
    args['αε'] = "ά"
    args['οπ'] = "ές"
    args['οπ2'] = "άδες"
    args['γπ'] = "ών"
    args['γπ'] = "άδων"
return klisi1(args)
end

-- [[γιατρός]] από function αγρός -- [[Πρότυπο:el-κλίση-'γιατρός']]


export['Γιώργος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'Γιώργος']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
	args['τύπος'] = 'Γιώργος'
-- επώνυμα / surnames  -- όπως [[Χατζηγιώργος]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "ος"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['οπ'] = "ηδες"
    args['γπ'] = "ηδων"
return klisi1(args)
end


-- μόνο επώνυμα. Γραμματική Τριανταφυλλίδη παράγραφος 545, 2. παροξύτονα επώνυμα -ας
export['Γρίβας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'Γρίβας']] Επώνυμα μόνον - Surnames only
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['κατηγορία κλίσης'] = 'Επώνυμα'
	args['τύπος'] = 'Γρίβας'
	
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['οπ'] = "ηδες"
    args['οπ2θ'] = "θ0"
    args['οπ2'] = "αίοι"
    args['γπ'] = "ηδων"
    args['γπ2θ'] = "θ0"
    args['γπ2'] = "αίων"
    args['απ2θ'] = "θ0"
	args['απ2'] = "αίους"
return klisi1(args)
end


export['γυαλάκιας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'γυαλάκιας']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'γυαλάκιας'
    
    args['οε'] = "ιας"
    args['γε'] = "ια"
    args['αε'] = "ια"
    args['οπ'] = "ηδες"
    if args['γπ'] == nil then args['γπ'] = "ηδων" end
return klisi1(args)
end

-- [[δάσκαλος]] από [[Πρότυπο:el-nouns-master]] --  [[Πρότυπο:el-κλίση-'δάσκαλος']] όπως άγγελος με διπλή γενική ενικού


-- Χωρισμός δάσος - έδαφος (βλ [[Πρότυπο:el-κλίση-'δάσος']])
export['δάσος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'δάσος']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'δάσος'
    
    args['οε'] = "ος"
    args['γε'] = "ους"
    args['αε'] = "ος"
    args['οπ'] = "η"
    args['γπθ'] = "θ0"
-- γπ=- όπως στο [[μίσος]]
    if args['γπ'] == "-" then
    	args['αγπ'] = "-"
    	if args['α'] ~= "εν" and args['α2'] ~= "εν" then
    		args['τύπος0'] = "'δάσος' χωρίς γενική πληθυντικού"
    	end
    else args['γπ'] = "ών"
    end
return klisi1(args)
end


export['δέσιμο'] = function(frame)		-- [[Πρότυπο:el-κλίση-'δέσιμο']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'δέσιμο'
    
    args['οε'] = "ο"
    args['γεθ'] = "θ1"
    args['γε'] = "ατος"
    args['αε'] = "ο"
    args['οπθ'] = "θ1"
    args['οπ'] = "ατα"
    args['γπθ'] = "θ0"
    args['γπ'] = "άτων"
    args['απθ'] = "θ1"
return klisi1(args)
end


-- [[δεσμός]] από [[Πρότυπο:el-nouns-free]] -- [[Πρότυπο:el-κλίση-'δεσμός']]


export['διάδρομος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'διάδρομος']] (το παλιό άγγελος)
    local args = frame:getParent().args
    if args['θηλ'] == '1' then args['τύπος'] = 'άμπελος'		-- [[Πρότυπο:el-κλίση-'άμπελος']] 
    elseif args['αθ'] == '1' then args['τύπος'] = 'κάτοχος'		--  [[Πρότυπο:el-κλίση-'κάτοχος']] 
    elseif (args['θηλ'] == '' or args['θηλ'] == nil) and (args['αθ'] == '' or args['αθ'] == nil) then
    	args['αρσ'] = '1'
    	args['τύπος'] = 'διάδρομος'
    end
    
    args['οε'] = "ος"
    args['γεθ'] = "θ1"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['κε'] = "ε"
    args['οπ'] = "οι"
    args['γπθ'] = "θ1"
    args['γπ'] = "ων"
    args['απθ'] = "θ1"
    args['απ'] = "ους"
    args['κπ'] = "οι"
return klisi1(args)
end


export['διάμετρος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'διάμετρος']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])
    
    args['θηλ'] = '1'
	args['τύπος'] = 'διάμετρος'
    
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ος')
	args['γεΛ'] = linkcontrol2(stem["θ1"], 'ου')
	args['αεΛ'] = linkcontrol2(stem["θ"], 'ο')
	args['κεΛ'] = linkcontrol2(stem["θ"], 'ε') .. " (" .. create_link((stem["θ"] .. 'ο'), (stem_color('-') .. ending_color('ο'))) .. ")"
	args['οπΛ'] = linkcontrol2(stem["θ"], 'οι') .. " (" .. linkcontrol2(stem["θ"], 'ες') .. ")"
	args['γπΛ'] = linkcontrol2(stem["θ1"], 'ων')
	args['απΛ'] = linkcontrol2(stem["θ1"], 'ους') .. " (" .. linkcontrol2(stem["θ"], 'ες') .. ")"
	args['κπΛ'] = linkcontrol2(stem["θ"], 'οι') .. " (" .. linkcontrol2(stem["θ"], 'ες') .. ")"
return fulltable(args)
end


export['διανοούμενη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'διανοούμενη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'διανοούμενη'
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = "ων"
    args['γπ2θ'] = "θ1"
    args['γπ2'] = "ων"
    args['απ'] = "ες"
return klisi1(args)
end


-- [[διδάκτωρ]] από function αυτοκράτωρ  -- [[Πρότυπο:el-κλίση-'διδάκτωρ']]
-- [[διχοτόμος]] από function δρόμος  -- [[Πρότυπο:el-κλίση-'διχοτόμος']]


-- Χωρισμός [[Πρότυπο:el-κλίση-'δρόμος']] με το [[Πρότυπο:el-κλίση-'αντίλαλος']]
export['δρόμος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'δρόμος']] (θηλ = διχοτόμος)
    local args = frame:getParent().args
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])
    stem["θ2"] = m_stems.word2(stem["θ0"])

    if args['θηλ'] == '1' then args['τύπος'] = 'διχοτόμος' -- με κε2=ο Πάντα?
    elseif args['αθ'] == '1' then args['τύπος'] = 'ζωγράφος'
    elseif (args['θηλ'] == '' or args['θηλ'] == nil) and (args['αθ'] == '' or args['αθ'] == nil) then
-- split paroxytones, proparoxytones
    	 args['αρσ'] = '1'
   			if stem["θ"] == stem["θ1"] then
   				args['τύπος'] = 'δρόμος'
   			elseif stem["θ"] ~= stem["θ1"] then
   				args['τύπος'] = 'αντίλαλος'
			end
    end
-- επώνυμα / surnames  -- όπως [[Μπαλάνος]] με σταθερό τόνο και γενική Μπαλάνων
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'ος')
    args['γεΛ'] = linkcontrol2(stem["θ"], 'ου')
    args['αεΛ'] = linkcontrol2(stem["θ"], 'ο')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'ε')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'οι')
    args['γπΛ'] = linkcontrol2(stem["θ"], 'ων')
    args['απΛ'] = linkcontrol2(stem["θ"], 'ους')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'οι')
return fulltable(args)
end


-- 2020.05.18. Σταδιακά, να αντικαταστήσει το [[Πρότυπο:el-κλίση-'λύση']] όταν πρόκειται για προπαροξύτονα
export['δύναμη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'δύναμη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'δύναμη'
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['γε2θ'] = "θ1"
    args['γε2'] = "εως"
    args['αε'] = "η"
    args['οπθ'] = "θ1"
    args['οπ'] = "εις"
    args['γπθ'] = "θ1"
    args['γπ'] = "εων"
return klisi1(args)
end

-- Χωρισμός δάσος - έδαφος (βλ [[Πρότυπο:el-κλίση-'δάσος']])
export['έδαφος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'έδαφος']]
    local args = frame:getParent().args
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])
    stem["θ2"] = m_stems.word2(stem["θ0"])

    args['ουδ'] = '1'
-- split paroxytones, proparoxytones    -- split paroxytones, proparoxytones
   	if stem["θ"] == stem["θ1"] then args['τύπος'] = 'δάσος'
			else args['τύπος'] = 'έδαφος'
    end
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'ος')
	args['γεΛ'] = linkcontrol2(stem["θ1"], 'ους')
    args['αεΛ'] = linkcontrol2(stem["θ"], 'ος')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'ος')
    args['οπΛ'] = linkcontrol2(stem["θ1"], 'η')
    args['γπΛ'] = linkcontrol2(stem["θ0"], 'ών')
    args['απΛ'] = linkcontrol2(stem["θ1"], 'η')
    args['κπΛ'] = linkcontrol2(stem["θ1"], 'η')
return fulltable(args)
end


export['ελπίδα'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ελπίδα']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    if args['γπ'] == '-' then args['τύπος0'] = "'ελπίδα' χωρίς γενική πληθυντικού" end --όπως [[τροχαία]]
    args['τύπος'] = 'ελπίδα'
    
    args['οε'] = "α"
    args['γε'] = "ας"
    args['αε'] = "α"
    args['οπ'] = "ες"
    if args['γπ'] == nil then args['γπ'] = "ων" end
    if args['γπ2θ'] ~= '' and args['γπ2θ'] ~= nil then args['γπ2θ'] = "θ1" end	-- όπως [[καρυάτιδα]] - Καρυατίδων
return klisi1(args)
end


-- [[εμβαδόν]] από [[Πρότυπο:el-nouns-master]] --  [[Πρότυπο:el-κλίση-'εμβαδόν']]

-- [[επιστήμονας]] κοινού γένους = [[Πρότυπο:el-κλίση-'επιστήμονας']] από function φύλακας, [[Πρότυπο:el-κλίση-'επιστήμονας']]


export['επιτελής'] = function(frame)		-- [[Πρότυπο:el-κλίση-'επιτελής']]
    local args = frame:getParent().args
	args['αρσ'] = '1'
    args['τύπος'] = 'επιτελής'
    
    args['οε'] = "ής"
    args['γε'] = "ή"
    args['αε'] = "ή"
    args['οπ'] = "είς"
    args['γπ'] = "ών"
return klisi1(args)
end

export['ερωμένη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ερωμένη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'ερωμένη'
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = "ων"
return klisi1(args)
end


export['ήπειρος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ήπειρος']] (ήταν το παλιό 'έρημος'  όπως αρσενικά 'διάδρομος'
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'ήπειρος'
    
    args['οε'] = "ος"
    args['γεθ'] = "θ1"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['κε'] = "ε"
    args['κε2'] = "ο"
    args['οπ'] = "οι"
    args['γπθ'] = "θ1"
    args['γπ'] = "ων"
    args['απθ'] = "θ1"
    args['απ'] = "ους"
return klisi1(args)
end


export['ηχώ'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ηχώ']] βλ. και κλίση Ρηνιώ χωρίς γε -ους
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['κατ'] = 'ηχώ'		-- κατ για να μην υπάρχει  η έκφραση 'χωρίς πληθντικό'
    
    args['α'] = 'εν'
    args['οε'] = "ώ"
    args['γε'] = "ώς"
    args['γε2'] = "ούς"
    args['αε'] = "ώ"
--    args['οπ'] = "οί"
--    args['απ'] = "ούς"
    args['σημ'] = "Η γενική ενικού '''-ούς''' είναι λόγια, αρχαιόπρεπη."
return klisi1(args)
end


export['ζέστη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ζέστη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'ζέστη'
	if args['σημ'] == '-' then	-- όπως στο [[χειροπέδη]]
		args['σημ'] = '' else
	args['σημ'] = "Η γενική πληθυντικού '''-ών''' δεν συνηθίζεται."
	end

    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = '-'
return klisi1(args)
end

-- [[ζωγράφος]] αθ από function δρόμος  -- [[Πρότυπο:el-κλίση-'ζωγράφος']]


-- Χωρισμός παροξύτονα από τα προπαροξύτονα: σοφία - θάλασσα. Σταδιακά, όλα τα παροξύτονα να γίνουν [[Πρότυπο:el-κλίση-'σοφία']]
export['θάλασσα'] = function(frame)		-- [[Πρότυπο:el-κλίση-'θάλασσα']]
    local args = frame:getParent().args
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)	-- θάλασσ but αδρά-νε-ι-α
    stem["θ0"] = m_stems.word0(stem["θ"])		-- θαλασσ
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])		-- θαλάσσ
    stem["θ2"] = m_stems.word2(stem["θ0"])		-- επικρά-τε-ι (αντί επικρά-τει-)

    args['θηλ'] = '1'
	-- split paroxytones, proparoxytones
    -- CHECK σοφία ώρα θάλασσα άμαξα επικράτεια αδράνεια μαγείρισσα
   	if stem["θ"] == stem["θ1"] then args['τύπος'] = 'σοφία'
			else args['τύπος'] = 'θάλασσα'
    end

    args['οεΛ'] = linkcontrol2(stem["θ"], 'α')
	if args['γε2'] ~= '' and args['γε2'] ~= nil then args['γεΛ'] = linkcontrol2(stem["θ"], 'ας') .. "<br />& " .. linkcontrol2(stem["θ1"], args['γε2'])
		else args['γεΛ'] = linkcontrol2(stem["θ"], 'ας')
	end
    args['αεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'ες')	-- ?? check if οπ=-
-- γπ
	if args['γπ'] == '-' then args['τύπος0'] = "'θάλασσα' χωρίς γενική πληθυντικού" end
	if args['γπ'] == '-' then
		args['γπΛ'] = '<span style="color:#dddddd;">&mdash;</span>'		-- όπως [[Αίγινα]]
		args['αγπ'] = '-'
	elseif args['γπ0'] ~= '' and args['γπ0'] ~= nil then args['γπΛ'] = "(" .. linkcontrol2(stem["θ0"], 'ών') .. ")"
		else args['γπΛ'] = linkcontrol2(stem["θ0"], 'ών')
	end
    args['απΛ'] = linkcontrol2(stem["θ"], 'ες')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'ες')
return fulltable(args)
end


-- επώνυμα -ης (κατά το 'μανάβης') με παρατήρηση λόγιας γενικής ενικού
export['ίδης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ίδης']]
    local args = frame:getParent().args	
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end

	local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)	-- 1 = πρώτο γράμμα. -3 = σταματάμε στο 3ο γράμμα από το τέλος (Ιωαννίδ)
    
    args['αρσ'] = '1'
	args['κατηγορία κλίσης'] = 'Επώνυμα'
	args['τύπος'] = 'Αγγελίδης'  
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'ης')
    args['γεΛ'] = linkcontrol2(stem["θ"], 'η') .. "<sup>*</sup>"
    args['αεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'ηδες')
    args['γπΛ'] = linkcontrol2(stem["θ"], 'ηδων')
	args['απΛ'] = linkcontrol2(stem["θ"], 'ηδες')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'ηδες')
	args['σημ'] = "&nbsp;<sup>*</sup> Και λόγια γενική ενικού " .. linkcontrol2(stem["θ"], 'ου')
return fulltable(args)
end


export['ιππέας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ιππέας']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'ιππέας'
    
    args['οε'] = "έας"
    args['γε'] = "έα"
    args['αε'] = "έα"
    args['οπ'] = "είς"
    args['γπ'] = "έων"
    if args['2gen'] == "θ" then args['γε2'] = "έως" end
    if args['γε2'] ~= '' and args['γε2'] ~= nil then args['γε2'] = 'έως' end
return klisi1(args)
end


export['ισχύς'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ισχύς']]
    local args = frame:getParent().args
    if args['αρσ'] == '1' then args['τύπος'] = 'ιχθύς' end
    if args['θηλ'] == '1' then	args['τύπος'] = 'ισχύς' end		-- και [[Πρότυπο:el-κλίση-'ιχθύς']]

    args['οε'] = "ς"
    args['γε'] = "ος"
    args['αε'] = ""
    args['κε'] = ""
    args['οπ'] = "ες"
    args['γπ'] = "ων"
    args['απ'] = "ς"
return klisi1(args)
end

-- [[ιχθύς]] αρσ από function ισχύς  -- [[Πρότυπο:el-κλίση-'ιχθύς']]
-- [[κανάγιας]] από [[Πρότυπο:el-nouns-master]] --  [[Πρότυπο:el-κλίση-'κανάγιας']] με διπλό πληθυντικό
-- [[καπετάνιος]] από [[Πρότυπο:el-nouns-master]] --  [[Πρότυπο:el-κλίση-'καπετάνιος']] με διπλό πληθυντικό


export['καρδιά'] = function(frame)		-- [[Πρότυπο:el-κλίση-'καρδιά']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    if args['γπ'] == '-' then 
    	if args['α'] ~= "εν" and args['α2'] ~= "εν" then
    		args['τύπος0'] = "'καρδιά' χωρίς γενική πληθυντικού" --όπως [[μαγκιά]]
    	end
    end
    args['τύπος'] = 'καρδιά'
    
    args['οε'] = "ά"
    args['γε'] = "άς"
    args['αε'] = "ά"
    args['οπ'] = "ές"
    if args['γπ'] == nil then args['γπ'] = "ών" end
return klisi1(args)
end


export['καρδινάλιος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'καρδινάλιος']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- καρδινάλι
    stem["θ0"] = m_stems.word0(stem["θ"])			-- καρδιναλι
    stem["θ1"] = m_stems.word1(stem["θ0"])			-- καρδιναλί
    
    if args['αθ'] ~= '' and args['αθ'] ~= nil then args['αθ'] = '1' 
    elseif args['αθ'] == '' or args['αθ'] == nil then args['αρσ'] = "θ" end
-- κατηγορίες
-- κοινό γένος --  [[Πρότυπο:el-κλίση-'βιομήχανος']]. Εναλλακτικά: 
    if args['αθ'] == '1' then args['σημ'] = "Ο δεύτερος τύπος της γενικής ενικού και αιτιατικής πληθυντικού, μόνο για το αρσενικό." end
    if args['αθ'] == '1' and (args['αρσ'] == '' or args['αρσ'] == nil) then args['τύπος'] = 'βιομήχανος' end
    if args['αθ'] == '' or args['αθ'] == nil then 
    	args['αρσ'] = '1' 
    	args['τύπος'] = 'καρδινάλιος'
    end		
		
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ος')
    args['γεΛ'] = linkcontrol2(stem["θ1"], 'ου') .. "<br />& " .. linkcontrol2(stem["θ"], 'ου')
    args['αεΛ'] = linkcontrol2(stem["θ"], 'ο')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'ε')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'οι')
	args['γπΛ'] = linkcontrol2(stem["θ1"], 'ων') .. "<br />& " .. linkcontrol2(stem["θ"], 'ων')
	args['απΛ'] = linkcontrol2(stem["θ1"], 'ους') .. "<br />& " .. linkcontrol2(stem["θ"], 'ους')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'οι')
return fulltable(args)
end


export['κατηγορουμένη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'κατηγορουμένη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'κατηγορουμένη'
    args['παράρτημα'] = "''Δείτε:'' [[Παράρτημα:Ουσιαστικά (νέα ελληνικά)#Μετακίνηση_τόνου_σε_ουσιαστικοποιημένα|μετακίνηση τόνου]] ''στο'' [[Παράρτημα:Ουσιαστικά (νέα ελληνικά)|Παράρτημα]]"
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπθ'] = "θ2"
    args['οπ'] = "ες"
    args['γπ'] = "ων"
return klisi1(args)
end


-- [[κάτοικος]] αθ από function δάσκαλος  -- [[Πρότυπο:el-κλίση-'κάτοικος']]
-- [[κάτοχος]] αθ από function διάδρομος -- [[Πρότυπο:el-κλίση-'κάτοχοος']]

export['καφές'] = function(frame)		-- [[Πρότυπο:el-κλίση-'καφές']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'καφές'
-- επώνυμα / surnames  -- όπως [[Τσελεμεντές]] 
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "ές"
    args['γε'] = "έ"
    args['αε'] = "έ"
    args['οπ'] = "έδες"
    args['γπ'] = "έδων"
return klisi1(args)
end

-- [[κηδεμόνας]] από function αγώνας -- [[Πρότυπο:el-κλίση-'κηδεμόνας']]


export['κόντες'] = function(frame)		-- [[Πρότυπο:el-κλίση-'κόντες']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'κόντες'
-- επώνυμα / surnames  -- όπως [[Δαπόντες]] 
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "ες"
    args['γε'] = "ε"
    args['αε'] = "ε"
    args['οπ'] = "ηδες"
    args['γπ'] = "ηδων"
return klisi1(args)
end


export['κρέας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'κρέας']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'κρέας'
    
    if args['οε'] ~= '-' and args['οε'] ~= '' and args ['οε'] ~= nil then
    	args['οε'] = args['οε']	-- όπως στο [[ύδωρ]] το οε=ωρ
    	else args['οε'] = "ας"
    end
    args['γε'] = "ατος"
	args['αε'] = args['οε']
    args['οπ'] = "ατα"
    args['γπθ'] = "θ0"
    args['γπ'] = "άτων"
return klisi1(args)
end

-- από fulltable γιατί στο [[γάλα]] χρειάζεται γε2θ για το γάλακτος 
export['κύμα'] = function(frame)		-- [[Πρότυπο:el-κλίση-'κύμα']] χωρίστηκε από 'όνομα'
    local args = frame:getParent().args
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])

    args['ουδ'] = '1'
	args['τύπος'] = "κύμα"
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'α')
    if args['γε2θ'] ~= '' and args['γε2θ'] ~= nil then
    	args['γεΛ'] = linkcontrol2(stem["θ"], 'ατος') .. "<br />& " .. linkcontrol2(args["γε2θ"], args['γε2'])
    	else
    	args['γεΛ'] = linkcontrol2(stem["θ"], 'ατος')
    end
    args['αεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'ατα')
    args['γπΛ'] = linkcontrol2(stem["θ0"], 'άτων')
    args['απΛ'] = linkcontrol2(stem["θ"], 'ατα')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'ατα')
return fulltable(args)
end


export['λαχειοπώλης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'λαχειοπώλης']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'λαχειοπώλης'
    
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπ'] = "ες"
    if args['γπ'] == nil then
    	args['γπθ'] = "θ0"
    	args['γπ'] = "ών"
    end
    args['οπ2'] = "ηδες"
    args['γπ2'] = "ηδων"
return klisi1(args)
end

-- 2020.05.18. Χωρισμός Κατηγοριών 'λύση' (παροξύτονα) και 'δύναμη' (προπαροξύτονα)
-- Σταδιακά να αντικατασταθεί στα 'δύναμη' το [[Πρότυπο:el-κλίση-'λύση']] με το [[Πρότυπο:el-κλίση-'δύναμη']]
export['λύση'] = function(frame)		-- [[Πρότυπο:el-κλίση-'λύση']]
    local args = frame:getParent().args
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
-- προσοχή: αν είναι στο ΠΛΗΘΥΝΤΙΚΟ, αφαιρώ 3 γράμαμτα π.χ. [[Άλπεις]]
    if args['α'] == 'πλ' or args['α2'] == 'πλ' then 
    	stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
    else
    	stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
    end
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])
    stem["θ2"] = m_stems.word2(stem["θ0"])

    args['θηλ'] = '1'
	-- split paroxytones proparoxytones
   	if stem["θ"] == stem["θ1"] then args['τύπος'] = 'λύση'
			else args['τύπος'] = 'δύναμη'
    end
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['γεΛ'] = linkcontrol2(stem["θ"], 'ης') .. "<br />& " .. linkcontrol2(stem["θ1"], 'εως')
    args['αεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['οπΛ'] = linkcontrol2(stem["θ1"], 'εις')
    args['γπΛ'] = linkcontrol2(stem["θ1"], 'εων')
    args['απΛ'] = linkcontrol2(stem["θ1"], 'εις')
    args['κπΛ'] = linkcontrol2(stem["θ1"], 'εις')
return fulltable(args)
end


export['μαμά'] = function(frame)		-- [[Πρότυπο:el-κλίση-'μαμά']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'μαμά'
    
    args['οε'] = "ά"
    args['γε'] = "άς"
    args['αε'] = "ά"
    args['οπ'] = "άδες"
    args['γπ'] = "άδων"
return klisi1(args)
end



export['μανάβης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'μανάβης']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'μανάβης'
-- επώνυμα / surnames  όπως [[Βαμβακάρης]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπ'] = "ηδες"
    args['γπ'] = "ηδων"
    args['οπθ'] = "θ1"
    args['γπθ'] = "θ1"
return klisi1(args)
end


export['μέλλον'] = function(frame)		-- [[Πρότυπο:el-κλίση-'μέλλον']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'μέλλον'
    
    args['πρόσφ'] ="τ"
    args['οεθ'] = "θ"
    args['οε'] = ""
    args['γεθ'] = "θ"
    args['γε'] = "ος"
    args['οπθ'] = "θ"
    args['οπ'] = "α"
    args['γπθ'] = "θ1"
    args['γπ'] = "ων"
return klisi2(args)
end


export['μίλι'] = function(frame)		-- [[Πρότυπο:el-κλίση-'μίλι']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'μίλι'
    
    args['οε'] = "ι"
    args['γεθ'] = "θ0"
    args['γε'] = "ίου"
    args['αε'] = "ι"
    args['οπ'] = "ια"
    args['γπθ'] = "θ0"
    args['γπ'] = "ίων"
return klisi1(args)
end


export['μπαλωματής'] = function(frame)		-- [[Πρότυπο:el-κλίση-'μπαλωματής']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'μπαλωματής'
-- επώνυμα / surnames  όπως [[Ραγκαβής]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end    
    
    args['οε'] = "ής"
    args['γε'] = "ή"
    args['αε'] = "ή"
    args['οπ'] = "ήδες"
    args['γπ'] = "ήδων"
return klisi1(args)
end

-- Μπότσαρης -αίοι = μόνον επώνυμα
export['Μπότσαρης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'Μπότσαρης']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'Μπότσαρης'
	args['κατηγορία κλίσης'] = 'Επώνυμα'
    
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπθ'] = "θ0"
    args['οπ'] = "αίοι"
    args['γπθ'] = "θ0"
    args['γπ'] = "αίων"
return klisi1(args)
end


-- Μπούκουρας -αίοι = μόνον επώνυμα
export['Μπούκουρας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'Μπούκουρας']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'Μπούκουρας'
	args['κατηγορία κλίσης'] = 'Επώνυμα'
    
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['οπθ'] = "θ0"
    args['οπ'] = "αίοι"
    args['γπθ'] = "θ0"
    args['γπ'] = "αίων"
return klisi1(args)
end


-- [[ναύλος]] από [[Πρότυπο:el-nouns-free]] -- [[Πρότυπο:el-κλίση-'ναύλος']]


export['ναύτης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ναύτης']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'ναύτης'
-- επώνυμα / surnames (? δεν έχει)   
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπθ'] = "θ0"
    if args['γπ'] == nil then args['γπ'] = "ών" end
    if args['γπ'] == 'ηδων' then args['γπθ'] = "θ1" end		-- όπως στο [[λεβέντης]]
return klisi1(args)
end


export['νίκη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'νίκη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'νίκη'    
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπθ'] = "θ0"
    args['γπ'] = "ών"
return klisi1(args)
end


export['νικητής'] = function(frame)		-- [[Πρότυπο:el-κλίση-'νικητής']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'νικητής'
    
    args['οε'] = "ής"
    args['γε'] = "ή"
    args['αε'] = "ή"
    args['οπ'] = "ές"
    args['γπ'] = "ών"
return klisi1(args)
end


-- εδώ υπάγεται το προπαροξύτονο: φούρναρης
export['νοικοκύρης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'νοικοκύρης']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
	args['τύπος'] = 'νοικοκύρης'
-- επώνυμα / surnames  όπως [[Κωλοκοτρόνης]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end    
    
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπ'] = "ηδες"
    args['οπ2'] = "αίοι"
    args['γπ'] = "ηδων"
    args['γπ2θ'] = "θ0"		-- νοικοκυρ-αίων (άτονο)
    args['γπ2'] = "αίων"
    args['οπθ'] = "θ1"		-- νοικοκύρ, φουρνάρ
	args['απ2'] = "αίους"
return klisi1(args)
end


export['νότα'] = function(frame)		-- [[Πρότυπο:el-κλίση-'νότα']] με δύσχρηστη γπ
    local args = frame:getParent().args
    args['θηλ'] = '1'
	args['τύπος'] = 'νότα'
    
    args['οε'] = "α"
    args['γε'] = "ας"
    args['αε'] = "α"
    args['οπ'] = "ες"
    args['γπ0θ'] = "θ0"
    args['γπ0'] = "ών"
return klisi1(args)
end


export['οδός'] = function(frame)		-- [[Πρότυπο:el-κλίση-'οδός']] βλ. και [[Πρότυπο:el-κλίση-'αγρός']] χωρίς δεύτερη κλητική
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'οδός'
    
    args['οε'] = "ός"
    args['γε'] = "ού"
    args['αε'] = "ό"
    args['κε'] = "έ"
    if args['κε2'] ~= '' and args['κε2'] ~= nil then args['κε2'] = "ό" end
    args['οπ'] = "οί"
    args['γπ'] = "ών"
    args['απ'] = "ούς"
return klisi1(args)
end


export['ον'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ον']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'ον'
    args['πρόσφ'] ="τ"
    
    args['οεθ'] = "θ"    
    args['οε'] = ""
    args['γεθ'] = "θ1"
    args['γε'] = "ος"
    args['οπθ'] = "θ1"
    args['οπ'] = "α"
    args['γπθ'] = "θ1"
    args['γπ'] = "ων"
return klisi2(args)
end


-- Χωρισμός [[Πρότυπο:el-κλίση-'όνομα']] με το [[Πρότυπο:el-κλίση-'κύμα']]
export['όνομα'] = function(frame)		-- [[Πρότυπο:el-κλίση-'όνομα']]
    local args = frame:getParent().args
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])
    stem["θ2"] = m_stems.word2(stem["θ0"])

    args['ουδ'] = '1'
-- split paroxytones, proparoxytones    -- split paroxytones, proparoxytones
   	if stem["θ"] == stem["θ1"] then args['τύπος'] = 'κύμα'
			else args['τύπος'] = 'όνομα'
    end
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'α')
-- γε=- όπως στο [[συννεφόκαμα]]
    if args['γε'] == "-" then
    	args['αγε'] = "-"
    	args['γεΛ'] = '<span style="color:#dddddd;">&mdash;</span>'
    	if args['α'] ~= "πλ" and args['α2'] ~= "πλ" then
    		args['υποκατ'] = "που κλίνονται όπως το 'όνομα' χωρίς γενική ενικού"
    	end
    else
    	args['γεΛ'] = linkcontrol2(stem["θ1"], 'ατος')
    end
    args['αεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['οπΛ'] = linkcontrol2(stem["θ1"], 'ατα')
    args['γπΛ'] = linkcontrol2(stem["θ0"], 'άτων')
    args['απΛ'] = linkcontrol2(stem["θ1"], 'ατα')
    args['κπΛ'] = linkcontrol2(stem["θ1"], 'ατα')
return fulltable(args)
end


-- επώνυμα -όπουλος ([[Παπαδόπουλος]])
export['όπουλος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'όπουλος']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end

    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)	-- 1 = πρώτο γράμμα. -3 = σταματάμε στο 3ο γράμμα από το τέλος (Παπαδόπουλ)
    stem["θ0"] = m_stems.word0(stem["θ"])			-- Παπαδοπουλ
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])			-- Παπαδοπούλ
	
	args['αρσ'] = '1'
	args['κατηγορία κλίσης'] = 'Επώνυμα'
	args['τύπος'] = 'Παπαδόπουλος'
	
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ος')
	args['γεΛ'] = linkcontrol2(stem["θ"], 'ου') .. "<br />& " .. linkcontrol2(stem["θ1"], 'ου')
	args['αεΛ'] = linkcontrol2(stem["θ"], 'ο')
	args['κεΛ'] = linkcontrol2(stem["θ"], 'ε')
	args['οπΛ'] = linkcontrol2(stem["θ"], 'οι') .. " & " .. linkcontrol2(stem["θ0"], 'αίοι') .. "<sup>1</sup>"
	args['γπΛ'] = linkcontrol2(stem["θ"], 'ων') .. "<sup>2</sup> & " .. linkcontrol2(stem["θ0"], 'αίων')
	args['απΛ'] = linkcontrol2(stem["θ"], 'ους') .. "<sup>3</sup> & " .. linkcontrol2(stem["θ0"], 'αίους')
	args['κπΛ'] = linkcontrol2(stem["θ"], 'οι') .. " & " .. linkcontrol2(stem["θ0"], 'αίοι')
	args['σημ'] = "&nbsp;1. ''οι δεύτεροι τύποι, προφορικοί, οικείοι''<br>&nbsp;2. ''παρωχημένη γενική πληθυντικού:'' " .. linkcontrol2(stem["θ1"], 'ων')
	.. "<br>&nbsp;3. ''παρωχημένη αιτιατική πληθυντικού:'' " .. linkcontrol2(stem["θ1"], 'ους')
return fulltable(args)
end


export['παγκοσμιοποίηση'] = function(frame)	-- [[Πρότυπο:el-κλίση-'παγκοσμιοποίηση']] νεολογισμοί, χωρίς -ποιήσεως
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)  -- ποίησ
    stem["θ0"] = m_stems.word0(stem["θ"])			-- ποιησ
    stem["θ1"] = m_stems.word1(stem["θ0"])			-- ποιήσ
    
    args['θηλ'] = '1'
	args['τύπος'] = 'παγκοσμιοποίηση'
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['γεΛ'] = linkcontrol2(stem["θ"], 'ης')
    args['αεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'η')
    args['οπΛ'] = linkcontrol2(stem["θ1"], 'εις')
	args['γπΛ'] = linkcontrol2(stem["θ1"], 'εων')
	args['απΛ'] = linkcontrol2(stem["θ1"], 'εις')
	args['κπΛ'] = linkcontrol2(stem["θ1"], 'εις')
	if args['σημ'] == '-' then	-- όπως στο [[φώτιση]]
		args['σημ'] = '' else
	args['σημ'] = "Η λόγια γενική ενικού (" .. linkcontrol2(stem["θ1"], 'εως') .. ") δεν συνηθίζεται σε νεότερες λέξεις." -- preset κείμενο όπως στο [[παγκοσμιοποίηση]]
	end
return fulltable(args)
end


export['παιδί'] = function(frame)		-- [[Πρότυπο:el-κλίση-'παιδί']]
    local args = frame:getParent().args
	args['ουδ'] = '1'
    args['τύπος'] = 'παιδί'
    
    args['οε'] = "ί"
    args['γε'] = "ιού"
    args['αε'] = "ί"
    args['οπ'] = "ιά"
--γπ=- για το [[τζιζί]]
    if args['γπ'] == '-' then
    	args['γπθ'] = "-"
    	args['τύπος0'] = "'παιδί' χωρίς γενική πληθυντικού"
    else
    	args['γπ'] = "ιών"
    end
return klisi1(args)
end

export['παιδάκι'] = function(frame)		-- [[Πρότυπο:el-κλίση-'παιδάκι']]
    local args = frame:getParent().args
	args['ουδ'] = '1'
    args['τύπος'] = 'παιδάκι'
--    args['υποκατ'] = "χωρίς γενική ενικού (νέα ελληνικά)"	 -- το χωρίς γεν. πληθ μπαίνει αυτομάτως
    
    args['οε'] = "ι"
-- όταν έχω ΜΟΝΟ πληθυντικό όπως [[γεννητούρια]], ΔΕΝ θέλω υποκατηγορίες 'χωρίς γενική ενικού'
    if args['α'] == "πλ" or args['α2'] == "πλ" then args['γε'] = nil else
    	args['γε'] = "-"
    end
    args['αε'] = "ι"
    args['οπ'] = "ια"
-- όταν έχω ΜΟΝΟ ενικό όπως [[μούσλι]], ΔΕΝ θέλω υποκατηγορίες 'χωρίς γενική πληθυντικού'
    if args['α'] == "εν" or args['α2'] == "εν" then args['γπ'] = nil else
    	args['γπ'] = "-"
    end
return klisi1(args)
end


export['πανσέληνος'] = function(frame)		-- [[Πρότυπο:el-κλίση-'πανσέληνος']] -- αντίστοιχο του αρσ. καρδινάλιος
    local args = frame:getParent().args
	args['θηλ'] = '1'
    args['τύπος'] = 'πανσέληνος'    
    
    args['οε'] = "ος"
    args['γε'] = "ου"
    args['γε2θ'] = "θ1"
    args['γε2'] = "ου"
    args['αε'] = "ο"
    args['κε'] = "ε"
    if args['κε2'] ~= "-" then args['κε2'] = "o" end	-- δεν θέλουμε -o π.χ. [[βάρβιτος]]
    args['οπ'] = "οι"
    args['γπ'] = "ων"
    args['γπ2θ'] = "θ1"
    args['γπ2'] = "ων"
    args['απ'] = "ους"
    args['απ2θ'] = "θ1"
    args['απ2'] = "ους" 
return klisi1(args)
end


export['παππούς'] = function(frame)		-- [[Πρότυπο:el-κλίση-'παππούς']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'παππούς'
-- επώνυμα / surnames όπως [[Παππούς]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "ούς"
    args['γε'] = "ού"
    args['αε'] = "ού"
    args['οπ'] = "ούδες"
    args['γπ'] = "ούδων"
return klisi1(args)
end
-- & μοναδικό [[προπάππους]] -- [[Πρότυπο:el-κλίση-'προπάππους']] -- βλ. και κανονικό [[προπαππούς]], [[προπάππος]]
export['προπάππους'] = function(frame)		-- [[Πρότυπο:el-κλίση-'προπάππους']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'προπάππους'	-- unique

    args['οε'] = "ους"
    args['γε'] = "ου"
    args['αε'] = "ου"
    args['οπθ'] = "θ0"
    args['οπ'] = "ούδες"
    args['γπθ'] = "θ0"
    args['γπ'] = "ούδων"
return klisi1(args)
end


export['παρόν'] = function(frame)		-- [[Πρότυπο:el-κλίση-'παρόν']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'παρόν'
    args['πρόσφ'] ="τ"
    
    args['οεθ'] = "θ"    
    args['οε'] = ""
    args['γεθ'] = "θ"
    args['γε'] = "ος"
    args['οπθ'] = "θ"
    args['οπ'] = "α"
    args['γπθ'] = "θ"
    args['γπ'] = "ων"
return klisi2(args)
end


export['πατέρας'] = function(frame)			-- [[Πρότυπο:el-κλίση-'πατέρας']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- πατέρ-ας, τσέλιγκ-ας
    stem["θ0"] = m_stems.word0(stem["θ"])			-- πατερ, τσελιγκ
    stem["θ1"] = m_stems.word1(stem["θ0"])			-- πατέρ(ων) τσελίγκ(ων)
    
    args['αρσ'] = '1'
	args['τύπος'] = 'πατέρας'
    
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ας')
	if (args['γε2θ'] ~= '' and args['γε2θ'] ~= nil) and (args['γε2'] ~= '' and args['γε2'] ~= nil) then
		args['γεΛ'] = linkcontrol2(stem["θ"], 'α') .. "<br />& " .. linkcontrol2(args['γε2θ'], args['γε2']) -- πατρός
		else
		args['γεΛ'] = linkcontrol2(stem["θ"], 'α')
	end
	args['αεΛ'] = linkcontrol2(stem["θ"], 'α')
	if (args['κε2θ'] ~= '' and args['κε2θ'] ~= nil) and args['κε2'] == '-' then
		args['κεΛ'] = linkcontrol2(stem["θ"], 'α') .. "<br />& " .. linkcontrol2(args['κε2θ'], '') -- πάτερ
		else
		args['κεΛ'] = linkcontrol2(stem["θ"], 'α')
	end
	args['οπΛ'] = linkcontrol2(stem["θ"], 'ες') .. "<br />& " .. linkcontrol2(stem["θ0"], 'άδες')
	if args['γπ'] == '-' then args['γπΛ'] = linkcontrol2(stem["θ0"], 'άδων') else
		args['γπΛ'] = linkcontrol2(stem["θ1"], 'ων') .. "<br />& " .. linkcontrol2(stem["θ0"], 'άδων') -- τσελιγκάδων ΝΟ τσελίγκων
	end
	args['απΛ'] = linkcontrol2(stem["θ"], 'ες') .. "<br />& " .. linkcontrol2(stem["θ0"], 'άδες')
	args['κπΛ'] = linkcontrol2(stem["θ"], 'ες') .. "<br />& " .. linkcontrol2(stem["θ0"], 'άδες')
return fulltable(args)
end


export['πείνα'] = function(frame)		-- [[Πρότυπο:el-κλίση-'πείνα']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'πείνα'
    args['σημ'] = "Η γενική πληθυντικού '''-ών''' δεν συνηθίζεται."
    
    args['οε'] = "α"
    args['γε'] = "ας"
    args['αε'] = "α"
    args['οπ'] = "ες"
    args['γπ'] = '-'
return klisi1(args)
end


export['Περικλής'] = function(frame)			-- [[Πρότυπο:el-κλίση-'Περικλής']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- Περικλ

    args['αρσ'] = '1'
	args['τύπος'] = 'Περικλής'
	args['σημ'] = "* Λόγιος τύπος για τα αρχαία ονόματα και τα ονόματα οδών.<br>** Οι δεύτεροι τύποι του πληθυντικού, για τα σύγχρονα ονόματα." 

	args['οεΛ'] = linkcontrol2(stem["θ"], 'ής')
	args['γεΛ'] = linkcontrol2(stem["θ"], 'ή') .. "<br />& " .. linkcontrol2(stem["θ"], 'έους') .. "&#8202;'''*'''"
	args['αεΛ'] = linkcontrol2(stem["θ"], 'ή')
	args['κεΛ'] = linkcontrol2(stem["θ"], 'ή')
	args['οπΛ'] = linkcontrol2(stem["θ"], 'είς') .. "<br />& " .. linkcontrol2(stem["θ"], 'ήδες') .. "&#8202;'''**'''"
	args['γπΛ'] = linkcontrol2(stem["θ"], 'έων') .. "<br />& " .. linkcontrol2(stem["θ"], 'ήδων')
	args['απΛ'] = linkcontrol2(stem["θ"], 'είς') .. "<br />& " .. linkcontrol2(stem["θ"], 'ήδες')
	args['κπΛ'] = linkcontrol2(stem["θ"], 'είς') .. "<br />& " .. linkcontrol2(stem["θ"], 'ήδες')
return fulltable(args)
end


export['περίπλους'] = function(frame) 		-- [[Πρότυπο:el-κλίση-'περίπλους']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'περίπλους'
    
    args['οε'] = "ους"
    args['γε'] = "ου"
    args['αε'] = "ου"
    args['κε'] = "ου"
    args['οπ'] = "οι"
    args['γπ'] = "ων"
    args['απ'] = "ους"
    args['κπ'] = "οι"
return klisi1(args)
end

-- Χωρισμός σε παροξύτονα, προπαροξύτονα  πεύκο, σίδερο [[Πρότυπο:el-κλίση-'σίδερο']]
-- ?? πρόβλημα με συνίζηση: [[ψώνια]] (θεωρείται δισύλλαβο) το θέλουμε στην Κατηγορία 'πεύκο' και όχι 'σίδερο'
export['πεύκο'] = function(frame)		-- [[Πρότυπο:el-κλίση-'πεύκο']]
    local args = frame:getParent().args
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
    stem["θ0"] = m_stems.word0(stem["θ"])
    if stem["θ0"] == nil then return stem["θ"] end
    stem["θ1"] = m_stems.word1(stem["θ0"])
    stem["θ2"] = m_stems.word2(stem["θ0"])

    args['ουδ'] = '1'
	-- split paroxytones proparoxytones
   	if stem["θ"] == stem["θ1"] then args['τύπος'] = 'πεύκο'
			else args['τύπος'] = 'σίδερο'
    end
    
    args['οεΛ'] = linkcontrol2(stem["θ"], 'ο')
    args['γεΛ'] = linkcontrol2(stem["θ"], 'ου')
    args['αεΛ'] = linkcontrol2(stem["θ"], 'ο')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'ο')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'α')
    if args['γπ'] == nil then args['γπΛ'] = linkcontrol2(stem["θ"], 'ων') end
    args['απΛ'] = linkcontrol2(stem["θ"], 'α')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'α')
return fulltable(args)
end

-- [[πλούτος]] από [[Πρότυπο:el-nouns-free]] -- [[Πρότυπο:el-κλίση-'πλούτος']]


export['πραματευτής'] = function(frame)		-- [[Πρότυπο:el-κλίση-'πραματευτής']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'πραματευτής'
    
    args['οε'] = "ής"
    args['γε'] = "ή"
    args['αε'] = "ή"
    args['οπ'] = "ές"
    args['γπ'] = "ών"
    args['οπ2'] = "άδες"
    args['γπ2'] = "άδων"
return klisi1(args)
end

-- [[προπάππους]] = cf [[παππούς]]


export['πρόσωπο'] = function(frame)		-- [[Πρότυπο:el-κλίση-'πρόσωπο']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'πρόσωπο'
    
    args['οε'] = "ο"
    args['γεθ'] = "θ1"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['οπ'] = "α"
    args['γπθ'] = "θ1"
    args['γπ'] = "ων"
return klisi1(args)
end

-- για προπαροξύτονο [[πρύτανης]] και παροξύτονο [[πρέσβης]]
export['πρύτανης'] = function(frame)		-- [[Πρότυπο:el-κλίση-'πρύτανης']]
    local args = frame:getParent().args
    args['αθ'] = '1'
    args['τύπος'] = "πρύτανης"
    args['σημ'] = "Ο πρώτος τύπος της γενικής ενικού, μόνο για το αρσενικό.<br>Ο δεύτερος τύπος, και για τα δύο γένη, είναι λόγιος."

    args['οε'] = "ης"
    args['γε'] = "η"
    args['γε2θ'] = "θ1"		-- πρυτάν
    args['γε2'] = "εως"
    args['αε'] = "η"
    args['οπθ'] = "θ1"
    args['οπ'] = "εις"
    args['γπθ'] = "θ1"
    args['γπ'] = "εων"
return klisi1(args)
end


export['ρήγας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ρήγας']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'ρήγας'
-- επώνυμα / surnames  -- όπως [[Ρήγας]], [[Κεφάλας]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end 
    
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['οπ'] = "άδες"
    args['γπθ'] = "θ0"
    args['γπ'] = "άδων"
return klisi1(args)
end


export['Ρηνιώ'] = function(frame)		-- [[Πρότυπο:el-κλίση-'Ρηνιώ']] βλ. και κλίση 'ηχώ' με επιπλέον γε -ούς
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['κατ'] = 'Ρηνιώ'		-- κατ για να μην υπάρχει  η έκφραση 'χωρίς πληθντικό'
    
    args['α'] = 'εν'
    args['οε'] = "ώ"
    args['γε'] = "ώς"
    args['αε'] = "ώ"
return klisi1(args)
end


export['ρίγανη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ρίγανη']] χωρίς γπ
    local args = frame:getParent().args
    args['θηλ'] ='1'
    args['κατ'] = 'ρίγανη'		-- για να μην μπει στο 'ρίγανη' χωρίς γεν πληθ. Θα μπει μόνο στην γενική Κατ:Ουσιαστικά χωρίς γ.πληθ
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = "-"
return klisi1(args)
end


export['σάλπιγγα'] = function(frame)		-- [[Πρότυπο:el-κλίση-'σάλπιγγα']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'σάλπιγγα'
    
    args['οε'] = "α"
    args['γε'] = "ας"
    if args['γε2'] ~= '' and args['γε2'] ~= nil then args['γε2'] = "ος" end		-- όπως [[ποιότητα]] ποιότητος
    args['αε'] = "α"
    args['οπ'] = "ες"
--γπ
    if args['γπ'] == '-' then args['τύπος0'] = "'σάλπιγγα' χωρίς γενική πληθυντικού"	-- όπως πέστροφα Ο27α ΛΚΝ?
    	else
    	args['γπ'] = "ων"
    end
    args['γπθ'] = "θ1"
    if args['2gen'] == '1' or (args['γπ2'] ~= '' and args['γπ2'] ~= nil) then args['γπ2'] = "ων" end	-- όπως [[γαστρίριδα]] γαστριτίδων, γαστρίτιδων
return klisi1(args)
end


export['Σαρρής'] = function(frame)		-- [[Πρότυπο:el-κλίση-'Σαρρής']] Επώνυμα μόνον - Surnames only
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['κατηγορία κλίσης'] = 'Επώνυμα'
	args['τύπος'] = 'Σαρρής'
	
    args['οε'] = "ής"
    args['γε'] = "ή"
    args['αε'] = "ή"
    args['οπ'] = "ήδες"
    args['οπ2'] = "αίοι"
    args['γπ'] = "ήδων"
    args['γπ2'] = "αίων"
	args['απ2'] = "αίους"
return klisi1(args)
end


-- έχει γίνει χωρισμός από 'πεύκο'
export['σίδερο'] = function(frame)		-- [[Πρότυπο:el-κλίση-'σίδερο']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'σίδερο'
    
    args['οε'] = "ο"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['οπ'] = "α"
    args['γπ'] = "ων"
return klisi1(args)
end


export['σκόνη'] = function(frame)		-- [[Πρότυπο:el-κλίση-'σκόνη']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'σκόνη'
    
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ0θ'] = "θ0"
    args['γπ0'] = "ών"
return klisi1(args)
end


export['σοφία'] = function(frame)		-- [[Πρότυπο:el-κλίση-'σοφία']]τα παροξύτονα του θάλασσα
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'σοφία'
    if args['γπ'] == '-' then args['τύπος0'] = "'σοφία' χωρίς γενική πληθυντικού" end --όπως [[Τροία]]
    
    args['οε'] = "α"
    args['γε'] = "ας"
    if args['γε2'] ~= '' then args['γε2θ'] = "θ1" end	-- όπως ??
    args['αε'] = "α"
-- [[Αθήνα]],[[Πάτρα]] έχει μόνο γπ, blank all other cases (Αθήναι, Πάτραι, να μπουν σε παρατήρηση)
    if args['οπΛ'] == '-' then args['αοπ'] = '-' else args['οπ'] = "ες" end
    if args['απΛ'] == '-' then args['ααπ'] = '-' else args['απ'] = "ες" end
    -- κπΛ is auto = οπΛ
-- γπ
    args['γπθ'] = "θ0"	-- σοφι
    if args['γπ'] == nil then args['γπ'] = "ών" end
    if args['γπ0'] ~= '' then args['γπ0θ'] = "θ0" end	-- όπως [[Συρία]] (Συριών) Δεν χρειάζεται: υπάρχει η κλίση 'νότα'
return klisi1(args)
end


export['συγγενής'] = function(frame)			-- [[Πρότυπο:el-κλίση-'συγγενής']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- συγγεν

    args['αθ'] = '1'
	args['τύπος'] = 'συγγενής'
	args['σημ'] = "* '''-ή''' γενική ενικού για το αρσενικό, και προφορικός τύπος γενικής για το θηλυκό<br>** '''-ούς''' γενική ενικού για το θηλυκό, και λόγιος τύπος για το αρσενικό." 

	args['οεΛ'] = linkcontrol2(stem["θ"], 'ής')
	args['γεΛ'] = linkcontrol2(stem["θ"], 'ή') .. "&#8202;'''*'''" .. "<br />& " .. linkcontrol2(stem["θ"], 'ούς') .. "&#8202;'''**'''"
	args['αεΛ'] = linkcontrol2(stem["θ"], 'ή')
	args['κεΛ'] = linkcontrol2(stem["θ"], 'ή')
	args['οπΛ'] = linkcontrol2(stem["θ"], 'είς')
	args['γπΛ'] = linkcontrol2(stem["θ"], 'ών')
	args['απΛ'] = linkcontrol2(stem["θ"], 'είς')
	args['κπΛ'] = linkcontrol2(stem["θ"], 'είς')
return fulltable(args)
end


export['ταμίας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ταμίας']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- ταμί, μήν
    stem["θ0"] = m_stems.word0(stem["θ"])			-- μην ([[μήνας]] μηνός), Δι-ός
    
    args['αρσ'] = '1'
-- κατηγορίες
	args['τύπος'] = 'ταμίας'
    if args['γπ'] == '-' then args['τύπος0'] = "'ταμίας' χωρίς γενική πληθυντικού" end  -- όπως [[Ηλίας]]
    if args['γπ'] == '-' then args['υποκατ'] = "χωρίς γενική πληθυντικού (νέα ελληνικά)" end
    
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ας')
	-- γε, γε2 [[μήνας]] μήνα μηνός
	if args['γε2'] ~= '' and args['γε2'] ~= nil then
		args['γεΛ'] = linkcontrol2(stem["θ"], 'α') .. "<br />& " .. linkcontrol2(stem["θ0"], 'ός')
		else
		args['γεΛ'] = linkcontrol2(stem["θ"], 'α')
	end
	args['αεΛ'] = linkcontrol2(stem["θ"], 'α')
	args['κεΛ'] = linkcontrol2(stem["θ"], 'α')
	args['οπΛ'] = linkcontrol2(stem["θ"], 'ες')
	-- γπ=- όπως [[Ηλίας]]
	if args['γπ'] == '-' then
		args['αγπ'] = '-'
		args['γπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
		else args['γπΛ'] = linkcontrol2(stem["θ0"], 'ών')
	end
	-- γπ0 [[Κώνστας]]
	if args['γπ0'] ~= '' and args['γπ0'] ~= nil then 
		args['γπΛ'] = '(' .. linkcontrol2(stem["θ0"], 'ών') .. ')' 
	end
	args['απΛ'] = linkcontrol2(stem["θ"], 'ες')
	args['κπΛ'] = linkcontrol2(stem["θ"], 'ες')
return fulltable(args)
end


-- [[τάρταρος]] από [[Πρότυπο:el-nouns-free]] -- [[Πρότυπο:el-κλίση-'τάρταρος']]


export['τραγούδι'] = function(frame)		-- [[Πρότυπο:el-κλίση-'τραγούδι']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'τραγούδι'
    
    args['οε'] = "ι"
    args['γεθ'] = "θ0"
    args['γε'] = "ιού"
    args['αε'] = "ι"
    args['οπ'] = "ια"
    args['γπθ'] = "θ0"
    args['γπ'] = "ιών"
    if args['γπ0'] ~= '' then args['γπ0θ'] = "θ0" end -- όπως [[πανωγόμι]]
return klisi1(args)
end



export['τρελέγκω'] = function(frame)		-- [[Πρότυπο:el-κλίση-'τρελέγκω']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
    args['τύπος'] = 'τρελέγκω'
    
    args['οε'] = "ω"
    args['γε'] = "ως"
    args['αε'] = "ω"
    args['οπ'] = "ες"
    args['γπ'] = "ων"
    args['απ'] = "ες"
    args['σημ'] = "''Ο πληθυντικός σε '''-ες''' είναι σπάνιος.''"
return klisi1(args)
end


-- με πρόσθετο σύμφωνο γ ή τ
export['τσάι'] = function(frame)		-- [[Πρότυπο:el-κλίση-'τσάι']]
    local args = frame:getParent().args
    args['ουδ'] = '1'
    args['τύπος'] = 'τσάι'
    args['πρόσφ'] ="γ"
    
    args['οεθ'] = "θ"
    args['οε'] = "ι"
-- γε=- όπως στο [[σπετζοφάι]]
    if args['γε'] == "-" then
    	args['γε'] = "-"
    	args['υποκατ'] = "που κλίνονται όπως το 'τσάι' χωρίς γενική ενικού"
    else
    	args['γεθ'] = "θ0"
    	args['γε'] = "ιού"
    end
    args['οπθ'] = "θ"
    args['οπ'] = "ια"
    args['γπθ'] = "θ0"
-- γπ=- όπως στο [[σπετζοφάι]]
    if args['γπ'] == "-" then
    	args['γπ'] = "-"
	args['τύπος0'] = "'τσάι' χωρίς γενική πληθυντικού"	
    else
    	args['γπθ'] = "θ0"
    	args['γπ'] = "ιού"
    end

return klisi2(args)
end

export['υπνάκος'] = function(frame)			-- [[Πρότυπο:el-κλίση-'υπνάκος']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- υνπάκ- σταθερός
    
    args['αρσ'] = '1'
	args['τύπος'] = 'υπνάκος'
-- επώνυμα / surnames  όπως [[Δημητράκος]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ος')
	args['γεΛ'] = linkcontrol2(stem["θ"], 'ου')
	args['αεΛ'] = linkcontrol2(stem["θ"], 'ο')
    if args['κε2'] ~= "" and args['κε2'] ~= nil and args['κε2'] ~= "-" then
        args['κεΛ'] = linkcontrol2(stem["θ"], 'ο') .. "<br />" .. '(' .. linkcontrol2(stem["θ"], args['κε2']) .. ')' -- με παρατήρηση *Σπάνια, όπως στο [[γέρος]]
		else args['κεΛ'] = linkcontrol2(stem["θ"], 'ο')
	end
	if args['οπ0'] ~= '' and args['οπ0'] ~= nil and args['οπ0'] ~= "-" then
		args['οπΛ'] = '(' .. create_link((stem["θ"] .. 'οι'), (cccccc_color(stem["θ"]) .. ending_color('οι'))) .. ')'		-- όπως στο [[ανθρωπάκος]]
		else args['οπΛ'] = linkcontrol2(stem["θ"], 'οι')
	end
	args['γπΛ'] = linkcontrol2(stem["θ"], 'ων')
	args['απΛ'] = linkcontrol2(stem["θ"], 'ους')
	if args['κπ0'] ~= '' and args['κπ0'] ~= nil and args['κπ0'] ~= "-" then
		args['κπΛ'] = '(' .. create_link((stem["θ"] .. 'οι'), (cccccc_color(stem["θ"]) .. ending_color('οι'))) .. ')'		-- όπως στο [[ανθρωπάκος]]
		args['σημ'] = 'Σπάνια η ονομαστική πληθυντικού.'
		else args['κπΛ'] = linkcontrol2(stem["θ"], 'οι')
	end
return fulltable(args)
end


export['φύλακας'] = function(frame)		-- [[Πρότυπο:el-κλίση-'φύλακας']]
    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- φύλακ
    stem["θ0"] = m_stems.word0(stem["θ"])			-- φυλακ
    stem["θ1"] = m_stems.word1(stem["θ0"])			-- φυλάκ
    
    if args['αθ'] ~= '' and args['αθ'] ~= nil then args['αθ'] = '1' 
    elseif args['αθ'] == '' or args['αθ'] == nil then args['αρσ'] = '1' end
-- κατηγορίες
-- κοινό γένος -- [[Πρότυπο:el-κλίση-'επιστήμονας']]
    if args['αθ'] == '1' then args['σημ'] = "Ο πρώτος τύπος της γενικής ενικού, μόνο για το αρσενικό.<br>Ο δεύτερος τύπος, και για τα δύο γένη, είναι λόγιος." end
    if args['αθ'] == '1' and (args['αρσ'] == '' or args['αρσ'] == nil) then args['τύπος'] = 'επιστήμονας' end
    if args['αθ'] == '' or args['αθ'] == nil then 
    	args['αρσ'] = '1' 
    	args['τύπος'] = 'φύλακας'
    end
-- άλλες κατηγορίες
    if args['γπ'] == '-' then args['τύπος0'] = "'φύλακας' χωρίς γενική πληθυντικού" end  -- όπως [[κάβουρας]]
    if args['γπ'] == '-' then args['υποκατ'] = "χωρίς γενική πληθυντικού (νέα ελληνικά)" end	
		
	args['οεΛ'] = linkcontrol2(stem["θ"], 'ας')
    args['γεΛ'] = linkcontrol2(stem["θ"], 'α')
    if args['γε2'] == 'ος' then args['γεΛ'] = linkcontrol2(stem["θ"], 'α') .. "<br />& " .. linkcontrol2(stem["θ"], 'ος') end -- όπως [[μάρτυρας]]
    args['αεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['κεΛ'] = linkcontrol2(stem["θ"], 'α')
    args['οπΛ'] = linkcontrol2(stem["θ"], 'ες')
	-- γπ=- όπως [[κάβουρας]]
	if args['γπ'] == '-' then
		args['αγπ'] = '-'
		args['γπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>'
	else
		args['γπΛ'] = linkcontrol2(stem["θ1"], 'ων')
	end
    args['απΛ'] = linkcontrol2(stem["θ"], 'ες')
    args['κπΛ'] = linkcontrol2(stem["θ"], 'ες')
return fulltable(args)
end


export['ψαράς'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ψαράς']]
    local args = frame:getParent().args
    args['αρσ'] = '1'
    args['τύπος'] = 'ψαράς'
-- επώνυμα / surnames  όπως [[Παλαμάς]]
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Επώνυμα' end
    
    args['οε'] = "άς"
    args['γε'] = "ά"
    args['αε'] = "ά"
    args['οπ'] = "άδες"
    args['γπ'] = "άδων"
return klisi1(args)
end


export['ψυχή'] = function(frame)		-- [[Πρότυπο:el-κλίση-'ψυχή']]
    local args = frame:getParent().args
    args['θηλ'] = '1'
-- γπ=-
    if args['γπ'] == '-' then args['τύπος0'] = "'ψυχή' χωρίς γενική πληθυντικού" end --όπως [[Φωτεινή]]
-- + 2nd plural [[Πρότυπο:el-κλίση-'αδερφή']]
	if args['οπ2'] == 'άδες' and args['γπ2'] == 'άδων' then
		args['τύπος'] = 'αδερφή' else
		args['τύπος'] = 'ψυχή'
	end
	
    args['οε'] = "ή"
    args['γε'] = "ής"
    args['αε'] = "ή"
    args['οπ'] = "ές"
    if args['γπ'] == nil then args['γπ'] = "ών" end
return klisi1(args)
end



]=]--

--------------------------------------------------------------------------
--           OLD FUNCTIONS to do                     --
--[=[
ΜΕΤΑΦΕΡΘΗΚΑΝ sto [[Module:el-nouns-decl]]
	
ΠΗΓΑΝ στο [[Template:el-nouns-master]] (από συνάρτηση master) και μερικά καινούρια
	άγγελος άμπελος δάσκαλος γεγονός κάτοικος σύζυγος κλπ

]=]--
--------------------------------------------------------------------------

--[=[
-- =================== α...ω ======================= --
--USE
--    local args = frame:getParent().args		-- for Templates
--    local args = frame.args					-- to invoke

-- άγγελος - χωρίστηκε σε περισσότερα Πρότυπα στο Template:el-nouns-master

-- ??   για καθαρεύουσα. ΔΟΚΙΜΑΣΤΙΚΟ. Λείπει η δοτική
export['ἀγυιά'] = function(frame)		-- Πρότυπο:[[el-κλίσ-'κ-ἀγυιά']]
    local args = frame:getParent().args
    args['οε'] = "ά"
    args['γε'] = "ᾶς"
    args['αε'] = "άν"
    args['κε'] = "ά"
    args['οπ'] = "αί"
    args['γπ'] = "ῶν"
    args['απ'] = "άς"
return klisi1(args)
end

-- αγώνας -- ΜΕΤΑΦΕΡΘΗΚΕ
-- αιδώς -- ΜΕΤΑΦΕΡΘΗΚΕ
-- αιλουροειδές -- ΜΕΤΑΦΕΡΘΗΚΕ
-- αλεπού --ΜΕΤΑΦΕΡΘΗΚΕ
-- αφέντης --ΜΕΤΑΦΕΡΘΗΚΕ


-- ?? CHECK THIS -- ΜΕΤΑΦΕΡΘΗΚΑΝ όλα στο σκόνη, με δύσχρηστη γενική πληθ
export['βιασύνη'] = function(frame)		-- [[Πρότυπο:el-κλίσ-'βιασύνη']]
    local args = frame:getParent().args
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = "ών"
    args['γπ0'] = "ων"
return klisi1(args)
end

-- βουνό -- ΜΕΤΑΦΕΡΘΗΚΕ
-- γέρος -- ΜΕΤΑΦΕΡΘΗΚΕ ως υπνάκος
-- γιαγιά  --ΜΕΤΑΦΕΡΘΗΚΕ
-- γυαλάκιας -- ΜΕΤΑΦΕΡΘΗΚΕ
-- δέσιμο -- ΜΕΤΑΦΕΡΘΗΚΕ
-- διάμετρος  -- ΜΕΤΑΦΕΡΘΗΚΕ
-- διδάκτωρ --ΜΕΤΑΦΕΡΘΗΚΕ
-- δρόμος -- ΜΕΤΑΦΕΡΘΗΚΕ
-- έδαφος -- ΜΕΤΑΦΕΡΘΗΚΕ και έγινε χωρισμός με δάσος
-- ελπίδα  --ΜΕΤΑΦΕΡΘΗΚΕ
-- έρημος  --ΜΕΤΑΦΕΡΘΗΚΕ - να γίνει άβυσσος
-- ερωμένη --ΜΕΤΑΦΕΡΘΗΚΕ
-- ζάχαρη -- ΜΕΤΑΦΕΡΘΗΚΕ με ΜΕΤΟΝΟΜΑΣΙΑ ως ρίγανη (χωρίς γπ)
-- ηχώ -- ΜΕΤΑΦΕΡΘΗΚΕ
-- θάλασσα -- ΜΕΤΑΦΕΡΘΗΚΕ
-- ίδης -- ΜΕΤΑΦΕΡΘΗΚΕ
-- ιππέας -- ΜΕΤΑΦΕΡΘΗΚΕ
-- ισχύς  -- ΜΕΤΑΦΕΡΘΗΚΕ + ιχθύς
-- καρδιά --ΜΕΤΑΦΕΡΘΗΚΕ
-- καρδινάλιος -- ΜΕΤΑΦΕΡΘΗΚΕ
-- κεφές --ΜΕΤΑΦΕΡΘΗΚΕ
-- κόντες --ΜΕΤΑΦΕΡΘΗΚΕ
-- κρέας -- ΜΕΤΑΦΕΡΘΗΚΕ
-- λαχειοπώλης -- ΜΕΤΑΦΕΡΘΗΚΕ
-- λύση -- ΜΕΤΑΦΕΡΘΗΚΕ
-- μανάβης (και νοικοκύρης) -- ΜΕΤΑΦΕΡΘΗΚΕ
-- μέλλον -- ΜΕΤΑΦΕΡΘΗΚΕ
-- μίλι -- ΜΕΤΑΦΕΡΘΗΚΕ
-- μπαλωματής -- ΜΕΤΑΦΕΡΘΗΚΕ
-- ναύτης -- ΜΕΤΑΦΕΡΘΗΚΕ
-- νίκη --ΜΕΤΑΦΕΡΘΗΚΕ
-- νικητής -- ΜΕΤΑΦΕΡΘΗΚΕ
-- νότα -- ΜΕΤΑΦΕΡΘΗΚΕ
-- οδός  --ΜΕΤΑΦΕΡΘΗΚΕ
-- ον -- ΜΕΤΑΦΕΡΘΗΚΕ
-- όνομα ΜΕΤΑΦΕΡΘΗΚΕ
-- όπουλος -- ΜΕΤΑΦΕΡΘΗΚΕ
-- ουρανός -- ΜΕΤΑΦΕΡΘΗΚΕ
-- παγκοσμιοποίηση -- ΜΕΤΑΦΕΡΘΗΚΕ
-- παιδί -- ΜΕΤΑΦΕΡΘΗΚΕ
-- παιδάκι -- ΜΕΤΑΦΕΡΘΗΚΕ
-- παππούς  -- ΜΕΤΑΦΕΡΘΗΚΕ
-- παρόν -- ΜΕΕΤΑΦΕΡΘΗΚΕ
-- πείνα -- ΜΕΤΑΦΕΡΘΗΚΕ
-- περίπλους --ΜΕΤΑΦΕΡΘΗΚΕ
-- πεύκο -- ΜΕΤΕΦΕΡΘΗΚΕ
-- πραματευτής -- ΜΕΤΑΦΕΡΘΗΚΕ
-- πρόσωπο -- ΜΕΤΑΦΕΡΘΗΚΕ
-- πρόβατο -- ΜΕΤΟΝΟΜΑΣΤΗΚΕ και ΜΕΤΑΦΕΡΘΗΚΕ σε βούτυρο
-- ρήγας -- ΜΕΤΑΦΕΡΘΗΚΕ
-- Ρηνιώ  -- ΜΕΤΑΦΕΡΘΗΚΕ
-- σάλπιγγα --ΜΕΤΑΦΕΡΘΗΚΕ
-- σκόνη -- ΜΕΤΑΦΕΡΘΗΚΕ
-- σφουγγαράς -- ΜΕΤΑΦΕΡΘΗΚΕ
-- ταμίας --ΜΕΤΑΦΕΡΘΗΚΕ
-- ταχύπους --ΜΕΤΑΦΕΡΘΗΚΕ κι έγινε βραδύπους
-- τραγούδι -- ΜΕΤΑΦΕΡΘΗΚΕ
-- τσάι -- ΜΕΤΑΦΕΡΘΗΚΕ
-- Φρόσω -- ΜΕΤΑΦΕΡΘΗΚΕ με ΜΕΤΑΤΡΟΠΗ σε τρελέγκω (με πληθυντικό)
-- φύλακας -- ΜΕΤΑΦΕΡΘΗΚΕ
-- ψυχή -- ΜΕΤΑΦΕΡΘΗΚΕ

]=]--



export['τεστ'] = function(frame)		-- [[Πρότυπο:zz]]
    local args = frame:getParent().args
    
-- lemma
	local lemma = args['λήμμα'] or '' --do not change
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
	
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)  -- καρδινάλι
    stem["θ0"] = m_stems.word0(stem["θ"])			-- καρδιναλι
    stem["θ1"] = m_stems.word1(stem["θ0"])			-- καρδιναλί    
    
    args['αρσ'] = '1'
    args['τύπος'] = 'αφέντης'

-- for free-editing, write e.g. args['οεθ'] = args['οεθ'] or stem["θ"] etc.
	args['οεθ'] = args['οεθ'] or stem["θ"]
--	args['οπΛ2'] = 'σδφ'
	args['οε'] = "ης"			-- compulsory
--	args['π_οε'] = '1'
--	args['οεΚειμ'] = args['οεΚειμ'] or "<sup>see</sup>"
--	args['οε0θ'] = args['οε0θ'] or stem["θ"]
--	args['οε0'] = args['οε0'] or ""		-- must also give args['οε'] & args['οε0θ']
--	args['οε2θ'] = args['οε2θ'] or stem["θ1"]
--	args['οε2'] = args['οε2'] or "ας"
--	args['οε2Κειμ'] = args['οε2Κειμ'] or "<small><sup>αρσ</sup></small>"
--	args['οε20θ'] = args['οε20θ'] or stem["θ1"]
--	args['οε20'] = args['οε20'] or ""
--	args['οε20Κειμ'] = args['οε20Κειμ'] or "!!"
--	args['γραμμή'] = args['γραμμή'] or '1'
--  args['γε'] = "η"
--  args['αε'] = "η"
--  args['οπ'] = "ες"
--  args['γπθ'] = stem["θ0"]
--  args['γπ'] = "ών"
--  args['οπ2θ'] = stem["θ0"]
--  args['οπ2'] = "άδες"
--  args['γπ2θ'] = stem["θ0"]
--  args['γπ2'] = "άδων"
--  args['απ2θ'] = stem["θ0"]
--  args['απ2'] = "άδες"
--	args['αοπ2'] = create_link(('τα'), (stem_color('τα')))
--	args['οπΛ2'] = create_link((stem["θ0"] .. 'ιά'), (stem_color(stem["θ0"]) .. ending_color('ιά')))
return master(args)
end


return export