Jump to content

Module:number list/data/ka

From Wiktionary, the free dictionary

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

Number Cardinal Ordinal Adverbial Multiplier Distributive Collective Fractional Wikipedia link
0 ნული (nuli)
1 ერთი (erti) პირველი (ṗirveli) ერთხელ (ertxel), ერთჯერ (ertǯer) ერთმაგი (ertmagi) ერთმაგად (ertmagad) ერთივე (ertive) მთლიანი (mtliani), სრული (sruli), ერთიანი (ertiani) 1 (რიცხვი)
2 ორი (ori) მეორე (meore) ორჯერ (orǯer) ორმაგი (ormagi) ორმაგად (ormagad) ორივე (orive) ნახევარი (naxevari), მეორედი (meoredi) 2 (რიცხვი)
3 სამი (sami) მესამე (mesame) სამჯერ (samǯer) სამმაგი (sammagi) სამმაგად (sammagad) სამივე (samive) მესამედი (mesamedi) 3 (რიცხვი)
4 ოთხი (otxi) მეოთხე (meotxe) ოთხჯერ (otxǯer) ოთხმაგი (otxmagi) ოთხმაგად (otxmagad) ოთხივე (otxive) მეოთხედი (meotxedi) 4 (რიცხვი)
5 ხუთი (xuti) მეხუთე (mexute) ხუთჯერ (xutǯer) ხუთმაგი (xutmagi) ხუთმაგად (xutmagad) ხუთივე (xutive) მეხუთედი (mexutedi) 5 (რიცხვი)
6 ექვსი (ekvsi) მეექვსე (meekvse) ექვსჯერ (ekvsǯer) ექვსმაგი (ekvsmagi) ექვსმაგად (ekvsmagad) ექვსივე (ekvsive) მეექვსედი (meekvsedi) 6 (რიცხვი)
7 შვიდი (švidi) მეშვიდე (mešvide) შვიდჯერ (švidǯer) შვიდმაგი (švidmagi) შვიდმაგად (švidmagad) შვიდივე (švidive) მეშვიდედი (mešvidedi) 7 (რიცხვი)
8 რვა (rva) მერვე (merve) რვაჯერ (rvaǯer) რვამაგი (rvamagi) რვამაგად (rvamagad) რვავე (rvave) მერვედი (mervedi) 8 (რიცხვი)
9 ცხრა (cxra) მეცხრე (mecxre) ცხრაჯერ (cxraǯer) ცხრამაგი (cxramagi) ცხრამაგად (cxramagad) ცხრავე (cxrave) მეცხრედი (mecxredi) 9 (რიცხვი)
10 ათი (ati) მეათე (meate) ათჯერ (atǯer) ათმაგი (atmagi) ათმაგად (atmagad) ათივე (ative) მეათედი (meatedi) 10 (რიცხვი)
11 თერთმეტი (tertmeṭi) მეთერთმეტე (metertmeṭe) თერთმეტჯერ (tertmeṭǯer) თერთმეტმაგი (tertmeṭmagi) თერთმეტმაგად (tertmeṭmagad) თერთმეტივე (tertmeṭive) მეთერთმეტედი (metertmeṭedi) 11 (რიცხვი)
12 თორმეტი (tormeṭi) მეთორმეტე (metormeṭe) თორმეტჯერ (tormeṭǯer) თორმეტმაგი (tormeṭmagi) თორმეტმაგად (tormeṭmagad) თორმეტივე (tormeṭive) მეთორმეტედი (metormeṭedi) 12 (რიცხვი)
13 ცამეტი (cameṭi) მეცამეტე (mecameṭe) ცამეტჯერ (cameṭǯer) ცამეტმაგი (cameṭmagi) ცამეტმაგად (cameṭmagad) ცამეტივე (cameṭive) მეცამეტედი (mecameṭedi) 13 (რიცხვი)
14 თოთხმეტი (totxmeṭi) მეთოთხმეტე (metotxmeṭe) თოთხმეტჯერ (totxmeṭǯer) თოთხმეტმაგი (totxmeṭmagi) თოთხმეტმაგად (totxmeṭmagad) თოთხმეტივე (totxmeṭive) მეთოთხმეტედი (metotxmeṭedi) 14 (რიცხვი)
15 თხუთმეტი (txutmeṭi) მეთხუთმეტე (metxutmeṭe) თხუთმეტჯერ (txutmeṭǯer) თხუთმეტმაგი (txutmeṭmagi) თხუთმეტმაგად (txutmeṭmagad) თხუთმეტივე (txutmeṭive) მეთხუთმეტედი (metxutmeṭedi) 15 (რიცხვი)
16 თექვსმეტი (tekvsmeṭi) მეთექვსმეტე (metekvsmeṭe) თექვსმეტჯერ (tekvsmeṭǯer) თექვსმეტმაგი (tekvsmeṭmagi) თექვსმეტმაგად (tekvsmeṭmagad) თექვსმეტივე (tekvsmeṭive) მეთექვსმეტედი (metekvsmeṭedi) 16 (რიცხვი)
17 ჩვიდმეტი (čvidmeṭi) მეჩვიდმეტე (mečvidmeṭe) ჩვიდმეტჯერ (čvidmeṭǯer) ჩვიდმეტმაგი (čvidmeṭmagi) ჩვიდმეტმაგად (čvidmeṭmagad) ჩვიდმეტივე (čvidmeṭive) მეჩვიდმეტედი (mečvidmeṭedi) 17 (რიცხვი)
18 თვრამეტი (tvrameṭi) მეთვრამეტე (metvrameṭe) თვრამეტჯერ (tvrameṭǯer) თვრამეტმაგი (tvrameṭmagi) თვრამეტმაგად (tvrameṭmagad) თვრამეტივე (tvrameṭive) მეთვრამეტედი (metvrameṭedi) 18 (რიცხვი)
19 ცხრამეტი (cxrameṭi) მეცხრამეტე (mecxrameṭe) ცხრამეტჯერ (cxrameṭǯer) ცხრამეტმაგი (cxrameṭmagi) ცხრამეტმაგად (cxrameṭmagad) ცხრამეტივე (cxrameṭive) მეცხრამეტედი (mecxrameṭedi) 19 (რიცხვი)
20 ოცი (oci) მეოცე (meoce) ოცმაგი (ocmagi)
21 ოცდაერთი (ocdaerti) ოცდამეერთე (ocdameerte)
22 ოცდაორი (ocdaori) ოცდამეორე (ocdameore)
23 ოცდასამი (ocdasami) ოცდამესამე (ocdamesame)
24 ოცდაოთხი (ocdaotxi) ოცდამეოთხე (ocdameotxe)
25 ოცდახუთი (ocdaxuti) ოცდამეხუთე (ocdamexute)
26 ოცდაექვსი (ocdaekvsi) ოცდამეექვსე (ocdameekvse)
27 ოცდაშვიდი (ocdašvidi) ოცდამეშვიდე (ocdamešvide)
28 ოცდარვა (ocdarva) ოცდამერვე (ocdamerve)
29 ოცდაცხრა (ocdacxra) ოცდამეცხრე (ocdamecxre)
30 ოცდაათი (ocdaati) ოცდამეათე (ocdameate)
31 ოცდათერთმეტი (ocdatertmeṭi) ოცდამეთერთმეტე (ocdametertmeṭe)
32 ოცდათორმეტი (ocdatormeṭi) ოცდამეთორმეტე (ocdametormeṭe)
33 ოცდაცამეტი (ocdacameṭi) ოცდამეცამეტე (ocdamecameṭe)
34 ოცდათოთხმეტი (ocdatotxmeṭi) ოცდამეთოთხმეტე (ocdametotxmeṭe)
35 ოცდათხუთმეტი (ocdatxutmeṭi) ოცდამეთხუთმეტე (ocdametxutmeṭe)
36 ოცდათექვსმეტი (ocdatekvsmeṭi) ოცდამეთექვსმეტე (ocdametekvsmeṭe)
37 ოცდაჩვიდმეტი (ocdačvidmeṭi) ოცდამეჩვიდმეტე (ocdamečvidmeṭe)
38 ოცდათვრამეტი (ocdatvrameṭi) ოცდამეთვრამეტე (ocdametvrameṭe)
39 ოცდაცხრამეტი (ocdacxrameṭi) ოცდამეცხრამეტე (ocdamecxrameṭe)
40 ორმოცი (ormoci) მეორმოცე (meormoce)
41 ორმოცდაერთი (ormocdaerti) ორმოცდამეერთე (ormocdameerte)
42 ორმოცდაორი (ormocdaori) ორმოცდამეორე (ormocdameore)
43 ორმოცდასამი (ormocdasami) ორმოცდამესამე (ormocdamesame)
44 ორმოცდაოთხი (ormocdaotxi) ორმოცდამეოთხე (ormocdameotxe)
45 ორმოცდახუთი (ormocdaxuti) ორმოცდამეხუთე (ormocdamexute)
46 ორმოცდაექვსი (ormocdaekvsi) ორმოცდამეექვსე (ormocdameekvse)
47 ორმოცდაშვიდი (ormocdašvidi) ორმოცდამეშვიდე (ormocdamešvide)
48 ორმოცდარვა (ormocdarva) ორმოცდამერვე (ormocdamerve)
49 ორმოცდაცხრა (ormocdacxra) ორმოცდამეცხრე (ormocdamecxre)
50 ორმოცდაათი (ormocdaati) ორმოცდამეათე (ormocdameate)
51 ორმოცდათერთმეტი (ormocdatertmeṭi) ორმოცდამეთერთმეტე (ormocdametertmeṭe)
52 ორმოცდათორმეტი (ormocdatormeṭi) ორმოცდამეთორმეტე (ormocdametormeṭe)
53 ორმოცდაცამეტი (ormocdacameṭi) ორმოცდამეცამეტე (ormocdamecameṭe)
54 ორმოცდათოთხმეტი (ormocdatotxmeṭi) ორმოცდამეთოთხმეტე (ormocdametotxmeṭe)
55 ორმოცდათხუთმეტი (ormocdatxutmeṭi) ორმოცდამეთხუთმეტე (ormocdametxutmeṭe)
56 ორმოცდათექვსმეტი (ormocdatekvsmeṭi) ორმოცდამეთექვსმეტე (ormocdametekvsmeṭe)
57 ორმოცდაჩვიდმეტი (ormocdačvidmeṭi) ორმოცდამეჩვიდმეტე (ormocdamečvidmeṭe)
58 ორმოცდათვრამეტი (ormocdatvrameṭi) ორმოცდამეთვრამეტე (ormocdametvrameṭe)
59 ორმოცდაცხრამეტი (ormocdacxrameṭi) ორმოცდამეცხრამეტე (ormocdamecxrameṭe)
60 სამოცი (samoci) მესამოცე (mesamoce)
61 სამოცდაერთი (samocdaerti) სამოცდამეერთე (samocdameerte)
62 სამოცდაორი (samocdaori) სამოცდამეორე (samocdameore)
63 სამოცდასამი (samocdasami) სამოცდამესამე (samocdamesame)
64 სამოცდაოთხი (samocdaotxi) სამოცდამეოთხე (samocdameotxe)
65 სამოცდახუთი (samocdaxuti) სამოცდამეხუთე (samocdamexute)
66 სამოცდაექვსი (samocdaekvsi) სამოცდამეექვსე (samocdameekvse)
67 სამოცდაშვიდი (samocdašvidi) სამოცდამეშვიდე (samocdamešvide)
68 სამოცდარვა (samocdarva) სამოცდამერვე (samocdamerve)
69 სამოცდაცხრა (samocdacxra) სამოცდამეცხრე (samocdamecxre)
70 სამოცდაათი (samocdaati) სამოცდამეათე (samocdameate)
71 სამოცდათერთმეტი (samocdatertmeṭi) სამოცდამეთერთმეტე (samocdametertmeṭe)
72 სამოცდათორმეტი (samocdatormeṭi) სამოცდამეთორმეტე (samocdametormeṭe)
73 სამოცდაცამეტი (samocdacameṭi) სამოცდამეცამეტე (samocdamecameṭe)
74 სამოცდათოთხმეტი (samocdatotxmeṭi) სამოცდამეთოთხმეტე (samocdametotxmeṭe)
75 სამოცდათხუთმეტი (samocdatxutmeṭi) სამოცდამეთხუთმეტე (samocdametxutmeṭe)
76 სამოცდათექვსმეტი (samocdatekvsmeṭi) სამოცდამეთექვსმეტე (samocdametekvsmeṭe)
77 სამოცდაჩვიდმეტი (samocdačvidmeṭi) სამოცდამეჩვიდმეტე (samocdamečvidmeṭe)
78 სამოცდათვრამეტი (samocdatvrameṭi) სამოცდამეთვრამეტე (samocdametvrameṭe)
79 სამოცდაცხრამეტი (samocdacxrameṭi) სამოცდამეცხრამეტე (samocdamecxrameṭe)
80 ოთხმოცი (otxmoci) მეოთხმოცე (meotxmoce)
81 ოთხმოცდაერთი (otxmocdaerti) ოთხმოცდამეერთე (otxmocdameerte)
82 ოთხმოცდაორი (otxmocdaori) ოთხმოცდამეორე (otxmocdameore)
83 ოთხმოცდასამი (otxmocdasami) ოთხმოცდამესამე (otxmocdamesame)
84 ოთხმოცდაოთხი (otxmocdaotxi) ოთხმოცდამეოთხე (otxmocdameotxe)
85 ოთხმოცდახუთი (otxmocdaxuti) ოთხმოცდამეხუთე (otxmocdamexute)
86 ოთხმოცდაექვსი (otxmocdaekvsi) ოთხმოცდამეექვსე (otxmocdameekvse)
87 ოთხმოცდაშვიდი (otxmocdašvidi) ოთხმოცდამეშვიდე (otxmocdamešvide)
88 ოთხმოცდარვა (otxmocdarva) ოთხმოცდამერვე (otxmocdamerve)
89 ოთხმოცდაცხრა (otxmocdacxra) ოთხმოცდამეცხრე (otxmocdamecxre)
90 ოთხმოცდაათი (otxmocdaati) ოთხმოცდამეათე (otxmocdameate)
91 ოთხმოცდათერთმეტი (otxmocdatertmeṭi) ოთხმოცდამეთერთმეტე (otxmocdametertmeṭe)
92 ოთხმოცდათორმეტი (otxmocdatormeṭi) ოთხმოცდამეთორმეტე (otxmocdametormeṭe)
93 ოთხმოცდაცამეტი (otxmocdacameṭi) ოთხმოცდამეცამეტე (otxmocdamecameṭe)
94 ოთხმოცდათოთხმეტი (otxmocdatotxmeṭi) ოთხმოცდამეთოთხმეტე (otxmocdametotxmeṭe)
95 ოთხმოცდათხუთმეტი (otxmocdatxutmeṭi) ოთხმოცდამეთხუთმეტე (otxmocdametxutmeṭe)
96 ოთხმოცდათექვსმეტი (otxmocdatekvsmeṭi) ოთხმოცდამეთექვსმეტე (otxmocdametekvsmeṭe)
97 ოთხმოცდაჩვიდმეტი (otxmocdačvidmeṭi) ოთხმოცდამეჩვიდმეტე (otxmocdamečvidmeṭe)
98 ოთხმოცდათვრამეტი (otxmocdatvrameṭi) ოთხმოცდამეთვრამეტე (otxmocdametvrameṭe)
99 ოთხმოცდაცხრამეტი (otxmocdacxrameṭi) ოთხმოცდამეცხრამეტე (otxmocdamecxrameṭe)
100 ასი (asi) მეასე (mease) ასმაგი (asmagi) 100 (რიცხვი)
200 ორასი (orasi) მეორასე (meorase)
300 სამასი (samasi) მესამასე (mesamase)
400 ოთხასი (otxasi) მეოთხასე (meotxase)
500 ხუთასი (xutasi) მეხუთასე (mexutase)
600 ექვსასი (ekvsasi) მეექვსასე (meekvsase)
700 შვიდასი (švidasi) მეშვიდასე (mešvidase)
800 რვაასი (rvaasi) მერვაასე (mervaase)
900 ცხრაასი (cxraasi) მეცხრაასე (mecxraase)
1,000 ათასი (atasi) მეათასე (meatase) ათასმაგი (atasmagi) 1000 (რიცხვი)
1,000,000 (106) მილიონი (milioni) მემილიონე (memilione) 1,000,000

