模組:Number list/data/fr

維基詞典,自由的多語言詞典

本模块包含有關法語中各種類型數字的数据。

Number 基數詞 序數詞 序數縮寫 乘數 分數 Wikipedia link
0 zéro zéroième 0e, (現在非標準) 0ème 0 (nombre)
1 un premier 1er simple entier 1 (nombre)
2 deux deuxième, second 2e, 2d, (非標準) 2ème double demi, moitié 2 (nombre)
3 trois troisième 3e, (非標準) 3ème triple tiers 3 (nombre)
4 quatre quatrième 4e, (非標準) 4ème quadruple quart 4 (nombre)
5 cinq cinquième 5e, (現在非標準) 5ème quintuple 5 (nombre)
6 six sixième 6e, (現在非標準) 6ème sextuple 6 (nombre)
7 sept septième 7e, (現在非標準) 7ème septuple 7 (nombre)
8 huit huitième 8e, (現在非標準) 8ème octuple 8 (nombre)
9 neuf neuvième 9e, (現在非標準) 9ème nonuple 9 (nombre)
10 dix dixième 10e, (現在非標準) 10ème décuple 10 (nombre)
11 onze onzième 11e, (現在非標準) 11ème 11 (nombre)
12 douze douzième 12e, (現在非標準) 12ème 12 (nombre)
13 treize treizième 13e, (現在非標準) 13ème 13 (nombre)
14 quatorze quatorzième 14e, (現在非標準) 14ème 14 (nombre)
15 quinze quinzième 15e, (現在非標準) 15ème 15 (nombre)
16 seize seizième 16e, (現在非標準) 16ème 16 (nombre)
17 dix-sept dix-septième 17e, (現在非標準) 17ème 17 (nombre)
18 dix-huit dix-huitième 18e, (現在非標準) 18ème 18 (nombre)
19 dix-neuf dix-neuvième 19e, (現在非標準) 19ème 19 (nombre)
20 vingt vingtième 20e, (現在非標準) 20ème 20 (nombre)
21 傳統寫法: vingt et un
1990年以後寫法: vingt-et-un
傳統寫法: vingt et unième
1990年以後寫法: vingt-et-unième
21e, (現在非標準) 21ème 21 (nombre)
22 vingt-deux vingt-deuxième 22e, (現在非標準) 22ème 22 (nombre)
23 vingt-trois vingt-troisième 23e, (現在非標準) 23ème 23 (nombre)
24 vingt-quatre vingt-quatrième 24e, (現在非標準) 24ème 24 (nombre)
25 vingt-cinq vingt-cinquième 25e, (現在非標準) 25ème 25 (nombre)
26 vingt-six vingt-sixième 26e, (現在非標準) 26ème 26 (nombre)
27 vingt-sept vingt-septième 27e, (現在非標準) 27ème 27 (nombre)
28 vingt-huit vingt-huitième 28e, (現在非標準) 28ème 28 (nombre)
29 vingt-neuf vingt-neuvième 29e, (現在非標準) 29ème 29 (nombre)
30 trente trentième 30e, (現在非標準) 30ème 30 (nombre)
31 傳統寫法: trente et un
1990年以後寫法: trente-et-un
傳統寫法: trente et unième
1990年以後寫法: trente-et-unième
31e, (現在非標準) 31ème 31 (nombre)
32 trente-deux trente-deuxième 32e, (現在非標準) 32ème 32 (nombre)
33 trente-trois trente-troisième 33e, (現在非標準) 33ème 33 (nombre)
34 trente-quatre trente-quatrième 34e, (現在非標準) 34ème 34 (nombre)
35 trente-cinq trente-cinquième 35e, (現在非標準) 35ème 35 (nombre)
36 trente-six trente-sixième 36e, (現在非標準) 36ème 36 (nombre)
37 trente-sept trente-septième 37e, (現在非標準) 37ème 37 (nombre)
38 trente-huit trente-huitième 38e, (現在非標準) 38ème 38 (nombre)
39 trente-neuf trente-neuvième 39e, (現在非標準) 39ème 39 (nombre)
40 quarante quarantième 40e, (現在非標準) 40ème 40 (nombre)
41 傳統寫法: quarante et un
1990年以後寫法: quarante-et-un
傳統寫法: quarante et unième
1990年以後寫法: quarante-et-unième
41e, (現在非標準) 41ème 41 (nombre)
42 quarante-deux quarante-deuxième 42e, (現在非標準) 42ème 42 (nombre)
43 quarante-trois quarante-troisième 43e, (現在非標準) 43ème 43 (nombre)
44 quarante-quatre quarante-quatrième 44e, (現在非標準) 44ème 44 (nombre)
45 quarante-cinq quarante-cinquième 45e, (現在非標準) 45ème 45 (nombre)
46 quarante-six quarante-sixième 46e, (現在非標準) 46ème 46 (nombre)
47 quarante-sept quarante-septième 47e, (現在非標準) 47ème 47 (nombre)
48 quarante-huit quarante-huitième 48e, (現在非標準) 48ème 48 (nombre)
49 quarante-neuf quarante-neuvième 49e, (現在非標準) 49ème 49 (nombre)
50 cinquante cinquantième 50e, (現在非標準) 50ème 50 (nombre)
51 傳統寫法: cinquante et un
1990年以後寫法: cinquante-et-un
傳統寫法: cinquante et unième
1990年以後寫法: cinquante-et-unième
51e, (現在非標準) 51ème 51 (nombre)
52 cinquante-deux cinquante-deuxième 52e, (現在非標準) 52ème 52 (nombre)
53 cinquante-trois cinquante-troisième 53e, (現在非標準) 53ème 53 (nombre)
54 cinquante-quatre cinquante-quatrième 54e, (現在非標準) 54ème 54 (nombre)
55 cinquante-cinq cinquante-cinquième 55e, (現在非標準) 55ème 55 (nombre)
56 cinquante-six cinquante-sixième 56e, (現在非標準) 56ème 56 (nombre)
57 cinquante-sept cinquante-septième 57e, (現在非標準) 57ème 57 (nombre)
58 cinquante-huit cinquante-huitième 58e, (現在非標準) 58ème 58 (nombre)
59 cinquante-neuf cinquante-neuvième 59e, (現在非標準) 59ème 59 (nombre)
60 soixante soixantième 60e, (現在非標準) 60ème 60 (nombre)
61 傳統寫法: soixante et un
1990年以後寫法: soixante-et-un
傳統寫法: soixante et unième
1990年以後寫法: soixante-et-unième
61e, (現在非標準) 61ème 61 (nombre)
62 soixante-deux soixante-deuxième 62e, (現在非標準) 62ème 62 (nombre)
63 soixante-trois soixante-troisième 63e, (現在非標準) 63ème 63 (nombre)
64 soixante-quatre soixante-quatrième 64e, (現在非標準) 64ème 64 (nombre)
65 soixante-cinq soixante-cinquième 65e, (現在非標準) 65ème 65 (nombre)
66 soixante-six soixante-sixième 66e, (現在非標準) 66ème 66 (nombre)
67 soixante-sept soixante-septième 67e, (現在非標準) 67ème 67 (nombre)
68 soixante-huit soixante-huitième 68e, (現在非標準) 68ème 68 (nombre)
69 soixante-neuf soixante-neuvième 69e, (現在非標準) 69ème 69 (nombre)
70 二十進位: soixante-dix
十進位: septante
二十進位: soixante-dixième
十進位: septantième
70e, (現在非標準) 70ème 70 (nombre)
71 二十進位 / 傳統寫法: soixante et onze
二十進位 / 1990年以後寫法: soixante-et-onze
十進位 / 傳統寫法: septante et un
十進位 / 1990年以後寫法: septante-et-un
二十進位 / 傳統寫法: soixante et onzième
二十進位 / 1990年以後寫法: soixante-et-onzième
十進位 / 傳統寫法: septante et unième
十進位 / 1990年以後寫法: septante-et-unième
71e, (現在非標準) 71ème 71 (nombre)
72 二十進位: soixante-douze
十進位: septante-deux
二十進位: soixante-douzième
十進位: septante-deuxième
72e, (現在非標準) 72ème 72 (nombre)
73 二十進位: soixante-treize
十進位: septante-trois
二十進位: soixante-treizième
十進位: septante-troisième
73e, (現在非標準) 73ème 73 (nombre)
74 二十進位: soixante-quatorze
十進位: septante-quatre
二十進位: soixante-quatorzième
十進位: septante-quatrième
74e, (現在非標準) 74ème 74 (nombre)
75 二十進位: soixante-quinze
十進位: septante-cinq
二十進位: soixante-quinzième
十進位: septante-cinquième
75e, (現在非標準) 75ème 75 (nombre)
76 二十進位: soixante-seize
十進位: septante-six
二十進位: soixante-seizième
十進位: septante-sixième
76e, (現在非標準) 76ème 76 (nombre)
77 二十進位: soixante-dix-sept
十進位: septante-sept
二十進位: soixante-dix-septième
十進位: septante-septième
77e, (現在非標準) 77ème 77 (nombre)
78 二十進位: soixante-dix-huit
十進位: septante-huit
二十進位: soixante-dix-huitième
十進位: septante-huitième
78e, (現在非標準) 78ème 78 (nombre)
79 二十進位: soixante-dix-neuf
十進位: septante-neuf
二十進位: soixante-dix-neuvième
十進位: septante-neuvième
79e, (現在非標準) 79ème 79 (nombre)
80 二十進位: quatre-vingts
十進位: huitante, octante
二十進位: quatre-vingtième
十進位: huitantième, octantième
80e, (現在非標準) 80ème 80 (nombre)
81 二十進位: quatre-vingt-un
十進位 / 傳統寫法: huitante et un, octante et un
十進位 / 1990年以後寫法: huitante-et-un, octante-et-un
二十進位: quatre-vingt-unième
十進位 / 傳統寫法: huitante et unième, octante et unième
十進位 / 1990年以後寫法: huitante-et-unième, octante-et-unième
81e, (現在非標準) 81ème 81 (nombre)
82 二十進位: quatre-vingt-deux
十進位: huitante-deux, octante-deux
二十進位: quatre-vingt-deuxième
十進位: huitante-deuxième, octante-deuxième
82e, (現在非標準) 82ème 82 (nombre)
83 二十進位: quatre-vingt-trois
十進位: huitante-trois, octante-trois
二十進位: quatre-vingt-troisième
十進位: huitante-troisième, octante-troisième
83e, (現在非標準) 83ème 83 (nombre)
84 二十進位: quatre-vingt-quatre
十進位: huitante-quatre, octante-quatre
二十進位: quatre-vingt-quatrième
十進位: huitante-quatrième, octante-quatrième
84e, (現在非標準) 84ème 84 (nombre)
85 二十進位: quatre-vingt-cinq
十進位: huitante-cinq, octante-cinq
二十進位: quatre-vingt-cinquième
十進位: huitante-cinquième, octante-cinquième
85e, (現在非標準) 85ème 85 (nombre)
86 二十進位: quatre-vingt-six
十進位: huitante-six, octante-six
二十進位: quatre-vingt-sixième
十進位: huitante-sixième, octante-sixième
86e, (現在非標準) 86ème 86 (nombre)
87 二十進位: quatre-vingt-sept
十進位: huitante-sept, octante-sept
二十進位: quatre-vingt-septième
十進位: huitante-septième, octante-septième
87e, (現在非標準) 87ème 87 (nombre)
88 二十進位: quatre-vingt-huit
十進位: huitante-huit, octante-huit
二十進位: quatre-vingt-huitième
十進位: huitante-huitième, octante-huitième
88e, (現在非標準) 88ème 88 (nombre)
89 二十進位: quatre-vingt-neuf
十進位: huitante-neuf, octante-neuf
二十進位: quatre-vingt-neuvième
十進位: huitante-neuvième, octante-neuvième
89e, (現在非標準) 89ème 89 (nombre)
90 二十進位: quatre-vingt-dix
十進位: nonante
二十進位: quatre-vingt-dixième
十進位: nonantième
90e, (現在非標準) 90ème 90 (nombre)
91 二十進位: quatre-vingt-onze
十進位 / 傳統寫法: nonante et un
十進位 / 1990年以後寫法: nonante-et-un
二十進位: quatre-vingt-onzième
十進位 / 傳統寫法: nonante et unième
十進位 / 1990年以後寫法: nonante-et-unième
91e, (現在非標準) 91ème 91 (nombre)
92 二十進位: quatre-vingt-douze
十進位: nonante-deux
二十進位: quatre-vingt-douzième
十進位: nonante-deuxième
92e, (現在非標準) 92ème 92 (nombre)
93 二十進位: quatre-vingt-treize
十進位: nonante-trois
二十進位: quatre-vingt-treizième
十進位: nonante-troisième
93e, (現在非標準) 93ème 93 (nombre)
94 二十進位: quatre-vingt-quatorze
十進位: nonante-quatre
二十進位: quatre-vingt-quatorzième
十進位: nonante-quatrième
94e, (現在非標準) 94ème 94 (nombre)
95 二十進位: quatre-vingt-quinze
十進位: nonante-cinq
二十進位: quatre-vingt-quinzième
十進位: nonante-cinquième
95e, (現在非標準) 95ème 95 (nombre)
96 二十進位: quatre-vingt-seize
十進位: nonante-six
二十進位: quatre-vingt-seizième
十進位: nonante-sixième
96e, (現在非標準) 96ème 96 (nombre)
97 二十進位: quatre-vingt-dix-sept
十進位: nonante-sept
二十進位: quatre-vingt-dix-septième
十進位: nonante-septième
97e, (現在非標準) 97ème 97 (nombre)
98 二十進位: quatre-vingt-dix-huit
十進位: nonante-huit
二十進位: quatre-vingt-dix-huitième
十進位: nonante-huitième
98e, (現在非標準) 98ème 98 (nombre)
99 二十進位: quatre-vingt-dix-neuf
十進位: nonante-neuf
二十進位: quatre-vingt-dix-neuvième
十進位: nonante-neuvième
99e, (現在非標準) 99ème 99 (nombre)
100 cent centième 100e, (現在非標準) 100ème centuple 100 (nombre)
200 傳統寫法: deux cents
1990年以後寫法: deux-cents
傳統寫法: deux centième
1990年以後寫法: deux-centième
200e, (現在非標準) 200ème 200 (nombre)
300 傳統寫法: trois cents
1990年以後寫法: trois-cents
傳統寫法: trois centième
1990年以後寫法: trois-centième
300e, (現在非標準) 300ème 300 (nombre)
400 傳統寫法: quatre cents
1990年以後寫法: quatre-cents
傳統寫法: quatre centième
1990年以後寫法: quatre-centième
400e, (現在非標準) 400ème 400 (nombre)
500 傳統寫法: cinq cents
1990年以後寫法: cinq-cents
傳統寫法: cinq centième
1990年以後寫法: cinq-centième
500e, (現在非標準) 500ème 500 (nombre)
600 傳統寫法: six cents
1990年以後寫法: six-cents
傳統寫法: six centième
1990年以後寫法: six-centième
600e, (現在非標準) 600ème 600 (nombre)
700 傳統寫法: sept cents
1990年以後寫法: sept-cents
傳統寫法: sept centième
1990年以後寫法: sept-centième
700e, (現在非標準) 700ème 700 (nombre)
800 傳統寫法: huit cents
1990年以後寫法: huit-cents
傳統寫法: huit centième
1990年以後寫法: huit-centième
800e, (現在非標準) 800ème 800 (nombre)
900 傳統寫法: neuf cents
1990年以後寫法: neuf-cents
傳統寫法: neuf centième
1990年以後寫法: neuf-centième
900e, (現在非標準) 900ème 900 (nombre)
1,000 mille millième 1000e, (現在非標準) 1000ème 1000 (nombre)
2,000 傳統寫法: deux mille
1990年以後寫法: deux-mille
傳統寫法: deux millième
1990年以後寫法: deux-millième
2000e, (現在非標準) 2000ème 2000 (nombre)
3,000 傳統寫法: trois mille
1990年以後寫法: trois-mille
傳統寫法: trois millième
1990年以後寫法: trois-millième
3000e, (現在非標準) 3000ème 3000 (nombre)
4,000 傳統寫法: quatre mille
1990年以後寫法: quatre-mille
傳統寫法: quatre millième
1990年以後寫法: quatre-millième
4000e, (現在非標準) 4000ème 4000 (nombre)
5,000 傳統寫法: cinq mille
1990年以後寫法: cinq-mille
傳統寫法: cinq millième
1990年以後寫法: cinq-millième
5000e, (現在非標準) 5000ème 5000 (nombre)
6,000 傳統寫法: six mille
1990年以後寫法: six-mille
傳統寫法: six millième
1990年以後寫法: six-millième
6000e, (現在非標準) 6000ème 6000 (nombre)
7,000 傳統寫法: sept mille
1990年以後寫法: sept-mille
傳統寫法: sept millième
1990年以後寫法: sept-millième
7000e, (現在非標準) 7000ème 7000 (nombre)
8,000 傳統寫法: huit mille
1990年以後寫法: huit-mille
傳統寫法: huit millième
1990年以後寫法: huit-millième
8000e, (現在非標準) 8000ème 8000 (nombre)
9,000 傳統寫法: neuf mille
1990年以後寫法: neuf-mille
傳統寫法: neuf millième
1990年以後寫法: neuf-millième
9000e, (現在非標準) 9000ème 9000 (nombre)
10,000 傳統寫法: dix mille
1990年以後寫法: dix-mille
傳統寫法: dix millième
1990年以後寫法: dix-millième
10 000e, (現在非標準) 10 000ème 10000 (nombre)
100,000 傳統寫法: cent mille
1990年以後寫法: cent-mille
傳統寫法: cent millième
1990年以後寫法: cent-millième
100 000e, (現在非標準) 100 000ème 100000 (nombre)
1,000,000 (106) 傳統寫法: un million
1990年以後寫法: un-million
millionième 1 000 000e, (現在非標準) 1 000 000ème million
2,000,000 (2 x 106) 傳統寫法: deux millions
1990年以後寫法: deux-millions
傳統寫法: deux millionième
1990年以後寫法: deux-millionième
2 000 000e, (現在非標準) 2 000 000ème
1,000,000,000 (109) 傳統寫法: un milliard
1990年以後寫法: un-milliard
milliardième milliard
1012 傳統寫法: un billion, mille milliards
1990年以後寫法: un-billion, mille-milliards
billionième, millième de milliardième billion
1015 傳統寫法: un billiard, un million de milliards
1990年以後寫法: un-billiard, un-million de milliards
billiardième, millionième de milliardième billiard
1018 傳統寫法: un trillion, un milliard de milliards
1990年以後寫法: un-trillion, un-milliard de milliards
trillionième, milliardième de milliardième trillion
1021 傳統寫法: un trilliard, mille milliards de milliards
1990年以後寫法: un-trilliard, mille-milliards de milliards
trilliardième, millième de milliardième de milliardième trilliard
1024 傳統寫法: un quadrillion
1990年以後寫法: un-quadrillion
quadrillionième quadrillion
1027 傳統寫法: un quadrilliard
1990年以後寫法: un-quadrilliard
quadrilliardième quadrilliard
1030 傳統寫法: un quintillion
1990年以後寫法: un-quintillion
quintillionième quintillion
1033 傳統寫法: un quintilliard
1990年以後寫法: un-quintilliard
quintilliardième quintilliard
1036 傳統寫法: un sextillion
1990年以後寫法: un-sextillion
sextillionième sextillion
1039 傳統寫法: un sextilliard
1990年以後寫法: un-sextilliard
sextilliardième sextilliard
1042 傳統寫法: un septillion
1990年以後寫法: un-septillion
septillionième septillion
1045 傳統寫法: un septilliard
1990年以後寫法: un-septilliard
septilliardième septilliard
1048 傳統寫法: un octillion
1990年以後寫法: un-octillion
octillionième octillion
1051 傳統寫法: un octilliard
1990年以後寫法: un-octilliard
octilliardième octilliard
1054 傳統寫法: un nonillion
1990年以後寫法: un-nonillion
nonillionième nonillion
1057 傳統寫法: un nonilliard
1990年以後寫法: un-nonilliard
nonilliardième nonilliard
1060 傳統寫法: un décillion
1990年以後寫法: un-décillion
décillionième décillion
1063 傳統寫法: un décilliard
1990年以後寫法: un-décilliard
décilliardième décilliard

