Module:number list/data/rgn
- පහත දැක්වෙන උපදෙස්, Module:documentation මගින් ජනනය කොට ඇත. [සංස්කරණය කරන්න]
- ප්රයෝජනවත් සබැඳි: root page • root page’s subpages • සබැඳි • transclusions • testcases • sandbox
This module contains data on various types of numbers in Romagnol.
(edit)
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