local export = {numbers = {}}

-- Automatically create new subtables of export.numbers through __index,
-- automatically add new fields of export.numbers
-- without overwriting old ones through __newindex.
local actual_numbers = export.numbers

local namespace = mw.title.getCurrentTitle().nsText
local function log(...)
	if namespace == "Module" then
		mw.log(...)
	end
end

local proxy_number_metatable = {
	__newindex = function (self, k, v)
		local old = rawget(self.__actual, k)
		if old then
			log("k: " .. k .. "; old " .. old .. "; new " .. v .. "; old == new: " .. tostring(old == v))
		end
		
		if type(old) == "table" then
			table.insert(old, v)
		elseif type(old) == "string" then
			if old ~= v then
				rawset(self.__actual, k, { old, v })
			end
		else
			rawset(self.__actual, k, v)
		end
	end,
	__index = function (self, k)
		return rawget(self.__actual, k)
	end,
}

local proxy_subtables = {}
local function get_proxy_number_table(k, actual_table)
	local t = proxy_subtables[k]
	if not t then
		t = setmetatable({ __actual = actual_table }, proxy_number_metatable)
		proxy_subtables[k] = t
	end
	return t
end

local function get_actual_number_table(k)
	local t = actual_numbers[k]
	if not t then
		t = {}
		actual_numbers[k] = t
	end
	return t
