Module:ετυμολογία

Από Βικιλεξικό
Πήδηση στην πλοήγηση Πήδηση στην αναζήτηση

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


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

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

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

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

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

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

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


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

τεστ

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

Προβλήματα

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

--[=[
ΔΙΑΤΑΞΗ
	Α. Προκαταρκτικά
	Β. functions ετυμολογίας
		ετυμ (προέλευση από), 
		δάνειο, λόγιο δάνειο, μεταφραστικό δάνειο, απόδοση, σημασιολογικό δάνειο, ορθογραφικό δάνειο,
		κληρονομιά, αναβίωση
	Γ. functions μορφολογίας
		υποκοριστικό, μεγεθυντικό
	Δ. παλαιότερες function, δοκιμαστικές
		ισχύει η μσν (μεσαιωνική)
	Ε. παλαιότερες functions για έλεγχο κωδικών
ΗΜΕΡΟΛΟΓΙΟ
	2019.08.12. param nocat & 00, param notext & 0, param text & κειμ
		notext= και 0= για γρήγορη πληκτρολόγηση (μηδέν: δείκτης ευρείας χρήσεως για αφαίρεση παρένθεσης και στυλ)
		nocat= και 00= για γρήγορη πληκτρολόγηση (δύο μηδενικά: δείκτης ευρείας χρήσεως για αφαίρεση Κατηγορίας)
		text= και κειμ= για διευκόλυνση μη αλλαγής πληκτρολογίου
	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 δεν είναι σωστά.

]=]--

export = {}

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

local Ld = {}
--Ld['γλώσσες'] = mw.loadData("Module:γλώσσες")
Ld['γλώσσες'] = mw.loadData("Module:Languages")
--πίνακας με τις τοπικές συναρτήσεις
local Lf = {}

--βρες το όνομα του Προτύπου που κάλεσε το 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(astring)
    return '<div class="error">' .. astring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο ετυμ]]'
end

-- ================== Function link for donor-word -  για τη λέξη-δότρια ====================== --
Lf['λινκ'] = function(link)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
       	-- for ine-pro (protoindoeuropean words) when they have an asterisc, i do NOT want the asterisc
    	if lc['έτυμο']:sub(1, 1) == '*' then	--start at 1st character, stop at 1st character
		lc['έτυμο_noasterisc'] = lc['έτυμο']:sub(2, -1)	--start at 2nd character, stop at last character
		end
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
	-- if there is an asterisc at etymon
    if lc['έτυμο'] ~= '' and lc['έτυμο']:sub(1, 1) == '*'  and lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['ενότητα γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['link'] or ''
    	if lc['εμφάνιση'] ~= '' then
    		lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο_noasterisc'] .. "#" .. lc['ενότητα γλώσσας ετύμου'] .. '|' .. lc['εμφάνιση'] .. ']]'
    		else
    		lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο_noasterisc'] .. "#" .. lc['ενότητα γλώσσας ετύμου'] .. '|' .. lc['έτυμο'] .. ']]'
    	end
		else
		if lc['έτυμο'] ~= '' and lc['έτυμο']:sub(1, 1) == '*' and lc['iso γλώσσας ετύμου'] == '' then
			if lc['εμφάνιση'] ~= '' then
				lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο_noasterisc'] .. '|' .. lc['εμφάνιση'] .. ']]'
				else
				lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο_noasterisc'] .. '|' .. lc['έτυμο'] .. ']]'
			end
		end
	end
	-- if there is NO asterisc at etymon
    if lc['έτυμο'] ~= '' and lc['έτυμο']:sub(1, 1) ~= '*'  and lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['ενότητα γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['link'] or ''
    	if lc['εμφάνιση'] ~= '' then
    		lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο'] .. "#" .. lc['ενότητα γλώσσας ετύμου'] .. '|' .. lc['εμφάνιση'] .. ']]'
    		else
    		lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο'] .. "#" .. lc['ενότητα γλώσσας ετύμου'] .. '|' .. lc['έτυμο'] .. ']]'
    	end
		else
		if lc['έτυμο'] ~= '' and lc['έτυμο']:sub(1, 1) ~= '*' and lc['iso γλώσσας ετύμου'] == '' then
			if lc['εμφάνιση'] ~= '' then
				lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο'] .. '|' .. lc['εμφάνιση'] .. ']]'
				else
				lc['κείμενο'] =  lc['κείμενο'] .. ' ' .. '[[' .. lc['έτυμο'] .. '|' .. lc['έτυμο'] .. ']]'
			end
		end
	end
    return lc['κείμενο']
end

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

