local export = {numbers = {}}
local numbers = export.numbers
numbers[0] = {
cardinal = "cero",
}
-- Delete any number types that don't apply.
numbers[1] = {
cardinal = "un",
ordinal = "primeiro",
-- adverbial = "",
-- multiplier = "",
-- distributive = "",
-- collective = "",
-- fractional = "",
}
numbers[2] = {
cardinal = "dous",
ordinal = "segundo",
}
numbers[3] = {
cardinal = "tres",
ordinal = "terceiro",
}
numbers[4] = {
cardinal = "catro",
ordinal = "cuarto",
}
numbers[5] = {
cardinal = "cinco",
ordinal = "quinto",
}
numbers[6] = {
cardinal = "seis",
ordinal = "sexto",
}
numbers[7] = {
cardinal = "sete",
ordinal = "sétimo",
}
numbers[8] = {
cardinal = "oito",
ordinal = "oitavo",
}
numbers[9] = {
cardinal = "nove",
ordinal = "noveno",
}
numbers[10] = {
cardinal = "dez",
ordinal = "décimo",
}
numbers[11] = {
cardinal = "once",
ordinal = { "undécimo", "décimo primeiro" },
}
numbers[12] = {
cardinal = "doce",
ordinal = { "duodécimo", "décimo segundo" },
}
numbers[13] = {
cardinal = "trece",
}
numbers[14] = {
cardinal = "catorce",
}
numbers[15] = {
cardinal = "quince",
}
for ones = 6, 9 do
numbers[10 + ones] = {
cardinal = "deza" .. numbers[ones].cardinal,
}
end
for ones = 3, 9 do
numbers[10 + ones].ordinal = numbers[10].ordinal .. " " .. numbers[ones].ordinal
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 {
{ "vinte", "vixésimo" },
{ "trinta", "trixésimo" },
{ "corenta", "cuadraxésimo" },
{ "cincuenta", "quincuaxésimo" },
{ "sesenta", "sesaxésimo" },
{ "setenta", "septuaxésimo" },
{ "oitenta", "octoxésimo" },
{ "noventa", "nonaxésimo" },
} do
local tens = (i + 1) * 10
numbers[tens] = {
cardinal = tens_cardinal,
ordinal = tens_ordinal,
}
for ones = 1, 9 do
numbers[tens + ones] = {
cardinal = tens_cardinal .. " e " .. numbers[ones].cardinal,
ordinal = tens_ordinal .. " " .. numbers[ones].ordinal,
}
end
end
numbers[100] = {
cardinal = "cen",
ordinal = "centésimo",
}
return export