end

local proxy_numbers = setmetatable({}, {
	__newindex = function (self, k1, fields)
		local subtable = get_actual_number_table(k1)
		local proxy_subtable = get_proxy_number_table(k1, subtable)
		if not proxy_subtable then
			proxy_subtable = new_proxy_number_table(subtable)
			mw.log("new proxy_subtable for " .. k1)
			rawset(proxy_subtables, k1, proxy_subtable)
		end
		for k, v in pairs(fields) do
			proxy_subtable[k] = v
		end
	end,
	__index = function (self, k)
		local actual_table = get_actual_number_table(k)
		local proxy_table = get_proxy_number_table(k, actual_table)
		return proxy_table
	end,
})
local numbers = proxy_numbers

local adverbial_suffix = "ჯერ"
local multiplier_suffix = "მაგი"
local distributive_suffix = "ად"
local collective_suffix = "ვე"
local fractional_suffix = "დი"

numbers[0].cardinal = "ნული"

numbers[1] = {
	cardinal = "ერთი",
	ordinal = "პირველი",
	multiplier = "ერთმაგი",
	distributive = "ერთმაგად",
	adverbial = "ერთხელ",
	collective = "ერთივე",
	fractional = { "მთლიანი", "სრული", "ერთიანი" },
	wplink = "1 (რიცხვი)",
}

