Module:tin
Μετάβαση στην πλοήγηση
Πήδηση στην αναζήτηση
Module:tin >> Module:tin/τεκμηρίωση
Επιλέγει τη σωστή αιτιατική ενικού του θηλυκού άρθρου, για τα ελληνικά.
Καλείται από το Πρότυπο:tin.
-- 2019.05.16. Sarri.greek
-- θηλυκό άρθρο, αιτιατική ενικού την ή τη
-- feminine article, accusative singular την or τη
-- Καλείται από [[Πρότυπο:tin]].
-- 2019.07.24. Thanks to Erutuon
local p = {}
-- by Erutuon: remove error "attempt to call method 'getParent' (a nil value)" by accepting string as argument
function p.tin(arg)
local term
if type(arg) == 'table' and type(arg.getParent) == 'function' then
local frame = arg
local args = frame:getParent().args
term = args[1] or '' -- [[Πρότυπο:tin]] {{#invoke:tin|tin|term=<word>}}
else
term = arg
end
-- when the lemma is a feminine suffix with -xxx
if term:sub(1, 1) == '-' then --start at 1st character, stop at 1st character
return 'τη(ν)'
end
-- when the lemma is a feminine word
-- begninning with βδθφχλρσζΒΔΘΦΧΛΡΣΖ return 'τη'
if mw.ustring.find(term, '^[βδθφχλρσζΒΔΘΦΧΛΡΣΖ]')
then
return 'τη'
else
-- μ - μπ
if mw.ustring.find(term, '^[μΜ][πΠ]')
then
return 'την'
else if mw.ustring.find(term, '^[μΜ]') then return 'τη' end
end
-- ν - ντ
if mw.ustring.find(term, '^[νΝ][τΤ]')
then
return 'την'
else if mw.ustring.find(term, '^[νΝ]') then return 'τη' end
end
-- γ - γκ
if mw.ustring.find(term, '^[γΓ][κΚ]')
then
return 'την'
else if mw.ustring.find(term, '^[γΓ]') then return 'τη' end
end
-- else, if NOT begninning with βδθφχλρσζΒΓΔΘΦΧΛΡΣΖ return 'τηv'
return 'την'
end --close beginning with...
end --close function
return p