Module:ChemPro/sandbox

From Wiktionary, the free dictionary
Jump to navigation Jump to search

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[0] = {
	chu_quoc_ngu = "không",
	chu_nom = "空",
	sino = "linh",
	chu_han = {"空", "〇", "零"},
}

numbers[1] = {
	chu_quoc_ngu = "một",
	chu_nom = "𠬠",
	sino = "nhất",
	chu_han = {"一", "壹"},
	ordinal = "thứ nhất",
}

numbers[2] = {
	chu_quoc_ngu = "hai",
	chu_nom = "𠄩",
	sino = "nhị",
	chu_han = {"二", "貳"},
	ordinal = {"thứ hai", "thứ nhì"},
}

numbers[3] = {
	chu_quoc_ngu = {"ba" },
	chu_nom = "𠀧",
	sino = "tam",
	chu_han = {"三", "叄"},
	ordinal = "thứ ba",
}

numbers[4] = {
	chu_quoc_ngu = {"bốn" },
	chu_nom = "𦊚",
	sino = "tứ",
	chu_han = {"四", "肆"},
	ordinal = "thứ tư",
}

numbers[5] = {
	chu_quoc_ngu = "năm",
	chu_nom = "𠄼",
	sino = "ngũ",
	chu_han = {"五", "伍"},
	ordinal = "thứ năm",
}

numbers[6] = {
	chu_quoc_ngu = "sáu",
	chu_nom = "𦒹",
	sino = "lục",
	chu_han = {"六", "陸"},
	ordinal = "thứ sáu"
}

numbers[7] = {
	chu_quoc_ngu = "bảy",
	chu_nom = "𦉱",
	sino = "thất",
	chu_han = {"七", "柒"},
	ordinal = "thứ bảy"
}

numbers[8] = {
	chu_quoc_ngu = "tám",
	chu_nom = "𠔭",
	sino = "bát",
	chu_han = {"八", "捌"},
	ordinal = "thứ tám"
}

numbers[9] = {
	chu_quoc_ngu = "chín",
	chu_nom = "𠃩",
	sino = "cửu",
	chu_han = {"九", "玖"},
	ordinal = "thứ chín"
}

numbers[10] = {
	chu_quoc_ngu = "mười",
	chu_nom = "𨒒",
	sino = "thập",
	chu_han = {"十", "拾"},
	ordinal = "thứ mười"
}

numbers[20] = {
	chu_quoc_ngu = "hai mươi",
	chu_nom = {"𠄩𨒒", "𠄩𨔿"}
}

numbers[30] = {
	chu_quoc_ngu = "ba mươi",
	chu_nom = "𠀧𨒒",
}

numbers[40] = {
	chu_quoc_ngu = "bốn mươi",
	chu_nom = "𦊚𨒒",
}

numbers[50] = {
	chu_quoc_ngu = {"năm mươi", "năm chục"},
	chu_nom = "𠄼𨒒",
}

numbers[60] = {
	chu_quoc_ngu = "sáu mươi",
	chu_nom = "𦒹𨒒",
}

numbers[70] = {
	chu_quoc_ngu = "bảy mươi",
	chu_nom = "𦉱𨒒", 
}

numbers[80] = {
	chu_quoc_ngu = "tám mươi",
	chu_nom = "𠔭𨒒",
}

numbers[90] = {
	chu_quoc_ngu = "chín mươi",
	chu_nom = "𠃩𨒒",
}

for number = 2, 2 do
	numbers[number].ordinal = numbers[number].chu_quoc_ngu .. ordinal_prefix
end

for number = 3, 4 do
	numbers[number].ordinal = numbers[number].chu_quoc_ngu[1] .. ordinal_prefix
end

for number = 5, 10 do
	numbers[number].ordinal = numbers[number].chu_quoc_ngu .. ordinal_prefix
end

for number = 11, 12 do
	base_num = number - 10
	numbers[number] = {
		chu_quoc_ngu = tens_native .. numbers[base_num].chu_quoc_ngu,
		chu_nom = tens_native .. numbers[base_num].chu_nom,
		sino = tens_sino .. numbers[base_num].sino,
		chu_han = tens_chu_han .. numbers[base_num].chu_han,
	}
end

for number = 13, 14 do
	base_num = number - 10
	numbers[number] = {
		chu_quoc_ngu = tens_native .. numbers[base_num].chu_quoc_ngu[1],
		chu_nom = tens_native .. numbers[base_num].chu_nom[1],
		sino = tens_sino .. numbers[base_num].sino,
		chu_han = tens_chu_han .. numbers[base_num].chu_han,
	}