numbers[2] = {
	cardinal = "ორი",
	multiplier = "ორმაგი",
	distributive = "ორმაგად",
	adverbial = "ორჯერ",
	collective = "ორივე",
	fractional = "ნახევარი", -- regular fractional added below
	wplink = "2 (რიცხვი)",
}

numbers[3] = {
	cardinal = "სამი",
	distributive = "სამმაგად",
	adverbial = "სამჯერ",
	collective = "სამივე",
	fractional = "მესამედი",
	wplink = "3 (რიცხვი)",
}

numbers[4] = {
	cardinal = "ოთხი",
	distributive = "ოთხმაგად",
	adverbial = "ოთხჯერ",
	collective = "ოთხივე",
	fractional = "მეოთხედი",
	wplink = "4 (რიცხვი)",
}

numbers[5] = {
	cardinal = "ხუთი",
	distributive = "ხუთმაგად",
	adverbial = "ხუთჯერ",
	collective = "ხუთივე",
	fractional = "მეხუთედი",
	wplink = "5 (რიცხვი)",
}

numbers[6] = {
	cardinal = "ექვსი",
	distributive = "ექვსმაგად",
	adverbial = "ექვსჯერ",
	collective = "ექვსივე",
	fractional = "მეექვსედი",
	wplink = "6 (რიცხვი)",
}