local export = {numbers = {}}

local m_numutils = require("Module:number list/utils")
local map = m_numutils.map
local power_of = m_numutils.power_of

local numbers = export.numbers

local rfind = mw.ustring.find
local rsubn = mw.ustring.gsub

-- version of rsubn() that discards all but the first return value
local function rsub(term, foo, bar)
	local retval = rsubn(term, foo, bar)
	return retval
end

local function add_ordinal_suffix(term)
	if rfind(term, "f$") then
		return rsub(term, "f$", "vième") -- neuf -> neuvième
	elseif rfind(term, "q$") then
		return term .. "uième" -- cinq -> cinquième
	elseif rfind(term, "ts$") then
		return rsub(term, "s$", "ième") -- quatre-vingts -> quatre-vingtième
	else
		return rsub(term, "e$", "") .. "ième" -- quatre -> quatrième, trois -> troisième
	end
end

local function make_number(num, cardinal, ordinal, multiplier, wplink)
	local numstr = m_numutils.format_fixed(num)
	local with_thousands = #numstr < 10 and m_numutils.add_thousands_separator(numstr, " ") or nil
	numbers[num] = {
		cardinal = cardinal,
		ordinal = ordinal or map(function (card) return add_ordinal_suffix(card) end, cardinal),
		-- FIXME, should use superscript e
		ordinal_abbr = with_thousands and {with_thousands .. "e", with_thousands .. "ème<q:現在非標準>"} or nil,
		multiplier = multiplier,
		wplink = wplink or type(num) == "number" and num < 1000000 and num .. " (nombre)" or nil,
	}
