Module:Πρότυπο:λ
>> Module:Πρότυπο:λ/τεκμηρίωση: Το Module:Πρότυπο:λ καλείται από το Πρότυπο:λ. Για τις γλώσσες χρησιμοποιείται το Module:Languages.
>> Module:Πρότυπο:λ/test
-- Done 2023.01.01 parameters in latin-letter terms
-- REPEAT similar to this module within [[Module:ετυμολογία]]
-- also check similar, at [[Module:protypo:t]]
-- also check similar, at [[Module:descendants]]
-- NOTE on font-size (larger for some scripts). They are not mentioned at [[MediaWiki:Common.css]]
-- self-link must be a separate Template.
-- See Ιστορικό, 25 Νοεμβρίου, it destoryed inner links (check [[Πάρις]])
export = {}
local Lf = {} --τοπικές συναρτήσεις
local Ld = {} --τοπικές μεταβλητές, μπορούν να έχουν τα ίδια ονόματα με τις συναρτήσεις
--local lc = {} σε όλες τις συναρτήσεις για τοπικές μεταβλητές μέσα σε αυτές
local languages = mw.loadData("Module:Languages")
export['λ'] = function(frame)
-- local lc = {}
local args = frame:getParent().args
style1 = 'background:#ffffff; color:#002000; border-bottom:1px dashed #dddddd;' -- όπως στο [[Πρότυπο:style1]]
word_target = args[1] or '' -- cannot write local word_target
lang_iso = args[2] or ''
word_show = args[3] or ''
lang_show = args['δ'] or args['γλ'] or args['lang'] or ''
lang_parenthesis = args['π'] or args['0'] or ''
transliteration = args['tr'] or args['γ'] or '' --μεταγραφή (τεστ στο [[βαλίτσα]])
translation = args['t'] or args['μ'] or '' --μετάφραση +link (τεστ στο [[βαλίτσα]])
translation_nolink = args['tno'] or args['tnl'] or args['μχωρίς'] or '' --μετάφραση no link (τεστ στο [[μπουρνούζι]])
if word_target == '' then
word_target = mw.title.getCurrentTitle().text
end
-- el (Modern Greek) as default
if lang_iso == '' then
lang_iso = 'el'
end
return Lf['παραπομπή'](args)
end
export['παραπομπή σε λέξη'] = function(args)
return Lf['παραπομπή'](args)
end
Lf['παραπομπή'] = function(args)
local args = args
mytext = ''
lang_text = ''
if word_target ~= '' then
-- if asterisc is not wanted, use
-- mytext = '[[' .. word_target:sub(2, -1) -- αγνοώ το 1ο γράμμα, αρχίζω απ' το 2ο - σταματώ στο 1ο γράμμα από το τέλος
-- for unattested terms with asterisc / για αμάρτυρους τύπους με αστερίσκο
if word_target:sub(1, 1) == '*' then -- λέξεις με 1ο γράμμα αστερίσκο - σταματώ στο 1ο γράμμα
mytext = '[[' .. word_target -- we accept asterisc
else
mytext = '[[' .. word_target
end
--μας έχει δόσει γλώσσα παραπομπής (el εννοείται πάντα)
--αν η γλώσσα παραπομπής έχει link
if lang_iso ~= '' and languages[lang_iso] ~= '' and languages[lang_iso].link ~= '' then
mytext = mytext .. '#' .. languages[lang_iso].link
if word_show ~= '' then
lang_script = languages[lang_iso]['script'] or ''
if languages[lang_iso]['script'] == 'Arab' -- ar, fa, ota, ps, ur
then
mytext = mytext .. '|<span style="font-size:140%; line-height:1em;">' .. word_show
elseif languages[lang_iso]['script'] == 'Hani' -- zh, ja (for both Han characters kanji & Kata (katakana))
then
mytext = mytext .. '|<span style="font-size:115%; line-height:1em;">' .. word_show
else
mytext = mytext .. '|' .. word_show
end
else -- no word_show
-- We accept asterisc. check [[πατήρ]] If not, then mytext = mytext .. "|*" .. word_target:sub(2, -1)
-- αστερίσκος asterisc
if word_target:sub(1, 1) == '*' then
mytext = mytext .. "|<i>" .. word_target .. "</i>"
else
lang_script = languages[lang_iso]['script'] or ''
if languages[lang_iso]['script'] == 'Arab' -- ar, fa, ota, ps, ur
then
mytext = mytext .. '|<span style="font-size:140%; line-height:1em;">' .. word_target
elseif languages[lang_iso]['script'] == 'Hani' -- zh, ja (for both Han characters kanji & Kata (katakana))
then
mytext = mytext .. '|<span style="font-size:115%; line-height:1em;">' .. word_target
else
mytext = mytext .. '|' .. word_target
end
end
end
-- missing word, have script e.g. [[ἀτύζομαι]] {{l|?|hit|tr=ḫatuki-|t=τρομερός|lang=4}}
if word_target == '?' then
mytext = '<span title="Λείπει η γραφή της λέξης">?</span>' .. '[[Κατηγορία:Ελλείπουσα γραφή (' .. languages[lang_iso].name .. ')'
end
-- gmy2 γράφουμε τη μεταγραφή της μυκηναϊκής (gmy), και λαμβάνουμε τα Unicode σύμβολα
if lang_iso == 'gmy2' then
mytext = '[[' .. require("Module:Linb-translit").gmy_get(word_target)
end
lang_script = languages[lang_iso]['script'] or ''
if languages[lang_iso]['script'] == 'Arab' -- ar, fa, ota, ps, ur
then
mytext = mytext .. '</span>]]'
elseif languages[lang_iso]['script'] == 'Hani' -- zh, ja (for both Han characters kanji & Kata (katakana))
then
mytext = mytext .. '</span>]]'
else
mytext = mytext .. "]]"
end
-- text for language names
-- switch |δ= γλ1, γλ2, γλ3, γλ4 ή γλ= 1, 2, 3, 4 Expressions as in [[Module:Languages]]
if lang_show ~= '' then
if lang_show == 'γλ1' or lang_show == '1' then --(αγγλικά, γαλλικά)
lang_text = '[[' .. languages[lang_iso].name .. '|<span style="' .. style1 .. '">' .. languages[lang_iso].name .. '</span>]]'
elseif lang_show == 'γλ2' or lang_show == '2' then -- (αγγλική γλώσσα, γαλλική γλώσσα)
-- lang_text = languages[lang_iso].cat -- αυτό βγαίνει με κεφαλαίο.
lang_text = '[[' .. languages[lang_iso].name .. '|<span style="' .. style1 .. '">' .. mw.getContentLanguage():lcfirst(languages[lang_iso].cat) .. '</span>]]'
elseif lang_show == 'γλ3' or lang_show == '3' then --(αγγλικής προέλευσης, γαλλικής προέλευσης, προέλευσης από τη γλώσσα αφρικάανς κλπ)
lang_text = '[[' .. languages[lang_iso].name .. '|<span style="' .. style1 .. '">' .. languages[lang_iso].from .. '</span>]]'
elseif lang_show == 'γλ4' or lang_show == '4' then --(αγγλική, γαλλική)
lang_text = '[[' .. languages[lang_iso].name .. '|<span style="' .. style1 .. '">' .. languages[lang_iso].frm .. '</span>]]'
else
--do nothing. not yet implemented
mw.addWarning('Δώσατε λάθος τιμή στην παράμετρο δ. Παρακαλώ διαλέξτε μία από τις: γλ1, γλ2, γλ3, γλ4')
end
if lang_parenthesis == '1' then
mytext = "(''" .. lang_text .. "'') " .. mytext
else
mytext = "''" .. lang_text .. "'' " .. mytext
end
end
-- text for transliterations μεταγραφή, μετάφραση εντός συνδέσμου, μετάφραση χωρίς συνδέσμους (συμπληρώνει ο συντάκτης)
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
else
mw.addWarning('Η τιμή της δεύτερης παραμέτρου (παράμετρος γλώσσας) δεν είναι σωστή ή έχει ελλιπή στοιχεία στο Βικιλεξικό. Δεν θα δημιουργηθεί εσωτερική παραπομπή στη γλώσσα.')
mytext = mytext .. ']]'
end
end -- close if word_target ~= ''
return mytext
end
return export