end

for number = 15, 15 do 
	base_num = number - 10
	numbers[number] = {
		chu_quoc_ngu = tens_native .. numbers[base_num].chu_quoc_ngu,
		chu_nom = tens_native .. numbers[base_num].chu_nom[1],
		sino = tens_sino .. numbers[base_num].sino,
		chu_han = tens_chu_han .. numbers[base_num].chu_han,
	}
end

for number = 16, 16 do 
	base_num = number - 10
	numbers[number] = {
		chu_quoc_ngu = tens_native .. numbers[base_num].chu_quoc_ngu,
		chu_nom = tens_native .. numbers[base_num].chu_nom[1],
		sino = {tens_sino .. numbers[base_num].sino[1], tens_sino .. numbers[base_num].sino[2]},
		chu_han = tens_chu_han .. numbers[base_num].chu_han,
	}
end

for number = 17, 19 do
	base_num = number - 10
	numbers[number] = {
		chu_quoc_ngu = tens_native .. numbers[base_num].chu_quoc_ngu,
		chu_nom = tens_native .. numbers[base_num].chu_nom,
		sino = tens_sino .. numbers[base_num].sino,
		chu_han = tens_chu_han .. numbers[base_num].chu_han,
	}
end

for number = 2, 9  do
	num = number * 10
	if number ~= 6 then
		numbers[num].sino = numbers[number].sino .. tens_sino
	else 
		numbers[num].sino = {numbers[number].sino[1] .. tens_sino, numbers[number].sino[2] .. tens_sino}
	end
	numbers[num].chu_han = numbers[number].chu_han .. tens_chu_han
end

numbers[100] = {
	chu_quoc_ngu = {"trăm", "một trăm"},
	chu_nom = {"𤾓", "𠬠𤾓"},
	sino = {"bách", "bá"},
	chu_han = {"百", "佰"},
}

numbers[1000] = {
	chu_quoc_ngu = {"nghìn", "ngàn", "một nghìn", "một ngàn"},
	chu_nom = {"𠦳", "𠬠𠦳"},
	sino = "thiên",
	chu_han = {"千", "仟"},
}

numbers[10000] = {
	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[10000 * num] = {
		sino = numbers[num].sino .. ten_thousand_sino,
		chu_han = numbers[num].chu_han .. ten_thousand_chu_han,
	}
end

numbers[10^8] = {
	sino = "억",
	chu_han = "億",
}

local eok_sino = "억"
local eok_chu_han = "億"

for number = 1, 3 do
	num = 10 ^ number
	base = 10 ^ 8
	numbers[100000000 * num] = {
		sino = numbers[num].sino .. eok_sino,
		chu_han = numbers[num].chu_han .. eok_chu_han,
	}
end

numbers[10^12] = {
	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[base * num].sino = numbers[num].sino .. jo_sino
	numbers[base * num].chu_han = numbers[num].chu_han .. jo_chu_han
end]]--

numbers[10^16] = {
	sino = "경",
	chu_han = "京",
}

--[[local gyeong_sino = "경"
local gyeong_chu_han = "京"

for number = 1, 3 do
	num = 10 ^ number
	base = 10 ^ 16
	numbers[base * num].sino = numbers[num].sino .. gyeong_sino
	numbers[base * num].chu_han = numbers[num].chu_han .. gyeong_chu_han
end]]--

numbers[power_of(20)] = {
	sino = "해",
	chu_han = "垓",
}

numbers[power_of(24)] = {
	sino = "자",
	chu_han = "秭",
}

numbers[power_of(28)] = {
	sino = "양",
	chu_han = "穰",
}

numbers[power_of(32)] = {
	sino = "구",
	chu_han = "溝",
}

numbers[power_of(36)] = {
	sino = "간",
	chu_han = "澗",
}

numbers[power_of(40)] = {
	sino = "정",
	chu_han = "正",
}

numbers[power_of(44)] = {
	sino = "재",
	chu_han = "載",
}

numbers[power_of(48)] = {
	sino = "극",
	chu_han = "極",
}

numbers[power_of(52)] = {
	sino = "항하사",
	chu_han = "恒河沙",
}

numbers[power_of(56)] = {
	sino = "아승기",
	chu_han = "阿僧祇",
}

numbers[power_of(60)] = {
	sino = "나유타",
	chu_han = "那由他",
}

numbers[power_of(64)] = {
	sino = "불가사의",
	chu_han = "不可思議",
}

numbers[power_of(68)] = {
	sino = {"무량대수", "무량수"},
	chu_han = {"無量大數", "無量數"},
}

return export