end

make_number(0, "zéro")

numbers[1] = {
	cardinal = "un",
	ordinal = "premier",
	ordinal_abbr = "1er",
	fractional = "entier",
	multiplier = "simple",
	wplink = "1 (nombre)",
}

numbers[2] = {
	cardinal = "deux",
	ordinal = {"deuxième", "second"},
	ordinal_abbr = {"2e", "2d", "2ème<q:非標準>"},
	fractional = {"demi", "moitié"},
	multiplier = "double",
	wplink = "2 (nombre)",
}

numbers[3] = {
	cardinal = "trois",
	ordinal = "troisième",
	ordinal_abbr = {"3e", "3ème<q:非標準>"},
	fractional = "tiers",
	multiplier = "triple",
	wplink = "3 (nombre)",
}

numbers[4] = {
	cardinal = "quatre",
	ordinal = "quatrième",
	ordinal_abbr = {"4e", "4ème<q:非標準>"},
	fractional = "quart",
	multiplier = "quadruple",
	wplink = "4 (nombre)",
}

make_number(5, "cinq", nil, "quintuple")
make_number(6, "six", nil, "sextuple")
make_number(7, "sept", nil, "septuple")
make_number(8, "huit", nil, "octuple")
make_number(9, "neuf", nil, "nonuple")
make_number(10, "dix", nil, "décuple")

