local export = {}
local m_numutils = require("Module:number list/utils")
local power_of = m_numutils.power_of
export.additional_number_types = {
{ key = "chu_quoc_ngu", display = "Native chữ quốc ngữ", before = "ordinal" },
{ key = "chu_nom", display = "Native chữ Nôm", before = "ordinal" },
{ key = "sino", display = "Sino-Vietnamese chữ quốc ngữ", before = "ordinal" },
{ key = "chu_han", display = "Sino-Vietnamese chữ Hán", before = "ordinal" },
{ key = "notes", display = "Notes", after = "ordinal" },
}
local numbers = {}
export.numbers = numbers
local ordinal_prefix = "thứ"
local tens_native = "mươi"
local tens_sino = "thập"
local tens_chu_han = "十"
-- Delete any number types that don't apply.
numbers = {
chu_quoc_ngu = "không",
chu_nom = "空",
sino = "linh",
chu_han = {"空", "〇", "零"},
}
numbers = {
chu_quoc_ngu = "một",
chu_nom = "𠬠",
sino = "nhất",
chu_han = {"一", "壹"},
ordinal = "thứ nhất",
}
numbers = {
chu_quoc_ngu = "hai",
chu_nom = "𠄩",
sino = "nhị",
chu_han = {"二", "貳"},
ordinal = {"thứ hai", "thứ nhì"},
}
numbers = {
chu_quoc_ngu = {"ba" },
chu_nom = "𠀧",
sino = "tam",
chu_han = {"三", "叄"},
ordinal = "thứ ba",
}
numbers = {
chu_quoc_ngu = {"bốn" },
chu_nom = "𦊚",
sino = "tứ",
chu_han = {"四", "肆"},
ordinal = "thứ tư",
}
numbers = {
chu_quoc_ngu = "năm",
chu_nom = "𠄼",
sino = "ngũ",
chu_han = {"五", "伍"},
ordinal = "thứ năm",
}
numbers = {
chu_quoc_ngu = "sáu",
chu_nom = "𦒹",
sino = "lục",
chu_han = {"六", "陸"},
ordinal = "thứ sáu"
}
numbers = {
chu_quoc_ngu = "bảy",
chu_nom = "𦉱",
sino = "thất",
chu_han = {"七", "柒"},
ordinal = "thứ bảy"
}
numbers = {
chu_quoc_ngu = "tám",
chu_nom = "𠔭",
sino = "bát",
chu_han = {"八", "捌"},
ordinal = "thứ tám"
}
numbers = {
chu_quoc_ngu = "chín",
chu_nom = "𠃩",
sino = "cửu",
chu_han = {"九", "玖"},
ordinal = "thứ chín"
}
numbers = {
chu_quoc_ngu = "mười",
chu_nom = "𨒒",
sino = "thập",
chu_han = {"十", "拾"},
ordinal = "thứ mười"
}
numbers = {
chu_quoc_ngu = "hai mươi",
chu_nom = {"𠄩𨒒", "𠄩𨔿"}
}
numbers = {
chu_quoc_ngu = "ba mươi",
chu_nom = "𠀧𨒒",
}
numbers = {
chu_quoc_ngu = "bốn mươi",
chu_nom = "𦊚𨒒",
}
numbers = {
chu_quoc_ngu = {"năm mươi", "năm chục"},
chu_nom = "𠄼𨒒",
}
numbers = {
chu_quoc_ngu = "sáu mươi",
chu_nom = "𦒹𨒒",
}
numbers = {
chu_quoc_ngu = "bảy mươi",
chu_nom = "𦉱𨒒",
}
numbers = {
chu_quoc_ngu = "tám mươi",
chu_nom = "𠔭𨒒",
}
numbers = {
chu_quoc_ngu = "chín mươi",
chu_nom = "𠃩𨒒",
}
for number = 2, 2 do
numbers.ordinal = numbers.chu_quoc_ngu .. ordinal_prefix
end
for number = 3, 4 do
numbers.ordinal = numbers.chu_quoc_ngu .. ordinal_prefix
end
for number = 5, 10 do
numbers.ordinal = numbers.chu_quoc_ngu .. ordinal_prefix
end
for number = 11, 12 do
base_num = number - 10
numbers = {
chu_quoc_ngu = tens_native .. numbers.chu_quoc_ngu,
chu_nom = tens_native .. numbers.chu_nom,
sino = tens_sino .. numbers.sino,
chu_han = tens_chu_han .. numbers.chu_han,
}
end
for number = 13, 14 do
base_num = number - 10
numbers = {
chu_quoc_ngu = tens_native .. numbers.chu_quoc_ngu,
chu_nom = tens_native .. numbers.chu_nom,
sino = tens_sino .. numbers.sino,
chu_han = tens_chu_han .. numbers.chu_han,
}
end
for number = 15, 15 do
base_num = number - 10
numbers = {
chu_quoc_ngu = tens_native .. numbers.chu_quoc_ngu,
chu_nom = tens_native .. numbers.chu_nom,
sino = tens_sino .. numbers.sino,
chu_han = tens_chu_han .. numbers.chu_han,
}
end
for number = 16, 16 do
base_num = number - 10
numbers = {
chu_quoc_ngu = tens_native .. numbers.chu_quoc_ngu,
chu_nom = tens_native .. numbers.chu_nom,
sino = {tens_sino .. numbers.sino, tens_sino .. numbers.sino},
chu_han = tens_chu_han .. numbers.chu_han,
}
end
for number = 17, 19 do
base_num = number - 10
numbers = {
chu_quoc_ngu = tens_native .. numbers.chu_quoc_ngu,
chu_nom = tens_native .. numbers.chu_nom,
sino = tens_sino .. numbers.sino,
chu_han = tens_chu_han .. numbers.chu_han,
}
end
for number = 2, 9 do
num = number * 10
if number ~= 6 then
numbers.sino = numbers.sino .. tens_sino
else
numbers.sino = {numbers.sino .. tens_sino, numbers.sino .. tens_sino}
end
numbers.chu_han = numbers.chu_han .. tens_chu_han
end
numbers = {
chu_quoc_ngu = {"trăm", "một trăm"},
chu_nom = {"𤾓", "𠬠𤾓"},
sino = {"bách", "bá"},
chu_han = {"百", "佰"},
}
numbers = {
chu_quoc_ngu = {"nghìn", "ngàn", "một nghìn", "một ngàn"},
chu_nom = {"𠦳", "𠬠𠦳"},
sino = "thiên",
chu_han = {"千", "仟"},
}
numbers = {
hu_quoc_ngu = {"mười nghìn", "mười ngàn"},
chu_nom = "𨒒𠦳",
sino = {"vạn", "một vạn"},
chu_han = {"萬", "𠬠萬"},
}
local ten_thousand_sino = "vạn"
local ten_thousand_chu_han = "萬"
for number = 1, 3 do
num = 10 ^ number
numbers = {
sino = numbers.sino .. ten_thousand_sino,
chu_han = numbers.chu_han .. ten_thousand_chu_han,
}
end
numbers = {
sino = "억",
chu_han = "億",
}
local eok_sino = "억"
local eok_chu_han = "億"
for number = 1, 3 do
num = 10 ^ number
base = 10 ^ 8
numbers = {
sino = numbers.sino .. eok_sino,
chu_han = numbers.chu_han .. eok_chu_han,
}
end
numbers = {
sino = {"nghìn tỉ", "ngàn tỉ"},
chu_han = "兆",
}
--[[local jo_sino = "조"
local jo_chu_han = "兆"
for number = 1, 3 do
num = 10 ^ number
base = 10 ^ 12
numbers.sino = numbers.sino .. jo_sino
numbers.chu_han = numbers.chu_han .. jo_chu_han
end]]--
numbers = {
sino = "경",
chu_han = "京",
}
--[[local gyeong_sino = "경"
local gyeong_chu_han = "京"
for number = 1, 3 do
num = 10 ^ number
base = 10 ^ 16
numbers.sino = numbers.sino .. gyeong_sino
numbers.chu_han = numbers.chu_han .. gyeong_chu_han
end]]--
numbers = {
sino = "해",
chu_han = "垓",
}
numbers = {
sino = "자",
chu_han = "秭",
}
numbers = {
sino = "양",
chu_han = "穰",
}
numbers = {
sino = "구",
chu_han = "溝",
}
numbers = {
sino = "간",
chu_han = "澗",
}
numbers = {
sino = "정",
chu_han = "正",
}
numbers = {
sino = "재",
chu_han = "載",
}
numbers = {
sino = "극",
chu_han = "極",
}
numbers = {
sino = "항하사",
chu_han = "恒河沙",
}
numbers = {
sino = "아승기",
chu_han = "阿僧祇",
}
numbers = {
sino = "나유타",
chu_han = "那由他",
}
numbers = {
sino = "불가사의",
chu_han = "不可思議",
}
numbers = {
sino = {"무량대수", "무량수"},
chu_han = {"無量大數", "無量數"},
}
return export