Module:category tree/lang/odt

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

This module handles generating the descriptions and categorization for Old Dutch category pages of the format "Old Dutch LABEL" where LABEL can be any text. Examples are Category:Bulgarian conjugation 2.1 verbs and Category:Russian velar-stem neuter-form nouns. This module is part of the category tree system, which is a general framework for generating the descriptions and categorization of category pages.

For more information, see Module:category tree/lang/documentation.

NOTE: If you add a new language-specific module, you must add the language code to the list at the top of Module:category tree/lang in order for the module to be recognized.


local labels = {}
local handlers = {}

local insert = table.insert

labels = {
	parents = {{ name = "verbs", sort = "derivation" }},
	breadcrumb = "by derivation type",
}

labels = {
	description = "{{{langname}}} verbs that split into two parts in certain constructions.",
	parents = "verbs by derivation type",
	breadcrumb = "separable",
}

labels = {
	description = "{{{langname}}} verbs which are not prefixed and cannot be separated.",
	parents = "verbs by derivation type",
	breadcrumb = "basic",
}

labels = {
	parents = "verbs by derivation type",
	breadcrumb = "prefixed",
}

labels = {
	-- add a description
	parents = {
		"verbs by inflection type",
		"irregular verbs",
	},
	breadcrumb = "contracted",
}

labels = {
	-- add a description
	parents = {
		"verbs by inflection type",
		"irregular verbs",
		"strong verbs",
	},
	breadcrumb = "irregular strong",
}

labels = {
	description = "{{{langname}}} verbs which alternate between consonants according to ].",
	parents = "irregular strong verbs",
	breadcrumb = "Verner alternating",
}

labels = {
	-- add a description
	parents = {
		"verbs by inflection type",
		"irregular verbs",
		"weak verbs",
	},
	breadcrumb = "irregular weak",
}

labels = {
	-- add a description
	parents = {
		"verbs by inflection type",
		"irregular verbs",
	},
	breadcrumb = "hiatus",
}

labels = {
	description = "{{{langname}}} nouns which end in a consonant.",
	parents = "nouns by inflection type",
	breadcrumb = "consonant stem",
}

insert(handlers, function (data)
	local class = data.label:match("^class () strong j%-present verbs$")
	if class then
		return {
			description = "{{{langname}}} class " .. class .. " strong verbs with a -''j''- suffix in the present tense. ",
			parents = {
				"class " .. class .. " strong verbs",
				"irregular strong verbs",
			},
			breadcrumb = "j-present",
		}
	end
end)

insert(handlers, function (data)
	local separable, with = data.label:match("^(separable) verbs with (.+)$")
	if separable and with then
		return {
			description = "{{{langname}}} verbs which separate into " .. with .. " and their stem.",
			parents = "separable verbs",
			breadcrumb = with,
		}
	end
end)

insert(handlers, function(data)
	local gender, category
	for _, g in ipairs({ "feminine", "masculine", "neuter" }) do
		gender, category = data.label:match("^(" .. g .. ") (.+)$")
		if gender then break end
	end
	category = category or data.label
	local stem, POS = category:match("^(.-)%-stem (%w+)$")
	if stem and POS then
		local ret = {
			description = "{{{langname}}} " .. (gender or "") .. " " .. POS .. " which decline in historical {{m|odt||-" .. stem .. "}}.",
			breadcrumb = (gender and gender .. " " or "") .. "-" .. stem .. " stems",
		}
		if gender then
			ret.parents = {
				stem .. "-stem " .. POS,
				"nouns by inflection type",
			}
		else
			ret.parents = { 
				{ name = POS, sort = stem },
				{ name = "nouns by inflection type", sort = stem },
			}
		end
		return ret
	end
end)

return { LABELS = labels, HANDLERS = handlers }