Module:el-adj-decl
Μετάβαση στην πλοήγηση
Πήδηση στην αναζήτηση
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['αοε'] = ' '
args['αγε'] = ''
args['ααε'] = ''
args['ακε'] = ''
args['αοπ'] = ' '
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['αοε'] = ' ' 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['αοπ'] = ' ' 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['αοε'] = ' ' 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['αοπ'] = ' ' 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['αοε'] = ' ' 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['αοπ'] = ' ' 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['αοε'] = ' ' 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['αοπ'] = ' ' 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['αοε'] = ' ' 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['αοπ'] = ' ' 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" | [[ενικός|<span title="ενικός αριθμός" style="color:black;">'''''ενικός'''''</span>]] ]=] .. "\n"
pl_title_str = [=[! style="background:]=] .. c_1 ..
[=[; font-size:90%;" align="center" colspan="6"| [[πληθυντικός|<span title="πληθυντικός αριθμός" style="color:black;">'''''πληθυντικός'''''</span>]] ]=] .. "\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"| ↓ ''πτώσεις'' ]=] ..
"\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"| ''γένη'' → ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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"| ↓ ''πτώσεις'' ]=] ..
"\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"| ''γένη'' → ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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"| ↓ ''πτώσεις'' ]=] ..
"\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"| → ''γένη'' ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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"| ↓ ''πτώσεις'' ]=] ..
"\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"| → ''γένη'' ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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"| ↓ ''πτώσεις'' ]=] ..
"\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"| ''γένη'' → ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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"| ↓ ''πτώσεις'' ]=] ..
"\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"| ''γένη'' → ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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"| ↓ ''πτώσεις'' ]=] ..
"\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"| → ''γένη'' ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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"| ↓ ''πτώσεις'' ]=] ..
"\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"| → ''γένη'' ]=] ..
"\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%;"| [[γενική|<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%;"| [[αιτιατική|<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;"| [[κλητική|<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