export['από πρότυπο'] = function(frame)
    lc = {}
    lc['παράμετροι λήμματος'] = frame:getParent().args
    --lc['παράμετρος 1'] = lc['παράμετροι λήμματος'][1] or ''
    --lc['παράμετρος 2'] = lc['παράμετροι λήμματος'][2] or ''
    lc['τίτλος λήμματος'] = mw.title.getCurrentTitle().text
    lc['πρότυπο'] = Lf['πρότυπο'](frame)
    -- το Πρότυπο:ετυμ λειτουργεί από εδώ
    if lc['πρότυπο'] == 'δαν' then return Lf['δάνειο'](lc) end
    if lc['πρότυπο'] == 'λδαν' then return Lf['λόγιο δάνειο'](lc) end
    if lc['πρότυπο'] == 'μτφδ' then return Lf['μεταφραστικό δάνειο'](lc) end
    if lc['πρότυπο'] == 'αποδ' then return Lf['απόδοση'](lc) end
    if lc['πρότυπο'] == 'σμσδ' then return Lf['σημασιολογικό δάνειο'](lc) end
    if lc['πρότυπο'] == 'ορθδ' then return Lf['ορθογραφικό δάνειο'](lc) end
    if lc['πρότυπο'] == 'κλη' then return Lf['κληρονομιά'](lc) end
    if lc['πρότυπο'] == 'αναβ' then return Lf['αναβίωση'](lc) end
    if lc['πρότυπο'] == 'μσν' then return Lf['μεσαιωνική'](lc) end
    if lc['πρότυπο'] == 'υπο' then return Lf['υποκοριστικό'](lc) end
    if lc['πρότυπο'] == 'μεγ' then return Lf['μεγεθυντικό'](lc) end
    
    -- ΔΟΚΙΜΕΣ (τα παρακάτω ΔΕΝ λειτουργούν)
    if lc['πρότυπο'] == 'αρχ' then return Lf['αρχαία'](lc) end
    if lc['πρότυπο'] == 'αρχ3' then return Lf['αρχαία'](lc) end
    if lc['πρότυπο'] == 'ελνστ' then return Lf['ελληνιστική'](lc) end
    if lc['πρότυπο'] == 'ιε' then return Lf['ινδοευρωπαϊκή ρίζα'](lc) end
    if lc['πρότυπο'] == 'ετυμ-επιθ' then return Lf['επίθημα'](lc) end

    --δοκιμαστικό πρότυπο Πρότυπο:Χρήστης/Xoristzatziki/τεσταρχ με {{#invoke:Πρότυπο:ετυμ|βασική}} και στο λήμμα {{Χρήστης/Xoristzatziki/τεσταρχ...
    if lc['πρότυπο'] == 'Χρήστης/Xoristzatziki/τεσταρχ' then return Lf['τεσταρχ'](lc) end

    --δοκιμαστικό πρότυπο Πρότυπο:Χρήστης/Xoristzatziki/τεστιε με {{#invoke:Πρότυπο:ετυμ|βασική}} και στο λήμμα {{Χρήστης/Xoristzatziki/τεστιε...
    if lc['πρότυπο'] == 'Χρήστης/Xoristzatziki/τεστιε' then return Lf['ινδοευρωπαϊκή ρίζα'](lc) end

    --δοκιμαστικό πρότυπο Πρότυπο:Χρήστης/Xoristzatziki/τεστυποκ με {{#invoke:Πρότυπο:ετυμ|βασική}} και στο λήμμα {{Χρήστης/Xoristzatziki/τεστυποκ|υποκ...
    if lc['πρότυπο'] == 'Χρήστης/Xoristzatziki/τεστυποκ' then return Lf['υποκοριστικό'](lc) end

    --για τα υπόλοιπα:
    --αν η πρώτη παράμετρος είναι κάποια από τις:
    --αρχ, μσν, ελνστ, ιε ΙΣΩΣ να πήγαινει στις παραπάνω συναρτήσεις
    --αλλά θέλει αλλαγές στις παραμέτρους (στη σειρά τους δηλαδή)
    --ή μπορεί να κάνουμε ενδιάμεση συνάρτηση που να δημιουργεί νέες παραμέτρους

    --αν η πρώτη αριθμητική παράμετρος είναι κενή επίστρεψε σφάλμα
    --(δεν υπάρχει ακόμα κάποια χρήση για τέτοιες περιπτώσεις...)
    
    --==== hinders warnings
    --if lc['παράμετροι λήμματος'][1] == nil then
        --error( 'Δεν δόθηκε καμία παράμετρος!' .. "#" .. type(frame.args) .. "#" .. type(frame.getParent) .. "#" .. lc['πρότυπο'] .. "#")
    --end

    --αν είναι υποκ
    --(ή κάποιες που μπορεί να προστεθούν αργότερα όπως πρόθημα, επίθημα κλπ κατά τα αγγλικά Template:suffix κλπ.)
    --πήγαινε στην αντίστοιχη συνάρτηση (δες εκεί για τις υπόλοιπες παραμέτρους)
    --Αλλιώς θεώρησε ότι είναι το iso της γλώσσας του ετύμου
    --και η επόμενη είναι το iso της γλώσσας του λήμματος
    --τότε η τρίτη παράμετρος θα είναι το λήμμα για παραπομπή
    --και η τέταρτη ίσως είναι το τι θα εμφανίζει
    if lc['παράμετροι λήμματος'][1] == 'υποκ' then return Lf['υποκοριστικό'](lc) end

    if lc['παράμετροι λήμματος'][1] == 'επίθημα' then return Lf['επίθημα'](lc) end


    --περίπτωση κανονικής ετυμολόγησης
   
    return Lf['απλή ετυμολόγηση'](lc)


end

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

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


-- ετυμ  από Xoristzatziki (καλείται από το [[Πρότυπο:ετυμ]] και δημιουργεί Κατηγορίες Προέλευσης)
--ΑΠΛΗ ΕΤΥΜΟΛΟΓΗΣΗ
Lf['απλή ετυμολόγηση'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '' or '' -- το default κείμενο είναι άδειο
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin (παράδειγμα: [[okyanus]])
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = 'προέλευσης από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end
    
    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Προέλευση, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Προέλευση, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso: if one iso is wrong, get error
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    --αν δεν υπάρχει το iso γλώσσας ετύμου στην param#1, ή iso γλώσσας-δέκτριας στην param#2, επίστρεψε σφάλμα
    	if Ld['γλώσσες'][lc['iso γλώσσας ετύμου']] == nil or Ld['γλώσσες'][lc['iso γλώσσας λήμματος']] == nil then
        	return Lf['σφάλμα']('Κάποια παράμετρος (iso γλώσσας) είναι λάθος ή δεν υπάρχει ο κωδικός!')
        	else
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    		end
    	end
    end
	
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end




-- δάνειο [[Πρότυπο:δαν]]. Δημιουργεί Κατηγορία:Δάνεια από... plus Προελεύσεις (παράδειγμα: [[αρένα]])
Lf['δάνειο'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '' or '' -- το default κείμενο είναι άδειο
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['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 [[πρελούδιο]]
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = '[[δάνειο]] από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end
    
    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso: if one iso is wrong, get error
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    --αν δεν υπάρχει το iso γλώσσας ετύμου στην param#1, ή iso γλώσσας-δέκτριας στην param#2, επίστρεψε σφάλμα
    	if Ld['γλώσσες'][lc['iso γλώσσας ετύμου']] == nil or Ld['γλώσσες'][lc['iso γλώσσας λήμματος']] == nil then
        	return Lf['σφάλμα']('Κάποια παράμετρος (iso γλώσσας) είναι λάθος ή δεν υπάρχει ο κωδικός!')
        	else
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Δάνεια  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]' ..
    		'[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    		end
    	end
    end
	
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end


-- λόγιο δάνειο [[Πρότυπο:λδαν]] Δημιουργεί Κατηγορία:Λόγια δάνεια από... plus Προελεύσεις (παράδειγμα: [[ζενίθ]])
Lf['λόγιο δάνειο'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '([[λόγιος|λόγιο]] [[δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param notext= or 0=
    lc['όχικείμενο'] = lc['παράμετροι λήμματος']['notext'] or ''
    lc['μηδέν'] = lc['παράμετροι λήμματος']['0'] or ''
    if lc['όχικείμενο'] ~= '' or lc['μηδέν'] ~= '' then lc['κείμενο'] = '' else lc['κείμενο'] = '([[λόγιος|λόγιο]] [[δάνειο]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = '[[λόγιος|λόγιο]] [[δάνειο]] από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Λόγια δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Λόγια δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Λόγια δάνεια  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]' ..
    		'[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    	end
    end
		
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end


-- μεταφραστικό δάνειο [[Πρότυπο:μτφδ]] Δημιουργεί Κατηγορία:Μεταφραστικά δάνεια από... (παράδειγμα: [[ουρανοξύστης]])
Lf['μεταφραστικό δάνειο'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '([[μεταφραστικό δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param notext= or 0=
    lc['όχικείμενο'] = lc['παράμετροι λήμματος']['notext'] or ''
    lc['μηδέν'] = lc['παράμετροι λήμματος']['0'] or ''
    if lc['όχικείμενο'] ~= '' or lc['μηδέν'] ~= '' then lc['κείμενο'] = '' else lc['κείμενο'] = '([[μεταφραστικό δάνειο]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = '[[μεταφραστικό δάνειο]] από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικά δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικά δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Μεταφραστικά δάνεια  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]'
    		-- 2019.03.10 Φεύγει: .. '[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    	end
    end
		
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end


-- απόδοση [[Πρότυπο:αποδ]] Δημιουργεί Κατηγορία:Μεταφραστικές αποδόσεις από... plus Προελεύσεις. (παράδειγμα: [[αποικιοκρατία]])
Lf['απόδοση'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '([[απόδοση]]) ' or ''
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param notext= or 0=
    lc['όχικείμενο'] = lc['παράμετροι λήμματος']['notext'] or ''
    lc['μηδέν'] = lc['παράμετροι λήμματος']['0'] or ''
    if lc['όχικείμενο'] ~= '' or lc['μηδέν'] ~= '' then lc['κείμενο'] = '' else lc['κείμενο'] = '([[απόδοση]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin (παράδειγμα: [[ανάδυση]])
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = '[[απόδοση]] για ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικές αποδόσεις, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Μεταφραστικές αποδόσεις, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Μεταφραστικές αποδόσεις  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]' ..
    		'[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    	end
    end
		
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end



-- σημασιολογικό δάνειο [[Πρότυπο:σμσδ]] Δημιουργεί Κατηγορία:Σημασιολογικά δάνεια από... (παράδειγμα: [[πληθωρισμός]], [[ποντίκι]])
Lf['σημασιολογικό δάνειο'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '([[σημασιολογικό δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param notext= or 0=
    lc['όχικείμενο'] = lc['παράμετροι λήμματος']['notext'] or ''
    lc['μηδέν'] = lc['παράμετροι λήμματος']['0'] or ''
    if lc['όχικείμενο'] ~= '' or lc['μηδέν'] ~= '' then lc['κείμενο'] = '' else lc['κείμενο'] = '([[σημασιολογικό δάνειο]]) ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = '[[σημασιολογικό δάνειο]] από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Σημασιολογικά δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Σημασιολογικά δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Σημασιολογικά δάνεια  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]'
    		-- 2019.03.10 Φεύγει: .. '[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    	end
    end
		
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end



-- ορθογραφικό δάνειο [[Πρότυπο:ορθδ]] Δημιουργεί Κατηγορία:Ορθογραφικά δάνεια από... plus Προελεύσεις (παράδειγμα [[ζέβρα]])
Lf['ορθογραφικό δάνειο'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '([[ορθογραφικό δάνειο]]) ' or ''
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param notext= or 0=
    lc['όχικείμενο'] = lc['παράμετροι λήμματος']['notext'] or ''
    lc['μηδέν'] = lc['παράμετροι λήμματος']['0'] or ''
    if lc['όχικείμενο'] ~= '' or lc['μηδέν'] ~= '' then lc['κείμενο'] = '' else lc['κείμενο'] = '([[ορθογραφικό δάνειο]]) ' end
    	
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = '[[ορθογραφικό δάνειο]] από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Ορθογραφικά δάνεια, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Ορθογραφικά δάνεια, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Ορθογραφικά δάνεια  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]' ..
    		'[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    	end
    end
		
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end



-- κληρονομιά [[Πρότυπο:κλη]]. Δεν δίνει κείμενο. Δημιουργεί Κατηγορία:Κληρονομημένες λέξεις από... plus Προελεύσεις (παράδειγμα: [[θησαυρός]])
Lf['κληρονομιά'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '' or '' -- το default κείμενο είναι άδειο
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = 'κληρονομημένη από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Κληρονομημένες λέξεις, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
    -- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Κληρονομημένες λέξεις, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Κληρονομημένες λέξεις  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]' ..
    		'[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    	end
    end
		
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end


-- αναβίωση (διαχρονικός δανεισμός) [[Πρότυπο:αναβ]] Δημιουργεί Κατηγορία:Αναβιώσεις από... plus Προελεύσεις. (παράδειγμα: [[αιδώς]], [[λάβαρο]])
Lf['αναβίωση'] = function(lc)
    lc['iso γλώσσας ετύμου'] = lc['παράμετροι λήμματος'][1] or ''
    lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
    lc['έτυμο'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
    lc['κείμενο'] = '([[απόδοση]]) ' or ''
-- easy-type διευκολύνσεις:
if lc['iso γλώσσας ετύμου'] == 'αρχ' then lc['iso γλώσσας ετύμου'] = 'grc' end
if lc['iso γλώσσας ετύμου'] == 'ελν' or lc['iso γλώσσας ετύμου'] == 'κοι' then lc['iso γλώσσας ετύμου'] = 'grc-koi' end
if lc['iso γλώσσας ετύμου'] == 'μσν' then lc['iso γλώσσας ετύμου'] = 'gkm' end
if lc['iso γλώσσας λήμματος'] == '' then lc['iso γλώσσας λήμματος'] = 'el' end -- el is assumed
    -- param notext= or 0=
    lc['όχικείμενο'] = lc['παράμετροι λήμματος']['notext'] or ''
    lc['μηδέν'] = lc['παράμετροι λήμματος']['0'] or ''
    if lc['όχικείμενο'] ~= '' or lc['μηδέν'] ~= '' then lc['κείμενο'] = '' else lc['κείμενο'] = '([[λόγιος|λόγιο]]) < ' end
    
    -- param text= or κειμ= for long text, requires [[Module:tin]], function tin
    lc['μεγάλοκείμενο'] = lc['παράμετροι λήμματος']['text'] or ''
    lc['κειμ'] = lc['παράμετροι λήμματος']['κειμ'] or ''
	if lc['iso γλώσσας ετύμου'] ~= '' then
    	lc['tinti'] = Lf['την']['tin'](Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or '') 
		else lc['tinti'] = Lf['την']['tin']('α') -- with 'α' the result will be 'την'
	end
    if lc['μεγάλοκείμενο'] ~= '' or lc['κειμ'] ~= '' then
    	lc['κείμενο'] = '[[λόγιος|λόγιο]] από ' .. lc['tinti'] .. ' '
    	else
    	lc['κείμενο'] = lc['κείμενο']
    end 

    -- param#1 και param#2 συνδυασμοί
    -- 1) 0 + 0=el
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Αναβιώσεις, πρέπει να εισάγετε τους κωδικούς iso των γλωσσών (1η και 2η παράμετρος)')
    end
	-- 2) 0 + iso
    if lc['iso γλώσσας ετύμου'] == '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['κείμενο'] =  lc['κείμενο']
    	mw.addWarning('Αν θέλετε να μπει το λήμμα σε Κατηγορία:Αναβιώσεις, πρέπει να εισάγετε και τον κωδικό iso της γλώσσας-δότριας (1η παράμετρος)')
    end
    -- 3) iso + 0=el
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] == '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
    end
    -- 4) iso + iso
    if lc['iso γλώσσας ετύμου'] ~= '' and  lc['iso γλώσσας λήμματος'] ~= '' then
    	lc['γλώσσα ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['name'] or ''
    	lc['γλώσσα ετύμου frm'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['frm'] or ''
    	lc['γλώσσα ετύμου apota'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['apota'] or ''
    	lc['γλώσσα λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['name'] or ''
    	lc['λέξεις γλώσσας λήμματος'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']]['words'] or ''
    	lc['προέλευσης γλώσσας ετύμου'] = Ld['γλώσσες'][lc['iso γλώσσας ετύμου']]['from'] or ''
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
            lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' '
            	else
    		lc['κείμενο'] =  lc['κείμενο'] .. "''[[" .. lc['γλώσσα ετύμου'] .. '|' .. lc['γλώσσα ετύμου frm'] .. "]]''" .. ' ' ..
    		'[[Κατηγορία:Αναβιώσεις  ' .. lc['γλώσσα ετύμου apota'] .. ' (' ..lc['γλώσσα λήμματος'] .. ')]]' ..
    		'[[Κατηγορία:' .. lc['λέξεις γλώσσας λήμματος'] .. ' ' .. lc['προέλευσης γλώσσας ετύμου'] .. ']]'    	
    	end
    end
		
	-- link στη λέξη-δότρια
	if lc['έτυμο'] ~= '' then
		return Lf['λινκ']('link')
	end

    return lc['κείμενο']
end





--------------------------------------------------------------------------
--Γ. Functions μορφολογίας: ΕΠΙΠΛΕΟΝ ΛΕΙΤΟΥΡΓΙΕΣ από τα δοκιμαστικά του Xoristzatziki
--------------------------------------------------------------------------

-- Υποκοριστικό. 2019.04.11. [[Πρότυπο:υπο]] Όπως ήταν από τον Xoristzatziki, αλλά με έκφραση: + υποκοριστικό επίθημα
-- - - - - - - . 2019.05.03. και παράμετρος για εμφάνιση λέξης
Lf['υποκοριστικό'] = function(lc)
    local TOYAPOTO = "''του''"
    lc['κείμενο'] = "''[[υποκοριστικό]]'' " .. TOYAPOTO .. " " or ''
    if lc['παράμετροι λήμματος'][1] == nil or lc['παράμετροι λήμματος'][1] == '' then return lc['κείμενο']  end
    lc['λέξη παραπομπής'] = lc['παράμετροι λήμματος'][1]
    lc['υποκοριστικό επίθημα'] = lc['παράμετροι λήμματος'][2] or ''
    lc['iso γλώσσας'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    if lc['iso γλώσσας'] == '' then lc['iso γλώσσας'] = 'el' end

    --if lc['παράμετροι λήμματος']['γλ'] == nil or lc['παράμετροι λήμματος']['γλ'] == '' then lc['iso γλώσσας'] = 'el' else lc['iso γλώσσας'] = lc['παράμετροι λήμματος']['γλ'] end
    lc['ενότητα γλώσσας'] = Ld['γλώσσες'][lc['iso γλώσσας']]['link'] or ''
    --ευχής έργο θα ήταν να μπορούσαμε εδώ να κάνουμε έλεγχο αν είναι στη σωστή ενότητα γλώσσας. Μπορεί όμως να γίνει από μποτ.
    lc['γλώσσα για κατηγορία'] = Ld['γλώσσες'][lc['iso γλώσσας']]['name'] or ''

    lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    if lc['εμφάνιση λέξης'] ~= '' then
    lc['κείμενο'] = lc['κείμενο'] .. "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['εμφάνιση λέξης'] .. "]]"
    else
    lc['κείμενο'] = lc['κείμενο'] .. "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['λέξη παραπομπής'] .. "]]"
    end

    if lc['υποκοριστικό επίθημα'] ~= '' and lc['γλώσσα για κατηγορία']  ~= '' then
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
    		lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    		if lc['εμφάνιση λέξης'] ~= '' then
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['εμφάνιση λέξης'] .. "]]" .. " + ''[[υποκοριστικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['υποκοριστικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['υποκοριστικό επίθημα'] .. "]]"
        	else
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['λέξη παραπομπής'] .. "]]" .. " + ''[[υποκοριστικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['υποκοριστικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['υποκοριστικό επίθημα'] .. "]]"
        	end
    	else -- Κατηγορία ναι, Category yes
    		lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    		if lc['εμφάνιση λέξης'] ~= '' then
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['εμφάνιση λέξης'] .. "]]" .. " + ''[[υποκοριστικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['υποκοριστικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['υποκοριστικό επίθημα'] .. "]]" ..
        "[[Κατηγορία:Υποκοριστικά σε -" .. lc['υποκοριστικό επίθημα'] 
        	if lc['iso γλώσσας'] == 'el' then
        	lc['κείμενο'] = lc['κείμενο'] .. ' (νέα ελληνικά)]]'
    			else
        	lc['κείμενο'] = lc['κείμενο'] .. ' (' .. lc['γλώσσα για κατηγορία'] ..')]]'	
			end -- clase if iso=el
		else
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['λέξη παραπομπής'] .. "]]" .. " + ''[[υποκοριστικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['υποκοριστικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['υποκοριστικό επίθημα'] .. "]]" ..
        "[[Κατηγορία:Υποκοριστικά σε -" .. lc['υποκοριστικό επίθημα'] 
        	if lc['iso γλώσσας'] == 'el' then
        	lc['κείμενο'] = lc['κείμενο'] .. ' (νέα ελληνικά)]]'
    			else
        	lc['κείμενο'] = lc['κείμενο'] .. ' (' .. lc['γλώσσα για κατηγορία'] ..')]]'	
			end -- clase if iso=el
		end
		end -- close if nocat
    end -- close if υποκοριστικό επίθημα
    return lc['κείμενο']
