Module:el-nouns-decl

Από Βικιλεξικό
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση

Module:el-nouns-decl >> Module:el-nouns-decl/functions     <<   Module:el-nouns-decl/τεκμηρίωση <<
Το Module περιλαμβάνει α) γενικές λειτουργίες (συναρτήσεις) και β) επιμέρους συναρτήσεις, έτοιμους πίνακες κλίσεων που καλούνται από Πρότυπα (βρίσκονται αλφαβητικά στο Module:el-nouns-decl/functions)

Πίνακας Προτύπων, Κατηγοριών και κλίσεων υπάρχει στο Παράρτημα:Ουσιαστικά (νέα ελληνικά) με δυνατότητα πολλαπλών αλφαβητικών κατατάξεων των παραδειγμάτων.
Η διαμόρφωση των θεμάτων γίνεται από το Module:grk-stems

Θέματα και καταλήξεις

Για τις καταλήξεις των πτώσεων χρησιμοποιούνται οι εξής παράμετροι:

οε: ονομαστική ενικού
γε: γενική ενικού,
γε2: γενική ενικού (2ος τύπος)
αε: αιτιατική ενικού
κε: κλητική ενικού - Αν λείπει τεκμαίρεται ότι είναι ίδια με την αιτ. εν.
κε0: κλητική ενικού (δύσχρηστη σε παρένθεση)
κε2: κλητική ενικού (δεύτερος τύπος)
οπ: ονομαστική πληθυντικού
οπ2: ονομαστική πληθυντικού (δεύτερος τύπος)
γπ: γενική πληθυντικού
γπ0: γενική πληθυντικού (δύσχρηστη, σε παρένθεση)
γπ2: γενική πληθυντικού (2ος τύπος)
απ: αιτιατική πληθυντικού - Αν λείπει τεκμαίρεται ότι είναι ίδια με την ονομ. πλ
απ2: αιτιατική πληθυντικού (δεύτερος τύπος)
Η κλητική πληθυντικού θεωρείται ίδια με την ονομαστική, εκτός από την περίπτωση των θηλυκών σε -ος (διάμετρος).

Τα θέματα

  1. το θέμα προκύπτει μετά την αφαίρεση της κατάληξης (ενός ή δύο γραμμάτων) που γίνεται αυτόματα στον Κύριο Ονοματοχώρο (αν θέλουμε, μπορούμε να δηλώσουμε διαφορετικό |λήμμα=xxxx)
    • Μπορούμε να προσδιορίσουμε το θέμα που αντιστοιχεί σε κάποια πτώση, με τις παραμέτρους οεθ, γεθ, και δεύτερους τύπους οε2θ, γε2θ κ.ο.κ. σε περίπτωση που είναι διαφορετικό από το αυτόματο.
  2. Οι παρεμβάσεις στον τονισμό του θέματος για τις παραλλαγές του γίνονται από το Module:grk-stems (άτονο, μετακινήσεις του τόνου) ή/και από το Module:stems (βλ. Πρότυπο:el-nouns-free)

Βασικές συναρτήσεις

Οι γενικές συναρτήσεις (functions) του Module είναι:

  • klisi1: Συνάρτηση (function) που χρησιμοποιείται για τη μεγάλη πλειοψηφία των ουσιαστικών. Καλείται μόνο από άλλη συνάρτηση του module (από τις Επιμέρους Συναρτήσεις).
  • klisi2: Συνάρτηση (function) που χρησιμοποιείται για ουδέτερα όπως το τσάι, παρόν, μέλλον, ον που εμφανίζουν ένα επιπλέον σύμφωνο (γ ή τ) στο τέλος του θέματος. Καλείται μόνο από Επιμέρους Συνάρτηση του module.
  • fulltable: απ' ευθείας απ' αυτόν τον super-πίνακα δημιουργούνται functions στο Module:el-nouns-decl/functions που έχουν πολλές εξειδικευμένες παρατηρήσεις και υποπεριπτώσεις (όπως η κλίση 'διάμετρος', η κλίση 'όπουλος', κ.ά.)
  • free: καλείται από το Πρότυπο:el-nouns-free και δημιουργεί πίνακα με δυνατότητα επεξεργασίας όλων των παραμέτρων: ολόκληρης λέξης (οεΛ, γεΛ, αεΛ, ...), θέματος και κατάληξης (οεθ, οε, γεθ, γε, ...)

