模組:Number list/data/ca
- 下列說明文檔由Module:documentation/functions/number list所生成。[編輯]
- 相關連結:根頁面 • 根頁面的子頁面 • 本頁面的子頁面 • 链入 • 嵌入包含 • 測試用例 • 沙盒
本模块包含有關加泰羅尼亞語中各種類型數字的数据。
(edit)
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:中部>", "cinqué<tag:瓦倫西亞>", "quint<tag:拉丁化>"},
ordinal_abbr = {"5è<tag:中部>", "5é<tag:瓦倫西亞>", "5t<tag:拉丁化>"},
multiplier = "quíntuple",
wplink = "cinc",
}
numbers[6] = {
cardinal = "sis",
ordinal = {"sisè<tag:中部>", "sisé<tag:瓦倫西亞>", "sext<tag:拉丁化>"},
ordinal_abbr = {"6è<tag:中部>", "6é<tag:瓦倫西亞>", "6t<tag:拉丁化>"},
multiplier = "sèxtuple",
wplink = "sis",
}
numbers[7] = {
cardinal = "set",
ordinal = {"setè<tag:中部>", "seté<tag:瓦倫西亞>", "sèptim<tag:拉丁化>"},
ordinal_abbr = {"7è<tag:中部>", "7é<tag:瓦倫西亞>", "7m<tag:拉丁化>"},
multiplier = "sèptuple",
wplink = "nombre set",
}
numbers[8] = {
cardinal = {"vuit<tag:中部>", "huit<tag:瓦倫西亞>"},
ordinal = {"vuitè<tag:中部>", "huité<tag:瓦倫西亞>", "octau<tag:拉丁化>"},
ordinal_abbr = {"8è<tag:中部>", "8é<tag:瓦倫西亞>", "8u<tag:拉丁化>"},
multiplier = "òctuple",
wplink = "vuit",
}
numbers[9] = {
cardinal = "nou",
ordinal = {"novè<tag:中部>", "nové<tag:瓦倫西亞>"},
ordinal_abbr = {"9è<tag:中部>", "9é<tag:瓦倫西亞>"},
multiplier = "nònuple",
wplink = "nombre nou",
}
numbers[10] = {
cardinal = "deu",
ordinal = {"desè<tag:中部>", "desé<tag:瓦倫西亞>", "dècim<tag:拉丁化>"},
ordinal_abbr = {"10è<tag:中部>", "10é<tag:瓦倫西亞>", "10m<tag:拉丁化>"},
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:中部>", valnum .. "<tag:瓦倫西亞>"}
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:中部>", "dèsset<tag:瓦倫西亞>", "desset<tag:瓦倫西亞>"},
ordinal = {"dissetè<tag:中部>", "desseté<tag:瓦倫西亞>"},
wplink = "disset",
}
numbers[18] = {
cardinal = {"divuit<tag:中部>", "díhuit<tag:瓦倫西亞>"},
ordinal = {"divuitè<tag:中部>", "dihuité<tag:瓦倫西亞>"},
wplink = "divuit",
}
numbers[19] = {
cardinal = {"dinou<tag:中部>", "dènou<tag:瓦倫西亞>", "dèneu<tag:瓦倫西亞>"},
ordinal = {"dinovè<tag:中部>", "denové<tag:瓦倫西亞>"},
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:中部>", "centèsim", "centé<tag:瓦倫西亞>"},
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:中部>", "mil·lèsim", "milé<tag:瓦倫西亞>"},
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ó",
}
return export