Module:number list/data/ca

This module contains data on various types of numbers in Catalan.

Number Cardinal Ordinal Ordinal abbreviation Multiplier Fractional Wikipedia link
0 zero zero
1 u, un primer 1r u (nombre)
2 dos segon 2n doble mig dos
3 tres tercer 3r triple terç tres
4 quatre quart 4t quàdruple quatre
5 cinc Central: cinquè
Valencian: cinqué
Latinate: quint
Central:
Valencian:
Latinate: 5t
quíntuple cinc
6 sis Central: sisè
Valencian: sisé
Latinate: sext
Central:
Valencian:
Latinate: 6t
sèxtuple sis
7 set Central: setè
Valencian: seté
Latinate: sèptim
Central:
Valencian:
Latinate: 7m
sèptuple nombre set
8 Central: vuit
Valencian: huit
Central: vuitè
Valencian: huité
Latinate: octau
Central:
Valencian:
Latinate: 8u
òctuple vuit
9 nou Central: novè
Valencian: nové
Central:
Valencian:
nònuple nombre nou
10 deu Central: desè
Valencian: desé
Latinate: dècim
Central: 10è
Valencian: 10é
Latinate: 10m
dècuple deu
11 onze Central: onzè
Valencian: onzé
onze
12 dotze Central: dotzè
Valencian: dotzé
dotze
13 tretze Central: tretzè
Valencian: tretzé
tretze
14 catorze Central: catorzè
Valencian: catorzé
catorze
15 quinze Central: quinzè
Valencian: quinzé
quinze
16 setze Central: setzè
Valencian: setzé
setze
17 Central: disset
Valencian: dèsset, desset
Central: dissetè
Valencian: desseté
disset
18 Central: divuit
Valencian: díhuit
Central: divuitè
Valencian: dihuité
divuit
19 Central: dinou
Valencian: dènou, dèneu
Central: dinovè
Valencian: denové
dinou
20 vint Central: vintè
Valencian: vinté
vint
21 vint-i-un Central: vint-i-unè
Valencian: vint-i-uné
vint-i-un
22 vint-i-dos Central: vint-i-dosè
Valencian: vint-i-dosé
vint-i-dos
23 vint-i-tres Central: vint-i-tresè
Valencian: vint-i-tresé
vint-i-tres
24 vint-i-quatre Central: vint-i-quatrè
Valencian: vint-i-quatré
vint-i-quatre
25 vint-i-cinc Central: vint-i-cinquè
Valencian: vint-i-cinqué
vint-i-cinc
26 vint-i-sis Central: vint-i-sisè
Valencian: vint-i-sisé
vint-i-sis
27 vint-i-set Central: vint-i-setè
Valencian: vint-i-seté
vint-i-set
28 Central: vint-i-vuit
Valencian: vint-i-huit
Central: vint-i-vuitè
Valencian: vint-i-huité
vint-i-vuit
29 vint-i-nou Central: vint-i-novè
Valencian: vint-i-nové
vint-i-nou
30 trenta Central: trentè
Valencian: trenté
trenta
31 trenta-un Central: trenta-unè
Valencian: trenta-uné
trenta-un
32 trenta-dos Central: trenta-dosè
Valencian: trenta-dosé
trenta-dos
33 trenta-tres Central: trenta-tresè
Valencian: trenta-tresé
trenta-tres
34 trenta-quatre Central: trenta-quatrè
Valencian: trenta-quatré
trenta-quatre
35 trenta-cinc Central: trenta-cinquè
Valencian: trenta-cinqué
trenta-cinc
36 trenta-sis Central: trenta-sisè
Valencian: trenta-sisé
trenta-sis
37 trenta-set Central: trenta-setè
Valencian: trenta-seté
trenta-set
38 Central: trenta-vuit
Valencian: trenta-huit
Central: trenta-vuitè
Valencian: trenta-huité
trenta-vuit
39 trenta-nou Central: trenta-novè
Valencian: trenta-nové
trenta-nou
40 quaranta Central: quarantè
Valencian: quaranté
quaranta
41 quaranta-un Central: quaranta-unè
Valencian: quaranta-uné
quaranta-un
42 quaranta-dos Central: quaranta-dosè
Valencian: quaranta-dosé
quaranta-dos
43 quaranta-tres Central: quaranta-tresè
Valencian: quaranta-tresé
quaranta-tres
44 quaranta-quatre Central: quaranta-quatrè
Valencian: quaranta-quatré
quaranta-quatre
45 quaranta-cinc Central: quaranta-cinquè
Valencian: quaranta-cinqué
quaranta-cinc
46 quaranta-sis Central: quaranta-sisè
Valencian: quaranta-sisé
quaranta-sis
47 quaranta-set Central: quaranta-setè
Valencian: quaranta-seté
quaranta-set
48 Central: quaranta-vuit
Valencian: quaranta-huit
Central: quaranta-vuitè
Valencian: quaranta-huité
quaranta-vuit
49 quaranta-nou Central: quaranta-novè
Valencian: quaranta-nové
quaranta-nou
50 cinquanta Central: cinquantè
Valencian: cinquanté
cinquanta
51 cinquanta-un Central: cinquanta-unè
Valencian: cinquanta-uné
cinquanta-un
52 cinquanta-dos Central: cinquanta-dosè
Valencian: cinquanta-dosé
cinquanta-dos
53 cinquanta-tres Central: cinquanta-tresè
Valencian: cinquanta-tresé
cinquanta-tres
54 cinquanta-quatre Central: cinquanta-quatrè
Valencian: cinquanta-quatré
cinquanta-quatre
55 cinquanta-cinc Central: cinquanta-cinquè
Valencian: cinquanta-cinqué
cinquanta-cinc
56 cinquanta-sis Central: cinquanta-sisè
Valencian: cinquanta-sisé
cinquanta-sis
57 cinquanta-set Central: cinquanta-setè
Valencian: cinquanta-seté
cinquanta-set
58 Central: cinquanta-vuit
Valencian: cinquanta-huit
Central: cinquanta-vuitè
Valencian: cinquanta-huité
cinquanta-vuit
59 cinquanta-nou Central: cinquanta-novè
Valencian: cinquanta-nové
cinquanta-nou
60 seixanta Central: seixantè
Valencian: seixanté
seixanta
61 seixanta-un Central: seixanta-unè
Valencian: seixanta-uné
seixanta-un
62 seixanta-dos Central: seixanta-dosè
Valencian: seixanta-dosé
seixanta-dos
63 seixanta-tres Central: seixanta-tresè
Valencian: seixanta-tresé
seixanta-tres
64 seixanta-quatre Central: seixanta-quatrè
Valencian: seixanta-quatré
seixanta-quatre
65 seixanta-cinc Central: seixanta-cinquè
Valencian: seixanta-cinqué
seixanta-cinc
66 seixanta-sis Central: seixanta-sisè
Valencian: seixanta-sisé
seixanta-sis
67 seixanta-set Central: seixanta-setè
Valencian: seixanta-seté
seixanta-set
68 Central: seixanta-vuit
Valencian: seixanta-huit
Central: seixanta-vuitè
Valencian: seixanta-huité
seixanta-vuit
69 seixanta-nou Central: seixanta-novè
Valencian: seixanta-nové
seixanta-nou
70 setanta Central: setantè
Valencian: setanté
setanta
71 setanta-un Central: setanta-unè
Valencian: setanta-uné
setanta-un
72 setanta-dos Central: setanta-dosè
Valencian: setanta-dosé
setanta-dos
73 setanta-tres Central: setanta-tresè
Valencian: setanta-tresé
setanta-tres
74 setanta-quatre Central: setanta-quatrè
Valencian: setanta-quatré
setanta-quatre
75 setanta-cinc Central: setanta-cinquè
Valencian: setanta-cinqué
setanta-cinc
76 setanta-sis Central: setanta-sisè
Valencian: setanta-sisé
setanta-sis
77 setanta-set Central: setanta-setè
Valencian: setanta-seté
setanta-set
78 Central: setanta-vuit
Valencian: setanta-huit
Central: setanta-vuitè
Valencian: setanta-huité
setanta-vuit
79 setanta-nou Central: setanta-novè
Valencian: setanta-nové
setanta-nou
80 Central: vuitanta
Valencian: huitanta
Central: vuitantè
Valencian: huitanté
vuitanta
81 Central: vuitanta-un
Valencian: huitanta-un
Central: vuitanta-unè
Valencian: huitanta-uné
vuitanta-un
82 Central: vuitanta-dos
Valencian: huitanta-dos
Central: vuitanta-dosè
Valencian: huitanta-dosé
vuitanta-dos
83 Central: vuitanta-tres
Valencian: huitanta-tres
Central: vuitanta-tresè
Valencian: huitanta-tresé
vuitanta-tres
84 Central: vuitanta-quatre
Valencian: huitanta-quatre
Central: vuitanta-quatrè
Valencian: huitanta-quatré
vuitanta-quatre
85 Central: vuitanta-cinc
Valencian: huitanta-cinc
Central: vuitanta-cinquè
Valencian: huitanta-cinqué
vuitanta-cinc
86 Central: vuitanta-sis
Valencian: huitanta-sis
Central: vuitanta-sisè
Valencian: huitanta-sisé
vuitanta-sis
87 Central: vuitanta-set
Valencian: huitanta-set
Central: vuitanta-setè
Valencian: huitanta-seté
vuitanta-set
88 Central: vuitanta-vuit
Valencian: huitanta-huit
Central: vuitanta-vuitè
Valencian: huitanta-huité
vuitanta-vuit
89 Central: vuitanta-nou
Valencian: huitanta-nou
Central: vuitanta-novè
Valencian: huitanta-nové
vuitanta-nou
90 noranta Central: norantè
Valencian: noranté
noranta
91 noranta-un Central: noranta-unè
Valencian: noranta-uné
noranta-un
92 noranta-dos Central: noranta-dosè
Valencian: noranta-dosé
noranta-dos
93 noranta-tres Central: noranta-tresè
Valencian: noranta-tresé
noranta-tres
94 noranta-quatre Central: noranta-quatrè
Valencian: noranta-quatré
noranta-quatre
95 noranta-cinc Central: noranta-cinquè
Valencian: noranta-cinqué
noranta-cinc
96 noranta-sis Central: noranta-sisè
Valencian: noranta-sisé
noranta-sis
97 noranta-set Central: noranta-setè
Valencian: noranta-seté
noranta-set
98 Central: noranta-vuit
Valencian: noranta-huit
Central: noranta-vuitè
Valencian: noranta-huité
noranta-vuit
99 noranta-nou Central: noranta-novè
Valencian: noranta-nové
noranta-nou
100 cent Central: centè
(default): centèsim
Valencian: centé
cèntuple cent
144 cent quaranta-quatre Central: cent quaranta-quatrè
Valencian: cent quaranta-quatré
200 dos-cents Central: dos-centè
Valencian: dos-centé
dos-cents
300 tres-cents Central: tres-centè
Valencian: tres-centé
tres-cents
400 quatre-cents Central: quatre-centè
Valencian: quatre-centé
quatre-cents
500 cinc-cents Central: cinc-centè
Valencian: cinc-centé
cinc-cents
600 sis-cents Central: sis-centè
Valencian: sis-centé
sis-cents
700 set-cents Central: set-centè
Valencian: set-centé
set-cents
800 Central: vuit-cents
Valencian: huit-cents
Central: vuit-centè
Valencian: huit-centé
vuit-cents
900 nou-cents Central: nou-centè
Valencian: nou-centé
nou-cents
1,000 mil Central: milè
(default): mil·lèsim
Valencian: milé
mil
1,000,000 (106) un milió milionèsim milió
1012 un bilió bilionèsim bilió
1018 un trilió trilionèsim trilió
1024 un quadrilió quadrilionèsim quadrilió
1030 un quintilió quintilionèsim quintilió

