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 = {
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 = {
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 = {
description = "{{{langname}}} " .. pos .. " that lack declension type.",
parents = {"entry maintenance"},
hidden = true,
can_be_empty = true,
}
end
------- Verbal categories -------
labels = {
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 = {
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}