Module:ετυμολογία/τεστ >> Module:ετυμολογία/τεκμηρίωση (etymology Module)


Το Module:ετυμολογία δημιουργεί 10 πρότυπα ετυμολογίας διπλής κατεύθυνσης (με γλώσσα δότρια και γλώσσα αποδέκτρια) και 2 μορφολογικά (υποκοριστικό, μεγεθυντικό).
Οι κωδικοί των γλωσσών αντλούνται από το Module:Languages.
Καλείται από τα πρότυπα

  • {{ετυμ}} (προέλευση. Γενική κατηγορία-ομπρέλα για κάθε είδους ετυμολογική σχέση)
  • {{δαν}} (δάνειο), {{λδαν}} (λόγιο δάνειο),{{μτφδ}} (μεταφραστικό δάνειο), {{απόδ}} (απόδοση), {{σμσδ}} (σημασιολογικό δάνειο), {{ορθδ}} (ορθογραφικό δάνειο), {{φων}} (φωνητική απόδοση)
  • {{κλη}} (κληρονομιά), {{λδδ}} (λόγιος διαχρονικός δανεισμός ή αναβίωση)

που εντάσσουν τα λήμματα σε σχετικές ετυμολογικές Κατηγορίες.
Tρόπος γραφής:

{{ετυμ|<κωδικός γλώσσας δότριας>|<κωδικός γλώσσας αποδέκτριας>|<λέξη δότρια>|<άλλη εμφάνιση λέξης>}}

Γενικές παρατηρήσεις:

  • Στη θέση#2 για τον κωδικό iso της γλώσσας αποδέκτριας, δεν χρειάζεται να γράφουμε κωδικό για τα νέα ελληνικά (el) γιατί εννοείται αυτομάτως. Μπορεί να μένει κενή
  • Προαιρετικές είναι οι θέσεις #3 και #4 για το σύνδεσμο ακριβείας με τη λέξη δότρια
  • Όλα τα πρότυπα δέχονται τις παραμέτρους:
    |notext= ή |0=
    |nocat= ή |00=
    |text= ή |κειμ= Π.χ. το |text=1 εμφανίζει ανεπτυγμένο κείμενο
  • και για τη λέξη δότρια
    |tr= ή |γ= transliteration, η διεθνής μεταγραφή
    |t= ή |μ= translation, μετάφραση: μία λέξη με σύνδεσμο
    |tnl= ή |μχωρίς= translation no link, μετάφραση: ελεύθερο κείμενο χωρίς συνδέσμους (γράφουμε ό,τι θέλουμε)
  • Ειδική παράμετρος για πολυπληθείς υποκατηγορίες σε ορισμένα Πρότυπα:
    |τύπος= με επιλογές όπως: επώνυμο, όνομα, τοπωνύμιο
  • Δείτε τις οδηγίες τους για λεπτομέρειες.

Επιπλέον, το module καλείται από τα πρότυπα {{υπο}} (για υποκοριστικά), {{μεγ}} (για μεγεθυντικά) με παράμετρο |nocat=|00=)
Επίσης, ΧΩΡΙΣ ΚΑΤΗΓΟΡΙΕΣ: το πρότυπο {{μσν}} για απλή αναγραφή του όρου (μεσαιωνική ελληνική)
Για τους συντάκτες ξένων γλωσσών, υπάρχουν λατινογράμματες εναλλακτικές ονομασίες των προτύπων.


Δείτε και Βοήθεια:Ετυμολογία.

τεστ

  • δοκιμάστε εδώ κάποιο τεστ

Προβλήματα

  • τα warngings και τα errors χρειάζονται επανασχεδιασμό. 2019.08.01.

