Module:category tree/poscatboiler/data/lang-specific/et

This module handles generating the descriptions and categorization for Estonian category pages of the format "Estonian 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 poscatboiler system, which is a general framework for generating the descriptions and categorization of category pages.

For more information, see Module:category tree/poscatboiler/data/lang-specific/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/poscatboiler/data/lang-specific in order for the module to be recognized.


local labels = {}
local handlers = {}

------- Nominal categories -------

labels["nominals by inflection type"] = {
	description = "{{{langname}}} nouns and adjectives categorized by their inflection type.",
	breadcrumb = "by inflection type",
	preceding = "{{mainapp|Estonian declension}}",
	parents = {
		{name = "nouns", sort = "inflection type"},
		{name = "adjectives", sort = "inflection type"},
	},
}

table.insert(handlers, function(data)
	local nomtype = data.label:match("^(.*)%-type nominals$")
	if nomtype then
		return {
			description = ("{{{langname}}} ''%s''-type nominals."):format(nomtype),
			additional = ("Terms are added to this category using {{tl|et-decl-%s}}."):format(nomtype),
			breadcrumb = {name = ("''%s''-type"):format(nomtype), nocap = true},
			parents = {"nominals by inflection type"},
		}
	end
end)

labels["irregular nominals"] = {
	description = "{{{langname}}} nominals that follow non-standard patterns of declension.",
	breadcrumb = "irregular",
	parents = {"nouns", "adjectives", "pronouns",
		{name = "irregular nouns", lang = false},
		{name = "irregular adjectives", lang = false},
	},
}

for _, pos in ipairs { "adjectives", "nouns" } do
	labels[pos .. " that lack declension type"] = {
		description = "{{{langname}}} " .. pos .. " that lack declension type.",
		parents = {"entry maintenance"},
		hidden = true,
		can_be_empty = true,
	}
end

------- Verbal categories -------

labels["verbs by inflection type"] = {
	description = "{{{langname}}} verbs categorized by their inflection type.",
	breadcrumb = "by inflection type",
	preceding = "{{mainapp|Estonian conjugation}}",
	parents = {
		{name = "verbs", sort = "inflection type"},
		{name = "verbs by inflection type", lang = false},
	},
}

table.insert(handlers, function(data)
	local verbtype = data.label:match("^(.*)%-type verbs$")
	if verbtype then
		return {
			description = ("{{{langname}}} ''%s''-type verbs."):format(verbtype),
			additional = ("Terms are added to this category using {{tl|et-conj-%s}}."):format(verbtype),
			breadcrumb = {name = ("''%s''-type"):format(verbtype), nocap = true},
			parents = {"verbs by inflection type"},
		}
	end
end)

------- Misc categories -------

labels["entries with inflection not matching pagename"] = {
	description = "{{{langname}}} entries which have an inflection table whose lemma form does not match the page name.",
	additional = "This is usually the result of incorrect or missing parameters.",
	breadcrumb = "inflection not matching pagename",
	parents = {{name = "entry maintenance", sort = "inflection not matching pagename"}},
	hidden = true,
	can_be_empty = true,
}


return {LABELS = labels, HANDLERS = handlers}