Module:number list/data/av

From Linguifex
Revision as of 17:54, 7 August 2020 by Sware (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This module contains data on various types of numbers in Avar.

Number Cardinal Ordinal Fractional
0
1 uno primo
2 do secondo
3 tre tertio
4 cator carto
5 cince cinto
6 ses sesto
7 sete setemo
8 oto otavo
9 nove nono
10 dece decemo
11 undece decemomo
12 dodece decemomo
13 tredece decemomo
14 catordece decemomo
15 cindece decemomo
16 sedece decemomo
17 setdece decemomo
18 dece e oto decemomo
19 dece e nove decemomo
20 vigenti vigesmo vigentiavo
21 vigenti y uno vigesmo primo vigenti y unavo
22 vigenti y do vigesmo secondo vigenti y doavo
23 vigenti y tre vigesmo tertio vigenti y treavo
24 vigenti y cator vigesmo carto vigenti y catoravo
25 vigenti y cince vigesmo cinto vigenti y cinceavo
26 vigenti y ses vigesmo sesto vigenti y sesavo
27 vigenti y sete vigesmo setemo vigenti y seteavo
28 vigenti y oto vigesmo otavo vigenti y otoavo
29 vigenti y nove vigesmo nono vigenti y noveavo
30 trigenta trigesmo trigentavo
31 trigenta y uno trigesmo primo trigentaiunavo
32 trigenta y do trigesmo secondo trigentaidoavo
33 trigenta y tre trigesmo tertio trigentaitreavo
34 trigenta y cator trigesmo carto trigentaicatoravo
35 trigenta y cince trigesmo cinto trigentaicinceavo
36 trigenta y ses trigesmo sesto trigentaisesavo
37 trigenta y sete trigesmo setemo trigentaiseteavo
38 trigenta y oto trigesmo otavo trigentaiotoavo
39 trigenta y nove trigesmo nono trigentainoveavo
40 cadragenta cadragesmo cadragentavo
41 cadragenta y uno cadragesmo primo cadragentaiunavo
42 cadragenta y do cadragesmo secondo cadragentaidoavo
43 cadragenta y tre cadragesmo tertio cadragentaitreavo
44 cadragenta y cator cadragesmo carto cadragentaicatoravo
45 cadragenta y cince cadragesmo cinto cadragentaicinceavo
46 cadragenta y ses cadragesmo sesto cadragentaisesavo
47 cadragenta y sete cadragesmo setemo cadragentaiseteavo
48 cadragenta y oto cadragesmo otavo cadragentaiotoavo
49 cadragenta y nove cadragesmo nono cadragentainoveavo
50 cincagenta cincagesmo cincagentavo
51 cincagenta y uno cincagesmo primo cincagentaiunavo
52 cincagenta y do cincagesmo secondo cincagentaidoavo
53 cincagenta y tre cincagesmo tertio cincagentaitreavo
54 cincagenta y cator cincagesmo carto cincagentaicatoravo
55 cincagenta y cince cincagesmo cinto cincagentaicinceavo
56 cincagenta y ses cincagesmo sesto cincagentaisesavo
57 cincagenta y sete cincagesmo setemo cincagentaiseteavo
58 cincagenta y oto cincagesmo otavo cincagentaiotoavo
59 cincagenta y nove cincagesmo nono cincagentainoveavo
60 sesagenta sesagesmo sesagentavo
61 sesagenta y uno sesagesmo primo sesagentaiunavo
62 sesagenta y do sesagesmo secondo sesagentaidoavo
63 sesagenta y tre sesagesmo tertio sesagentaitreavo
64 sesagenta y cator sesagesmo carto sesagentaicatoravo
65 sesagenta y cince sesagesmo cinto sesagentaicinceavo
66 sesagenta y ses sesagesmo sesto sesagentaisesavo
67 sesagenta y sete sesagesmo setemo sesagentaiseteavo
68 sesagenta y oto sesagesmo otavo sesagentaiotoavo
69 sesagenta y nove sesagesmo nono sesagentainoveavo
70 setagenta setagesmo setagentavo
71 setagenta y uno setagesmo primo setagentaiunavo
72 setagenta y do setagesmo secondo setagentaidoavo
73 setagenta y tre setagesmo tertio setagentaitreavo
74 setagenta y cator setagesmo carto setagentaicatoravo
75 setagenta y cince setagesmo cinto setagentaicinceavo
76 setagenta y ses setagesmo sesto setagentaisesavo
77 setagenta y sete setagesmo setemo setagentaiseteavo
78 setagenta y oto setagesmo otavo setagentaiotoavo
79 setagenta y nove setagesmo nono setagentainoveavo
80 otagenta otogesmo otagentavo
81 otagenta y uno otogesmo primo otagentaiunavo
82 otagenta y do otogesmo secondo otagentaidoavo
83 otagenta y tre otogesmo tertio otagentaitreavo
84 otagenta y cator otogesmo carto otagentaicatoravo
85 otagenta y cince otogesmo cinto otagentaicinceavo
86 otagenta y ses otogesmo sesto otagentaisesavo
87 otagenta y sete otogesmo setemo otagentaiseteavo
88 otagenta y oto otogesmo otavo otagentaiotoavo
89 otagenta y nove otogesmo nono otagentainoveavo
90 nonagenta nonagesmo nonagentavo
91 nonagenta y uno nonagesmo primo nonagentaiunavo
92 nonagenta y do nonagesmo secondo nonagentaidoavo
93 nonagenta y tre nonagesmo tertio nonagentaitreavo
94 nonagenta y cator nonagesmo carto nonagentaicatoravo
95 nonagenta y cince nonagesmo cinto nonagentaicinceavo
96 nonagenta y ses nonagesmo sesto nonagentaisesavo
97 nonagenta y sete nonagesmo setemo nonagentaiseteavo
98 nonagenta y oto nonagesmo otavo nonagentaiotoavo
99 nonagenta y nove nonagesmo nono nonagentainoveavo
100 ciento centésimo centavo, céntimo
200 doscientos ducentésimo doscientosavo
300 trescientos tricentésimo trescientosavo
400 cuatrocientos cuadringentésimo cuatrocientosavo
500 quinientos quingentésimo quinientosavo
600 seiscientos sexcentésimo seiscientosavo
700 setecientos septingentésimo setecientosavo
800 ochocientos octingentésimo ochocientosavo
900 novecientos noningentésimo novecientosavo
1,000 mil milésimo milavo

local export = {numbers = {}}

local numbers = export.numbers

-- Delete any number types that don't apply.
numbers[0] = {
	--cardinal = "cero",
	--ordinal = { "cero", "ceroésimo" },
}

numbers[1] = {
	cardinal = "uno",
	ordinal = "primo",
}

numbers[2] = {
	cardinal = "do",
	ordinal = "secondo",
	--multiplier = "doble",
	--fractional = "mitad",
}

numbers[3] = {
	cardinal = "tre",
	ordinal = "tertio",
	--multiplier = "triple",
	--fractional = "tercio",
}

numbers[4] = {
	cardinal = "cator",
	ordinal = "carto",
	---multiplier = "cuádruple",
	---fractional = "cuarto",
}

numbers[5] = {
	cardinal = "cince",
	ordinal = "cinto",
	--multiplier = "quíntuplo",
	--fractional = "quinto",
}

numbers[6] = {
	cardinal = "ses",
	ordinal = "sesto",
	--multiplier = "séxtuplo",
	--fractional = { "sexto", "seisavo" },
}

numbers[7] = {
	cardinal = "sete",
	ordinal = "setemo",
	--multiplier = "séptuplo",
	--fractional = "séptimo",
}

numbers[8] = {
	cardinal = "oto",
	ordinal = "otavo",
	--multiplier = "óctuple",
	--fractional = "octavo",
}

numbers[9] = {
	cardinal = "nove",
	ordinal = "nono",
	--fractional = "noveno",
}

numbers[10] = {
	cardinal = "dece",
	ordinal = "decemo",
	--multiplier = "décuplo",
	--fractional = "décimo",
}

local compose, decompose = mw.ustring.toNFC, mw.ustring.toNFD

local ten_ordinal = numbers[10].ordinal
for i, cardinal in ipairs {
	"undece", "dodece", "tredece", "catordece", "cindece", "sedece", "setdece", "dece e oto", "dece e nove"
} do
	local num = i + 11 - 1
	local ones = num - 10
	numbers[num] = {
		cardinal = cardinal,
		ordinal = ten_ordinal .. "mo"
		--fractional = remove_accent(cardinal) .. "avo",
	}
end

local function unpack_ipairs(t)
	local i = 0
	return function()
		i = i + 1
		if t[i] then
			return i, unpack(t[i])
		end
	end
end

for i, tens_cardinal, tens_ordinal in unpack_ipairs {
	{ "vigenti", "vigesmo" },
	{ "trigenta", "trigesmo" },
	{ "cadragenta", "cadragesmo" },
	{ "cincagenta", "cincagesmo" },
	{ "sesagenta", "sesagesmo" },
	{ "setagenta", "setagesmo" },
	{ "otagenta", "otogesmo" },
	{ "nonagenta", "nonagesmo" },
} do
	local tens = (i + 1) * 10
	numbers[tens] = {
		cardinal = tens_cardinal,
		ordinal = tens_ordinal,
		fractional = (tens_cardinal .. "avo"):gsub("aa", "a"),
	}
	local prefix = (tens_cardinal .. " y "):gsub("e y $", "i")
	local one_word_cardinal = prefix:sub(-1) ~= " "
	for ones = 1, 9 do
		local ones_cardinal = numbers[ones].cardinal
		local ones_ordinal = numbers[ones].ordinal
		local cardinal = prefix .. ones_cardinal
		local number = {}
		numbers[tens + ones] = number
		number.cardinal = cardinal
		if one_word_cardinal and number.cardinal:sub(-1) == "s" then
			number.cardinal = accent_finally(cardinal)
		end
		number.ordinal = tens_ordinal .. " " .. ones_ordinal
		number.fractional = cardinal:gsub("uno$", "un"):gsub("a y ", "ai") .. "avo"
	end
end

numbers[100] = {
	cardinal = "ciento",
	ordinal = "centésimo",
	fractional = {"centavo", "céntimo"},
}

numbers[200] = {
	cardinal = "doscientos",
	ordinal = "ducentésimo",
	fractional = "doscientosavo",
}

numbers[300] = {
	cardinal = "trescientos",
	ordinal = "tricentésimo",
	fractional = "trescientosavo",
}

numbers[400] = {
	cardinal = "cuatrocientos",
	ordinal = "cuadringentésimo",
	fractional = "cuatrocientosavo",
}

numbers[500] = {
	cardinal = "quinientos",
	ordinal = "quingentésimo",
	fractional = "quinientosavo",
}

numbers[600] = {
	cardinal = "seiscientos",
	ordinal = "sexcentésimo",
	fractional = "seiscientosavo",
}

numbers[700] = {
	cardinal = "setecientos",
	ordinal = "septingentésimo",
	fractional = "setecientosavo",
}

numbers[800] = {
	cardinal = "ochocientos",
	ordinal = "octingentésimo",
	fractional = "ochocientosavo",
}

numbers[900] = {
	cardinal = "novecientos",
	ordinal = "noningentésimo",
	fractional = "novecientosavo",
}

numbers[1000] = {
	cardinal = "mil",
	ordinal = "milésimo",
	fractional = "milavo",
}

--[[
numbers[] = {
	cardinal = "",
	ordinal = "",
	fractional = "",
}

numbers[] = {
	cardinal = "",
	ordinal = "",
	fractional = "",
}
--]]

return export