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

From Wiktionary, the free dictionary
Jump to navigation Jump to search

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}