Module:qay-noun/data

From Linguifex
Jump to navigation Jump to search

Documentation for this module may be created at Module:qay-noun/data/doc

local sub = mw.ustring.sub
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local PAGENAME = mw.title.getCurrentTitle().text

local data = {}

data["in_c"] = {
	params = {
		[1] = {},
	},
}
setmetatable(data["in_c"], {__call = function(self, args, data)
	local stem = PAGENAME; data.decl_type = "consonantal";
		  
	table.insert(data.categories, "Ayeri consonantal " .. (data.proper and "proper" or "") .. " nouns")
	
	data.forms["top_s"] = {stem}
	data.forms["age_s"] = {stem .. "reng"}
	data.forms["pat_s"] = {stem .. "ley"}
	data.forms["dat_s"] = {stem .. "yam"}
	data.forms["gen_s"] = {stem .. "ena"}
	data.forms["loc_s"] = {stem .. "ya"}
	data.forms["cau_s"] = {stem .. "isa"}
	data.forms["ins_s"] = {stem .. "eri"}
	
	data.forms["top_p"] = {stem .. "ye"}
	data.forms["age_p"] = {stem .. "yereng"}
	data.forms["pat_p"] = {stem .. "yeley"}
	data.forms["dat_p"] = {stem .. "jyam"}
	data.forms["gen_p"] = {stem .. "yena"}
	data.forms["loc_p"] = {stem .. "jya"}
	data.forms["cau_p"] = {stem .. "jisa"}
	data.forms["ins_p"] = {stem .. "yeri"}
	
end
})

data["in_v"] = {
	params = {
		[1] = {},
	},
}
setmetatable(data["in_v"], {__call = function(self, args, data)
	local stem = PAGENAME; data.decl_type = "vocalic";
	local s1 = sub(stem, 1, -2)
		  
	table.insert(data.categories, "Ayeri vocalic " .. (data.proper and "proper" or "") .. " nouns")
	
	data.forms["top_s"] = {stem}
	data.forms["age_s"] = {stem .. "reng"}
	data.forms["pat_s"] = {stem .. "ley"}
	data.forms["dat_s"] = {stem .. "yam"}
	data.forms["gen_s"] = {stem .. "na"}
	data.forms["loc_s"] = {stem .. "ya"}
	data.forms["cau_s"] = {(stem:match("i$") and s1 .. "ī" or stem .. "i") .. "sa"}
	data.forms["ins_s"] = {stem .. "ri"}
	
	data.forms["top_p"] = {stem .. "ye"}
	data.forms["age_p"] = {stem .. "yereng"}
	data.forms["pat_p"] = {stem .. "yeley"}
	data.forms["dat_p"] = {stem .. "jyam"}
	data.forms["gen_p"] = {stem .. "yena"}
	data.forms["loc_p"] = {stem .. "jya"}
	data.forms["cau_p"] = {stem .. "jisa"}
	data.forms["ins_p"] = {stem .. "yeri"}
	
end
})

data["an_c"] = {
	params = {
		[1] = {},
	},
}
setmetatable(data["an_c"], {__call = function(self, args, data)
	local stem = PAGENAME; data.decl_type = "consonantal";
		  
	table.insert(data.categories, "Ayeri consonantal " .. (data.proper and "proper" or "") .. " nouns")
	
	data.forms["top_s"] = {stem}
	data.forms["age_s"] = {stem .. "ang"}
	data.forms["pat_s"] = {stem .. "as"}
	data.forms["dat_s"] = {stem .. "yam"}
	data.forms["gen_s"] = {stem .. "ena"}
	data.forms["loc_s"] = {stem .. "ya"}
	data.forms["cau_s"] = {stem .. "isa"}
	data.forms["ins_s"] = {stem .. "eri"}
	
	data.forms["top_p"] = {stem .. "ye"}
	data.forms["age_p"] = {stem .. "jang"}
	data.forms["pat_p"] = {stem .. "jas"}
	data.forms["dat_p"] = {stem .. "jyam"}
	data.forms["gen_p"] = {stem .. "yena"}
	data.forms["loc_p"] = {stem .. "jya"}
	data.forms["cau_p"] = {stem .. "jisa"}
	data.forms["ins_p"] = {stem .. "yeri"}
	
end
})

data["an_v"] = {
	params = {
		[1] = {},
	},
}
setmetatable(data["an_v"], {__call = function(self, args, data)
	local stem = PAGENAME; data.decl_type = "vocalic"; local s1 = sub(stem, 1, -2)
		  
	table.insert(data.categories, "Ayeri vocalic " .. (data.proper and "proper" or "") .. " nouns")
	
	data.forms["top_s"] = {stem}
	data.forms["age_s"] = {(stem:match("a$") and s1 .. "ā" or stem .. "a") .. "ng"}
	data.forms["pat_s"] = {(stem:match("a$") and s1 .. "ā" or stem .. "a") .. "s"}
	data.forms["dat_s"] = {stem .. "yam"}
	data.forms["gen_s"] = {stem .. "na"}
	data.forms["loc_s"] = {stem .. "ya"}
	data.forms["cau_s"] = {(stem:match("i$") and s1 .. "ī" or stem .. "i") .. "sa"}
	data.forms["ins_s"] = {stem .. "ri"}
	
	data.forms["top_p"] = {stem .. "ye"}
	data.forms["age_p"] = {stem .. "jang"}
	data.forms["pat_p"] = {stem .. "jas"}
	data.forms["dat_p"] = {stem .. "jyam"}
	data.forms["gen_p"] = {stem .. "yena"}
	data.forms["loc_p"] = {stem .. "jya"}
	data.forms["cau_p"] = {stem .. "jisa"}
	data.forms["ins_p"] = {stem .. "yeri"}
	
end
})

return data