Module:number list/data/afb

This module contains data on various types of numbers in Gulf Arabic.

Number Cardinal Ordinal Fractional
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