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

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

labels["surnames in the Catálogo alfabético de apellidos"] = {
	description = "{{{langname}}} surnames listed at the {{w|Catálogo alfabético de apellidos}}.",
	additional = "To add a {{{langname}}} surname to this category, add {{tl|Catálogo alfabético de apellidos|tl}} to a surname entry's Etymology section.",
	parents = {{
		name = "surnames",
		sort = " Catálogo",
	}},
}

labels["terms with Baybayin script"] = {
	description = "{{{langname}}} terms with inclusion of Baybayin script.",
	parents = {{
		name = "terms by script",
		sort = "Baybayin",
	}},
	can_be_empty = true
}

labels["terms without Baybayin script"] = {
	description = "{{{langname}}} terms without Baybayin script set.",
	parents = {"entry maintenance"},
	hidden = true,
	can_be_empty = true
}

labels["terms with missing Baybayin script entries"] = {
	description = "{{{langname}}} terms with missing Baybayin script entries.",
	parents = {"entry maintenance"},
	hidden = true,
	can_be_empty = true
}

labels["terms without pronunciation template"] = {
	description = "{{{langname}}} terms without either [[Template:tl-pr]] or [[Template:tl-IPA]] to indicate pronunciation.",
	parents = {{name = "entry maintenance"}},
	hidden = true,
	can_be_empty = true
}

--------------------------------------- Pronunciation --------------------------------------

labels["terms with malumay pronunciation"] = {
	description = "{{{langname}}} terms with slow and gentle pronunciation characterized by penultimate stress.",
	parents = {"terms by phonemic property"},
	can_be_empty = true
}

labels["terms with malumi pronunciation"] = {
	description = "{{{langname}}} terms with slow and gentle pronunciation characterized by penultimate stress but glottalized.",
	parents = {"terms by phonemic property"},
	can_be_empty = true
}

labels["terms with mabilis pronunciation"] = {
	description = "{{{langname}}} terms with quick pronunciation characterized by ultimate stress.",
	parents = {"terms by phonemic property"},
	can_be_empty = true
}

labels["terms with maragsa pronunciation"] = {
	description = "{{{langname}}} terms with a forceful pronunciation characterized by ultimate stress but glottalized.",
	parents = {"terms by phonemic property"},
	can_be_empty = true
}

-- Superseded forms --

table.insert(handlers, function(data)
	local year = data.label:match("^pre%-(.+) forms$")
	if year then
		return {
			parents = {{
				name = "superseded forms",
				sort = year
			}},
		}
	end
end)


--------------------------------------- Verbs --------------------------------------

