Modül:Decade
Görünüm
Bu modül sayılara onluk ekleri ekler.
Örnekler
[kaynağı değiştir]- {{#invoke:Decade|decade|2020}} → 2020'ler
- {{#invoke:Decade|decade|2010}} → 2010'lar
- {{#invoke:Decade|decade|2000}} → 2000'ler
- {{#invoke:Decade|decade|1990}} → 1990'lar
- {{#invoke:Decade|decade|1880}} → 1880'ler
- {{#invoke:Decade|decade|1770}} → 1770'ler
- {{#invoke:Decade|decade|1660}} → 1660'lar
- {{#invoke:Decade|decade|1550}} → 1550'ler
- {{#invoke:Decade|decade|1440}} → 1440'lar
- {{#invoke:Decade|decade|1220}} → 1220'ler
- {{#invoke:Decade|decade|1110}} → 1110'lar
- {{#invoke:Decade|decade|1000}} → 1000'ler
local p = {}
local yesno = require('Module:Yesno')
local suffixes = {
"ler", "ler", "ler", "ler", "ler", "lar", "ler", "ler", "lar", [0] = "lar", [10] = "lar", [20] = "ler",
[30] = "lar", [40] = "lar", [50] = "ler", [60] = "lar", [70] = "ler", [80] = "ler", [90] = "lar"
}
function p.decade(frame)
local args = frame.args
if args[1] == nil then
args = frame:getParent().args
end
if args[1] == nil then
args[1] = "{{{1}}}"
end
return p._decade(args[1], (args[2] == 'd'), yesno(args.sup))
end
function p._decade(n, d, sup)
local x = tonumber(mw.ustring.match(n, "(%d*)%W*$"))
local suffix = "ler"
if x then
local mod10 = math.abs(x) % 10
local mod100 = math.abs(x) % 100
local mod1000 = math.abs(x) % 1000
if x == 0 then
suffix = "lar"
elseif mod1000 == 0 then
suffix = "ler"
elseif mod100 == 0 then
suffix = "ler"
elseif mod10 == 0 then
suffix = suffixes[x % 100]
else
suffix = suffixes[x %10] or ""
end
end
if sup then
suffix = "<sup>" .. suffix .. "</sup>"
end
return n .. '\'' .. suffix
end
function inDecade( year )
if year >= 0 then
return p._decade(year)
else
year = -year
return 'MÖ ' .. p._decade(year)
end
end
return p