local export = {numbers = {}}
local numbers = export.numbers
numbers[0] = {
cardinal = "zero",
ordinal = "zeroth",
}
numbers[1] = {
cardinal = "one",
ordinal = "first",
adverbial = "once",
multiplier = "single",
distributive = "singly",
}
numbers[2] = {
cardinal = "two",
ordinal = "second",
adverbial = "twice",
multiplier = {"double", "twofold"},
distributive = "doubly",
collective = "both",
fractional = "half",
}
numbers[3] = {
cardinal = "three",
ordinal = "third",
adverbial = "thrice",
multiplier = {"triple", "threefold"},
distributive = "triply",
fractional = "third",
}
numbers[4] = {
cardinal = "four",
ordinal = "fourth",
multiplier = {"quadruple", "fourfold"},
distributive = "quadruply",
fractional = {"quarter", "fourth"},
}
numbers[5] = {
cardinal = "five",
ordinal = "fifth",
multiplier = {"quintuple", "fivefold"},
distributive = "quintuply",
fractional = "fifth",
}
numbers[6] = {
cardinal = "six",
ordinal = "sixth",
multiplier = {"sextuple", "sixfold"},
distributive = "sextuply",
fractional = "sixth"
}
numbers[7] = {
cardinal = "seven",
ordinal = "seventh",
multiplier = {"septuple", "sevenfold"},
distributive = "septuply",
fractional = "seventh",
}
numbers[8] = {
cardinal = "eight",
ordinal = "eighth",
multiplier = {"octuple", "eightfold"},
distributive = "octuply",
fractional = "eighth",
}
numbers[9] = {
cardinal = "nine",
ordinal = "ninth",
multiplier = {"ninefold", "nonuple"},
fractional = "ninth"
}
numbers[10] = {
cardinal = "ten",
ordinal = "tenth",
multiplier = "tenfold",
fractional = "tenth"
}
numbers[11] = {
cardinal = "eleven",
ordinal = "eleventh",
multiplier = "elevenfold",
fractional = "eleventh",
}
numbers[12] = {
cardinal = "twelve",
ordinal = "twelfth",
multiplier = "twelvefold",
fractional = {"twelfth", "dozenth"}
}
numbers[13] = {
cardinal = "thirteen",
ordinal = "thirteenth",
multiplier = "thirteenfold",
}
numbers[14] = {
cardinal = "fourteen",
ordinal = "fourteenth",
multiplier = "fourteenfold",
}
numbers[15] = {
cardinal = "fifteen",
ordinal = "fifteenth",
multiplier = "fifteenfold",
}
numbers[16] = {
cardinal = "sixteen",
ordinal = "sixteenth",
multiplier = "sixteenfold",
}
numbers[17] = {
cardinal = "seventeen",
ordinal = "seventeenth",
multiplier = "seventeenfold",
}
numbers[18] = {
cardinal = "eighteen",
ordinal = "eighteenth",
multiplier = "eighteenfold",
}
numbers[19] = {
cardinal = "nineteen",
ordinal = "nineteenth",
multiplier = "nineteenfold",
}
for i, tens_cardinal in ipairs {
"twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety",
} do
local tens = (i + 1) * 10
numbers[tens] = {
cardinal = tens_cardinal,
ordinal = tens_cardinal:gsub("y$", "ieth"),
multiplier = tens_cardinal .. "fold",
}
for ones = 1, 9 do
numbers[tens + ones] = {
cardinal = tens_cardinal .. "-" .. numbers[ones].cardinal,
ordinal = tens_cardinal .. "-" .. numbers[ones].ordinal,
}
end
end
numbers[100] = {
cardinal = "hundred",
ordinal = "hundredth",
multiplier = "hundredfold",
}
numbers[101] = {
cardinal = {"one hundred and one", "one hundred one"},
ordinal = {"one hundred and first", "one hundred first"},
}
numbers[200] = {
cardinal = "two hundred",
ordinal = "two-hundredth",
}
numbers[300] = {
cardinal = "three hundred",
ordinal = "three-hundredth",
}
numbers[400] = {
cardinal = "four hundred",
ordinal = "four-hundredth",
}
numbers[500] = {
cardinal = "five hundred",
ordinal = "five-hundredth",
}
numbers[600] = {
cardinal = "six hundred",
ordinal = "six-hundredth",
}
numbers[700] = {
cardinal = "seven hundred",
ordinal = "seven-hundredth",
}
numbers[800] = {
cardinal = "eight hundred",
ordinal = "eight-hundredth",
}
numbers[900] = {
cardinal = "nine hundred",
ordinal = "nine-hundredth",
}
numbers[1000] = {
cardinal = "thousand",
ordinal = "thousandth",
multiplier = "thousandfold",
}
numbers[1001] = {
cardinal = "one thousand and one",
ordinal = "one thousand and first",
}
numbers[2000] = {
cardinal = "two thousand",
ordinal = "two-thousandth",
}
numbers[3000] = {
cardinal = "three thousand",
ordinal = "three-thousandth",
}
numbers[4000] = {
cardinal = "four thousand",
ordinal = "four-thousandth",
}
numbers[5000] = {
cardinal = "five thousand",
ordinal = "five-thousandth",
}
numbers[6000] = {
cardinal = "six thousand",
ordinal = "six-thousandth",
}
numbers[7000] = {
cardinal = "seven thousand",
ordinal = "seven-thousandth",
}
numbers[8000] = {
cardinal = "eight thousand",
ordinal = "eight-thousandth",
}
numbers[9000] = {
cardinal = "nine thousand",
ordinal = "nine-thousandth",
}
numbers[10000] = {
cardinal = "ten thousand",
ordinal = "ten-thousandth",
}
numbers[100000] = {
cardinal = "hundred thousand",
ordinal = "hundred-thousandth",
}
numbers[1000000] = {
cardinal = "million",
ordinal = "millionth",
multiplier = "millionfold",
}
numbers[10000000] = {
cardinal = "ten million",
}
numbers[100000000] = {
cardinal = "one hundred million",
}
numbers[1000000000] = {
cardinal = {"billion", "milliard"},
ordinal = {"billionth", "milliardth"},
multiplier = "billionfold",
}
return export