-- Generate numbers from 11 through 19.
for i, teen in ipairs { "onze", "douze", "treize", "quatorze", "quinze", "seize",
	"dix-sept", "dix-huit", "dix-neuf" } do
	make_number(i + 10, teen)
end

-- Generate even multiples of 10 from 20 through 90.
for i, ten_multiple in ipairs { "vingt", "trente", "quarante", "cinquante", "soixante",
	{"soixante-dix<tag:二十進位>", "septante<tag:十進位>"},
	{"quatre-vingts<tag:二十進位>", "huitante<tag:十進位>", "octante<tag:十進位>"},
	{"quatre-vingt-dix<tag:二十進位>", "nonante<tag:十進位>"},
} do
	make_number((i + 1) * 10, ten_multiple)
end

-- Generate numbers from 21 through 99, other than even multiples of ten.
for tens = 20, 90, 10 do
	for ones = 1, 9 do
		local num = tens + ones
		-- Generate the cardinal given the cardinal form for the tens (e.g. "trente", "septante", "quatre-vingt-dix",
		-- etc.). There are several special cases:
		-- (1) soixante and quatre-vingts are vigesimal, hence 72 = soixante-douze, 92 = quatre-vingt-douze.
		-- (2) -et- is inserted before "un" and "onze", but not after quatre-vingts.
		-- (3) quatre-vingts changes to quatre-vingt- before a ones numeral.
		local function generate_cardinal(tens_cardinal)
			local ones_cardinal
			tens_cardinal = rsub(tens_cardinal, "%-dix$", "") -- chop off -dix from vigesimal 70 and 90
			tens_cardinal = rsub(tens_cardinal, "ts$", "t") -- quatre-vingts -> quatre-vingt
			if tens_cardinal == "soixante" or tens_cardinal == "quatre-vingt" then
				-- vigesimal
				ones_cardinal = numbers[num % 20].cardinal
			else
				ones_cardinal = numbers[ones].cardinal
			end
			if ones == 1 and tens_cardinal ~= "quatre-vingt" or ones == 11 and tens_cardinal == "soixante" then
				return {("%s et %s<tag:傳統寫法>"):format(tens_cardinal, ones_cardinal),
					("%s-et-%s<tag:1990年以後寫法>"):format(tens_cardinal, ones_cardinal)}
			else
				return tens_cardinal .. "-" .. ones_cardinal
			end
		end

		local cardinal = map(generate_cardinal, numbers[tens].cardinal)
		make_number(num, cardinal)
	end