numbers[7] = {
	cardinal = "შვიდი",
	distributive = "შვიდმაგად",
	adverbial = "შვიდჯერ",
	collective = "შვიდივე",
	fractional = "მეშვიდედი",
	wplink = "7 (რიცხვი)",
}

numbers[8] = {
	cardinal = "რვა",
	distributive = "რვამაგად",
	adverbial = "რვაჯერ",
	collective = "რვავე",
	fractional = "მერვედი",
	wplink = "8 (რიცხვი)",
}

numbers[9] = {
	cardinal = "ცხრა",
	distributive = "ცხრამაგად",
	adverbial = "ცხრაჯერ",
	collective = "ცხრავე",
	fractional = "მეცხრედი",
	wplink = "9 (რიცხვი)",
}

numbers[10] = {
	cardinal = "ათი",
	distributive = "ათმაგად",
	adverbial = "ათჯერ",
	collective = "ათივე",
	fractional = "მეათედი",
	wplink = "10 (რიცხვი)",
}

numbers[11] = {
	cardinal = "თერთმეტი",
	multiplier = "თერთმეტმაგი",
	distributive = "თერთმეტმაგად",
	adverbial = "თერთმეტჯერ",
	collective = "თერთმეტივე",
	fractional = "მეთერთმეტედი",
	wplink = "11 (რიცხვი)",
}