Επιμέρους συναρτήσεις

Είναι έτοιμες εφαρμογές κλίσεων. Βρίσκονται στο Module:el-nouns-decl/functions, αλφαβητικά.

Τις καλούμε με πρότυπα

Τα Πρότυπα Κλίσων με τη μορφή el-κλίση-'τάδε' καλούν κάποια συνάρτηση
Τρόπος Α:

Τρόπος Β (για ιδιόκλιτα, δύσκολες κλίσεις, ελλειπτικά ή πολυλεκτικούς όρους).

Συντήρηση

Ελέγχουμε συχνά:


--[=[
-- 2020.03.21. 
Ενοποίηση των / A transfer from 
* [[Module:κλίση/el/ουσιαστικό]] με μεταφρασμένες τις ονομασίες εντολών 
	with greek commands translated (almost all nouns use this module)
* και στοιχεία από /plus elements from [[Module:Table-el-1]] 
	which also functions with direct invoke and paramter for stem (only for few nouns)
ΣΥΓΓΡΑΦΕΙΣ / AUTHORS
	Flyax and Xoristzatziki (2015-2018)
	edits by Sarri.greek (2020)
ΣΚΟΠΟΣ / AIM: 
* Ενοποίηση υπαρχόντων module και προτύπων 
	To unify inflection modules (continue with adjectives and verbs)
	What is preferable? to edit in the Module or to edit in the Templates?
	Μεταφέρω μερικά στο [[Πρότυπο:el-nouns-free]]. Τι είναι προτιμότερο?
* Ενοποίηση παραγωγής θεμάτων για τα ελληνικά
	To unify the stem production for greek inflections. See [[Module:grk-stems]] 2020.03. & [[Module:stems]]
* Να είναι εύκολη και ορατή η διάταξη και ο σχηματισμός πινάκων, ώστε να μπορούν να διορθώνουν και μη γνώστες της Lua
	Τo make the module as 'easily readable' by editors who do not know Lua, like me
* Να διαφοροποιείται το όνομα παραμέτρου για Λέξη, για, Θέμα, για Κατάληξη (έγινε) (για κελλί?)

ΔΟΜΗ / STRUCTURE
	1) παραγωγή θεμάτων / stem-production, required modules
	2) χρώματα, σύνδεσμοι, στυλ / colours, links, styles
	3) fulltable: άρθρα, πτώσεις / article, cases. 
	3b) Κατηγορίες / Categories
	4) klisi1 (generates most templates)
	5) klisi2 (plus an interfix)
	6) free table
	7) [[Module:el-nouns-decl/functions]] Οι επιμέρους λειτουργίες για τα Πρότυπα / functions for specific Templates α...ω

ΟΡΟΛΟΓΙΑ / GREEK TERMS
	ονομασίες θεμάτων - stem names
		"θ" = το θέμα όπως το βρίσκουμε από το λήμμα / the stem as taken from the lemma
		"θ0" = άτονο / unaccented
		"θ1" = τονισμένο στην τελευταία του συλλαβή / accented on its last syllable
		"θ2" = τονισμένο στην προτελευταία του συλλαβή / accented on the syllable before the last
	1st character: ο = nom. γ = gen. α = acc. κ = voc.
	2nd character: ε = singular,  π = plural.   Parameter α= (number=) εν (singular) πλ (plural)
	3rd character: Λ = λέξη/word (=θέμα+κατάληξη =stem+ending)
	3rd character: 
		0 (zero: place the word in parenthesis)
		2 (add an extra form in the cell)
		θ (greek letter theta for θέμα (thema) = stem)
	λήμμα = lemma
	κατ = cat (category)
	
ΙΔΙΑΤΕΡΕΣ ΠΕΡΙΠΤΩΣΕΙΣ
* cf [[Module:el-nouns-decl/functions]]?
ΠΡΟΒΛΗΜΑΤΑ - PROBLEMS marked with ??
* Why do I have to repeat the section about the lemma and stems in EVERY function at [[Module:el-nouns-decl/functions]]? (like 'αγώνας')
* style: function float ??
]=]--


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
-- δύχρηστη γενική πληθυντικού όπως [[σκόνη]], [[νότα]]
	if args['γπ0'] ~= '' and args['γπ0'] ~= nil then
		if args['α'] ~= 'εν' and args['α2'] ~= 'εν' then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' με δύσχρηστη γενική πληθυντικού (νέα ελληνικά)]]'
		end
	end
	
