Module:number list/data/rgn

Wiktionary වෙතින්

Lua දෝෂය in Module:table at line 557: attempt to call upvalue 'string_sort' (a nil value).

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
"https://si.wiktionary.org/w/index.php?title=Module:number_list/data/rgn&oldid=40511" වෙතින් සම්ප්‍රවේශනය කෙරිණි