local verb_types = {
	["1st actor trigger"] = {
		desc = "prefixed with {{m|tl|um-}} or infixed with {{m|tl|-um-}}",
		cat = {"terms prefixed with um-", "terms infixed with -um-"},
	},
	["2nd actor trigger"] = {
		desc = "prefixed with {{m|tl|mag-}}",
	},
	["3rd actor trigger"] = {
		desc = "prefixed with {{m|tl|mang-}}, which assimilates to {{m|tl|man-}} before [[alveolar]] consonants and {{m|tl|mam-}} before [[labial]] consonants; or sometimes prefixed with {{m|tl|ma-}}",
		cat = {"terms prefixed with mang-"},
	},
	["4th actor trigger"] = {
		desc = "prefixed with {{m|tl|ma-}}",
	},
	["5th actor trigger"] = {
		desc = "prefixed with {{m|tl|maka-}}",
	},
	["6th actor trigger"] = {
		desc = "prefixed with {{m|tl|makapag-}}",
	},
	["7th actor trigger"] = {
		desc = "prefixed with {{m|tl|maki-}}",
	},
	["8th actor trigger"] = {
		desc = "prefixed with {{m|tl|magma-}}",
	},
	["indirect actor trigger"] = {
		desc = "prefixed with {{m|tl|magpa-}}",
	},
	["1st secondary indirect actor trigger"] = {
		desc = "circumfixed with {{m|tl|pa- -in}}",
	},
	["2nd secondary indirect actor trigger"] = {
		desc = "circumfixed with {{m|tl|papag- -in}}",
	},
	["3rd secondary indirect actor trigger"] = {
		desc = "circumfixed with {{m|tl|papang- -in}}",
	},
	["1st object trigger"] = {
		desc = "suffixed with {{m|tl|-in}}, {{m|tl|-hin}}, {{m|tl|-nin}} or {{m|tl|-rin}}",
		cat = {"terms suffixed with -in", "terms suffixed with -hin", "terms suffixed with -nin", "terms suffixed with -rin"},
	},
	["2nd object trigger"] = {
		desc = "suffixed with {{m|tl|-an}}",
	},
	["3rd object trigger"] = {
		desc = "prefixed with {{m|tl|i-}}",
	},
	["4th object trigger"] = {
		desc = "prefixed with {{m|tl|ipag-}}",
	},
	["5th object trigger"] = {
		desc = "circumfixed with {{m|tl|pag- -an}}",
	},
	["6th object trigger"] = {
		desc = "prefixed with {{m|tl|ipang-}}",
	},
	["7th object trigger"] = {
		desc = "circumfixed with {{m|tl|pang- -an}}",
	},
	["8th object trigger"] = {
		desc = "circumfixed with {{m|tl|pang- -in}}",
	},
	["9th object trigger"] = {
		desc = "prefixed with {{m|tl|ipa-}}",
	},
	["10th object trigger"] = {
		desc = "circumfixed with {{m|tl|ma- -an}}",
	},
	["11th object trigger"] = {
		desc = "circumfixed with {{m|tl|pa- -an}}",
	},
	["1st locative trigger"] = {
		desc = "circumfixed with {{m|tl|pag- -an}}",
	},
	["2nd locative trigger"] = {
		desc = "circumfixed with {{m|tl|ma- -an}} or {{m|tl|ma- -han}}",
		cat = {"terms circumfixed with ma- -an", "terms circumfixed with ma- -han"},
	},
	-- FIXME! The following is not listed in the documentation for [[Template:tl-verb]].
	["4th locative trigger"] = {
		desc = "?",
		cat = {},
	},
	["1st benefactive trigger"] = {
		desc = "prefixed with {{m|tl|i-}}",
	},
	["2nd benefactive trigger"] = {
		desc = "prefixed with {{m|tl|ipag-}}",
	},
	["3rd benefactive trigger"] = {
		desc = "prefixed with {{m|tl|ipang-}}",
	},
	["1st instrument trigger"] = {
		desc = "prefixed with {{m|tl|ipa-}}",
	},
	["2nd instrument trigger"] = {
		desc = "prefixed with {{m|tl|ipang-}}",
	},
	["1st reason trigger"] = {
		desc = "prefixed with {{m|tl|ika-}}",
	},
	["alternate 1st reason trigger"] = {
		desc = "prefixed with {{m|tl|i-}}",
	},
	["2nd reason trigger"] = {
		desc = "prefixed with {{m|tl|ikapag-}}",
	},
	["alternate 2nd reason trigger"] = {
		desc = "prefixed with {{m|tl|ipag-}}",
	},
	["3rd reason trigger"] = {
		desc = "prefixed with {{m|tl|ikapang-}}",
	},
	["alternate 3rd reason trigger"] = {
		desc = "prefixed with {{m|tl|ipang-}}",
	},
	["4th reason trigger"] = {
		desc = "prefixed with {{m|tl|ika-}}",
	},
	["1st directional trigger"] = {
		desc = "suffixed with {{m|tl|-an}}",
	},
	["2nd directional trigger"] = {
		desc = "suffixed with {{m|tl|-in}}",
	},
	["3rd directional trigger"] = {
		desc = "circumfixed with {{m|tl|pag- -an}}",
	},
	["4th directional trigger"] = {
		desc = "prefixed with {{m|tl|ma-}}",
	},
	["5th directional trigger"] = {
		desc = "circumfixed with {{m|tl|pang- -an}}",
	},
	["6th directional trigger"] = {
		desc = "circumfixed with {{m|tl|ka- -an}}",
	},
	["7th directional trigger"] = {
		desc = "circumfixed with {{m|tl|pa- -an}}",
	},
	["reference trigger"] = {
		desc = "prefixed with {{m|tl|pag- -an}}",
	},
	["1st reciprocal trigger"] = {
		desc = "circumfixed with {{m|tl|mag- -an}}",
	},
	["2nd reciprocal trigger"] = {
		desc = "prefixed with {{m|tl|magka-}}",
	},
}

for verb_type, props in pairs(verb_types) do
	local parents = props.cat
	if not parents then
		parents = {"terms " .. props.desc:gsub("{{m|tl|(.-)}}", "%1")}
	end
	local infl_sort_key = verb_type:gsub("^alternate ", ""):gsub("^[0-9]+[a-z]+ ", "")
	table.insert(parents, 1, {name = "verbs by inflection type", sort = infl_sort_key})

	labels[verb_type .. " verbs"] = {
		description = ("{{{langname}}} %s verbs, %s."):format(verb_type, props.desc),
		parents = parents,
		breadcrumb = verb_type,
	}
end


return {LABELS = labels, HANDLERS = handlers}