end

make_number(100, "cent", nil, "centuple")

-- Generate 200 through 900 by 100.
for i = 200, 900, 100 do
	local base = i / 100
	local base_cardinal = numbers[base].cardinal
	make_number(i,
		{base_cardinal .. " cents<tag:傳統寫法>", base_cardinal .. "-cents<tag:1990年以後寫法>"},
		{base_cardinal .. " centième<tag:傳統寫法>", base_cardinal .. "-centième<tag:1990年以後寫法>"}
	)
end

make_number(1000, "mille")

-- Generate 2000 through 10000 by 1000.
for i = 2000, 10000, 1000 do
	local base = i / 1000
	local base_cardinal = numbers[base].cardinal
	make_number(i,
		{base_cardinal .. " mille<tag:傳統寫法>", base_cardinal .. "-mille<tag:1990年以後寫法>"},
		{base_cardinal .. " millième<tag:傳統寫法>", base_cardinal .. "-millième<tag:1990年以後寫法>"}
	)
end

make_number(100000, {"cent mille<tag:傳統寫法>", "cent-mille<tag:1990年以後寫法>"},
	{"cent millième<tag:傳統寫法>", "cent-millième<tag:1990年以後寫法>"})
make_number(1000000, {"[[un]] [[million]]<link:million><tag:傳統寫法>", "[[un]]-[[million]]<link:million><tag:1990年以後寫法>"},
	"millionième", nil, "million")
