Module:vv

Από Βικιλεξικό
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση
-- νεοελληνικά ΕΠΙΘΕΤΑ και ΜΕΤΟΧΕΣ - κλίση
-- modern greek adjectives & participles - declensions 2021.06. Sarri.greek
-- problems marked with ??
--[=[
ΔΟΜΗ
	1) προαπαιτούμενα required, δημιουργία θεμάτων
	2) links & styles
	3) ο ΠΙΝΑΚΑΣ
	4) κατηγορίες
	5) γενικές κλίσεις decl, free Σύνδεση προς το /param με όλες τις παραμέτρους
		-- δημιουργεί και το [[Πρότυπο:el-adj-decl]]
	6) συγκεκριμένες κλίσεις, στα υποσέλιδα
ΣΗΜΕΙΩΣΕΙΣ
	ΣΤΗΛΕΣ: γένη: αρσενικό, θηλυκό, ουδέτερο. Κάθε πτώση έχει 2 κελλιά: άρθρο+λέξη.
		Τα άρθρα μπορούν να παραλείπονται με |άρθρα=-
		Και πίνακας με 2 στήλες: αρσενικό+θηλυκό, ουδέτερο
	ΛΕΞΗ: = θέμα + κατάληξη με σύνδεσμο
	Default θέμα, το λήμμα μείον 2 γράμματα από το τέλος ή όπως ζητήσει ο συντάκτης με |μείον=
		Το θέμα με μετακίνηση τόνου δημιουργείται από το [[Module:grk-stems]]
	/param σελίδα με όλες τις παραμέτρους
-- in English ---------
STRUCTURE
	1) required, stems
	2) links & style
	3) the TABLE
	4) categories
	5) general functions decl, free linking to /param with all parameters
		-- also creates [[Template:el-adj-decl]]
	6) specific declensions, at subpages
NOTES
	COLUMNS: genders: masculine, feminine, neuter. Every case has 2 cells: article+the adjective.
		If not desired, articles may by omitted with  |άρθρα=-
		Also a table with 2 columns: masculine+feminin, neuter
	Word (Λ λέξη) = stem + ending with link.
	Default stem, the lemma word minus 2 letters from the end or as defined by the editor with |μείον=
		For stems with stress shifts,  [[Module:grk-stems]] is used.
	/param page with all declension parameters
]=]--

export = {}

local m_functions = require("Module:vv/functions") -- all the specific declenion tables
	-- which also requires [[Module:vv/mono]] -- μονοθεματικές κλίσης με σταθερό τόνο

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

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

-- how to use [[Module:vv/param]]		
	-- DO NOT use m_param = require.... 
	-- USE DIRECTLY at the place where it is need

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

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

-- =========== standard colours (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_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
font_cell = "" -- ?? find out what the default family is
fontsize_cell = "" -- the default is ??

--  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) -- this is not an inifix. It is part of 2nd stem.
    return '<span style="color:' .. c_stem ..'; font-weight:normal;">' .. infix .. '</span>'
end

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

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


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

-- it controls stem, infix of extra stem-letters 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 -- 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

	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

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