end


-- Μεγεθυντικό. 2019.05.03. [[Πρότυπο:μεγ]] κατά το 'Υποκοριστικό'
Lf['μεγεθυντικό'] = function(lc)
    local TOYAPOTO = "''του''"
    lc['κείμενο'] = "''[[μεγεθυντικό]]'' " .. TOYAPOTO .. " " or ''
    if lc['παράμετροι λήμματος'][1] == nil or lc['παράμετροι λήμματος'][1] == '' then return lc['κείμενο']  end
    lc['λέξη παραπομπής'] = lc['παράμετροι λήμματος'][1]
    lc['μεγεθυντικό επίθημα'] = lc['παράμετροι λήμματος'][2] or ''
    lc['iso γλώσσας'] = lc['παράμετροι λήμματος'][3] or ''
    lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    if lc['iso γλώσσας'] == '' then lc['iso γλώσσας'] = 'el' end
    
    lc['ενότητα γλώσσας'] = Ld['γλώσσες'][lc['iso γλώσσας']]['link'] or ''
    lc['γλώσσα για κατηγορία'] = Ld['γλώσσες'][lc['iso γλώσσας']]['name'] or ''

    lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    if lc['εμφάνιση λέξης'] ~= '' then
    lc['κείμενο'] = lc['κείμενο'] .. "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['εμφάνιση λέξης'] .. "]]"
    else
    lc['κείμενο'] = lc['κείμενο'] .. "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['λέξη παραπομπής'] .. "]]"
    end

    if lc['μεγεθυντικό επίθημα'] ~= '' and lc['γλώσσα για κατηγορία']  ~= '' then
    	-- param nocat= or 00=
    	lc['όχικατηγορία'] = lc['παράμετροι λήμματος']['nocat'] or ''
    	lc['δύομηδενικά'] = lc['παράμετροι λήμματος']['00'] or ''
        	if lc['όχικατηγορία'] ~= '' or lc['δύομηδενικά'] ~= '' then
    		lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    		if lc['εμφάνιση λέξης'] ~= '' then
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['εμφάνιση λέξης'] .. "]]" .. " + ''[[μεγεθυντικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['μεγεθυντικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['μεγεθυντικό επίθημα'] .. "]]"
        	else
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['λέξη παραπομπής'] .. "]]" .. " + ''[[μεγεθυντικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['μεγεθυντικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['μεγεθυντικό επίθημα'] .. "]]"
        	end
    	else -- Κατηγορία ναι, Category yes
    		lc['εμφάνιση λέξης'] = lc['παράμετροι λήμματος'][4] or ''
    		if lc['εμφάνιση λέξης'] ~= '' then
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['εμφάνιση λέξης'] .. "]]" .. " + ''[[μεγεθυντικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['μεγεθυντικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['μεγεθυντικό επίθημα'] .. "]]" ..
        "[[Κατηγορία:Μεγεθυντικά σε -" .. lc['μεγεθυντικό επίθημα'] 
        	if lc['iso γλώσσας'] == 'el' then
        	lc['κείμενο'] = lc['κείμενο'] .. ' (νέα ελληνικά)]]'
    			else
        	lc['κείμενο'] = lc['κείμενο'] .. ' (' .. lc['γλώσσα για κατηγορία'] ..')]]'	
			end -- clase if iso=el
		else
        lc['κείμενο'] = "[[" .. lc['λέξη παραπομπής'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" .. lc['λέξη παραπομπής'] .. "]]" .. " + ''[[μεγεθυντικό]] [[επίθημα]]'' " ..
        "[[-" .. lc['μεγεθυντικό επίθημα'].. "#" .. lc['ενότητα γλώσσας'] .. "|-" .. lc['μεγεθυντικό επίθημα'] .. "]]" ..
        "[[Κατηγορία:Μεγεθυντικά σε -" .. lc['μεγεθυντικό επίθημα'] 
        	if lc['iso γλώσσας'] == 'el' then
        	lc['κείμενο'] = lc['κείμενο'] .. ' (νέα ελληνικά)]]'
    			else
        	lc['κείμενο'] = lc['κείμενο'] .. ' (' .. lc['γλώσσα για κατηγορία'] ..')]]'	
			end -- clase if iso=el
		end
		end -- close if nocat
    end -- close if μεγεθυντικό επίθημα
    return lc['κείμενο']
