Module:Ədəd-inin
Jump to navigation
Jump to search
Bu modulun təlimatı üçün bu səhifə yaradıla bilər: Module:Ədəd-inin/doc
-- Bu Şəki Ensiklopediyasının (Shaki Encyclopedia) redaktorları tərəfindən -- hazırlanmış moduldur. Ədədlərə inin, ının, ünün, unun, sinin, sının -- şəkilçilərindən uyğun gələn birisini 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] = "inin", [2] = "sinin", [3] = "ünün", [4] = "ünün", [5] = "inin", [6] = "sının", [7] = "sinin", [8] = "inin", [9]= "unun", [10] = "unun", [20] = "sinin", [30] = "unun", [40] = "ının", [50] = "sinin", [60] = "ının", [70] = "inin", [80] = "inin", [90] = "ının" } 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 = "ının" elseif mod1000000000 == 0 then suffix = "ının" elseif mod1000000 == 0 then suffix = "unun" elseif mod1000 == 0 then suffix = "inin" elseif mod100 == 0 then suffix = "ünün" elseif mod10 == 0 then suffix = suffixes[x % 100] else suffix = suffixes[x %10] or "" end end return n .. '-' .. suffix end return p