Модул:category tree/poscatboiler/data/lang-specific/pt

Документацију овог модула можете да направите на страници Модул:category tree/poscatboiler/data/lang-specific/pt/док

local labels = {}

-----------------------------------------------------------------------------
--                                                                         --
--                                METAPHONY                                --
--                                                                         --
-----------------------------------------------------------------------------

for _, pos in ipairs { "adjectives", "nouns", "participles", "suffixes" } do
	labels[pos .. " with metaphony"] = {
		description = "{{{langname}}} " .. pos .. " characterized by [[Appendix:Portuguese pronunciation#Metaphony|metaphony]] in their plural and feminine inflections; i.e. stressed {{IPAchar|/o/}} in the lemma changes to {{IPAchar|/ɔ/}}.",		parents = {"verbs by inflection type"},
		breadcrumb = "with metaphony",
		parents = {name = pos .. " by inflection type", sort = "metaphony"},
	}
end


-----------------------------------------------------------------------------
--                                                                         --
--                                  VERBS                                  --
--                                                                         --
-----------------------------------------------------------------------------


local conjugations = {
	["ar"] = "{{{langname}}} first conjugation verbs, derived from Latin [[:Category:Latin first conjugation verbs|first conjugation (-āre) verbs]].",
	["er"] = "{{{langname}}} second conjugation verbs, derived from Latin [[:Category:Latin second conjugation verbs|second conjugation (-ēre)]] or [[:Category:Latin third conjugation verbs|third conjugation (-ere)]] verbs.",
	["ir"] = "{{{langname}}} third conjugation verbs, derived from Latin [[:Category:Latin third conjugation verbs|third conjugation (-ere)]] or [[:Category:Latin fourth conjugation verbs|fourth conjugation (-īre)]] verbs.",
	["or"] = "{{{langname}}} verbs ending in {{m|pt||-or}} or {{m|pt||-ôr}}, all of which are derivatives of {{m|pt|pôr}}.",
}

labels["verbs by conjugation"] = {
	description = "{{{langname}}} verbs categorized by conjugation.",
	parents = {"verbs by inflection type"},
}

for conj, conjdesc in pairs(conjugations) do
	labels["verbs ending in -" .. conj] = {
		description = conjdesc,
		displaytitle = "{{{langname}}} verbs ending in {{m|pt||-" .. conj .. "}}",
		parents = {
			{name = "verbs by conjugation", sort = conj},
		},
		breadcrumb = "{{m|pt||-" .. conj .. "}}",
	}
end

labels["verbs by vowel alternation"] = {
	description = "{{{langname}}} verbs categorized by type of vowel alternation.",
	parents = {"verbs by inflection type"},
}

labels["verbs by consonant alternation"] = {
	description = "{{{langname}}} verbs categorized by type of consonant alternation.",
	parents = {"verbs by inflection type"},
}

-- Add labels for e.g. [[Category:Portuguese verbs with e becoming i when stressed]].
local vowel_alternations = {
	["i-e alternation in present singular"] = {
		desc = "with <i> in the first-person singular present indicative and throughout the present subjunctive, and <e> "
			.. "elsewhere when the stem is stressed",
		displaytitle = "<i-e> alternation in present singular",
	},
	["e becoming i when stressed"] = {
		desc = "with <i> in all forms where the stem is stressed (singular present indicative and imperative, third-person "
			.. "plural present indicative and imperative) and throughout the present subjunctive, and <e> elsewhere",
		displaytitle = "<e> becoming <i> when stressed",
	},
	["i becoming í when stressed"] = {
		desc = "with <í> in all forms where the stem is stressed (singular present indicative, subjunctive and imperative; "
			.. "third-person plural present indicative, subjunctive and imperative) and <i> elsewhere",
		displaytitle = "<i> becoming <í> when stressed",
	},
	["u-o alternation in present singular"] = {
		desc = "with <u> in the first-person singular present indicative and throughout the present subjunctive, and <o> "
			.. "elsewhere when the stem is stressed",
		displaytitle = "<u-o> alternation in present singular",
	},
	["o becoming u when stressed"] = {
		desc = "with <u> in all forms where the stem is stressed (singular present indicative and imperative, third-person "
			.. "plural present indicative and imperative) and throughout the present subjunctive, and <o> elsewhere",
		displaytitle = "<o> becoming <u> when stressed",
	},
	["u becoming ú when stressed"] = {
		desc = "with <ú> in all forms where the stem is stressed (singular present indicative, subjunctive and imperative; "
			.. "third-person plural present indicative, subjunctive and imperative) and <u> elsewhere",
		displaytitle = "<u> becoming <ú> when stressed",
	},
	["e becoming ei when stressed"] = {
		desc = "with <ei> in all forms where the stem is stressed (singular present indicative, subjunctive and imperative; "
			.. "third-person plural present indicative, subjunctive and imperative) and <e> elsewhere",
		displaytitle = "<e> becoming <ei> when stressed",
	},
	["i becoming ei when stressed"] = {
		desc = "with <ei> in all forms where the stem is stressed (singular present indicative, subjunctive and imperative; "
			.. "third-person plural present indicative, subjunctive and imperative) and <i> elsewhere",
		displaytitle = "<i> becoming <ei> when stressed",
	},
}

for alt, obj in pairs(vowel_alternations) do
	local function replace_angle_brackets(spec)
		local retval = spec:gsub("<(.-)>", "{{m|pt||%1}}") -- discard second return value
		return retval
	end
	local breadcrumb = replace_angle_brackets(obj.displaytitle)
	labels["verbs with " .. alt] = {
		description = "{{{langname}}} verbs " .. replace_angle_brackets(obj.desc) .. ".",
		displaytitle = "{{{langname}}} verbs with " .. breadcrumb,
		parents = {{name = "verbs by vowel alternation", sort = alt}},
		breadcrumb = breadcrumb,
	}
end


-- Add labels for e.g. [[Category:Portuguese verbs with c-qu alternation]].
local consonant_alternations = {
	["c-qu"] = {"qu", "c"},
	["c-ç"] = {"c", "ç"},
	["g-gu"] = {"gu", "g"},
	["g-j"] = {"g", "j"},
	["gu-gü"] = {"gü", "gu"},
}

for alt, frontback in pairs(consonant_alternations) do
	local desc
	local front, back = unpack(frontback)
	desc = "{{{langname}}} verbs whose final consonant alternates between ''" .. front .. "'' before front vowels (''e'', ''i'') " ..
		"and ''" .. back .. "'' before back vowels (''a'', ''o'', ''u'')."
	labels["verbs with " .. alt .. " alternation"] = {
		description = desc,
		displaytitle = "{{{langname}}} verbs with {{m|pt||" .. alt .. "}} alternation",
		parents = {{name = "verbs by consonant alternation", sort = alt}},
		breadcrumb = "{{m|pt||" .. alt .. "}}",
	}
end

labels["third-person-only verbs"] = {
	description = "{{{langname}}} verbs with forms that exist only in the third person, and have no imperatives.",
	parents = {{name = "defective verbs"}},
	breadcrumb = "third-person-only",
}

labels["verbs with irregular short past participle"] = {
	description = "{{{langname}}} verbs with an irregular short past participle (typically used with {{m|pt|ser}} "
		.. "and {{m|pt|estar}}) that contrasts with a regularly formed \"long\" past participle (typically used with "
		.. "{{m|pt|ter}} and {{m|pt|haver}}).",
	parents = {{name = "irregular verbs", sort = "short past participle"}},
	breadcrumb = "irregular short past participle",
}

return {LABELS = labels}