Documentation for this module may be created at Module:κλίση/el/ουσιαστικό/τεκμηρίωση

-- 2020.03. 25 Μεταφέρθηκε στο [[Module:el-nouns-decl]] Αρχίζει η σταδιακή μεταφορά των επιμέρους κλίσεων. Sarri.greek.
--Module:κλίση/el/ουσιαστικό (από [[Module:κλίση]])
--[=[
	Module για τη δημιουργία πινάκων κλίσης ουσιαστικών νέων ελληνικών
	Καλείται από διάφορα πρότυπα του τύπου Πρότυπο:el-κλίσ-'ωωωωω'
	για κάθε είδος κλίσης
	
	Αυτό το Module δημιουργήθηκε και βασίστηκε στην εργασία των Flyax και Xoristzatziki έως το 2018.
	Από το 2019 και μετά, προστέθηκαν λειτουργίες.
			1. Αφανείς σύνδεσμοι στους κλιτικούς τύπους
			2. Ονομαστική παράμετρος κατ= (για δημιουργία Κατηγοριών ποικιλιών) 
			και υποκατ= (δημιουργία συνοδευτικών γενικών κατηγοριών)
			και τύπος0= χωρίς αποστρόφους
	
Η ΔΙΑΤΑΞΗ - CONTENTS
	Προκαταρκτικά - Preliminaries: χαρακτήρες, χρώματα, links, errors
	Διαμόρφωση θεμάτων - Generate stems
	Πλήρης Πίνακας - Full table
	κλίση1 - declension1: main declension
	Χτίσιμο των τύπων - Generate forms
	κλίση2 με πρόσφυμα - declension2: declension with infix
	Επιμέρους πρότυπα - Individual templates

ΕΚΚΡΕΜΟΤΗΤΕΣ
* Τα μοντέλα τα έκανα αλφαβητικά. Μάλλον πρέπει να γίνουν κατά 1) γένος και 2) κατάληξη.Sarri.greek 2019.09.16.
* 'τσοπάνης' πληθ. τσοπάνηδες και τσοπαναραίοι (βλ. 'μανάβης')
* 'ζάχαρη' να γίνει 'ρίγανη', και το νέο 'ζάχαρη' +γε ζαχάρεως
* 'βιασύνη' έλεγχος στη γπ
* 'ήλεκτρον' στα νέα ελλ. δεν έχει κλίση
* Να δημιουργηθεί ελεύθερη κλίση (custom) με κελλί=τάδε όνομα. θ-οε, χ-οε κλπ.
		όπως: [[ζίλια]] στον πληθυντικό με πλήρη εμφάνιση κλίσης (δεν αφαιρεί την κατάληξη -ια)

]=]--

export = {}

local Lf = {} -- local functions
local Ld = {['έκδοση'] = 1, } -- local params and constants
Ld['κατηγορίες για σφάλματα'] = '[[Κατηγορία:Συντήρηση:Σελίδες με σφάλματα στο Module κλίση/el/ουσιαστικό]]'


Ld['χρώμαυπόβαθρου'] = 'd9ebff'
Ld['χρώμαπεριγράμματος'] = '#AAAACC'
Ld['χρώματίτλου'] = '#A1BDEA'
Ld['χρώμακατάληξης'] = 'DeepPink'
Ld['χρώμαθέματος'] = '#002000'

Ld['άτονα'] = { ['Α'] = 'Ά', ['α'] = 'ά', ['ε'] = 'έ', ['Ε'] = 'Έ',
        ['Η'] = 'Ή', ['η'] = 'ή', ['ι'] = 'Ί', ['ι'] = 'ί', ['ϊ'] = 'ΐ',
        ['Ο'] = 'Ό', ['ο'] = 'ό', ['Υ'] = 'Ύ', ['υ'] = 'ύ', ['ϋ'] = 'ΰ',
        ['Ω'] = 'Ώ', ['ω'] = 'ώ' }
Ld['τονισμένα'] = {
    ['Ά'] = 'Α',
    ['ά'] = 'α',
    ['Έ'] = 'Ε',
    ['έ'] = 'ε',
    ['Ή'] = 'Η',
    ['ή'] = 'η',
    ['Ί'] = 'Ι',
    ['ί'] = 'ι',
    ['ΐ'] = 'ϊ',
    ['Ό'] = 'Ο',
    ['ό'] = 'ο',
    ['Ύ'] = 'Υ',
    ['ύ'] = 'υ',
    ['ΰ'] = 'ϋ',
    ['Ώ'] = 'Ω',
    ['ώ'] = 'ω'
}

Ld['διπλά τονισμένα'] ={
    ['άι'] = 'αϊ',
    ['έι'] = 'εϊ',
    ['όι'] = 'οϊ',
    ['άυ'] = 'αϋ',
    ['έυ'] = 'εϋ',
    ['όυ'] = 'οϋ'
}
    -- ['ύι'] = 'υϊ', δεν υπάρχει σε ουσιαστικά, μόνο στο επίθετο δρύινος. Αντίθετα, θα βάλει διαλυτικά
    -- στο βούισμα, βουίσματα


