Module:number list/data/vi

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

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

Number Native chữ Quốc ngữ Native chữ Nôm Sino-Vietnamese chữ Quốc ngữ Sino-Vietnamese chữ Hán Ordinal
0 không linh , ,
1 một 𠬠 nhất ,
2 hai 𠄩 nhị , thứ hai, thứ nhì
3 ba 𠀧 tam , thứ ba
4 bốn 𦊚 tứ , thứ bốn
5 năm 𠄼 ngũ , thứ năm
6 sáu 𦒹 lục , thứ sáu
7 bảy 𦉱 thất , thứ bảy
8 tám 𠔭 bát , thứ tám
9 chín 𠃩 cửu , thứ chín
10 mười 𨒒 thập , thứ mười
11 mười một 𨒒𠬠 thập nhất 十一, 十壹
12 mười hai 𨒒𠄩 thập nhị 十二, 十貳
13 mười ba 𨒒𠀧 thập tam 十三, 十叄
14 mười bốn 𨒒𦊚 thập tứ 十四, 十肆
15 mười năm 𨒒𠄼 thập ngũ 十五, 十伍
16 mười sáu 𨒒𦒹 thập lục 十六, 十陸
17 mười bảy 𨒒𦉱 thập thất 十七, 十柒
18 mười tám 𨒒𠔭 thập bát 十八, 十捌
19 mười chín 𨒒𠃩 thập cửu 十九, 十玖
20 hai mươi 𠄩𨒒 nhị thập 二十
21 hai mươi một 𠄩𨒒𠬠
22 hai mươi hai 𠄩𨒒𠄩
23 hai mươi ba 𠄩𨒒𠀧
24 hai mươi bốn 𠄩𨒒𦊚
25 hai mươi năm 𠄩𨒒𠄼
26 hai mươi sáu 𠄩𨒒𦒹
27 hai mươi bảy 𠄩𨒒𦉱
28 hai mươi tám 𠄩𨒒𠔭
29 hai mươi chín 𠄩𨒒𠃩
30 ba mươi 𠀧𨒒 tam thập 三十
31 ba mươi một 𠀧𨒒𠬠
32 ba mươi hai 𠀧𨒒𠄩
33 ba mươi ba 𠀧𨒒𠀧
34 ba mươi bốn 𠀧𨒒𦊚
35 ba mươi năm 𠀧𨒒𠄼
36 ba mươi sáu 𠀧𨒒𦒹
37 ba mươi bảy 𠀧𨒒𦉱
38 ba mươi tám 𠀧𨒒𠔭
39 ba mươi chín 𠀧𨒒𠃩
40 bốn mươi 𦊚𨒒 tứ thập 四十
41 bốn mươi một 𦊚𨒒𠬠
42 bốn mươi hai 𦊚𨒒𠄩
43 bốn mươi ba 𦊚𨒒𠀧
44 bốn mươi bốn 𦊚𨒒𦊚
45 bốn mươi năm 𦊚𨒒𠄼
46 bốn mươi sáu 𦊚𨒒𦒹
47 bốn mươi bảy 𦊚𨒒𦉱
48 bốn mươi tám 𦊚𨒒𠔭
49 bốn mươi chín 𦊚𨒒𠃩
50 năm mươi 𠄼𨒒 ngũ thập 五十
51 năm mươi một 𠄼𨒒𠬠
52 năm mươi hai 𠄼𨒒𠄩
53 năm mươi ba 𠄼𨒒𠀧
54 năm mươi bốn 𠄼𨒒𦊚
55 năm mươi năm 𠄼𨒒𠄼
56 năm mươi sáu 𠄼𨒒𦒹
57 năm mươi bảy 𠄼𨒒𦉱
58 năm mươi tám 𠄼𨒒𠔭
59 năm mươi chín 𠄼𨒒𠃩
60 sáu mươi 𦒹𨒒 lục thập 六十
61 sáu mươi một 𦒹𨒒𠬠
62 sáu mươi hai 𦒹𨒒𠄩
63 sáu mươi ba 𦒹𨒒𠀧
64 sáu mươi bốn 𦒹𨒒𦊚
65 sáu mươi năm 𦒹𨒒𠄼
66 sáu mươi sáu 𦒹𨒒𦒹
67 sáu mươi bảy 𦒹𨒒𦉱
68 sáu mươi tám 𦒹𨒒𠔭
69 sáu mươi chín 𦒹𨒒𠃩
70 bảy mươi 𦉱𨒒 thất thập 七十
71 bảy mươi một 𦉱𨒒𠬠
72 bảy mươi hai 𦉱𨒒𠄩
73 bảy mươi ba 𦉱𨒒𠀧
74 bảy mươi bốn 𦉱𨒒𦊚
75 bảy mươi năm 𦉱𨒒𠄼
76 bảy mươi sáu 𦉱𨒒𦒹
77 bảy mươi bảy 𦉱𨒒𦉱
78 bảy mươi tám 𦉱𨒒𠔭
79 bảy mươi chín 𦉱𨒒𠃩
80 tám mươi 𠔭𨒒 bát thập 八十
81 tám mươi một 𠔭𨒒𠬠
82 tám mươi hai 𠔭𨒒𠄩
83 tám mươi ba 𠔭𨒒𠀧
84 tám mươi bốn 𠔭𨒒𦊚
85 tám mươi năm 𠔭𨒒𠄼
86 tám mươi sáu 𠔭𨒒𦒹
87 tám mươi bảy 𠔭𨒒𦉱
88 tám mươi tám 𠔭𨒒𠔭
89 tám mươi chín 𠔭𨒒𠃩
90 chín mươi 𠃩𨒒 cửu thập 九十
91 chín mươi một 𠃩𨒒𠬠
92 chín mươi hai 𠃩𨒒𠄩
93 chín mươi ba 𠃩𨒒𠀧
94 chín mươi bốn 𠃩𨒒𦊚
95 chín mươi năm 𠃩𨒒𠄼
96 chín mươi sáu 𠃩𨒒𦒹
97 chín mươi bảy 𠃩𨒒𦉱
98 chín mươi tám 𠃩𨒒𠔭
99 chín mươi chín 𠃩𨒒𠃩
100 trăm 𤾓, 𠬠𤾓 bách, ,
1,000 nghìn, ngàn 𠦳, 𠬠𠦳 thiên ,
10,000 mười nghìn, mười ngàn 𨒒𠦳 vạn , 𠬠萬
100,000 萬十, 萬拾 vạn thập
1,000,000 (106) 萬百, 萬佰 vạn bách, vạn bá
10,000,000 (107) 萬千, 萬仟 vạn thiên

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ữ|Quốc ngữ]]", before = "ordinal" },
	{ key = "chu_nom", display = "Native [[chữ Nôm]]", before = "ordinal" },
	{ key = "sino", display = "[[Sino-Vietnamese]] chữ [[quốc ngữ|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_chu_quoc_ngu = "mười "
local tens_chu_nom = "𨒒"
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 = {"一", "壹"},
}

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 = {"三", "叄"},
}

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

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

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

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

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

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

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

