Module:category tree/lang/guim

From Linguifex
Revision as of 13:53, 8 May 2026 by Sware (talk | contribs) (Created page with "local labels = {} labels["terms with variable monophthongization"] = { description = "Several Classical Latin terms with {{IPAchar|/au̯/}} or {{IPAchar|/ae̯/}} also have attested variants with {{IPAchar|/oː/}} or {{IPAchar|/eː/}} instead, reflecting influence from regional dialects.", parents = {"terms by phonemic property"}, } ----------------------------------------------------------------------------- --...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

labels["terms with variable monophthongization"] = {
	description = "Several Classical Latin terms with {{IPAchar|/au̯/}} or {{IPAchar|/ae̯/}} also have attested variants with {{IPAchar|/oː/}} or {{IPAchar|/eː/}} instead, reflecting influence from regional dialects.",
	parents = {"terms by phonemic property"},
}

-----------------------------------------------------------------------------
--                                                                         --
--                                  VERBS                                  --
--                                                                         --
-----------------------------------------------------------------------------

labels["semi-deponent verbs"] = {
	description = "{{{langname}}} verbs that can only be used with the {{w|active voice}}, and are [[deponent]] in the [[perfect tense|perfect]] tense.",
	parents = {"active-only verbs", "verbs"},
}

labels["optionally semi-deponent verbs"] = {
	description = "{{{langname}}} verbs that can only be used with the {{w|active voice}}, and are optionally [[deponent]] in the [[perfect tense|perfect]] tense.",
	parents = {"semi-deponent verbs"},
	breadcrumb = "Optionally",
}

local conjugations = {
	first = "1",
	second = "2",
	third = "3",
	fourth = "4",
}

local function conjtext_conjlink(conjugation)
	local conjtext = conjugation .. " conjugation"
	local conjlink = "[[Appendix:Latin " .. conjtext .. "|" .. conjtext .. "]]"
	return conjtext, conjlink
end

for conjugation, conjnum in pairs(conjugations) do
	local conjtext, conjlink = conjtext_conjlink(conjugation)
	labels[conjtext .. " verbs"] = {
		description = "{{{langname}}} verbs of the " .. conjlink .. ".",
		parents = {
			{name = "verbs by inflection type", sort = conjnum},
		},
		breadcrumb = conjtext
	}
end

labels["verbs by perfect"] = {
	description = "{{{langname}}} verbs categorized by the formation of their perfect tense.",
	parents = {"verbs by inflection type"},
}

-- Add labels for e.g. [[Category:Latin verbs with perfect in -iv-]] and
-- [[Category:Latin third conjugation verbs with perfect in -s- or -x-]].
local perf_suffixes = {
	["-āv-"] = {
		display = "{{m|la||-āv-}}",
	},
	["-ēv-"] = {
		display = "{{m|la||-ēv-}}",
	},
	["-īv-"] = {
		display = "{{m|la||-īv-}}",
	},
	["-i-"] = {
		display = "{{m|la||-i-}}",
	},
	["-u-"] = {
		display = "{{m|la||-u-}}",
	},
	["-s- or -x-"] = {
		display = "{{m|la||-s-}} or {{m|la||-x-}}",
		affix = "affixes",
	},
}
for perftype, obj in pairs(perf_suffixes) do
	local link = obj.link or obj.display
	local displaytitle = obj.displaytitle or obj.display
	local breadcrumb = obj.display
	local affix = obj.affix or "affix"
	labels["verbs with perfect in " .. perftype] = {
		description = "{{{langname}}} verbs whose perfect tense was formed using the " .. affix .. " " .. link .. ".",
		displaytitle = "{{{langname}}} verbs with perfect in " .. displaytitle,
		parents = {{name = "verbs by perfect", sort = {sort_base = perftype, lang = "la"}}},
		breadcrumb = breadcrumb,
	}
	for conjugation, conjnum in pairs(conjugations) do
		local conjtext, conjlink = conjtext_conjlink(conjugation)
		labels[conjtext .. " verbs with perfect in " .. perftype] = {
			description = "{{{langname}}} " .. conjlink .. " verbs whose perfect tense was formed using the " .. affix .. " " .. link .. ".",
			displaytitle = "{{{langname}}} " .. conjtext .. " verbs with perfect in " .. displaytitle,
			parents = {
				{name = conjtext .. " verbs", sort = {sort_base = "perfect in " .. perftype, lang = "la"}},
				{name = "verbs with perfect in " .. perftype, sort = conjnum},
			},
			breadcrumb = "perfect in " .. breadcrumb,
		}
	end
end


-- Add labels for e.g. [[Category:Latin verbs with irregular perfect]] and
-- [[Category:Latin third conjugation verbs with suffixless perfect]].
for perfvar, perfvartext in pairs({
	irregular = "irregularly",
	suffixless = "without a suffix",
}) do
	labels["verbs with " .. perfvar .. " perfect"] = {
		description = "{{{langname}}} verbs whose perfect tense was formed " .. perfvartext .. ".",
		parents = {{name = "verbs by perfect", sort = perfvar}},
		breadcrumb = perfvar,
	}
	for conjugation, conjnum in pairs(conjugations) do
		local conjtext, conjlink = conjtext_conjlink(conjugation)
		labels[conjtext .. " verbs with " .. perfvar .. " perfect"] = {
			description = "{{{langname}}} " .. conjlink .. " verbs whose perfect tense was formed " .. perfvartext .. ".",
			parents = {
				{name = conjtext .. " verbs", sort = perfvar .. " perfect"},
				{name = "verbs with " .. perfvar .. " perfect", sort = conjnum},
			},
			breadcrumb = perfvar .. " perfect",
		}
	end
end

labels["verbs with sigmatic forms"] = {
	description = "{{{langname}}} verbs attested in one of the [[sigmatic]] tenses, which are found in [[Old Latin]]; mostly notably used by [[w:Plautus|Plautus]] and [[w:Terence|Terence]].",
	parents = {{name = "verbs", sort = "sigmatic forms"}},
	breadcrumb = "sigmatic forms"
}

labels["verbs with passive sigmatic forms"] = {
	description = "{{{langname}}} verbs attested in the rare [[sigmatic]] future passive indicative tense, which is found in [[Old Latin]].",
	parents = {{name = "verbs with sigmatic forms", sort = "passive sigmatic forms"}},
	breadcrumb = "passive"
}

labels["verbs without the conjugation in their headwords"] = {
	description = "{{{langname}}} verbs whose headwords are missing the conjugation.",
	parents = {"entry maintenance"},
	hidden = true,
}



-----------------------------------------------------------------------------
--                                                                         --
--                                  NOUNS                                  --
--                                                                         --
-----------------------------------------------------------------------------


local genders = {
	"masculine",
	"feminine",
	"neuter",
	"unknown gender",
	"unattested gender",
}

local noun_declensions = {
	first = "1",
	second = "2",
	third = "3",
	fourth = "4",
	fifth = "5",
	sixth = "6",
	seventh = "7",
	eighth = "8",
	ninth = "9"
}

for _, pos in ipairs{"nouns", "adjectives"} do
	for decl, declnum in pairs(noun_declensions) do
		local decltext = decl .. " declension"
		labels[decltext .. " " .. pos] = {
			description = "{{{langname}}} " .. pos .. " of the " .. decltext .. ".",
			parents = {{name = pos .. " by inflection type", sort = declnum}},
			breadcrumb = decltext,
		}
	end
end

return {LABELS = labels}