--μάλλον δεν θα χρειαστεί
Lf['υπάρχει πίνακας'] = function(args)
    return (type(export[arg]) == table)
end

-- Χρώματα - Colours
Lf['κατάληξη'] = function (kataliksi)
    return '<span style="color:' .. Ld['χρώμακατάληξης'] ..'; font-weight:normal;">' .. kataliksi .. '</span>'
end

Lf['θέμα'] = function (stem)
    return '<span style="color:' .. Ld['χρώμαθέματος'] ..'; font-weight:normal;">' .. stem .. '</span>'
end

Lf['πρόσφυμα'] = function (infix)
    return '<span style="color:' .. Ld['χρώμαθέματος'] ..'; font-weight:normal;">' .. infix .. '</span>'
end

-- Links as by Erutuon
Lf['create_link'] = function (page, text)
	if text then
		return '[[' .. page .. '|' .. text .. ']]'
	else
		return '[[' .. page .. ']]'
	end
end
-- for κλίση1 it controls stem and ending
Lf['linkcontrol'] = function (stem, kataliksi)
	return Lf['create_link'](stem .. kataliksi, Lf['θέμα'](stem) ..  Lf['κατάληξη'](kataliksi))
end

---for κλίση2 με πρόσφυμα it controls stem, infix and ending
Lf['linkcontrol3'] = function (stem, infix, kataliksi)
	return Lf['create_link'](stem .. infix .. kataliksi, Lf['θέμα'](stem) ..  Lf['πρόσφυμα'](infix) .. Lf['κατάληξη'](kataliksi))
end

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

--Δεν χρησιμοποιείται. Ίσως να μην υπάρχει εδώ τέτοια...
Lf['σφάλμα'] = function(errstring)
    output = ''
    errstring = errstring or ''
    if errstring ~= '' then
        output = '<font class="error">' .. errstring .. '</font>'
    end
    return output .. Ld['κατηγορίες για σφάλματα']
end

-- ΤΟΝΟΙ, ΔΙΑΜΟΡΦΩΣΗ ΘΕΜΑΤΩΝ
Lf['έχει τόνο'] = function(anygreekstring)
    --για κάθε χαρακτήρα
    for codepoint in mw.ustring.gcodepoint( anygreekstring ) do
        if Ld['τονισμένα'][mw.ustring.char(codepoint)] ~= nil then
            return true
        end
    end
    return false
end

Lf['αφαίρεση τόνου'] = function(tstem)
    --για κάθε χαρακτήρα
    wordproduced = ''
    --για κάθε συνδυασμό γραμμάτων που μπορεί να χρειαστούν διαλυτικά
    for diplotonismeno, neatimh in pairs(Ld['διπλά τονισμένα']) do
        arxi, telos = mw.ustring.find(tstem, diplotonismeno)
        if arxi ~= nil then
            wordproduced = mw.ustring.gsub(tstem, diplotonismeno, neatimh, 1) --μια φορά αντικατάσταση
            --βρέθηκε ο τόνος και αφαιρέθηκε
            return wordproduced
        end
    end
    for codepoint in mw.ustring.gcodepoint( tstem ) do
        --αντικατάστησέ τον με βάση τον πίνακα
        mychar = mw.ustring.char(codepoint)
        convertedchar = Ld['τονισμένα'][mychar]
        --αν βρήκε κάτι για αντικατάσταση
        --είναι δηλαδή τονισμένο γράμμα
        if convertedchar ~= nil then
            --πρόσθεσέ το στη δημιουργούμενη κλείδα
            wordproduced = wordproduced .. convertedchar
        else
            --αλλιώς άσε το ίδιο
            wordproduced = wordproduced .. mychar
        end
    end
    return wordproduced
end

-- Η συνάρτηση αρχίζει από το τελευταίο γράμμα του θέματος και πηγαίνει προς το πρώτο.
-- Όταν συναντήσει το πρώτο (άτονο) φωνήεν, το τονίζει και τέλος
-- Εννοείται ότι η μεταβλητή stem δεν πρέπει να περιέχει τονισμένα φωνήεντα.

Lf['νέος τόνος'] = function(stem)
    --if stem == nil then return stem end
    stempoint = mw.ustring.len(stem)
    wordproduced = ""
    while stempoint > 0 do
       mychar = mw.ustring.sub(stem, stempoint, stempoint)
       newchar = Ld['άτονα'][mychar]
       if newchar ~= nil then
          if stempoint > 1 then
              return mw.ustring.sub(stem, 1, stempoint-1 ) .. newchar .. wordproduced
          else
              return newchar .. wordproduced
          end
       else
           wordproduced = mychar .. wordproduced
           stempoint = stempoint -1
       end
    end
    return wordproduced
end

