Documentation for this module may be created at Module:Πρότυπο:γρ/τεκμηρίωση

export = {}
local Lf = {}
local Ld = {}
Ld['γλώσσες'] = mw.loadData("Module:Languages")
Lf['παραπομπές'] = require "Module:παραπομπές"

--μπορούν να προστεθούν και άλλες κατηγορίες για άλλες γλώσσες π.χ. το: λατιν του
Ld['είδη'] = { ['πολ'] = "''πολυτονική γραφή του'' ",
['μορφ'] = "''άλλη μορφή του'' ",
['παρωχ'] = "''παρωχημένη μορφή του'' ",

['α'] = "''[[αρσενικός|αρσενικό]] του'' ",
['θ'] = "''[[θηλυκός|θηλυκό]] του'' ",
['ο'] = "''[[ουδέτερος|ουδέτερο]] του'' ",
['ασυν'] = "''[[ασυναίρετος|ασυναίρετη]] μορφή του'' ",
['απλοπ'] = "''[[απλοποιημένος|απλοποιημένη]] μορφή του'' ",
['συν'] = "''[[συνηρημένος|συνηρημένη]] μορφή του'' ",
['λατ'] = "''[[λατινικός|λατινική]] γραφή του'' ",
['α2'] = "''[[αρσενικός|αρσενικό]]:'' ",
['θ2'] = "''[[θηλυκός|θηλυκό]]:'' ",
['ο2'] = "''[[ουδέτερος|ουδέτερο]]:'' ",
['ασυν2'] = "''[[ασυναίρετος|ασυναίρετη]] μορφή:'' ",
['απλοπ2'] = "''[[απλοποιημένος|απλοποιημένη]] μορφή:'' ",
['συν2'] = "''[[συνηρημένος|συνηρημένη]] μορφή:'' ",
['λατ2'] = "''[[λατινικός|λατινική]] γραφή:'' "
}

--args['είδος']
--args['στόχος']['λήμμα']
--args['στόχος']['iso']
Lf['δημιουργία πρότασης'] = function(args)
	--mw.log(args['είδος'],args['στόχος']['λήμμα'], args['στόχος']['iso'])
    local output = Ld['είδη'][args['είδος']] or "''άλλη γραφή του'' "
    Lf['δημιουργία παραπομπής σε λήμμα'] = Lf['παραπομπές']['δημιουργία παραπομπής σε λήμμα']
    --mw.log(type(Lf['παραπομπές']))
    --mw.log(type(Lf['δημιουργία παραπομπής σε λήμμα']))
    --mw.log(' output 1:',output)
        --mw.log('b:' .. b)
    output = output .. Lf['δημιουργία παραπομπής σε λήμμα'](args['στόχος']['λήμμα'], args['στόχος']['iso'])
    --mw.log("Lf['δημιουργία γραμμής']  output:#" .. output .. "#")
    return output
end

export['γραφή του'] = function (frame)
    local lemmaargs = frame:getParent().args
    lemmaargs['στόχος'] = {}
    lemmaargs['στόχος']['λήμμα'] = lemmaargs[1] or ''
    lemmaargs['είδος'] = lemmaargs[2] or ''
    --3η παράμετρος η γλώσσα
    lemmaargs['στόχος']['iso']= lemmaargs[3] or ''
    local output = ''
    output = Lf['δημιουργία πρότασης'](lemmaargs)
	return frame:preprocess(output)
end

export.test = function (lemmaargs)
    lemmaargs['στόχος']['λήμμα'] = lemmaargs[1] or ''
    lemmaargs['είδος'] = lemmaargs[2] or ''
    --3η παράμετρος η γλώσσα
    lemmaargs['στόχος']['iso']= lemmaargs[3] or ''
    return lemmaargs['στόχος']['iso']
end

export['test2'] = function (arg1)
	mw.log(arg1)
	local lemmaargs ={}
	--return arg1 .. arg2 .. arg3
	return arg1
end

export['test3'] = function (arg1,arg2,arg3)
	local lemmaargs ={}
	lemmaargs['στόχος'] ={}
    lemmaargs['στόχος']['λήμμα'] = arg1 or ''
    lemmaargs['είδος'] = arg2 or ''
    --3η παράμετρος η γλώσσα
    lemmaargs['στόχος']['iso']= arg3 or ''
    local output = ''
    output = Lf['δημιουργία πρότασης'](lemmaargs)
    --mw.log('ante pali:' .. output)
    return "TELIKO:" .. output
	
end

return export