-- free, ελεύθερη κατηγορία (για πολυλεκτικούς όρους [[Πρότυπο:el-κλίση-όροι]])
	if args['κατηγ'] ~= '' and args['κατηγ'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ'] .. ']]'
	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['γε0'] ~= nil then
        args['γεΛ'] = '(' .. linkcontrol2(stem[args['γε0θ']], args['γε0']) .. ')' -- όπως στο [[λιοστάσι]]
    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 whole words or stems, endings, etc                --
--------------------------------------------------------------------------
-- by Sarri.greek 2020
-- [[Πρότυπο:el-nouns-free]]
--[=[
* για τους κωδικούς καταλήξεων με μηδέν (οε0=, γε0=, αε0=...) θεωρούμε, ότι το θέμα παραμένει όπως οε8, γε8, αε8, ...
	Αν είναι αλλιώτικο, τότε χρησιμοποιούμε παράμετρο για ολόκληρη τη λέξη. Π.χ. γεΛ=([[....]])
]=]--

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 article (required Module:tin)
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end 	
-- stems
    local stem = {}
    minusletters = args['μείον'] or ''
    if args['μείον'] == '' and args['μείον'] == nil then args['μείον'] = 2 end
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-(minusletters+1))
    stem["θ0"] = m_stems.word0(stem["θ"])
    stem["θ1"] = m_stems.word1(stem["θ0"])
    stem["θ2"] = m_stems.word2(stem["θ0"])

--
	args['οεΛ'] = args['οεΛ'] or ''
	args['γεΛ'] = args['γεΛ'] or ''
	args['αεΛ'] = args['αεΛ'] or ''
	args['κεΛ'] = args['κεΛ'] or ''
	args['οπΛ'] = args['οπΛ'] or ''
	args['γπΛ'] = args['γπΛ'] or ''
	args['απΛ'] = args['απΛ'] or ''
	args['κπΛ'] = args['κπΛ'] 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 ''
	args['απ2Λ'] = args['απ2Λ'] or ''
	args['κπ2Λ'] = args['κπ2Λ'] or ''
-- για γε, οπ, γπ, απ, κπ
	args['πρόσφ'] = args['πρόσφ'] or ''
	args['πρόσφ2'] = args['πρόσφ2'] or ''
	args['κοινό1'] = args['κοινό1'] or ''
	args['κοινό'] = args['κοινό'] or ''


-- ονομαστική ενικού PLUS stem only, ending='0' όπως [[πυρ]]
	args['οεΛκειμ'] = args['οεΛκειμ'] or ''
	args['οε2Λκειμ'] = args['οε2Λκειμ'] or ''
	
	if args['οεθ'] == '' or args['οεθ'] == nil then
		args['οεθ'] = stem["θ"]
	else args['οεθ'] = args['οεθ']
	end

	if args['οε'] == '0' then	-- το πυρ
	args['οεΛ'] = args['κοινό1'] .. create_link((args['οεθ']), (stem_color(args['οεθ']))) .. args['κοινό'] .. args['οεΛκειμ']
	end

	if args['οε'] ~= '-' and args['οε'] ~= '0' and args['οε'] ~= '' and args['οε'] ~= nil then
   	args['οεΛ'] = args['κοινό1'] .. create_link((args['οεθ'] .. args['οε']), (stem_color(args['οεθ']) .. ending_color(args['οε']))) .. args['κοινό'] .. args['οεΛκειμ']
   	elseif args['οε'] == '-' then
   		args['οεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οεΛκειμ']
   	end
   	
   	if args['οε2'] ~= '-' and args['οε2'] ~= '' and args['οε2'] ~= nil then
	args['οε2Λ'] = '<br />& ' .. create_link((args['οε2θ'] .. args['οε2']), (stem_color(args['οε2θ']) .. ending_color(args['οε2']))) .. args['οε2Λκειμ']
   	elseif args['οε2'] == '-' then
   		args['οε2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οε2Λκειμ']
   	end

	if args['οε0'] ~= '' and args['οε0'] ~= nil then
	args['οεΛ'] = '(' .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε0']), (stem_color(args['οεθ']) .. ending_color(args['οε0']))) .. args['κοινό'] .. ')' .. args['οεΛκειμ']
	end
   
    args['οεΛ'] = args['οεΛ'] .. args['οε2Λ']   


