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

local labels = {}

- Nouns/Pronouns/Numerals

labels["n-stem nouns"] = { description = " n-stem nouns, deriving from Proto-Indo-European n-stem nouns.", displaytitle = " n-stem nouns", additional = "This is not a single class in, but several related gender-differentiated classes.", breadcrumb = "n-stem", parents = {"nouns by inflection type"}, }

--[=[ Noun declension specifications. The top-level key is the stem class, and the value is an object containing properties of the stem class. If the stem class contains the word 'GENDER' in it, it expands into labels both for a parent category that subsumes several genders (obtained by removing the word 'GENDER' and following whitespace) as well as gender-specific children categories (obtained by replacing the word 'GENDER' with the genders specified in the `possible_genders` field). The stem class can contain literal Latin-script text (e.g. suffixes), which will be italicized in breadcrumbs and titles. The fields of the property object for a given stem class are as follows: "most commonly". This appears in the `additional` field of the label properties. It is not used in gender-specific children categories; instead the gender of that category is used. the stem class, and gender-specific variants of the stem class (with GENDER replaced by the possible genders) are handled along with a parent category subsuming all genders. be italicized. value of `nom_sg` is used. of `gen_sg` is used. of `nom_pl` is used. stem has gender-specific variants, the breadcrumb specified here is used only for the parent category, while the gender-specific child categories use the gender as the breadcrumb. If not specified, it defaults to `sortkey`. If that is also not specified, or if the breadcrumb has the value "+", the stem class (without the word 'GENDER') is used. (Use "+" when a sortkey is specified but the stem class should be used as the breadcrumb.) of speech (e.g. "nouns"). Defaults to "POS by inflection type" where POS is the part of speech. Note that gender-specific child categories do not use this, but always have the gender-subsuming parent stem class category as their parent. (without the word 'GENDER'). Note that gender-specific child categories do not use this, but always use the gender as the sort key. ]=] local noun_decls = { ["GENDER -stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, nom_sg = "when masculine, <-r> (which assimilates to a preceding ,  or ); when neuter, the bare stem", masculine_nom_sg = "<-r> (which assimilates to a preceding ,  or )", neuter_nom_sg = "the bare stem", gen_sg = "<-s> or sometimes <-ar>", nom_pl = "when masculine, <-ar>; when neuter, the bare stem with U-UMLAUT", masculine_nom_pl = "<-ar>", neuter_nom_pl = "the bare stem with U-UMLAUT", },	["GENDER -stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, nom_sg = "when masculine, <-r> (which assimilates to a preceding ,  or ), or <-ir> in proper names; when neuter, the bare stem", masculine_nom_sg = "<-r> (which assimilates to a preceding ,  or ), or <-ir> in proper names", neuter_nom_sg = "the bare stem", gen_sg = "<-s> or sometimes <-jar>, or <-is> in proper names", nom_pl = "when masculine, <-jar>, or <-ir> in proper names; when neuter, the bare stem", masculine_nom_pl = "<-jar>, or <-ir> in proper names", neuter_nom_pl = "the bare stem", parent = "-stem", addl = "This class derives from Proto-Germanic -stems ending in  after a light root, a vowel or a velar. As a " .. "result, the stem has I-UMLAUT throughout.", },	["GENDER -stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, nom_sg = "when masculine, <-ir>; when neuter, <-i>", masculine_nom_sg = "<-ir>", neuter_nom_sg = "the bare stem", gen_sg = "<-is> or sometimes <-ar>", nom_pl = "when masculine, <-ar>; when neuter, <-i>", masculine_nom_pl = "<-ar>", neuter_nom_pl = "<-i>", parent = "-stem", addl = "This class derives from Proto-Germanic -stems ending in  after a heavy root. As a result, " .. "the stem has I-UMLAUT throughout.", },	["GENDER <wa>-stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, nom_sg = "when masculine, <-r> (which assimilates to a preceding <l>, <n> or ); when neuter, the bare stem", masculine_nom_sg = "<-r> (which assimilates to a preceding <l>, <n> or )", neuter_nom_sg = "the bare stem", gen_sg = "<-s> or sometimes <-var>", nom_pl = "when masculine, <-var>; when neuter, the bare stem", masculine_nom_pl = "<-var>", neuter_nom_pl = "the bare stem", parent = "<a>-stem", addl = "This class derives from Proto-Germanic <a>-stems ending in <w>. As a result, the stem has U-UMLAUT " .. "throughout.", },	["GENDER <i>-stem"] = { gender = "masculine or feminine", nom_sg = "<-r> (which assimilates to a preceding <l>, <n> or )", gen_sg = "<-ar> (<-jar> after vowels, velars or sometimes other consonants) or <-s>", nom_pl = "<-ir>", },	["GENDER <an>-stem"] = { gender = "masculine or rarely neuter", possible_genders = {"masculine", "neuter"}, nom_sg = "<-i> when masculine, <-a> when neuter", masculine_nom_sg = "<-i>", neuter_nom_sg = "<-a>", gen_sg = "<-a>", nom_pl = "<-ar> when masculine, <-u> with U-UMLAUT when neuter", masculine_nom_pl = "<-ar>", neuter_nom_pl = "<-u> with U-UMLAUT", parent = "n-stem", },	["<īn>-stem"] = { gender = "feminine", nom_sg = "<-i>", gen_sg = "<-i>", nom_pl = "unattested", parent = "n-stem", addl = "The stem has I-UMLAUT throughout.", },	["<ōn>-stem"] = { gender = "feminine", nom_sg = "<-a>", gen_sg = "<-u> with U-UMLAUT", nom_pl = "<-ur> with U-UMLAUT", parent = "n-stem", },	["<jōn>-stem"] = { gender = "feminine", nom_sg = "<-ja>", gen_sg = "<-ju>", nom_pl = "<-jur>", parent = "<ōn>-stem", addl = "This class derives from Proto-Germanic <ōn>-stems ending in <j> after a light root, a vowel or a velar. As a " .. "result, the stem has I-UMLAUT throughout.", },	["<wōn>-stem"] = { gender = "feminine", nom_sg = "<-va>", gen_sg = "<-u>", nom_pl = "<-ur>", parent = "<ōn>-stem", addl = "This class derives from Proto-Germanic <ōn>-stems ending in <w>. As a result, the stem has U-UMLAUT " .. "throughout.", },	[" -stem"] = { gender = "masculine or rarely neuter", nom_sg = "<-r> (which assimilates to a preceding <l>, <n> or ) with U-UMLAUT (this ending is lacking in neuters)", gen_sg = "<-ar> without U-UMLAUT", nom_pl = "<-ir> with I-UMLAUT (this ending is lacking in neuters)", },	["GENDER consonant stem"] = { gender = "masculine or feminine", possible_genders = {"masculine", "feminine"}, nom_sg = "when masculine, <-r> (which assimilates to a preceding <l>, <n> or ); when feminine, usually the bare stem with U-UMLAUT", masculine_nom_sg = "<-r> (which assimilates to a preceding <l>, <n> or )", feminine_nom_sg = "usually the bare stem with U-UMLAUT", gen_sg = "<-ar> or <-s>", nom_pl = "<-r> (which assimilates to a preceding <l>, <n> or ) with I-UMLAUT", addl = "Feminine consonant stems with U-UMLAUT were originally -stem or <ō>-stem nouns.", masculine_addl = false, },	["<r>-stem"] = { gender = "masculine or feminine", nom_sg = "<-ir>", gen_sg = "<-ur> with U-UMLAUT", nom_pl = "<-r> with I-UMLAUT", },	["<nd>-stem"] = { gender = "masculine", nom_sg = "<-i>", gen_sg = "<-a>", nom_pl = "<-r> with I-UMLAUT", },	["<ō>-stem"] = { gender = "feminine", nom_sg = "the bare stem with U-UMLAUT", gen_sg = "<-ar> without U-UMLAUT", nom_pl = "<-ar> or <-ir> without U-UMLAUT", },	["<jō>-stem"] = { gender = "feminine", nom_sg = "the bare stem", gen_sg = "<-jar>", nom_pl = "<-jar>", parent = "<ō>-stem", addl = "This class derives from Proto-Germanic <ō>-stems ending in <j> after a light root, a vowel or a velar. As a " .. "result, the stem has I-UMLAUT throughout.", },	["<ijō>-stem"] = { gender = "feminine", nom_sg = "<-r>", gen_sg = "<-ar> (usually <-jar> after velars)", nom_pl = "<-ar> (usually <-jar> after velars)", parent = "<ō>-stem", addl = "The stem usually has I-UMLAUT throughout.", },	["<wō>-stem"] = { gender = "feminine", nom_sg = "the bare stem", gen_sg = "<-var>", nom_pl = "<-var>", parent = "<ō>-stem", addl = "The stem has U-UMLAUT throughout.", }, }
 * `gender`: The description of the gender(s) of the stem class. If preceded by ~, the description is preceded by
 * `possible_genders`: The possible genders this class occurs in. If this is specified, the word 'GENDER' must occur in
 * `nom_sg`: The nominative singular ending. Use <...> to enclose literal Latin-script text (e.g. suffixes), which will
 * `GENDER_nom_sg`: The nominative singular ending for the GENDER variant of this stem class. If not specified, the
 * `gen_sg`: The genitive singular ending. Conventions are the same as for `nom_sg`.
 * `GENDER_gen_sg`: The genitive singular ending for the GENDER variant of this stem class. If not specified, the value
 * `nom_pl`: The nominative plural ending. Conventions are the same as for `nom_sg`.
 * `GENDER_nom_pl`: The nominative plural ending for the GENDER variant of this stem class. If not specified, the value
 * `breadcrumb`: The breadcrumb for the category, appearing in the trail of breadcrumbs at the top of the page. If this
 * `parent`: The parent category or categories. If specified, the actual category label is formed by appending the part
 * `sortkey`: The sort key used for sorting this category among its parent's children. Defaults to the stem class

require("Module:category tree/poscatboiler/utilities").add_inflection_labels { labels = labels, pos = "noun", stem_classes = noun_decls, mark_up_spec = function(spec, nolink) -- umlauts spec = spec:gsub("I%-UMLAUT", "") spec = spec:gsub("U%-UMLAUT", "") if nolink then spec = require("Module:links").remove_links(spec) end return (spec:gsub("<(.-)>", "%1")) end, principal_parts = { {"nom_sg", "nominative singular"}, {"gen_sg", "genitive singular"}, {"nom_pl", "nominative plural"}, },	addl = "The stem classes are named from the perspective of Proto-Germanic " .. "and may not still be visible in inflections.", }

return {LABELS = labels}