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

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

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

local rmatch = mw.ustring.match

--------------------------------- Roots --------------------------------

labels["diaspirate roots"] = {
	description = "Sanskrit roots where an initial unaspirated consonant may become aspirated in some derivatives. This occurs when the root is followed immediately by a {{w|sibilant}}, which triggers an aspiration throwback and the aspiration migrates leftward, docking onto the initial consonant. See more at {{w|Grassmann's law}}",
	parents = {{ name = "roots" }}
}

--------------------------------- In fine compositi --------------------------------

labels["compound-final adjectives"] = {
	description = "Sanskrit terms that only appear at the end of a compound adjective",
	parents = {{ name = "adjectives" }}
}

labels["compound-final nouns"] = {
	description = "Sanskrit terms that only appear at the end of a compound noun",
	parents = {{ name = "nouns" }}
}

labels["compound-final adverbs"] = {
	description = "Sanskrit terms that only appear at the end of a compound adverb",
	parents = {{ name = "adverbs" }}
}

--------------------------------- Verbs --------------------------------

labels["verbs by class"] = {
	description = "Sanskrit verbs categorized by class.",
	parents = {{name = "verbs by inflection type", sort = "class"}},
}

table.insert(handlers, function(data)
	local cls = rmatch(data.label, "^class ([0-9]*) verbs")
	if cls then
		return {
			description = "Sanskrit class " .. cls .. " verbs.",
			breadcrumb = cls,
			parents = {{name = "verbs by class", sort = cls}},
		}
	end
end)

labels["verbs by aorist type"] = {
	description = "Sanskrit verbs categorized by aorist type.",
	parents = {{name = "verbs by inflection type", sort = "class"}},
	breadcrumb = "aorist types"
}

for _, aor in pairs({ "iṣ-", "ṣ-", "kṣ-", "a-", "root "}) do
	labels["verbs with " .. aor .. "aorist"] = {
		description = "Sanskrit verbs with the " .. aor .. "aorist",
		parents = {{ name = "verbs by aorist type", sort = aor }},
		breadcrumb = aor .. "aorist"
	}
end

labels["future verbs"] = {
	description = "Sanskrit {{w|Sanskrit_verbs#Future_system|future system}} verbs.",
	parents = {{name = "verbs"}},
	breadcrumb = "future verbs"
}

labels["perfect verbs"] = {
	description = "Sanskrit {{w|Sanskrit_verbs#Perfect_system|perfect system}} verbs.",
	parents = {{name = "verbs"}},
	breadcrumb = "perfect verbs"
}

labels["aorist verbs"] = {
	description = "Sanskrit {{w|Sanskrit_verbs#Aorist_system|aorist system}} verbs.",
	parents = {{name = "verbs"}},
	breadcrumb = "aorist verbs"
}

labels["benedictive verbs"] = {
	description = "Sanskrit {{w|Sanskrit_verbs#Aorist_system|benedictive/precative}} verbs.",
	parents = {{name = "verbs"}},
	breadcrumb = "benedictive verbs"
}

return {LABELS = labels, HANDLERS = handlers}