Modul:Ədəd-də
Bu modulun sənədləşdirmə səhifəsi Modul:Ədəd-də/doc səhifəsində yaradıla bilər
-- Bu Şəki Ensiklopediyasının (Shaki Encyclopedia) redaktorları tərəfindən
-- hazırlanmış moduldur. Ədədlərə ində, ında, ündə, unda, sində, sında
-- şəkilçilərindən uyğun gələn birisinin ixtisar şəklini (də, da) avtomatik
-- olaraq seçib defislə (-) əlavə etmək üçündür.
-- Eyniadlı şablondan istifadə etmək lazımdır.
local p = {}
local yesno = require('Module:Yesno')
local suffixes = {
[1] = "də", [2] = "də",
[3] = "də", [4] = "də", [5] = "də", [6] = "da", [7] = "də", [8] = "də", [9]= "da", [10] = "da", [20] = "də",
[30] = "da", [40] = "da", [50] = "də", [60] = "da", [70] = "də", [80] = "də", [90] = "da"
}
function p.Ordinal(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._ordinal(args[1], (args[2] == 'd'), yesno(args.sup))
end
function p._ordinal(n, d, sup)
local x = tonumber(mw.ustring.match(n, "(%d*)%W*$"))
if x then
local mod10 = math.abs(x) % 10
local mod100 = math.abs(x) % 100
local mod1000 = math.abs(x) % 1000
local mod1000000 = math.abs(x) % 1000000
local mod1000000000 = math.abs(x) % 1000000000
if x == 0 then
suffix = "da"
elseif mod1000000000 == 0 then
suffix = "da"
elseif mod1000000 == 0 then
suffix = "da"
elseif mod1000 == 0 then
suffix = "də"
elseif mod100 == 0 then
suffix = "də"
elseif mod10 == 0 then
suffix = suffixes[x % 100]
else
suffix = suffixes[x %10] or ""
end
end
return n .. '-' .. suffix
end
return p