Module:iu-headword

Hello, you have come here looking for the meaning of the word Module:iu-headword. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:iu-headword, but we will also tell you about its etymology, its characteristics and you will know how to say Module:iu-headword in singular and plural. Everything you need to know about the word Module:iu-headword you have here. The definition of the word Module:iu-headword will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:iu-headword, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

This module needs documentation.
Please document this module by describing its purpose and usage on the documentation page.

local export = {}
local pos_functions = {}

local lang = require("Module:languages").getByCode("iu")

-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
	PAGENAME = mw.title.getCurrentTitle().text

	local poscat = frame.args or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")

	local params = {
		 = {list = true},
		 = {type = "boolean"},
	}
	
	if pos_functions then
		for key, val in pairs(pos_functions.params) do
			params = val
		end
	end
	
	local args = require("Module:parameters").process(frame:getParent().args, params)
	
	local data = {lang = lang, pos_category = poscat, categories = {}, heads = args, inflections = {}}
	
	if args then
		data.pos_category = "suffixes"

		if poscat == "adjectives" then
			table.insert(data.categories, lang:getCanonicalName() .. " adjective-forming suffixes")
		elseif poscat == "adverbs" then
			table.insert(data.categories, lang:getCanonicalName() .. " adverb-forming suffixes")
		elseif poscat == "nouns" then
			table.insert(data.categories, lang:getCanonicalName() .. " noun-forming suffixes")
		elseif poscat == "verbs" then
			table.insert(data.categories, lang:getCanonicalName() .. " verb-forming suffixes")
		else
			error("No category exists for suffixes forming " .. poscat .. ".")
		end
	end

	if pos_functions then
		pos_functions.func(args, data)
	end

	return require("Module:headword").full_headword(data)
end

