Diqqət! 4 aprel 2024-cü il tarixdən saytın yeni versiyası sheki.org domenində fəaliyyət göstərir. Bu köhnə versiyadır və yenilənməsi məhdudlaşdırılıb. Lakin 6 yanvar 2025-ci il tarixədək bu vəziyyətdə internetdə qalacaqdır...

"Module:Ədəd-də" səhifəsinin versiyaları arasındakı fərqlər

Şəki Ensiklopediyası səhifəsi
Jump to navigation Jump to search
(Səhifəni '-- 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ə yarat)
 
Sətir 1: Sətir 1:
 
-- Bu Şəki Ensiklopediyasının (Shaki Encyclopedia) redaktorları tərəfindən
 
-- 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
+
-- hazırlanmış moduldur. Ədədlərə ində, ında, ündə, unda, sində, sında  
-- uyğun gələn birisinin ixtisar şəklini (də,da) avtomatik olaraq seçib defislə
+
-- şəkilçilərindən uyğun gələn birisinin ixtisar şəklini (də,da) avtomatik  
--  (-) əlavə etmək üçündür. Eyniadlı şablondan istifadə etmək lazımdır.
+
-- olaraq seçib defislə (-) əlavə etmək üçündür.  
 +
-- Eyniadlı şablondan istifadə etmək lazımdır.
  
 
local p = {}
 
local p = {}

01:11, 27 dekabr 2023 versiyası

Bu modulun təlimatı üçün bu səhifə yaradıla bilər: Module:Ədəd-də/doc

-- 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