local export = {numbers = {}}

local numbers = export.numbers

numbers[0] = {
	cardinal = "zero",
	wplink = "zero",
}

numbers[1] = {
	cardinal = "un",
	ordinal = "primer",
	ordinal_abbr = "1r",
	wplink = "u (nombre)",
}

numbers[2] = {
	cardinal = "dos",
	ordinal = "segon",
	ordinal_abbr = "2n",
	multiplier = "doble",
	fractional = "mig",
	wplink = "dos",
}

numbers[3] = {
	cardinal = "tres",
	ordinal = "tercer",
	ordinal_abbr = "3r",
	multiplier = "triple",
	fractional = "terç",
	wplink = "tres",
}

numbers[4] = {
	cardinal = "quatre",
	ordinal = "quart",
	ordinal_abbr = "4t",
	multiplier = "quàdruple",
	wplink = "quatre",
}

numbers[5] = {
	cardinal = "cinc",
	ordinal = {"cinquè<tag:Central>", "cinqué<tag:Valencian>", "quint<tag:Latinate>"},
	ordinal_abbr = {"5è<tag:Central>", "5é<tag:Valencian>", "5t<tag:Latinate>"},
	multiplier = "quíntuple",
	wplink = "cinc",
}

numbers[6] = {
	cardinal = "sis",
	ordinal = {"sisè<tag:Central>", "sisé<tag:Valencian>", "sext<tag:Latinate>"},
	ordinal_abbr = {"6è<tag:Central>", "6é<tag:Valencian>", "6t<tag:Latinate>"},
	multiplier = "sèxtuple",
	wplink = "sis",
}

