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

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

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

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

local export = {numbers = {}}

local unpack = unpack or table.unpack -- Lua 5.2 compatibility

local m_numutils = require("Module:number list/utils")
local power_of = m_numutils.power_of

local numbers = export.numbers

local function make_number(num, number)
	local numstr = m_numutils.format_fixed(num)
	--number.wplink = number.wplink or type(num) == "number" and num < 1000 and number.cardinal or nil
	number.ordinal_abbr = number.ordinal_abbr or #numstr < 10 and m_numutils.add_thousands_separator(numstr, ",") .. "." or nil
	numbers[num] = number
end

local function make_simple_number(num, cardinal, ordinal, fractional, wplink)
	make_number(num, {
		cardinal = cardinal,
		ordinal = ordinal,
		fractional = fractional or ordinal,
		wplink = wplink,
	})
end

make_number(0, {
	cardinal = "núll",
})

make_number(1, {
	cardinal = "einn",
	ordinal = "fyrsti",
	multiplier = "einfaldur",
})

make_number(2, {
	cardinal = "tveir",
	ordinal = "annar",
	adverbial = {"tvisvar", "tvívegis"},
	multiplier = "tvöfaldur",
	fractional = "hálfur",
	collective = "báðir",
})

make_number(3, {
	cardinal = "þrír",
	ordinal = "þriðji",
	adverbial = {"þrisvar", "þrívegis"},
	multiplier = "þrefaldur",
})

make_number(4, {
	cardinal = "fjórir",
	ordinal = "fjórði",
	multiplier = "fjögurfaldur",
	fractional = {"fjórði", "fjórðungur"},
})

make_number(5, {
	cardinal = "fimm",
	ordinal = "fimmti",
	--multiplier = "quíntuple",
})

make_number(6, {
	cardinal = "sex",
	ordinal = "sjötti",
	--multiplier = "séxtuple",
})

make_number(7, {
	cardinal = "sjö",
	ordinal = "sjöundi",
	--multiplier = "séptuple",
})

make_number(8, {
	cardinal = "átta",
	ordinal = "áttundi",
	--multiplier = "óctuple",
})

make_number(9, {
	cardinal = "níu",
	ordinal = "níundi",
	--multiplier = "nónuple",
})

make_number(10, {
	cardinal = "tíu",
	ordinal = "tíundi",
	--multiplier = "décuplo",
})

make_simple_number(11, "ellefu", "ellefti")
make_simple_number(12, "tólf", "tólfti")
make_simple_number(13, "þrettán", "þrettándi")
make_simple_number(14, "fjórtán", "fjórtándi")
make_simple_number(15, "fimmtán", "fimmtándi")
make_simple_number(16, "sextán", "sextándi")
make_simple_number(17, "sautján", "sautjándi")
make_simple_number(18, "átján", "átjándi")
make_simple_number(19, "nítján", "nítjándi")

-- Do 20 through 99.
for i, cardinal_and_ordinal in ipairs {
	{ "tuttugu", "tuttugasti" },
	{ "þrjátíu", "þrítugasti" },
	{ "fjörutíu", "fertugasti" },
	{ "fimmtíu", "fimmtugasti" },
	{ "sextíu", "sextugasti" },
	{ "sjötíu", "sjötugasti" },
	{ "áttatíu", "áttugasti" },
	{ "níutíu", "níutugasti" },
} do
	local tens_cardinal, tens_ordinal = unpack(cardinal_and_ordinal)
	local tens = (i + 1) * 10
	make_simple_number(tens, tens_cardinal, tens_ordinal)
	for ones = 1, 9 do
		local ones_cardinal = numbers[ones].cardinal
		local ones_ordinal = numbers[ones].ordinal
		local cardinal = tens_cardinal .. " og " .. ones_cardinal
		local ordinal = tens_ordinal .. " og " .. ones_ordinal
		make_simple_number(tens + ones, cardinal, ordinal)
	end
end

make_number(100, {
	cardinal = {"hundrað", "[[einn|eitt]] [[hundrað]]"},
	ordinal = "hundraðasti",
	multiplier = "hunraðfaldur",
})

make_simple_number(101, "[[hundrað]] [[og]] [[einn]]", "[[hundraðasti]] [[og]] [[fyrsti]]")

-- Generate 200 through 900 by 100.
for i, neuter_single_cardinal in ipairs { "tvö", "þrjú", "fjögur", "fimm", "sex", "sjö", "átta", "níu" } do
	local hundred_cardinal = neuter_single_cardinal .. " hundruð"
	local hundred_ordinal = neuter_single_cardinal .. "hundraðasti"
	local thousand_cardinal = neuter_single_cardinal .. " þúsund"
	local thousand_ordinal = neuter_single_cardinal .. "þúsundasti"
	make_simple_number((i + 1) * 100, hundred_cardinal, hundred_ordinal)
	make_simple_number((i + 1) * 1000, thousand_cardinal, thousand_ordinal)
end

make_simple_number(1000, {"þúsund", "[[einn|eitt]] [[þúsund]]"}, "þúsundasti")
make_simple_number(100000, "[[hundrað]] [[þúsund]]", "[[hundrað]] [[þúsundasti]]")
make_simple_number(1000000, "milljón", "milljónasti")
make_simple_number(power_of(9), {"miljarður", "milljarður"}, "[[þúsund]] [[milljónasti]]")
make_simple_number(power_of(12), "billjón", "billjónasti")
make_simple_number(power_of(18), "trilljón", "trilljónasti")

return export