Module:el-adj-decl : param : multi θέματα - mono σταθερός τόνος : τεκμηρίωση(documentation)
Κατηγορία:Πρότυπα κλίσης επιθέτων και μετοχών (νέα ελληνικά) - Κατηγορία:Έλεγχος κλίσης
Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά) - Κατηγορία:Επίθετα (νέα ελληνικά) - Κατηγορία:Μετοχές (νέα ελληνικά)
Module:tin (την/τη στην αιτιατική) - Module:grk-stems


-- νεοελληνικά ΕΠΙΘΕΤΑ και ΜΕΤΟΧΕΣ μονοτονικά - κλίση
-- modern greek adjectives & participles - declensions (script monotonic: one type of accent) 2021.06. Sarri.greek
--- for polytonic, see [[Module:grc-adj-decl]]
--[=[
STRUCTURE
	1) required modules, stem production/δημιουργία θεμάτων
	2) links & style
	3) the TABLE - ο ΠΙΝΑΚΑΣ
	4) categories - κατηγορίες
	5) decl links to /param page (basic function for declensions in the functionpages)
	6) free links to /param page (invoke from pages)
	Functions at subpages
]=]--
--[=[ EXPLANATIONS
See /param page with all declension parameters
Abbreviations
* cases: initial greek letters for case + number e.g. οε= nominative.singular. γε= gen.sg. γπ= gen.plural.
	and Λ = Λέξη (word) for whole words and the whole string e.g. οεΛ= word nom.sg.
	and θ = stem for this case, e.g. οεθ= stem for nom.sg.
	and Λκειμ = text after word
* genders: add suffix -αρσ (masculine) -θηλ (feminine) -ουδ (neuter)
E.g. οε-αρσ = ending of nominative singular masculine
Ε.γ. γπθ-ουδ = stem for genitive plural neuter
E.g. γπΛ-θηλ = the whole word, genitive plural feminine
	
* mod- Prefix for params defined IN the module at function pages
	mod-τίτλος (the eidtor may suppress, and write τίτλος=)
STEM formation: (default stem is lemma minus 2 letters from the end)
		as in [[Module:grc-stems]]
	stem['θ'] = stem as found in lemma 
	θ0 = remove accent
	θ1 = stem with accent okseia on its last syllble
	θ2 = stem with accent on its 2nd syllable from the end
]=]--



export = {} -- DO NOT write local export. It does not work.


--------------------------------------------------------------------------
-- 1. STEM PRODUCTION, REQUIRED MODULES / ΔΗΜΙΟΥΡΓΙΑ ΘΕΜΑΤΩΝ, MODULES   --
--------------------------------------------------------------------------

local languages = mw.loadData("Module:Languages") -- see LANGUAGES for Categories / only el used for lang_name = languages[lang_iso]['name']

local m_multi = require("Module:el-adj-decl/multi") -- all the specific declenion tables
	-- cannot call all subpages directly from here. Each one will call the next:
	-- m_multi requires  /mono -- default stems with no stress shift (monothematic)
		-- and so on

m_stems = require("Module:grk-stems") -- stem production: 
	--functions:
		--word-3 subtracts 3 letters from end, word-2, word-1 etc
		--word0 = no accent, word1 = accent on ultima,  word2 = accent on penultima
		--hasaccent = tells us if it has an accent

-- call the page /param (it has all parameters) at bottom of this page
	-- DO NOT use m_param = require.... 
	-- USE DIRECTLY at the place where it is need: require ('Module:el-adj-decl/param').param (args)

tinti = require("Module:tin") --tinti function:tin
	-- chooses the correct acc.singular feminine article την (tin) or τη (ti)

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

-- =========== standard colours for el (BLUE) and styles
-- borders
c_border = '#a1bdea' -- same as c_1 or, try lighter
c_bord = '#eaf0fa' -- or '#eeeeee' -- inner lighter borders
-- background colours
c_extra = '#d5e2f6' -- for extratitle e.g. [[πάναγνος]]
c_1 = '#a1bdea' -- 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
c_4 = '#eaf0fa' -- background for notes - also test: #f8f8ff
-- font colours
c_ending = '#EB0000'  -- is DeepPink
c_stem = '#002000'
c_black = '#000000'
c_cccccc = '#cccccc'
c_green = '#008000'

-- =============== styles
-- for table style, cf. the beginning of fulltable

-- styles
font_cell = ""			-- ?? find out what the default family is
fontsize_cell = ""		-- the default is ??

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

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

infix_color = function(infix) -- this is not exactly an inifix. It is extra letters of a 2nd stem.
    return '<span style="color:' .. c_stem ..'; font-weight:normal;">' .. infix .. '</span>'
end

-- for subtitles:
black_color = function(black_thing)
    return '<span style="color:' .. c_black ..'; font-weight:normal;">' .. black_thing .. '</span>'
end

-- ====================== Links for the words in the table
-- create_link = function(page, text) -- see at /param page

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

-- it controls stem, infixed letters and ending
linkcontrol3 = function(thema, infix, sufffix)
	thema = thema or '' -- PROBLEM at klisi2 for [[γυναικολόι]] with α=εν (sg only) AND γε=- (no gen.sg)
	suffix = sufffix or '' -- all these are needed for linkcontrols IN the functions
	inffix = infffix or ''
	return create_link(thema .. infix .. sufffix, stem_color(thema) ..  infix_color(infix) .. ending_color(sufffix))
end

-- =========== Errors -- use it with writing: if blahblah then return errorhere('xxxxxx') end
errorhere = function(errstring)
    return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης επιθέτων (νέα ελληνικά)]]'