--[=[
ΔΙΑΤΑΞΗ
	Α. Προκαταρκτικά - Preliminaries
	Β. functions ετυμολογίας
		ετυμ (προέλευση από - derived from/originates), 
		δάνειο (borrowed), λόγιο δάνειο (learned borrowing), μεταφραστικό δάνειο (calque),
			απόδοση (free translation), φωνητική απόδοση
			σημασιολογικό δάνειο (semantic loan), ορθογραφικό δάνειο (orthographic borrowing),
		κληρονομιά (inherited), λόγιος διαχρονικός δανεισμός ή αναβίωση (revival or learned diachronic borrowing)
	Γ. functions μορφολογίας
		υποκοριστικό (diminutive), μεγεθυντικό (augmentative)
	Δ. παλαιότερες function, δοκιμαστικές
		ισχύει η μσν (μεσαιωνική - mediaeval)
ΗΜΕΡΟΛΟΓΙΟ / LOG
	2020.11.15. +cattype (τύπος=όνομα, επώνυμο, τοπωνύμια) και στα ορθδ, φων + 2020.11.24. λδαν.
	2020.11.05. ascii sort παντού
	2020.11.03. Αλλαγή της έκφρασης ...ικές λέξεις ...ής προέλευσης ([[Module:Languages]].words+from)
		σε standard Προέλευση λέξεων +apota (γλώσσσ δέκτης) για χρήση στο [[Module:auto cat]]
		Η ομοιόμορφη με τις άλλες έκφραση, εγκρίθηκε στο [[Βικιλεξικό:Βικιδημία/2020#Ερώτηση προς όλους για auto cat]]
	2020.08.31. style για σύνδεσμο ονομασίας γλωσσών χωρίς μπλε (funtion link_languages) διότι επισημένθηκε ότι μαζεύονται πάρα πολλά μπλε links στην Ετυμολογία
	2020.08.23. LINK/noasterisc section: elseif lang_donor_iso == 'gmy2' then / require [[Module:Linb-translit]]
			-- 2020.09.10. needs correction. It links EVERY word to Module:Linb-translit.
	2020.07.29. function ετυ Παραγωγή λέξεων από τα... (ανά γλώσσα)
	2020.05.10. ειδικά για το 'ετυμ', 'κλη' και το 'δαν' : +παράμετρος τύπος= για υποκατηγορία Επώνυμα, Τοπωνύμια, κλπ
		(οι λέξεις με παύλα) λόγω του τεράστιου αριθμού τους
		+ parameter cattype for Surnames and Placenames
	2020.02.13. Function donor word link: + transliteration (tr=) translation (t=), translation with no link (tno=)
		similar to [[Module:Πρότυπο:λ]]
	2019.11.26. [[Πρότυπο:φων]] (φωνητική απόδοση) π.χ. [[κέιτερινγκ]]
	2019.08.12. param nocat & 00, param notext & 0, param text & κειμ
		notext= και 0= για γρήγορη πληκτρολόγηση (μηδέν: δείκτης ευρείας χρήσεως για αφαίρεση παρένθεσης και στυλ)
		nocat= και 00= για γρήγορη πληκτρολόγηση (δύο μηδενικά: δείκτης ευρείας χρήσεως για αφαίρεση Κατηγορίας)
		text= και κειμ= αναπτυγμένο κείμενο - full text
		easy-type διευκολύνσεις μη αλλαγής πληκτρολογίου για ονόματα γλωσσών
	2019.08.08. πρότυπα λδαν (λόγιο δάνειο), λδδ (λόγιος διαχρονικός δανεισμός ή αναβίωση) και απόδ (απόδοση)
	2019.08.01. Unification of functions - Ομοιογενοποίηση ετυμ, δαν, κ.λπ.
			el assumed - εννοούνται τα νέα ελληνικά +easy typing grc, grc-koi, gkm
			Function link: etyma wtih asteriscs: not linked, but shown.
	2019.07. param text=1 για μεγάλο κείμενο, require [[Module:tin]] για διάκριση
			άρθρου 'τη' ή 'την' για το όνομα της γλώσσας
	2019.06.25. Function link (για σύνδεσμο στη λέξη-δότρια).
	2019.04.11. υποκοριστικό, μεγεθυντικό
	2019.03.15. ορθογραφικό δάνειο
	2019: μερικές προσθήκες στο Module του Xoristzatziki by Sarri.greek
	2016-2018: by Xoristzatziki βασικές function, και πολλά δοκιμαστικά
ΣΗΜΕΙΩΣΕΙΣ
	* Ετυμολογήσεις που χαρακτηρίζονται μόνο από μία γλώσσα, γίνονται με Πρότυπα wikitext (π.χ. αντιδάνειο, αναδανεισμός, κ.λπ.)
ΕΚΚΡΕΜΟΤΗΤΕΣ
	* Οι προειδοποιήσεις και τα errors δεν είναι σωστά.
	* τα 'υπο' και 'μεγ' πρέπει να έχουν και |tr=, t= όπως το functionLink. Cf. [[arancino]]
	* Να δημιουργηθεί παράμετρος |λόγιο=1 για όλες τις function

]=]--

export = {}

--------------------------------------------------------------------------
--                    Α. Προκαταρκτικά - Preliminaries                  --
--------------------------------------------------------------------------

languages = mw.loadData("Module:Languages")
-- DO NOT add here get_gmy = require("Module:Linb-translit").gmy_get  IT LINKS EVERY WORD to Module:Linb


style1 = 'color:#002000; border-bottom:1px dashed #dddddd;'		-- όπως στο [[Πρότυπο:style1]]

local Lf = {} --πίνακας με τις τοπικές συναρτήσεις - local functions

-- βρίσκει το όνομα του Προτύπου που κάλεσε το Module
-- αλλά μόνο αν κλήθηκε από σελίδα που κάλεσε το πρότυπο
-- finds the Template's name calling this Module, but only if called from a page using the Template
template_function = 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

-- Error, σφάλμα Used at ετυμ and at δάνειο
errorhere = function(errstring)
    return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο ετυμολογίας]]'
end

link_language = function(linklanguage)
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
		if lang_donor ~= '' and lang_donor_frm ~= '' then
		mytext =  "[[" .. lang_donor .. '|<span style="color:#002000; border-bottom: 1px dashed #ddd; font-style:italic;">' .. lang_donor_frm .. '</span>]]'
		end
return mytext
end

