Module:number list/data/zlw-ocs

This module contains data on various types of numbers in Old Czech.

Number Cardinal Ordinal Adverbial Multiplier Collective Fractional
1 jeden prvý, první jednú
2 dva druhý dvakrát, dvénásob dvojitý dvój pól, polovicě
3 třie třetí třikrát, trénásob trojitý trój třetina
4 čtyřie čtvrtý čtyřkrát, čtyřnásob čtvеr čtvrt, čtvrticě
5 pět pátý pětkrát pater
6 šest šestý šestkrát šester šestina
7 sedm sedmý sedmkrát sedmer
8 osm osmý osmkrát osmer
9 devět devátý devětkrát devater
10 desět desátý desětkrát desater desětina, desátek
11 jedennádste prvýnádste, prvnínádste, jedennádstý
12 dvanádste druhýnádste, dvanádstý
13 třinádste třetínádste, třinádstý
14 čtrnádste čtvrtýnádste, čtrnádstý
15 patnádste pátýnádste, patnádstý
16 šestnádste šestýnádste, šestnádstý
17 sedmnádste sedmýnádste, sedmnádstý
18 osmnádste osmýnádste, osmnádstý
19 devatnádste devátýnádste, devatnádstý
20 dvadsěti dvadsátý
21 jeden a dvadsěti, dvadsěti jeden, jedenmezidsietma jeden a dvadsětiý, dvadsěti jedený, jedenmezidsietmaý
22 dva a dvadsěti, dvadsěti dva, dvamezidsietma dva a dvadsětiý, dvadsěti dvaý, dvamezidsietmaý
23 tři a dvadsěti, dvadsěti tři, třimezidsietma tři a dvadsětiý, dvadsěti třiý, třimezidsietmaý
24 čtyři a dvadsěti, dvadsěti čtyři, čtyřimezidsietma čtyři a dvadsětiý, dvadsěti čtyřiý, čtyřimezidsietmaý
25 pět a dvadsěti, dvadsěti pět, pětmezidsietma pět a dvadsětiý, dvadsěti pětý, pětmezidsietmaý
26 šest a dvadsěti, dvadsěti šest, šestmezidsietma šest a dvadsětiý, dvadsěti šestý, šestmezidsietmaý
27 sedm a dvadsěti, dvadsěti sedm, sedmmezidsietma sedm a dvadsětiý, dvadsěti sedmý, sedmmezidsietmaý
28 osm a dvadsěti, dvadsěti osm, osmmezidsietma osm a dvadsětiý, dvadsěti osmý, osmmezidsietmaý
29 devět a dvadsěti, dvadsěti devět, devětmezidsietma devět a dvadsětiý, dvadsěti devětý, devětmezidsietmaý
30 třidsěti třidsátý
31 jeden a třidsěti, třidsěti jeden jeden a třidsětiý, třidsěti jedený
32 dva a třidsěti, třidsěti dva dva a třidsětiý, třidsěti dvaý
33 tři a třidsěti, třidsěti tři tři a třidsětiý, třidsěti třiý
34 čtyři a třidsěti, třidsěti čtyři čtyři a třidsětiý, třidsěti čtyřiý
35 pět a třidsěti, třidsěti pět pět a třidsětiý, třidsěti pětý
36 šest a třidsěti, třidsěti šest šest a třidsětiý, třidsěti šestý
37 sedm a třidsěti, třidsěti sedm sedm a třidsětiý, třidsěti sedmý
38 osm a třidsěti, třidsěti osm osm a třidsětiý, třidsěti osmý
39 devět a třidsěti, třidsěti devět devět a třidsětiý, třidsěti devětý
40 čtyřidsěti čtyďidsátý
41 jeden a čtyřidsěti, čtyřidsěti jeden jeden a čtyřidsětiý, čtyřidsěti jedený
42 dva a čtyřidsěti, čtyřidsěti dva dva a čtyřidsětiý, čtyřidsěti dvaý
43 tři a čtyřidsěti, čtyřidsěti tři tři a čtyřidsětiý, čtyřidsěti třiý
44 čtyři a čtyřidsěti, čtyřidsěti čtyři čtyři a čtyřidsětiý, čtyřidsěti čtyřiý
45 pět a čtyřidsěti, čtyřidsěti pět pět a čtyřidsětiý, čtyřidsěti pětý
46 šest a čtyřidsěti, čtyřidsěti šest šest a čtyřidsětiý, čtyřidsěti šestý
47 sedm a čtyřidsěti, čtyřidsěti sedm sedm a čtyřidsětiý, čtyřidsěti sedmý
48 osm a čtyřidsěti, čtyřidsěti osm osm a čtyřidsětiý, čtyřidsěti osmý
49 devět a čtyřidsěti, čtyřidsěti devět devět a čtyřidsětiý, čtyřidsěti devětý
50 patdesát patdesátý
51 jeden a patdesát, patdesát jeden jeden a patdesátý, patdesát jedený
52 dva a patdesát, patdesát dva dva a patdesátý, patdesát dvaý
53 tři a patdesát, patdesát tři tři a patdesátý, patdesát třiý
54 čtyři a patdesát, patdesát čtyři čtyři a patdesátý, patdesát čtyřiý
55 pět a patdesát, patdesát pět pět a patdesátý, patdesát pětý
56 šest a patdesát, patdesát šest šest a patdesátý, patdesát šestý
57 sedm a patdesát, patdesát sedm sedm a patdesátý, patdesát sedmý
58 osm a patdesát, patdesát osm osm a patdesátý, patdesát osmý
59 devět a patdesát, patdesát devět devět a patdesátý, patdesát devětý
60 šestdesát šestdesátý
61 jeden a šestdesát, šestdesát jeden jeden a šestdesátý, šestdesát jedený
62 dva a šestdesát, šestdesát dva dva a šestdesátý, šestdesát dvaý
63 tři a šestdesát, šestdesát tři tři a šestdesátý, šestdesát třiý
64 čtyři a šestdesát, šestdesát čtyři čtyři a šestdesátý, šestdesát čtyřiý
65 pět a šestdesát, šestdesát pět pět a šestdesátý, šestdesát pětý
66 šest a šestdesát, šestdesát šest šest a šestdesátý, šestdesát šestý
67 sedm a šestdesát, šestdesát sedm sedm a šestdesátý, šestdesát sedmý
68 osm a šestdesát, šestdesát osm osm a šestdesátý, šestdesát osmý
69 devět a šestdesát, šestdesát devět devět a šestdesátý, šestdesát devětý
70 sedmdesát sedmdesátý
71 jeden a sedmdesát, sedmdesát jeden jeden a sedmdesátý, sedmdesát jedený
72 dva a sedmdesát, sedmdesát dva dva a sedmdesátý, sedmdesát dvaý
73 tři a sedmdesát, sedmdesát tři tři a sedmdesátý, sedmdesát třiý
74 čtyři a sedmdesát, sedmdesát čtyři čtyři a sedmdesátý, sedmdesát čtyřiý
75 pět a sedmdesát, sedmdesát pět pět a sedmdesátý, sedmdesát pětý
76 šest a sedmdesát, sedmdesát šest šest a sedmdesátý, sedmdesát šestý
77 sedm a sedmdesát, sedmdesát sedm sedm a sedmdesátý, sedmdesát sedmý
78 osm a sedmdesát, sedmdesát osm osm a sedmdesátý, sedmdesát osmý
79 devět a sedmdesát, sedmdesát devět devět a sedmdesátý, sedmdesát devětý
80 osmdesát osmdesátý
81 jeden a osmdesát, osmdesát jeden jeden a osmdesátý, osmdesát jedený
82 dva a osmdesát, osmdesát dva dva a osmdesátý, osmdesát dvaý
83 tři a osmdesát, osmdesát tři tři a osmdesátý, osmdesát třiý
84 čtyři a osmdesát, osmdesát čtyři čtyři a osmdesátý, osmdesát čtyřiý
85 pět a osmdesát, osmdesát pět pět a osmdesátý, osmdesát pětý
86 šest a osmdesát, osmdesát šest šest a osmdesátý, osmdesát šestý
87 sedm a osmdesát, osmdesát sedm sedm a osmdesátý, osmdesát sedmý
88 osm a osmdesát, osmdesát osm osm a osmdesátý, osmdesát osmý
89 devět a osmdesát, osmdesát devět devět a osmdesátý, osmdesát devětý
90 devatdesát devatdesátý
91 jeden a devatdesát, devatdesát jeden jeden a devatdesátý, devatdesát jedený
92 dva a devatdesát, devatdesát dva dva a devatdesátý, devatdesát dvaý
93 tři a devatdesát, devatdesát tři tři a devatdesátý, devatdesát třiý
94 čtyři a devatdesát, devatdesát čtyři čtyři a devatdesátý, devatdesát čtyřiý
95 pět a devatdesát, devatdesát pět pět a devatdesátý, devatdesát pětý
96 šest a devatdesát, devatdesát šest šest a devatdesátý, devatdesát šestý
97 sedm a devatdesát, devatdesát sedm sedm a devatdesátý, devatdesát sedmý
98 osm a devatdesát, devatdesát osm osm a devatdesátý, devatdesát osmý
99 devět a devatdesát, devatdesát devět devět a devatdesátý, devatdesát devětý
100 sto stý
200 dvě stě dvústý
300 tři sta třístý
400 čtyři sta čtyřstý
500 pět set pětistý
600 šest set šestistý
700 sedm set sedmistý
800 osm set osmistý
900 devat set
1,000 tisúc tisúcí
2,000 dva tisúcě
5,000 pět tisúc
1,000,000 (106) milion