numbers[7] = {
	cardinal = "set",
	ordinal = {"setè<tag:Central>", "seté<tag:Valencian>", "sèptim<tag:Latinate>"},
	ordinal_abbr = {"7è<tag:Central>", "7é<tag:Valencian>", "7m<tag:Latinate>"},
	multiplier = "sèptuple",
	wplink = "nombre set",
}

numbers[8] = {
	cardinal = {"vuit<tag:Central>", "huit<tag:Valencian>"},
	ordinal = {"vuitè<tag:Central>", "huité<tag:Valencian>", "octau<tag:Latinate>"},
	ordinal_abbr = {"8è<tag:Central>", "8é<tag:Valencian>", "8u<tag:Latinate>"},
	multiplier = "òctuple",
	wplink = "vuit",
}

numbers[9] = {
	cardinal = "nou",
	ordinal = {"novè<tag:Central>", "nové<tag:Valencian>"},
	ordinal_abbr = {"9è<tag:Central>", "9é<tag:Valencian>"},
	multiplier = "nònuple",
	wplink = "nombre nou",
}

numbers[10] = {
	cardinal = "deu",
	ordinal = {"desè<tag:Central>", "desé<tag:Valencian>", "dècim<tag:Latinate>"},
	ordinal_abbr = {"10è<tag:Central>", "10é<tag:Valencian>", "10m<tag:Latinate>"},
	multiplier = "dècuple",
	wplink = "deu",
}

