模組:Category tree/poscatboiler/data/lang-specific/nn
This module handles generating the descriptions and categorization for 新挪威語 category pages of the format "新挪威語 LABEL" where LABEL can be any text. Examples are Category:Bulgarian conjugation 2.1 verbs and Category:Russian velar-stem neuter-form nouns. 該模块是 poscatboiler 系統的一部分,該系統是用於生成分類頁面的描述和分類的通用框架。
有關更多資訊,請參閱Module:category tree/poscatboiler/data/lang-specific/doc。
注意:如果您新增了特定語言的模块,請將語言代碼新增至 Module:category tree/poscatboiler/data/lang-specific 頂部的清單中,使程式碼能識別該模块。
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}