-- ================== Function link for donor-word -  για τη λέξη-δότρια ====================== --
linkFunction = function(link)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
       	-- for reconstructed (e.g. protoindoeuropean words) when they have an asterisc, i do NOT want the asterisc
    	if word_donor:sub(1, 1) == '*' then	--start at 1st character, stop at 1st character
		word_donor_noasterisc = word_donor:sub(2, -1)	--start at 2nd character, stop at last character
		end
    word_donor_show = myargs[4] or ''
	transliteration = myargs['tr'] or myargs['γ'] or '' -- test [[Βούδας]]
	translation = myargs['t'] or myargs['μ'] or ''
	translation_nolink = myargs['tno'] or myargs['tnl'] or myargs['μχωρίς'] or ''

	-- if there is an asterisc at etymon
    if word_donor ~= '' and word_donor:sub(1, 1) == '*'  and lang_donor_iso ~= '' then
    	lang_donor_link = languages[lang_donor_iso]['link'] or ''
    	if word_donor_show ~= '' then
    		mytext =  mytext .. ' ' .. '[[' .. word_donor_noasterisc .. "#" .. lang_donor_link .. '|' .. word_donor_show .. ']]'
    		else
    		mytext =  mytext .. ' ' .. '[[' .. word_donor_noasterisc .. "#" .. lang_donor_link .. '|' .. word_donor .. ']]'
    	end
		else
		if word_donor ~= '' and word_donor:sub(1, 1) == '*' and lang_donor_iso == '' then
			if word_donor_show ~= '' then
				mytext =  mytext .. ' ' .. '[[' .. word_donor_noasterisc .. '|' .. word_donor_show .. ']]'
				else
				mytext =  mytext .. ' ' .. '[[' .. word_donor_noasterisc .. '|' .. word_donor .. ']]'
			end
		end
	end
	-- if there is NO asterisc at etymon

	-- όταν δεν υπάρχει η γραφή της λέξης από παλαιές γλώσσες π.χ. ota {{etym|ota|el|?|tr=xxx}}
		lang_donor_iso = myargs[1] or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
		lang_target = languages[lang_target_iso]['name'] or ''
		lang_donor_name = languages[lang_donor_iso]['name'] or ''
		if word_donor == '?' and lang_donor_iso ~= '' then
			mytext =  mytext .. ' ' .. '<span title="Λείπει η γραφή της λέξης">?</span>' .. '[[Κατηγορία:Ελλείπουσα γραφή (' .. lang_donor_name .. ')]]'
		elseif lang_donor_iso == 'gmy2' then
			mytext = mytext .. ' ' .. '[[' .. require("Module:Linb-translit").gmy_get(word_donor) .. ']]'
		else
	
	
    if word_donor ~= '' and word_donor:sub(1, 1) ~= '*'  and lang_donor_iso ~= '' and lang_donor_iso ~= 'gmy2' then
    	lang_donor_link = languages[lang_donor_iso]['link'] or ''
    	if word_donor_show ~= '' then
    		mytext =  mytext .. ' ' .. '[[' .. word_donor .. "#" .. lang_donor_link .. '|' .. word_donor_show .. ']]'
    		else
    		mytext =  mytext .. ' ' .. '[[' .. word_donor .. "#" .. lang_donor_link .. '|' .. word_donor .. ']]'
    	end
	else
		if word_donor ~= '' and word_donor:sub(1, 1) ~= '*' and lang_donor_iso == '' then
			if word_donor_show ~= '' then
				mytext =  mytext .. ' ' .. '[[' .. word_donor .. '|' .. word_donor_show .. ']]'
				else
				mytext =  mytext .. ' ' .. '[[' .. word_donor .. '|' .. word_donor .. ']]'
			end
		end
		
		end -- close word_donor == ?
	end

	-- μεταγραφή, μετάφραση εντός συνδέσμου, μετάφραση χωρίς συνδέσμους (συμπληρώνει ο συντάκτης)
			if transliteration ~= ''  and translation ~= '' and translation_nolink == '' then
				return mytext .. ' (<span style="font-size:95%; letter-spacing:1px;">' ..
				transliteration .. '</span>, ' .. '[[' ..translation .. ']])'
			end
			if transliteration ~= ''  and translation == '' and translation_nolink ~= '' then
				return mytext .. ' (<span style="font-size:95%; letter-spacing:1px;">' ..
				transliteration .. '</span>, ' .. translation_nolink .. ')'
			end
			if transliteration ~= ''  and translation == '' and translation_nolink == '' then
				return mytext .. ' (<span style="font-size:95%; letter-spacing:1px;">' .. transliteration .. '</span>)'
			end
			if transliteration == ''  and translation ~= '' and translation_nolink == '' then
				return mytext .. ' ([[' .. translation .. ']])' 
			end
			if transliteration == ''  and translation == '' and translation_nolink ~= '' then
				return mytext .. ' (' .. translation_nolink .. ')' 
			end

    return mytext
end

-- για μεγάλα κείμενα (param text= ή κειμ=) το [[Module:tin]] δίνει άρθρο θηλυκό, αιτιατική 'την' ή 'τη'
-- feminine article variations for longtext
fem_article_tin = require("Module:tin")

-- Export from
export['από πρότυπο'] = function(frame)
    lc = {}
    myargs = frame:getParent().args
    lemma_word = mw.title.getCurrentTitle().text
    template_name = template_function(frame)
    -- το Πρότυπο:ετυμ λειτουργεί από εδώ
    if template_name == 'δαν' then return Lf['δάνειο'](lc) end
    if template_name == 'λδαν' then return Lf['λόγιο δάνειο'](lc) end
    if template_name == 'μτφδ' then return Lf['μεταφραστικό δάνειο'](lc) end
    if template_name == 'απόδ' then return Lf['απόδοση'](lc) end
    if template_name == 'σμσδ' then return Lf['σημασιολογικό δάνειο'](lc) end
    if template_name == 'ορθδ' then return Lf['ορθογραφικό δάνειο'](lc) end
    if template_name == 'φων' then return Lf['φωνητική απόδοση'](lc) end
    if template_name == 'κλη' then return Lf['κληρονομιά'](lc) end
    if template_name == 'λδδ' then return Lf['λδδ'](lc) end
    if template_name == 'μσν' then return Lf['μεσαιωνική'](lc) end
    if template_name == 'υπο' then return Lf['υποκοριστικό'](lc) end
    if template_name == 'μεγ' then return Lf['μεγεθυντικό'](lc) end

	-- ετυ στον πρώτο κρίκο της ετυμολογίας: Παραγωγή λέξεων από τα...
	-- ετυ at the very first ring or the etymology: Derivation from ...
	if template_name == 'ετυ' then return Lf['ετυ'](lc) end

    -- απλή ετυμολόγηση = ετυμ: Προέλευση από
    return Lf['απλή ετυμολόγηση'](lc)