local function split_and_localize_num(num)
	local valnum = num:gsub("vuit", "huit"):gsub("è$", "é")
	if valnum == num then
		return num
	else
		return {num .. "<tag:Central>", valnum .. "<tag:Valencian>"}
	end
end

local function add_ordinal_suffix(cardinal)
		local num = cardinal:gsub(".$", { a = "", e = "", c = "qu", u = "v" }) .. "è"
		return split_and_localize_num(num)
end

for i, cardinal in ipairs {
	"onze", "dotze", "tretze", "catorze", "quinze", "setze",
} do
	local number = 10 + i
	numbers[number] = {
		cardinal = cardinal,
		ordinal = add_ordinal_suffix(cardinal),
		wplink = cardinal,
	}
end

numbers[17] = {
	cardinal = {"disset<tag:Central>", "dèsset<tag:Valencian>", "desset<tag:Valencian>"},
	ordinal = {"dissetè<tag:Central>", "desseté<tag:Valencian>"},
	wplink = "disset",
}

numbers[18] = {
	cardinal = {"divuit<tag:Central>", "díhuit<tag:Valencian>"},
	ordinal = {"divuitè<tag:Central>", "dihuité<tag:Valencian>"},
	wplink = "divuit",
}

numbers[19] = {
	cardinal = {"dinou<tag:Central>", "dènou<tag:Valencian>", "dèneu<tag:Valencian>"},
	ordinal = {"dinovè<tag:Central>", "denové<tag:Valencian>"},
	wplink = "dinou",
}

