Module:protypo:t >> Module:protypo:t/τεκμηρίωση

Καλείται από το Πρότυπο:τ που συνδέει interwiki με λήμματα Βικιλεξικών άλλων γλωσσών.


Called by Template:τ for interwiki links.


--[=[
	2013, created by Flyax για το [[Πρότυπο:τ]] όπου {τ|<κωδικός γλώσσας>}}|<λέξη ή PAGENAME>}
		για χρήση 1) στην Ενότητα:Μεταφράσεις και 2) ως κεφαλή λήμματος για γλώσσες άλλες από την ελληνική
	2019, από Sarri.greek: για τα PAGENAME ορισμένων γλωσσών
		a) με πολύ μικρά γράμματα (π.χ. αραβικά, ιαπωνικά) + μεγέθυνση
			Το πρόβλημα όμως θα πρέπει να αντιμετωπιστεί συνολικά για όλες τις εμφανίσεις τους, με class= κλπ.
		b) παράμετρος |diacr= με extra εμφάνιση 'με διακριτικά' (π.χ. αραβικά, ρωσικά) όπως στο [[خمسة]]
		c) παράμετρος |show= για εναλλακτική εμφάνιση (π.χ. με θαυμαστικό στο [[bienvenue]]
		Επίσης, το nolink= δεν χρησιμοποιείται πια.
	2021 PROBLEM at https://el.wiktionary.org/wiki/Ειδικό:LintErrors/html5-misnesting
		problem with 'span' when whatever Template FOLLOWS PAGENAME {t|xx|{...} e.g. [[Πρότυπο:α]]
		see span at mtfr and outputs...
	2023.01.01. links to word & font-size are similar to [[Module:Πρότυπο:λ]]
	2023.10.04. alt= also numbered as 3=
]=]--

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

local p = {}

p.wikilinks = function (frame)
    local args = frame:getParent().args
    local noentry  = args['noentry'] or ""
    local langname = args[1] or ""	-- iso code
    local mtfr = args[2] or ""		-- the targeted link
    local target = args['link'] or mtfr
    local diacr = args['diacr'] or '' -- 'με διακριτικά' όπως στο [[خمسة]]
    local show = args['l'] or args['link'] or args['show'] or args['alt'] or args[3] or "" -- με εναλλακτική εμφάνιση, π.χ. Μεταφράσεις: κατ' επέκταση  / pagename: με θαυμαστικό στο [[bienvenue]]! -- 
    local tr = args['tr'] or ""
    local iw = args['iw'] or mtfr
    if langname == "" then
      output="<span style='color:red'>Λείπει ο κωδικός γλώσσας</span>[[Κατηγορία:Σελίδες με προβλήματα στο πρότυπο τ]]"
    elseif mtfr == "" then
         output = ""
    elseif languages[langname] == nil then
        output="<span style='color:red'>Άκυρος κωδικός γλώσσας</span>[[Κατηγορία:Σελίδες με προβλήματα στο πρότυπο τ]]"
    else -- check Translations at [καλά Χριστούγεννα]]
    	if show ~= '' then
        	if languages[langname].script == 'Arab' -- like ar, fa, ota, ps, ur
        	then
    		output1 = "[[" .. target .. "#" .. languages[langname].link .. '|<span style="font-size:140%; line-height:1em;">' .. show .. '</span>]]'
        	elseif languages[langname].script == 'Hani' -- like zh, ja (for both Han characters kanji & Kata (katakana))
        	then
        	output1 = "[[" .. target .. "#" .. languages[langname].link .. '|<span style="font-size:115%; line-height:1em;">' .. show .. '</span>]]'
    		else
    		output1 = "[[" .. target .. "#" .. languages[langname].link .. "|" .. show .. "]]"
    		end
    	else
        	if languages[langname].script == 'Arab' -- like ar, fa, ota, ps, ur
        	then
    		output1 = "[[" .. target .. "#" .. languages[langname].link .. '|<span style="font-size:140%; line-height:1em;">' .. mtfr .. '</span>]]'
        	elseif languages[langname].script == 'Hani' -- like zh, ja (for both Han characters kanji & Kata (katakana))
        	then
        	output1 = "[[" .. target .. "#" .. languages[langname].link .. '|<span style="font-size:115%; line-height:1em;">' .. mtfr .. '</span>]]'
    		else
    		output1 = "[[" .. target .. "#" .. languages[langname].link .. "|" .. mtfr .. "]]"
    		end
    	end

-- as PAGENAME +diacritics with tooltip
        PAGENAME = mw.title.getCurrentTitle().text
        if mtfr == PAGENAME then
        	-- 'με διακριτικά' όπως στο [[خمسة]]
        	if languages[langname].script == 'Arab' -- ar, fa, ota, ps, ur
        	then
        		if diacr == args['diacr'] then
        		output1 = '<span style="color:black; font-size:200%;">' .. mtfr .. ' (<span title="με διακριτικά">' .. diacr .. ')</span>' .. "</span>"
        		else
        		output1 = '<span style="color:black; font-size:200%;">' .. mtfr .. '</span>'
        		end
        	elseif languages[langname].script == 'Hani' -- zh, ja (for both Han characters kanji & Kata (katakana))
        	then
        		-- μεγαλύτερα γράμματα ja ιαπωνικά [[チョコレート]], zh κινεζικά  [[中國]]
        		if show == args['show'] or show == args['alt'] or show == args[3] then
        		output1 = '<span style="color:black; font-size:130%; font-weight:bold;">' .. mtfr .. ' (' .. show .. ')' .. "</span>"
        		else
        		output1 = '<span style="color:black; font-size:130%; font-weight:bold;">' .. mtfr .. '</span>'
        		end
        	else
        		-- show= για διαφορετική εμφάνιση, όπως με θαυμαστικό στο [[bienvenue]]
        		if show == args['show'] or show == args['alt'] or show == args[3] then
        		output1 = "'''" .. show .. "'''"
        		else
        		output1 = "'''" .. mtfr .. "'''"
        		end
        	end
        end
        
-- noentry=1 not color:red, per [[Βικιλεξικό:Διαχείριση_προτύπων/2022#noentry]]
-- e.g. Esperanto [[abata]] (as pagename indicator)
-- e.g. σε Μεταφράσεις  όπως στο λήμμα [[αίμα]]
        output2 = ""
        if languages[langname].wikiExists then
            output2 = " <small><sup>[[:" .. langname .. ":" .. iw .. "|(" .. langname .. ")]]</sup></small>"
            if noentry ~= "" then
               output2 = " <small><sup>[[:" .. langname .. ":" .. iw .. "|<span style='color:'>(" .. langname .. ")</span>]]</sup></small>"
            end
        end
        
        -- tr (transliteration, [[Βικιλεξικό:Μεταγραφές]]. π.χ. στις Μεταφράσεις στο λήμμα [[Ελλάδα]], όπως στη γραμμή λήμματος [[اثنان]])
        output3 = ""
        if tr ~= "" then
              output3 = output3 .. ' (<span style="font-size:95%; letter-spacing:1px;">' .. tr .. '</span>)'
        end
        
        
        output = output1 .. output2 .. output3
    end
    return output
end

return p