end

--------------------------------------------------------------------------
--           Β. Functions ετυμολογίας: ΛΕΙΤΟΥΡΓΙΕΣ εν χρήσει       --
--------------------------------------------------------------------------

-- ετυμ (για Προελεύσεις), δάνειο, λόγιο δάνειο, μεταφραστικό δάνειο, 
--	απόδοση, σημασιολογικό δάνειο, ορθογραφικό δάνειο, φωνητική απόδοση
--  κληρονομιά, λόγιος διαχρονικός δανεισμός (αναβίωση)


-- ετυμ από Xoristzatziki (καλείται από το [[Πρότυπο:ετυμ]] και δημιουργεί Κατηγορίες Προέλευση από...)
-- ΑΠΛΗ ΕΤΥΜΟΛΟΓΗΣΗ - Derives from, originates from
Lf['απλή ετυμολόγηση'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    cattype = myargs['τύπος'] or ''		-- check [[ζενίθ]] χωρίς την παράμετρο
    	if myargs['τύπος'] ~= '' and myargs['τύπος'] ~= nil then
    		if myargs['τύπος'] == 'επώνυμο' or myargs['τύπος'] == 'επ' then myargs['τύπος'] = ' - επώνυμα '
    		elseif myargs['τύπος'] == 'όνομα' or myargs['τύπος'] == 'ον'  then myargs['τύπος'] = ' - ονόματα '
    		elseif myargs['τύπος'] == 'τοπωνύμιο' or myargs['τύπος'] == 'τόπος'  then myargs['τύπος'] = ' - τοπωνύμια '
    		else
    		return errorhere('Επιλέξτε παράμετρο τύπος=όνομα ή =επώνυμο ή =τοπωνύμιο')
	    	end
    	end
    mytext = '' or '' -- το default κείμενο είναι άδειο
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin (παράδειγμα: [[okyanus]])
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = 'προέλευσης από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end
    
    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Προέλευση, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Προέλευση, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso: if one iso is wrong, get error
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    --αν δεν υπάρχει το iso γλώσσας ετύμου στην param#1, ή iso γλώσσας-δέκτριας στην param#2, επίστρεψε σφάλμα
    	if languages[lang_donor_iso] == nil or languages[lang_target_iso] == nil then
        	return errorhere('Κάποια παράμετρος (iso γλώσσας) είναι λάθος ή δεν υπάρχει ο κωδικός!')
        	else
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	lang_target_words = languages[lang_target_iso]['words'] or ''
    	lang_target_from = languages[lang_donor_iso]['from'] or ''
    	cattype = myargs['τύπος'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage')
            	else
    			if asciiSort == '' then  -- e.g. [[-ster]] (en)
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]'
				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
			'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]'
				end
    		end
    	end
    end
	
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end


-- ετυ = Παραγωγή λέξεων από τα... (ανά γλώσσα) [[Πρότυπο:ετυ]]
	-- προσοχή: δεν κληρονομεί και τα cattype
Lf['ετυ'] = function(lc)
	lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
	lang_target = languages[lang_target_iso]['name'] or ''
	
	return Lf['απλή ετυμολόγηση'](lc) .. '[[Κατηγορία:Παραγωγή λέξεων ' .. lang_donor_apota .. ' (' .. lang_target ..')]]'
end

-- δάνειο - borrowed [[Πρότυπο:δαν]]
-- Δημιουργεί Κατηγορία:Δάνεια από... plus Προέλευση από... (παράδειγμα: [[αρένα]])
Lf['δάνειο'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    cattype = myargs['τύπος'] or ''		-- check [[Κουν]] (επώνυμο), έλεγχος σε δάνειο χωρίς την πάράμετρο: [[πιροσκί]], [[κονβόι]]
    	if myargs['τύπος'] ~= '' and myargs['τύπος'] ~= nil then
    		if myargs['τύπος'] == 'επώνυμο' or myargs['τύπος'] == 'επ' then myargs['τύπος'] = ' - επώνυμα '
    		elseif myargs['τύπος'] == 'όνομα' or myargs['τύπος'] == 'ον'  then myargs['τύπος'] = ' - ονόματα '
    		elseif myargs['τύπος'] == 'τοπωνύμιο' or myargs['τύπος'] == 'τόπος'  then myargs['τύπος'] = ' - τοπωνύμια '
    		else
    		return errorhere('Επιλέξτε παράμετρο τύπος=όνομα ή =επώνυμο ή =τοπωνύμιο')
	    	end
    	end
    mytext = '' or '' -- το default κείμενο είναι άδειο
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    -- test 'τη' at [[βανδαλισμός]], test 'την' at [[αβοκάντο]], test lemma without param |text=1 at [[πρελούδιο]]
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = '[[δάνειο]] από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end
    
    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso: if one iso is wrong, get error
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    --αν δεν υπάρχει το iso γλώσσας ετύμου στην param#1, ή iso γλώσσας-δέκτριας στην param#2, επίστρεψε σφάλμα
    	if languages[lang_donor_iso] == nil or languages[lang_target_iso] == nil then
        	return errorhere('Κάποια παράμετρος (iso γλώσσας) είναι λάθος ή δεν υπάρχει ο κωδικός!')
        	else
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	cattype = myargs['τύπος'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
            	if asciiSort == '' then  -- e.g. [[-algie]] (fr)
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Δάνεια ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]'
    			else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Δάνεια ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]'
    			end
        	end
		end
    end
	
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end


-- λόγιο δάνειο - learned borrowing [[Πρότυπο:λδαν]]
-- Δημιουργεί Κατηγορία:Λόγια δάνεια από... plus Προέλευση από... (παράδειγμα: [[ζενίθ]])
Lf['λόγιο δάνειο'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    cattype = myargs['τύπος'] or ''		-- όπως καθαρεύουσα [[Οὐλερῖχος]]
    	if myargs['τύπος'] ~= '' and myargs['τύπος'] ~= nil then
    		if myargs['τύπος'] == 'επώνυμο' or myargs['τύπος'] == 'επ' then myargs['τύπος'] = ' - επώνυμα '
    		elseif myargs['τύπος'] == 'όνομα' or myargs['τύπος'] == 'ον'  then myargs['τύπος'] = ' - ονόματα '
    		elseif myargs['τύπος'] == 'τοπωνύμιο' or myargs['τύπος'] == 'τόπος'  then myargs['τύπος'] = ' - τοπωνύμια '
    		else
    		return errorhere('Επιλέξτε παράμετρο τύπος=όνομα ή =επώνυμο ή =τοπωνύμιο')
	    	end
    	end
    mytext = '([[λόγιος|λόγιο]] [[δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param notext= or 0=
    noDefaultText = myargs['notext'] or ''
    zero= myargs['0'] or ''
    if noDefaultText ~= '' or zero~= '' then mytext = '' else mytext = '([[λόγιος|λόγιο]] [[δάνειο]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = '[[λόγιος|λόγιο]] [[δάνειο]] από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Λόγια δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Λόγια δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	cattype = myargs['τύπος'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
    			if asciiSort == '' then
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Λόγια δάνεια ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]'
				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Λόγια δάνεια ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]'
				end
    	end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end


-- μεταφραστικό δάνειο - calque [[Πρότυπο:μτφδ]]
-- Δημιουργεί Κατηγορία:Μεταφραστικά δάνεια από... (παράδειγμα: [[ουρανοξύστης]])
Lf['μεταφραστικό δάνειο'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    mytext = '([[μεταφραστικό δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param notext= or 0=
    noDefaultText = myargs['notext'] or ''
    zero= myargs['0'] or ''
    if noDefaultText ~= '' or zero~= '' then mytext = '' else mytext = '([[μεταφραστικό δάνειο]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = '[[μεταφραστικό δάνειο]] από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικά δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικά δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
    				if asciiSort == '' then
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Μεταφραστικά δάνεια ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]'   
    				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Μεταφραστικά δάνεια ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]'
    				end
    	end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end


