Module:grc-nouns-decl
Module:grc-nouns-decl : param : κλίση1 - κλίση2 - κλίση3 - ανώμαλα : τεκμηρίωση
Κατηγορία:Πρότυπα κλίσης ουσιαστικών (αρχαία ελληνικά) - Κατηγορία:Έλεγχος κλίσης - manual
Παράρτημα:Ουσιαστικά (αρχαία ελληνικά) : 1η : 2η : 3η : ανώμαλα - Κατηγορία:Ουσιαστικά (αρχαία ελληνικά)
Βοήθεια:Πρότυπα κλίσης ουσιαστικών (αρχαία ελληνικά) - Module:grc-articles - Module:grk-stems
Κατηγορία:Σελίδες με σφάλματα δέσμης ενεργειών
Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης ουσιαστικών (αρχαία ελληνικά)
Κατηγορία:Ουσιαστικά με κλίση όπως το '' (αρχαία ελληνικά)
Κατηγορία:Λήμματα χωρίς προσωδία σε δίχρονο φωνήεν (αρχαία ελληνικά)
Κατηγορία:Λέξεις με άγνωστη προσωδία (αρχαία ελληνικά)
Κατηγορία:Ουσιαστικά με άγνωστη κλίση (αρχαία ελληνικά)
Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης ουσιαστικών (αρχαία ελληνικά)
Κατηγορία:Ουσιαστικά με κλίση όπως το '' (αρχαία ελληνικά)
Κατηγορία:Λήμματα χωρίς προσωδία σε δίχρονο φωνήεν (αρχαία ελληνικά)
Κατηγορία:Λέξεις με άγνωστη προσωδία (αρχαία ελληνικά)
Κατηγορία:Ουσιαστικά με άγνωστη κλίση (αρχαία ελληνικά)
-- αρχαία ελληνικά ουσιαστικά - Declension of nouns for Ancient Greek, Hellenistic Koine with |grc-koi=1
-- It includes dative case. Also can be used for Mediaeval Greek |gkm=1
-- and other polytonic versions of Greek (καθαρεύουσα |kath=1).
-- Editors can suppress the module parameters (mod-xx=) by writing xx= (see /param page)
-- Κάθε κλίση έχει το Πρότυπό της / Each declension-function has its Template
--[=[
* previously by Flyax (2015-2018)
* additions & /param page: 2021, Sarri.greek
INSTRUCTIONS for modules see bottom of page / ΟΔΗΓΙΕΣ γι' αυτό το module, βλ. τέλος σελίδας
-- check https://en.wiktionary.org/wiki/Module:grc-decl/decl/staticdata/paradigms
Instructions for editors / Οδηγίες για συντάκτες: [[:Κατηγορία:Πρότυπα κλίσης ουσιαστικών (αρχαία ελληνικά)/οδηγίες]]
EDITOR_MUST_DEFINE extra parameters at the following templates:
* δίχρ= (for dubious dichrona) #1χώρα #1νεανίας #1γνώμη #1στρατιώτης #3γείτων #3γέρων #3γίγας #3γυψ #3κτήτωρ
* χαρ= (last letter of stem) #3φύλαξ #3γύψ
* προπαροξ= (for the bug: capital+spirit+τόνος) #3φύλαξ #3γύψ
* θέμα= (for second stem) = #3γυψ, #3φύλαξ
* τύπος= (for dubious pluralia tantum) #3βέλος #κτήμα
EXTERNAL_LINKS in args['mod-σημ'] at 3#βασιλεύς#αλιεύς 3#πατρίς(cf Adjectives 3#εύελπις)
]=]--
--[=[
STRUCTURE:
1. required modules, stem production
2. links and style
3. line 185: the TABLE
4. line 1035: Categories
5. line 1580: decl links to /param page (basic function for declensions in the functionpages)
6. and: free links to /param page (invoke from pages)
notes at bottom
]=]--
--[=[
PROBLEMS
* after 2021.12. changes, μείον= does not work (default stems) CHECK [[πῦρ]] [[Σουσάννα]]
* Fixed BUG for capital+spirit+tonos omits tonos when converted -- the stem['θ'] MUST BE REPEATED
e.g. 3#πόλις [[Ἄλπεις]] 3#βέλος [[Ἄργος]]
3#φύλαξ [[Ἶσις]] does not convert to Ἴσιδ (psile+okseia) it MUST BE handled separately
TO DO ΕΚΚΡΕΜΟΤΗΤΕΣ
* CORRECT θ2 with accent2syn_i (which recognizes diphthongs) --------####
* make doric articles and doric, epic declensions
* special flag for attested forms when they have a quotation at their page??
* auto articles CHECK [[κόρυμβος]]
]=]--
export = {} -- DO NOT write local export. It does not work.
--------------------------------------------------------------------------
-- 1. STEM PRODUCTION, REQUIRED MODULES / ΔΗΜΙΟΥΡΓΙΑ ΘΕΜΑΤΩΝ, MODULES --
--------------------------------------------------------------------------
-- ==================== REQUIRED ======================= --
languages = mw.loadData("Module:Languages") -- to choose grc, gkm, kath, greek languages with same script
module_path = 'Module:grc-nouns-decl'
m_1 = require(module_path .. "/1")
-- cannot call all subpages directly from here. Each one will call the next:
-- here we call m_1 = require(module_path .. "/1") -- 1st declension functions
-- m_1 calls: m_2 = require(module_path .. "/2") -- 2nd declension functions
-- m_2 calls m_3 and so forth
-- do not name 'local': it does not work for module subpages
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
m_data = require("Module:grk-stems/data") -- for finding vowels, vowels+tonos etc
-- m_data.vowel_perispomeni = '[ᾶᾷἆᾆἇᾇῆῇἦᾖἧᾗῖἶἷῗῦὖὗῧῶῷὦᾦὧᾧἎᾎἏᾏἮᾞἯᾟἾἿὟὮᾮὯᾯ]' -- vowel+perispomeni
-- m_data.brachy_oxeia = '[έὲἔἒἕἓόὸὄὂὅὃΈῈἜἚἝἛΌῸὌὊὍὋ]' -- brachy+okseia or vareia
-- m_data.macron_oxeia = '[ήῄὴῂἤᾔἢᾒἥᾕἣᾓώῴὼῲὤᾤὢᾢὥᾥὣᾣΉῊἬᾜἪᾚᾚἭᾝἫᾛῺὬᾬὪᾪὭᾭὫᾫ]' -- macron+okseia or vareia
-- m_data.dichronon_oxeia = '[άᾴὰᾲἄᾄἂᾂἅᾅἃᾃίὶἴἲἵἳΐῒύὺὔὒὕὓΰῢΆᾺἌᾌἊᾊᾊἍᾍἋᾋΊῚἼἺἽἻΎῪὝὛ]' -- dichronon+okseia or vareia
-- m_data.diphthong_tonos = '[αΑεΕηΗοΟ][ίὶῖἴἲἶἵἳἷΊῚἼἺἾἽἻἿύὺῦὔὒὖὑὕὓὗΎῪὝὛὟ]' -- diphthong+tonos (okseia, vareia, perispomeni) NOT dialytics ΐῒῗΰῢῧ
-- articles: USE at ARTICLES section: require ('Module:grc-articles').articles (args)
-- DO NOT USE here, m_art = require ('Module:grc-articles').articles (args)
-- and DO NOT change at all any args for articles
-- call the page /param (it has all parameters) at bottom of this page
--------------------------------------------------------------------------
-- 2. links & styles / σύνδεσμοι & στυλ --
--------------------------------------------------------------------------
-- =========== standard colours for grc: LightSteelBlue = #b0c4de 70%-75%-GREY-95%) GREY c3
-- borders
c_border = '#c9d7e8' -- same as c3 or stronger: same as c_1
c_bord = '#f4f4f4' -- or '#eeeeee' -- inner lighter borders
c_bordR = '' -- right border: if there are more columns, it is soft c_bord. If it is the end, it is c_border
-- background colours
c_extra = '#b0c4de' -- for extratitle
c_1 = '#93aed2' -- ROW title1 MAIN, number names, and border for title2 if it exists
c_2 = '#a5bcd9' -- title2 subtitles, genders of adjectives and border for title1
c_3 = '#e3e5e8' -- = from Grey --Lightsteelblue was '#c9d7e8' -- title3, all the subtitles
c_4 = '#edf2f7' -- background for notes
-- also, see below, at languages, special colours for different lang iso
-- font colours
c_ending = '#eb0000' -- is DeepPink. For wikitext, template [[Πρότυπο:χκ]], never bold
c_stem = '#002000' -- For wikitext, template [[Πρότυπο:χθ]], never bold
c_black = '#000000' -- for subtitles
c_cccccc = '#cccccc' -- not used here (possible for dubious forms)
c_green = '#008000' -- not used here (possibly for infix)
-- =============== styles
-- for table style, cf. the beginning of fulltable
font_cell = "font-family:; letter-spacing:1px;" -- tested, rejected: Palatino linotype; font-family:Times;
fontsize_cell = "font-size:110%;" -- tested: font-size:130%; (too big)
-- ============== apply font colours - εφαρμογή χρωμάτων
ending_color = function(suffix)
return '<span style="color:' .. c_ending ..'; font-weight:normal;">' .. suffix .. '</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
-- not used:
--black_word = function(black_word)
-- return '<span style="color:' .. c_black ..'; font-weight:;">' .. black_word .. '</span>'
--end
cccccc_color = function(cccccc_thing)
return '<span style="color:' .. c_cccccc ..'; font-weight:normal;">' .. cccccc_thing .. '</span>'
end
green_color = function(green_thing)
return '<span style="color:' .. c_green ..'; font-weight:normal;">' .. green_thing .. '</span>'
end
-- ====================== Links 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, suffix)
thema = thema or ''
suffix = suffix or ''
return create_link(thema .. suffix, stem_color(thema) .. ending_color(suffix))
end
-- it controls stem, infixed letters and ending
linkcontrol3 = function(thema, infix, suffix)
thema = thema or ''
infix = infix or '' -- need for ὀστοῦν function
suffix = suffix or ''
return create_link(thema .. infix .. suffix, stem_color(thema) .. infix_color(infix) .. ending_color(suffix))
end
-- =========== Errors -- use it with writing: if blahblah then return errorhere('xxxxxx') end
errorhere = function(errstring)
return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης ουσιαστικών (αρχαία ελληνικά)]]'
end
-- if ambiguous dichrona vowels are not specified as macron or as brachy or as ?
-- όταν τα δίχρονα δεν έχουν προσωδία δίχρ=μ ή δίχρ=β ή δίχρ=?
-- use it with: if blahblah then return error_dichr end
error_dichr = function(errordichrstring)
page = mw.title.getCurrentTitle()
page.name = page.text:match( "^%s*(.-)%s*$" )
if page.namespace == 0 then -- Categories work only in MAIN namespace
return '<div style="font-size:15px; color:red;">* Κλίση: Θα πρέπει να ορίσουμε το δίχρονο φωνήεν με |δίχρ=β (βραχύ) ή |δίχρ=μ (μακρό).<br>Αν δεν υπάρχουν πληροφορίες, |δίχρ=?</div>'
.. '[[Κατηγορία:Λήμματα χωρίς προσωδία σε δίχρονο φωνήεν (αρχαία ελληνικά)]]'
else
return '<div style="font-size:15px; color:red;">* Κλίση: Θα πρέπει να ορίσουμε το δίχρονο φωνήεν με |δίχρ=β (βραχύ) ή |δίχρ=μ (μακρό).<br>Αν δεν υπάρχουν πληροφορίες, |δίχρ=?</div>'
end
end
--------------------------------------------------------------------------
-- 3. TABLE / ΠΙΝΑΚΑΣ --
--------------------------------------------------------------------------
fulltable = function(args)
-- table: DEFAULT at RIGHT for el.wikt -- for some browsers need border="1"
local float = args['float'] or ''
if args['float'] == 'right' then
table_style1 = 'style="clear:right; float:right; margin-left:0.5em; margin-bottom:0.5em;'
.. 'background:#ffffff; color:#000000; border:1px solid' .. c_border ..'; text-align:right;"'
.. 'rules="none" border="1" cellpadding="3" cellspacing="0"'
elseif args['float'] == 'center' then
table_style1 = 'style="margin-left:auto; margin-right:auto; margin-bottom:0.5em;'
.. 'background:#ffffff; color:#000000; border:1px solid' .. c_border ..'; text-align:center;"'
.. 'rules="none" border="1" cellpadding="3" cellspacing="0"'
elseif args['float'] == 'left' then
table_style1 = 'style="clear:left; float:left; position:relative; margin:0px 1.5em 0.5em 0px;'
.. 'background:#ffffff; color:#000000; border:1px solid' .. c_border ..'; text-align:left;"'
.. 'rules="none" border="1" cellpadding="3" cellspacing="0"'
else -- DEFAULT IS right
table_style1 = 'style="clear:right; float:right; margin-left:0.5em; margin-bottom:0.5em;'
.. 'background:#ffffff; color:#000000; border:1px solid' .. c_border ..'; text-align:right;"'
.. 'rules="none" border="1" cellpadding="3" cellspacing="0"'
end
-- titles (title from module + extra title) check [[Βαβυλωνίς]] Control: [[Λεβαδία]] (only mod-title, [[Βαβυλωνεύς]] (no title)) [[κρίνον]] (only editor's 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
-- OTHER
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
local dichr = args['δίχρ'] or '' -- for dichronous (either macron or brachy δίχρ=β is brachy)
cat_pos = args['μέρος λόγου'] or 'Ουσιαστικά' -- pos: Part of Speech
if args['τόπος'] == '1' or args['όνομα'] == '1' or args['πατρωνυμικό'] == '1' or args['κύριο'] == '1' then
cat_pos = 'Κύρια ονόματα'
-- output = output .. '[[Κατηγορία:' .. 'Κύρια ονόματα' .. " της κλίσης '" .. typos .. "' (" .. lang_name .. ")]]"
end
-- typos, klisi
-- cat = args['κατ'] or ''
-- this does not work from here
-- if args['κατ'] ~= '' and args['κατ'] ~= nil then cat = args['τύπος'] end
typos = args['τύπος'] or ''
local klisi = args['κλίση'] or '' -- also see notes and Categories
if args['κλίση'] == '1' then klisi = '1' end
if args['κλίση'] == '2' then klisi = '2' end
if args['κλίση'] == '2αττ' then klisi = '2αττ' end
if args['κλίση'] == '3' then klisi = '3' end
if args['κλίση'] == 'ανώμαλα' then klisi = 'ανώμαλα' end
if args['κλίση'] == '0' then klisi = 'ανώμαλα' end
local stem_line = ''
local stem_cell = ''
-- row for subtitles (dialects or gender of numbers if different)
-- [[λάτρις]] [[Ἑρμῆς]] [[Περσείδης]]
-- ἑτερογενῆ = ὁ λύχνος - τὰ λύχνα, ὁ σῖτος - τὰ σῖτα , ὁ δεσμὸς - οἱ δεσμοὶ καὶ τὰ δεσμά, τὸ στάδιον - τὰ στάδια καὶ οἱ στάδιοι
-- also see an exceptional singular + optional column for extra plurals, articles optional at [[αἰδώς]] function page/3
local subtitle = ''
local subtitle_sg = args['υπότιτλος-εν'] or ''
if args['υπότιτλος-εν'] == 'αθ' then args['υπότιτλος-εν'] = 'κοινού γένους'
elseif args['υπότιτλος-εν'] == 'αρσ' then args['υπότιτλος-εν'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]'
-- check [[λύχνος]]
args['αοε'] = "αρσ" args['αγε'] = "αρσ" args['αδε'] = "αρσ" args['ααε'] = "αρσ" args['αοδ'] = "αρσ" args['αγδ'] = "αρσ"
elseif args['υπότιτλος-εν'] == 'θηλ' then args['υπότιτλος-εν'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]'
elseif args['υπότιτλος-εν'] == 'ουδ' then args['υπότιτλος-εν'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]'
elseif args['υπότιτλος-εν'] == 'θο' then args['υπότιτλος-εν'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']] ή [[ουδέτερο' .. black_color('ουδέτερο') .. ']]'
elseif args['υπότιτλος-εν'] ~= 'αρσ' and args['υπότιτλος-εν'] ~= 'θηλ' and args['υπότιτλος-εν'] ~= 'ουδ' and args['υπότιτλος-εν'] ~= 'αθ' and args['υπότιτλος-εν'] ~= 'θο' then
args['υπότιτλος-εν'] = args['υπότιτλος-εν'] or ''
end
-- need subtitle_sg2 for ὁ [[ζυγός]] τό [[ζυγόν]] / text [[Αἰνείας]]
local subtitle_sg2 = args['υπότιτλος-εν2'] or '' -- δεύτερος ενικός
if args['υπότιτλος-εν2'] == 'αρσ' then args['υπότιτλος-εν2'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]'
elseif args['υπότιτλος-εν2'] == 'θηλ' then args['υπότιτλος-εν2'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]'
elseif args['υπότιτλος-εν2'] == 'ουδ' then args['υπότιτλος-εν2'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]'
elseif args['υπότιτλος-εν2'] == 'αθ' then args['υπότιτλος-εν2'] = 'κοινού γένους'
elseif args['υπότιτλος-εν2'] == 'θο' then args['υπότιτλος-εν2'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']] ή [[ουδέτερο' .. black_color('ουδέτερο') .. ']]'
else
args['υπότιτλος-εν2'] = args['υπότιτλος-εν2'] or ''
end
local subtitle_pl = args['υπότιτλος-πλ'] or ''
if args['υπότιτλος-πλ'] == 'αρσ' then args['υπότιτλος-πλ'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]'
elseif args['υπότιτλος-πλ'] == 'θηλ' then args['υπότιτλος-πλ'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]'
elseif args['υπότιτλος-πλ'] == 'ουδ' then args['υπότιτλος-πλ'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]'
-- check [[λύχνος]]
args['αοπ'] = "ουδ" args['αγπ'] = "ουδ" args['αδπ'] = "ουδ" args['ααπ'] = "ουδ" args['αοδ'] = "αρσ" args['αγδ'] = "αρσ"
elseif args['υπότιτλος-πλ'] == 'αθ' then args['υπότιτλος-πλ'] = 'κοινού γένους'
elseif args['υπότιτλος-πλ'] == 'θο' then args['υπότιτλος-πλ'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']] ή [[ουδέτερο' .. black_color('ουδέτερο') .. ']]'
elseif args['υπότιτλος-πλ'] ~= 'αρσ' and args['υπότιτλος-πλ'] ~= 'θηλ' and args['υπότιτλος-πλ'] ~= 'ουδ' and args['υπότιτλος-πλ'] ~= 'αθ' and args['υπότιτλος-πλ'] ~= 'θο' then
args['υπότιτλος-πλ'] = args['υπότιτλος-πλ'] or ''
end
-- check [[λάτρις]]
local subtitle_pl2 = args['υπότιτλος-πλ2'] or '' -- 2ος πληθυντικός
-- and see ΚΑΤΗΓΟΡΙΕΣ for Κατηγορία:Ο με διαλεκτικούς τύπους
if args['υπότιτλος-πλ2'] == 'αρσ' then args['υπότιτλος-πλ2'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]'
elseif args['υπότιτλος-πλ2'] == 'θηλ' then args['υπότιτλος-πλ2'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]'
elseif args['υπότιτλος-πλ2'] == 'ουδ' then args['υπότιτλος-πλ2'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]'
elseif args['υπότιτλος-πλ2'] == 'αθ' then args['υπότιτλος-πλ2'] = 'κοινού γένους'
elseif args['υπότιτλος-πλ2'] == 'θο' then args['υπότιτλος-πλ2'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']] ή [[ουδέτερο' .. black_color('ουδέτερο') .. ']]'
-- withdraw (see above))
-- elseif args['υπότιτλος-πλ2'] ~= 'αρσ' and args['υπότιτλος-πλ2'] ~= 'θηλ' and args['υπότιτλος-πλ2'] ~= 'ουδ' and args['υπότιτλος-πλ2'] ~= 'αθ' and args['υπότιτλος-πλ2'] ~= 'θο'
-- and args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil
-- then
-- args['υπότιτλος-πλ2'] = args['υπότιτλος-πλ2'] .. '[[Κατηγορία:' .. cat_pos .. ' με διαλεκτικούς τύπους στον πίνακα κλίσης (' .. lang_name .. ')]]'
else
args['υπότιτλος-πλ2'] = args['υπότιτλος-πλ2'] or ''
end
-- Σημείωση: οι παράμετρες .... = '' χρειάζονται αν ΔΕΝ υπάρχει το /param
-- numbers
local sg_title_str = '' -- singularis title string / ἑνικός
local sg2_title_str = '' -- 2nd singualr title / 2ος ενικός αν υπάρχει
local pl_title_str = '' -- pluralis title / πληθυντικός
local pl2_title_str = '' -- 2nd plural title / 2ος πληθυντικός αν υπάρχει
local dualrow = '' -- not always
local du_title_str = '' -- dualis title / δυϊκός
-- cases
local nom_sg_str = '' -- nominativus singularis / ὀνομαστική ἑνικός
local nom_sg2_str = ''
local nom_pl_str = ''
local nom_pl2_str = ''
local nom_du_str = ''
local gen_sg_str = '' -- genitivus / γενική
local gen_sg2_str = ''
local gen_pl_str = ''
local gen_pl2_str = ''
local gen_du_str = ''
local dat_sg_str = '' -- dativus / δοτική
local dat_sg2_str = ''
local dat_pl_str = ''
local dat_pl2_str = ''
local dat_du_str = ''
local acc_sg_str = '' -- accusativus / αἰτιατική
local acc_sg2_str = ''
local acc_pl_str = ''
local acc_pl2_str = ''
local acc_du_str = ''
local voc_sg_str = '' -- vocativus / κλητική
local voc_sg2_str = ''
local voc_pl_str = ''
local voc_pl2_str = ''
local voc_du_str = ''
-- articles / ἄρθρα (see [[Module:grc-articles]] (Also parameter άρθρα=0 to omit all articles)
local a_nom_sg_str = ''
local a_nom_sg2_str = ''
local a_nom_pl_str = ''
local a_nom_pl2_str = ''
local a_nom_du_str = ''
local a_gen_sg_str = ''
local a_gen_sg2_str = ''
local a_gen_pl_str = ''
local a_gen_pl2_str = ''
local a_gen_du_str = ''
local a_dat_sg_str = ''
local a_dat_sg2_str = ''
local a_dat_pl_str = ''
local a_dat_pl2_str = ''
local a_dat_du_str = ''
local a_acc_sg_str = ''
local a_acc_sg2_str = ''
local a_acc_pl_str = ''
local a_acc_pl2_str = ''
local a_acc_du_str = ''
local a_voc_sg_str = ''
local a_voc_sg2_str = ''
local a_voc_pl_str = ''
local a_voc_pl2_str = ''
local a_voc_du_str = ''
-- ARTICLES ===========================================================
-- also see an exceptional singular + optional column for extra plurals, articles optional at [[αἰδώς]] function page/3
require ('Module:grc-articles').articles (args)
-- NUMBERS ================================================================
local hassingular = true -- (args['εν'] ~= nil)
local hasplural = true -- (args['πλ'] ~= nil)
local hasdual = true -- (args['δυ'] ~= '-')
-- α = Ουσιαστικά ΧΩΡΙΣ τον άλλο αριθμό / the other number does not exist. For pluralia and singularia tantum
-- α2 = Υπάρχει γραμματικά και ο άλλος αριθμός / The other number grammatically exists (not used)
-- ενδ = yes dual together with singular
-- πλδ = yes dual together with plural
if args['α'] == "πλδ" or args['α2'] == "πλδ" then hassingular = false end -- get plural and dual
if args['α'] == "πλ" or args['α2'] == "πλ" then -- get plural only
hassingular = false
hasdual = false
end
if args['α'] == "ενδ" or args['α2'] == "ενδ" then hasplural = false end -- get singular and dual
if args['α'] == "εν" or args['α2'] == "εν" then -- get singular only
hasplural = false
hasdual = false
end
-- number of columns for full rows ?????? may write e.g. columns = '10' and it is ok
-- also see an exceptional singular + optional column for extra plurals, articles optional at [[αἰδώς]] function page/3
-- 1+2 (only one number)
if (args['α'] == 'εν' or args['α2'] == 'εν' or args['α'] == 'ενδ' or args['α2'] == 'ενδ') or (args['α'] == 'πλ' or args['α2'] == 'πλ' or args['α'] == 'πλδ' or args['α2'] == 'πλδ')
and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil) and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
then columns = '3'
-- 1+6 en-en2-pl
elseif (args['α'] ~= 'εν' and args['α2'] ~= 'εν') and (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ') and (args['α'] ~= 'πλ' and args['α2'] ~= 'πλ') and (args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ')
and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
then columns = '7'
-- 1+6 en-pl-pl2
elseif (args['α'] ~= 'εν' and args['α2'] ~= 'εν') and (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ') and (args['α'] ~= 'πλ' and args['α2'] ~= 'πλ') and (args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ')
and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
then columns = '7'
-- 1+8 --en-en2-pl-pl2
elseif (args['α'] ~= 'εν' and args['α2'] ~= 'εν') and (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ') and (args['α'] ~= 'πλ' and args['α2'] ~= 'πλ') and (args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ')
and args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil and args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil
then columns = '9'
--[=[
-- 1+4 for en-en2 --??????? does not work
elseif (args['α'] == 'εν' or args['α2'] == 'εν') or (args['α'] == 'ενδ' or args['α2'] == 'ενδ')
and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
then columns = '5'
-- 1+4 for pl-pl2
elseif (args['α'] == 'πλ' or args['α2'] == 'πλ') or (args['α'] == 'πλδ' or args['α2'] == 'πλδ')
and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
then columns = '5'
]=]--
-- 1+4 sg + pl, normal ... hope it covers all other combinations
else
columns = '5'
end
-- NOTES & whole LINES ================================================================
local paratirisi = args['παρατήρηση'] or '' -- notes by editor
local note = args['mod-σημ'] or '' -- standard notes by Template
local appendix = '' -- standard link for [[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)]]
local append = '' -- link to gourp, category and specific paradigm at Appendix
-- group is a super-umbrella category if needed for similar declensions
local group = args['ομάδα'] or '' -- at functions
if args['ομάδα'] ~= '' and args['ομάδα'] ~= nil then
if args['ομάδα'] == 'συγκοπτόμενα' then
group = "[[:Κατηγορία:" .. "Ουσιαστικά συγκοπτόμενα (αρχαία ελληνικά)|συγκοπτόμενα]],"
else
-- make the group standard index, as cat_decl is
group = "[[:Κατηγορία:" .. 'Ουσιαστικά' .. " που κλίνονται όπως η ομάδα '" .. group .. "' (" .. 'αρχαία ελληνικά' .. ")|ομάδα '" .. group .. "']],"
end
-- NEED to WRITE AGAIN at CATEGORIES under if mainspace and under nocat
end
-- cat_decl does ONE umbrella category for all the 'typos' categories in it, whatever PoS, whatever language (grc, koine)
local cat_decl = args['κατηγορία κλίσης'] or '' -- at functions
if args['gkm'] ~= '' and args['gkm'] ~= nil then
-- in neuter singular
cat_decl_str = " [[:Κατηγορία:" .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'μεσαιωνικά ελληνικά' .. ")|Κατηγορία '" .. cat_decl .. "']]"
else -- all grc, grc-koi, grc-dor, etc UNDER αρχαία ελληνικά
if args['κατηγορία κλίσης'] == "-" or args['κατηγορία κλίσης'] == '' or args['κατηγορία κλίσης'] == nil then
cat_decl_str = '' -- control cat:
elseif args['κατηγορία κλίσης'] ~= "-" and args['κατηγορία κλίσης'] ~= '' and args['κατηγορία κλίσης'] ~= nil then
--write it aτ notes & add the category at ΚΑΤΗΓΟΡΙΕΣ under mainspace and uner nocat
-- all the neuter plurals:
if args['κατηγορία κλίσης'] == 'ανώμαλα' or args['κατηγορία κλίσης'] == 'ιδιόκλιτα' then
cat_decl_str = " [[:Κατηγορία:Ουσιαστικά ανώμαλα (αρχαία ελληνικά)|Κατηγορία '" .. cat_decl .. "']]"
elseif args['κατηγορία κλίσης'] == 'ελλειπτικά' then
cat_decl_str = " [[:Κατηγορία:Ουσιαστικά ελλειπτικά (αρχαία ελληνικά)|Κατηγορία '" .. cat_decl .. "']]"
elseif args['κατηγορία κλίσης'] == 'ετερόκλιτα' then
cat_decl_str = " [[:Κατηγορία:Ουσιαστικά ετερόκλιτα (αρχαία ελληνικά)|Κατηγορία '" .. cat_decl .. "']]"
elseif args['κατηγορία κλίσης'] == 'μεταπλαστά' then
cat_decl_str = " [[:Κατηγορία:Ουσιαστικά μεταπλαστά (αρχαία ελληνικά)|Κατηγορία '" .. cat_decl .. "']]"
elseif args['κατηγορία κλίσης'] == 'συγκοπτόμενα' then
cat_decl_str = " [[:Κατηγορία:" .. 'Ουσιαστικά' .. " με κλίση όπως τα " .. cat_decl .. " (" .. 'αρχαία ελληνικά' .. ")|Κατηγορία '" .. cat_decl .. "']]"
elseif args['κατηγορία κλίσης'] == 'μονοσύλλαβα με εξαιρέσεις' then
cat_decl_str = " [[:Κατηγορία:Ουσιαστικά μονοσύλλαβα με εξαιρέσεις (αρχαία ελληνικά)|Κατηγορία 'μονοσύλλαβα']]"
else
-- in neuter singular
cat_decl_str = " [[:Κατηγορία:" .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ")|Κατηγορία '" .. cat_decl .. "']]"
end
end -- close if gkm
end
-- όπως = a link to Appendix's clitic paradigm
local as_in = args['όπως'] or ''
if as_in ~= '' and as_in ~= nil then
if args['gkm'] == '2' then
as_in = ' όπως «[[Παράρτημα:Γραμματική (μεσαιωνικά ελληνικά)#' .. as_in .. '|' .. as_in .. ']]»'
else -- all grc, grc-koi, gkm=1 etc
if args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then
as_in = ' όπως «[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/ανώμαλα#' .. as_in .. '|' .. as_in .. ']]»'
elseif args['κλίση'] == '2αττ' then
as_in = ' όπως «[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/2#' .. as_in .. '|' .. as_in .. ']]»'
else -- klisi 1, 2, 3
as_in = ' όπως «[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/' .. klisi .. '#' .. as_in .. '|' .. as_in .. ']]»'
end
end -- close if gkm=2
end
-- append WRITE the first part of the appendix line
if args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then
append = '[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/ανώμαλα|ανώμαλη κλίση]], ' .. group .. cat_decl_str .. as_in .. ' - '
elseif args['κλίση'] == '2αττ' then
append = '[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/2#αττικόκλιτα|2η κλίση - αττικόκλιτα]], ' .. group .. cat_decl_str .. as_in .. ' - '
elseif args['κλίση'] == '1' or args['κλίση'] == '2' or args['κλίση'] == '3' then
append = '[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/' .. klisi .. '|' .. klisi .. 'η κλίση]], ' .. group .. cat_decl_str .. as_in .. ' - '
end
-- stem line MUST be placed at Section Rows
-- ============== note lines / σημείωση παρατήρηση
-- ### adding this, BECAUSE en-en2 does not work for notes
if (args['α'] == 'εν' or args['α2'] == 'εν') or (args['α'] == 'ενδ' or args['α2'] == 'ενδ')
and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
then
if args['mod-σημ'] ~= '' or args['mod-σημ'] ~= nil then
if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
paratirisi = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
paratirisi = paratirisi .. note .. '<br>' .. args['παρατήρηση'] .. "\n"
else
paratirisi = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" 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="]=] .. 5 .. [=[" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
else
paratirisi = ''
end
end
-- appendix
if args['παράρτημα'] == '-' then appendix = ''
elseif args['παράρτημα'] ~= '-' and args['παράρτημα'] ~= '' and args['παράρτημα'] ~= nil then
appendix = '|-' .. "\n" .. [=[| colspan="]=] .. 5 .. [=[" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
appendix = appendix .. append .. args['παράρτημα'] .. about .. "\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>]]'
.. about .. "\n"
end
-- ##end of addition !!!!!!!! I have no idea why...
else -- NOT α=εν
if args['mod-σημ'] ~= '' or args['mod-σημ'] ~= nil then
if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
paratirisi = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
paratirisi = paratirisi .. note .. '<br>' .. args['παρατήρηση'] .. "\n"
else
paratirisi = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" 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="]=] .. columns .. [=[" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
else
paratirisi = ''
end
end
-- appendix
if args['παράρτημα'] == '-' then appendix = ''
elseif args['παράρτημα'] ~= '-' and args['παράρτημα'] ~= '' and args['παράρτημα'] ~= nil then
appendix = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
appendix = appendix .. append .. args['παράρτημα'] .. about .. "\n"
else
if args['gkm'] == '2' then
appendix = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
appendix = appendix .. append .. '[[Παράρτημα:Γραμματική (μεσαιωνικά ελληνικά)#Ουσιαστικά|<span title="Παράρτημα:Γραμματική (μεσαιωνικά)">Παράρτημα:Γραμματική</span>]]'
.. about .. "\n"
else -- all grc, grc-koi, gkm=1 etc
appendix = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
appendix = appendix .. append .. '[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)|<span title="Παράρτημα:Ουσιαστικά (αρχαία)">Παράρτημα:Ουσιαστικά</span>]]'
.. about .. "\n"
end -- close if gkm=2
end
end -- close ## addition
-- ========== CELLS ===============================================
-- extra title string
if args['mod-τίτλος'] ~= '' and args['mod-τίτλος'] ~= nil then
extratitle_str = args['mod-τίτλος'] .. "\n"
end
-- stem_cell --this is a full row, but it does not come first, it goes UNDER last row
if args['θέματα'] ~= '' and args['θέματα'] ~= nil then
-- colspan as in columms
stem_cell = [=[| style="background:]=] .. c_3 .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" colspan="]=] .. columns .. [=[" align="left" | ]=] .. args['θέματα'] .. "\n"
end -- close stem_cell
-- (spaces added for good copy-paste result)
if hassingular then
-- for 2 columns only (table_style1's border does not apply)
if args['α'] == 'εν' or args['α2'] == 'εν' or args['α'] == 'ενδ' or args['α2'] == 'ενδ' then
c_bordR = c_border
sg_title_str = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[;" colspan="2" align="center"| [[ενικός|<span title="ἑνικός ἀριθμός" style="color:black;">'''''ενικός'''''</span>]] ]=] .. "\n"
subtitle_sg = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-εν'] .. "\n"
else -- different right border
c_bordR = c_bord -- soft right border if more columns follow
sg_title_str = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
[=[;" colspan="2" align="center"| [[ενικός|<span title="ἑνικός ἀριθμός" style="color:black;">'''''ενικός'''''</span>]] ]=] .. "\n"
subtitle_sg = [=[| 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"
end
a_nom_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αοε'] .. "\n" --DO NOT TEST m_art(args['αοε'])
nom_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['οεΛ'] .. "\n"
a_gen_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αγε'] .. "\n"
gen_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['γεΛ'] .. "\n"
a_dat_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αδε'] .. "\n"
dat_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['δεΛ'] .. "\n"
a_acc_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ααε'] .. "\n"
acc_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['αεΛ'] .. "\n"
a_voc_sg_str = [=[| style="]=] .. font_cell .. fontsize_cell .. [=[" align="center" | ]=] .. args['ακε'] .. "\n"
voc_sg_str = [=[| style="border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['κεΛ'] .. "\n"
end -- close hassingular
if hasplural then
-- also see an exceptional singular + optional column for extra plurals, articles optional at [[αἰδώς]] function page/3
if args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then -- if 2nd plural follows, right borders are soft
pl_title_str = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
[=[;" colspan="2" align="center"| [[πληθυντικός|<span title="πληθυντικός ἀριθμός" style="color:black;">'''''πληθυντικός'''''</span>]] ]=] .. "\n"
subtitle_pl = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-πλ'] .. "\n"
a_nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αοπ'] .. "\n"
nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['οπΛ'] .. "\n"
a_gen_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αγπ'] .. "\n"
gen_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['γπΛ'] .. "\n"
a_dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αδπ'] .. "\n"
dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['δπΛ'] .. "\n"
a_acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ααπ'] .. "\n"
acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['απΛ'] .. "\n"
a_voc_pl_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ακπ'] .. "\n"
voc_pl_str = [=[| style="border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['κπΛ'] .. "\n"
else -- if 2nd plural does not follow we need strong right borders
pl_title_str = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[;" colspan="2" align="center"| [[πληθυντικός|<span title="πληθυντικός ἀριθμός" style="color:black;">'''''πληθυντικός'''''</span>]] ]=] .. "\n"
subtitle_pl = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-πλ'] .. "\n"
a_nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αοπ'] .. "\n"
nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['οπΛ'] .. "\n"
a_gen_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αγπ'] .. "\n"
gen_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['γπΛ'] .. "\n"
a_dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αδπ'] .. "\n"
dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['δπΛ'] .. "\n"
a_acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ααπ'] .. "\n"
acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['απΛ'] .. "\n"
a_voc_pl_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ακπ'] .. "\n"
voc_pl_str = [=[| style="border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['κπΛ'] .. "\n"
end -- close if 2nd plural
end -- close hasplural
-- 2nd singular - 2ος ενικός
if args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil then -- write free text
args['αοε2'] = args['αοε2'] or ''
args['αγε2'] = args['αγε2'] or ''
args['αδε2'] = args['αδε2'] or ''
args['ααε2'] = args['ααε2'] or ''
args['οεΛ2'] = args['οεΛ2'] or ''
args['γεΛ2'] = args['γεΛ2'] or ''
args['δεΛ2'] = args['δεΛ2'] or ''
args['αεΛ2'] = args['αεΛ2'] or ''
args['κεΛ2'] = args['κεΛ2'] or ''
sg2_title_str = [=[! style="background:]=] .. c_1 ..
[=[;" colspan="2" align="center"| [[ενικός|<span title="ἑνικός ἀριθμός" style="color:black;">'''''ενικός'''''</span>]] ]=] .. "\n"
subtitle_sg2 = [=[| style="background:]=] .. c_2 ..
[=[; border-right:1px solid ]=] .. c_1 .. [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-εν2'] .. "\n"
a_nom_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αοε2'] .. "\n"
nom_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['οεΛ2'] .. "\n"
a_gen_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αγε2'] .. "\n"
gen_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['γεΛ2'] .. "\n"
a_dat_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αδε2'] .. "\n"
dat_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['δεΛ2'] .. "\n"
a_acc_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ααε2'] .. "\n"
acc_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['αεΛ2'] .. "\n"
a_voc_sg2_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ακε2'] .. "\n"
voc_sg2_str = [=[| style="border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['κεΛ2'] .. "\n"
end -- close sg2 exists
-- 2nd plural - 2ος πληθυντικός
if args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then -- write free text
args['αοπ2'] = args['αοπ2'] or ''
args['αγπ2'] = args['αγπ2'] or ''
args['αδπ2'] = args['αδπ2'] or ''
args['ααπ2'] = args['ααπ2'] or ''
args['οπΛ2'] = args['οπΛ2'] or ''
args['γπΛ2'] = args['γπΛ2'] or ''
args['δπΛ2'] = args['δπΛ2'] or ''
args['απΛ2'] = args['απΛ2'] or ''
args['κπΛ2'] = args['κπΛ2'] or ''
pl2_title_str = [=[! style="background:]=] .. c_1 ..
[=[;" colspan="2" align="center"| [[πληθυντικός|<span title="πληθυντικός ἀριθμός" style="color:black;">'''''πληθυντικός'''''</span>]] ]=] .. "\n"
subtitle_pl2 = [=[| style="background:]=] .. c_2 ..
[=[; border-right:1px solid ]=] .. c_1 .. [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-πλ2'] .. "\n"
a_nom_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αοπ2'] .. "\n"
nom_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['οπΛ2'] .. "\n"
a_gen_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αγπ2'] .. "\n"
gen_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['γπΛ2'] .. "\n"
a_dat_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['αδπ2'] .. "\n"
dat_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['δπΛ2'] .. "\n"
a_acc_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ααπ2'] .. "\n"
acc_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['απΛ2'] .. "\n"
a_voc_pl2_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. args['ακπ2'] .. "\n"
voc_pl2_str = [=[| style="border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['κπΛ2'] .. "\n"
end -- close pl2 exists
if hasdual then -- need lines only for nom, gen
-- yes dual
-- 2 cols ενδ ΟΡ πλδ
if (args['α'] == 'ενδ' or args['α2'] == 'ενδ' or args['α'] == 'πλδ' or args['α2'] == 'πλδ') and args['δυ'] ~= '-'
and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
then
du_title_str = [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:80%; line-height:100%;" colspan="2" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%;" align="center" colspan="1" | ]=] .. args['αοδ'] .. "\n"
nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="1" | ]=] .. args['οδΛ'] .. "\n"
a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%;" align="center" colspan="1" | ]=] .. args['αγδ'] .. "\n"
gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="1" | ]=] .. args['γδΛ'] .. "\n"
-- 4 cols
elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
then
du_title_str = [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:80%; line-height:100%;" colspan="4" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αοδ'] .. ' ' .. "\n"
nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['οδΛ'] .. "\n"
a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αγδ'] .. ' ' .. "\n"
gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['γδΛ'] .. "\n"
-- 6 cols for en en2 pl
elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
then
du_title_str = [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:80%; line-height:100%;" colspan="6" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αοδ'] .. ' ' .. "\n"
nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['οδΛ'] .. "\n"
a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αγδ'] .. ' ' .. "\n"
gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['γδΛ'] .. "\n"
-- 6 cols for en pl pl2
elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
then
du_title_str = [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:80%; line-height:100%;" colspan="6" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αοδ'] .. ' ' .. "\n"
nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['οδΛ'] .. "\n"
a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αγδ'] .. ' ' .. "\n"
gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['γδΛ'] .. "\n"
-- 8 cols for en en2 pl pl2
elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
then
du_title_str = [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:80%; line-height:100%;" colspan="8" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="4" | ]=] .. args['αοδ'] .. ' ' .. "\n"
nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="4" | ]=] .. args['οδΛ'] .. "\n"
a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="4" | ]=] .. args['αγδ'] .. ' ' .. "\n"
gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="4" | ]=] .. args['γδΛ'] .. "\n"
-- 4 cols for other combinations........ hope it is ok
else
du_title_str = [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; font-size:80%; line-height:100%;" colspan="4" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αοδ'] .. ' ' .. "\n"
nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['οδΛ'] .. "\n"
a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
[=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αγδ'] .. ' ' .. "\n"
gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell ..
[=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['γδΛ'] .. "\n"
end -- close if ... numbers exist
end -- close dual
-- ============================= ROWS
-- extra title
if args['mod-τίτλος'] ~= '' and args['mod-τίτλος'] ~= nil then extratitle =
'|-' .. extratitle_str .. "\n" .. [=[|-]=]
end
-- stem_line
if args['θέματα'] ~= '' and args['θέματα'] ~= nil then stem_line =
'|-' .. "\n" .. [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 .. [=[; line-height:100%;" align="left"| ]=] .. "\n" .. stem_cell .. [=[|-]=]
end
-- subtitle line
-- sg, pl have different number
if (args['υπότιτλος-εν'] ~= '' or args['υπότιτλος-πλ'] ~= '') then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ]=] .. "\n" .. subtitle_sg .. subtitle_pl .. [=[|-]=]
end
-- 2 singulars, pl
if args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ]=] .. "\n" .. subtitle_sg .. subtitle_sg2 .. subtitle_pl .. [=[|-]=]
end
-- sg, 2 plurals
if args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ]=] .. "\n" .. subtitle_sg .. subtitle_pl .. subtitle_pl2 .. [=[|-]=]
end
-- 2 singulars + 2 plurasl
if args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil and args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"| ]=] .. "\n" .. subtitle_sg .. subtitle_sg2 .. subtitle_pl .. subtitle_pl2 .. [=[|-]=]
end
-- ouput WIHTOUT dual
if args['α'] == 'εν' or args['α2'] == 'εν' or args['α'] == 'πλ' or args['α2'] == 'πλ' or args['δυ'] == '-' or args['καθ'] == '1' or args['kath'] == '1' then
-- + extratitle_str
if args['mod-τίτλος'] ~= '' and args['mod-τίτλος'] ~= nil then
-- FOR mediaeval GKM output without datives - test [[παλληκάριον]]
if args['δοτ'] == '-' or args['dat'] == '-' then
output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_extra .. [=[; border-right:1px solid ]=] .. c_extra ..
[=[; text-align:center; line-height:100%;" align="center" colspan="9" | ]=] .. extratitle_str ..
[=[|-
| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
[=[; text-align:center; font-size:90%;" align="center"| ↓ ''πτώσεις'' ]=] ..
"\n" .. sg_title_str.. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| 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_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_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_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_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_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
[=[; text-align:right;"| [[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. paratirisi .. appendix .. [=[|}]=]
else --yes datives (when no dual, yes extratitles)
output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_extra .. [=[; border-right:1px solid ]=] .. c_extra ..
[=[; text-align:center; line-height:100%;" align="center" colspan="9" | ]=] .. extratitle_str ..
[=[|-
| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
[=[; text-align:center; font-size:90%;" align="center"| ↓ ''πτώσεις'' ]=] ..
"\n" .. sg_title_str.. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| 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_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_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_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_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_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_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_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
[=[; text-align:right;"| [[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. paratirisi .. appendix .. [=[|}]=]
end -- close if dat=-
else -- no extratitle_str
-- FOR mediaeval GKM output without datives when no dual, no extratitles - test [[παλληκάριον]]
if args['δοτ'] == '-' or args['dat'] == '-' 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.. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| 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_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_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_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_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_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
[=[; text-align:right;"| [[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. paratirisi .. appendix .. [=[|}]=]
else --yes datives (when no dual, no extratitles)
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.. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| 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_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_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_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_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_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_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_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
[=[; text-align:right;"| [[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. paratirisi .. appendix .. [=[|}]=]
end -- close if dat=-
end -- close extratitle_str
else -- WITH dual
-- + extratitle_str
if args['mod-τίτλος'] ~= '' and args['mod-τίτλος'] ~= nil then
output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_extra .. [=[; border-right:1px solid ]=] .. c_extra ..
[=[; text-align:center; line-height:100%;" align="center" colspan="9" | ]=] .. extratitle_str ..
[=[|-
| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
[=[; text-align:center; font-size:90%;" align="center"| ↓ ''πτώσεις'' ]=] ..
"\n" .. sg_title_str .. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| 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_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_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_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_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_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_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_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
[=[; text-align:right;"| [[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. [=[|-
! style="background:]=] .. c_3 .. [=[; border-top:1px solid ]=] .. c_4 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
[=[; text-align:center; font-size:90%; line-height:100%;" align="center"| ]=] ..
"\n" .. du_title_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
[=[; text-align:right; font-size:85%; line-height:100%;"| <span title="πτώσεις ὀνομαστικὴ, αἰτιατική καὶ κλητική" style="color:black;">''ονομ-αιτ-κλ''</span>]=] ..
"\n" .. a_nom_du_str .. nom_du_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
[=[; text-align:right; font-size:85%; line-height:100%;"| <span title="πτώσεις γενικὴ καὶ δοτική" style="color:black;">''γεν-δοτ''</span>]=] ..
"\n" .. a_gen_du_str .. gen_du_str .. paratirisi .. appendix .. [=[|}]=]
else -- no extratitle_str
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 .. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| 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_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_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_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_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_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_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_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
[=[; text-align:right;"| [[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. [=[|-
! style="background:]=] .. c_3 .. [=[; border-top:1px solid ]=] .. c_4 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
[=[; text-align:center; font-size:90%; line-height:100%;" align="center"| ]=] ..
"\n" .. du_title_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
[=[; text-align:right; font-size:85%; line-height:100%;"| <span title="πτώσεις ὀνομαστικὴ, αἰτιατική καὶ κλητική" style="color:black;">''ονομ-αιτ-κλ''</span>]=] ..
"\n" .. a_nom_du_str .. nom_du_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
[=[; text-align:right; font-size:85%; line-height:100%;"| <span title="πτώσεις γενικὴ καὶ δοτική" style="color:black;">''γεν-δοτ''</span>]=] ..
"\n" .. a_gen_du_str .. gen_du_str .. paratirisi .. appendix .. [=[|}]=]
end -- close extratitle_str
end -- close output if dual exists
--------------------------------------------------------------------------
-- 4. Categories / Κατηγορίες --
-- DO NOTTT do anything with cat_decl here. Only typos categories
-- μέρος λόγου = the PartOfSpeech (plus as ProperNouns, Surnames etc) -- see above, if όνομα=1, then pos = κύρια...
-- τύπος = the catchword of the category in quotation marks
-- may be τύπος=-
-- κατ = overrides τύπος
-- and free categories
--------------------------------------------------------------------------
-- Categories only in mainspace
local page = mw.title.getCurrentTitle()
page.name = page.text:match( "^%s*(.-)%s*$" )
if page.namespace == 0 then -- Categories work only in MAIN namespace
-- 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
local group = args['ομάδα'] or '' -- need to write it AGAIN HERE
if args['ομάδα'] ~= '' and args['ομάδα'] ~= nil then
-- see above the appendix line
if args['ομάδα'] == 'συγκοπτόμενα' then
output = output .. "[[Κατηγορία:" .. "Ουσιαστικά συγκοπτόμενα (αρχαία ελληνικά)]]"
else
output = output .. "[[Κατηγορία:" .. 'Ουσιαστικά' .. " που κλίνονται όπως η ομάδα '" .. group .. "' (" .. 'αρχαία ελληνικά' .. ")]]"
-- output = output .. "[[Κατηγορία:" .. cat_pos .. " που κλίνονται όπως η ομάδα '" .. group .. "' (" .. lang_name .. ")]]"
end
end
-- if args['κατηγορία κλίσης'] ~= "-" and args['κατηγορία κλίσης'] ~= '' and args['κατηγορία κλίσης'] ~= nil then
-- see above the appendix line
-- SEE notes & add the category at ΚΑΤΗΓΟΡΙΕΣ under mainspace and uner nocat
-- all the neuter plurals:
if args['gkm'] == '2' then
output = output .. "[[Κατηγορία:" .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'μεσαιωνικά ελληνικά' .. ")]]"
else
-- all grc, grc-koi, grc-... UNDER αρχαία ελληνικά
if args['κατηγορία κλίσης'] == 'ανώμαλα' or args['κατηγορία κλίσης'] == 'ιδιόκλιτα'
or args['κατηγορία κλίσης'] == 'ελλειπτικά' or args['κατηγορία κλίσης'] == 'ετερόκλιτα'
or args['κατηγορία κλίσης'] == 'μεταπλαστά' or args['κατηγορία κλίσης'] == 'συγκοπτόμενα'
or args['κατηγορία κλίσης'] == 'μονοσύλλαβα με εξαιρέσεις'
then
if args['gkm'] == '2' then
output = output .. "[[Κατηγορία:" .. 'Ουσιαστικά' .. ' ' .. cat_decl .. " (" .. 'μεσαιωνικά ελληνικά' .. ")]]"
else -- all grc, grc-koi, gkm=1
output = output .. "[[Κατηγορία:" .. 'Ουσιαστικά' .. ' ' .. cat_decl .. " (" .. 'αρχαία ελληνικά' .. ")]]"
end
else
-- in neuter singular
if args['gkm'] == '2' then
output = output .. "[[Κατηγορία:" .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'μεσαιωνικά ελληνικά' .. ")]]"
else -- all grc, grc-koi, gkm=1
output = output .. "[[Κατηγορία:" .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ")]]"
end
end
end -- close if gkm
-- end
-- special categories (irregulars) override all categories for declensions, etc.
-- ignore PoS Κύρια ονόματα
if args['ανώμ'] == '1' or args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then -- βλ. και ανώμ+
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα (' .. lang_name ..')]]'
if args['αρσ'] == '1' and (args['ανώμ'] == '1' or args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0') then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα αρσενικά (' .. lang_name ..')]]'
elseif args['θηλ'] == '1' and (args['ανώμ'] == '1' or args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0') then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα θηλυκά (' .. lang_name ..')]]'
elseif args['ουδ'] == '1' and (args['ανώμ'] == '1' or args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0') then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα ουδέτερα (' .. lang_name ..')]]'
elseif args['αθ'] == '1' and (args['ανώμ'] == '1' or args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0') then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα κοινού γένους (' .. lang_name ..')]]'
elseif args['α-θ'] == '1' and (args['ανώμ'] == '1' or args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0') then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα αρσενικά ή θηλυκά (' .. lang_name ..')]]'
elseif args['α-θ'] == '1' and (args['ανώμ'] == '1' or args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0') then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα θηλυκά ή αρσενικά (' .. lang_name ..')]]'
end
-- DO NOT add 'else' here. Irregulars also form categories of their own
-- else -- not irregular
end -- close irregulars here
--typos = args['τύπος'] or args['κατ'] or ''
-- if irregular, assume typos = ['-'] to avoid control category: [[:Κατηγορία:Ουσιαστικά που κλίνονται όπως το '' (' .. lang_name ..')]]'
-- but see NOTESQ if typos is added then a Cateogry is added there too
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['κατ']
-- output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
-- else -- NOT 'κατ'=
typos = args['τύπος']
if args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then -- but not ανώμ=1, this is ONLY for categories
-- ανώμαλα: ... όπως τα 'μεταπλαστά' 'ετερόκλιτα' κλπ
cat_decl_str = ' [[:Κατηγορία:' .. 'Ουσιαστικά' .. " με κλίση όπως τα '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ')|Κατηγορία]]'
.. '[[Κατηγορία:' .. 'Ουσιαστικά' .. " με κλίση όπως τα '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ')]]'
elseif args['κλίση'] == '2αττ' then
cat_decl_str = ' [[:Κατηγορία:' .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ')|Κατηγορία]]'
.. '[[Κατηγορία:' .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ')]]'
else -- klisi 1, 2, 3
cat_decl_str = ' [[:Κατηγορία:' .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ')|Κατηγορία]]'
.. '[[Κατηγορία:' .. 'Ουσιαστικά' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'αρχαία ελληνικά' .. ')]]'
end
-- Υπο-Κατηγορίες για α, α2 / make subcategories for numbers
-- CONTROL e.g. τέκνον
-- SUPPRESS declensins in one number BY DEFAULT (from the functions) e.g. [[Νεκῶς]] [[Νεκώς]]
-- εν = νέκταρ ενDEFAULT = καμινώ εν+εξ =
if args['α'] == 'εν' or args['α'] == 'ενδ' then
if args['sg-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' χωρίς πληθυντικό (" .. lang_name .. ")]]"
end
end
-- πλ = δίδακτρα Διονύσια πλDEF = no example πλ+εξ = ἐτησίαι
if args['α'] == 'πλ' or args['α'] == 'πλδ' then
if args['pl-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' χωρίς ενικό (" .. lang_name .. ")]]"
end
end
-- α2 εν ᾨδεῖον α2εν+εξ=
if args['α2'] == 'εν' or args['α2'] == 'ενδ' then
if args['sg-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' στον ενικό (" .. lang_name .. ")]]"
end
end
-- α2πλ = Πεισιστρατίδαι α2πλ+εξ
if args['α2'] == 'πλ' or args['α2'] == 'πλδ' then
if args['pl-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' στον πληθυντικό (" .. lang_name .. ")]]"
end
end
-- εξ=1 σκέτο δεσπότης
if args['εξ'] == '1' or args['εξαίρεση'] == '1' then -- check [[δεσπότης]] [[Σουσάννα]]
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ")]]"
end
-- if nothing of the above, then the general 'που κλίνονται όπως το 'τύπος'
if args['α'] ~= 'εν' and args['α'] ~= 'ενδ' and args['α'] ~= 'πλ' and args['α'] ~= 'πλδ'
and args['α2'] ~= 'εν' and args['α2'] ~= 'ενδ' and args['α2'] ~= 'πλ' and args['α2'] ~= 'πλδ'
and args['εξ'] ~= '1'
then
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
end
--[=[
if args['α'] == 'εν' or args['α'] == 'ενδ' then -- and (args['κατ'] == '' or args['κατ'] == nil) then
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' χωρίς πληθυντικό (" .. lang_name .. ")]]"
if args['εξ'] == '1' or args['εξαίρεση'] == '1' then -- check [[δεσπότης]] [[Σουσάννα]]
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
end
if args['sg-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' χωρίς πληθυντικό (" .. lang_name .. ")]]"
end
elseif args['α'] == 'πλ' or args['α'] == 'πλδ' then -- and (args['κατ'] == '' or args['κατ'] == nil) then
if args['εξ'] == '1' or args['εξαίρεση'] == '1' then -- check [[δεσπότης]] [[Σουσάννα]]
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
end
if args['pl-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' χωρίς ενικό (" .. lang_name .. ")]]"
end
elseif args['α2'] == 'εν' or args['α2'] == 'ενδ' then -- and (args['κατ'] == '' or args['κατ'] == nil) then
if args['εξ'] == '1' or args['εξαίρεση'] == '1' then -- check [[δεσπότης]] [[Σουσάννα]]
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
end
if args['sg-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' στον ενικό (" .. lang_name .. ")]]"
end
elseif args['α2'] == 'πλ' or args['α2'] == 'πλδ' then -- and (args['κατ'] == '' or args['κατ'] == nil) then
if args['εξ'] == '1' or args['εξαίρεση'] == '1' then -- check [[δεσπότης]] [[Σουσάννα]]
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
end
if args['pl-default'] == '1' then -- default at function for all the declension
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' στον πληθυντικό (" .. lang_name .. ")]]"
end
else
-- SUPPRESS που κλίνονται όπως το.. when εξ=1 (exceptions), but keep the above.
if args['εξ'] == '1' or args['εξαίρεση'] == '1' then -- check [[δεσπότης]] [[Σουσάννα]]
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' εξαιρέσεις (" .. lang_name .. ")]]"
else
output = output .. '[[Κατηγορία:' .. cat_pos .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
end
end -- close Υπο-Κατηγορίες για α, α2 / make subcategories for numbers
]=]--
-- end -- close 'κατ'=
end -- close if = '-'
-- κλίσεις 1, 2, 3 & βλ. ανώμ=1 & ανώμ+
if args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης (' .. lang_name .. ')]]' end
if args['κλίση'] == '2αττ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αττικόκλιτα (' .. lang_name .. ')]]' end
if args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης (' .. lang_name .. ')]]' end
-- κλίσεις + αριθμός-- check [[ἐτησίαι]]
if args['κλίση'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2αττ' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αττικόκλιτα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2αττ' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αττικόκλιτα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2αττ' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αττικόκλιτα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2αττ' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αττικόκλιτα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2αττ' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αττικόκλιτα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '2αττ' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αττικόκλιτα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
if args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης χωρίς ενικό (' .. lang_name .. ')]]' end
-- γένος + κλίση // και κοινού γένους (τα διπλού γένους ο/η άνθρωπος) + πολλαπλά γένη
if args['αρσ'] == '1' and args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης αρσενικά (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης θηλυκά (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης κοινού γένους (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης αρσενικά ή θηλυκά (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης θηλυκά ή αρσενικά (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης ουδέτερα (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης κοινού γένους (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά ή θηλυκά (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά ή αρσενικά (' .. lang_name .. ')]]' end
if args['θο'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά ή ουδέτερα (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and args['κλίση'] == '2αττ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά αττικόκλιτα (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '2αττ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά αττικόκλιτα (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '2αττ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης ουδέτερα αττικόκλιτα (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '2αττ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης κοινού γένους αττικόκλιτα (' .. lang_name .. ')]]' end
-- α-θ θ-α
if args['αρσ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης αρσενικά (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης θηλυκά (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης ουδέτερα (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης κοινού γένους (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης αρσενικά ή θηλυκά (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης θηλυκά ή αρσενικά (' .. lang_name .. ')]]' end
-- γένος + κλίση + αριθμός -- check [[ἐτησίαι]]
if args['αρσ'] == '1' and args['κλίση'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης αρσενικά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης θηλυκά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης ουδέτερα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης κοινού γένους χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά ή θηλυκά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά ή αρσενικά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θο'] == '1' and args['κλίση'] == '2' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά ή ουδέτερα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά αττικόκλιτα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά αττικόκλιτα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης ουδέτερα αττικόκλιτα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης κοινού γένους αττικόκλιτα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
-- α-θ θ-α
if args['αρσ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης αρσενικά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης θηλυκά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης ουδέτερα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης κοινού γένους χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης αρσενικά ή θηλυκά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and args['κλίση'] == '3' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης θηλυκά ή αρσενικά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and args['κλίση'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης αρσενικά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 1ης κλίσης θηλυκά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης ουδέτερα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης κοινού γένους χωρίς ενικό (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά ή θηλυκά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά ή αρσενικά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θο'] == '1' and args['κλίση'] == '2' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά ή ουδέτερα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης αρσενικά αττικόκλιτα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης θηλυκά αττικόκλιτα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης ουδέτερα αττικόκλιτα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '2αττ' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 2ης κλίσης κοινού γένους αττικόκλιτα χωρίς ενικό (' .. lang_name .. ')]]' end
-- α-θ θ-α
if args['αρσ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης αρσενικά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης θηλυκά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης ουδέτερα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης κοινού γένους χωρίς ενικό (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης αρσενικά ή θηλυκά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and args['κλίση'] == '3' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output
.. '[[Κατηγορία:' .. cat_pos .. ' 3ης κλίσης θηλυκά ή αρσενικά χωρίς ενικό (' .. lang_name .. ')]]' end
-- end -- close irregulars CANCELLED, ignor this
end -- close κατηγορία
-- subtitles / Κατηγορίες για γένη
if args['αρσ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' αρσενικά (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' ουδέτερα (' .. lang_name .. ')]]' end
if args['αθ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' κοινού γένους (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' αρσενικά ή θηλυκά (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά ή αρσενικά (' .. lang_name .. ')]]' end
if args['θο'] == '1' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά ή ουδέτερα (' .. lang_name .. ')]]' end
-- γένος + αριθμός -- check [[ἐτησίαι]]
if args['αρσ'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' αρσενικά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' ουδέτερα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' κοινού γένους χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['α-θ'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' αρσενικά ή θηλυκά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θ-α'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά ή αρσενικά χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['θο'] == '1' and (args['α'] == 'εν' or args['α'] == 'ενδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά ή ουδέτερα χωρίς πληθυντικό (' .. lang_name .. ')]]' end
if args['αρσ'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' αρσενικά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θηλ'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά χωρίς ενικό (' .. lang_name .. ')]]' end
if args['ουδ'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' ουδέτερα χωρίς ενικό (' .. lang_name .. ')]]' end
if args['αθ'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' κοινού γένους χωρίς ενικό (' .. lang_name .. ')]]' end
if args['θο'] == '1' and (args['α'] == 'πλ' or args['α'] == 'πλδ') then output = output .. '[[Κατηγορία:' .. cat_pos .. ' θηλυκά ή ουδέτερα χωρίς ενικό (' .. lang_name .. ')]]' end
-- έξτρα: υποθετικό
-- + and args['υποκατ'] == ''
if args['αρσ'] ~= '1' and args['θηλ'] ~= '1' and args['ουδ'] ~= '1'
and args['αθ'] ~= '1' and args['α-θ'] ~= '1' and args['θ-α'] ~= '1'
and args['υποκατ'] == '' then
output = output .. '[[Κατηγορία:' .. cat_pos .. ' χωρίς γένος (' .. lang_name .. ')]]'
end
-- numbers / Κατηγορίες για τον αριθμό
if args['α'] == 'εν' or args['α'] == 'ενδ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' χωρίς πληθυντικό (' .. lang_name .. ')]]' end -- singularia tanutm
if args['α'] == 'πλ' or args['α'] == 'πλδ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' χωρίς ενικό (' .. lang_name .. ')]]' end -- pluralia tantum
if args['α2'] == 'εν' or args['α2'] == 'ενδ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' στον ενικό (' .. lang_name .. ')]]' end -- mostly in the singular
if args['α2'] == 'πλ' or args['α2'] == 'πλδ' then output = output .. '[[Κατηγορία:' .. cat_pos .. ' στον πληθυντικό (' .. lang_name .. ')]]' end -- mostly in the plural
-- γενικές: αν εμφανίζεται ΜΟΝΟ στον αντίθετο αριθμό, να μην εισάγεται στην Κατηγορία
-- βλ. και επιμέρους functions όπου υπάρχει αυτή η σύμβαση
-- όπως (...) ΜΑΛΛΟΝ μόνον για νέα ελληνικά
--[=[ MODERN GREEK ONLY
if args['γε'] == '-' then
if args['α'] ~= 'πλ' and args['α2'] ~= 'πλ' then
output = output .. '[[Κατηγορία:' .. cat_pos .. ' χωρίς γενική ενικού (' .. lang_name .. ')]]'
end
end
-- όταν υπάρχουν 2 πληθυντικοί αλλά λείπει η πρώτη ΜΑΛΛΟΝ μόνον για νέ αλληνικά
if args['γπ'] == '-' and args['γπ2'] == nil then
if args['α'] ~= 'εν' and args['α2'] ~= 'εν' then
output = output .. '[[Κατηγορία:' .. cat_pos .. ' χωρίς γενική πληθυντικού (' .. lang_name .. ')]]'
end
end
]=]--
-- plus, see above, args['εξ'] == '1' creates Κατηγορία:..... εξαιρέσεις
-- IF exception, then
-- plus, if second column is added for a) second declension or b) for dialectal forms
-- see above
-- free EXTRA category for nouns of other irregulara
if args['ανώμ+'] == '1' then -- βλ. και ανώμ -- [[αἶρα]]
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα (' .. lang_name ..')]]'
if args['αρσ'] == '1' and args['ανώμ+'] == '1' then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα αρσενικά (' .. lang_name ..')]]'
elseif args['θηλ'] == '1' and args['ανώμ+'] == '1' then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα θηλυκά (' .. lang_name ..')]]'
elseif args['ουδ'] == '1' and args['ανώμ+'] == '1' then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα ουδέτερα (' .. lang_name ..')]]'
elseif args['αθ'] == '1' and args['ανώμ+'] == '1' then
output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα κοινού γένους (' .. lang_name ..')]]'
end
end
-- ======= 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
----------------------------------------------------------------------------------------
-- GENERAL PATTERNS of DECLENSIONS / ΜΗΤΡΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΚΛΙΣΕΩΝ
-----------------------------------------------------------------------------------------
--------------------------------5. DECL--------------------------------------
-- decl - it creates functions for specific declensions at the function pages
-- otherwise, it is EXACTLY like free
-----------------------------------------------------------------------------
decl = function(args) -- creates functions at the /function page
-- all the declension parameters & functions: ======================
require ('Module:grc-nouns-decl/param').param (args)
------------
return fulltable(args)
end
--------------------------------------------------------------------------
-- CREATE a DECLENSION TABLE directly at lemma page --
--------------------------------------------------------------------------
-- invoke directly from pages -- use with caution; better created a function
export.free = function(frame)
--local args = frame:getParent().args -- for Templates
local args = frame.args -- invoke
-- all the declension parameters & functions: ======================
require ('Module:grc-nouns-decl/param').param (args)
------------
return fulltable(args) .. '[[Κατηγορία:grc-nouns-decl-manual]]'
end
--------------------------------------------------------------------------
-- SPECIFIC TEMPLAGES / ΕΠΙΜΕΡΟΥΣ ΠΡΟΤΥΠΑ --
--------------------------------------------------------------------------
-- =============== declensions 1-2-3 and 4=irregulars ================= --
-- see pages /1, /2, /3, /4
return export
--[=[ EXPLANATIONS
* monosyllable Template-catchwords, have no accents or diacritics for easytype. (αλς μην Τρως)
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 + = WITH prosody e.g. οε+=
* mod- Prefix for params defined IN the module at function pages
Without it, are the editor's choices at the lemma-page
STEM formation: (default stem is lemma minus 2 letters from the end)
stem['θ'] = stem as found in lemma
θοξ = convert perispomeni to okseia, or let okseia be
θπ = convert okseia to perispomeni, or let persipomeni be
θ1 = stem with accent okseia on its last syllble θ1οξ = with okseia θ1π = with perispomeni
θ2 = stem with accent (always okseia) on its 2nd syllable from the end
Stem is defined in functions, when singular, and when plural if different from singular (pluarlia tantum)
For pluralia tantum by DEFAULT in functions with args['α'] = 'εν':
suppress the Cat. Ουσιαστικά που κλίνονται όπως το 'ΧΧ' χωρίς πληθυντικό (see ΚΑΤΗΓΟΡΙΕΣ)
with args['sg-default'] = '1'
Similarly, for pl-default
]=]--
--[=[ HELP for modules
See all parameters at the /param page.
STEMS: default stem is minus 2 letters from the end (stemnumber 3) args['μείον'] = 2
-- otherwise stems should be written out
If special features are needed (brackets, etc), then the full line should be written,
with create_link, as in /param page or function linkcontrol
Examples:
local stem = {}
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- stem as found in lemma
-- start from 1st letter of lemma, stop at 3rd from the end (minus 2 letters, stemnumber=3)
stem["θ0"] = m_stems.word0(stem["θ"]) -- remove accent
stem["θ1"] = m_stems.word1(stem["θ0"]) -- accent on 1st syllable from the end
--(Accent is tonos or oksia. Used mainly for monotonic script)
stem["θο"] = m_stems.PerispomeniToOxia(stem["θ"]) -- convert perispomeni to okseia -- also named θ1ο
stem["θπ"] = m_stems.OxiaToPerispomeni(stem["θ"]) -- convert okseia to perispomeni -- also named θ1π
stem["θ2"] = m_stems.word2(stem["θ0"]) -- accent okseia on 2nd syllable from the end
EXAMPLES find in lemma: all letter strings at [[User:Sarri.greek/fonts-greek]]
if the lemma is (plus pluralia)
if args["λήμμα"] == 'σφραγίς' or args["λήμμα"] == 'σφραγῖδες'
find in lemma
if mw.ustring.find(args['λήμμα'], m_data.vowel_perispomeni) -- '[ᾶᾷἆᾆἇᾇῆῇἦᾖἧᾗῖἶἷῗῦὖὗῧῶῷὦᾦὧᾧἎᾎἏᾏἮᾞἯᾟἾἿὟὮᾮὯᾯ]') -- any vowel with perispomeni
then
letters at end of word
if mw.ustring.find(args['λήμμα'], 'υς$') or mw.ustring.find(args['λήμμα'], 'υνς$')
EXAMPLES for links
args['γπΛ2'] = linkcontrol3((stem["θ1"]), "δ", "ων")
args['δπΛ2'] = create_link(stem["θ"] .. "σι", stem_color(stem["θ"]) .. ending_color("σῐ")) .. '(' .. create_link(stem["θ"] .. "σιν", ending_color("ν")) .. ')'
args['απΛ2'] = create_link(stem["θ"] .. "δ" .. "ας", stem_color(stem["θ"]) .. infix_color("δ") .. ending_color("ᾰς"))
κατηγ0 = Λέξεις οξύτονες
κατηγ01 = Ουσιαστικά που κλίνονται όπως το ...
κατηγ02 = Λέξεις με άγνωστη προσωδία
κατηγ03 = Ουσιαστικά με κλίση όπως το cat_decl με άγνωστη προσωδία
cat-extra0= Ουσιαστικά με κλίση όπως το cat_decl με άγνωστη προσωδία (αρχαία ελληνικά)
υποκατ0 = οξύτονα
υποκατ01 = γένος
υποκατ02 = γένος οξύτονα
υποκατ03 = που κλίνονται όπως to 'χχ' αρσενικά/θηλυκά κλπ
υποκατ04 = που κλίνονται όπως to 'χχ' προπερισπώμενα κλπ
]=]--