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

Hello, you have come here looking for the meaning of the word Module:category tree/poscatboiler/data/lang-specific/hi. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:category tree/poscatboiler/data/lang-specific/hi, but we will also tell you about its etymology, its characteristics and you will know how to say Module:category tree/poscatboiler/data/lang-specific/hi in singular and plural. Everything you need to know about the word Module:category tree/poscatboiler/data/lang-specific/hi you have here. The definition of the word Module:category tree/poscatboiler/data/lang-specific/hi will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:category tree/poscatboiler/data/lang-specific/hi, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

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

local u = mw.ustring.char


for _, pos in ipairs({"nouns", "verbs", "adjectives"}) do
	labels = {
		description = "{{{langname}}} " .. pos .. " using phonetic respelling in their " ..
			(pos == "verbs" and "conjugation" or "declension") ..
			" tables due to irregular or unpredictable pronunciations.",
		additional = [=[
===See also===
* ]
* ]]=],
		parents = {
			"terms by orthographic property", 
			"terms by phonemic property", 
			{name = pos, sort = "phonetic respelling"},
		},
	}
end

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

labels = {
	description = "{{{langname}}} compound verbs categorized by base verb.",
	parents = {"verbs"},
}

table.insert(handlers, function(data)
	local base_verb = data.label:match("^compound verbs formed with (.*)$")
	if base_verb then
		local altlink = "{{m|hi||" .. base_verb .. "}}"
		local altlink_no_tr = "{{m|hi||" .. base_verb .. "|tr=-}}"
		return {
			description = "{{{langname}}} compound verbs formed with the base verb {{m|hi|" .. base_verb .. "}}.",
			displaytitle = "{{{langname}}} compound verbs formed with " .. altlink_no_tr,
			parents = {
				{name = "compound verbs by base verb", sort = base_verb}
			},
			breadcrumb = altlink,
		}
	end
end)


--------------------------------- Nouns --------------------------------

labels = {
	description = "{{{langname}}} nouns categorized by gender and stem type.",
	parents = {{name = "nouns", sort = "gender and stem type"}},
	breadcrumb = "by gender and stem type",
}

labels = {
	description = "{{{langname}}} nouns with an irregular plural stem.",
	parents = {{name = "nouns", sort = "irregular plural stem"}},
	breadcrumb = "with irregular plural stem",
}

table.insert(handlers, function(data)
	local gender, stem, pos
	gender, stem, pos = data.label:match("^(+ine) (independent unmarked *%-stem) (.*)s$")
	if not gender then
		gender, stem, pos = data.label:match("^(+ine) (independent *%-stem) (.*)s$")
	end
	if not gender then
		gender, stem, pos = data.label:match("^(+ine) (unmarked *%-stem) (.*)s$")
	end
	if not gender then
		gender, stem, pos = data.label:match("^(+ine) (*%-stem) (.*)s$")
	end
	if gender and pos == "noun" then
		local desc = "{{{langname}}} " .. gender .. " " .. stem .. " " .. pos .. "s."
		local additional
		if stem:find("independent") then
			additional = "* Here, 'independent' means that the stem ending directly " ..
			"follows a vowel and so uses the independent Devanagari form of the vowel that begins the ending."
		end
		if stem:find("unmarked") then
			additional = additional and additional .. "\n" or ""
			additional = additional .. "* Here, 'unmarked' means that the endings are added onto the full direct singular form " ..
			"without removing the stem ending (although final nasalization, if present, will move to the ending)."
		end
		return {
			description = desc,
			additional = additional,
			parents = {
				{name = pos .. "s by gender and stem type", sort = stem:gsub("independent ", ""):gsub("unmarked ", "")}
			},
			breadcrumb = gender .. " " .. stem,
		}
	end
end)


--------------------------------- Adjectives --------------------------------

-- vowel diacritics; don't display nicely on their own
local M = u(0x0901)
local N = u(0x0902)
local AA = u(0x093e)
local AAM = AA .. M
local E = u(0x0947)
local EN = E .. N
local II = u(0x0940)
local IIN = II .. N


local adj_decl_endings = {
	 = {AA, E, II},
	 = {"आ", "ए", "ई"},
	 = {AAM, EN, IIN},
	 = {"आँ", "एँ", "ईं"},
}

labels = {
	description = "{{{langname}}} adjectives categorized by stem type.",
	parents = {{name = "adjectives", sort = "stem type"}},
	breadcrumb = "by stem type",
}

table.insert(handlers, function(data)
	local stem
	stem = data.label:match("^(independent *%-stem) adjectives$")
	if not stem then
		stem = data.label:match("^(*%-stem) adjectives$")
	end
	if stem and adj_decl_endings then
		local mdir, mop, f = unpack(adj_decl_endings)
		local desc = "{{{langname}}} " .. stem .. " adjectives, ending in " .. mdir ..
			" in the direct masculine singular, in " .. mop .. " in the remaining masculine forms, and in " .. f ..
			" in all feminine forms."
		local additional
		if stem:find("independent") then
			additional = "* Here, 'independent' means that the stem ending directly " ..
			"follows a vowel and so uses the independent Devanagari form of the vowel that begins the ending."
		end
		return {
			description = desc,
			additional = additional,
			parents = {
				{name = "adjectives by stem type", sort = stem:gsub("independent ", "")}
			},
			breadcrumb = stem,
		}
	end
end)

return {LABELS = labels, HANDLERS = handlers}