numbers[12] = {
	cardinal = "თორმეტი",
	multiplier = "თორმეტმაგი",
	distributive = "თორმეტმაგად",
	adverbial = "თორმეტჯერ",
	collective = "თორმეტივე",
	fractional = "მეთორმეტედი",
	wplink = "12 (რიცხვი)",
}

numbers[13] = {
	cardinal = "ცამეტი",
	multiplier = "ცამეტმაგი",
	distributive = "ცამეტმაგად",
	adverbial = "ცამეტჯერ",
	collective = "ცამეტივე",
	fractional = "მეცამეტედი",
	wplink = "13 (რიცხვი)",
}

numbers[14] = {
	cardinal = "თოთხმეტი",
	multiplier = "თოთხმეტმაგი",
	distributive = "თოთხმეტმაგად",
	adverbial = "თოთხმეტჯერ",
	collective = "თოთხმეტივე",
	fractional = "მეთოთხმეტედი",
	wplink = "14 (რიცხვი)",
}

numbers[15] = {
	cardinal = "თხუთმეტი",
	multiplier = "თხუთმეტმაგი",
	distributive = "თხუთმეტმაგად",
	adverbial = "თხუთმეტჯერ",
	collective = "თხუთმეტივე",
	fractional = "მეთხუთმეტედი",
	wplink = "15 (რიცხვი)",
}

numbers[16] = {
	cardinal = "თექვსმეტი",
	multiplier = "თექვსმეტმაგი",
	distributive = "თექვსმეტმაგად",
	adverbial = "თექვსმეტჯერ",
	collective = "თექვსმეტივე",
	fractional = "მეთექვსმეტედი",
	wplink = "16 (რიცხვი)",
}

