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 ميتين
300 تلتمية
400 ربعمية
500 خمسمية
600 ستمية
700 سبعمية
800 تمنمية
900 تسعمية
1,000 ألف
2,000 ألفين
10,000 عشر آلاف
100,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 = "حداش",
	ordinal = "حادش"
}

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

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

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

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

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

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

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

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

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

	for ones = 1, 9 do
		local number = {}
		numbers[tens + ones] = number

        local ones_cardinal = {}
        if ones == 2 then
			table.insert(ones_cardinal, "تنين")
		else 
            local temp = numbers[ones].cardinal
            if type(temp) == "string" then
				table.insert(ones_cardinal, temp)
			elseif type(temp) == "table" then
				ones_cardinal = numbers[ones].cardinal
			end
        end
        local cardinals = {}
        for i, o_cardinal in ipairs(ones_cardinal) do
		    table.insert(cardinals, ones_cardinal[i] .. suffix)
        end
        number.cardinal = cardinals
	end
end

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

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

numbers[300] = {
	cardinal = "تلتمية"
}

numbers[400] = {
	cardinal = "ربعمية"
}

numbers[500] = {
	cardinal = "خمسمية"
}

numbers[600] = {
	cardinal = "ستمية"
}

numbers[700] = {
	cardinal = "سبعمية"
}

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

numbers[900] = {
	cardinal = "تسعمية"
}

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

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

numbers[10000] = {
	cardinal = "عشر آلاف"
}

numbers[100000] = {
	cardinal = "مية ألف"
}

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

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

return export