end

--------------------------------------------------------------------------
--                          Δ. ΔΟΚΙΜΑΣΤΙΚΑ                           --
--------------------------------------------------------------------------

--ΔΟΚΙΜΑΣΤΙΚΑ ΓΙΑ ΑΡΧΙΚΟ ΕΛΕΓΧΟ. ΝΑ ΑΦΑΙΡΕΘΟΥΝ. --------------------------
Lf['τεσταρχ'] = function(lc)
    return Lf['αρχαία'](lc)
end
Lf['τεστυποκ'] = function(lc)
    return Lf['αρχαία'](lc)
end
--ΤΕΛΟΣ ΤΟΥ ΝΑ ΑΦΑΙΡΕΘΟΥΝ. ------------------------------------------------

--ΚΥΡΙΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΕΤΥΜΟΛΟΓΗΣΗ
--ΚΛΑΣΙΚΑ ΠΡΟΤΥΠΑ
Lf['αρχαία'] = function(lc)
    lc['κείμενο'] = "[[w:Αρχαία ελληνική γλώσσα|''αρχαία ελληνική'']] "
    return Lf['αρχαία τελικό'](lc)
end

Lf['ελληνιστική'] = function(lc)
    lc['κείμενο'] = "[[w:Ελληνική γλώσσα#Ελληνιστική κοινή|''ελληνιστική κοινή'']] "
    return Lf['αρχαία τελικό'](lc)