pos_functions = {
	params = {
		 = {list = true, allow_holes = true},
	},
	func = function(args, data)
		if args == "-" then
			table.insert(data.inflections, {label = "uncountable"})
			table.insert(data.inflections, {label = "Latin", require("Module:iu-translit").tr(PAGENAME, "iu", "Cans")})
		else
			local plural = PAGENAME

			if mw.ustring.find("ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑌᑎᑏᑐᑑᑕᑖᑫᑭᑮᑯᑰᑲᑳᒉᒋᒌᒍᒎᒐᒑᒣᒥᒦᒧᒨᒪᒫᓀᓂᓃᓄᓅᓇᓈᓭᓯᓰᓱᓲᓴᓵᓓᓕᓖᓗᓘᓚᓛᔦᔨᔩᔪᔫᔭᔮᕓᕕᕖᕗᕘᕙᕚᕃᕆᕇᕈᕉᕋᕌᙯᕿᖀᖁᖂᖃᖄᙰᖏᖐᖑᖒᖓᖔᙱᙲᙳᙴᙵᙶᖠᖡᖢᖣᖤᖥ", mw.ustring.sub(plural, -1)) then
				plural = plural .. "ᑦ"
			elseif mw.ustring.sub(plural, -1) == "ᑦ" then
				plural = mw.ustring.sub(plural, 1, mw.ustring.len(plural) - 1) .. "ᑏᑦ"
			elseif mw.ustring.find("ᐦᑉᒃᒡᒻᓐᔅᓪᔾᕝᕐᖅᖕᖖᖦ", mw.ustring.sub(plural, -1)) then
				plural = mw.ustring.sub(plural, 1, mw.ustring.len(plural) - 1)

				if mw.ustring.find("ᐁᐄᐆᐋᐯᐲᐴᐹᑌᑏᑑᑖᑫᑮᑰᑳᒉᒌᒎᒑᒣᒦᒨᒫᓀᓃᓅᓈᓭᓰᓲᓵᓓᓖᓘᓛᔦᔩᔫᔮᕓᕖᕘᕚᕃᕇᕉᕌᙯᖀᖂᖄᙰᖐᖒᖔᙲᙴᙶᖡᖣᖥ", mw.ustring.sub(plural, -1)) or mw.ustring.find("ᐁᐃ ᐃᐃ ᐄᐃ ᐅᐃ ᐆᐃ ᐊᐃ ᐋᐃ ᐯᐃ ᐱᐃ ᐲᐃ ᐳᐃ ᐴᐃ ᐸᐃ ᐹᐃ ᑌᐃ ᑎᐃ ᑏᐃ ᑐᐃ ᑑᐃ ᑕᐃ ᑖᐃ ᑫᐃ ᑭᐃ ᑮᐃ ᑯᐃ ᑰᐃ ᑲᐃ ᑳᐃ ᒉᐃ ᒋᐃ ᒌᐃ ᒍᐃ ᒎᐃ ᒐᐃ ᒑᐃ ᒣᐃ ᒥᐃ ᒦᐃ ᒧᐃ ᒨᐃ ᒪᐃ ᒫᐃ ᓀᐃ ᓂᐃ ᓃᐃ ᓄᐃ ᓅᐃ ᓇᐃ ᓈᐃ ᓭᐃ ᓯᐃ ᓰᐃ ᓱᐃ ᓲᐃ ᓴᐃ ᓵᐃ ᓓᐃ ᓕᐃ ᓖᐃ ᓗᐃ ᓘᐃ ᓚᐃ ᓛᐃ ᔦᐃ ᔨᐃ ᔩᐃ ᔪᐃ ᔫᐃ ᔭᐃ ᔮᐃ ᕓᐃ ᕕᐃ ᕖᐃ ᕗᐃ ᕘᐃ ᕙᐃ ᕚᐃ ᕃᐃ ᕆᐃ ᕇᐃ ᕈᐃ ᕉᐃ ᕋᐃ ᕌᐃ ᙯᐃ ᕿᐃ ᖀᐃ ᖁᐃ ᖂᐃ ᖃᐃ ᖄᐃ ᙰᐃ ᖏᐃ ᖐᐃ ᖑᐃ ᖒᐃ ᖓᐃ ᖔᐃ ᙱᐃ ᙲᐃ ᙳᐃ ᙴᐃ ᙵᐃ ᙶᐃ ᖠᐃ ᖡᐃ ᖢᐃ ᖣᐃ ᖤᐃ ᖥᐃ ᐁᐅ ᐃᐅ ᐄᐅ ᐅᐅ ᐆᐅ ᐊᐅ ᐋᐅ ᐯᐅ ᐱᐅ ᐲᐅ ᐳᐅ ᐴᐅ ᐸᐅ ᐹᐅ ᑌᐅ ᑎᐅ ᑏᐅ ᑐᐅ ᑑᐅ ᑕᐅ ᑖᐅ ᑫᐅ ᑭᐅ ᑮᐅ ᑯᐅ ᑰᐅ ᑲᐅ ᑳᐅ ᒉᐅ ᒋᐅ ᒌᐅ ᒍᐅ ᒎᐅ ᒐᐅ ᒑᐅ ᒣᐅ ᒥᐅ ᒦᐅ ᒧᐅ ᒨᐅ ᒪᐅ ᒫᐅ ᓀᐅ ᓂᐅ ᓃᐅ ᓄᐅ ᓅᐅ ᓇᐅ ᓈᐅ ᓭᐅ ᓯᐅ ᓰᐅ ᓱᐅ ᓲᐅ ᓴᐅ ᓵᐅ ᓓᐅ ᓕᐅ ᓖᐅ ᓗᐅ ᓘᐅ ᓚᐅ ᓛᐅ ᔦᐅ ᔨᐅ ᔩᐅ ᔪᐅ ᔫᐅ ᔭᐅ ᔮᐅ ᕓᐅ ᕕᐅ ᕖᐅ ᕗᐅ ᕘᐅ ᕙᐅ ᕚᐅ ᕃᐅ ᕆᐅ ᕇᐅ ᕈᐅ ᕉᐅ ᕋᐅ ᕌᐅ ᙯᐅ ᕿᐅ ᖀᐅ ᖁᐅ ᖂᐅ ᖃᐅ ᖄᐅ ᙰᐅ ᖏᐅ ᖐᐅ ᖑᐅ ᖒᐅ ᖓᐅ ᖔᐅ ᙱᐅ ᙲᐅ ᙳᐅ ᙴᐅ ᙵᐅ ᙶᐅ ᖠᐅ ᖡᐅ ᖢᐅ ᖣᐅ ᖤᐅ ᖥᐅ ᐁᐊ ᐃᐊ ᐄᐊ ᐅᐊ ᐆᐊ ᐊᐊ ᐋᐊ ᐯᐊ ᐱᐊ ᐲᐊ ᐳᐊ ᐴᐊ ᐸᐊ ᐹᐊ ᑌᐊ ᑎᐊ ᑏᐊ ᑐᐊ ᑑᐊ ᑕᐊ ᑖᐊ ᑫᐊ ᑭᐊ ᑮᐊ ᑯᐊ ᑰᐊ ᑲᐊ ᑳᐊ ᒉᐊ ᒋᐊ ᒌᐊ ᒍᐊ ᒎᐊ ᒐᐊ ᒑᐊ ᒣᐊ ᒥᐊ ᒦᐊ ᒧᐊ ᒨᐊ ᒪᐊ ᒫᐊ ᓀᐊ ᓂᐊ ᓃᐊ ᓄᐊ ᓅᐊ ᓇᐊ ᓈᐊ ᓭᐊ ᓯᐊ ᓰᐊ ᓱᐊ ᓲᐊ ᓴᐊ ᓵᐊ ᓓᐊ ᓕᐊ ᓖᐊ ᓗᐊ ᓘᐊ ᓚᐊ ᓛᐊ ᔦᐊ ᔨᐊ ᔩᐊ ᔪᐊ ᔫᐊ ᔭᐊ ᔮᐊ ᕓᐊ ᕕᐊ ᕖᐊ ᕗᐊ ᕘᐊ ᕙᐊ ᕚᐊ ᕃᐊ ᕆᐊ ᕇᐊ ᕈᐊ ᕉᐊ ᕋᐊ ᕌᐊ ᙯᐊ ᕿᐊ ᖀᐊ ᖁᐊ ᖂᐊ ᖃᐊ ᖄᐊ ᙰᐊ ᖏᐊ ᖐᐊ ᖑᐊ ᖒᐊ ᖓᐊ ᖔᐊ ᙱᐊ ᙲᐊ ᙳᐊ ᙴᐊ ᙵᐊ ᙶᐊ ᖠᐊ ᖡᐊ ᖢᐊ ᖣᐊ ᖤᐊ ᖥᐊ", mw.ustring.sub(plural, -2, -1)) then
					plural = plural .. "ᑦ"
				else
					plural = plural .. "ᐃᑦ"
				end
			end

			table.insert(data.inflections, {label = "plural", accel = {form = "p"}, plural})
			table.insert(data.inflections, {label = "Latin", require("Module:iu-translit").tr(PAGENAME, "iu", "Cans")})
		end
	end
}

return export