end


--------------------------------------------------------------------------
--                        3. TABLE / ΠΙΝΑΚΑΣ                            --
--------------------------------------------------------------------------

fulltable = function(args)
-- table: -- note: in some browsers, border is not visible. Each columns also gets borders one by one (see columns)
float = args['float'] or ''
	if args['float'] == 'left' then
table_style1 = 'style="clear:left; float:left; position:relative; margin: 0px 1.5em 0.5em 0px; background:#ffffff; border:1px solid' .. c_border ..'; text-align:left;" rules="none" cellpadding="3" cellspacing="0"'
	elseif args['float'] == 'center' then
table_style1 = 'style="margin-left:auto; margin-right:auto; margin-bottom:0.5em; background:#ffffff; border:1px solid' .. c_border ..'; text-align:center;" rules="none" cellpadding="3" cellspacing="0"'	
	else
table_style1 = 'style="clear:right; float:right; margin-left:0.5em; margin-bottom:0.5em;background:#ffffff; border:1px solid' .. c_border ..'; text-align:right;" rules="none" cellpadding="3" cellspacing="0"'
	end

-- titles (title from module + extra title)
	extratitle_str = args['mod-τίτλος'] or '' 
	if args['lang_title'] ~= '' and args['lang_title'] ~=  nil then
		args['mod-τίτλος'] = args['lang_title'] .. '<br>' .. args['mod-τίτλος']
	end


-- =============== LANGUAGES for categories and notes 
-- see /param page

-- =============== OTHER PARAMs
	cat_pos = args['μέρος λόγου'] or 'Επίθετα' -- pos: Part of Speech
	
-- ===============  columns number
	local columns = args['cols'] or ''		-- number of columns: 1+2 if only one number, 1+4 if 2 numbers 1+6 if double plural or double singular, 1+8 double sing & double pl

-- ===============  typos, klisi
	-- Modern Greek, no 1-2-3 decl. Compare to [[Module:grc-adj-decl]]
	-- ?? ανώμαλα
	

-- ===============  gender
-- row for subtitles (dialects or gender of numbers if different) 
	local gender = '' -- this is not working properly ??