end

Lf['επίθημα'] = function(lc)
	lc['λέξη'] = lc['παράμετροι λήμματος'][1] or ''
	lc['επίθημα'] = lc['παράμετροι λήμματος'][2] or ''
	lc['iso γλώσσας'] = lc['παράμετροι λήμματος'][3] or ''
	lc['εμφάνιση'] = lc['παράμετροι λήμματος'][4] or ''
	--αν δεν υπάρχει iso γλώσσας τότε υποθέτουμε (κακώς;) ελληνικά
	if lc['iso γλώσσας'] == ''  then lc['iso γλώσσας'] = 'el' end
	lc['κείμενο'] = Lf['σφάλμα']('Δόθηκαν λάθος παράμετροι.')
		
	if (lc['iso γλώσσας'] ~= '') and  (Ld['γλώσσες'][lc['iso γλώσσας']] ~= nil)  then
		lc['ενότητα γλώσσας'] = Ld['γλώσσες'][lc['iso γλώσσας']]['link']
		if lc['εμφάνιση'] == '' then lc['εμφάνιση'] = lc['λέξη'] end
		if lc['λέξη'] ~= '' then
			--if lc['iso γλώσσας'] == 'el' then
				--lc['κείμενο'] = "[[" ..  lc['εμφάνιση'] .. "]]"
			--else
				lc['κείμενο'] = "[[" .. lc['λέξη'] .. "#" .. lc['ενότητα γλώσσας'] .. "|" ..  lc['εμφάνιση'] .. "]]"
			--end
			if lc['επίθημα'] ~= '' then
				--lc['παραπομπή επιθήματος'] = "[[-" .. lc['επίθημα']
				--if lc['iso γλώσσας'] == 'el' then 
					--lc['παραπομπή επιθήματος'] = lc['παραπομπή επιθήματος'] .. "]]"
				--else
					lc['παραπομπή επιθήματος'] = "[[-" .. lc['επίθημα'] .. '#' .. lc['ενότητα γλώσσας'] ..  "|-" .. lc['επίθημα'] .. "]]"
				--end
				lc['κείμενο'] = lc['κείμενο'] .. " + επίθημα " .. lc['παραπομπή επιθήματος']
				if mw.ustring.sub(lc['τίτλος λήμματος'],-mw.ustring.len(lc['επίθημα'])) == lc['επίθημα'] then
					lc['κείμενο'] = lc['κείμενο'] .. "[[Κατηγορία:" .. Ld['γλώσσες'][lc['iso γλώσσας']]['words'] .. " με επίθημα: -" .. lc['επίθημα'] .. "]]"
					--Αν χρειαστεί να αφαιρέσουμε το "Ελληνικές λέξεις"
					--if lc['iso γλώσσας'] == 'el' then
						--lc['κείμενο'] = lc['κείμενο'] .. "]]"
					--else
						--lc['κείμενο'] = lc['κείμενο'] .. " (" .. Ld['γλώσσες'][lc['iso γλώσσας']]['name'] .. ")]]"
					--end
				else
					mw.addWarning('Η ετυμολόγηση του επιθήματος δεν αναφέρεται στο λήμμα!')
				end 
			else
				mw.addWarning('Δεν δώσατε τιμή στη δεύτερη παράμετρο (επίθημα).')
			end
		else
			mw.addWarning('Δεν δώσατε τιμή στην πρώτη παράμετρο.')
		end	
	else
		mw.addWarning('Δώσατε λάθος τιμή στην παράμετρο iso γλώσσας της ετυμολογούμενης λέξης.')
	end
    return lc['κείμενο']