-- απόδοση - free translation [[Πρότυπο:απόδ]]
-- Δημιουργεί Κατηγορία:Μεταφραστικές αποδόσεις από... plus Προέλευση από... (παράδειγμα: [[αποικιοκρατία]])
Lf['απόδοση'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    mytext = '([[απόδοση]]) ' or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param notext= or 0=
    noDefaultText = myargs['notext'] or ''
    zero= myargs['0'] or ''
    if noDefaultText ~= '' or zero~= '' then mytext = '' else mytext = '([[απόδοση]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin (παράδειγμα: [[ανάδυση]])
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = '[[απόδοση]] για ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικές αποδόσεις, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικές αποδόσεις, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
    				if asciiSort == '' then
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Μεταφραστικές αποδόσεις ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]'	
    				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Μεταφραστικές αποδόσεις ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]'
    				end
    	end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end



-- σημασιολογικό δάνειο - semantic loan [[Πρότυπο:σμσδ]]
-- Δημιουργεί Κατηγορία:Σημασιολογικά δάνεια από... (παράδειγμα: [[πληθωρισμός]], [[ποντίκι]])
Lf['σημασιολογικό δάνειο'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    mytext = '([[σημασιολογικό δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param notext= or 0=
    noDefaultText = myargs['notext'] or ''
    zero= myargs['0'] or ''
    if noDefaultText ~= '' or zero~= '' then mytext = '' else mytext = '([[σημασιολογικό δάνειο]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = '[[σημασιολογικό δάνειο]] από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Σημασιολογικά δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Σημασιολογικά δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	lang_target_words = languages[lang_target_iso]['words'] or ''
    	lang_target_from = languages[lang_donor_iso]['from'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
    				if asciiSort == '' then
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Σημασιολογικά δάνεια ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]'  
    				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Σημασιολογικά δάνεια ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]'   
    				end
    	end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end