-- γενική ενικού PLUS infix, PLUS stem only, ending='0' όπως [[νους]] του νου
	args['γεΛκειμ'] = args['γεΛκειμ'] or ''
	args['γε2Λκειμ'] = args['γε2Λκειμ'] or ''
	
	if args['γεθ'] == '' or args['γεθ'] == nil then
		args['γεθ'] = stem["θ"]
	else args['γεθ'] = args['γεθ']
	end

	if args['γε'] == '0' then	-- ο [[νους]], του νου
	args['γεΛ'] = args['κοινό1'] .. create_link((args['γεθ']), (stem_color(args['γεθ']))) .. args['κοινό'] .. args['γεΛκειμ']
	end

	if args['γε'] ~= '-' and args['γε'] ~= '0' and args['γε'] ~= '' and args['γε'] ~= nil then
   	args['γεΛ'] = args['κοινό1'] .. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε']))) .. args['κοινό'] .. args['γεΛκειμ']
   	elseif args['γε'] == '-' then
   		args['γεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γεΛκειμ']
   	end
   	
   	if args['γε2'] ~= '-' and args['γε2'] ~= '' and args['γε2'] ~= nil then
	args['γε2Λ'] = '<br />& ' .. create_link((args['γε2θ'] .. args['πρόσφ2'] .. args['γε2']), (stem_color(args['γε2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γε2']))) .. args['γε2Λκειμ']
   	elseif args['γε2'] == '-' then
   		args['γε2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γε2Λκειμ']
   	end

	if args['γε0'] ~= '' and args['γε0'] ~= nil then
	args['γεΛ'] = '(' .. args['κοινό1'] .. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε0']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε0']))) .. args['κοινό'] .. ')' .. args['γεΛκειμ']
	end
   
    args['γεΛ'] = args['γεΛ'] .. args['γε2Λ']   