make_number(2000000, {"[[deux]] [[million]]s<tag:傳統寫法>", "[[deux]]-[[million]]s<tag:1990年以後寫法>"},
	{"deux millionième<tag:傳統寫法>", "deux-millionième<tag:1990年以後寫法>"})
make_number(power_of(9), {"[[un]] [[milliard]]<link:milliard><tag:傳統寫法>", "[[un]]-[[milliard]]<link:milliard><tag:1990年以後寫法>"},
	"milliardième", nil, "milliard")
make_number(power_of(12), {"[[un]] [[billion]]<link:billion><tag:傳統寫法>", "[[un]]-[[billion]]<link:billion><tag:1990年以後寫法>", "[[mille]] [[milliard]]s<tag:傳統寫法>", "[[mille]]-[[milliard]]s<tag:1990年以後寫法>"},
	{"billionième", "[[millième]] [[de]] [[milliardième]]"}, nil, "billion")
make_number(power_of(15), {"[[un]] [[billiard]]<link:billiard><tag:傳統寫法>", "[[un]]-[[billiard]]<link:billiard><tag:1990年以後寫法>", "[[un]] [[million]] [[de]] [[milliard]]s<tag:傳統寫法>", "[[un]]-[[million]] [[de]] [[milliard]]s<tag:1990年以後寫法>"},
	{"billiardième", "[[millionième]] [[de]] [[milliardième]]"}, nil, "billiard")