Lf['πλήρηςπίνακας'] = function(args)
    local stitlestr = ''
    local ptitlestr = ''
    local onomenstr = ''
    local onomplstr = ''
    local genenstr = ''
    local genplstr = ''
    local aitenstr = ''
    local aitplstr = ''
    local klenstr = ''
    local klplstr = ''
    local paratirisi = ''
    local hassingular = true --(args['εν'] ~= nil)
    if args['α'] == "πλ" then hassingular = false end
    local hasplural = true -- (args['πλ'] ~= nil)
    if args['α'] == "εν" then hasplural = false end
    if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
        --mw.log('para')
        paratirisi = '|-' .. "\n" .. [=[| colspan="3" align="left" style="background:#d9ebff; font-size: 90%; font-style: italic;" | ]=]
        paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
    end
	-- if paratirisi == nil then paratirisi =
    if hassingular then
        stitlestr =  [=[! bgcolor="#A1BDEA" colspan="1" align="center"| '''''[[ενικός]]''''']=] .. "\n"
        onomenstr =  [=[| align="left" | ]=] .. args['οε'] ..  "\n"
        genenstr =  [=[| align="left" | ]=] .. args['γε'] ..  "\n"
        aitenstr =  [=[| align="left" | ]=] .. args['αε'] ..  "\n"
        klenstr =  [=[| align="left" | ]=] .. args['κε'] ..  "\n"
    end
    if hasplural then
        ptitlestr = [=[! bgcolor="#A1BDEA" colspan="1" align="center"| '''''[[πληθυντικός]]''''']=] .. "\n"
        onomplstr =  [=[| align="left" | ]=] .. args['οπ'] ..  "\n"
        genplstr =  [=[| align="left" | ]=] .. args['γπ'] ..  "\n"
        aitplstr =  [=[| align="left" | ]=] .. args['απ'] ..  "\n"
        klplstr =  [=[| align="left" | ]=] .. args['κπ'] ..  "\n"
    end

    output = [=[{| style="float:right;border:1px solid #AAAACC;margin-left:0.5em;margin-bottom:0.5em;text-align:right;" rules="all" cellpadding="3" cellspacing="0"
|-
! bgcolor="#A1BDEA" | πτώση]=] .. "\n" .. stitlestr .. ptitlestr .. [=[|-
| bgcolor="#BED9ED" | '''''[[ονομαστική]]''''']=] .. "\n" .. onomenstr .. onomplstr .. [=[|-
| bgcolor="#BED9ED" | '''''[[γενική]]''''']=] .. "\n" .. genenstr .. genplstr .. [=[|-
| bgcolor="#BED9ED" | '''''[[αιτιατική]]''''']=] .. "\n" .. aitenstr .. aitplstr .. [=[|-
| bgcolor="#BED9ED" | '''''[[κλητική]]''''']=] .. "\n" .. klenstr .. klplstr .. paratirisi .. [=[|}]=]

    if (args['ονοματοχώρος'] or 1) == 0 then
        if (args['ιδιαίτερη κλίση'] or false) then
            output = output .. '[[Κατηγορία:Λήμματα με ιδιαίτερη κλίση]]' --να γίνει κρυφή κατηγορία;
            else
    		-- param κατ= για δημιουργία κατηγοριών που συμπληρώνει ο συντάκτης - editor creates Categories ad libitum
    		-- Υπερισχύει του 'τύπος' - It overrides 'τύπος' (παράδειγμα: [[μπαγάσας]])
    		if args['κατ'] ~= '' and args ['κατ'] ~= nil then
    			output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. " που κλίνονται όπως το '" .. args['κατ'] .. "']]"
   			-- ο τύπος0 ΧΩΡΙΣ αποστρόφους (χρειάζεται όταν η φράση συνεχίζεται. παράδειγμα: οι Κατηγορίες στο [[Αντρέας]], [[μπόγιας]]
   			elseif args['τύπος0'] ~= '' and args['τύπος0'] ~= nil then
   				output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. " που κλίνονται όπως το " .. args['τύπος0'] .. "]]"
   				else
            --η γλώσσα στην κατηγορία θα είναι απαραίτητη αν υπάρχουν ίδιοι "τύποι" σε διαφορετικές γλώσσες.
            	output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. " που κλίνονται όπως το '" .. args['τύπος'] .. "']]"
              
            end -- close 'κατ'
    	end
		-- param υποκατ (subcategory) για δημιουργία συνοδευτικών γενικών κατηγοριών (όπως:... χωρίς πληθυντικό)
		-- ΔΕΝ υπερισχύει. Προστίθεται στις υπάρχουσες Κατηγορίες. - it does NOT override 'τύπος'
		if args['υποκατ'] ~= '' and args ['υποκατ'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. ' ' .. args['υποκατ'] .. ']]'
		end
    end

    
    return output

end

Lf['κλίση1'] = function(args)
    local stemnumber = 0
    if args['α'] ~= "πλ" then
        stemnumber = tonumber(mw.ustring.len(args['οε']))
    else
        stemnumber = tonumber(mw.ustring.len(args['οπ']))
    end
    local stem = {}
    stem["1"] = mw.ustring.sub(args['λήμμα'],1,-stemnumber-1)
    stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
    if stem["2"] == nil then return stem["1"] end
    stem["3"] = Lf['νέος τόνος'](stem["2"])

    for  i, ptwsi in ipairs({'οε', 'γε', 'γε2', 'αε', 'κε', 'κε2', 'κε0', 'οπ', 'οπ2', 'γπ', 'γπ0', 'γπ2', 'απ', 'απ2'}) do
       if args[ptwsi .. 'θ'] == nil then args[ptwsi .. 'θ'] = "1" end
    end
    for  i, ptwsi in ipairs({'γε', 'γε2', 'γπ', 'γπ0', 'γπ2'}) do
       if args[ptwsi] ~= nil then
          if Lf['έχει τόνο'](args[ptwsi]) then args[ptwsi .. 'θ'] = "2" end
       end
    end
    if args['οπ'] == "άδες" then
    args['οπθ'] = "2"
    args['απθ'] = "2"
    end
    if args['οπ2'] == "άδες" or args['οπ2'] == "αίοι" then
    args['οπ2θ'] = "2"
    args['απ2θ'] = "2"
    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['οε'] = Lf['linkcontrol'](stem[args['οεθ']], args['οε'])
    
    ---- γενική ενικού
    if (args['γε'] == "-" or args['γε'] == "" or args['γε'] == nil) then
        args['γε'] = ""
    else
        args['γε'] = Lf['linkcontrol'](stem[args['γεθ']], args['γε'])
    end
    if args['γε2'] ~=nil and args['γε2'] ~= "" and args['γε2'] ~= "-" then
        args['γε2'] = "<br />& " .. Lf['linkcontrol'](stem[args['γε2θ']], args['γε2']) -- όπως στο [[λύση]]
    else 
        args['γε2'] = ''
    end
    args['γε'] = args['γε'] .. args['γε2']   
    
	---- αιτιατική ενικού
    args['αε'] = Lf['linkcontrol'](stem[args['αεθ']], args['αε'])

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

    ---- ΟΝΟΜΑΣΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
    args['οπ'] = Lf['linkcontrol'](stem[args['οπθ']], args['οπ'])
    if args['οπ2'] ~=nil and args['οπ2'] ~= "" and args['οπ2'] ~= "-" then
        args['οπ2'] = "<br />& " .. Lf['linkcontrol'](stem[args['οπ2θ']], args['οπ2']) -- όπως στο [[πραματευτής]]
    else
        args['οπ2'] = ''
    end
    args['οπ'] = args['οπ'] .. args['οπ2']
    args['κπ'] = args['οπ']

    ---- ΓΕΝΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
    if (args['γπ'] == "-" or args['γπ'] == "" or args['γπ'] == nil) then
        args['γπ'] = ""
    else
        args['γπ'] = Lf['linkcontrol'](stem[args['γπθ']], args['γπ'])
    end
    if args['γπ0'] ~= nil then
        args['γπ'] = '(' .. Lf['linkcontrol'](stem[args['γπ0θ']], args['γπ0']) .. ')' -- όπως στο [[σκόνη]]
    end
    if args['γπ2'] ~=nil and args['γπ2'] ~= "" and args['γπ2'] ~= "-" then
        args['γπ2'] = Lf['linkcontrol'](stem[args['γπ2θ']], args['γπ2'])  -- όπως στο [[καρδινάλιος]]
        if args['γπ'] ~= "" then
            args['γπ2'] = "<br />& " .. args['γπ2']
        end
    else
        args['γπ2'] = ""
    end
    args['γπ'] = args['γπ'] .. args['γπ2']

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

    return Lf['πλήρηςπίνακας'](args)
end

--κλίση ουδετέρων ουσιαστικών που παίρνουν επιπλέον σύμφωνο στο «θέμα», τσάι, προϊόν, μέλλον
Lf['κλίση2'] = function(args)
    local stemnumber = 0
    if args['α'] ~= "πλ" then
        stemnumber = tonumber(mw.ustring.len(args['οε']))
    else
        stemnumber = tonumber(mw.ustring.len(args['οπ'])) +1
    end
    local stem = {}
    stem["1"] = mw.ustring.sub(args['λήμμα'],1,-stemnumber-1)
    stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
    stem["3"] = Lf['νέος τόνος'](stem["2"])

    args['οε'] = Lf['linkcontrol'](stem[args['οεθ']], args['οε'])
    args['γε'] = Lf['linkcontrol3'](stem[args['γεθ']], args['πρόσφ'], args['γε'])
    args['αε'] = args['οε']
    args['κε'] = args['οε']
    args['οπ'] = Lf['linkcontrol3'](stem[args['οπθ']], args['πρόσφ'], args['οπ'])
    args['γπ'] = Lf['linkcontrol3'](stem[args['γπθ']], args['πρόσφ'], args['γπ'])
    args['απ'] = args['οπ']
    args['κπ'] = args['οπ']

    return Lf['πλήρηςπίνακας'](args)
end

--------------------------------------------------------------------------
--                       ΕΠΙΜΕΡΟΥΣ ΠΡΟΤΥΠΑ                             --
--------------------------------------------------------------------------
-- Εδώ αρχίζουν οι καταλήξεις των επιμέρους προτύπων

-- διάμετρος: μια ειδική περίπτωση
export['διάμετρος'] = function(args)		-- [[Πρότυπο:el-κλίσ-'διάμετρος']]
    local stem = {}
    stem["1"] = mw.ustring.sub(args['λήμμα'],1,-3)
    stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
    if stem["2"] == nil then return stem["1"] end
    stem["3"] = Lf['νέος τόνος'](stem["2"])

	args['οε'] = Lf['linkcontrol'](stem["1"], 'ος')
	args['γε'] = Lf['linkcontrol'](stem["3"], 'ου')
	args['αε'] = Lf['linkcontrol'](stem["1"], 'ο')
	args['κε'] = Lf['linkcontrol'](stem["1"], 'ε') .. " (" .. Lf['linkcontrol'](stem["1"], 'ο') .. ")"
	args['οπ'] = Lf['linkcontrol'](stem["1"], 'οι') .. " (" .. Lf['linkcontrol'](stem["1"], 'ες') .. ")"
	args['γπ'] = Lf['linkcontrol'](stem["3"], 'ων')
	args['απ'] = Lf['linkcontrol'](stem["3"], 'ους') .. " (" .. Lf['linkcontrol'](stem["1"], 'ες') .. ")"
	args['κπ'] = Lf['linkcontrol'](stem["1"], 'οι')

    return Lf['πλήρηςπίνακας'](args)
end

-- =================== α...ω ======================= --

export['άγγελος'] = function(args)		-- [[Πρότυπο:el-κλίσ-'άγγελος']]
    args['οε'] = "ος"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['κε'] = "ε"
    args['οπ'] = "οι"
    args['γπ'] = "ων"
    args['απ'] = "ους"
    args['γεθ'] = "3"
    args['γπθ'] = "3"
    args['απθ'] = "3"
    return Lf['κλίση1'](args)
end

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

export['αγώνας'] = function(args)		-- [[Πρότυπο:el-κλίσ-'αγώνας']]
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['κε'] = "α"
    args['οπ'] = "ες"
    if args['γπ'] == nil then args['γπ'] = "ων" end
    if args['γπ'] == '-' then args['τύπος0'] = "'αγώνας' χωρίς γενική πληθυντικού" end  -- όπως [[μπόγιας]]
    if args['γπ'] == '-' then args['υποκατ'] = "χωρίς γενική πληθυντικού" end  -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς γενική πληθ
    if args['α'] == 'εν' then args['τύπος0'] = "'αγώνας' χωρίς πληθυντικό" end  -- όπως [[Ανδρέας]]
    if args['α'] == 'εν' then args['υποκατ'] = "χωρίς πληθυντικό" end -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς πληθυντικό
    args['απ'] = "ες"
    return Lf['κλίση1'](args)
    -- επίσης, βλ. κατ=μπαγάσας στο [[μπαγάσας]]
end

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

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

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

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

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

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

export['γιαγιά'] = function(args)		-- [[Πρότυπο:el-κλίσ-'γιαγιά']]
    args['οε'] = "ά"
    args['γε'] = "άς"
    args['αε'] = "ά"
    args['οπ'] = "άδες"
    args['γπ'] = "άδων"
    return Lf['κλίση1'](args)
end

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

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

export['διδάκτωρ'] = function(args)		-- [[Πρότυπο:el-κλίσ-'διδάκτωρ']]
    args['οε'] = "ωρ"
    args['γε'] = "ορος"
    args['αε'] = "ορα"
    args['κε'] = "ορ"
    args['οπ'] = "ορες"
    args['γπ'] = "όρων"
    return Lf['κλίση1'](args)
end

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

export['έδαφος'] = function(args)		-- [[Πρότυπο:el-κλίσ-'έδαφος']]
    args['οε'] = "ος"
    args['γε'] = "ους"
    args['αε'] = "ος"
    args['οπ'] = "η"
    if args['γπ'] == nil then args['γπ'] = "ών" end
    args['γεθ'] = "3"
    args['οπθ'] = "3"
    args['απθ'] = "3"
    return Lf['κλίση1'](args)
end

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

export['έρημος'] = function(args)		-- [[Πρότυπο:el-κλίσ-'έρημος']]
    args['οε'] = "ος"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['κε'] = "ε"
    args['κε2'] = "ο"
    args['οπ'] = "οι"
    args['γπ'] = "ων"
    args['απ'] = "ους"
    args['γεθ'] = "3"
    args['γπθ'] = "3"
    args['απθ'] = "3"
    return Lf['κλίση1'](args)
end

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

export['ζάχαρη'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ζάχαρη']] ΧΡΕΙΑΖΕΤΑΙ ΕΛΕΓΧΟ
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = nil
    return Lf['κλίση1'](args)
end

export['ηχώ'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ηχώ']]
    args['οε'] = "ώ"
    args['γε'] = "ώς"
    args['γε2'] = "ούς"
    args['αε'] = "ώ"
    args['οπ'] = "οί"
    args['απ'] = "ούς"
    args['α'] = "εν"
    return Lf['κλίση1'](args)
end

export['θάλασσα'] = function(args)		-- [[Πρότυπο:el-κλίσ-'θάλασσα']]
    args['οε'] = "α"
    args['γε'] = "ας"
    args['αε'] = "α"
    args['οπ'] = "ες"
    args['γπ'] = "ών"
    return Lf['κλίση1'](args)
end


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

export['ιππέας'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ιππέας']]
    args['οε'] = "έας"
    args['γε'] = "έα"
    args['αε'] = "έα"
    args['οπ'] = "είς"
    args['γπ'] = "έων"
    if args['2gen'] == "1" then args['γε2'] = "έως" end
    return Lf['κλίση1'](args)
end

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

export['καρδιά'] = function(args)		-- [[Πρότυπο:el-κλίσ-'καρδιά']]
    args['οε'] = "ά"
    args['γε'] = "άς"
    args['αε'] = "ά"
    args['οπ'] = "ές"
    if args['γπ'] == nil then args['γπ'] = "ών" end
    return Lf['κλίση1'](args)
end

export['καρδινάλιος'] = function(args)		-- [[Πρότυπο:el-κλίσ-'καρδινάλιος']]
    args['οε'] = "ος"
    args['γε'] = "ου"
    args['γε2'] = "ου"
    args['αε'] = "ο"
    args['κε'] = "ε"
    args['οπ'] = "οι"
    args['γπ'] = "ων"
    args['απ'] = "ους"
    args['γπ2'] = "ων"
    args['απ2'] = "ους"
    args['γεθ'] = "3"
    args['γπθ'] = "3"
    args['απθ'] = "3"
    return Lf['κλίση1'](args)
end

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

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

export['κρέας'] = function(args)		-- [[Πρότυπο:el-κλίσ-'κρέας']]
    args['οε'] = "ας"
    args['γε'] = "ατος"
    args['αε'] = "ας"
    args['οπ'] = "ατα"
    args['γπ'] = "άτων"
    return Lf['κλίση1'](args)
end

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

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

export['μανάβης'] = function(args)		-- [[Πρότυπο:el-κλίσ-'μανάβης']]
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπ'] = "ηδες"
    args['γπ'] = "ηδων"
    args['οπθ'] = "3"
    args['γπθ'] = "3"
    if args['2πλ'] == "1" then
    	args['κατ'] = 'νοικοκύρης'  -- όπως [[νοικοκύρης]] με διπλούς πληθυντικούς
        args['οπ2'] = "αίοι"
        args['γπ2'] = "αίων"
        args['απ2'] = "αίους"
    end
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Ανδρικά επώνυμα' end
    if args['α'] == 'εν' then args['τύπος0'] = "'μανάβης' χωρίς πληθυντικό" end  -- όπως ?
    if args['α'] == 'εν' then args['υποκατ'] = "χωρίς πληθυντικό" end -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς πληθυντικό  
    if args['α'] == 'πλ' then args['τύπος0'] = "'μανάβης' χωρίς ενικό" end  -- όπως [[Αέρηδες]]
    if args['α'] == 'πλ' then args['υποκατ'] = "χωρίς ενικό" end -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς ενικό    
--TODO τσοπάνης -ηδες - αραίοι
--if args['προσφ'] ~= nil then
    return Lf['κλίση1'](args)
end

export['μέλλον'] = function(args)		-- [[Πρότυπο:el-κλίσ-'μέλλον']]
    args['οε'] = ""
    args['γε'] = "ος"
    args['οπ'] = "α"
    args['γπ'] = "ων"
    args['οεθ'] = "1"
    args['γεθ'] = "1"
    args['οπθ'] = "1"
    args['γπθ'] = "3"
    args['πρόσφ'] ="τ"
    return Lf['κλίση2'](args)
end

export['μίλι'] = function(args)		-- [[Πρότυπο:el-κλίσ-'μίλι']]
    args['οε'] = "ι"
    args['γε'] = "ίου"
    args['αε'] = "ι"
    args['οπ'] = "ια"
    args['γπ'] = "ίων"
    return Lf['κλίση1'](args)
end

export['μπαλωματής'] = function(args)		-- [[Πρότυπο:el-κλίσ-'μπαλωματής']]
    args['οε'] = "ής"
    args['γε'] = "ή"
    args['αε'] = "ή"
    args['οπ'] = "ήδες"
    args['γπ'] = "ήδων"
    if args[1] == 'επ' then args['κατηγορία κλίσης'] = 'Ανδρικά επώνυμα' end
    return Lf['κλίση1'](args)
end

export['ναύτης'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ναύτης']]
    args['οε'] = "ης"
    args['γε'] = "η"
    args['αε'] = "η"
    args['οπ'] = "ες"
    if args['γπ'] == nil then args['γπ'] = "ών" end
    return Lf['κλίση1'](args)
end

export['νίκη'] = function(args)		-- [[Πρότυπο:el-κλίσ-'νίκη']]
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπ'] = "ες"
    args['γπ'] = "ών"
    return Lf['κλίση1'](args)
end

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

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

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

export['ον'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ον']]
    args['οε'] = ""
    args['γε'] = "ος"
    args['οπ'] = "α"
    args['γπ'] = "ων"
    args['οεθ'] = "1"
    args['γεθ'] = "3"
    args['οπθ'] = "3"
    args['γπθ'] = "3"
    args['πρόσφ'] ="τ"
    return Lf['κλίση2'](args)
end

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

-- επώνυμα -όπουλος ([[Παπαδόπουλος]]): μια ειδική περίπτωση
export['όπουλος'] = function(args)		-- [[Πρότυπο:el-κλίσ-'όπουλος']]
    local stem = {}
    stem["1"] = mw.ustring.sub(args['λήμμα'],1,-3)	-- 1 = πρώτο γράμμα. -3 = σταματάμε στο 3ο γράμμα από το τέλος (Παπαδόπουλ)
    stem["2"] = Lf['αφαίρεση τόνου'](stem["1"]) 	-- άτονο θέμα (Παπαδοπουλ)
    if stem["2"] == nil then return stem["1"] end
    stem["3"] = Lf['νέος τόνος'](stem["2"])			-- δημιουργία θέματος με τόνο στην τελευταία συλλαβή (Παπαδοπούλ)

	args['οε'] = Lf['linkcontrol'](stem["1"], 'ος')
	args['γε'] = Lf['linkcontrol'](stem["1"], 'ου') .. "<br />& " .. Lf['linkcontrol'](stem["3"], 'ου')
	args['αε'] = Lf['linkcontrol'](stem["1"], 'ο')
	args['κε'] = Lf['linkcontrol'](stem["1"], 'ε')
	args['οπ'] = Lf['linkcontrol'](stem["1"], 'οι') .. " & " .. Lf['linkcontrol'](stem["2"], 'αίοι') .. "<sup>1</sup>"
	args['γπ'] = Lf['linkcontrol'](stem["1"], 'ων') .. "<sup>2</sup> & " .. Lf['linkcontrol'](stem["2"], 'αίων')
	args['απ'] = Lf['linkcontrol'](stem["1"], 'ους') .. "<sup>3</sup> & " .. Lf['linkcontrol'](stem["2"], 'αίους')
	args['κπ'] = Lf['linkcontrol'](stem["1"], 'οι') .. " & " .. Lf['linkcontrol'](stem["2"], 'αίοι')
	args['παρατήρηση'] = "&nbsp;1. οι δεύτεροι τύποι, προφορικοί, οικείοι<br>&nbsp;2. παρωχημένη γενική πληθυντικού: " .. Lf['linkcontrol'](stem["3"], 'ων')
	.. "<br>&nbsp;3. παρωχημένη αιτιατική πληθυντικού: " .. Lf['linkcontrol'](stem["3"], 'ους')
	args['κατηγορία κλίσης'] = 'Επώνυμα'
	args['κατ'] = 'Παπαδόπουλος'

    return Lf['πλήρηςπίνακας'](args)
end


export['ουρανός'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ουρανός']]
    args['οε'] = "ός"
    args['γε'] = "ού"
    args['αε'] = "ό"
    if args['κε'] == nil then args['κε'] = "έ" end
    args['οπ'] = "οί"
    args['γπ'] = "ών"
    args['απ'] = "ούς"
    return Lf['κλίση1'](args)
end

export['παγκοσμιοποίηση'] = function(args)	-- [[Πρότυπο:el-κλίσ-'παγκοσμιοποίηση']] νεολογισμοί, χωρίς -ποιήσεως
    local stem = {}
    stem["1"] = mw.ustring.sub(args['λήμμα'],1,-2)
    stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
    if stem["2"] == nil then return stem["1"] end
    stem["3"] = Lf['νέος τόνος'](stem["2"])
    args['οε'] = "η"
    args['γε'] = "ης"
    args['αε'] = "η"
    args['οπθ'] = "3"  -- θέμα τονισμένο στην τελευταία συλλαβή του
    args['οπ'] = "εις"
	args['γπθ'] = "3"
    args['γπ'] = "εων"
    if args['παρατήρηση'] ~= nil then args['παρατήρηση'] = args['παρατήρηση'] -- ελεύθερο κείμενο παρατήρησης όπως στο [[υποτάξη]] 
    	else args['παρατήρηση'] = "Η γενική ενικού " .. Lf['linkcontrol'](stem["3"], 'εως') .. " δεν συνηθίζεται." -- preset κείμενο όπως στο [[παγκοσμιοποίηση]]
    end
    return Lf['κλίση1'](args)
end

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

export['παιδάκι'] = function(args)		-- [[Πρότυπο:el-κλίσ-'παιδάκι']]
    args['οε'] = "ι"
    args['αε'] = "ι"
    args['οπ'] = "ια"
    return Lf['κλίση1'](args)
end

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

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

export['πείνα'] = function(args)		-- [[Πρότυπο:el-κλίσ-'πείνα']]
    args['οε'] = "α"
    args['γε'] = "ας"
    args['αε'] = "α"
    args['οπ'] = "ες"
    return Lf['κλίση1'](args)
end

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

export['πεύκο'] = function(args)		-- [[Πρότυπο:el-κλίσ-'πεύκο']]
    args['οε'] = "ο"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['οπ'] = "α"
    if args['γπ'] == nil then args['γπ'] = "ων" end
    return Lf['κλίση1'](args)
end

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

export['πρόσωπο'] = function(args)		-- [[Πρότυπο:el-κλίσ-'πρόσωπο']]
    args['οε'] = "ο"
    args['γε'] = "ου"
    args['αε'] = "ο"
    args['οπ'] = "α"
    args['γπ'] = "ων"
    args['γεθ'] = "3"
    args['γπθ'] = "3"
    return Lf['κλίση1'](args)
end

export['πρόβατο'] = function(args)		-- [[Πρότυπο:el-κλίσ-'πρόβατο']]
    args['οε'] = "ο"
    args['γε'] = "ου"
    args['γε2'] = "ου"
    args['αε'] = "ο"
    args['οπ'] = "α"
    args['γπ'] = "ων"
    args['γπ2'] = "ων"
    args['γεθ'] = "3"
    args['γπθ'] = "3"
    return Lf['κλίση1'](args)
end

export['ρήγας'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ρήγας']]
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['οπ'] = "άδες"
    args['γπ'] = "άδων"
    return Lf['κλίση1'](args)
end

export['Ρηνιώ'] = function(args)		-- [[Πρότυπο:el-κλίση-'Ρηνιώ']]
    args['οε'] = "ώ"
    args['γε'] = "ώς"
    args['αε'] = "ώ"
    args['οπ'] = "XX"
    args['α'] = "εν"
    return Lf['κλίση1'](args)
end

export['σάλπιγγα'] = function(args)		-- [[Πρότυπο:el-κλίσ-'σάλπιγγα']]
    args['οε'] = "α"
    args['γε'] = "ας"
    args['αε'] = "α"
    args['οπ'] = "ες"
    args['γπ'] = "ων"
    args['γπθ'] = "3"
    if args['2gen'] == "1" then args['γπ2'] = "ων"
    end
    return Lf['κλίση1'](args)
end

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

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

export['ταμίας'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ταμίας']]
    args['οε'] = "ας"
    args['γε'] = "α"
    args['αε'] = "α"
    args['οπ'] = "ες"
    args['γπ'] = "ών"
    return Lf['κλίση1'](args)
end

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

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

-- με πρόσθετο σύμφωνο γ ή τ
export['τσάι'] = function(args)		-- [[Πρότυπο:el-κλίσ-'τσάι']]
    args['οε'] = "ι"
    args['γε'] = "ιού"
    args['οπ'] = "ια"
    args['γπ'] = "ιών"
    args['οεθ'] = "1"
    args['γεθ'] = "2"
    args['οπθ'] = "1"
    args['γπθ'] = "2"
    args['πρόσφ'] ="γ"
    return Lf['κλίση2'](args)
end

export['Φρόσω'] = function(args)		-- [[Πρότυπο:el-κλίσ-'Φρόσω']]
    args['οε'] = "ω"
    args['γε'] = "ως"
    args['αε'] = "ω"
    args['οπ'] = "ΧΧ"
    args['α'] = "εν"
    return Lf['κλίση1'](args)
end

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

export['ψυχή'] = function(args)		-- [[Πρότυπο:el-κλίσ-'ψυχή']]
    args['οε'] = "ή"
    args['γε'] = "ής"
    args['αε'] = "ή"
    args['οπ'] = "ές"
    if args['γπ'] == nil then args['γπ'] = "ών" end
    return Lf['κλίση1'](args)
end

-- ================ δοκιμαστικά
export['τεστ'] = function(args)
    args['ιδιαίτερη κλίση'] = true
    return Lf['κλίση1'](args)
end

export['ουσ'] = function(args)
    args['ιδιαίτερη κλίση'] = true
    return Lf['κλίση1'](args)
end

return export