Module:άλλημορφή

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

Module:άλλημορφή >> Module:άλλημορφή/τεκμηρίωση
Καλείται από το Πρότυπο:γραφή του ή {{γρ}}

Called by the template 'form of' {{γρ}}


--[=[ [[Πρότυπο:γρ]]
	2013-2018 by Xoristzatziki
	2019.07.28. η παράμετρος#2 με ελεύθερο κείμενο (παράδειγμα [['λιοκαμένος]] Sarri.greek
	2020.09.17. args['show']
]=]--

p = {}

local languages =  mw.loadData("Module:Languages")

errorhere = function(errstring)
    return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα]]'
end

--μπορούν να προστεθούν και άλλες κατηγορίες π.χ. για άλλες γλώσσες
p.export = function (frame)
    local lemmaargs = frame:getParent().args
    local lemmatolink = lemmaargs[1] or ''
	local wordlink = "[[" .. lemmatolink .. "]]"
    local lemmashow = lemmaargs['show'] or lemmaargs['alt'] or lemmaargs['εμφ'] or ''
    local kindof = lemmaargs[2] or ''
    --3η παράμετρος η γλώσσα
    local lang = lemmaargs[3] or lemmaargs['γλ'] or lemmaargs['lang'] or ''
    --διάβασε τον τιτλο του λήμματος
    PAGENAME = mw.title.getCurrentTitle().text
    --local lemma = PAGENAME:match( "^%s*(.-)%s*$" )
    local output = ''
    --αν δεν έδοσε παράμετρο
    if lemmatolink == '' then
    	mw.addWarning('Δεν δόθηκε η λέξη!')
    	return frame:preprocess(errorhere('Δεν δόθηκε η λέξη!') )   	
    end
    
    if lemmashow ~= '' and lemmashow ~= nil then -- π.χ. [[τροχοεμποδιστήρας]]
    	--αν έχει βάλει και γλώσσα κάνε παραπομπή στην αντίστοιχη ενότητα
		if lang ~= '' then
			if languages[lang] then
				if languages[lang].link ~= '' then
					wordlink = "[[" .. lemmatolink .. "#" .. languages[lang].link .. "|" .. lemmashow .. "]]"
				end
			end
		else
			wordlink = "[[" .. lemmatolink.. "|" .. lemmashow ..  "]]"
		end	
    	

	elseif lemmashow == '' or lemmashow == nil then -- with no lemmashow
		if lang ~= '' then
			if languages[lang] then
				if languages[lang].link ~= '' then
					wordlink = "[[" .. lemmatolink .. "#" .. languages[lang].link .. "|" .. lemmatolink .. "]]"
				end
			end
		else
			wordlink = "[[" .. lemmatolink .. "]]"	
		end	
	end -- close if lemmashow


	--επιλογή είδους (μορφή, γραφή πολυτονικό)
	if kindof ~= '' then
-- α...ω (χωρίς παράμετρο δίνει: άλλη γραφή του...)
		if kindof == 'απλοπ' then
			output = "''[[απλοποιημένος|απλοποιημένη]] γραφή του '''''".. wordlink .. "'''"
		elseif kindof == 'ασυν' then
			output = "''[[ασυναίρετος|ασυναίρετη]] μορφή του '''''".. wordlink .. "'''"
		elseif kindof == 'ετυμ' then
			output = "''ετυμολογική γραφή του '''''".. wordlink .. "'''"
			if lang ~= '' and lang ~= nil  then output = output .. '[[Κατηγορία:Λέξεις με ετυμολογική γραφή (' .. languages[lang].name .. ')]]'
				else output = output .. '[[Κατηγορία:Λέξεις με ετυμολογική γραφή (νέα ελληνικά)]]'
			end			
		elseif kindof == 'μη απλοπ' then
			output = "''μη [[απλοποιημένος|απλοποιημένη]] γραφή του '''''".. wordlink .. "'''"		
		elseif kindof == 'μον' then
			output = "''[[μονοτονικό|μονοτονική γραφή]] του '''''".. wordlink .. "'''"
		elseif kindof == 'μονο' then
			output = "''[[μονοτονικό|μονοτονική γραφή]] του '''''".. wordlink .. "'''"
-- ΝΑ αποσυρθεί το μορφ (μόνο ένα γράμμα κόβεται)
		elseif kindof == 'μορφ' then
			output = "''[[Βικιλεξικό:Μορφές λέξεων|άλλη μορφή]] του '''''".. wordlink .. "'''"
		elseif kindof == 'μορφή' then
			output = "''[[Βικιλεξικό:Μορφές λέξεων|άλλη μορφή]] του '''''".. wordlink .. "'''"
		elseif kindof == 'παρωχ' then	-- όπως [[κυττώ]]
			output = "''παρωχημένη γραφή του '''''".. wordlink .. "'''"
			if lang ~= '' and lang ~= nil  then output = output .. '[[Κατηγορία:Όροι με παρωχημένη γραφή (' .. languages[lang].name .. ')]]'
				else output = output .. '[[Κατηγορία:Όροι με παρωχημένη γραφή (νέα ελληνικά)]]'
			end		
		elseif kindof == 'πολ' then
			output = "''[[πολυτονικό|πολυτονική γραφή]] του '''''".. wordlink .. "'''"
		elseif kindof == 'πολυ' then
			output = "''[[πολυτονικό|πολυτονική γραφή]] του '''''".. wordlink .. "'''"
		elseif kindof == 'συν' then -- προϋπήρχε αυτό, δεν μπορώ να το αλλάξω
			output = "''[[συνηρημένος|συνηρημένη]] μορφή του '''''".. wordlink .. "'''"
			-- χρησιμοποιείται και το [[Πρότυπο:σνρ]]
		elseif kindof == 'σνρ' then
			output = "''[[συνηρημένος|συνηρημένη]] μορφή του '''''".. wordlink .. "'''"
		elseif kindof == 'συνών' then
			output = "''[[συνώνυμο|συνώνυμο]] του '''''".. wordlink .. "'''"
		elseif kindof == 'συνων' then
			output = "''[[συνώνυμο|συνώνυμο]] του '''''".. wordlink .. "'''"
		-- παράμετρος#2 με ελεύθερο κείμενο (παράδειγμα [['λιοκαμένος]])
		else
			output = "''" .. kindof .. "'' '''".. wordlink .. "'''"
		end	
		--[=[ παράμετρος#2 με απαγόρευση ελεύθερου κειμένου
		else --έχει δεύτερη παράμετρο αλλά μάλλον είναι λάθος ή δεν υποστηρίζεται ακόμα
			mw.addWarning('Η δεύτερη παράμετρος είναι λάθος ή δεν υποστηρίζεται ακόμα!')
			output = "''[[Βικιλεξικό:Μορφές λέξεων|άλλη γραφή του]] ''[[".. wordlink .. "]][[Κατηγορία:Σελίδες με σφάλματα]]"	
		end
		--]=]

	else
		--Χωρίς δεύτερη παράμετρο υποθέτουμε ότι ο συντάκτης θέλει να καταγράψει το "άλλη γραφή"
		output = "''[[Βικιλεξικό:Μορφές λέξεων|άλλη γραφή του]] '''''".. wordlink .. "'''"		
	end
	return frame:preprocess(output)
end

return p