make_number(power_of(18), {"[[un]] [[trillion]]<link:trillion><tag:傳統寫法>", "[[un]]-[[trillion]]<link:trillion><tag:1990年以後寫法>", "[[un]] [[milliard]] [[de]] [[milliard]]s<tag:傳統寫法>", "[[un]]-[[milliard]] [[de]] [[milliard]]s<tag:1990年以後寫法>"},
	{"trillionième", "[[milliardième]] [[de]] [[milliardième]]"}, nil, "trillion")
make_number(power_of(21), {"[[un]] [[trilliard]]<link:trilliard><tag:傳統寫法>", "[[un]]-[[trilliard]]<link:trilliard><tag:1990年以後寫法>", "[[mille]] [[milliard]]s [[de]] [[milliard]]s<tag:傳統寫法>", "[[mille]]-[[milliard]]s [[de]] [[milliard]]s<tag:1990年以後寫法>"},
	{"trilliardième", "[[millième]] [[de]] [[milliardième]] [[de]] [[milliardième]]"},  nil, "trilliard")

local function make_high_number(power, base)
	make_number(power_of(power), {("[[un]] [[%s]]<link:%s><tag:傳統寫法>"):format(base, base), ("[[un]]-[[%s]]<link:%s><tag:1990年以後寫法>"):format(base, base)},
		base .. "ième", nil, base)
end

make_high_number(24, "quadrillion")
make_high_number(27, "quadrilliard")
make_high_number(30, "quintillion")
make_high_number(33, "quintilliard")
make_high_number(36, "sextillion")
make_high_number(39, "sextilliard")
make_high_number(42, "septillion")
make_high_number(45, "septilliard")
make_high_number(48, "octillion")
make_high_number(51, "octilliard")
make_high_number(54, "nonillion")
make_high_number(57, "nonilliard")
make_high_number(60, "décillion")
make_high_number(63, "décilliard")

return export