numbers[17] = {
	cardinal = "ჩვიდმეტი",
	multiplier = "ჩვიდმეტმაგი",
	distributive = "ჩვიდმეტმაგად",
	adverbial = "ჩვიდმეტჯერ",
	collective = "ჩვიდმეტივე",
	fractional = "მეჩვიდმეტედი",
	wplink = "17 (რიცხვი)",
}

numbers[18] = {
	cardinal = "თვრამეტი",
	multiplier = "თვრამეტმაგი",
	distributive = "თვრამეტმაგად",
	adverbial = "თვრამეტჯერ",
	collective = "თვრამეტივე",
	fractional = "მეთვრამეტედი",
	wplink = "18 (რიცხვი)",
}

numbers[19] = {
	cardinal = "ცხრამეტი",
	multiplier = "ცხრამეტმაგი",
	distributive = "ცხრამეტმაგად",
	adverbial = "ცხრამეტჯერ",
	collective = "ცხრამეტივე",
	fractional = "მეცხრამეტედი",
	wplink = "19 (რიცხვი)",
}


numbers[20].multiplier = "ოც" .. multiplier_suffix

local function remove_final_vowel(word)
	return (mw.ustring.gsub(word, "[აეიოუ]$", ""))
end

local function remove_final_i(word)
	return word:gsub("ი$", "")
end

local function get_cardinal(number)
	return numbers[number].cardinal
end

local function get(number, type)
	return numbers[number][type]
end

local function circumfix_ordinal(cardinal)
	return "მე" .. remove_final_vowel(cardinal) .. "ე"
end

for number = 2, 19 do
	numbers[number].ordinal = circumfix_ordinal(get_cardinal(number))
end

for number = 1, 10 do
	numbers[number].adverbial = remove_final_i(get_cardinal(number))
		.. adverbial_suffix
end

for number = 2, 10 do
	numbers[number].multiplier = remove_final_i(get_cardinal(number))
		.. multiplier_suffix
	
	numbers[number].distributive = remove_final_i(get(number, "multiplier"))
		.. distributive_suffix
	
	numbers[number].collective = get_cardinal(number)
		.. collective_suffix
	
	numbers[number].fractional = remove_final_i(get(number, "ordinal"))
		.. fractional_suffix
end

local twenty = "ოცი"
-- Add cardinals and ordinals for 20-99.
for i = 1, 4 do
	local twenties = i * 20
	local twenties_cardinal
	if i ~= 1 then
		twenties_cardinal = (remove_final_vowel(get_cardinal(i)) .. "მ" .. twenty)
			:gsub("მმ", "მ")
	else
		twenties_cardinal = twenty
	end
	numbers[twenties] = {
		cardinal = twenties_cardinal,
		ordinal = circumfix_ordinal(twenties_cardinal),
	}
	
	local twenties_and = remove_final_vowel(twenties_cardinal) .. "და"
	
	for ones = 1, 19 do
		numbers[twenties + ones] = {
			cardinal = twenties_and .. get_cardinal(ones),
			ordinal = twenties_and .. circumfix_ordinal(get_cardinal(ones)),
		}
	end
end

local hundred_cardinal = "ასი"
numbers[100].multiplier = "ას" .. multiplier_suffix
numbers[100].wplink = "100 (რიცხვი)"

for i = 1, 10 do
	local cardinal
	if i == 1 then
		cardinal = hundred_cardinal
	elseif i == 8 then
		cardinal = "რვა" .. hundred_cardinal
	elseif i == 9 then
		cardinal = "ცხრა" .. hundred_cardinal
	else
		cardinal = remove_final_vowel(get_cardinal(i)) .. hundred_cardinal
	end
	numbers[i * 100] = {
		cardinal = cardinal,
		ordinal = circumfix_ordinal(cardinal), -- is this right?
	}
end

numbers[1000].multiplier = "ათას" .. multiplier_suffix
numbers[1000].wplink = "1000 (რიცხვი)"

numbers[1000000] = {
	cardinal = "მილიონი",
	ordinal = "მემილიონე",
	wplink = "1,000,000"
}

return export