end

Lf['αρχαία τελικό'] = function(lc)
    --για παραμέτρους που θα δείχνουν άλλη λέξη από τη λέξη παραπομπής
    --και για παραμέτρους που θα περιέχουν τη γλώσσα του ετυμολογούμενου λήμματος
    --καλύτερα να μπουν ονομαστικά
    --π.χ. γλ και λ:
    --γλ=la (ή it ή de κλπ.)
    --λ=λέξησεάλληπτώση
    if lc['παράμετροι λήμματος'][1] == nil then return lc['κείμενο'] end
    if lc['παράμετροι λήμματος'][1] == '' then
        lc['παραπομπή στο λήμμα'] = lc['τίτλος λήμματος']
    else
        lc['παραπομπή στο λήμμα'] = lc['παράμετροι λήμματος'][1]
    end
    lc['κείμενο'] = lc['κείμενο'] .. "[[" .. lc['παραπομπή στο λήμμα'] .. "#" .. Ld['γλώσσες']['grc']['link'] .. "|" .. lc['παραπομπή στο λήμμα'] .. "]]"
    return lc['κείμενο']
end

-- 2019. Καλείται από το [[Πρότυπο:μσν]] και λειτουργεί
Lf['μεσαιωνική'] = function(lc)
    lc['κείμενο'] = "[[w:Ελληνική γλώσσα#Μεσαιωνική Ελληνική|''μεσαιωνική ελληνική'']]"
    if lc['παράμετροι λήμματος'][1] == nil then return lc['κείμενο'] end
    if lc['παράμετροι λήμματος'][1] == '' then
        lc['παραπομπή στο λήμμα'] = lc['τίτλος λήμματος']
    else
        lc['παραπομπή στο λήμμα'] = lc['παράμετροι λήμματος'][1]
    end
    lc['κείμενο'] = lc['κείμενο'] .. " [[" .. lc['παραπομπή στο λήμμα'] .. "#" .. Ld['γλώσσες']['gkm']['link'] .. "|" .. lc['παραπομπή στο λήμμα'] .. "]]"
    return lc['κείμενο']