local export = {numbers = {}}
local n = export.numbers

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

local rmatch = mw.ustring.match
local usub = mw.ustring.sub

local numbers = export.numbers


export.additional_number_types = {
	{key = "neuter_collective", after = "collective"},
	{key = "repetition_adjective", after = "adverbial"},
}

local function add_ordinal_suffix(num, term)
		return term .. "ý"
end


local function make_number(num, props, card_base)
	local numstr = m_numutils.format_fixed(num)

	card_base = card_base or props.cardinal
	props.ordinal = props.ordinal or map(function(card) return add_ordinal_suffix(num, card) end, card_base)
	-- FIXME
	-- props.ordinal_abbr = map(function(ord) return numstr .. "-" .. usub(ord, #ord - 1) end, props.ordinal)
	if props.adverbial == true then
		props.adverbial = map(function(card) return card .. "krát" end, card_base)
	end
	if props.repetition_adjective == true then
		props.repetition_adjective = map(function(card) return card .. "inásobný" end, card_base)
	end
	if props.fractional == true then
		props.fractional = map(function(card) return card .. "ina" end, card_base)
	end

	numbers[num] = props
end

make_number(1, {
	cardinal = "jeden",
	ordinal = {"prvý", "první"},
	adverbial = "jednú",
})

make_number(2, {
	   cardinal	= "dva",
	    ordinal	= "druhý",
	  adverbial	= {"dvakrát", "dvénásob"},
	multiplier  = "dvojitý",
	 collective = "dvój",
	fractional  = {"pól", "polovicě"},
})

make_number(3, {
	 cardinal	= "tři",
	  ordinal	= "třetí",
	adverbial	= {"třikrát", "trénásob"},
	multiplier  = "trojitý",
	collective  = "trój",
	fractional  = "třetina",
})

make_number(4, {
	cardinal	= "čtyři",
	ordinal 	= "čtvrtý",
	adverbial   = {"čtyřkrát", "čtyřnásob"},
	collective  = "čtvеr",
	fractional  = {"čtvrt", "čtvrticě"},
})

make_number(5, {
	cardinal	= "pět",
	ordinal 	= "pátý",
	adverbial   = "pětkrát",
	collective  = "pater",
})

make_number(6, {
	cardinal	= "šest",
	ordinal     = "šestý",
	adverbial   = "šestkrát",
	collective  = "šester",
	fractional  = "šestina",
})

make_number(7, {
	cardinal	= "sedm",
	ordinal	    = "sedmý",
	adverbial   = "sedmkrát",
	collective  = "sedmer",
})

make_number(8, {
	 cardinal	= "osm",
	 ordinal	= "osmý",
	 adverbial  = "osmkrát",
	 collective = "osmer",
})

make_number(9, {
	cardinal	= "devět",
	ordinal 	= "devátý",
	adverbial   = "devětkrát",
	collective	= "devater",
})

make_number(10, {
	cardinal	= "desět",
	ordinal 	= "desátý",
	adverbial   = "desětkrát",
	collective	= "desater",
	fractional	= {"desětina", "desátek"},
})

export.numbers[11] = {
	cardinal = n[1].cardinal .. "nádste",
	ordinal = {"prvýnádste", "prvnínádste", n[1].cardinal .. "nádstý"}
}

export.numbers[12] = {
	cardinal = n[2].cardinal .. "nádste",	
	ordinal = {n[2].ordinal.. "nádste", n[2].cardinal .. "nádstý"}
}

export.numbers[13] = {
	cardinal = n[3].cardinal .. "nádste",
	ordinal = {n[3].ordinal .. "nádste", n[3].cardinal .. "nádstý"}

}

export.numbers[14] = {
	cardinal = "čtrnádste",
	ordinal = {n[4].ordinal .. "nádste", "čtrnádstý"}

}

export.numbers[15] = {
	cardinal = "patnádste",
	ordinal = {n[5].ordinal .. "nádste", "patnádstý"}

}

export.numbers[16] = {
	cardinal = n[6].cardinal .. "nádste",
	ordinal = {n[6].ordinal .. "nádste", n[6].cardinal .. "nádstý"}

}

export.numbers[17] = {
	cardinal = n[7].cardinal .. "nádste",
	ordinal = {n[7].ordinal.. "nádste", n[7].cardinal .. "nádstý"}
}

export.numbers[18] = {
	cardinal	= n[8].cardinal .. "nádste",
	ordinal = {n[8].ordinal .. "nádste", n[8].cardinal .. "nádstý"}
}

export.numbers[19] = {
	cardinal = "devatnádste",
	ordinal = {n[9].ordinal .. "nádste", "devatnádstý"}
}

export.numbers[20] = {
	cardinal = n[2].cardinal .. "dsěti",
	ordinal = n[2].cardinal .. "dsátý",
}

export.numbers[30] = {
	cardinal = "třidsěti",
	ordinal = "třidsátý",
}

export.numbers[40] = {
	cardinal = "čtyřidsěti",
	ordinal = "čtyďidsátý",
}

export.numbers[50] = {
	cardinal = "patdesát",
	ordinal = "patdesátý",
}

export.numbers[60] = {
	cardinal = "šestdesát",
	ordinal = "šestdesátý",
}

export.numbers[70] = {
	cardinal = "sedmdesát",
	ordinal = "sedmdesátý",
}

export.numbers[80] = {
	cardinal	= "osmdesát",
	ordinal = "osmdesátý",
}

export.numbers[90] = {
	cardinal = "devatdesát",
	ordinal = "devatdesátý",
}

-- Do numbers 21 through 29, 31 through 39, ..., 91 through 99.
for tens = 20, 20 do
	for ones = 1, 9 do
		local num = tens + ones
		local ones_prefix, ones_suffix
			ones_prefix = numbers[ones].cardinal .. " a "
			ones_suffix = " " .. numbers[ones].cardinal
		make_number(num, {
			cardinal = {ones_prefix .. numbers[tens].cardinal, numbers[tens].cardinal .. ones_suffix, numbers[ones].cardinal .. "mezidsietma"},
		})
	end
end

for tens = 30, 90, 10 do
	for ones = 1, 9 do
		local num = tens + ones
		local ones_prefix, ones_suffix
			ones_prefix = numbers[ones].cardinal .. " a "
			ones_suffix = " " .. numbers[ones].cardinal
		make_number(num, {
			cardinal = {ones_prefix .. numbers[tens].cardinal, numbers[tens].cardinal .. ones_suffix},
		})
	end
end

make_number(3, {
	 cardinal	= "třie",
	  ordinal	= "třetí",
	adverbial	= {"třikrát", "trénásob"},
	multiplier  = "trojitý",
	collective  = "trój",
	fractional  = "třetina",
})

make_number(4, {
	cardinal	= "čtyřie",
	ordinal 	= "čtvrtý",
	adverbial   = {"čtyřkrát", "čtyřnásob"},
	collective  = "čtvеr",
	fractional  = {"čtvrt", "čtvrticě"},
})

export.numbers[100] = {
	cardinal = "sto",
	ordinal = "stý",
}

export.numbers[200] = {
	cardinal = "dvě stě",
	ordinal = "dvústý",
}

export.numbers[300] = {
	cardinal = "tři sta",
	ordinal = "třístý",
}

export.numbers[400] = {
	cardinal = "čtyři sta",
	ordinal = "čtyřstý",
}

export.numbers[500] = {
	cardinal = n[5].cardinal .. " set",
	ordinal = "pětistý",
}

export.numbers[600] = {
	cardinal = n[6].cardinal .. " set",
	ordinal = "šestistý",
}

export.numbers[700] = {
	cardinal = n[7].cardinal .. " set",
	ordinal = "sedmistý",
}

export.numbers[800] = {
	cardinal	= n[8].cardinal .. " set",
	ordinal = "osmistý",
}

export.numbers[900] = {
	cardinal = "devat set",
}

--============// ... //============--

export.numbers[1000] = {
	cardinal = "tisúc",
	ordinal = "tisúcí",
}


export.numbers[2000] = {
	cardinal = "dva tisúcě",
}

export.numbers[5000] = {
	cardinal = "pět tisúc",
}

export.numbers[1000000] = {
	cardinal = "milion",
}

return export