-- ορθογραφικό δάνειο - orthographic borrowing [[Πρότυπο:ορθδ]]
-- Δημιουργεί Κατηγορία:Ορθογραφικά δάνεια από... plus Προέλευση από... (παράδειγμα [[ζέβρα]])
Lf['ορθογραφικό δάνειο'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    cattype = myargs['τύπος'] or ''		-- check [[ζενίθ]]
    	if myargs['τύπος'] ~= '' and myargs['τύπος'] ~= nil then
    		if myargs['τύπος'] == 'επώνυμο' or myargs['τύπος'] == 'επ' then myargs['τύπος'] = ' - επώνυμα '
    		elseif myargs['τύπος'] == 'όνομα' or myargs['τύπος'] == 'ον'  then myargs['τύπος'] = ' - ονόματα '
    		elseif myargs['τύπος'] == 'τοπωνύμιο' or myargs['τύπος'] == 'τόπος'  then myargs['τύπος'] = ' - τοπωνύμια '
    		else
    		return errorhere('Επιλέξτε παράμετρο τύπος=όνομα ή =επώνυμο ή =τοπωνύμιο')
	    	end
    	end
    mytext = '([[ορθογραφικό δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param notext= or 0=
    noDefaultText = myargs['notext'] or ''
    zero= myargs['0'] or ''
    if noDefaultText ~= '' or zero~= '' then mytext = '' else mytext = '([[ορθογραφικό δάνειο]]) ' end
    	
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = '[[ορθογραφικό δάνειο]] από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Ορθογραφικά δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Ορθογραφικά δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	cattype = myargs['τύπος'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
	 				if asciiSort == '' then		
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Ορθογραφικά δάνεια ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]' 
    				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Ορθογραφικά δάνεια ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' 
    				end
    	end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end

