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

From Wiktionary, the free dictionary
Jump to navigation Jump to search

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
}

labels["terms where syllabification alignment failed"] = {
	description = "{{{langname}}} terms where [[Module:tl-pronunciation]] was unable to align the syllabified respelling with the pagename to produce a syllabified spelling.",
	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}