Module:number list/data/rgn

local export = {numbers = {}}

local numbers = export.numbers

-- Delete any number types that don't apply. numbers[0] = { cardinal = "ẓéro", collective = {"intsôn", "insôn", "inciôn"}, }

numbers[1] = { cardinal = {"un", "ũ"}, ordinal = "prèm", fractional = ordinal, }

numbers[2] = { cardinal = "du", ordinal = "șgónd", multiplier = "dópi", fractional = "mëẓ", }

numbers[3] = { cardinal = {"tri", "trẹ"}, ordinal = "térz", fractional = ordinal, }

numbers[4] = { cardinal = {"quàtar", "cvàtar"} }

numbers[5] = { cardinal = {"zénc", "zéncv"}, }

numbers[6] = { cardinal = "si", ordinal = "sëst", fractional = ordinal, }

numbers[7] = { cardinal = "sët", ordinal = {"sëtim", "sëtom", "sëtum"}, fractional = ordinal, }

numbers[8] = { cardinal = "òt", ordinal = "utêv", fractional = ordinal, }

numbers[9] = { cardinal = "növ", ordinal = "nòn", fractional = ordinal, }

numbers[10] = { cardinal = "dìș", ordinal = "decimo", multiplier = "decuplo", fractional = ordinal, }

numbers[11] = { cardinal = "undici", ordinal = {"undézom", "undézum", "undșéșum", "undșézom"}, fractional = ordinal, }

numbers[12] = { cardinal = "dodici", ordinal = "dodicesimo", }

numbers[13] = { cardinal = "tredici", ordinal = "tredicesimo", }

numbers[14] = { cardinal = "quattordici", ordinal = "quattordicesimo", }

numbers[15] = { cardinal = "quindici", ordinal = "quindicesimo", }

numbers[16] = { cardinal = "sedici", ordinal = "sedicesimo", }

numbers[17] = { cardinal = "diciassette", ordinal = "diciassettesimo", }

numbers[18] = { cardinal = "diciotto", ordinal = "diciottesimo", }

numbers[19] = { cardinal = "diciannove", ordinal = "diciannovesimo", }

local function first_element_if_table(t) if type(t) == "table" then return t[1] else return t	end end

local function add_ordinal_suffix(word) return mw.ustring.gsub(word, "(.)$", function(pos, vowel)		if vowel == "é" then			return "e"		elseif ("aeiou"):find(vowel)		and not ("aeio"):find(mw.ustring.sub(word, pos - 1, pos - 1)) then			return ""		end	end) .. "éșom" end

for i, tens_cardinal in ipairs { "venti", "trenta", "quarânta", "zinquânta", "sessanta", "settanta", "ottanta", "nuvânta", } do	local tens = (i + 1) * 10 local tens_ordinal = add_ordinal_suffix(tens_cardinal) local tens_number = numbers[tens] numbers[tens] = { cardinal = tens_cardinal, ordinal = tens_ordinal, }	for ones = 1, 9 do		local suffix = ones == 3 and "tré" or first_element_if_table(numbers[ones].cardinal) local cardinal = (suffix:find "^[aeiou]" and tens_cardinal:gsub("%f[aeiou][aeiou]$", "")				or tens_cardinal) .. suffix numbers[tens + ones] = { cardinal = cardinal, ordinal = add_ordinal_suffix(cardinal), }	end end

numbers[100] = { cardinal = "zènt", ordinal = {"zantéșom", "zantéșum", "zentéșom"}, }

numbers[101] = { cardinal = "zénteôn", }

numbers[110] = { cardinal = "zèntedìș", }

numbers[111] = { cardinal = "centoundici", ordinal = "centoundicesimo", }

numbers[200] = { cardinal = "duecento", ordinal = "duecentesimo", }

numbers[1000] = { cardinal = {"mèl", "mẹll", "mèll"}, ordinal = {"miléșom", "miléșum"}, }

return export