end

Lf['ινδοευρωπαϊκή ρίζα'] = function(lc)
    --αν επεκτεθεί ώστε να προστεθούν διαφορετικές σελίδες σε διαφορετικές οικογένειες
    --θα πρέπει να προστεθούν ονομαστικές ή ανώνυμοι παράμετροι και να αλλαχθεί κάπως ο κώδικας εδώ
    lc['κείμενο'] = "[[w:Ινδοευρωπαϊκές γλώσσες|''ινδοευρωπαϊκή (ρίζα)'']] "
    lc['παραπομπή στο παράρτημα'] = lc['παράμετροι λήμματος'][1] or ''
    if lc['παραπομπή στο παράρτημα'] == '' then return lc['κείμενο'] end
    lc['κείμενο'] = lc['κείμενο'] .. "[[Παράρτημα:Αμάρτυρες λέξεις/ιε/*" .. lc['παραπομπή στο παράρτημα'] .. "|*" .. lc['παραπομπή στο παράρτημα'] .. "]]"
    return lc['κείμενο']
end

--ΥΠΟΠΕΡΙΠΤΩΣΕΙΣ
-- 2019.04.11. πήραμε από εδώ, το Υποκοριστικό

export['δάνεια'] = function(frame)
    lc = {}
    lc['σφάλμα:άδειο'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δάνεια χωρίς παραμέτρους]]"
    lc['σφάλμα:iso'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δάνεια με λάθος σε γλώσσα]]"
    --lc['σφάλμα:χωρις 1'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δάνεια χωρίς πρώτη παράμετρο]]"
    lc['παράμετροι λήμματος'] = frame:getParent().args
    lc['τίτλος λήμματος'] = mw.title.getCurrentTitle().text
    
    lc['iso γλώσσας δανείου'] = lc['παράμετροι λήμματος'][1] or ''
    --lc['iso γλώσσας παραπομπής'] = lc['παράμετροι λήμματος'][2] or ''

    lc['παραπομπή γλώσσας δανείου'], lc['σφάλμα 1']  = export['εμφάνιση γλώσσας 1'](lc['iso γλώσσας δανείου'])
    if lc['παραπομπή γλώσσας δανείου'] == '' then
    
        return lc['σφάλμα:άδειο'] .. lc['σφάλμα:iso'] 
    end

    --έχουμε να στείλουμε κάποια γλώσσα, συνεχίζουμε.
    
    lc['κατηγορία γλώσσας δανείου'] = Ld['γλώσσες'][lc['iso γλώσσας δανείου']].cat or ''

    --η γλώσσα είναι έτοιμη να σταλεί: lc['παραπομπή γλώσσας δανείου']
    --δημιουργία κατηγορίας
    --δημιουργία λεκτικού «από»
    lc['από'] = Ld['γλώσσες'][lc['iso γλώσσας δανείου']].apo or ''
    if lc['από'] == '' then
        lc['για τα'] = Ld['γλώσσες'][lc['iso γλώσσας δανείου']].name or ''
        if lc['για τα'] ~= '' then
            lc['από'] = 'τα ' .. lc['για τα']
        end
    end
    
    if lc['παράμετροι λήμματος'][2] == nil then
    	--δεν έχει δεύτερη παράμετρο, δεν γνωρίζουμε τη γλώσσα αναφοράς στο λήμμα
        return lc['παραπομπή γλώσσας δανείου'] 
    else
        --έχει δεύτερη παράμετρο
        lc['iso γλώσσας λήμματος'] = lc['παράμετροι λήμματος'][2] or ''
        if lc['iso γλώσσας λήμματος'] == '' then
            --θεωρούμε ότι αφορά Δάνεια της ελληνικής γλώσσας
            lc['iso γλώσσας λήμματος'] = 'el'
            lc['κατηγορία'] = '[[Κατηγορία:Δάνεια από ' .. lc['από'] .. ']]'
        else
            --υπάρχει iso για τη γλώσσα του λήμματος
            lc['γλώσσα κατηγορίας'] = Ld['γλώσσες'][lc['iso γλώσσας λήμματος']].name or ''
            if lc['γλώσσα κατηγορίας']~= '' then
                --αν έχει name το βάζουμε
                lc['κατηγορία'] = '[[Κατηγορία:Δάνεια από ' .. lc['από'] .. " (" .. lc['γλώσσα κατηγορίας'] .. ")" .. ']]'
            else
                --αλλιώς δεν δημιουργούμε κατηγορία
                lc['κατηγορία'] = ''
            end
        end
    end
    --έλεγχος αν έχουμε λήμμα για παραπομπή
    local args2 = {}
    args2['λήμμα']  = lc['παράμετροι λήμματος'][3]
    --args2['λήμμα'] = 'for'
    args2['iso'] = lc['iso γλώσσας δανείου']
    args2['προεπιλεγμένο iso'] = 'el'
    lc['παραπομπή'] , lc['σφάλμα 2'] = export['παραπομπή'](args2)

    if lc['παραπομπή'] == '' then
        --δεν υπάρχει, επίστρεψε μόνο τη γλώσσα και την κατηγορία
        return lc['παραπομπή γλώσσας δανείου'] .. lc['κατηγορία']
    end
    return lc['παραπομπή γλώσσας δανείου'] .. ' ' .. lc['παραπομπή'] .. lc['κατηγορία']