-- 1st  column subtitle	
	local gender_masc_str = ''
	if args['αθ'] == '1' then
		args['αρσενικό'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']] & [[θηλυκό|' .. black_color('θηλυκό') .. ']]'
		else
		args['αρσενικό'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' 
	end
	
	-- 2nd column subtitle
	local gender_fem_str = ''
	args['θηλυκό'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' 
	
	-- 3rd column subitlte
	local gender_neu_str = ''
	args['ουδέτερο'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' 

-- Σημείωση: οι παράμετροι .... = '' χρειάζονται αν ΔΕΝ υπάρχει το /param
-- =============== string parameters  All parameters are in the  /param page
	-- numbers
	local sg_title_str = '' -- singularis title string / ενικός
    local pl_title_str = '' -- pluralis  title string / πληθυντικός
    
    -- cases singularis
    local nom_sg_masc_str = '' -- nominativus singularis mascul. / ονομαστική ενικός αρσενικό
    local nom_sg_fem_str = '' -- of feminine
    local nom_sg_neu_str = '' -- of neuter
    local nom_sg_common_str = '' -- masc+fem same
    local gen_sg_masc_str = '' -- genitivus / γενική
    local gen_sg_fem_str = ''
    local gen_sg_neu_str = ''
    local acc_sg_masc_str = '' -- accusativus / αιτιατική
    local acc_sg_fem_str = ''
    local acc_sg_neu_str = ''
    local voc_sg_masc_str = '' -- vocativus / κλητική
    local voc_sg_fem_str = ''
    local voc_sg_neu_str = ''
    -- cases pluralis
    local nom_pl_masc_str = '' -- nominativus pluralis mascul. / ονομαστική πληθυντικός αρσενικό
    local nom_pl_fem_str = '' -- of feminine
    local nom_pl_neu_str = '' -- of neuter
    local nom_pl_common_str = '' -- masc+fem same
    local gen_pl_masc_str = '' -- genitivus / γενική
    local gen_pl_fem_str = ''
    local gen_pl_neu_str = ''
    local acc_pl_masc_str = '' -- accusativus / αιτιατική
    local acc_pl_fem_str = ''
    local acc_pl_neu_str = ''
    local voc_pl_masc_str = '' -- vocativus / κλητική
    local voc_pl_fem_str = ''
    local voc_pl_neu_str = ''
	-- articles are controled by args['αρσ'] = '1' for masc, [θηλ=1, αθ=1, ουδ=1 etc
    local a_nom_sg_str = ''
    local a_nom_pl_str = ''
    local a_gen_sg_str = ''
    local a_gen_sg_str = ''
    local a_acc_sg_str = ''
    local a_acc_pl_str = ''
    local a_voc_sg_str = ''
    local a_voc_pl_str = ''


-- ARTICLES ===========================================================
	-- vocatives are empty. (The ε! was placed outside, as it is not an article: withdrawn)
	if args['ακε'] ~= '' and args['ακε'] ~= nil then args['ακε'] = args['ακε'] else args['ακε'] = '' end
	if args['ακπ'] ~= '' and args['ακπ'] ~= nil then args['ακπ'] = args['ακε'] else args['ακπ'] = '' end
	args['ακε2'] = ''
	args['ακπ2'] = ''
-- OMIT ARTICLES (the nbsp for better spacing of the cells)
	if args['άρθρα'] == '-' then
		args['αοε'] = '&nbsp;&nbsp;&nbsp;&nbsp;'
		args['αγε'] = ''
		args['ααε'] = ''
		args['ακε'] = ''
		args['αοπ'] = '&nbsp;&nbsp;&nbsp;&nbsp;'
		args['αγπ'] = ''
		args['ααπ'] = ''
		args['ακπ'] = ''
	end
-- =============== singularia & pluralia (also for other Parts of speech)
-- for one number only (some Αριθμητικά pluralia like [[μύριοι]]) (difficult to have a special table)
	-- but easier solution: just empty cells (the module functions take care of the forms)
	-- see below, at CELLS by COLUMNS

-- ======================= genders: default masculine, feminine and neuter columns
    local has_fem = true		--(args['θηλ'] ~= nil) It HAS a separate column for feminines
    if args['θηλ'] == "-" then has_fem = false else args['θηλ'] = '1' end	 -- masc+fem share the same column
		-- probably possible to have 1st col: αθ, 2nc: Θηλ, 3rd ουδ ([[ζημιογόνος]])
		-- now designed as: 1st col. masc, 2nd col: both feminine forms, 3rd col neu.
    local has_masc = true
    local has_neu = true
-- NUMBERS ================================================================
-- number of columns for full rows ?????? may write e.g. columns = '10' and it is ok
	-- for CASES  masc fem neu
	if args['θηλ'] ~= '-'
		then columns = '7'
	-- for CASES masc+fem neu
	else columns = '5'
	end
    
-- ======================= notes
    local paratirisi = ''			-- notes by editor
    local note = args['mod-σημ'] or  ''	-- standard notes by Template
    local appendix = ''				-- standard link to the Appendix [[Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά)]]
    local append = ''			-- link to Appendix at specific paradigm
    local as_in = args['όπως']	or ''    	-- editor must add at function: e.g. όπως = 'όμορφος.
 -- group is a super-umbrella category if needed for similar declensions   
	local group = args['ομάδα']	or ''    	-- at functions
    	if group ~= '' and group ~= nil then
    		group = " [[:Κατηγορία:" .. cat_pos .. " που κλίνονται όπως η ομάδα '" .. group .. "' (" .. lang_name .. ")|ομάδα '" .. group .. "']], " 
    		--  if MAINSPACE see ομάδα added at ΚΑΤΗΓΟΡΙΕΣ
    	end
-- όπως = a link to Appendix's clitic paradigm
    local as_in = args['όπως']	or ''    	-- editor must add: e.g. καλός	
--# Here, unlike [[Module:grc-decl-nouns]] we have only που κλίνονται όπως... plus που κλίνονται όπως 'χχχ' εξαιρέσεις
    local cat_pos = args['μέρος λόγου'] or 'Επίθετα'

    	if as_in == '' or as_in == nil then append = '' else
    			cat_pos = args['μέρος λόγου'] or 'Επίθετα'
    			typos = args['τύπος'] or args['κατ'] or ''
    		if typos == '-' or typos == '' or typos == nil then
    		append =  group .. " όπως «[[Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά)#" .. as_in .. "|" .. as_in .. ']]» - '
    		else
    		append = group .. '[[:Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")|Κατηγορία]] όπως «[[Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά)#" .. as_in .. "|" .. as_in .. ']]» - '
    		end
    	end

-- notelines

-- get 5 columns  (1+4) if masc+fem share one column
if args['θηλ'] == "-" or args['αθ'] == "1" then
	if args['σημ'] ~= '' or args['σημ'] ~= nil then					-- pre-edited notes
    	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['mod-σημ'] == '' or args['mod-σημ'] == nil then					-- pre-edited notes
    	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 = ''
		cat_decl = args['κατηγορία κλίσης'] or 'Επίθετα'
	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 .. append .. args['παράρτημα'] .. "\n"
	else
        appendix = '|-' .. "\n" .. [=[| colspan="5" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. append .. '[[Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά)|<span title="Παράρτημα:Επίθετα & Μετοχές">Παράρτημα:Επίθετα & Μετοχές</span>]]' .. "\n"
    end
else -- get full 7 columns for 1+all genders  
	if args['mod-σημ'] ~= '' or args['mod-σημ'] ~= 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 .. 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['mod-σημ'] == '' or args['mod-σημ'] == 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 = ''
		cat_decl = args['κατηγορία κλίσης'] or 'Επίθετα'
	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 .. append .. args['παράρτημα'] .. "\n"
	else
        appendix = '|-' .. "\n" .. [=[| colspan="7" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. append .. '[[Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά)|<span title="Παράρτημα:Επίθετα & Μετοχές">Παράρτημα:Επίθετα & Μετοχές</span>]]' .. "\n"
    end
end -- close notesrows

-- ========== CELLS  ===============================================    
-- extra title string
   	if args['mod-τίτλος'] ~= '' and args['mod-τίτλος'] ~= nil then
   		extratitle_str =  args['mod-τίτλος'] .. "\n"
    end

-- cells by column
    if has_fem and has_masc then -- it always has masc
    	c_bordR = c_border
    	if args['άρθρα'] ~= '-' then
    		if args['αθ'] ~= '1' then
    -- [[μύριοι]]
    			if args['α'] == 'πλ' or args['α2'] == 'πλ' then 
    				args['αοε'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγε'] = '' args['ααε'] = ''
    			else
			args['αοε'] = create_link('ο', stem_color('ο'))
			args['αγε'] = create_link('του', stem_color('του'))
			args['ααε'] = create_link('τον', stem_color('τον'))
    			end
    			if args['α'] == 'εν' or args['α2'] == 'εν' then 
    				args['αοπ'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγπ'] = '' args['ααπ'] = ''
    			else
			args['αοπ'] = create_link('οι', stem_color('οι'))
			args['αγπ'] = create_link('των', stem_color('των'))
			args['ααπ'] = create_link('τους', stem_color('τους'))
				end
--$+$--
    		elseif args['αθ'] == '1' then
    			if args['α'] == 'πλ' or args['α2'] == 'πλ' then 
    				args['αοε'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγε'] = '' args['ααε'] = ''
    			else
			args['αοε'] = create_link('ο', stem_color('ο')) .. '/' .. create_link('η', stem_color('η'))
			args['αγε'] = create_link('του', stem_color('του')) .. '/' .. create_link('της', stem_color('της'))
			args['ααε'] = create_link('τον', stem_color('τον')) .. '/' .. create_link('την', stem_color(tinti.tin(args['λήμμα'])))		 -- REQUIRE [[Module:tin]]
    			end
    			if args['α'] == 'εν' or args['α2'] == 'εν' then 
    				args['αοπ'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγπ'] = '' args['ααπ'] = ''
    			else
			args['αοπ'] = create_link('οι', stem_color('οι'))
			args['αγπ'] = create_link('των', stem_color('των'))
			args['ααπ'] = create_link('τους', stem_color('τους')) .. '/' .. create_link('τις', stem_color('τις'))
				end
		end
	end
        gender_masc_str = [=[| 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_nom_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοε'] ..  "\n"
        nom_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οεΛ-αρσ'] ..  "\n"
        a_gen_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγε'] ..  "\n"
        gen_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γεΛ-αρσ'] ..  "\n"
        a_acc_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααε'] ..  "\n"
        acc_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['αεΛ-αρσ'] ..  "\n"
        a_voc_sg_masc_str =  [=[| align="center" | ]=] .. args['ακε'] ..  "\n"
        voc_sg_masc_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κεΛ-αρσ'] ..  "\n"
        
        a_nom_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοπ'] ..  "\n"
        nom_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οπΛ-αρσ'] ..  "\n"
        a_gen_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγπ'] ..  "\n"
        gen_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γπΛ-αρσ'] ..  "\n"
        a_acc_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααπ'] ..  "\n"
        acc_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['απΛ-αρσ'] ..  "\n"
        a_voc_pl_masc_str =  [=[| align="center" | ]=] .. args['ακπ'] ..  "\n"
        voc_pl_masc_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κπΛ-αρσ'] ..  "\n"
    elseif has_fem == false and has_masc == true then
    	c_bordR = c_border
--    	args['αθ'] = '1'
    	if args['άρθρα'] ~= '-' then
    		if args['αθ'] == '1' then
    			if args['α'] == 'πλ' or args['α2'] == 'πλ' then 
    				args['αοε'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγε'] = '' args['ααε'] = ''
    			else
		args['αοε'] = create_link('ο', stem_color('ο')) .. '/' .. create_link('η', stem_color('η'))
		args['αγε'] = create_link('του', stem_color('του')) .. '/' .. create_link('της', stem_color('της'))
		args['ααε'] = create_link('τον', stem_color('τον')) .. '/' .. create_link('την', stem_color(tinti.tin(args['λήμμα'])))		 -- REQUIRE [[Module:tin]]
    			end
    			if args['α'] == 'εν' or args['α2'] == 'εν' then 
    				args['αοπ'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγπ'] = '' args['ααπ'] = ''
    			else
		args['αοπ'] = create_link('οι', stem_color('οι'))
		args['αγπ'] = create_link('των', stem_color('των'))
		args['ααπ'] = create_link('τους', stem_color('τους')) .. '/' .. create_link('τις', stem_color('τις'))
				end
			end
		end
        gender_masc_str = [=[| 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_nom_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοε'] ..  "\n"
        nom_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οεΛ-αρσ'] ..  "\n"
        a_gen_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγε'] ..  "\n"
        gen_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γεΛ-αρσ'] ..  "\n"
        a_acc_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααε'] ..  "\n"
        acc_sg_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['αεΛ-αρσ'] ..  "\n"
        a_voc_sg_masc_str =  [=[| align="center" | ]=] .. args['ακε'] ..  "\n"
        voc_sg_masc_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κεΛ-αρσ'] ..  "\n"
        
        a_nom_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοπ'] ..  "\n"
        nom_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οπΛ-αρσ'] ..  "\n"
        a_gen_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγπ'] ..  "\n"
        gen_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γπΛ-αρσ'] ..  "\n"
        a_acc_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααπ'] ..  "\n"
        acc_pl_masc_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['απΛ-αρσ'] ..  "\n"
        a_voc_pl_masc_str =  [=[| align="center" | ]=] .. args['ακπ'] ..  "\n"
        voc_pl_masc_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κπΛ-αρσ'] ..  "\n"    	
    end

    if has_fem then
    	c_bordR = c_border
    	args['θηλ'] = '1'
    	if args['άρθρα'] ~= '-' then
    			if args['α'] == 'πλ' or args['α2'] == 'πλ' then 
    				args['αοε'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγε'] = '' args['ααε'] = ''
    			else
 		args['αοε'] = create_link('η', stem_color('η'))
		args['αγε'] = create_link('της', stem_color('της'))
		args['ααε'] = create_link('την', stem_color(tinti.tin(args['λήμμα'])))				 -- REQUIRE [[Module:tin]]
    			end
    			if args['α'] == 'εν' or args['α2'] == 'εν' then 
    				args['αοπ'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγπ'] = '' args['ααπ'] = ''
    			else
		args['αοπ'] = create_link('οι', stem_color('οι'))
	-- erase article at [[ζηλιάρης]]
		if args['αγπ-θηλ'] == '-' then args['αγπ'] = '' else args['αγπ'] = create_link('των', stem_color('των')) end
		args['ααπ'] = create_link('τις', stem_color('τις'))
				end
    	end
		
        gender_fem_str = [=[| 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_nom_sg_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοε'] ..  "\n"
        nom_sg_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οεΛ-θηλ'] ..  "\n"
        a_gen_sg_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγε'] ..  "\n"
        gen_sg_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γεΛ-θηλ'] ..  "\n"
        a_acc_sg_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααε'] ..  "\n"
        acc_sg_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['αεΛ-θηλ'] ..  "\n"
        a_voc_sg_fem_str =  [=[| align="center" | ]=] .. args['ακε'] ..  "\n"
        voc_sg_fem_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κεΛ-θηλ'] ..  "\n"
        
        a_nom_pl_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοπ'] ..  "\n"
        nom_pl_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οπΛ-θηλ'] ..  "\n"
        a_gen_pl_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγπ'] ..  "\n"
        gen_pl_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γπΛ-θηλ'] ..  "\n"
        a_acc_pl_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααπ'] ..  "\n"
        acc_pl_fem_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['απΛ-θηλ'] ..  "\n"
        a_voc_pl_fem_str =  [=[| align="center" | ]=] .. args['ακπ'] ..  "\n"
        voc_pl_fem_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κπΛ-θηλ'] ..  "\n"
    else
    		-- do nothing
    end

    if has_neu then -- If not, cells must be seen empty
    	c_bordR = c_border
    	args['ουδ'] = '1'
    	if args['άρθρα'] ~= '-' then
    			if args['α'] == 'πλ' or args['α2'] == 'πλ' then 
    				args['αοε'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγε'] = '' args['ααε'] = ''
    			else
		args['αοε'] = create_link('το', stem_color('το'))
		args['αγε'] = create_link('του', stem_color('του'))
		args['ααε'] = create_link('το', stem_color('το'))
    			end
    			if args['α'] == 'εν' or args['α2'] == 'εν' then 
    				args['αοπ'] = '&nbsp;&nbsp;&nbsp;&nbsp;' args['αγπ'] = '' args['ααπ'] = ''
    			else
		args['αοπ'] = create_link('τα', stem_color('τα'))
		args['αγπ'] = create_link('των', stem_color('των'))
		args['ααπ'] = create_link('τα', stem_color('τα'))
				end
		end
        gender_neu_str = [=[| 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_nom_sg_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοε'] ..  "\n"
        nom_sg_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οεΛ-ουδ'] ..  "\n"
        a_gen_sg_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγε'] ..  "\n"
        gen_sg_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γεΛ-ουδ'] ..  "\n"
        a_acc_sg_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααε'] ..  "\n"
        acc_sg_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['αεΛ-ουδ'] ..  "\n"
        a_voc_sg_neu_str =  [=[| align="center" | ]=] .. args['ακε'] ..  "\n"
        voc_sg_neu_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κεΛ-ουδ'] ..  "\n"
        
        a_nom_pl_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αοπ'] ..  "\n"
        nom_pl_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['οπΛ-ουδ'] ..  "\n"
        a_gen_pl_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['αγπ'] ..  "\n"
        gen_pl_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['γπΛ-ουδ'] ..  "\n"
        a_acc_pl_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[;" align="center" | ]=] .. args['ααπ'] ..  "\n"
        acc_pl_neu_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['απΛ-ουδ'] ..  "\n"
        a_voc_pl_neu_str =  [=[| align="center" | ]=] .. args['ακπ'] ..  "\n"
        voc_pl_neu_str =  [=[| style="border-right:1px solid ]=] .. c_border .. [=[;" align="left" | ]=] .. args['κπΛ-ουδ'] ..  "\n"
    end



-- ============================= ROWS
-- extra title
	if args['mod-τίτλος'] ~= '' and args['mod-τίτλος'] ~= nil then extratitle =
'|-' ..  extratitle_str .. "\n" ..   [=[|-]=]
	end

-- NO EXTRA LINE for stems and prosodies as in Ancient Greek
	
-- 2nd column for genders if masc+fem+neu
	if args['θηλ'] ~= '-' 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_masc_str .. gender_fem_str .. gender_neu_str .. [=[|-]=]
end
	-- if masc+fem have one column:
		if args['θηλ'] == '-' 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_masc_str .. gender_neu_str .. [=[|-]=]
	end

-- 2nd column for numbers	--@ check columns-1 =  font-size:90%;" align="center" colspan="6" 
        sg_title_str =  [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
--@--        [=[;" colspan="]=] .. columns-1 .. 
        [=[; font-size:90%;" align="center" colspan="6" | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[ενικός|<span title="ενικός αριθμός" style="color:black;">'''''ενικός'''''</span>]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]=] .. "\n"

        pl_title_str =   [=[! style="background:]=] .. c_1 ..
        [=[; font-size:90%;" align="center" colspan="6"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός αριθμός" style="color:black;">'''''πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"


-- 1) WITH TITLE (a language title args['lang_title' at param page,  or the args['mod-τίτλος'] at functions or editor's args['τίτλος'])
if args['mod-τίτλος'] ~= '' and args['mod-τίτλος'] ~= nil then

if args['θηλ'] ~= "-"  then  -- ############### CHECK IF BUG at last line
	
    output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_extra .. [=[; border-right:1px solid ]=] .. c_extra ..
	[=[; text-align:center; line-height:100%;" align="center" colspan="7" |  ]=] .. extratitle_str ..
	   [=[|-
|-
! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ''γένη''&nbsp;&rarr; ]=] ..
	"\n" .. gender_masc_str .. gender_fem_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_masc_str .. nom_sg_masc_str .. a_nom_sg_fem_str .. nom_sg_fem_str .. a_nom_sg_neu_str .. nom_sg_neu_str .. [=[|-
| 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_gen_sg_masc_str .. gen_sg_masc_str .. a_gen_sg_fem_str .. gen_sg_fem_str .. a_gen_sg_neu_str .. gen_sg_neu_str .. [=[|-
| 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_acc_sg_masc_str .. acc_sg_masc_str .. a_acc_sg_fem_str .. acc_sg_fem_str .. a_acc_sg_neu_str .. acc_sg_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_sg_masc_str .. voc_sg_masc_str .. a_voc_sg_fem_str .. voc_sg_fem_str .. a_voc_sg_neu_str .. voc_sg_neu_str .. [=[|-



! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. pl_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ''γένη''&nbsp;&rarr; ]=] ..
	"\n" .. gender_masc_str .. gender_fem_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_pl_masc_str .. nom_pl_masc_str .. a_nom_pl_fem_str .. nom_pl_fem_str .. a_nom_pl_neu_str .. nom_pl_neu_str .. [=[|-
| 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_gen_pl_masc_str .. gen_pl_masc_str .. a_gen_pl_fem_str .. gen_pl_fem_str .. a_gen_pl_neu_str .. gen_pl_neu_str .. [=[|-
| 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_acc_pl_masc_str .. acc_pl_masc_str .. a_acc_pl_fem_str .. acc_pl_fem_str .. a_acc_pl_neu_str .. acc_pl_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_pl_masc_str .. voc_pl_masc_str .. a_voc_pl_fem_str .. voc_pl_fem_str .. a_voc_pl_neu_str .. voc_pl_neu_str .. paratirisi .. appendix .. [=[|}]=]
	--αφαιρείται, δίπλα από τη λέξη κλητική το: ([[ε|<span title="κλητικό επιφώνημα">ε</span>]]!)

elseif args['θηλ'] == "-"  then
	
    output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_extra .. [=[; border-right:1px solid ]=] .. c_extra ..
	[=[; text-align:center; line-height:100%;" align="center" colspan="7" |  ]=] .. extratitle_str ..
	   [=[|-
! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| &rarr;&nbsp;''γένη'' ]=] ..
	"\n" .. gender_masc_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_masc_str .. nom_sg_masc_str .. a_nom_sg_neu_str .. nom_sg_neu_str .. [=[|-
| 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_gen_sg_masc_str .. gen_sg_masc_str .. a_gen_sg_neu_str .. gen_sg_neu_str .. [=[|-
| 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_acc_sg_masc_str .. acc_sg_masc_str .. a_acc_sg_neu_str .. acc_sg_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_sg_masc_str .. voc_sg_masc_str .. a_voc_sg_neu_str .. voc_sg_neu_str .. [=[|-



! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. pl_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| &rarr;&nbsp;''γένη'' ]=] ..
	"\n" .. gender_masc_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_pl_masc_str .. nom_pl_masc_str .. a_nom_pl_neu_str .. nom_pl_neu_str .. [=[|-
| 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_gen_pl_masc_str .. gen_pl_masc_str .. a_gen_pl_neu_str .. gen_pl_neu_str .. [=[|-
| 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_acc_pl_masc_str .. acc_pl_masc_str .. a_acc_pl_neu_str .. acc_pl_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_pl_masc_str .. voc_pl_masc_str .. a_voc_pl_neu_str .. voc_pl_neu_str .. paratirisi .. appendix .. [=[|}]=]
	--αφαιρείται, δίπλα από τη λέξη κλητική το: ([[ε|<span title="κλητικό επιφώνημα">ε</span>]]!)

end -- close if θηλ=-


else --##################### NO extra title

if args['θηλ'] ~= "-"  then  -- ############### CHECK IF BUG
	
    output = [=[{| ]=] .. table_style1 .. [=[
|-
! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ''γένη''&nbsp;&rarr; ]=] ..
	"\n" .. gender_masc_str .. gender_fem_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_masc_str .. nom_sg_masc_str .. a_nom_sg_fem_str .. nom_sg_fem_str .. a_nom_sg_neu_str .. nom_sg_neu_str .. [=[|-
| 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_gen_sg_masc_str .. gen_sg_masc_str .. a_gen_sg_fem_str .. gen_sg_fem_str .. a_gen_sg_neu_str .. gen_sg_neu_str .. [=[|-
| 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_acc_sg_masc_str .. acc_sg_masc_str .. a_acc_sg_fem_str .. acc_sg_fem_str .. a_acc_sg_neu_str .. acc_sg_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_sg_masc_str .. voc_sg_masc_str .. a_voc_sg_fem_str .. voc_sg_fem_str .. a_voc_sg_neu_str .. voc_sg_neu_str .. [=[|-



! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. pl_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ''γένη''&nbsp;&rarr; ]=] ..
	"\n" .. gender_masc_str .. gender_fem_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_pl_masc_str .. nom_pl_masc_str .. a_nom_pl_fem_str .. nom_pl_fem_str .. a_nom_pl_neu_str .. nom_pl_neu_str .. [=[|-
| 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_gen_pl_masc_str .. gen_pl_masc_str .. a_gen_pl_fem_str .. gen_pl_fem_str .. a_gen_pl_neu_str .. gen_pl_neu_str .. [=[|-
| 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_acc_pl_masc_str .. acc_pl_masc_str .. a_acc_pl_fem_str .. acc_pl_fem_str .. a_acc_pl_neu_str .. acc_pl_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_pl_masc_str .. voc_pl_masc_str .. a_voc_pl_fem_str .. voc_pl_fem_str .. a_voc_pl_neu_str .. voc_pl_neu_str .. paratirisi .. appendix .. [=[|}]=]
	--αφαιρείται, δίπλα από τη λέξη κλητική το: ([[ε|<span title="κλητικό επιφώνημα">ε</span>]]!)


elseif args['θηλ'] == "-"  then
	
    output = [=[{| ]=] .. table_style1 .. [=[
|-
! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| &rarr;&nbsp;''γένη'' ]=] ..
	"\n" .. gender_masc_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_masc_str .. nom_sg_masc_str .. a_nom_sg_neu_str .. nom_sg_neu_str .. [=[|-
| 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_gen_sg_masc_str .. gen_sg_masc_str .. a_gen_sg_neu_str .. gen_sg_neu_str .. [=[|-
| 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_acc_sg_masc_str .. acc_sg_masc_str .. a_acc_sg_neu_str .. acc_sg_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_sg_masc_str .. voc_sg_masc_str .. a_voc_sg_neu_str .. voc_sg_neu_str .. [=[|-



! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. pl_title_str .. [=[|-
| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
	[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| &rarr;&nbsp;''γένη'' ]=] ..
	"\n" .. gender_masc_str .. gender_neu_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="ονομαστική πτώση" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_pl_masc_str .. nom_pl_masc_str .. a_nom_pl_neu_str .. nom_pl_neu_str .. [=[|-
| 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_gen_pl_masc_str .. gen_pl_masc_str .. a_gen_pl_neu_str .. gen_pl_neu_str .. [=[|-
| 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_acc_pl_masc_str .. acc_pl_masc_str .. a_acc_pl_neu_str .. acc_pl_neu_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="κλητική πτώση" style="color:black; font-size:90%;">'''''κλητική'''''</span>]]]=] ..
	"\n" .. a_voc_pl_masc_str .. voc_pl_masc_str .. a_voc_pl_neu_str .. voc_pl_neu_str .. paratirisi .. appendix .. [=[|}]=]
	--αφαιρείται, δίπλα από τη λέξη κλητική το: ([[ε|<span title="κλητικό επιφώνημα">ε</span>]]!)
	
end -- close if θηλ=-

end -- CLOSE extra title	

--------------------------------------------------------------------------
--                   4. Categories / Κατηγορίες                         --
-- cf /param for LANGUAGES for CATEGORIES
-- μέρος λόγου = the PartOfSpeech (plus as participles etc)
-- τύπος = the catchword of the category in quotation marks
	-- may be τύπος=-
-- κατ = overrides τύπος
-- and free categories
--------------------------------------------------------------------------
-- κατηγορία κλίσης = the PartOfSpeech (plus as participles etc)

	local page = mw.title.getCurrentTitle()
    page.name = page.text:match( "^%s*(.-)%s*$" )
    if page.namespace == 0 then
-- nocat=1
if (args['nocat'] ~= '' and args['nocat'] ~= nil) or (args['00'] ~= '' and args['00'] ~= nil) then
	output = output
else
		-- κατηγορία= overrides everything	
    	if args['κατηγορία'] ~= '' and args['κατηγορία'] ~= nil then -- free text for Category
    		output = output .. '[[Κατηγορία:' .. args['κατηγορία'] .. ']]'
    	else
    		
    	-- no groups, no irregulars or comments for special categories yet as in Nouns

		-- param κατ= για δημιουργία κατηγοριών που συμπληρώνει ο συντάκτης - editor creates Categories ad libitum
		-- Υπερισχύει του 'τύπος' - It overrides 'τύπος'
		typos = args['τύπος'] or args['κατ'] or ''
		-- CONTROL category
			if args['τύπος'] == '-' or args['κατ'] == '-'
			then output = output		-- control category:  [[:Κατηγορία:Επίθετα που κλίνονται όπως το '' (' .. lang_name ..')]]'
			else -- when τύπος is NOT '-'
				-- κατ=
				if args['κατ'] ~= '' and args ['κατ'] ~= nil and args ['κατ'] ~= '-' then
				typos = args['κατ']		-- check [[ἀντίκοιλον]]
				output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"

				else -- NOT κατ=
				typos = args['τύπος']
	
				-- NO special ifs here for special categories
				end -- close κατ=

			end -- close if = '-''
    		
    	end -- close  κατηγορία		
--[=[@OLD
			if args['κατ'] ~= '' and args ['κατ'] ~= nil then
    			typos = args['κατ']
				output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ')]]'
			else
   				typos = args['τύπος'] or ''
   				cat_decl = args['κατηγορία κλίσης'] or 'Επίθετα'
   				if args['τύπος'] == '-' then 
   					output = output
   				elseif args['εξ'] == '1' or args['εξαίρεση'] == '1' then
   					output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ')]]'
   				else
        			output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ')]]'
        		end
            end -- close 'κατ'
    		
    	end -- close free text κατηγορία
]=]--
       
-- ΑΛΛΕΣ ΚΑΤΗΓΟΡΙΕΣ
	-- ανώμαλα (irregulars) μη δεσμευτική, προστίθεται στις προηγούμενες
	if args['ανώμ'] == '1' then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ανώμαλα (' .. lang_name .. ')]]'
	end
	
-- see param group Section:NOTES, args['ομάδα'] Adding here, its Category
	local group = args['ομάδα']	or ''	-- need to write it AGAIN HERE
	if group ~= '' and group ~= nil then
		output = output .. "[[Κατηγορία:" .. cat_pos .. " που κλίνονται όπως η ομάδα '" .. group .. "' (" .. lang_name .. ')]]'
	end
	
-- plus, see above,  args['εξ'] == '1' creates Κατηγορία:..... εξαιρέσεις
		-- IF exception, then 
		if args['εξ'] == '1' or args['εξαίρεση'] == '1' then
		output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ")]]"
		else
		output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
		end	
		
-- ======= EXTRA CATEGORIES: zero is reserved for the module ONLY, not for edito
		
-- ======= EXTRA CATEGORIES: zero is reserved for the module ONLY, not for editors
-- free category, ελεύθερη κατηγορία +part of speech + language
	if args['υποκατ'] ~= '' and args ['υποκατ'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ'] .. ' (' .. lang_name .. ')]]'
	end
	if args['υποκατ1'] ~= '' and args ['υποκατ1'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ1'] .. ' (' .. lang_name .. ')]]'
	end
	if args['υποκατ2'] ~= '' and args ['υποκατ2'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ2'] .. ' (' .. lang_name .. ')]]'
	end
	if args['υποκατ3'] ~= '' and args ['υποκατ3'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ3'] .. ' (' .. lang_name .. ')]]'
	end
	-- for Module use ONLY 
	if args['υποκατ0'] ~= '' and args ['υποκατ0'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ0'] .. ' (' .. lang_name .. ')]]'
	end
	if args['υποκατ01'] ~= '' and args ['υποκατ01'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ01'] .. ' (' .. lang_name .. ')]]'
	end
	if args['υποκατ02'] ~= '' and args ['υποκατ02'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ02'] .. ' (' .. lang_name .. ')]]'
	end
	if args['υποκατ03'] ~= '' and args ['υποκατ03'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ03'] .. ' (' .. lang_name .. ')]]'
	end
	if args['υποκατ04'] ~= '' and args ['υποκατ04'] ~= nil then
		output = output .. '[[Κατηγορία:' .. cat_pos .. ' ' .. args['υποκατ04'] .. ' (' .. lang_name .. ')]]'
	end
-- free category, ελεύθερη κατηγορία + language
	if args['κατηγ'] ~= '' and args['κατηγ'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ'] .. ' (' .. lang_name .. ')]]'
	end
	if args['κατηγ1'] ~= '' and args['κατηγ1'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ1'] .. ' (' .. lang_name .. ')]]'
	end
	if args['κατηγ2'] ~= '' and args['κατηγ2'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ2'] .. ' (' .. lang_name .. ')]]'
	end
	if args['κατηγ3'] ~= '' and args['κατηγ3'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ3'] .. ' (' .. lang_name .. ')]]'
	end
	-- for Module use ONLY 
	if args['κατηγ0'] ~= '' and args['κατηγ0'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ0'] .. ' (' .. lang_name .. ')]]'
	end
	if args['κατηγ01'] ~= '' and args['κατηγ01'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ01'] .. ' (' .. lang_name .. ')]]'
	end
	if args['κατηγ02'] ~= '' and args['κατηγ02'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ02'] .. ' (' .. lang_name .. ')]]'
	end
	if args['κατηγ03'] ~= '' and args['κατηγ03'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ03'] .. ' (' .. lang_name .. ')]]'
	end
	if args['κατηγ04'] ~= '' and args['κατηγ04'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ04'] .. ' (' .. lang_name .. ')]]'
	end
	
-- free category, ελεύθερη κατηγορία NO LANGUAGE no restrictions, write free text
	if args['cat-extra'] ~= '' and args['cat-extra'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra'] .. ']]'
	end
	if args['cat-extra1'] ~= '' and args['cat-extra1'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra1'] .. ']]'
	end
	if args['cat-extra2'] ~= '' and args['cat-extra2'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra2'] .. ']]'
	end
	if args['cat-extra3'] ~= '' and args['cat-extra3'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra3'] .. ']]'
	end
	-- for Module use ONLY 
	if args['cat-extra0'] ~= '' and args['cat-extra0'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra0'] .. ']]'
	end
	if args['cat-extra01'] ~= '' and args['cat-extra01'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra01'] .. ']]'
	end
	if args['cat-extra02'] ~= '' and args['cat-extra02'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra02'] .. ']]'
	end
	if args['cat-extra03'] ~= '' and args['cat-extra03'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra03'] .. ']]'
	end
	if args['cat-extra04'] ~= '' and args['cat-extra04'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['cat-extra04'] .. ']]'
	end
	
end -- close nocat	
end -- close 'if namespace'


return output -- close fulltable

end


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

--------------------------------------------------------------------------
--              MAIN FUNCTION  / ΜΗΤΡΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
--------------------------------------------------------------------------

decl = function(args)	-- creates functions at the /multi and /mono pages

-- all the declension parameters & functions: ======================
require ('Module:el-adj-decl/param').param (args)

return fulltable(args)
end



--------------------------------------------------------------------------
--       FREE TABLE to invoke directly from pages (for irregulars)      --
--------------------------------------------------------------------------

export.free = function(frame)
--local args = frame:getParent().args	-- for Templates
local args = frame.args		-- invoke

-- all the declension parameters & functions: ======================
require ('Module:el-adj-decl/param').param (args)

return fulltable(args)
end



--------------------------------------------------------------------------
--          6.  SPECIFIC DECLENSIONS / ΕΠΙΜΕΡΟΥΣ ΚΛΙΣΕΙΣ                --
--------------------------------------------------------------------------

-- see page /multi  & μονοθεματικές at page /mono]

return export