-- φωνητική απόδοση (phonetic transcription) [[Πρότυπο:φων]]
-- Δημιουργεί Κατηγορία:Φωνητικές μεταγραφές από... plus Προέλευση από... (παράδειγμα: [[κέιτερινγκ]])
Lf['φωνητική απόδοση'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    cattype = myargs['τύπος'] or ''		-- check [[ζενίθ]]
    	if myargs['τύπος'] ~= '' and myargs['τύπος'] ~= nil then
    		if myargs['τύπος'] == 'επώνυμο' or myargs['τύπος'] == 'επ' then myargs['τύπος'] = ' - επώνυμα '
    		elseif myargs['τύπος'] == 'όνομα' or myargs['τύπος'] == 'ον'  then myargs['τύπος'] = ' - ονόματα '
    		elseif myargs['τύπος'] == 'τοπωνύμιο' or myargs['τύπος'] == 'τόπος'  then myargs['τύπος'] = ' - τοπωνύμια '
    		else
    		return errorhere('Επιλέξτε παράμετρο τύπος=όνομα ή =επώνυμο ή =τοπωνύμιο')
	    	end
    	end
    mytext = '(φωνητική [[απόδοση]]) ' or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param notext= or 0=
    noDefaultText = myargs['notext'] or ''
    zero= myargs['0'] or ''
    if noDefaultText ~= '' or zero~= '' then mytext = '' else mytext = '(φωνητική [[απόδοση]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = 'φωνητική [[απόδοση]] για ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Φωνητικές αποδόσεις, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Φωνητικές αποδόσεις, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	cattype = myargs['τύπος'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
    				if asciiSort == '' then
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Φωνητικές αποδόσεις ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]' 
    				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Φωνητικές αποδόσεις ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' 	
    				end
    	end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end


-- κληρονομιά - inherited [[Πρότυπο:κλη]]. Δεν δίνει κείμενο. 
-- Δημιουργεί Κατηγορία:Κληρονομημένες λέξεις από... plus Προέλευση από... (παράδειγμα: [[θησαυρός]])
Lf['κληρονομιά'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    cattype = myargs['τύπος'] or ''		-- check [[ζενίθ]]
    	if myargs['τύπος'] ~= '' and myargs['τύπος'] ~= nil then
    		if myargs['τύπος'] == 'επώνυμο' or myargs['τύπος'] == 'επ' then myargs['τύπος'] = ' - επώνυμα '
    		elseif myargs['τύπος'] == 'όνομα' or myargs['τύπος'] == 'ον'  then myargs['τύπος'] = ' - ονόματα '
    		elseif myargs['τύπος'] == 'τοπωνύμιο' or myargs['τύπος'] == 'τόπος'  then myargs['τύπος'] = ' - τοπωνύμια '
    		else
    		return errorhere('Επιλέξτε παράμετρο τύπος=όνομα ή =επώνυμο ή =τοπωνύμιο')
	    	end
    	end
    mytext = '' or '' -- το default κείμενο είναι άδειο
    asciiSort = myargs['ascii'] or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = 'κληρονομημένη από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Κληρονομημένες λέξεις, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Κληρονομημένες λέξεις, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	cattype = myargs['τύπος'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
        	else
        		if asciiSort == '' then  -- e.g. [[-etto]] (it)
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Κληρονομημένες λέξεις ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')]]'
				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Κληρονομημένες λέξεις ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. cattype .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]'
				end	
    		end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end


-- Υπάγονται στα λόγια δάνεια. Ο όρος, όπως στο Λεξικό Τριανταφυλλίδη (εισαγωγή)
-- λόγιος διαχρονικός δανεισμός (αναβίωση) - learned diachronic borrowing (revival) [[Πρότυπο:λδδ]]
-- Δημιουργεί Κατηγορία:Λόγιοι διαχρονικοί δανεισμοί από... plus Προέλευση από... (παράδειγμα: [[αιδώς]], [[λάβαρο]])
Lf['λδδ'] = function(lc)
    lang_donor_iso = myargs[1] or ''
    lang_target_iso = myargs[2] or ''
    word_donor = myargs[3] or ''
    word_donor_show = myargs[4] or ''
    mytext = '([[λόγιος|<span title="λόγιος διαχρονικός δανεισμός">λόγιο</span>]]) ' or ''
-- easy-type διευκολύνσεις:
if lang_donor_iso == 'αρχ' then lang_donor_iso = 'grc' end
if lang_donor_iso == 'ελν' or lang_donor_iso == 'κοι' then lang_donor_iso = 'grc-koi' end
if lang_donor_iso == 'μσν' then lang_donor_iso = 'gkm' end
if lang_target_iso == '' then lang_target_iso = 'el' end -- el is assumed
    -- param notext= or 0=
    noDefaultText = myargs['notext'] or ''
    zero= myargs['0'] or ''
    if noDefaultText ~= '' or zero~= '' then mytext = '' else mytext = '([[λόγιος|<span title="λόγιος διαχρονικός δανεισμός">λόγιο</span>]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    longtext = myargs['text'] or ''
    longtextGr = myargs['κειμ'] or ''
	if lang_donor_iso ~= '' then
    	tin_or_ti = fem_article_tin['tin'](languages[lang_donor_iso]['frm'] or '') 
		else tin_or_ti = fem_article_tin['tin']('α') -- with 'α' the result will be 'την'
	end
    if longtext ~= '' or longtextGr ~= '' then
    	mytext = '[[λόγιος]] [[διαχρονικός]] [[δανεισμός]] από ' .. tin_or_ti .. ' '
    	else
    	mytext = mytext
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lang_donor_iso == '' and  lang_target_iso == '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Λόγιοι διαχρονικοί δανεισμοί, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lang_donor_iso == '' and  lang_target_iso ~= '' then
    	mytext =  mytext
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Λόγιοι διαχρονικοί δανεισμοί, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lang_donor_iso ~= '' and  lang_target_iso == '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	mytext =  mytext .. link_language('linklanguage') .. ' '
    end
    -- 4) iso + iso
    if lang_donor_iso ~= '' and  lang_target_iso ~= '' then
    	lang_donor = languages[lang_donor_iso]['name'] or ''
    	lang_donor_frm = languages[lang_donor_iso]['frm'] or ''
    	lang_donor_apota = languages[lang_donor_iso]['apota'] or ''
    	lang_target = languages[lang_target_iso]['name'] or ''
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
    	asciiSort = myargs['ascii'] or myargs['sort'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
            mytext =  mytext .. link_language('linklanguage') .. ' '
            	else
    				if asciiSort == '' then
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Λόγιοι διαχρονικοί δανεισμοί ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')]]' 
    				else
    		mytext =  mytext .. link_language('linklanguage') .. ' ' ..
    		'[[Κατηγορία:Λόγιοι διαχρονικοί δανεισμοί ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' ..
    		'[[Κατηγορία:Προέλευση λέξεων ' .. lang_donor_apota .. ' (' ..lang_target .. ')|' .. asciiSort .. ']]' 
    				end
    	end
    end
		
	-- link στη λέξη-δότρια
	if word_donor ~= '' then
		return linkFunction('link')
	end

    return mytext
end





--------------------------------------------------------------------------
--Γ. Functions μορφολογίας: ΕΠΙΠΛΕΟΝ ΛΕΙΤΟΥΡΓΙΕΣ από τα δοκιμαστικά του Xoristzatziki
--------------------------------------------------------------------------
-- Υποκοριστικό - diminutive
--  2019.04.11. [[Πρότυπο:υπο]] Όπως ήταν από τον Xoristzatziki, αλλά με έκφραση: + υποκοριστικό επίθημα
--  2019.05.03. και παράμετρος για εμφάνιση λέξης
Lf['υποκοριστικό'] = function(lc)
    ofGr = "''του''"
    mytext = "''[[υποκοριστικό]]'' " .. ofGr .. " " or ''
    if myargs[1] == nil or myargs[1] == '' then return mytext  end
    wordbase = myargs[1]
    dim_suffix = myargs[2] or ''
    lang_iso = myargs[3] or myargs['γλ'] or myargs['lang'] or ''
    wordbase_show = myargs[4] or ''
    if lang_iso == '' then lang_iso = 'el' end

    --if myargs['γλ'] == nil or myargs['γλ'] == '' then lang_iso = 'el' else lang_iso = myargs['γλ'] end
    lang_link = languages[lang_iso]['link'] or ''
    lang_name = languages[lang_iso]['name'] or ''

    wordbase_show = myargs[4] or ''
    if wordbase_show ~= '' then
    mytext = mytext .. "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase_show .. "]]"
    else
    mytext = mytext .. "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase .. "]]"
    end
    
    -- param nocat= or 00=
    if dim_suffix ~= '' and lang_name  ~= '' then
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
    		wordbase_show = myargs[4] or ''
    		if wordbase_show ~= '' then
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase_show .. "]]" .. ' + [[υποκοριστικό|<span style="' .. style1 ..'"><i>υποκοριστικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. dim_suffix.. "#" .. lang_link .. "|-" .. dim_suffix .. "]]"
        	else
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase .. "]]" .. ' + [[υποκοριστικό|<span style="' .. style1 ..'"><i>υποκοριστικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. dim_suffix.. "#" .. lang_link .. "|-" .. dim_suffix .. "]]"
        	end
    	else -- Κατηγορία ναι, Category yes
    		wordbase_show = myargs[4] or ''
    		if wordbase_show ~= '' then
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase_show .. "]]" .. ' + [[υποκοριστικό|<span style="' .. style1 ..'"><i>υποκοριστικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. dim_suffix.. "#" .. lang_link .. "|-" .. dim_suffix .. "]]" ..
        "[[Κατηγορία:Υποκοριστικά σε -" .. dim_suffix 
        	if lang_iso == 'el' then
        	mytext = mytext .. ' (νέα ελληνικά)]]'
    			else
        	mytext = mytext .. ' (' .. lang_name ..')]]'	
			end -- close if iso=el
		else
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase .. "]]" .. ' + [[υποκοριστικό|<span style="' .. style1 ..'"><i>υποκοριστικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. dim_suffix.. "#" .. lang_link .. "|-" .. dim_suffix .. "]]" ..
        "[[Κατηγορία:Υποκοριστικά σε -" .. dim_suffix 
        	if lang_iso == 'el' then
        	mytext = mytext .. ' (νέα ελληνικά)]]'
    			else
        	mytext = mytext .. ' (' .. lang_name ..')]]'	
			end -- close if iso=el
		end
		end -- close if nocat
    end -- close if υποκοριστικό επίθημα
    return mytext
