Module:Πρότυπο:λ

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

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

export = {}

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

export['λ'] = function(frame)
	local lc = {}
	lc['παράμετροι'] = frame:getParent().args
	lc['λήμμα παραπομπής'] = lc ['παράμετροι'][1] or ''
	lc['γλώσσα παραπομπής'] = lc ['παράμετροι'][2] or ''
	lc['εμφάνισης λέξης'] = lc ['παράμετροι'][3] or ''
	lc['εμφάνιση γλώσσας'] = lc ['παράμετροι']['δ'] or ''
	lc['γλώσσα σε παρένθεση'] = lc ['παράμετροι']['π'] or ''
	if lc['λήμμα παραπομπής']  == '' then
		lc['λήμμα παραπομπής']  = mw.title.getCurrentTitle().text	
	end
	if lc['γλώσσα παραπομπής']  == '' then
		lc['γλώσσα παραπομπής']  = 'el'
	end
	return Lf['παραπομπή'](lc)	
end

export['παραπομπή σε λέξη'] = function(args)
	return Lf['παραπομπή'](args)
end

Lf['παραπομπή'] = function(args)
	local lc = args
	lc['κείμενο'] = ''
	lc['κείμενο γλώσσας'] = ''
	if lc['λήμμα παραπομπής'] ~= '' then
		lc['κείμενο'] = '[[' .. lc['λήμμα παραπομπής'] 
    	--μας έχει δόσει γλώσσα παραπομπής (el ή κάτι άλλο)
    	--αν η γλώσσα παραπομπής έχει link
    	if lc['γλώσσα παραπομπής'] ~= '' and Ld['γλώσσες'][lc['γλώσσα παραπομπής']] and Ld['γλώσσες'][lc['γλώσσα παραπομπής']].link ~= '' then
    		lc['κείμενο'] = lc['κείμενο'] .. '#' .. Ld['γλώσσες'][lc['γλώσσα παραπομπής']].link 
    		if	lc['εμφάνισης λέξης']  ~= '' then
    			lc['κείμενο'] = lc['κείμενο'] .. "|" .. lc['εμφάνισης λέξης']
    		else
    			lc['κείμενο'] = lc['κείμενο'] .. "|" .. lc['λήμμα παραπομπής']
    		end
    		lc['κείμενο'] = lc['κείμενο'] .. "]]"
    		if lc['εμφάνιση γλώσσας'] ~= '' then
				if lc['εμφάνιση γλώσσας'] == 'γλ1' then --(αγγλικά, γαλλικά κλπ)
				    lc['κείμενο γλώσσας'] =  Ld['γλώσσες'][lc['γλώσσα παραπομπής']].name 
			    elseif lc['εμφάνιση γλώσσας'] == 'γλ2' then -- (αγγλική γλώσσα, γαλλική γλώσσα κλπ)
			        lc['κείμενο γλώσσας'] =  Ld['γλώσσες'][lc['γλώσσα παραπομπής']].cat 
			    elseif lc['εμφάνιση γλώσσας'] == 'γλ3' then --(αγγλικής προέλευσης, γαλλικής προέλευσης, προέλευσης από τη γλώσσα αφρικάανς κλπ)
			        lc['κείμενο γλώσσας'] =  Ld['γλώσσες'][lc['γλώσσα παραπομπής']].from 
			    elseif lc['εμφάνιση γλώσσας'] == 'γλ4' then --(αγγλική, γαλλική κλπ)
			        lc['κείμενο γλώσσας'] =  Ld['γλώσσες'][lc['γλώσσα παραπομπής']].frm 
			    else
			        --do nothing. not yet implemented
			        mw.addWarning('Δώσατε λάθος τιμή στην παράμετρο δ. Παρακαλώ διαλέξτε μία από τις: γλ1, γλ2, γλ3, γλ4')
		        end    			
		        if lc['γλώσσα σε παρένθεση']  == '1' then
					lc['κείμενο'] =  "''" .. lc['κείμενο γλώσσας'] .. "'' " .. lc['κείμενο']
				else
					lc['κείμενο'] = "(''" .. lc['κείμενο γλώσσας'] .. "'') " .. lc['κείμενο']
				end
			end
		else
			mw.addWarning('Η τιμή της δεύτερης παραμέτρου (παράμετρος γλώσσας) δεν είναι σωστή ή έχει ελλιπή στοιχεία στο Βικιλεξικό. Δεν θα δημιουργηθεί εσωτερική παραπομπή στη γλώσσα.')
			lc['κείμενο'] = lc['κείμενο'] .. ']]'
		end
	end
	return lc['κείμενο']	
end


return export