বিষয়বস্তুতে চলুন

মডিউল:number list/data/bo

উইকিঅভিধান, মুক্ত অভিধান থেকে

এই মডিউলের জন্য মডিউল:number list/data/bo/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে

local export = {numbers = {}}

export.numeral_config = {
	zero_codepoint = 0x0F20, -- ༠, TIBETAN DIGIT ZERO
}

local units_cardinal = {"གཅིག", "གཉིས", "གསུམ", "བཞི", "ལྔ", "དྲུག", "བདུན", "བརྒྱད", "དགུ", "བཅུ"}
local tens_cardinal = {"ཉི་ཤུ", "སུམ་ཅུ", "བཞི་བཅུ", "ལྔ་བཅུ", "དྲུག་ཅུ", "བདུན་ཅུ", "བརྒྱད་ཅུ", "དགུ་བཅུ"}
local powers_cardinal = {"བརྒྱ", "སྟོང", "ཁྲི", "འབུམ", "ས་ཡ", "བྱེ་བ", "དུང་ཕྱུར", "ཐེར་འབུམ", "ཁྲག་ཁྲིག", "རབ་བཀྲམ", "གཏམས", "དཀྲིགས"}

local function gen_ordinal(num)
	if num == "གཅིག" then
		return "དང་པོ"
	end
	if mw.ustring.match(num, "དགུ$") or num == "ཉི་ཤུ" then
		return num .. "་བ"
	end
	return num .. "་པ"
end
local function gen_teens(num)
	if num == units_cardinal[5] or num == units_cardinal[8] then
		return "བཅོ་" .. num
	end
	return "བཅུ་" .. num
end

export.numbers[0] = {
	cardinal = "ཀླད་ཀོར",
}

for i, num in ipairs(units_cardinal) do
	export.numbers[i] = {
		cardinal = num,
		ordinal = gen_ordinal(num)
	}
end
for i = 1, 9 do
	export.numbers[10+i] = {
		cardinal = gen_teens(units_cardinal[i]),
		ordinal = gen_ordinal(gen_teens(units_cardinal[i]))
	}
end

for i = 2, 9 do
	local ten = tens_cardinal[i-1]
	export.numbers[i*10] = {
		cardinal = ten,
		ordinal = gen_ordinal(ten)
	}
	for j = 1, 9 do
		export.numbers[i*10+j] = {
			cardinal = ten .. "་རྩ་" .. units_cardinal[j],
			ordinal = gen_ordinal(ten .. "་རྩ་" .. units_cardinal[j])
		}
	end
end

for i, base in ipairs(powers_cardinal) do
	local power = i < 8 and (i + 1) or ((2 * i) - 7)
	local num = 10 ^ power
	export.numbers[num] = {
		cardinal = base
	}
	if i == 1 then
		export.numbers[num].ordinal = base .. "་པ"
	end
	if i >= 8 then
		export.numbers[num*10] = {
			cardinal = base .. "་ཆེན་པོ"
		}
	end
end

return export