Module:xx
Documentation for this module may be created at Module:xx/τεκμηρίωση
-- [[Module:xx/param]] - [[Module:xx/1]] - [[Template:xx]]
-- αρχαία ελληνικά ρήματα - Conjugation of verbs for Ancient Greek, Hellenistic Koine
-- Also can be used for Mediaeval Greek and other polytonic versions of Greek.
-- Editors can suppress the module parameters (mod-xx=) by writing xx= (see /param page)
--[=[
STRUCTURE:
1. required modules, stem production
2. links and style
3. the TABLE
4. Categories (only for main form)
5. decl links to /param page (basic function for declensions in the functionpages)
6. free links to /param page (invoke from pages)
EDITOR_MUST_DEFINE δίχρ= #1λύω #1καταφέρω
]=]--
--[=[ EXPLANATIONS
Abbreviations of parameters
* CELLS: initial greek letters for person+number - mood e.g. 1ε-ορ (οριστική) 2ε-υπ (υποτακτική) 3π-ευ (3 πληθυντικός ευκτική)
ε = ενικός π = πληθυντικός δ = δυϊκός ορ=οριστική υπ=υποτακτική ευ=ευκτική
απρ=απαρέμφατο μ-αρσ=μετοχή αρσενικό μ-θηλ μ-ουδ
Each cell may have two word and a note
* WORDS suffix -λ = λέξη e.g. 1ε-ορ-λ is the first word of the cell.
1ε-ορ2-λ is the second word of the cell
1ε-ορ-σημ is the note for the 1st word, 1ε-ορ2-σημ note for the 2nd word
* STEMS -θ suffix (θέμα) = e.g. 1ε-ορ-θ is the stem of 1st person singular indicative
and + = WITH prosody to be viewed in the link
* ENDINGS -κ suffix (κατάληξη) .e.g. 1ε-ορ-κ is the ending of the above, 1ε-ορ-κ+ is its prosody
* mod- Prefix for params defined IN the module at function pages
Without it, are the editor's choice IN the page
STEM formation: (default stem is lemma minus 1 letter from the end)
stem['θ'] = stem as found in lemma
θοξ = convert okseia to perispomeni
θπ = convert perispomeni to okseia
θ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)
greek nu v = '1' for movable nu at some persons
]=]--
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:xx'
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
-- example: stem["θ0"] = m_stems.word0(stem["θ"])
-- 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 ΐῒῗΰῢῧ
-- 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 = '#ffffff' -- '#c9d7e8' -- same as c3 or stronger: same as c_1
c_bord = '#dddddd' -- outer border
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 = '#93aed2' -- dark for extratitles
c_1 = '#a5bcd9' -- main title
c_2 = '#c9d7e8' -- subtitles
c_2b = '#dbe4f0' -- side subtitles
c_3 = '#edf2f7' -- the cells
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:2px; padding-left:11px;" -- tested, rejected: Palatino linotype; font-family:Times;
fontsize_cell = "font-size:90%;" -- 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
-- ====================== 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
-- border, here is seen only by border="1" or "2" thicekr
table_style2 = 'style="clear:left; float:left; position:relative; margin: 0px 1em 0em 0px; background:#ffffff; border:1px solid'
.. '#dddddd' ..'; width:80%; text-align:left;" rules="none" cellpadding="0" cellspacing="0"'
elseif args['float'] == 'right' then
table_style2 = 'style="clear:right; float:right; margin-left:0em; margin-bottom:0em;background:#ffffff; border:1px solid'
.. '#dddddd' ..'; width:80%; text-align:right;" rules="none" cellpadding="0" cellspacing="0"'
else -- default center
table_style2 = 'style="margin-left:auto; margin-right:auto; margin-bottom:0em; background:#ffffff; border:1px solid'
.. '#dddddd' ..'; text-align:center;" align="center" rules="none" cellpadding="0" cellspacing="0"'
end
-- =============== LANGUAGES for categories and notes
-- see /param page
-- =============== OTHER PARAMs
-- OTHER
local dichr = args['δίχρ'] or '' -- for dichronous (either macron or brachy δίχρ=β is brachy)
cat_pos = args['μέρος λόγου'] or 'Ρήματα' -- pos: Part of Speech
local syniz = args['συνίζ'] or ''
if args['συνίζ'] ~= '' and args['συνίζ'] ~= nil then
-- call function export.synizesis(arg) at [[Module:grk-stems]]
-- and make myarg['συνίζ'] to be accepted here
syniz = m_stems.synizesis(arg)
end
-- typos, klisi (kinds of conjugations)
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['κλίση'] == 'ανώμαλα' then klisi = 'ανώμαλα' end
if args['κλίση'] == '0' then klisi = 'ανώμαλα' end
-- row for extra subtitles (dialects or gender of numbers if different)
-- not needed, write note next to the existing subtitle of mood or tense
-- Σημείωση: οι παράμετρες .... = '' χρειάζονται αν ΔΕΝ υπάρχει το /param
-- local ghost_title_str = '' -- I CANNOT understand why 1st row at tables of Lua are so wrong. This is a trick to save the table.
-- title and subtitles
local tense_title_str = '' -- title for the tense
local ind_title_str = '' -- title for indicative mood οριστική
local sub_title_str = '' -- title for subjunctive mood υποτακτική
local opt_title_str = '' -- title for optative mood ευκτική
local imp_title_str = '' -- title for imperative mood προστακτική
local inf_title_str = '' -- title for infinitivus απαρέμφατο
local part_title_str = '' -- title for participia μετοχές
-- side subtitles
local stem_title_str = '' -- 1st cell to write the stem
local sg1_pron_str = '' local sg2_pron_str = '' local sg3_pron_str = ''
local pl1_pron_str = '' local pl2_pron_str = '' local pl3_pron_str = ''
local du2_pron_str = '' local du3_pron_str = ''
local onomatic_title_str = '' -- title: ονοματικοί τύποι
-- cells
local sg1_title_str = '' -- 1st person singularis -- oops!!! CANNOT wrte 1sg
local sg2_title_str = ''
local sg3_title_str = ''
local pl1_title_str = '' -- 1st person pluralis
local pl2_title_str = ''
local pl3_title_str = ''
local du2_title_str = '' -- 2nd person dualis
local du3_title_str = ''
-- the actual cells
local stem_str = ''
local sg1_ind_str = '' local sg2_ind_str = '' local sg3_ind_str = ''
local pl1_ind_str = '' local pl2_ind_str = '' local pl3_ind_str = ''
local du2_ind_str = '' local du3_ind_str = ''
local sg1_sub_str = '' local sg2_sub_str = '' local sg3_sub_str = ''
local pl1_sub_str = '' local pl2_sub_str = '' local pl3_sub_str = ''
local du2_sub_str = '' local du3_sub_str = ''
local sg1_opt_str = '' local sg2_opt_str = '' local sg3_opt_str = ''
local pl1_opt_str = '' local pl2_opt_str = '' local pl3_opt_str = ''
local du2_opt_str = '' local du3_opt_str = ''
local sg1_imp_str = '' local sg2_imp_str = '' local sg3_imp_str = ''
local pl1_imp_str = '' local pl2_imp_str = '' local pl3_imp_str = ''
local du2_imp_str = '' local du3_imp_str = ''
local inf_str = ''
local part_masc_str = '' local part_fem_str = '' local part_neu_str = ''
-- titles (title from module + extra title)
args['mod-τίτλος'] = args['mod-τίτλος'] or '' args['mod-τίτλος+'] = '' -- (notes)
args['χρόνος'] = args['χρόνος'] or ''
if args['lang_title'] ~= '' and args['lang_title'] ~= nil then
args['mod-τίτλος'] = args['lang_title'] .. '<br>' .. args['mod-τίτλος']
end
if args['χρόνος'] ~= '' and args['χρόνος'] ~= nil then
args['mod-τίτλος'] = args['mod-τίτλος'] .. ' <b>' .. args['χρόνος'] .. '</b> ' .. args['mod-τίτλος+']
end
args['οριστική+'] = args['οριστική+'] or '' -- (notes)
args['υποτακτική+'] = args['υποτακτική+'] or ''
args['ευκτική+'] = args['ευκτική+'] or ''
args['προστακτική+'] = args['προστακτική+'] or ''
args['απαρέμφατο+'] = args['απαρέμφατο+'] or ''
args['μετοχές+'] = args['μετοχές+'] or ''
-- if args['θέμα'] ~= '' and args['θέμα'] ~= nil then stem_str = '<span style="font-size:11px;"><i>θέμα:</i></span><br><span style="font-size:20px;">' .. args['θέμα'] .. '</span>' end
if args['θέμα'] ~= '' and args['θέμα'] ~= nil then stem_str = '<span style="font-size:20px;">' .. args['θέμα'] .. '</span>' end
-- NOTES & whole LINES ================================================================
local paratirisi = args['παρατήρηση'] or '' -- notes by editor
local note = args['mod-σημ'] or '' -- standard notes by Template
local appendix = '' -- standard link for [[Παράρτημα:Ρήματα (αρχαία ελληνικά)]]
local append = '' -- link to gourp, category and specific paradigm at Appendix
-- NOT USED
-- group is a super-umbrella category if needed for similar declensions
local group = args['ομάδα'] or '' -- at functions
-- cat_decl does ONE umbrella category for all the 'typos' categories in it, whatever PoS, whatever language (grc, koine)
-- a class of a conjugation
local cat_decl = args['κατηγορία κλίσης'] or '' -- at functions
if args['κατηγορία κλίσης'] == "-" or args['κατηγορία κλίσης'] == '' or args['κατηγορία κλίσης'] == nil then
cat_decl_str = '' -- control cat:
end
-- NOT USED YET
-- όπως = 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 = ' όπως «[[Παράρτημα:Ρήματα (αρχαία ελληνικά)#ανώμαλα' .. as_in .. '|' .. as_in .. ']]»'
else -- klisi 1, 2
as_in = ' όπως «[[Παράρτημα:Ρήματα (αρχαία ελληνικά)/' .. klisi .. '#' .. as_in .. '|' .. as_in .. ']]»'
end
end
-- append WRITE the first part of the appendix line
if args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then
append = '[[Παράρτημα:Ρήματα (αρχαία ελληνικά)#ανώμαλα|ανώμαλη κλίση]], ' .. group .. cat_decl_str .. as_in .. ' - '
elseif args['κλίση'] == '1' or args['κλίση'] == '2' then
append = '[[Παράρτημα:Ρήματα (αρχαία ελληνικά)/' .. klisi .. '|' .. klisi .. 'η συζυγία]], ' .. group .. cat_decl_str .. as_in .. ' - '
end
-- ============== note lines / σημείωση παρατήρηση
if args['mod-σημ'] ~= '' or args['mod-σημ'] ~= nil then
args['παρατήρηση'] = args['παρατήρηση'] or ''
if args['παρατήρηση'] ~= '' or args['παρατήρηση'] ~= nil then
paratirisi = [=[| colspan="5" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
paratirisi = paratirisi .. note .. '<br>' .. args['παρατήρηση'] .. "\n"
else
paratirisi = [=[| colspan="5" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
paratirisi = paratirisi .. note .. "\n"
end
end
if args['mod-σημ'] == '' or args['mod-σημ'] == nil then
args['παρατήρηση'] = args['παρατήρηση'] or ''
if args['παρατήρηση'] ~= '' or args['παρατήρηση'] ~= nil then
paratirisi = [=[| 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 = ''
else --if args['παράρτημα'] ~= '-' and args['παράρτημα'] ~= '' and args['παράρτημα'] ~= nil then
appendix = [=[| colspan="5" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
appendix = appendix .. append .. '[[Παράρτημα:Ρήματα (αρχαία ελληνικά)|<span title="Παράρτημα:Ρήματα (αρχαία)">Παράρτημα:Ρήματα</span>]]'
.. "\n"
end
-- ========== CELLS ===============================================
-- cannot put style here - write it at output. I will never understand how tables work in Lua.
-- add a ghost-first thing
-- ghost_title_str = '' .. "\n"
tense_title_str = [=[| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_bord ..
[=[; border-bottom:1px solid ]=] .. c_border ..
[=[; text-align:center;" align="center" colspan="5" | ]=]
.. args['mod-τίτλος'] .. "\n"
stem_title_str = [=[| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; text-align:center; width:75px;" align="center" | ]=]
.. stem_str .. "\n"
-- adding spaces for better style (width does not work correctly)
ind_title_str = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; width:; text-align:center; font-size:90%;" align="center"| ]=]
.. ' '
.. '[[οριστική|<span style="color:#000000;"><b>οριστική</b></span>]]' .. args['οριστική+']
.. ' ' .. "\n"
sub_title_str = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; width:; text-align:center; font-size:90%;" align="center"| ]=]
.. ' '
.. '[[υποτακτική|<span style="color:#000000;"><b>υποτακτική</b></span>]]' .. args['υποτακτική+']
.. ' ' .. "\n"
opt_title_str = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; width:; text-align:center; font-size:90%;" align="center"| ]=]
.. ' '
.. '[[ευκτική|<span style="color:#000000;"><b>ευκτική</b></span>]]' .. args['ευκτική+']
.. ' ' .. "\n"
imp_title_str = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_bord ..
[=[; width:; text-align:center; font-size:90%;" align="center"| ]=]
.. ' '
.. '[[προστακτική|<span style="color:#000000;"><b>προστακτική</b></span>]]' .. args['προστακτική+']
.. ' ' .. "\n"
onomatic_title_str = [=[| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; text-align:center; font-size:70%; line-height:100%; width:75px;" align="center" rowspan="2" | ]=]
.. 'ονοματικοί<br>τύποι' .. "\n"
inf_title_str = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
[=[; text-align:center; font-size:90%;" align="center"| ]=]
.. '[[απαρέμφατο|<span style="color:#000000;"><b>απαρέμφατο</b></span>]]' .. args['απαρέμφατο+'] .. "\n"
part_title_str = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_bord ..
[=[; text-align:center; font-size:90%;" align="center" colspan="3" | ]=]
.. '[[μετοχή|<span style="color:#000000;"><b>μετοχές</b></span>]]: αρσενικό θηλυκό ουδέτερο'
.. args['μετοχές+'] .. "\n"
sg1_pron_str = [=[| style="background:]=] .. c_2b .. [=[;border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:90%; width:75px; ]=] ..
[=[" align="center" | [[ἐγώ|<span title="1ο πρόσωπο ενικού" style="color:black;">ἐγὼ</span>]]]=] .. "\n"
sg2_pron_str = [=[| style="background:]=] .. c_2b .. [=[;border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:90%; width:75px; ]=] ..
[=[" align="center" | [[σύ|<span title="2ο πρόσωπο ενικού" style="color:black;">σὺ</span>]]]=] .. "\n"
sg3_pron_str = [=[| style="background:]=] .. c_2b .. [=[;border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:90%; width:75px; ]=] ..
[=[" align="center" | [[οὖτος|<span title="3ο πρόσωπο ενικού" style="color:black;">οὖτος</span>]]]=] .. "\n"
pl1_pron_str = [=[| style="background:]=] .. c_2b .. [=[;border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:90%; width:75px; ]=] ..
[=[" align="center" | [[ἡμεῖς|<span title="1ο πρόσωπο πληθυντικού" style="color:black;">ἡμεῖς</span>]]]=] .. "\n"
pl2_pron_str = [=[| style="background:]=] .. c_2b .. [=[;border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:90%; width:75px; ]=] ..
[=[" align="center" | [[ὑμεῖς|<span title="2ο πρόσωπο πληθυντικού" style="color:black;">ὑμεῖς</span>]]]=] .. "\n"
pl3_pron_str = [=[| style="background:]=] .. c_2b .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:90%; width:75px; ]=] ..
[=[" align="center" | [[οὗτοι|<span title="3ο πρόσωπο πληθυντικού" style="color:black;">οὗτοι</span>]]]=] .. "\n"
du2_pron_str = [=[| style="background:]=] .. c_2b .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:70%; width:75px; ]=] ..
[=[" align="center" | 2ο δυϊκός ]=] .. "\n"
du3_pron_str = [=[| style="background:]=] .. c_2b .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:center; font-size:70%; width:75px; ]=] ..
[=[" align="center" | 3ο δυϊκός ]=] .. "\n"
sg1_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; text-align:left; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['1ε-ορ'] .. "\n"
sg1_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['1ε-υπ'] .. "\n"
sg1_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['1ε-ευ'] .. "\n"
sg1_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. '<span style="color:#dddddd;">—</span>' .. "\n"
sg2_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2ε-ορ'] .. "\n"
sg2_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2ε-υπ'] .. "\n"
sg2_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2ε-ευ'] .. "\n"
sg2_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2ε-πρ'] .. "\n"
sg3_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3ε-ορ'] .. "\n"
sg3_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3ε-υπ'] .. "\n"
sg3_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3ε-ευ'] .. "\n"
sg3_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3ε-πρ'] .. "\n"
pl1_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['1π-ορ'] .. "\n"
pl1_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border
.. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['1π-υπ'] .. "\n"
pl1_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=]
.. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['1π-ευ'] .. "\n"
pl1_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=]
.. font_cell .. fontsize_cell ..
[=[" align="center" | ]=] .. '<span style="color:#dddddd;">—</span>' .. "\n"
pl2_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2π-ορ'] .. "\n"
pl2_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2π-υπ'] .. "\n"
pl2_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2π-ευ'] .. "\n"
pl2_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['2π-πρ'] .. "\n"
pl3_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3π-ορ'] .. "\n"
pl3_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3π-υπ'] .. "\n"
pl3_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3π-ευ'] .. "\n"
pl3_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['3π-πρ'] .. "\n"
du2_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['2δ-ορ'] .. "\n"
du2_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['2δ-υπ'] .. "\n"
du2_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['2δ-ευ'] .. "\n"
du2_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['2δ-πρ'] .. "\n"
du3_ind_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['3δ-ορ'] .. "\n"
du3_sub_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['3δ-υπ'] .. "\n"
du3_opt_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['3δ-ευ'] .. "\n"
du3_imp_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; font-size:70%; ]=] .. font_cell ..
[=[" align="left" | ]=] .. args['3δ-πρ'] .. "\n"
inf_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['απρ'] .. "\n"
part_masc_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['μ-αρσ'] .. "\n"
part_fem_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['μ-θηλ'] .. "\n"
part_neu_str = [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_border .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
[=[" align="left" | ]=] .. args['μ-ουδ'] .. "\n"
-- ============================= ROWS
-- NEED to put the style at the first row: it will not accept it above
output = [=[{| ]=] .. table_style2 .. [=[
|-
| ]=]
.. "\n" .. tense_title_str .. [=[|-
| ]=]
.. "\n" .. stem_title_str .. ind_title_str .. sub_title_str .. opt_title_str .. imp_title_str .. [=[|-
| ]=]
.. "\n" .. sg1_pron_str .. sg1_ind_str .. sg1_sub_str .. sg1_opt_str .. sg1_imp_str .. [=[|-
| ]=]
.. "\n" .. sg2_pron_str .. sg2_ind_str .. sg2_sub_str .. sg2_opt_str .. sg2_imp_str .. [=[|-
| ]=]
.. "\n" .. sg3_pron_str .. sg3_ind_str .. sg3_sub_str .. sg3_opt_str .. sg3_imp_str .. [=[|-
| ]=]
.. "\n" .. pl1_pron_str .. pl1_ind_str .. pl1_sub_str .. pl1_opt_str .. pl1_imp_str .. [=[|-
| ]=]
.. "\n" .. pl2_pron_str .. pl2_ind_str .. pl2_sub_str .. pl2_opt_str .. pl2_imp_str .. [=[|-
| ]=]
.. "\n" .. pl3_pron_str .. pl3_ind_str .. pl3_sub_str .. pl3_opt_str .. pl3_imp_str .. [=[|-
| ]=]
.. "\n" .. du2_pron_str .. du2_ind_str .. du2_sub_str .. du2_opt_str .. du2_imp_str .. [=[|-
| ]=]
.. "\n" .. du3_pron_str .. du3_ind_str .. du3_sub_str .. du3_opt_str .. du3_imp_str .. [=[|-
| ]=]
.. "\n" .. onomatic_title_str .. inf_title_str .. part_title_str .. [=[|-
| ]=]
.. "\n" .. inf_str .. part_masc_str .. part_fem_str .. part_neu_str .. [=[|-
| ]=]
.. "\n" .. paratirisi .. [=[|-
| ]=]
.. "\n" .. appendix .. [=[|}]=]
--end -- close if mod-τίτλος
--------------------------------------------------------------------------
-- 4. 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
local group = args['ομάδα'] or '' -- need to write it AGAIN HERE
if args['ομάδα'] ~= '' and args['ομάδα'] ~= nil then
output = output .. "[[Κατηγορία:" .. 'Ρήματα' .. " που κλίνονται όπως η ομάδα '" .. group .. "' (" .. 'αρχαία ελληνικά' .. ")]]"
end
-- if args['κατηγορία κλίσης'] ~= "-" and args['κατηγορία κλίσης'] ~= '' and args['κατηγορία κλίσης'] ~= nil then
-- This is about ALL the conjugcation of the verb, not just active present (main lemma)
-- if args['τύπος'] ~= '' and args ['τύπος'] ~= nil and args ['τύπος'] ~= '-' then
-- output = output .. '[[Κατηγορία:' .. 'Ρήματα' .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
-- end
-- κλίσεις 1, 2, 3 & βλ. ανώμ=1 & ανώμ+
if args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. 'Ρήματα' .. ' 1ης συζυγίας (' .. lang_name .. ')]]' end
if args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. 'Ρήματα' .. ' 2ης συζυγίας (' .. lang_name .. ')]]' end
if args['κλίση'] == '0' then output = output .. '[[Κατηγορία:' .. 'Ρήματα' .. ' ανώμαλα (' .. lang_name .. ')]]' end
if args['κλίση'] == 'ανώμαλα' then output = output .. '[[Κατηγορία:' .. 'Ρήματα' .. ' ανώμαλα (' .. lang_name .. ')]]' 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:xx/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:xx/param').param (args)
------------
return fulltable(args)
end
--------------------------------------------------------------------------
-- SPECIFIC TEMPLAGES / ΕΠΙΜΕΡΟΥΣ ΠΡΟΤΥΠΑ --
--------------------------------------------------------------------------
-- =============== conjugations 1-2 ================= --
-- see pages /1, /2
return export