Jump to content

Module:category tree/lang/zle-ort

From Wiktionary, the free dictionary

This module handles generating the descriptions and categorization for Old Ruthenian category pages of the format "Old Ruthenian 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 = {}

--------------------------------- Nouns/Pronouns/Numerals --------------------------------

local noun_decls = {
	["hard a-stem"] = {
		singular = "-а",
		plural = "-ы",
		gender = "feminine",
		sortkey = "a-stem",
	},
	["soft a-stem"] = {
		singular = "-ꙗ",
		plural = "-и", -- ? FIXME
		gender = "feminine",
		sortkey = "a-stem",
	},
	["masculine i-stem"] = {
		singular = "-ь",
		plural = "-?",
		gender = "masculine",
		sortkey = "i-stem",
	},
	["feminine i-stem"] = {
		singular = "-ь",
		plural = "-?",
		gender = "feminine",
		sortkey = "i-stem",
	},
--[==[
	["ī-stem"] = {
		singular = "-ии or -ьи",
		plural = "-иѭ or -ьѩ",
		gender = "feminine (masculine when referring to a person)",
		parent = "soft a-stem",
	},
]==]
	["hard masculine o-stem"] = {
		singular = "-ъ",
		plural = "-и",
		gender = "masculine",
		sortkey = "o-stem",
	},
	["soft masculine o-stem"] = {
		singular = "-ь",
		plural = "-и", -- ? FIXME
		gender = "masculine",
		sortkey = "o-stem",
	},
	["hard neuter o-stem"] = {
		singular = "-о",
		plural = "-а",
		gender = "neuter",
		sortkey = "o-stem",
	},
	["soft neuter o-stem"] = {
		singular = "-e",
		plural = "-ꙗ", -- ? FIXME
		gender = "neuter",
		sortkey = "o-stem",
	},
--[==[
	["u-stem"] = {
		singular = "a hard stem consonant",
		plural = "-оvé",
		gender = "masculine",
	},
	["masculine n-stem"] = {
		singular = "-n",
		plural = "-ni",
		gender = "masculine",
		parent = "consonant-stem",
	},
	["neuter n-stem"] = {
		singular = "-ě",
		plural = "-ena",
		gender = "neuter",
		parent = "consonant-stem",
	},
	["masculine t-stem"] = {
		singular = "et",
		plural = "-ty",
		gender = "masculine",
		parent = "consonant-stem",
	},
	["neuter t-stem"] = {
		singular = "-ě",
		plural = "-ata",
		gender = "neuter",
		parent = "consonant-stem",
	},
	["r-stem"] = {
		singular = "-i",
		plural = "-ery",
		gender = "feminine",
		parent = "consonant-stem",
	},
	["v-stem"] = {
		singular = "-ev",
		plural = "-ve",
		gender = "feminine",
		parent = "consonant-stem",
	}
]==]
}

for _, pos in ipairs({"nouns"}) do
	labels[pos .. " by stem type and gender"] = {
		description = "{{{langname}}} " .. pos .. " categorized by stem type and gender.",
		parents = {{name = pos .. " by inflection type", sort = "stem type and gender"}},
	}

	labels["consonant-stem " .. pos] = {
		description = "{{{langname}}} consonant-stem " .. pos .. ".",
		additional = "This is not a single declension class, but a set of related declension classes, with endings that are"
			.. " largely identical outside of the nominative, accusative and vocative.",
		breadcrumb = "consonant-stem",
		parents = pos .. " by stem type and gender",
	}
	for decl, spec in pairs(noun_decls) do
		labels[decl .. " " .. pos] = {
			description = "{{{langname}}} " .. decl .. " " .. pos .. ".",
			additional = "These " .. pos .. " normally end in " .. spec.singular .. " in the singular and " .. spec.plural .. " in the"
				.. " plural, and are most commonly " .. spec.gender .. ".",
			breadcrumb = decl,
			parents = {{
				name = spec.parent and spec.parent .. " " .. pos or pos .. " by stem type and gender",
				sort = spec.sortkey or decl,
			}},
		}
	end
end


--------------------------------- Adjectives --------------------------------

local adj_like_poses = {"adjectives", "pronouns", "determiners", "numerals", "suffixes"}
for _, plpos in ipairs(adj_like_poses) do
	labels["hard " .. plpos] = {
		description = "{{{langname}}} hard " .. plpos .. ".",
		parents = {{name = plpos .. " by inflection type", sort = "hard-stem"}},
	}
	labels["soft " .. plpos] = {
		description = "{{{langname}}} soft " .. plpos .. ".",
		parents = {{name = plpos .. " by inflection type", sort = "soft-stem"}},
	}
	labels[plpos .. " with short forms"] = {
		description = "{{{langname}}} " .. plpos .. " with short-form inflections.",
		parents = {{name = plpos .. " by inflection type", sort = "short forms"}},
	}
end

return {LABELS = labels, HANDLERS = handlers}