end


-- Μεγεθυντικό - augmentative. 2019.05.03. [[Πρότυπο:μεγ]] κατά το 'Υποκοριστικό'
Lf['μεγεθυντικό'] = function(lc)
    ofGr = "''του''"
    mytext = "''[[μεγεθυντικό]]'' " .. ofGr .. " " or ''
    if myargs[1] == nil or myargs[1] == '' then return mytext  end
    wordbase = myargs[1]
    aug_suffix = myargs[2] or ''
    lang_iso = myargs[3] or myargs['γλ'] or myargs['lang'] or ''
    wordbase_show = myargs[4] or ''
    if lang_iso == '' then lang_iso = 'el' end
    
    lang_link = languages[lang_iso]['link'] or ''
    lang_name = languages[lang_iso]['name'] or ''

    wordbase_show = myargs[4] or ''
    if wordbase_show ~= '' then
    mytext = mytext .. "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase_show .. "]]"
    else
    mytext = mytext .. "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase .. "]]"
    end

    if aug_suffix ~= '' and lang_name  ~= '' then
    	-- param nocat= or 00=
    	noCategory = myargs['nocat'] or ''
    	doubleZero = myargs['00'] or ''
        	if noCategory ~= '' or doubleZero ~= '' then
    		wordbase_show = myargs[4] or ''
    		if wordbase_show ~= '' then
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase_show .. "]]" .. ' + [[μεγεθυντικό|<span style="' .. style1 ..'"><i>μεγεθυντικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. aug_suffix.. "#" .. lang_link .. "|-" .. aug_suffix .. "]]"
        	else
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase .. "]]" .. ' + [[μεγεθυντικό|<span style="' .. style1 ..'"><i>μεγεθυντικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. aug_suffix.. "#" .. lang_link .. "|-" .. aug_suffix .. "]]"
        	end
    	else -- Κατηγορία ναι, Category yes
    		wordbase_show = myargs[4] or ''
    		if wordbase_show ~= '' then
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase_show .. "]]" .. ' + [[μεγεθυντικό|<span style="' .. style1 ..'"><i>μεγεθυντικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. aug_suffix.. "#" .. lang_link .. "|-" .. aug_suffix .. "]]" ..
        "[[Κατηγορία:Μεγεθυντικά σε -" .. aug_suffix 
        	if lang_iso == 'el' then
        	mytext = mytext .. ' (νέα ελληνικά)]]'
    			else
        	mytext = mytext .. ' (' .. lang_name ..')]]'	
			end -- close if iso=el
		else
        mytext = "[[" .. wordbase .. "#" .. lang_link .. "|" .. wordbase .. "]]" .. ' + [[μεγεθυντικό|<span style="' .. style1 ..'"><i>μεγεθυντικό</i></span>]] [[επίθημα|<span style="' .. style1 ..'"><i>επίθημα</i></span>]] ' ..
        "[[-" .. aug_suffix.. "#" .. lang_link .. "|-" .. aug_suffix .. "]]" ..
        "[[Κατηγορία:Μεγεθυντικά σε -" .. aug_suffix 
        	if lang_iso == 'el' then
        	mytext = mytext .. ' (νέα ελληνικά)]]'
    			else
        	mytext = mytext .. ' (' .. lang_name ..')]]'	
			end -- close if iso=el
		end
		end -- close if nocat
    end -- close if μεγεθυντικό επίθημα
    return mytext
end

--------------------------------------------------------------------------
--                       Δ. ΜΕΣΑΙΩΝΙΚΗ & TESTS                         --
--------------------------------------------------------------------------

-- 2019. mediaeval - Καλείται από το [[Πρότυπο:μσν]] και λειτουργεί
Lf['μεσαιωνική'] = function(lc)
    mytext = '[[μεσαιωνικά ελληνικά|<span style="color:#002000; border-bottom: 1px dashed #ddd; font-style:italic;">μεσαιωνική ελληνική</span>]]'
    if myargs[1] == nil then return mytext end
    if myargs[1] == '' then
        lemma_link = lemma_word
    else
        lemma_link = myargs[1]
    end
    mytext = mytext .. " [[" .. lemma_link .. "#" .. languages['gkm']['link'] .. "|" .. lemma_link .. "]]"
    return mytext
end

-- δεν λειτουργεί
-- not functioning. Links with Appendix:Reconstruction/ie (deprecated) 
-- deprecated: Παράρτημα:Αμάρτυρες λέξεις/ιε/*  could become *ine-pro/xxx (as in en.wikt: Reconstruction:Proto-Indo-European/xxx)
Lf['ινδοευρωπαϊκή ρίζα'] = function(lc)
    mytext = "[[πρωτοϊνδοευρωπαϊκή|''πρωτοϊνδοευρωπαϊκή ρίζα'']] "
    link_appendix = myargs[1] or ''
    if link_appendix == '' then return mytext end
    mytext = mytext .. "*ine-pro" .. link_appendix .. "|*" .. link_appendix .. "]]"
    return mytext
end

return export