end

--------------------------------------------------------------------------
--              Ε. παλιές Functions για έλεγχο κωδικών                 --
--------------------------------------------------------------------------

--[=[Τι μπορούμε να κάνουμε;
:Να ελέγχουμε αν υπάρχει το λήμμα και η ενότητα γλώσσας 
:ώστε να στείλουμε ένα "ροζ" (ή άλλο χρώμα) σε περίπτωση που υπάρχει μεν λήμμα αλλά όχι η ενότητα γλώσσας]=]
export['παραπομπή'] = function(args)
    --δεν ελέγχουμε τον ονοματοχώρο
    --δέχεται προεπιλογή π.χ. για κενή παράμετρο
    --επιστρέφει 2 αλφαριθμητικά
    --1. την παραπομπή
    --2. κενό ή σφάλμα
    local lc = {}
    lc['λήμμα'] = args['λήμμα'] or ''
    lc['iso'] = args['iso'] or ''
    lc['προεπιλεγμένο iso'] = args['προεπιλεγμένο iso'] or ''

    if lc['λήμμα'] == '' then
        return '','λήμμα'
    end
    if lc['iso'] == '' then
        if lc['προεπιλεγμένο iso'] ~= '' then
            lc['iso'] = lc['προεπιλεγμένο iso']
        else
            return '','iso'
        end
    end
    lc['iso γλώσσας'] = Ld['γλώσσες'][lc['iso']] or ''
    if lc['iso γλώσσας'] == '' then
        return '','iso'
    end
    lc['κείμενο'] = lc['λήμμα']
    lc['γλωσσική ενότητα'] = Ld['γλώσσες'][lc['iso']].link or ''
    if lc['γλωσσική ενότητα'] ~= '' then
        lc['κείμενο']  = lc['κείμενο'] .. '#' .. lc['γλωσσική ενότητα']  .. '|' .. lc['κείμενο']
    end
    return '[[' .. lc['κείμενο'] .. ']]'
end

export['εμφάνιση γλώσσας 1'] = function(aniso)
    --επιστρέφει 2 αλφαριθμητικά
    --1. την παραπομπή ή τη «σκέτη» γλώσσα
    --2. κενό ή σφάλμα
    local lc = {}
    lc['iso γλώσσας'] = aniso or ''
    if lc['iso γλώσσας'] == '' then
        --υποχρεωτική η πρώτη παράμετρος iso γλώσσας
        --mw.addWarning('Δεν υπάρχει η πρώτη παράμετρος (παράμετρος γλώσσας ετύμου).')
        return '', 'σφάλμα:χωρίς iso'
    end
    --έλεγχος εγκυρότητας γλώσσας ετύμου
    if Ld['γλώσσες'][lc['iso γλώσσας']] == nil then
        --δεν υπάρχει το iso
        mw.addWarning('Δεν υπάρχει στο Module:Languages.' .. lc['iso γλώσσας'])
        return '', 'σφάλμα:iso'
    else
        lc['γλώσσα'] = Ld['γλώσσες'][lc['iso γλώσσας']].frm or ''
        if lc['γλώσσα'] == '' then
            --δεν υπάρχει το frm ή είναι κενό
            mw.addWarning('Δεν υπάρχει frm στο Module:Languages.' .. lc['iso γλώσσας'])
            return '', 'σφάλμα:χωρίς frm'
        end
    end
    --έχουμε να στείλουμε κάποια γλώσσα, συνεχίζουμε.
    --lc['κείμενο γλώσσας δανείου'] = ''
    lc['παραπομπή γλώσσας'] = lc['γλώσσα']
    lc['κατηγορία'] = Ld['γλώσσες'][lc['iso γλώσσας']].cat or ''
    if lc['κατηγορία'] == '' then
        --δεν έχουμε cat
        --αφήνουμε την παραπομπή σε: frm
        mw.addWarning('χωρίς κατηγορία στο Languages:' .. lc['iso γλώσσας'])
    else
        --θα παραπέμψουμε στην κατηγορία της γλώσσας
        lc['παραπομπή γλώσσας'] = '[[:Κατηγορία:' .. lc['κατηγορία'] .. '|' .. lc['παραπομπή γλώσσας']  .. ']]'
    end
    --πλάγια γραφή
    return "''" .. lc['παραπομπή γλώσσας'] .. "''" , ''
end


return export