local function make_number_entry(cardinal)
	return {
		cardinal = split_and_localize_num(cardinal),
		ordinal = add_ordinal_suffix(cardinal),
		wplink = cardinal,
	}
end

for i, tens_cardinal in ipairs {
	"vint", "trenta", "quaranta", "cinquanta", "seixanta", "setanta", "vuitanta", "noranta",
} do
	local tens = (i + 1) * 10
	numbers[tens] = make_number_entry(tens_cardinal)
	for ones = 1, 9 do
		local ones_numeral = numbers[ones]
		-- 8 is already split into [[vuit]] (Central) and [[huit]] (Valencian).
		local ones_cardinal = ones == 8 and "vuit" or ones_numeral.cardinal
		local intervening
		if tens == 20 then
			intervening = "-i-"
		else
			intervening = "-"
		end
		numbers[tens + ones] = make_number_entry(tens_cardinal .. intervening .. ones_cardinal)
	end
end

numbers[100] = {
	cardinal = "cent",
	ordinal = {"centè<tag:Central>", "centèsim", "centé<tag:Valencian>"},
	multiplier = "cèntuple",
	wplink = "cent",
}

numbers[144] = {
	cardinal = "cent quaranta-quatre",
	ordinal = add_ordinal_suffix("cent quaranta-quatre"),
}

for hundreds = 2, 9 do
	local number = hundreds * 100
	-- 8 is already split into [[vuit]] (Central) and [[huit]] (Valencian).
	local hundreds_cardinal = hundreds == 8 and "vuit" or numbers[hundreds].cardinal
	local base_cardinal = hundreds_cardinal .. "-cent"
	local cardinal = base_cardinal .. "s"
	numbers[number] = {
		cardinal = split_and_localize_num(cardinal),
		ordinal = add_ordinal_suffix(base_cardinal),
		wplink = cardinal,
	}
end

numbers[1000] = {
	cardinal = "mil",
	ordinal = {"milè<tag:Central>", "mil·lèsim", "milé<tag:Valencian>"},
	wplink = "mil",
}

numbers[1000000] = {
	cardinal = "[[un]] [[milió]]<link:milió>",
	ordinal = "milionèsim",
	wplink = "milió",
}

local function power_of(n)
	return "1" .. string.rep("0", n)
end

numbers[power_of(12)] = {
	cardinal = "[[un]] [[bilió]]<link:bilió>",
	ordinal = "bilionèsim",
	wplink = "bilió",
}

numbers[power_of(18)] = {
	cardinal = "[[un]] [[trilió]]<link:trilió>",
	ordinal = "trilionèsim",
	wplink = "trilió",
}

numbers[power_of(24)] = {
	cardinal = "[[un]] [[quadrilió]]<link:quadrilió>",
	ordinal = "quadrilionèsim",
	wplink = "quadrilió",
}

numbers[power_of(30)] = {
	cardinal = "[[un]] [[quintilió]]<link:quintilió>",
	ordinal = "quintilionèsim",
	wplink = "quintilió",
}

numbers[1].cardinal = {"u", "un"}

return export