Модуль:grc-nouns-decl
Документацію для цього модуля можна створити у Модуль:grc-nouns-decl/документація
-- давньогрецька Іменники - 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: -- note: in some browsers, border is not visible. Need border="1"
local float = args['float'] or ''
if args['float'] == 'left' then
table_style1 = 'style="clear:left; float:left; position:relative; margin: 0px 1.5em 0.5em 0px; background:#ffffff; border:1px solid' .. c_border ..'; text-align:left;" rules="none" 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; border:1px solid' .. c_border ..'; text-align:center;" rules="none" border="1" cellpadding="3" cellspacing="0"'
else
table_style1 = 'style="clear:right; float:right; margin-left:0.5em; margin-bottom:0.5em;background:#ffffff; border:1px solid' .. c_border ..'; text-align:right;" rules="none" 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 [[Appendix:Іменники (давньогрецька)]]
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['κατηγορία κλίσης'] == "-" 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 .. " (" .. 'давньогрецька' .. ")|Категорія '" .. cat_decl .. "']]"
elseif args['κατηγορία κλίσης'] == 'μονοσύλλαβα με εξαιρέσεις' then
cat_decl_str = " [[:Категорія:Іменники μονοσύλλαβα με εξαιρέσεις (давньогрецька)|Категорія 'μονοσύλλαβα']]"
else
-- in neuter singular
cat_decl_str = " [[:Категорія:" .. 'Іменники' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'давньогрецька' .. ")|Категорія '" .. cat_decl .. "']]"
end
end
-- όπως = a link to Appendix's clitic paradigm
local as_in = args['όπως'] or ''
if as_in ~= '' and as_in ~= nil then
if args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then
as_in = ' όπως «[[Appendix:Іменники (давньогрецька)/ανώμαλα#' .. as_in .. '|' .. as_in .. ']]»'
elseif args['κλίση'] == '2αττ' then
as_in = ' όπως «[[Appendix:Іменники (давньогрецька)/2#' .. as_in .. '|' .. as_in .. ']]»'
else -- klisi 1, 2, 3
as_in = ' όπως «[[Appendix:Іменники (давньогрецька)/' .. klisi .. '#' .. as_in .. '|' .. as_in .. ']]»'
end
end
-- append WRITE the first part of the appendix line
if args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then
append = '[[Appendix:Іменники (давньогрецька)/ανώμαλα|ανώμαλη κλίση]], ' .. group .. cat_decl_str .. as_in .. ' - '
elseif args['κλίση'] == '2αττ' then
append = '[[Appendix:Іменники (давньогрецька)/2#αττικόκλιτα|2η κλίση - αττικόκλιτα]], ' .. group .. cat_decl_str .. as_in .. ' - '
elseif args['κλίση'] == '1' or args['κλίση'] == '2' or args['κλίση'] == '3' then
append = '[[Appendix:Іменники (давньогрецька)/' .. 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 .. '[[Appendix:Іменники (давньогрецька)|<span title="Appendix:Іменники (αρχαία)">Appendix:Іменники</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
appendix = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
appendix = appendix .. append .. '[[Appendix:Іменники (давньогрецька)|<span title="Appendix:Іменники (αρχαία)">Appendix:Іменники</span>]]'
.. about .. "\n"
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
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>]]!]=] ..
"\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 -- 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>]]!]=] ..
"\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 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>]]!]=] ..
"\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>]]!]=] ..
"\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['κατηγορία κλίσης'] == 'ανώμαλα' or args['κατηγορία κλίσης'] == 'ετερόκλιτα' or args['κατηγορία κλίσης'] == 'ιδιόκλιτα'
or args['κατηγορία κλίσης'] == 'μεταπλαστά' or args['κατηγορία κλίσης'] == 'συγκοπτόμενα'
or args['κατηγορία κλίσης'] == 'μονοσύλλαβα με εξαιρέσεις'
then
output = output .. "[[Категорія:" .. 'Іменники' .. ' ' .. cat_decl .. " (" .. 'давньогрецька' .. ")]]"
else
-- in neuter singular
output = output .. "[[Категорія:" .. 'Іменники' .. " με κλίση όπως το '" .. cat_decl .. "' (" .. 'давньогрецька' .. ")]]"
end
-- 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 'χχ' προπερισπώμενα κλπ
]=]--