Module:category tree/poscatboiler/data/lang-specific/nn
Jump to navigation
Jump to search
- 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 Norwegian Nynorsk category pages of the format "Norwegian Nynorsk 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 = {}
--------------------------------- Nouns/Pronouns/Numerals --------------------------------
local gender_decls = {
{"m", "consonant"},
{"m", "a"},
{"m", "an"},
{"m", "i"},
{"f", "consonant"},
{"f", "ō"},
{"f", "ōn"},
{"f", "ijō"},
{"n", "a"},
{"n", "an"},
}
local gender_code_to_gender = {
m = "masculine",
f = "feminine",
n = "neuter",
}
local seen_decls = {}
for _, pos in ipairs({"nouns"}) do
for _, gender_decl in ipairs(gender_decls) do
local gender, decl = unpack(gender_decl)
if not seen_decls[decl] then
labels[decl .. "-stem " .. pos] = {
description = "Norwegian Nynorsk ''" .. decl .. "''-stem " .. pos .. ".",
additional = "Note that the stem class is named from the perspective of Proto-Germanic, and the stem suffix may no longer be visible synchronically.",
breadcrumb = {name = decl .. "-stem", nocap = decl ~= "consonant"},
parents = {{
name = pos .. " by inflection type",
sort = decl,
}},
}
seen_decls[decl] = true
end
gender = gender_code_to_gender[gender]
labels[gender .. " " .. decl .. "-stem " .. pos] = {
description = "Norwegian Nynorsk " .. gender .. " ''" .. decl .. "''-stem " .. pos .. ".",
additional = "Note that the stem class is named from the perspective of Proto-Germanic, and the stem suffix may no longer be visible synchronically.",
breadcrumb = gender .. " " .. decl .. "-stem",
parents = {{
name = pos .. " by inflection type",
sort = decl,
}, {
name = decl .. "-stem " .. pos,
sort = gender,
}},
}
end
end
--------------------------------- Miscellaneous --------------------------------
local known_reform_years = require("Module:table/listToSet") {
"1901", "1917", "1938", "1959", "2012"
}
table.insert(handlers, function(data)
local year = data.label:match("^pre%-([0-9]+) forms$")
if year then
return {
description = "{{{langname}}} forms that become nonstandard after " .. (
known_reform_years[year] and (
"the [[Wiktionary:Norwegian Nynorsk spelling reforms#%s|spelling reform of %s]]."
):format(year, year) or (
"[[Wiktionary:Norwegian Nynorsk spelling reforms|spelling decisions]] made in %s."
):format(year)
),
breadcrumb = year,
parents = {{name = "superseded forms", sort = year}},
}
end
end)
return {LABELS = labels, HANDLERS = handlers}