Module:Wt/grc/κλίση
Documentation for this module may be created at Module:Wt/grc/κλίση/doc
--TODO:
--στις επιμέρους συναρτήσεις τῶν κλίσεων
--να αντικατασταθοῦν οι πίνακαι wiki με πίνακες html
--ώστε να αποφύγουμε τῆν κλήση τοῦ frame:preprocess ποῦ είναι βαρύ
--TODO:
--να βρεθεί τρόπος ώστε να επιστρέφονται οι τοπικοί παράμετροι δημιουργίας τοῦ πίνακα
--(οε,γε,αε,κε κλπ)
--για να μπορούμε να παίρνουμε λ.χ. τῆ γενικῆ πληθυντικού τῶν "μερών τοῦ λόγου"
--(ουσιαστικῶν,επιθέτων,κλπ.)
--χωρίς να εμφανίζουμε τον πίνακα
export = {}
local Lf = {} -- local functions
local Ld = {['main'] = 1, } -- local params and constants
Ld['μέρη τοῦ λόγου'] = require('Module:Wt/grc/μέρη τοῦ λόγου')
Ld['υπόδειξη'] = 'main'
Ld['κατηγορίες για σφάλματα'] = '[[Category:Wt/grc/Σελίδαι με σφάλμα στον κωδικόν γλώσσας]]'
Lf['σφάλμα'] = function(errstring)
output = ''
errstring = errstring or ''
if errstring ~= '' then
output = '<font class="error">' .. errstring .. '</font>'
end
output = output .. Ld['υπόδειξη'] .. Ld['κατηγορίες για σφάλματα']
return output
end
--Τα Πρότυπα(Templates) κλίσης που έχουν δημιουργηθεί (σχεδόν όλα) μέχρι σήμερα ακουλουθοῦν τῆν εξῆς ονοματοδοσία:
--Τὸ όνομα του προτύπου(Template) αποτελείται απόν τρία μέρη:
--1. Ο κωδικός τῆς γλώσσας (ποῦ μπορεί να περιέχει παύλες όπως τὸ zh-min-nan)
--2. Τὸ ένθεμα: -κλίσ-
--Και τὸ πρότυπο (λέξη-λήμμα) σύμφωνα με τὸ οποίο κλίνεται τὸ λήμμα.
--Ο πίνακας splittednames θα περιέχει τον κωδικόν γλώσσας
--και τὸ μέρος τοῦ λόγου
Lf['main'] = function(args)
local lc = Lf['main']
local protypo = Lf['main']
local allargs = frame:getParent().args
if protypo == '' then return Lf['σφάλμα']('Σφάλμα! Η κλήση δεν έγινε μέσω προτύπου.') end
local splittednames = Lf['χωρισμός σε μέρη'](protypo,'%-κλίσ%-')
--θεωρητικὴ τὸ -κλίσ- δεν μπορεί να είναι ούτε iso γλώσσας οῦτε υποδειγματικόν όνομα κλίσης
--για τῆν περίπτωση ποῦ κάποιος έχει δημιουργήσει πρότυπο τὸ οποίο περιέχει τὸ -κλισ-
--ῶς iso γλώσσας ῆ ῶς υποδειγματικόν όνομα κλίσης ῆ δεν έχει βάλει καν τὸ -κλισ-
--ελέγχουμε αν ήρθαν 2 ακριβώς
if #splittednames ~= 2 then
Ld['υπόδειξη'] = 'Τὸ Πρότυπο κλίσης θα πρέπει να αρχίζει με κωδικόν γλώσσας, να ακολουθεί τὸ -κλισ- και μετά ένα όνομα-υπόδειγμα.'
return Lf['σφάλμα']('Σφάλμα! Λάθος στο όνομα του προτύπου κλίσης.')
end
allargs['isoγλώσσας'] = splittednames[1]
allargs['τύπος'] = splittednames[2]
local page = mw.title.getCurrentTitle()
page.name = page.text:match( "^%s*(.-)%s*$" )
--local args['όνομα'] = mw.title.getCurrentTitle().text:match( "^%s*(.-)%s*$" )
--αν ῆ σελίδα είναι σε κύριο ονοματοχώρο θα πρέπει υποχρεωτικὴ να χρησιμοποιήσουμε τὸ όνομα τοῦ άρθρου
--αν κάποιο άρθρο χρειάζεται να έχει κλίση άλλου άρθρου εῖτε θα παραπέμπουμε εκεί
--ῆ θα βρούμε μελλοντικά άλλο τρόπο
if page.namespace == 0 then
allargs['λήμμα'] = page.name
allargs['ονοματοχώρος'] = 0
else
--Εδώ μπορεί να γίνεται έλεγχος αν προέρχεται απόν πρότυπο οδηγιῶν.
--Θα πρέπει επίσης να προστεθεί παράμετρος στον κάθε "τύπο" (στὸ submodule) για τὸ γένος
--ώστε να προστίθεται σωστᾶ και ῆ κατηγορία.
lc['λήμμα'] = frame:getParent().args['λήμμα'] or ''
if lc['λήμμα'] == '' then
return Lf['σφάλμα']('Σφάλμα! δεν δόθηκε η λέξη για την κλίση.')
else
allargs['λήμμα'] = lc['λήμμα']
end
end
--αν τὸ υποδειγματικόν όνομα κλίσης αρχίζει και τελειώνει σε μονά εισαγωγικά
--αφαίρεσέ τα.
if string.sub(allargs['τύπος'],1,1) == "'" and string.sub(allargs['τύπος'],-1) =="'" then
allargs['τύπος'] = mw.ustring.sub(allargs['τύπος'],2,-2)
end
allargs['κατηγορία κλίσης'] = ''
allargs['τίτλος αρθρώματος'] = ''
--αν υπάρχει τὸ συγκεκριμένο όνομα προτύπου κλίσης
--θα επιστρέψει στις παραμέτρους και τὸ "τίτλοςαρθρώματος"
if Lf['βρες το όνομα του αρθρώματος'](allargs) then
--κάλεσε τῆ συνάρτηση κλίσης,
--checkpoint = checkpoint .. '#in#'
mdl = require(allargs['τίτλος αρθρώματος'])
--checkpoint = checkpoint .. "*" .. allargs['τίτλος αρθρώματος'] .. "*"
output = mdl[allargs['τύπος']](allargs)
--και επέστρεψε.
--Τὸ τῖ θα επιστραφεί (κείμενο html, preprocessed ῆ απλό) ας τὸ ξεκαθαρίσουμε στὸ καλούμενο άρθρωμα.
return frame:preprocess(output)
end
--επέστρεψε σφάλμα
return Lf['σφάλμα']('Σφάλμα! Παρουσιάστηκε πρόβλημα στὸ Module για τῆν κλίση.')
end
--βρες το όνομα του Προτύπου που κάλεσε το Module
--αλλά μόνο αν κληθηκε από σελίδα η οποία κάλεσε το πρότυπο
Lf['βρες το όνομα του Προτύπου'] = function(frame)
if type(frame.args) == 'table' and type(frame.getParent) == 'function' then
local templateobj = mw.title.new(frame:getParent():getTitle())
if templateobj.namespace == 10 then -- NS_TEMPLATE
return templateobj.text:match( "^%s*(.-)%s*$" )
else
return nil
end
else
return nil
end
end
Lf['βρες το όνομα του αρθρώματος'] = function(args)
--για κάθε "μέρος του λόγου"
--checkpoint = checkpoint .. '#inβρες το όνομα του αρθρώματος#'
for code, data in pairs(Ld['μέρη τοῦ λόγου']) do
--δημιούργησε όνομα αντίστοιχου αρθρώματος
local tmpmodulename = "Module:Wt/grc/κλίση/" .. args['isoγλώσσας'] .. '/' .. code
--δες αν υπάρχει τέτοιο άρθρωμα
if Lf['αν υπάρχει το άρθωμα'](tmpmodulename) then
--δες αν έχει υπάρχει εκεί αυτό το υπόδειγμα κλίσης
local test1 = Lf['αν υπάρχει το υπόδειγμα'](tmpmodulename, args['τύπος'])
if test1 == true then
--πρόσθεσε στις παραμέτρους και το όνομα για την κατηγορία κλίσης
args['κατηγορία κλίσης'] = data['κατηγορία']
args['τίτλος αρθρώματος'] = "Module:Wt/grc/κλίση/" .. args['isoγλώσσας'] .. '/' .. code
--και επέστρεψε ΑΛΗΘΕΙΑ
return true
end
end
end
--αλλιώς σβήσε τη μεταβλητή με το όνομα και επέστρεψε ΨΕΜΑ
args['τίτλος αρθρώματος'] = nil
return false
end
Lf['αν υπάρχει το υπόδειγμα'] = function(tmpmodulename, tmptype)
--ήδη ελέγξαμε ότι υπάρχει το άρθρωμα π.χ. Module:Wt/grc/κλίση/grc/ουσιαστικόν
--το φορτώνουμε και αναζητάμε αν υπάρχει η συνάρτηση
local tmprequest = require(tmpmodulename)
--θα πρέπει να είναι συνάρτηση
if type(tmprequest[tmptype]) =='function' then
return true
else
return false
end
end
Lf['αν υπάρχει το άρθωμα'] = function(modulefulltitle)
local ok, err = pcall(require, modulefulltitle)
if ok then
return true
else
return false
end
end
Lf['χωρισμός σε μέρη'] = function(s, inSplitPattern, outResults )
if not outResults then
outResults = {}
end
local theStart = 1
local theSplitStart, theSplitEnd = mw.ustring.find( s, inSplitPattern, theStart )
while theSplitStart do
table.insert( outResults, mw.ustring.sub( s, theStart, theSplitStart-1 ) )
theStart = theSplitEnd + 1
theSplitStart, theSplitEnd = mw.ustring.find( s, inSplitPattern, theStart )
end
table.insert( outResults, mw.ustring.sub( s, theStart ) )
return outResults
end
--Module:Wt/grc/κλίση/grc/ουσιαστικόν (από [[Module:Wt/grc/κλίση]])
--[=[
Module για τη δημιουργία πινάκων κλίσης ουσιαστικών νέων ελληνικών
Καλείται από διάφορα πρότυπα του τύπου Πρότυπο:el-κλίσ-'ωωωωω'
για κάθε είδος κλίσης
Αυτό το Module δημιουργήθηκε και βασίστηκε στην εργασία των Flyax και Xoristzatziki έως το 2018.
Από το 2019 και μετά, προστέθηκαν λειτουργίες.
1. Αφανείς σύνδεσμοι στους κλιτικούς τύπους
2. Ονομαστική παράμετρος κατ= (για δημιουργία Κατηγοριών ποικιλιών)
και υποκατ= (δημιουργία συνοδευτικών γενικών κατηγοριών)
και τύπος0= χωρίς αποστρόφους
Η ΔΙΑΤΑΞΗ - CONTENTS
Προκαταρκτικά - Preliminaries: χαρακτήρες, χρώματα, links, errors
Διαμόρφωση θεμάτων - Generate stems
Πλήρης Πίνακας - Full table
κλίση1 - declension1: main declension
Χτίσιμο των τύπων - Generate forms
κλίση2 με πρόσφυμα - declension2: declension with infix
Επιμέρους πρότυπα - Individual templates
ΕΚΚΡΕΜΟΤΗΤΕΣ
* Τα μοντέλα τα έκανα αλφαβητικά. Μάλλον πρέπει να γίνουν κατά 1) γένος και 2) κατάληξη.Sarri.greek 2019.09.16.
* 'τσοπάνης' πληθ. τσοπάνηδες και τσοπαναραίοι (βλ. 'μανάβης')
* 'ζάχαρη' να γίνει 'ρίγανη', και το νέο 'ζάχαρη' +γε ζαχάρεως, γπ= ζαχάρεων
* 'βιασύνη' έλεγχος στη γπ
* 'ήλεκτρον' στα νέα ελλ. δεν έχει κλίση
* Να δημιουργηθεί ελεύθερη κλίση (custom) με κελλί=τάδε όνομα. θ-οε, χ-οε κλπ.
όπως: [[|||||||||||||||||||||||||||||||||||||||||ζίλια]] στον πληθυντικό με πλήρη εμφάνιση κλίσης (δεν αφαιρεί την κατάληξη -ια)
]=]--
Ld['κατηγορίες για σφάλματα'] = '[[Κατηγορία:Συντήρηση:Σελίδες με σφάλματα στο Module κλίση/el/ουσιαστικό]]'
Ld['χρώμαυπόβαθρου'] = 'd9ebff'
Ld['χρώμαπεριγράμματος'] = '#AAAACC'
Ld['χρώματίτλου'] = '#A1BDEA'
Ld['χρώμακατάληξης'] = 'DeepPink'
Ld['χρώμαθέματος'] = '#002000'
Ld['άτονα'] = { ['Α'] = 'Ά', ['α'] = 'ά', ['ε'] = 'έ', ['Ε'] = 'Έ',
['Η'] = 'Ή', ['η'] = 'ή', ['ι'] = 'Ί', ['ι'] = 'ί', ['ϊ'] = 'ΐ',
['Ο'] = 'Ό', ['ο'] = 'ό', ['Υ'] = 'Ύ', ['υ'] = 'ύ', ['ϋ'] = 'ΰ',
['Ω'] = 'Ώ', ['ω'] = 'ώ' }
Ld['τονισμένα'] = {
['Ά'] = 'Α',
['ά'] = 'α',
['Έ'] = 'Ε',
['έ'] = 'ε',
['Ή'] = 'Η',
['ή'] = 'η',
['Ί'] = 'Ι',
['ί'] = 'ι',
['ΐ'] = 'ϊ',
['Ό'] = 'Ο',
['ό'] = 'ο',
['Ύ'] = 'Υ',
['ύ'] = 'υ',
['ΰ'] = 'ϋ',
['Ώ'] = 'Ω',
['ώ'] = 'ω'
}
Ld['διπλά τονισμένα'] ={
['άι'] = 'αϊ',
['έι'] = 'εϊ',
['όι'] = 'οϊ',
['άυ'] = 'αϋ',
['έυ'] = 'εϋ',
['όυ'] = 'οϋ'
}
-- ['ύι'] = 'υϊ', δεν υπάρχει σε ουσιαστικά, μόνο στο επίθετο δρύινος. Αντίθετα, θα βάλει διαλυτικά
-- στο βούισμα, βουίσματα
--μάλλον δεν θα χρειαστεί
Lf['main'] = function(args)
return (type(export[arg]) == table)
end
-- Χρώματα - Colours
Lf['κατάληξη'] = function (kataliksi)
return '<span style="color:' .. Ld['χρώμακατάληξης'] ..'; font-weight:normal;">' .. kataliksi .. '</span>'
end
Lf['θέμα'] = function (stem)
return '<span style="color:' .. Ld['χρώμαθέματος'] ..'; font-weight:normal;">' .. stem .. '</span>'
end
Lf['πρόσφυμα'] = function (infix)
return '<span style="color:' .. Ld['χρώμαθέματος'] ..'; font-weight:normal;">' .. infix .. '</span>'
end
-- Links as by Erutuon
Lf['create_link'] = function (page, text)
if text then
return '[[|||||||||||||||||||||||||||||||||||||||||' .. page .. '|' .. text .. ']]'
else
return '[[|||||||||||||||||||||||||||||||||||||||||' .. page .. ']]'
end
end
-- for κλίση1 it controls stem and ending
Lf['linkcontrol'] = function (stem, kataliksi)
return Lf['create_link'](stem .. kataliksi, Lf['θέμα'](stem) .. Lf['κατάληξη'](kataliksi))
end
---for κλίση2 με πρόσφυμα it controls stem, infix and ending
Lf['linkcontrol3'] = function (stem, infix, kataliksi)
return Lf['create_link'](stem .. infix .. kataliksi, Lf['θέμα'](stem) .. Lf['πρόσφυμα'](infix) .. Lf['κατάληξη'](kataliksi))
end
-- Errors
errorhere = function(errstring)
return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης]]'
end
--Δεν χρησιμοποιείται. Ίσως να μην υπάρχει εδώ τέτοια...
Lf['σφάλμα'] = function(errstring)
output = ''
errstring = errstring or ''
if errstring ~= '' then
output = '<font class="error">' .. errstring .. '</font>'
end
return output .. Ld['κατηγορίες για σφάλματα']
end
-- ΤΟΝΟΙ, ΔΙΑΜΟΡΦΩΣΗ ΘΕΜΑΤΩΝ
Lf['έχει τόνο'] = function(anygreekstring)
--για κάθε χαρακτήρα
for codepoint in mw.ustring.gcodepoint( anygreekstring ) do
if Ld['τονισμένα'][mw.ustring.char(codepoint)] ~= nil then
return true
end
end
return false
end
Lf['αφαίρεση τόνου'] = function(tstem)
--για κάθε χαρακτήρα
wordproduced = ''
--για κάθε συνδυασμό γραμμάτων που μπορεί να χρειαστούν διαλυτικά
for diplotonismeno, neatimh in pairs(Ld['διπλά τονισμένα']) do
arxi, telos = mw.ustring.find(tstem, diplotonismeno)
if arxi ~= nil then
wordproduced = mw.ustring.gsub(tstem, diplotonismeno, neatimh, 1) --μια φορά αντικατάσταση
--βρέθηκε ο τόνος και αφαιρέθηκε
return wordproduced
end
end
for codepoint in mw.ustring.gcodepoint( tstem ) do
--αντικατάστησέ τον με βάση τον πίνακα
mychar = mw.ustring.char(codepoint)
convertedchar = Ld['τονισμένα'][mychar]
--αν βρήκε κάτι για αντικατάσταση
--είναι δηλαδή τονισμένο γράμμα
if convertedchar ~= nil then
--πρόσθεσέ το στη δημιουργούμενη κλείδα
wordproduced = wordproduced .. convertedchar
else
--αλλιώς άσε το ίδιο
wordproduced = wordproduced .. mychar
end
end
return wordproduced
end
-- Η συνάρτηση αρχίζει από το τελευταίο γράμμα του θέματος και πηγαίνει προς το πρώτο.
-- Όταν συναντήσει το πρώτο (άτονο) φωνήεν, το τονίζει και τέλος
-- Εννοείται ότι η μεταβλητή stem δεν πρέπει να περιέχει τονισμένα φωνήεντα.
Lf['νέος τόνος'] = function(stem)
--if stem == nil then return stem end
stempoint = mw.ustring.len(stem)
wordproduced = ""
while stempoint > 0 do
mychar = mw.ustring.sub(stem, stempoint, stempoint)
newchar = Ld['άτονα'][mychar]
if newchar ~= nil then
if stempoint > 1 then
return mw.ustring.sub(stem, 1, stempoint-1 ) .. newchar .. wordproduced
else
return newchar .. wordproduced
end
else
wordproduced = mychar .. wordproduced
stempoint = stempoint -1
end
end
return wordproduced
end
Lf['πλήρηςπίνακας'] = function(args)
local stitlestr = ''
local ptitlestr = ''
local onomenstr = ''
local onomplstr = ''
local genenstr = ''
local genplstr = ''
local aitenstr = ''
local aitplstr = ''
local klenstr = ''
local klplstr = ''
local paratirisi = ''
local hassingular = true --(args['εν'] ~= nil)
if args['α'] == "πλ" then hassingular = false end
local hasplural = true -- (args['πλ'] ~= nil)
if args['α'] == "εν" then hasplural = false end
if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
--mw.log('para')
paratirisi = '|-' .. "\n" .. [=[| colspan="3" align="left" style="background:#d9ebff; font-size: 90%; font-style: italic;" | ]=]
paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
end
-- if paratirisi == nil then paratirisi =
if hassingular then
stitlestr = [=[! bgcolor="#A1BDEA" colspan="1" align="center"| '''''[[|||||||||||||||||||||||||||||||||||||||||ενικός]]''''']=] .. "\n"
onomenstr = [=[| align="left" | ]=] .. args['οε'] .. "\n"
genenstr = [=[| align="left" | ]=] .. args['γε'] .. "\n"
aitenstr = [=[| align="left" | ]=] .. args['αε'] .. "\n"
klenstr = [=[| align="left" | ]=] .. args['κε'] .. "\n"
end
if hasplural then
ptitlestr = [=[! bgcolor="#A1BDEA" colspan="1" align="center"| '''''[[|||||||||||||||||||||||||||||||||||||||||πληθυντικός]]''''']=] .. "\n"
onomplstr = [=[| align="left" | ]=] .. args['οπ'] .. "\n"
genplstr = [=[| align="left" | ]=] .. args['γπ'] .. "\n"
aitplstr = [=[| align="left" | ]=] .. args['απ'] .. "\n"
klplstr = [=[| align="left" | ]=] .. args['κπ'] .. "\n"
end
output = [=[{| style="float:right;border:1px solid #AAAACC;margin-left:0.5em;margin-bottom:0.5em;text-align:right;" rules="all" cellpadding="3" cellspacing="0"
|-
! bgcolor="#A1BDEA" | πτῶσις]=] .. "\n" .. stitlestr .. ptitlestr .. [=[|-
| bgcolor="#BED9ED" | '''''[[|||||||||||||||||||||||||||||||||||||||||ονομαστικῆ]]''''']=] .. "\n" .. onomenstr .. onomplstr .. [=[|-
| bgcolor="#BED9ED" | '''''[[|||||||||||||||||||||||||||||||||||||||||γενικῆ]]''''']=] .. "\n" .. genenstr .. genplstr .. [=[|-
| bgcolor="#BED9ED" | '''''[[|||||||||||||||||||||||||||||||||||||||||αιτιατικῆ]]''''']=] .. "\n" .. aitenstr .. aitplstr .. [=[|-
| bgcolor="#BED9ED" | '''''[[|||||||||||||||||||||||||||||||||||||||||κλητικῆ]]''''']=] .. "\n" .. klenstr .. klplstr .. paratirisi .. [=[|}]=]
if (args['ονοματοχώρος'] or 1) == 0 then
if (args['ιδιαίτερη κλίση'] or false) then
output = output .. '[[Κατηγορία:Λήμματα με ιδιαίτερη κλίση]]' --να γίνει κρυφή κατηγορία;
else
-- param κατ= για δημιουργία κατηγοριών που συμπληρώνει ο συντάκτης - editor creates Categories ad libitum
-- Υπερισχύει του 'τύπος' - It overrides 'τύπος' (παράδειγμα: [[|||||||||||||||||||||||||||||||||||||||||μπαγάσας]])
if args['κατ'] ~= '' and args ['κατ'] ~= nil then
output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. " που κλίνονται όπως το '" .. args['κατ'] .. "']]"
-- ο τύπος0 ΧΩΡΙΣ αποστρόφους (χρειάζεται όταν η φράση συνεχίζεται. παράδειγμα: οι Κατηγορίες στο [[|||||||||||||||||||||||||||||||||||||||||Αντρέας]], [[|||||||||||||||||||||||||||||||||||||||||μπόγιας]]
elseif args['τύπος0'] ~= '' and args['τύπος0'] ~= nil then
output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. " που κλίνονται όπως το " .. args['τύπος0'] .. "]]"
else
--η γλώσσα στην κατηγορία θα είναι απαραίτητη αν υπάρχουν ίδιοι "τύποι" σε διαφορετικές γλώσσες.
output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. " που κλίνονται όπως το '" .. args['τύπος'] .. "']]"
end -- close 'κατ'
end
-- param υποκατ (subcategory) για δημιουργία συνοδευτικών γενικών κατηγοριών (όπως:... χωρίς πληθυντικό)
-- ΔΕΝ υπερισχύει. Προστίθεται στις υπάρχουσες Κατηγορίες. - it does NOT override 'τύπος'
if args['υποκατ'] ~= '' and args ['υποκατ'] ~= nil then
output = output .. '[[Κατηγορία:' .. args['κατηγορία κλίσης'] .. ' ' .. args['υποκατ'] .. ']]'
end
end
return output
end
Lf['κλίση1'] = function(args)
local stemnumber = 0
if args['α'] ~= "πλ" then
stemnumber = tonumber(mw.ustring.len(args['οε']))
else
stemnumber = tonumber(mw.ustring.len(args['οπ']))
end
local stem = {}
stem["1"] = mw.ustring.sub(args['λήμμα'],1,-stemnumber-1)
stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
if stem["2"] == nil then return stem["1"] end
stem["3"] = Lf['νέος τόνος'](stem["2"])
for i, ptwsi in ipairs({'οε', 'γε', 'γε2', 'αε', 'κε', 'κε2', 'κε0', 'οπ', 'οπ2', 'γπ', 'γπ0', 'γπ2', 'απ', 'απ2'}) do
if args[ptwsi .. 'θ'] == nil then args[ptwsi .. 'θ'] = "1" end
end
for i, ptwsi in ipairs({'γε', 'γε2', 'γπ', 'γπ0', 'γπ2'}) do
if args[ptwsi] ~= nil then
if Lf['έχει τόνο'](args[ptwsi]) then args[ptwsi .. 'θ'] = "2" end
end
end
if args['οπ'] == "άδες" then
args['οπθ'] = "2"
args['απθ'] = "2"
end
if args['οπ2'] == "άδες" or args['οπ2'] == "αίοι" then
args['οπ2θ'] = "2"
args['απ2θ'] = "2"
end
if args['απ'] == nil then
args['απ'] = args['οπ']
args['απθ'] = args['οπθ']
end
if args['απ2'] == nil then
args['απ2'] = args['οπ2']
args['απθ2'] = args['οπθ2']
end
if args['κε'] == nil then args['κε'] = args['αε'] end
-- ---------- Χτίσιμο των τύπων - Generate forms ----------------- --
---- ονομαστική ενικού
args['οε'] = Lf['linkcontrol'](stem[args['οεθ']], args['οε'])
---- γενική ενικού
if (args['γε'] == "-" or args['γε'] == "" or args['γε'] == nil) then
args['γε'] = ""
else
args['γε'] = Lf['linkcontrol'](stem[args['γεθ']], args['γε'])
end
if args['γε2'] ~=nil and args['γε2'] ~= "" and args['γε2'] ~= "-" then
args['γε2'] = "<br />& " .. Lf['linkcontrol'](stem[args['γε2θ']], args['γε2']) -- όπως στο [[|||||||||||||||||||||||||||||||||||||||||λύση]]
else
args['γε2'] = ''
end
args['γε'] = args['γε'] .. args['γε2']
---- αιτιατική ενικού
args['αε'] = Lf['linkcontrol'](stem[args['αεθ']], args['αε'])
---- κλητική ενικού
if args['κε0'] ~= nil then
args['κε'] = '(' .. Lf['linkcontrol'](stem[args['κε0θ']], args['κε0']) .. ')' -- όπως στο [[|||||||||||||||||||||||||||||||||||||||||έρημος]]
else
args['κε'] = Lf['linkcontrol'](stem[args['κεθ']], args['κε'])
end
if args['κε2'] ~=nil and args['κε2'] ~= "" and args['κε2'] ~= "-" then
args['κε2'] = "<br />" .. Lf['linkcontrol'](stem[args['κε2θ']], args['κε2']) .. '*' -- με σημείωση *Σπάνια, όπως στο [[|||||||||||||||||||||||||||||||||||||||||γέρος]]
else
args['κε2'] = ""
end
args['κε'] = args['κε'] .. args['κε2']
---- ΟΝΟΜΑΣΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
args['οπ'] = Lf['linkcontrol'](stem[args['οπθ']], args['οπ'])
if args['οπ2'] ~=nil and args['οπ2'] ~= "" and args['οπ2'] ~= "-" then
args['οπ2'] = "<br />& " .. Lf['linkcontrol'](stem[args['οπ2θ']], args['οπ2']) -- όπως στο [[|||||||||||||||||||||||||||||||||||||||||πραματευτής]]
else
args['οπ2'] = ''
end
args['οπ'] = args['οπ'] .. args['οπ2']
args['κπ'] = args['οπ']
---- ΓΕΝΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
if (args['γπ'] == "-" or args['γπ'] == "" or args['γπ'] == nil) then
args['γπ'] = ""
else
args['γπ'] = Lf['linkcontrol'](stem[args['γπθ']], args['γπ'])
end
if args['γπ0'] ~= nil then
args['γπ'] = '(' .. Lf['linkcontrol'](stem[args['γπ0θ']], args['γπ0']) .. ')' -- όπως στο [[|||||||||||||||||||||||||||||||||||||||||σκόνη]]
end
if args['γπ2'] ~=nil and args['γπ2'] ~= "" and args['γπ2'] ~= "-" then
args['γπ2'] = Lf['linkcontrol'](stem[args['γπ2θ']], args['γπ2']) -- όπως στο [[|||||||||||||||||||||||||||||||||||||||||καρδινάλιος]]
if args['γπ'] ~= "" then
args['γπ2'] = "<br />& " .. args['γπ2']
end
else
args['γπ2'] = ""
end
args['γπ'] = args['γπ'] .. args['γπ2']
---- ΑΙΤΙΑΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
args['απ'] = Lf['linkcontrol'](stem[args['απθ']], args['απ'])
if args['απ2'] ~=nil and args['απ2'] ~= "" and args['απ2'] ~= "-" then
args['απ2'] = "<br />& " .. Lf['linkcontrol'](stem[args['απ2θ']], args['απ2']) -- όπως στο [[|||||||||||||||||||||||||||||||||||||||||καρδινάλιος]]
else
args['απ2'] = ''
end
args['απ'] = args['απ'] .. args['απ2']
---- ΚΛΗΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ
-- όπως η αιτιατική πληθυντικού
return Lf['πλήρηςπίνακας'](args)
end
--κλίση ουδετέρων ουσιαστικών που παίρνουν επιπλέον σύμφωνο στο «θέμα», τσάι, προϊόν, μέλλον
Lf['κλίση2'] = function(args)
local stemnumber = 0
if args['α'] ~= "πλ" then
stemnumber = tonumber(mw.ustring.len(args['οε']))
else
stemnumber = tonumber(mw.ustring.len(args['οπ'])) +1
end
local stem = {}
stem["1"] = mw.ustring.sub(args['λήμμα'],1,-stemnumber-1)
stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
stem["3"] = Lf['νέος τόνος'](stem["2"])
args['οε'] = Lf['linkcontrol'](stem[args['οεθ']], args['οε'])
args['γε'] = Lf['linkcontrol3'](stem[args['γεθ']], args['πρόσφ'], args['γε'])
args['αε'] = args['οε']
args['κε'] = args['οε']
args['οπ'] = Lf['linkcontrol3'](stem[args['οπθ']], args['πρόσφ'], args['οπ'])
args['γπ'] = Lf['linkcontrol3'](stem[args['γπθ']], args['πρόσφ'], args['γπ'])
args['απ'] = args['οπ']
args['κπ'] = args['οπ']
return Lf['πλήρηςπίνακας'](args)
end
--------------------------------------------------------------------------
-- ΕΠΙΜΕΡΟΥΣ ΠΡΟΤΥΠΑ --
--------------------------------------------------------------------------
-- Εδώ αρχίζουν οι καταλήξεις των επιμέρους προτύπων
-- διάμετρος: μια ειδική περίπτωση
export['διάμετρος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'διάμετρος']]
local stem = {}
stem["1"] = mw.ustring.sub(args['λήμμα'],1,-3)
stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
if stem["2"] == nil then return stem["1"] end
stem["3"] = Lf['νέος τόνος'](stem["2"])
args['οε'] = Lf['linkcontrol'](stem["1"], 'ος')
args['γε'] = Lf['linkcontrol'](stem["3"], 'οῦ')
args['αε'] = Lf['linkcontrol'](stem["1"], 'ο')
args['κε'] = Lf['linkcontrol'](stem["1"], 'ε') .. " (" .. Lf['linkcontrol'](stem["1"], 'ο') .. ")"
args['οπ'] = Lf['linkcontrol'](stem["1"], 'οῖ') .. " (" .. Lf['linkcontrol'](stem["1"], 'ες') .. ")"
args['γπ'] = Lf['linkcontrol'](stem["3"], 'ων')
args['απ'] = Lf['linkcontrol'](stem["3"], 'οῦς') .. " (" .. Lf['linkcontrol'](stem["1"], 'ες') .. ")"
args['κπ'] = Lf['linkcontrol'](stem["1"], 'οῖ')
return Lf['πλήρηςπίνακας'](args)
end
-- =================== α...ω ======================= --
export['άγγελος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'άγγελος']]
args['οε'] = "ος"
args['γε'] = "οῦ"
args['αε'] = "ο"
args['κε'] = "ε"
args['οπ'] = "οῖ"
args['γπ'] = "ῶν"
args['απ'] = "οῦς"
args['γεθ'] = "3"
args['γπθ'] = "3"
args['απθ'] = "3"
return Lf['κλίση1'](args)
end
-- βλ. σημειώσεις για καθαρεύουσα. ΔΟΚΙΜΑΣΤΙΚΟ. Λείπει η δοτική
export['ἀγυιά'] = function(args) -- Template:[[|||||||||||||||||||||||||||||||||||||||||Wt/grc/grc-κλίσ-'κ-ἀγυιά']]
args['οε'] = "ᾶ"
args['γε'] = "ᾶς"
args['αε'] = "άν"
args['κε'] = "ά"
args['οπ'] = "αί"
args['γπ'] = "ῶν"
args['απ'] = "άς"
return Lf['κλίση1'](args)
end
export['αγώνας'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'αγώνας']]
args['οε'] = "ας"
args['γε'] = "α"
args['αε'] = "α"
args['κε'] = "α"
args['οπ'] = "ες"
if args['γπ'] == nil then args['γπ'] = "ων" end
if args['γπ'] == '-' then args['τύπος0'] = "'αγώνας' χωρίς γενική πληθυντικού" end -- όπως [[|||||||||||||||||||||||||||||||||||||||||μπόγιας]]
if args['γπ'] == '-' then args['υποκατ'] = "χωρίς γενική πληθυντικού" end -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς γενική πληθ
if args['α'] == 'εν' then args['τύπος0'] = "'αγώνας' χωρίς πληθυντικό" end -- όπως [[|||||||||||||||||||||||||||||||||||||||||Ανδρέας]]
if args['α'] == 'εν' then args['υποκατ'] = "χωρίς πληθυντικό" end -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς πληθυντικό
args['απ'] = "ες"
return Lf['κλίση1'](args)
-- επίσης, βλ. κατ=μπαγάσας στο [[|||||||||||||||||||||||||||||||||||||||||μπαγάσας]]
end
export['αιλουροειδές'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'αιλουροειδές']]
args['οε'] = "ές"
args['γε'] = "οῦς"
args['αε'] = "ές"
args['οπ'] = "ῆ"
args['γπ'] = "ῶν"
return Lf['κλίση1'](args)
end
export['αλεπού'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'αλεπού']]
args['οε'] = "οῦ"
args['γε'] = "οῦς"
args['αε'] = "οῦ"
args['οπ'] = "ούδες"
args['γπ'] = "ούδων"
return Lf['κλίση1'](args)
end
export['αφέντης'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'αφέντης']]
args['οε'] = "ῆς"
args['γε'] = "ῆ"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
args['οπ2'] = "άδαι"
args['γπ2'] = "άδων"
args['απ2'] = "άδαι"
return Lf['κλίση1'](args)
end
export['βιασύνη'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'βιασύνη']]
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
args['γπ0'] = "ων"
return Lf['κλίση1'](args)
end
export['βουνό'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'βουνό']]
args['οε'] = "όν"
args['γε'] = "οῦ"
args['αε'] = "όν"
args['οπ'] = "ᾶ"
args['γπ'] = "ῶν"
return Lf['κλίση1'](args)
end
export['γέρος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'γέρος']]
args['οε'] = "ος"
args['γε'] = "οῦ"
args['αε'] = "ο"
args['οπ'] = "οῖ"
args['γπ'] = "ων"
args['απ'] = "οῦς"
return Lf['κλίση1'](args)
end
export['γιαγιά'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'γιαγιά']]
args['οε'] = "ᾶ"
args['γε'] = "ᾶς"
args['αε'] = "ά"
args['οπ'] = "άδαι"
args['γπ'] = "άδων"
return Lf['κλίση1'](args)
end
export['γυαλάκιας'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'γυαλάκιας']]
args['οε'] = "ιας"
args['γε'] = "ια"
args['αε'] = "ια"
args['οπ'] = "ηδαι"
if args['γπ'] == nil then args['γπ'] = "ηδων" end
return Lf['κλίση1'](args)
end
export['δέσιμο'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'δέσιμο']]
args['οε'] = "ο"
args['γε'] = "ατος"
args['αε'] = "ο"
args['οπ'] = "ατα"
args['γπ'] = "άτων"
args['γεθ'] = "3"
args['οπθ'] = "3"
args['απθ'] = "3"
return Lf['κλίση1'](args)
end
export['διδάκτωρ'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'διδάκτωρ']]
args['οε'] = "ωρ"
args['γε'] = "ορος"
args['αε'] = "ορα"
args['κε'] = "ορ"
args['οπ'] = "ορες"
args['γπ'] = "όρων"
return Lf['κλίση1'](args)
end
export['δρόμος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'δρόμος']]
args['οε'] = "ος"
args['γε'] = "οῦ"
args['αε'] = "ο"
args['κε'] = "ε"
args['οπ'] = "οῖ"
args['γπ'] = "ων"
args['απ'] = "οῦς"
return Lf['κλίση1'](args)
end
export['έδαφος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'έδαφος']]
args['οε'] = "ος"
args['γε'] = "οῦς"
args['αε'] = "ος"
args['οπ'] = "ῆ"
if args['γπ'] == nil then args['γπ'] = "ών" end
args['γεθ'] = "3"
args['οπθ'] = "3"
args['απθ'] = "3"
return Lf['κλίση1'](args)
end
export['ελπίδα'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ελπίδα']]
args['οε'] = "α"
args['γε'] = "ας"
args['αε'] = "α"
args['οπ'] = "αι"
if args['γπ'] == nil then args['γπ'] = "ων" end
return Lf['κλίση1'](args)
end
export['έρημος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'έρημος']]
args['οε'] = "ος"
args['γε'] = "οῦ"
args['αε'] = "ο"
args['κε'] = "ε"
args['κε2'] = "ο"
args['οπ'] = "οῖ"
args['γπ'] = "ων"
args['απ'] = "οῦς"
args['γεθ'] = "3"
args['γπθ'] = "3"
args['απθ'] = "3"
return Lf['κλίση1'](args)
end
export['ερωμένη'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ερωμένη']]
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = "ων"
return Lf['κλίση1'](args)
end
export['ζάχαρη'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ζάχαρη']] ΧΡΕΙΑΖΕΤΑΙ ΕΛΕΓΧΟ
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = nil
return Lf['κλίση1'](args)
end
export['ηχώ'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ηχώ']]
args['οε'] = "ῶ"
args['γε'] = "ῶς"
args['γε2'] = "οῦς"
args['αε'] = "ῶ"
args['οπ'] = "οῖ"
args['απ'] = "οῦς"
args['α'] = "εν"
return Lf['κλίση1'](args)
end
export['θάλασσα'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'θάλασσα']]
args['οε'] = "α"
args['γε'] = "ας"
args['αε'] = "α"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
return Lf['κλίση1'](args)
end
-- επώνυμα -ίδης (κατά το 'μανάβης') με παρατήρηση λόγιας γενικής ενικού
export['ίδης'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ίδης']]
local stem = {}
stem["1"] = mw.ustring.sub(args['λήμμα'],1,-3) -- 1 = πρώτο γράμμα. -3 = σταματάμε στο 3ο γράμμα από το τέλος (Ιωαννίδ)
args['οε'] = Lf['linkcontrol'](stem["1"], 'ῆς')
args['γε'] = Lf['linkcontrol'](stem["1"], 'ῆ') .. "<sup>*</sup>"
args['αε'] = Lf['linkcontrol'](stem["1"], 'ῆ')
args['κε'] = Lf['linkcontrol'](stem["1"], 'ῆ')
args['οπ'] = Lf['linkcontrol'](stem["1"], 'ηδαι')
args['γπ'] = Lf['linkcontrol'](stem["1"], 'ηδων')
args['απ'] = Lf['linkcontrol'](stem["1"], 'ηδαι')
args['κπ'] = Lf['linkcontrol'](stem["1"], 'ηδαι')
args['παρατήρηση'] = " <sup>*</sup> Και λόγια γενική ενικού " .. Lf['linkcontrol'](stem["1"], 'ου')
args['κατ'] = 'Αγγελίδης'
return Lf['πλήρηςπίνακας'](args)
end
export['ιππέας'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ιππέας']]
args['οε'] = "έας"
args['γε'] = "έα"
args['αε'] = "έα"
args['οπ'] = "εῖς"
args['γπ'] = "έων"
if args['2gen'] == "1" then args['γε2'] = "έως" end
return Lf['κλίση1'](args)
end
export['ισχύς'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ισχύς']]
args['οε'] = "ς"
args['γε'] = "ος"
args['αε'] = ""
args['κε'] = ""
args['οπ'] = "αι"
args['γπ'] = "ων"
args['απ'] = "ς"
return Lf['κλίση1'](args)
end
export['καρδιά'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'καρδιά']]
args['οε'] = "ᾶ"
args['γε'] = "ᾶς"
args['αε'] = "ά"
args['οπ'] = "αι"
if args['γπ'] == nil then args['γπ'] = "ών" end
return Lf['κλίση1'](args)
end
export['καρδινάλιος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'καρδινάλιος']]
args['οε'] = "ος"
args['γε'] = "οῦ"
args['γε2'] = "οῦ"
args['αε'] = "ο"
args['κε'] = "ε"
args['οπ'] = "οῖ"
args['γπ'] = "ων"
args['απ'] = "οῦς"
args['γπ2'] = "ων"
args['απ2'] = "οῦς"
args['γεθ'] = "3"
args['γπθ'] = "3"
args['απθ'] = "3"
return Lf['κλίση1'](args)
end
export['καφές'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'καφές']]
args['οε'] = "ές"
args['γε'] = "έν"
args['αε'] = "έν"
args['οπ'] = "έδες"
args['γπ'] = "έδων"
return Lf['κλίση1'](args)
end
export['κόντες'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'κόντες']]
args['οε'] = "ες"
args['γε'] = "ε"
args['αε'] = "ε"
args['οπ'] = "ηδαι"
args['γπ'] = "ηδων"
return Lf['κλίση1'](args)
end
export['κρέας'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'κρέας']]
args['οε'] = "ας"
args['γε'] = "ατος"
args['αε'] = "ας"
args['οπ'] = "ατα"
args['γπ'] = "άτων"
return Lf['κλίση1'](args)
end
export['λαχειοπώλης'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'λαχειοπώλης']]
args['οε'] = "ῆς"
args['γε'] = "ῆ"
args['αε'] = "ῆ"
args['οπ'] = "αι"
if args['γπ'] == nil then args['γπ'] = "ών" end
args['οπ2'] = "ηδαι"
args['γπ2'] = "ηδων"
return Lf['κλίση1'](args)
end
export['λύση'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'λύση']]
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['γε2'] = "εως"
args['αε'] = "ῆ"
args['οπ'] = "εῖς"
args['γπ'] = "εων"
args['γε2θ'] = "3"
args['οπθ'] = "3"
args['γπθ'] = "3"
return Lf['κλίση1'](args)
end
export['μανάβης'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'μανάβης']]
args['οε'] = "ῆς"
args['γε'] = "ῆ"
args['αε'] = "ῆ"
args['οπ'] = "ηδαι"
args['γπ'] = "ηδων"
args['οπθ'] = "3"
args['γπθ'] = "3"
if args['2πλ'] == "1" then
args['κατ'] = 'νοικοκύρης' -- όπως [[|||||||||||||||||||||||||||||||||||||||||νοικοκύρης]] με διπλούς πληθυντικούς
args['οπ2'] = "αίοι"
args['γπ2'] = "αίων"
args['απ2'] = "αίους"
end
if args['α'] == 'εν' then args['τύπος0'] = "'μανάβης' χωρίς πληθυντικό" end -- όπως ?
if args['α'] == 'εν' then args['υποκατ'] = "χωρίς πληθυντικό" end -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς πληθυντικό
if args['α'] == 'πλ' then args['τύπος0'] = "'μανάβης' χωρίς ενικό" end -- όπως [[|||||||||||||||||||||||||||||||||||||||||Αέρηδες]]
if args['α'] == 'πλ' then args['υποκατ'] = "χωρίς ενικό" end -- και στη γενική Κατηγορία:Ουσιαστικά χωρίς ενικό
--TODO τσοπάνης -ηδες - αραίοι
--if args['προσφ'] ~= nil then
return Lf['κλίση1'](args)
end
export['μέλλον'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'μέλλον']]
args['οε'] = ""
args['γε'] = "ος"
args['οπ'] = "α"
args['γπ'] = "ων"
args['οεθ'] = "1"
args['γεθ'] = "1"
args['οπθ'] = "1"
args['γπθ'] = "3"
args['πρόσφ'] ="τ"
return Lf['κλίση2'](args)
end
export['μίλι'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'μίλι']]
args['οε'] = "ι"
args['γε'] = "ίου"
args['αε'] = "ι"
args['οπ'] = "ια"
args['γπ'] = "ίων"
return Lf['κλίση1'](args)
end
export['μπαλωματής'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'μπαλωματής']]
args['οε'] = "ής"
args['γε'] = "ή"
args['αε'] = "ή"
args['οπ'] = "ήδες"
args['γπ'] = "ήδων"
return Lf['κλίση1'](args)
end
export['ναύτης'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ναύτης']]
args['οε'] = "ῆς"
args['γε'] = "ῆ"
args['αε'] = "ῆ"
args['οπ'] = "αι"
if args['γπ'] == nil then args['γπ'] = "ῶν" end
return Lf['κλίση1'](args)
end
export['νίκη'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'νίκη']]
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
return Lf['κλίση1'](args)
end
export['νικητής'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'νικητής']]
args['οε'] = "ῆς"
args['γε'] = "ῆ"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
return Lf['κλίση1'](args)
end
export['νότα'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'νότα']]
args['οε'] = "α"
args['γε'] = "ας"
args['αε'] = "α"
args['οπ'] = "αι"
args['γπ0'] = "ῶν"
return Lf['κλίση1'](args)
end
export['οδός'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'οδός']]
args['οε'] = "ός"
args['γε'] = "οῦ"
args['αε'] = "όν"
args['κε'] = "έν"
args['κε2'] = "όν"
args['οπ'] = "οῖ"
args['γπ'] = "ῶν"
args['απ'] = "οῦς"
return Lf['κλίση1'](args)
end
export['ον'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ον']]
args['οε'] = ""
args['γε'] = "ος"
args['οπ'] = "α"
args['γπ'] = "ων"
args['οεθ'] = "1"
args['γεθ'] = "3"
args['οπθ'] = "3"
args['γπθ'] = "3"
args['πρόσφ'] ="τ"
return Lf['κλίση2'](args)
end
export['όνομα'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'όνομα']]
args['οε'] = "α"
args['γε'] = "ατος"
args['αε'] = "α"
args['οπ'] = "ατα"
args['γπ'] = "άτων"
args['γεθ'] = "3"
args['οπθ'] = "3"
return Lf['κλίση1'](args)
end
-- επώνυμα -όπουλος ([[|||||||||||||||||||||||||||||||||||||||||Παπαδόπουλος]]): μια ειδική περίπτωση
export['όπουλος'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'όπουλος']]
local stem = {}
stem["1"] = mw.ustring.sub(args['λήμμα'],1,-3) -- 1 = πρώτο γράμμα. -3 = σταματάμε στο 3ο γράμμα από το τέλος (Παπαδόπουλ)
stem["2"] = Lf['αφαίρεση τόνου'](stem["1"]) -- άτονο θέμα (Παπαδοπουλ)
if stem["2"] == nil then return stem["1"] end
stem["3"] = Lf['νέος τόνος'](stem["2"]) -- δημιουργία θέματος με τόνο στην τελευταία συλλαβή (Παπαδοπούλ)
args['οε'] = Lf['linkcontrol'](stem["1"], 'ος')
args['γε'] = Lf['linkcontrol'](stem["1"], 'οῦ') .. "<br />& " .. Lf['linkcontrol'](stem["3"], 'οῦ')
args['αε'] = Lf['linkcontrol'](stem["1"], 'ο')
args['κε'] = Lf['linkcontrol'](stem["1"], 'ε')
args['οπ'] = Lf['linkcontrol'](stem["1"], 'οῖ') .. " & " .. Lf['linkcontrol'](stem["2"], 'αίοι') .. "<sup>1</sup>"
args['γπ'] = Lf['linkcontrol'](stem["1"], 'ων') .. "<sup>2</sup> & " .. Lf['linkcontrol'](stem["2"], 'αίων')
args['απ'] = Lf['linkcontrol'](stem["1"], 'οῦς') .. "<sup>3</sup> & " .. Lf['linkcontrol'](stem["2"], 'αίους')
args['κπ'] = Lf['linkcontrol'](stem["1"], 'οῖ') .. " & " .. Lf['linkcontrol'](stem["2"], 'αίοι')
args['παρατήρηση'] = " 1. οι δεύτεροι τύποι, προφορικοί, οικείοι<br> 2. παρωχημένη γενική πληθυντικού: " .. Lf['linkcontrol'](stem["3"], 'ων')
.. "<br> 3. παρωχημένη αιτιατική πληθυντικού: " .. Lf['linkcontrol'](stem["3"], 'οῦς')
args['κατ'] = 'Παπαδόπουλος'
return Lf['πλήρηςπίνακας'](args)
end
export['ουρανός'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ουρανός']]
args['οε'] = "ός"
args['γε'] = "οῦ"
args['αε'] = "όν"
if args['κε'] == nil then args['κε'] = "έν" end
args['οπ'] = "οῖ"
args['γπ'] = "ῶν"
args['απ'] = "οῦς"
return Lf['κλίση1'](args)
end
export['παγκοσμιοποίηση'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'παγκοσμιοποίηση']] νεολογισμοί, χωρίς -ποιήσεως
local stem = {}
stem["1"] = mw.ustring.sub(args['λήμμα'],1,-2)
stem["2"] = Lf['αφαίρεση τόνου'](stem["1"])
if stem["2"] == nil then return stem["1"] end
stem["3"] = Lf['νέος τόνος'](stem["2"])
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['αε'] = "ῆ"
args['οπθ'] = "3" -- θέμα τονισμένο στην τελευταία συλλαβή του
args['οπ'] = "εῖς"
args['γπθ'] = "3"
args['γπ'] = "εων"
if args['παρατήρηση'] ~= nil then args['παρατήρηση'] = args['παρατήρηση'] -- ελεύθερο κείμενο παρατήρησης όπως στο [[|||||||||||||||||||||||||||||||||||||||||υποτάξη]]
else args['παρατήρηση'] = "Η γενική ενικού " .. Lf['linkcontrol'](stem["3"], 'εως') .. " δεν συνηθίζεται." -- preset κείμενο όπως στο [[|||||||||||||||||||||||||||||||||||||||||παγκοσμιοποίηση]]
end
return Lf['κλίση1'](args)
end
export['παιδί'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'παιδί']]
args['οε'] = "ί"
args['γε'] = "ιοῦ"
args['αε'] = "ί"
args['οπ'] = "ιά"
args['γπ'] = "ιῶν"
return Lf['κλίση1'](args)
end
export['παιδάκι'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'παιδάκι']]
args['οε'] = "ι"
args['αε'] = "ι"
args['οπ'] = "ια"
return Lf['κλίση1'](args)
end
export['παππούς'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'παππούς']]
args['οε'] = "οῦς"
args['γε'] = "οῦ"
args['αε'] = "οῦ"
args['οπ'] = "ούδαι"
args['γπ'] = "ούδων"
return Lf['κλίση1'](args)
end
export['παρόν'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'παρόν']]
args['οε'] = ""
args['γε'] = "ος"
args['οπ'] = "α"
args['γπ'] = "ων"
args['οεθ'] = "1"
args['γεθ'] = "1"
args['οπθ'] = "1"
args['γπθ'] = "1"
args['πρόσφ'] ="τ"
return Lf['κλίση2'](args)
end
export['πείνα'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'πείνα']]
args['οε'] = "α"
args['γε'] = "ας"
args['αε'] = "α"
args['οπ'] = "αι"
return Lf['κλίση1'](args)
end
export['περίπλους'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'περίπλους']]
args['οε'] = "οῦς"
args['γε'] = "οῦ"
args['αε'] = "οῦ"
args['κε'] = "οῦ"
args['οπ'] = "οι"
args['γπ'] = "ων"
args['απ'] = "οι"
args['κπ'] = "οι"
return Lf['κλίση1'](args)
end
export['πεύκο'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'πεύκο']]
args['οε'] = "ο"
args['γε'] = "οῦ"
args['αε'] = "ο"
args['οπ'] = "α"
if args['γπ'] == nil then args['γπ'] = "ων" end
return Lf['κλίση1'](args)
end
export['πραματευτής'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'πραματευτής']]
args['οε'] = "ῆς"
args['γε'] = "ῆ"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
args['οπ2'] = "άδαι"
args['γπ2'] = "άδων"
return Lf['κλίση1'](args)
end
export['πρόσωπο'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'πρόσωπο']]
args['οε'] = "ο"
args['γε'] = "οῦ"
args['αε'] = "ο"
args['οπ'] = "α"
args['γπ'] = "ων"
args['γεθ'] = "3"
args['γπθ'] = "3"
return Lf['κλίση1'](args)
end
export['πρόβατο'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'πρόβατο']]
args['οε'] = "ο"
args['γε'] = "οῦ"
args['γε2'] = "οῦ"
args['αε'] = "ο"
args['οπ'] = "α"
args['γπ'] = "ων"
args['γπ2'] = "ων"
args['γεθ'] = "3"
args['γπθ'] = "3"
return Lf['κλίση1'](args)
end
export['ρήγας'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ρήγας']]
args['οε'] = "ας"
args['γε'] = "α"
args['αε'] = "α"
args['οπ'] = "άδαι"
args['γπ'] = "άδων"
return Lf['κλίση1'](args)
end
export['Ρηνιώ'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'Ρηνιώ']]
args['οε'] = "ῶ"
args['γε'] = "ῶς"
args['αε'] = "ῶ"
args['οπ'] = "XX"
args['α'] = "εν"
return Lf['κλίση1'](args)
end
export['σάλπιγγα'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'σάλπιγγα']]
args['οε'] = "α"
args['γε'] = "ας"
args['αε'] = "α"
args['οπ'] = "αι"
args['γπ'] = "ων"
args['γπθ'] = "3"
if args['2gen'] == "1" then args['γπ2'] = "ων"
end
return Lf['κλίση1'](args)
end
export['σκόνη'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'σκόνη']]
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['αε'] = "ῆ"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
args['γπ0'] = "ῶν"
return Lf['κλίση1'](args)
end
export['σφουγγαράς'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'σφουγγαράς']]
args['οε'] = "ᾶς"
args['γε'] = "ᾶ"
args['αε'] = "ά"
args['οπ'] = "άδαι"
args['γπ'] = "άδων"
return Lf['κλίση1'](args)
end
export['ταμίας'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ταμίας']]
args['οε'] = "ας"
args['γε'] = "α"
args['αε'] = "α"
args['οπ'] = "αι"
args['γπ'] = "ῶν"
return Lf['κλίση1'](args)
end
export['ταχύπους'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ταχύπους']]
args['οε'] = "οῦς"
args['γε'] = "οδος"
args['αε'] = "οδα"
args['κε'] = "οῦς"
args['οπ'] = "οδαι"
args['γπ'] = "όδων"
args['απ'] = "οδαι"
args['κπ'] = "οδαι"
return Lf['κλίση1'](args)
end
export['τραγούδι'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'τραγούδι']]
args['οε'] = "ι"
args['γε'] = "ιοῦ"
args['αε'] = "ι"
args['οπ'] = "ια"
args['γπ'] = "ιῶν"
return Lf['κλίση1'](args)
end
-- με πρόσθετο σύμφωνο γ ή τ
export['τσάι'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'τσάι']]
args['οε'] = "ι"
args['γε'] = "ιοῦ"
args['οπ'] = "ια"
args['γπ'] = "ιῶν"
args['οεθ'] = "1"
args['γεθ'] = "2"
args['οπθ'] = "1"
args['γπθ'] = "2"
args['πρόσφ'] ="γ"
return Lf['κλίση2'](args)
end
export['Φρόσω'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'Φρόσω']]
args['οε'] = "ω"
args['γε'] = "ως"
args['αε'] = "ω"
args['οπ'] = "ΧΧ"
args['α'] = "εν"
return Lf['κλίση1'](args)
end
export['φύλακας'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'φύλακας']]
args['οε'] = "ας"
args['γε'] = "α"
args['αε'] = "α"
args['οπ'] = "αι"
args['γπ'] = "ων"
args['γπθ'] = "3"
return Lf['κλίση1'](args)
end
export['ψυχή'] = function(args) -- [[Template:Wt/grc/grc-κλίσ-'ψυχή']]
args['οε'] = "ῆ"
args['γε'] = "ῆς"
args['αε'] = "ῆ"
args['οπ'] = "αι"
if args['γπ'] == nil then args['γπ'] = "ῶν" end
return Lf['κλίση1'](args)
end
-- ================ δοκιμαστικά
export['τεστ'] = function(args)
args['ιδιαίτερη κλίση'] = true
return Lf['κλίση1'](args)
end
export['ουσ'] = function(args)
args['ιδιαίτερη κλίση'] = true
return Lf['κλίση1'](args)
end
return export