-- Σημείωση: οι παράμετροι .... = '' χρειάζονται αν ΔΕΝ υπάρχει το /param
	
	-- numbers
	local sg_title_str = '' -- singularis title string / ενικός
    local pl_title_str = '' -- pluralis  title string / πληθυντικός
    
    -- cases singular
    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 plural
    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, [θηλ=2, αθ=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  -- This section was placed in a declension module and is moved here. 
	-- 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
	if args['άρθρα'] == '-' then
		args['αοε'] = ''
		args['αγε'] = ''
		args['ααε'] = ''
		args['ακε'] = ''
		args['αοπ'] = ''
		args['αγπ'] = ''
		args['ααπ'] = ''
		args['ακπ'] = ''
	end

-- ======================= genders: default masculine, feminine and neuter columns

    local has_fem = true		--(args['θηλ'] ~= nil) It HAS a separate column for feminines
    if args['θηλ'] == "-" or args['αθ'] == "1" 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

-- number of columns for full rows ?????? may write e.g. columns = '10' and it is ok
	-- for CASES  masc fem neu
	if args['αθ'] ~= '1' and args['θηλ'] ~= '-'
		then columns = '7'
	-- for CASES masc+fem neu
	else columns = '5'
	end
    
-- ======================= notes
    local paratirisi = ''			-- notes by editor
    local note = args['σημ'] 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: e.g. όμορφος
    	if as_in == '' or as_in == nil then append = '' else
    			cat_decl = args['κατηγορία κλίσης'] or 'Επίθετα'
    			typos = args['τύπος'] or args['τύπος0'] or args['κατ'] or ''
    		if typos == '-' or typos == '' or typos == nil then
    		append = "όπως «[[Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά)|" .. as_in .. ']]» - '
    		else
    		append = '[[:Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "'|Κατηγορία]] όπως «[[Παράρτημα:Επίθετα και μετοχές (νέα ελληνικά)|" .. 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['σημ'] == '' 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 = ''
		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['σημ'] ~= '' 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 .. 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 = ''
		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

    
-- columns (spaces added for good copy-paste result)
    if has_fem and has_masc then -- it always has masc
    	if args['άρθρα'] ~= '-' then
		args['αοε'] = create_link('ο', stem_color('ο'))
		args['αγε'] = create_link('του', stem_color('του'))
		args['ααε'] = create_link('τον', stem_color('τον'))  	
		args['αοπ'] = create_link('οι', stem_color('οι'))
		args['αγπ'] = create_link('των', stem_color('των'))
		args['ααπ'] = create_link('τους', stem_color('τους'))
		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
    	args['αθ'] = '1'
    	if args['άρθρα'] ~= '-' then
		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]]
		args['αοπ'] = create_link('οι', stem_color('οι'))
		args['αγπ'] = create_link('των', stem_color('των'))
		args['ααπ'] = create_link('τους', stem_color('τους')) .. '/' .. create_link('τις', stem_color('τις'))
		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
    	args['θηλ'] = '1'
    	if args['άρθρα'] ~= '-' then
 		args['αοε'] = create_link('η', stem_color('η'))
		args['αγε'] = create_link('της', stem_color('της'))
		args['ααε'] = create_link('την', stem_color(tinti.tin(args['λήμμα'])))				 -- REQUIRE [[Module:tin]]
		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
		
        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
    	args['ουδ'] = '1'
    	if args['άρθρα'] ~= '-' then
		args['αοε'] = create_link('το', stem_color('το'))
		args['αγε'] = create_link('του', stem_color('του'))
		args['ααε'] = create_link('το', stem_color('το'))
		args['αοπ'] = create_link('τα', stem_color('τα'))
		args['αγπ'] = create_link('των', stem_color('των'))
		args['ααπ'] = create_link('τα', stem_color('τα'))
		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

-- 2nd column for genders if masc+fem+neu
	if args['θηλ'] ~= '-' and args['αθ'] ~= '1' 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['θηλ'] == '-' or args['αθ'] == '1' 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	
        sg_title_str =  [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[;" colspan="]=] .. columns-1 .. 
        [=[" align="center"| &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 ..
        [=[;" colspan="]=] .. columns-1 .. 
        [=[" align="center"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός αριθμός" style="color:black;">'''''πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"

if args['θηλ'] ~= "-" and args['αθ'] ~= "1" 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"| ''γένη''&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['θηλ'] == "-" or args['αθ'] == "1" 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 θηλ=- ορ αθ=1	
	
--------------------------------------------------------------------------
--                   4. Categories / Κατηγορίες                         --
--------------------------------------------------------------------------
-- ??? to do: nocat, τύπος0 see Module:el-nouns-decl
-- κατηγορία κλίσης = the PartOfSpeech (plus as participles etc)

	local page = mw.title.getCurrentTitle()
    page.name = page.text:match( "^%s*(.-)%s*$" )
    if page.namespace == 0 then
-- NEED nocat= (or 00=-) for NO CATEGORY ???
    	if args['κατηγορία'] ~= '' and args['κατηγορία'] ~= nil then -- free text for Category
    		output = output .. '[[Κατηγορία:' .. args['κατηγορία'] .. ']]'
    	else

			if args['κατ'] ~= '' and args ['κατ'] ~= nil then
    			typos = args['κατ']
				output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "']]"
			else
   				typos = args['τύπος'] or ''
   				cat_decl = args['κατηγορία κλίσης'] or 'Επίθετα'
   				if args['τύπος'] == '-' then output = output else
        		output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "']]"
        		end
            end -- close 'κατ'
    		
    	end -- close free text κατηγορία
    	
       
-- ΑΛΛΕΣ ΚΑΤΗΓΟΡΙΕΣ
	-- ανώμαλα (irregulars)
	if args['ανώμ'] == '1' then
		output = output .. '[[Κατηγορία:' .. cat_decl .. ' ανώμαλα (νέα ελληνικά)]]'
	end

-- free, ελεύθερη κατηγορία (για πολυλεκτικούς όρους [[Πρότυπο:el-κλίση-όροι]])
	if args['κατηγ'] ~= '' and args['κατηγ'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ'] .. ']]'
	end

    end -- close 'if namespace'


return output -- close fulltable

end


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

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

decl = function(args)	-- creates functions at the /function page

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

return fulltable(args)
end



--------------------------------------------------------------------------
--       FREE TABLE to invoke directly [[Πρότυπο:el-adj-decl]]         --
--------------------------------------------------------------------------

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

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

return fulltable(args)
end



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

-- see [[Module:vv/functions]] & μονοθεματικές [[Module:vv/mono]] 

return export