Module:category tree/poscatboiler/data/lang-specific/la
Appearance
- The following documentation is generated by Module:documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
This module handles generating the descriptions and categorization for Latin category pages of the format "Latin 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 = {}
labels["terms with variable monophthongization"] = {
description = "Several Classical Latin terms with /au̯/ or /ae̯/ also have attested variants with /oː/ or /eː/ instead, reflecting influence from regional dialects.",
parents = {"terms by phonemic property"},
}
-----------------------------------------------------------------------------
-- --
-- VERBS --
-- --
-----------------------------------------------------------------------------
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 derivation 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 = {
["-av-"] = {
display = "{{m|la||-āv-}}",
displaytitle = "{{m|la||-av-}}",
},
["-ev-"] = {
display = "{{m|la||-ēv-}}",
displaytitle = "{{m|la||-ev-}}",
},
["-iv-"] = {
display = "{{m|la||-īv-}}",
displaytitle = "{{m|la||-iv-}}",
},
["-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 = perftype}},
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 = "perfect in " .. perftype},
{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 = {"verbs"},
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 = {"verbs with 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",
}
local function decltext_decllink(declension)
local decltext = declension .. " declension"
local decllink = "[[Appendix:Latin " .. decltext .. "|" .. decltext .. "]]"
return decltext, decllink
end
for _, pos in ipairs({"nouns", "suffixes"}) do
-- Add labels for e.g. [[Category:Latin fifth declension suffixes]] and
-- [[Category:Latin feminine nouns in the fourth declension]].
for decl, declnum in pairs(noun_declensions) do
local decltext, decllink = decltext_decllink(decl)
labels[decltext .. " " .. pos] = {
description = "{{{langname}}} " .. pos .. " of the " .. decllink .. ".",
parents = {{name = pos .. " by inflection type", sort = declnum}},
breadcrumb = decltext,
}
for _, gender in ipairs(genders) do
labels[gender .. " " .. pos .. " in the " .. decltext] = {
description = "{{{langname}}} " .. gender .. " " .. pos .. " of the " .. decllink .. ".",
parents = {
{name = decltext .. " " .. pos, sort = gender},
{name = gender .. " " .. pos, sort = declnum},
},
breadcrumb = gender,
}
end
end
-- Add labels for e.g. [[Category:Latin masculine indeclinable nouns]] and
-- [[Category:Latin feminine irregular nouns]].
for _, nounvar in ipairs({"indeclinable", "irregular"}) do
for _, gender in ipairs(genders) do
local decltext = nounvar
local decllink = "{{glossary|" .. nounvar .. "}}"
labels[gender .. " " .. decltext .. " " .. pos] = {
description = "{{{langname}}} " .. gender .. " " .. decllink .. " " .. pos .. ".",
parents = {
{name = decltext .. " " .. pos, sort = gender},
{name = gender .. " " .. pos, sort = decltext},
},
breadcrumb = gender,
}
end
end
-- Add labels for e.g. [[Category:Latin unknown gender nouns]].
labels["unknown gender " .. pos] = {
description = "{{{langname}}} unknown gender " .. pos .. ".",
parents = {
{name = "nouns by gender", sort = "unknown"},
},
breadcrumb = "unknown",
}
-- Add labels for e.g. [[Category:Latin unattested gender nouns]].
labels["unattested gender " .. pos] = {
description = "{{{langname}}} " .. pos .. " whose gender is unattested, typically because the term itself is barely attested.",
parents = {
{name = "nouns by gender", sort = "unattested"},
},
breadcrumb = "unattested",
}
-- Add labels for e.g. [[Category:Latin nouns with a genitive singular]].
labels[pos .. " without a genitive singular"] = {
description = "{{{langname}}} " .. pos .. " without a genitive singular.",
parents = {
{name = "irregular nouns", sort = "without a genitive singular"},
},
breadcrumb = "without a genitive singular",
}
end
-----------------------------------------------------------------------------
-- --
-- ADJECTIVES --
-- --
-----------------------------------------------------------------------------
-- First/second declension adjectival subtypes, e.g.
-- [[Category:Latin first and second declension numerals with genitive singular in -īus]].
local subtypes_12 = {
["nominative masculine singular in -er"] = {
display = "nominative masculine singular in {{m|la||-er}}",
},
["nominative masculine singular in -ur"] = {
display = "nominative masculine singular in {{m|la||-ur}}",
},
["genitive singular in -īus"] = {
display = "genitive singular in {{m|la||-īus}}",
link = "genitive singular in {{m|la|-īus}}",
},
["Greek declension"] = {
display = "Greek declension",
},
}
-- Add labels for e.g. [[Category:Latin first and second declension participles]],
-- [[Category:Latin first and second declension adjectives with Greek declension]] and
-- [[Category:Latin third declension determiners]].
for _, pos in ipairs({"adjectives", "numerals", "determiners", "participles", "suffixes"}) do
local decltext = "first and second declension"
local decllink = "[[Appendix:Latin first declension|first]] and [[Appendix:Latin second declension|second declension]]"
labels[decltext .. " " .. pos] = {
description = "{{{langname}}} " .. pos .. " of the " .. decllink .. ".",
parents = {{name = pos .. " by inflection type", sort = "12"}},
breadcrumb = decltext,
}
for subtype, obj in pairs(subtypes_12) do
labels[decltext .. " " .. pos .. " with " .. subtype] = {
description = "{{{langname}}} " .. pos .. " of the " .. decllink .. " with " .. (obj.link or obj.display) .. ".",
displaytitle = "{{{langname}}} " .. decltext .. " " .. pos .. " with " .. obj.display,
parents = {{name = decltext .. " " .. pos, sort = subtype}},
breadcrumb = obj.display,
}
end
local decltext3, decllink3 = decltext_decllink("third")
labels[decltext3 .. " " .. pos] = {
description = "{{{langname}}} " .. pos .. " of the " .. decllink3 .. ".",
parents = {{name = pos .. " by inflection type", sort = "3"}},
breadcrumb = decltext3,
}
for num_terms, third_decl_subtype in ipairs({"one termination", "two terminations", "three terminations"}) do
labels[decltext3 .. " " .. pos .. " of " .. third_decl_subtype] = {
description = "{{{langname}}} " .. pos .. " of the " .. decllink3 .. ", with " ..
third_decl_subtype .. " in the nominative singular.",
parents = {{name = decltext3 .. " " .. pos, sort = num_terms}},
breadcrumb = third_decl_subtype,
}
end
end
-- Add labels for [[Category:Latin first declension adjectives]], [[Category:Latin second declension adjectives]].
for decl, declnum in pairs({first = "1", second = "2"}) do
local decltext, decllink = decltext_decllink(decl)
labels[decltext .. " adjectives"] = {
description = "{{{langname}}} adjectives of the " .. decllink .. " (feminine forms identical to masculine forms).",
parents = {{name = "adjectives by inflection type", sort = declnum}},
breadcrumb = decltext,
}
end
local decltext2, decllink2 = decltext_decllink("second")
labels["second declension adjectives with Greek declension"] = {
description = "{{{langname}}} adjectives of the " .. decllink2 .. " (feminine forms identical to masculine forms), Greek declension.",
parents = {{name = "second declension adjectives", sort = "Greek declension"}},
breadcrumb = "Greek declension",
}
return {LABELS = labels}