-- αιτιατική ενικού PLUS stem only, ending='0' όπως [[ισχύς]], την ισχύ
	args['αεΛκειμ'] = args['αεΛκειμ'] or ''
	args['αε2Λκειμ'] = args['αε2Λκειμ'] or ''
	
	if args['αεθ'] == '' or args['αεθ'] == nil then
		args['αεθ'] = stem["θ"]
	else args['αεθ'] = args['αεθ']
	end

	if args['αε'] == '0' then	-- την ισχύ, τον ιχθύ
	args['αεΛ'] = args['κοινό1'] .. create_link((args['αεθ']), (stem_color(args['αεθ']))) .. args['κοινό'] .. args['αεΛκειμ']
	end
	
	if args['αε'] ~= '-' and args['αε'] ~= '0' and args['αε'] ~= '' and args['αε'] ~= nil then
   	args['αεΛ'] = args['κοινό1'] .. create_link((args['αεθ'] .. args['οε']), (stem_color(args['αεθ']) .. ending_color(args['αε']))) .. args['κοινό'] .. args['αεΛκειμ']
   	elseif args['αε'] == '-' then
   		args['αεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['αεΛκειμ']
   	end

   	if args['αε2'] ~= '-' and args['αε2'] ~= '' and args['αε2'] ~= nil then
	args['αε2Λ'] = '<br />& ' .. create_link((args['αε2θ'] .. args['αε2']), (stem_color(args['αε2θ']) .. ending_color(args['αε2']))) .. args['αε2Λκειμ']
   	elseif args['αε2'] == '-' then
   		args['αε2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['αε2Λκειμ']
   	end

	if args['αε0'] ~= '' and args['αε0'] ~= nil then
	args['αεΛ'] = '(' .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε0']), (stem_color(args['αεθ']) .. ending_color(args['αε0']))) .. args['κοινό'] .. ')' .. args['αεΛκειμ']
	end
   
    args['αεΛ'] = args['αεΛ'] .. args['αε2Λ']   



-- κλητική ενικού PLUS stem only, ending='0' όπως [[ισχύς]], ω ισχύ!
	args['κεΛκειμ'] = args['κεΛκειμ'] or ''
	args['κε2Λκειμ'] = args['κε2Λκειμ'] or ''
	
	if args['κεθ'] == '' or args['κεθ'] == nil then
		args['κεθ'] = stem["θ"]
	else args['κεθ'] = args['κεθ']
	end

	if args['κε'] == '0' then	-- ω ισχύ, ω ιχθύ
	args['κεΛ'] = args['κοινό1'] .. create_link((args['κεθ']), (stem_color(args['κεθ']))) .. args['κοινό'] .. args['κεΛκειμ']
	end
	
	if args['κε'] ~= '-'  and args['κε'] ~= '0' and args['κε'] ~= '' and args['κε'] ~= nil then
   	args['κεΛ'] = args['κοινό1'] .. create_link((args['κεθ'] .. args['κε']), (stem_color(args['κεθ']) .. ending_color(args['κε']))) .. args['κοινό'] .. args['κεΛκειμ']
   	elseif args['κε'] == '-' then
   		args['κεΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κεΛκειμ']
   	end
   	
   	if args['κε2'] ~= '-' and args['κε2'] ~= '' and args['κε2'] ~= nil then
	args['κε2Λ'] = '<br />& ' .. create_link((args['κε2θ'] .. args['κε2']), (stem_color(args['κε2θ']) .. ending_color(args['κε2']))) .. args['κε2Λκειμ']
   	elseif args['κε2'] == '-' then
   		args['κε2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κε2Λκειμ']
   	end

	if args['κε0'] ~= '' and args['κε0'] ~= nil then
	args['κεΛ'] = '(' .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε0']), (stem_color(args['κεθ']) .. ending_color(args['κε0']))) .. args['κοινό'] .. ')' .. args['κεΛκειμ']
	end
   
    args['κεΛ'] = args['κεΛ'] .. args['κε2Λ']  



-- ΟΝΟΜΑΣΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infix
	args['οπΛκειμ'] = args['οπΛκειμ'] or ''
	args['οπ2Λκειμ'] = args['οπ2Λκειμ'] or ''
	
	if args['οπθ'] == '' or args['οπθ'] == nil then
		args['οπθ'] = stem["θ"]
	else args['οπθ'] = args['οπθ']
	end

	if args['οπ'] ~= '-' and args['οπ'] ~= '' and args['οπ'] ~= nil then
   	args['οπΛ'] = args['κοινό1'] .. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ']))) .. args['κοινό'] .. args['οπΛκειμ']
   	elseif args['οπ'] == '-' then
   		args['οπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οπΛκειμ']
   	end
   	
   	if args['οπ2'] ~= '-' and args['οπ2'] ~= '' and args['οπ2'] ~= nil then
	args['οπ2Λ'] = '<br />& ' .. create_link((args['οπ2θ'] .. args['πρόσφ2'] .. args['οπ2']), (stem_color(args['οπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οπ2']))) .. args['οπ2Λκειμ']
   	elseif args['οπ2'] == '-' then
   		args['οπ2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οπ2Λκειμ']
   	end

	if args['οπ0'] ~= '' and args['οπ0'] ~= nil then
	args['οπΛ'] = '(' .. args['κοινό1'] .. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ0']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ0']))) .. args['κοινό'] .. ')' .. args['οπΛκειμ']
	end
   
    args['οπΛ'] = args['οπΛ'] .. args['οπ2Λ']   


-- ΓΕΝΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infix  Check [[κανάγιας]]
	args['γπΛκειμ'] = args['γπΛκειμ'] or ''
	args['γπ2Λκειμ'] = args['γπ2Λκειμ'] or ''
	
	if args['γπθ'] == '' or args['γπθ'] == nil then
		args['γπθ'] = stem["θ"]
	else args['γπθ'] = args['γπθ']
	end

	-- όπως [[κανάγιας]], των -  + check [[ναύλος]]
	if args['γπ'] ~= '-' and args['γπ'] ~= '' and args['γπ'] ~= nil then
   	args['γπΛ'] = args['κοινό1'] .. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ']))) .. args['κοινό'] .. args['γπΛκειμ']
   	elseif args['γπ'] == '-' then
   		args['γπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γπΛκειμ']
   	end
   	
   	if args['γπ2'] ~= '-' and args['γπ2'] ~= '' and args['γπ2'] ~= nil then
	args['γπ2Λ'] = '<br />& ' .. create_link((args['γπ2θ'] .. args['πρόσφ2'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γπ2']))) .. args['γπ2Λκειμ']
   	elseif args['γπ2'] == '-' then
   		args['γπ2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γπ2Λκειμ']
   	end

	if args['γπ0'] ~= '' and args['γπ0'] ~= nil then
	args['γπΛ'] = '(' .. args['κοινό1'] .. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ0']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ0']))) .. args['κοινό'] .. ')' .. args['γπΛκειμ']
	end

    args['γπΛ'] = args['γπΛ'] .. args['γπ2Λ']   


-- ΑΙΤΙΑΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infix
	args['απΛκειμ'] = args['απΛκειμ'] or ''
	args['απ2Λκειμ'] = args['απ2Λκειμ'] or ''
	
	if args['απθ'] == '' or args['απθ'] == nil then
		args['απθ'] = stem["θ"]
	else args['απθ'] = args['απθ']
	end

	if args['απ'] ~= '-' and args['απ'] ~= '' and args['απ'] ~= nil then
   	args['απΛ'] = args['κοινό1'] .. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ']))) .. args['κοινό'] .. args['απΛκειμ']
   	elseif args['απ'] == '-' then
   		args['απΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['απΛκειμ']
   	end
   	
   	if args['απ2'] ~= '-' and args['απ2'] ~= '' and args['απ2'] ~= nil then
	args['απ2Λ'] = '<br />& ' .. create_link((args['απ2θ'] .. args['πρόσφ2'] .. args['απ2']), (stem_color(args['απ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['απ2']))) .. args['απ2Λκειμ']
   	elseif args['απ2'] == '-' then
   		args['απ2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['απ2Λκειμ']
   	end

	if args['απ0'] ~= '' and args['απ0'] ~= nil then
	args['απΛ'] = '(' .. args['κοινό1'] .. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ0']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ0']))) .. args['κοινό'] .. ')' .. args['απΛκειμ']
	end
   
    args['απΛ'] = args['απΛ'] .. args['απ2Λ']   


-- ΚΛΗΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infix
	args['κπΛκειμ'] = args['κπΛκειμ'] or ''
	args['κπ2Λκειμ'] = args['κπ2Λκειμ'] or ''
	
	if args['κπθ'] == '' or args['κπθ'] == nil then
		args['κπθ'] = stem["θ"]
	else args['κπθ'] = args['κπθ']
	end

	if args['κπ'] ~= '-' and args['κπ'] ~= '' and args['κπ'] ~= nil then
   	args['κπΛ'] = args['κοινό1'] .. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ']))) .. args['κοινό'] .. args['κπΛκειμ']
   	elseif args['κπ'] == '-' then
   		args['κπΛ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κπΛκειμ']
   	end
   	
   	if args['κπ2'] ~= '-' and args['κπ2'] ~= '' and args['κπ2'] ~= nil then
	args['κπ2Λ'] = '<br />& ' .. create_link((args['κπ2θ'] .. args['πρόσφ2'] .. args['κπ2']), (stem_color(args['κπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['κπ2']))) .. args['κπ2Λκειμ']
   	elseif args['κπ2'] == '-' then
   		args['κπ2Λ'] = '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κπ2Λκειμ']
   	end

	if args['κπ0'] ~= '' and args['κπ0'] ~= nil then
	args['κπΛ'] = '(' .. args['κοινό1'] .. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ0']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ0']))) .. args['κοινό'] .. ')' .. args['κπΛκειμ']
	end
   
    args['κπΛ'] = args['κπΛ'] .. args['κπ2Λ']   


-- 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


--------------------------------------------------------------------------
--           SPECIFIC TEMPLAGES / ΕΠΙΜΕΡΟΥΣ ΠΡΟΤΥΠΑ                     --
--------------------------------------------------------------------------
-- =================== α...ω ======================= --

-- see [[Module:el-nouns-decl/functions]]

return export