This module contains data on various types of numbers in อาหรับแบบอียิปต์.

จำนวน เชิงการนับ เชิงอันดับที่ เศษส่วน (⅟…)
0 صفر
1 واحد أول
2 اتنين تاني نص
3 تلاتة تالت تلت
4 أربعة رابع ربع
5 خمسة خامس خمس
6 ستة سادس سدس
7 سبعة سابع سبع
8 تمانية تامن تمن
9 تسعة تاسع تسع
10 عشرة عاشر عشر
11 حداشر
12 اتناشر
13 تلاتاشر
14 أربعتاشر
15 خمستاشر
16 ستاشر
17 سبعتاشر
18 تمنتاشر
19 تسعتاشر
20 عشرين
21 واحد وعشرين
22 اتنين وعشرين
23 تلاتة وعشرين
24 أربعة وعشرين
25 خمسة وعشرين
26 ستة وعشرين
27 سبعة وعشرين
28 تمانية وعشرين
29 تسعة وعشرين
30 تلاتين
31 واحد وتلاتين
32 اتنين وتلاتين
33 تلاتة وتلاتين
34 أربعة وتلاتين
35 خمسة وتلاتين
36 ستة وتلاتين
37 سبعة وتلاتين
38 تمانية وتلاتين
39 تسعة وتلاتين
40 أربعين
41 واحد وأربعين
42 اتنين وأربعين
43 تلاتة وأربعين
44 أربعة وأربعين
45 خمسة وأربعين
46 ستة وأربعين
47 سبعة وأربعين
48 تمانية وأربعين
49 تسعة وأربعين
50 خمسين
51 واحد وخمسين
52 اتنين وخمسين
53 تلاتة وخمسين
54 أربعة وخمسين
55 خمسة وخمسين
56 ستة وخمسين
57 سبعة وخمسين
58 تمانية وخمسين
59 تسعة وخمسين
60 ستين
61 واحد وستين
62 اتنين وستين
63 تلاتة وستين
64 أربعة وستين
65 خمسة وستين
66 ستة وستين
67 سبعة وستين
68 تمانية وستين
69 تسعة وستين
70 سبعين
71 واحد وسبعين
72 اتنين وسبعين
73 تلاتة وسبعين
74 أربعة وسبعين
75 خمسة وسبعين
76 ستة وسبعين
77 سبعة وسبعين
78 تمانية وسبعين
79 تسعة وسبعين
80 تمنين
81 واحد وتمنين
82 اتنين وتمنين
83 تلاتة وتمنين
84 أربعة وتمنين
85 خمسة وتمنين
86 ستة وتمنين
87 سبعة وتمنين
88 تمانية وتمنين
89 تسعة وتمنين
90 تسعين
91 واحد وتسعين
92 اتنين وتسعين
93 تلاتة وتسعين
94 أربعة وتسعين
95 خمسة وتسعين
96 ستة وتسعين
97 سبعة وتسعين
98 تمانية وتسعين
99 تسعة وتسعين
100 مية
200 ميتين
1,000 ألف
2,000 ألفين
1,000,000 (106) مليون
1,000,000,000 (109) مليار

local export = {}

local numbers = {}
export.numbers = numbers

numbers[0] = {
	cardinal = "صفر"
}

numbers[1] = {
	cardinal = "واحد",
	ordinal = "أول"
}

numbers[2] = {
	cardinal = "اتنين",
	ordinal = "تاني",
	fractional = "نص"
}

numbers[3] = {
	cardinal = "تلاتة",
	ordinal = "تالت",
	fractional = "تلت"
}

numbers[4] = {
	cardinal = "أربعة",
	ordinal = "رابع",
	fractional = "ربع"
}

numbers[5] = {
	cardinal = "خمسة",
	ordinal = "خامس",
	fractional = "خمس"
}

numbers[6] = {
	cardinal = "ستة",
	ordinal = "سادس",
	fractional = "سدس"
}

numbers[7] = {
	cardinal = "سبعة",
	ordinal = "سابع",
	fractional = "سبع"
}

numbers[8] = {
	cardinal = "تمانية",
	ordinal = "تامن",
	fractional = "تمن"
}

numbers[9] = {
	cardinal = "تسعة",
	ordinal = "تاسع",
	fractional = "تسع"
}

numbers[10] = {
	cardinal = "عشرة",
	ordinal = "عاشر",
	fractional = "عشر"
}

numbers[11] = {
	cardinal = "حداشر",
}

numbers[12] = {
	cardinal = "اتناشر",
}

numbers[13] = {
	cardinal = "تلاتاشر",
}

numbers[14] = {
	cardinal = "أربعتاشر",
}

numbers[15] = {
	cardinal = "خمستاشر",
}

numbers[16] = {
	cardinal = "ستاشر",
}

numbers[17] = {
	cardinal = "سبعتاشر",
}

numbers[18] = {
	cardinal = "تمنتاشر",
}

numbers[19] = {
	cardinal = "تسعتاشر",
}

local function unpack_ipairs(t)
	local i = 0
	return function()
		i = i + 1
		if t[i] then
			return i, unpack(t[i])
		end
	end
end

for i, tens_cardinal in unpack_ipairs {
	{ "عشرين"},
	{ "تلاتين" },
	{ "أربعين" },
	{ "خمسين" },
	{ "ستين" },
	{ "سبعين" },
	{ "تمنين" },
	{ "تسعين" },
} do
	local tens = (i + 1) * 10
	numbers[tens] = {
		cardinal = tens_cardinal,
	}
	local suffix = (" و" .. tens_cardinal)
	local one_word_cardinal = suffix:sub(-1) ~= " "

	for ones = 1, 9 do
		local ones_cardinal = numbers[ones].cardinal
		local cardinal = ones_cardinal .. suffix
		local number = {}
		numbers[tens + ones] = number
		number.cardinal = cardinal
	end
end

numbers[100] = {
	cardinal = "مية"
}

numbers[200] = {
	cardinal = "ميتين"
}

numbers[1000] = {
	cardinal = "ألف"
}

numbers[2000] = {
	cardinal = "ألفين"
}

numbers[1000000] = {
	cardinal = "مليون"
}

numbers[1000000000] = {
	cardinal = "مليار"
}

return export