numbers[20] = {
	chu_quoc_ngu = "hai mươi",
	chu_nom = "𠄩𨒒",
	sino = "nhị thập",
	chu_han = "二十",
}

numbers[30] = {
	chu_quoc_ngu = "ba mươi",
	chu_nom = "𠀧𨒒",
	sino = "tam thập",
	chu_han = "三十",
}

numbers[40] = {
	chu_quoc_ngu = "bốn mươi",
	chu_nom = "𦊚𨒒",
	sino = "tứ thập",
	chu_han = "四十",
}

numbers[50] = {
	chu_quoc_ngu = "năm mươi",
	chu_nom = "𠄼𨒒",
	sino = "ngũ thập",
	chu_han = "五十",
}

numbers[60] = {
	chu_quoc_ngu = "sáu mươi",
	chu_nom = "𦒹𨒒",
	sino = "lục thập",
	chu_han = "六十",
}

numbers[70] = {
	chu_quoc_ngu = "bảy mươi",
	chu_nom = "𦉱𨒒",
	sino = "thất thập",
	chu_han = "七十",
}

numbers[80] = {
	chu_quoc_ngu = "tám mươi",
	chu_nom = "𠔭𨒒",
	sino = "bát thập",
	chu_han = "八十",
}

numbers[90] = {
	chu_quoc_ngu = "chín mươi",
	chu_nom = "𠃩𨒒",
	sino = "cửu thập",
	chu_han = "九十",
}

for number = 2, 10 do
	if not numbers[number].ordinal then
		numbers[number].ordinal = ordinal_prefix .. numbers[number].chu_quoc_ngu
	end
end

for number = 11, 19 do
	local base_num = number - 10
	numbers[number] = {
		chu_quoc_ngu = m_numutils.map(function(unit) return tens_chu_quoc_ngu .. unit end, numbers[base_num].chu_quoc_ngu),
		chu_nom = m_numutils.map(function(unit) return tens_chu_nom .. unit end, numbers[base_num].chu_nom),
		sino = m_numutils.map(function(unit) return tens_sino .. unit end, numbers[base_num].sino),
		chu_han = m_numutils.map(function(unit) return tens_chu_han .. unit end, numbers[base_num].chu_han),
	}
end

for tens = 20, 90, 10 do
	for ones = 1, 9 do
		local num = tens + ones
		numbers[num] = {
			chu_quoc_ngu = m_numutils.map(function(tens_unit) return tens_unit .. " " .. numbers[ones].chu_quoc_ngu end,
				numbers[tens].chu_quoc_ngu),
			chu_nom = m_numutils.map(function(tens_unit) return tens_unit .. numbers[ones].chu_nom end,
				numbers[tens].chu_nom),
		}
	end
end

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

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

numbers[10000] = {
	chu_quoc_ngu = {"mười nghìn", "mười ngàn"},
	chu_nom = "𨒒𠦳",
	sino = "vạn",
	chu_han = {"萬", "𠬠萬"},
}

local ten_thousand_sino = "vạn "
local ten_thousand_chu_han = "萬"

for number = 1, 3 do
	local num = 10 ^ number
	numbers[10000 * num] = {
		sino = m_numutils.map(function(power_val) return ten_thousand_sino .. power_val end,
			numbers[num].sino),
		chu_nom = m_numutils.map(function(power_val) return ten_thousand_chu_han .. power_val end,
			numbers[num].chu_han),
	}
end

return export